I2C için dönüş hızı nedir?


10

Belgelerin 2.4 bölümünde açıklandığı gibi C18 derleyicisinin yerleşik işlevlerini kullanarak bir PIC18 üzerinde I 2 C yapılandırıyorum :

void OpenI2C2( unsigned char sync_mode,
    unsigned char slew );

Ne yapmam gerektiğinden emin değilim slew. Ben tanımlanmış iki seçenek arasından seçim yapabilirsiniz i2c.h:

  • SLEW_OFF: 100 kHz modu için dönüş hızı devre dışı
  • SLEW_ON: 400 kHz modu için dönüş hızı etkin

Gelen veri sayfasında kayıt 15-1, sayfa 257'de, iki seçenek biraz daha ayrıntılı olarak açıklanmıştır:

  • 1 = Standart hız modu (100 kHz ve 1 MHz) için dönüş hızı kontrolü devre dışı
  • 0 = Yüksek hız modu (400 kHz) için dönüş hızı kontrolü etkin

Yine de anlamıyorum - birkaç sorum var:

  1. Ne olduğunu yetişme hızı?

  2. Benim için iki seçenek mantıklı değil - ya 400 kHz için dönüş hızını devre dışı bırakmak ve 100 kHz için etkinleştirmek istersem? Bu neden?

  3. Ne zaman SLEW_OFFve ne zaman seçmeliyim SLEW_ON?

pic  c  i2c  software  c18 

Yanıtlar:


8

Dönüş hızı, sinyalin düşükten yükseğe veya ne kadar hızlı değiştiğidir. Bu ani geçişi sınırlandırarak, sinyal yansımalarından gelen zil sesini azaltabilir ve sinyal hatları arasındaki çapraz konuşmayı sınırlayabilirsiniz.

Bununla birlikte, çalışma şekli, 100kHz'de sinyal hızlarının o kadar yavaş olmasıdır, dönüş hızı gerçekten önemli değildir; 400kHz'de sorunlu bir devreyi sınırlayarak düzeltebilirsiniz; ancak daha sonra 1MHz'e ulaştığınızda alabileceğiniz tüm geçiş hızına gerçekten ihtiyacınız vardır ve bu nedenle iyi sinyal eşleştirmesi yapmanız ve hatlarınızı daha dikkatli yönlendirmeniz gerekir.

Söz konusu bit, özelliği etkinleştirmek veya devre dışı bırakmaktan başka bir şey yapmaz. Gerisi sadece tavsiye. Sadece bir öneri olduğu için hızlar parantez içinde.


Teşekkürler! Neden - Güzel bir seçenek gibi görünüyor olmaz ben yetişme hızı kontrolü kullanmak?

2
@CamilStaps - Anladığım kadarıyla, cevabı yanlış okuduğunuz anlaşılıyor. Keskin geçişlere (SLEW_ON) sahip olmak ekstra EMI gürültüsüne ve çalmasına neden olur. Yavaş geçişlere (SLEW_OFF) sahip olmak EMI'yi azaltır, ancak bağlantının maksimum kullanılabilir frekansını azaltır. Bu bir değiş tokuş.
Tim

@gbarry: Ah, dönüş hızı kontrolü kapalı olduğunda , sinyal uC'nin yapabileceği kadar kare dalgalara yakındır. Dalga üzerinde dönüş hızı kontrolü ile yüksek / düşük geçişler, aksi takdirde olduğundan daha eğimli (= daha az dikey) olur?
angelatlarge

1
Bu doğru, ancak PIC'de ne kadar dramatik olduğundan emin değilim (kontrol etmeliyim). Tarihsel not: RS232 spesifikasyonunda bir dönüş hızı sınırlaması vardı, bu yüzden birisi güzel eğim-y çıkış sinyalleri olan bir sürücü çipi ile çıktı. Ve sonra hepimiz daha hızlı ve daha hızlı bps oranları kullanmaya başladık, bu yüzden bu çipi kullanamadık ...
gbarry

1
Üç yıl sonra, aynı sorum vardı, ama aslında ölçtüm. İleride, otobüste 4.7K pull-up ve tek bir köle ile bir PIC16F1454 üzerinde düşmeyi süresi (muhtemelen zaman 150 MHz prob ile sınırlı) sınırlandırıcı dönüş hızı olmadan 2,9 ns ve 151 ns olan dönüş hızı kısıtlar. Yükselme süresini etkilemez.
boru
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.