Podešavanje brzine brzine serijske komunikacije i algoritam brzine prenosa

Aug 07, 2018 Ostavi poruku

Podesavanje brzine serijske komunikacije i algoritam brzine prenosa


Kada se koristi serijska komunikacija mikroračunala sa jednim čipom, brzina prenosa mora biti podešena, a brzina prenosa bi trebala biti podešena na 9600, 19200 ...? Da li je ovo tradicija? Iz onoga što? Odgovarajući kristalni oscilator je takođe generalno 11.0592MHZ.

Da li je prvo postaviti kristalni oscilator, a zatim postaviti brzinu prenosa ili prvo podesiti brzinu prenosa, a zatim postaviti kristalni oscilator. Zašto bi to trebalo postaviti?


Postoje još dve pouzdane izjave:


1: Prema fizičkim karakteristikama električne energije, medijuma prenosa itd. U kombinaciji sa zahtevima upotrebe serijskog uređaja

Da bi se obezbedila efikasna komunikacija, u skladu sa fizičkim karakteristikama električne energije, medijuma prenosa itd. U kombinaciji sa zahtevima korišćenja serijskog uređaja, utvrđeno je da maksimalna brzina prenosa RS232 može biti samo 115200, a zatim dobijena sa dva koraka dobiti 57600, 28800, 19200; da se prilagode ovim brzinama, dizajnirajte odgovarajuću frekvenciju kristala.


2: To je određeno karakteristikama telekomunikacione linije.

Bandpass telefonske linije je 300--3KHz. U to vreme, soji su se prvo uključili u modem, tako da je 2400HZ signal korišten, a odgovarajuća brzina prenosa je 2400. Pošto je određena osnovna frekvencija, poboljšana prolaznica usvojena je metoda brzine pomnožena na osnovu 2400 kasnije, tako da formiranje 9600.19200. . . .


U svakom slučaju, postoji brzina prenosa, a zatim i frekvencija kristala.


Izračunavanje brzine prenosa serijske komunikacije mikroračunara sa jednim čipom.


U režimu 0 i modu 2, brzina brzine serijskog porta je fiksna, a mod 0 je Fosc / 12. Režim 2 je Fosc / 32 ili Fosc / 64, koji je određen SMOD bitom PCON registra.


U modu 1 i modu 3, brzina prenosa je promenljiva vrednost. Brzina prenosa može da generiše tajmer 1 (8052 može biti generisan od strane Timing 2). Koja je baud stopa? Brzina prenosa podataka prema vremenskoj stopi 1 :

Baud Rate = (2SMOD / 32) * (brzina prelivanja brzine 1)

Napomena: 2SMOD ovdje SMOD je indeks, SMOD je brzina dvostruke brzine baud rate, ovaj bit je u PCON registru.


Kada koristite tajmer 1 kao generator baud rate, obično je neophodno konfigurisati tajmer 1 da radi u 8-bitnom režimu auto-reload-a, kao i da onemogući tajmer 1 prekida, a zatim preliti tajmer 1 kako izračunati? Stopa prelivanja je frekvencija prelivanja. Pod pretpostavkom da je frekvencija kristala 12MHz, a TH1 vrijednost je 0xFE, za prelivanje će biti potrebno samo dva impulsa, a period preopterećenja je 2us, onda je frekvencija prelivanja 500KHz. Prema odjeljku tajmera, vrijeme vremena ima sledeću formulu:

(12 / kristalna frekvencija (Hz)) (s) = (256-TH1) * (12 / OSC_FREQ ( Hz)) (s).


Tada je frekvencija prelivanja prirodno:

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


Dakle, konačna stopa pritiska na baud je:

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


Formula za izračunavanje brzine baud je dostupna, i naravno, inicijalna vrijednost TH1 može se izvesti prema brzini prenosa:

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 * 32 * 12)


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


Pretpostavljajući da je frekvencija kristala 11.0592MHz, brzina prenosa je 9600, SMOD = 0, šta treba da bude početna vrednost TH1? Prema gornjoj formuli, može se izračunati TH1 = 256-11059200 / (9600 * 32 * 12) = 0xFD.



Pošaljite upit

whatsapp

Telefon

E-pošte

Upit