Seri Haberleşme Baud Hızı Ayarı ve Baud Hızı Algoritması

Aug 07, 2018 Mesaj bırakın

Seri iletişim baud hızı ayarı ve baud hızı algoritması


Tek çipli mikrobilgisayarın seri haberleşmesi kullanıldığında, baud hızı ayarlanmalı ve baud hızı 9600, 19200 ... olarak ayarlanmalıdır. Bu bir gelenek mi? Neyden? İlgili kristal osilatör de genellikle 11.0592 MHZ'dir.

Önce kristal osilatörün ayarlanması ve ardından baud hızının ayarlanması veya önce baud hızının ayarlanması ve ardından kristal osilatörün ayarlanmasıdır. Neden bu ayarlanmalı?


İki tane daha güvenilir ifade var:


1: Seri cihaz kullanımının gereksinimleri ile birleştirilen elektriğin, iletim ortamının vb. Fiziksel özelliklerine göre

Etkili haberleşme sağlamak için, elektriksel cihazların, iletim araçlarının vb. Fiziksel özelliklerine göre, seri cihaz kullanımı gereklilikleri ile birleştirildiğinde, RS232'nin maksimum iletim hızının sadece 115200 olabileceği ve daha sonra iki adımda elde edilebileceği belirlenmiştir. 57600, 28800, 19200; Bu oranlara uyum sağlamak için, ilgili kristal frekansını tasarlayın.


2: Bu telekomünikasyon hattının özellikleri ile belirlenir.

Telefon hattının bant geçişi 300--3KHz'dir. O zaman, ilk önce modem devreye girer, böylece kullanılan 2400HZ sinyali, ilgili baud hızı 2400'dür. Temel frekans belirlendiği için, oranın metodu benimsenen geliştirilmiş geçiş 2400'den sonra çarpılır. 9600.19200 oluşumu. . . .


Her iki durumda da bir baud hızı ve ardından bir kristal frekansı vardır.


Tek çipli mikrobilgisayarın seri iletişiminin baud hızının hesaplanması.


Mod 0 ve mod 2'de, seri port baud hızı sabittir ve mod 0, Fosc / 12'dir. Mod 2, PCON kaydının SMOD biti ile belirlenen Fosc / 32 veya Fosc / 64'tür.


Mod 1 ve Mod 3'te baud hızı değişken bir değerdir. Baud hızı Zamanlayıcı 1 tarafından üretilebilir (Zamanlama 2 tarafından 8052 üretilebilir). Baud hızı nedir? Belirlenecek zamanlayıcı 1 taşma oranına göre baud hızı :

Baud Hızı = (2SMOD / 32) * (Zamanlayıcı 1 Taşma Hızı)

Not: Burada 2SMOD SMOD dizinidir, SMOD baud hızı çift baud hızı bitidir, bu bit PCON kaydındadır.


Zamanlayıcı 1'i baud hızı üreteci olarak kullanırken, zamanlayıcının 1, 8-bit otomatik yeniden yükleme modunda çalışması ve zamanlayıcı 1 kesmeyi devre dışı bırakması, daha sonra zamanlayıcının 1 taşması nasıl hesaplanır? Taşma oranı taşma frekansıdır. Kristal frekansın 12MHz olduğu ve TH1 değerinin 0xFE olduğu varsayıldığında, taşma için yalnızca iki saat darbesi gerekli olacak ve taşma süresi 2us, ardından taşma frekansı 500KHz olacaktır. Zamanlayıcı bölümüne göre, zamanlama zamanı aşağıdaki formüle sahiptir:

Zamanlama zamanı = (maksimum sayım değeri - sayaç başlangıç değeri) * makine çevrimi = (maksimum sayım değeri - sayaç başlangıç değeri) * (12 / kristal frekansı (Hz)) (s) = (256-TH1) * (12 / OSC_FREQ ( Hz)) (ler).


Daha sonra taşma sıklığı doğal olarak:

OSC_FREQ (Hz) / ((256-TH1) * 12).


Yani son batarya-baud oranı:

(2SMOD / 32) * (OSC_FREQ (Hz) / ((256-TH1) * 12)).


Baud hızının hesaplama formülü kullanılabilir ve doğal olarak, TH1'in başlangıç değeri baud hızına göre türetilebilir:

BAUD_RATE = (2SMOD / 32) * (OSC_FREQ (Hz) / ((256-TH1) * 12))


32 * 12 * (256 TH1) = (2SMOD * OSC_FREQ (Hz)) / BAUD_RATE


256 TH1 = (2SMOD * OSC_FREQ (Hz)) / (BAUD_RATE * 12 32)


TH1 = 256 (2SMOD * OSC_FREQ (Hz)) / (BAUD_RATE * 12 32)


Kristal frekansın 11.0592MHz olduğu varsayıldığında, baud hızı 9600, SMOD = 0, TH1'in başlangıç değeri ne olmalıdır? Yukarıdaki formüle göre, TH1 = 256-11059200 / (9600 * 32 * 12) = 0xFD hesaplanabilir.



Soruşturma göndermek

whatsapp

Telefon

E-posta

Sorgulama