Nastavitev hitrosti serijske komunikacije in algoritem hitrega prenosa

Aug 07, 2018 Pustite sporočilo

Nastavitev hitrosti serijske komunikacije in algoritem hitrosti prenosa


Ko se uporablja serijska komunikacija mikroračunalnika z enim čipom, je treba nastaviti hitrost prenosa in nastaviti hitrost prenosa na 9600, 19200 ...? Je to tradicija? Od česa? Ustrezni kristalni oscilator je prav tako na splošno 11,0592MHZ.

Ali je najprej nastaviti kristalni oscilator in nato nastaviti hitrost prenosa ali nastaviti hitrosti prenosa in nato nastaviti kristalni oscilator. Zakaj bi bilo to treba določiti?


Obstajata dve bolj zanesljivi izjavi:


1: Glede na fizikalne lastnosti električne energije, prenosnega medija itd. V kombinaciji z zahtevami uporabe serijske naprave

Da bi zagotovili učinkovito komunikacijo glede na fizikalne značilnosti električne energije, prenosnega medija itd. V povezavi z zahtevami uporabe serijskih naprav, je ugotovljeno, da je največja hitrost prenosa RS232 lahko le 115200, nato pa jo dobimo z dvema korakoma dobiti 57600, 28800, 19200; da se prilagodijo tem stopnjam, oblikujte ustrezno frekvenco kristalov.


2: To določajo značilnosti telekomunikacijske linije.

Razpon pasovne linije je 300--3KHz. Takrat so se sene najprej vključile v modem, tako da je uporabljen signal 2400HZ, ustrezna hitrost prenosa je 2400. Ker je določena osnovna frekvenca, se izboljšana prehodna metoda pomnoži na podlagi 2400 kasneje, tako da oblikovanje 9600.19200. . . .


Kakorkoli, obstaja hitrost prenosa in nato kristalna frekvenca.


Izračun hitrosti prenosa serijskega sporočila mikroračunalnika z enim čipom.


V načinu 0 in načinu 2 je hitrost prenosa serijskega vhoda določena in način 0 je Fosc / 12. Način 2 je Fosc / 32 ali Fosc / 64, ki ga določi bit SMOD iz registra PCON.


V načinu 1 in načinu 3 je hitrost prenosa spremenljiva vrednost. Hitrost prenosa lahko generira časomer 1 (8052 lahko generira Timing 2). Kakšna je hitrost prenosa podatkov? Hitrost prenosa podatkov po časovniku 1, ki se določi:

Baud Rate = (2SMOD / 32) * (hitrost prehoda časovnika 1)

Opomba: 2SMOD tukaj SMOD je indeks, SMOD je bitna hitrost prenosa baud, ta bit je v registru PCON.


Če uporabljate časovnik 1 kot generator hitrosti prenosa, je običajno potrebno, da nastavite časovnik 1, da deluje v 8-bitnem načinu samodejnega ponovnega nalaganja, in tudi onemogočiti prekinitev časovnika 1 in nato preliti časomer 1, kako izračunati? Stopnja pretoka je pogostost prelivanja. Ob predpostavki, da je kristalna frekvenca 12MHz in da je TH1 vrednost 0xFE, bodo potrebni le dve uri impulzi, prelivni čas pa 2US, potem je frekvenca prelivanja 500KHz. Glede na časovni odsek časovni čas ima naslednjo formulo:

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


Nato je frekvenca prelivanja naravno:

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


Zato je končna hitrost prenosa do baud:

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


Na voljo je formula za izračun hitrosti prenosa podatkov, seveda pa se lahko začetna vrednost TH1 izvede glede na hitrost 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)


Ob predpostavki, da je kristalna frekvenca 11,0592MHz, je hitrost prenosa 9600, SMOD = 0, kakšna bi bila začetna vrednost TH1? Glede na zgornjo formulo lahko izračunamo TH1 = 256-11059200 / (9600 * 32 * 12) = 0xFD.



Pošlji povpraševanje

whatsapp

Telefon

E-pošta

Povpraševanje