Postavka brzine prijenosa serijske komunikacije i brzina prijenosa podataka
Kad se koristi serijska komunikacija mikrotraketa s jednim čipom, mora se postaviti brzina prijenosa, a brzina prijenosa treba biti postavljena na 9600, 19200 ...? Je li to tradicija? Iz čega? Odgovarajući kristalni oscilator je također općenito 11.0592MHZ.
Prvo je potrebno postaviti kristalni oscilator, a zatim postaviti brzinu prijenosa podataka ili najprije postaviti brzinu prijenosa, a zatim postaviti kristalni oscilator. Zašto bi to trebalo biti postavljeno?
Postoje još dvije pouzdane izjave:
1: Prema fizičkim karakteristikama električne energije, prijenosnih medija, itd. U kombinaciji s zahtjevima korištenja serijskog uređaja
Kako bi se osigurala učinkovita komunikacija, u skladu s fizičkim karakteristikama električne energije, prijenosnih medija i sl. U kombinaciji s zahtjevima uporabe serijskog uređaja, utvrđeno je da maksimalna brzina prijenosa RS232 može biti samo 115200, a potom dobivena dvama koracima dobiti 57600, 28800, 19200; kako bi se prilagodili tim stopama, dizajnirati odgovarajuću kristalnu frekvenciju.
2: Ovo se određuje karakteristikama telekomunikacijske linije.
Prolaz telefonske linije je 300 - 3 KHz. U to vrijeme, hayes se prvi put uključio u modem, pa je korišten 2400HZ signal, odgovarajući brzina prijenosa je 2400. Budući da se određuje osnovna frekvencija, poboljšani pass usvojio je metodu brzine pomnožen na temelju 2400 kasnije, pa formiranje 9600.19200. , , ,
U svakom slučaju, postoji brzina prijenosa podataka, a zatim i kristalna frekvencija.
Izračunavanje brzine prijenosa serijskog prijenosa pojedinačnog mikroprocesora.
U načinu rada 0 i modu 2, brzina prijenosa serijskog porta je fiksna, a način 0 je Fosc / 12. Način rada 2 je Fosc / 32 ili Fosc / 64, što određuje SMOD bit PCON registra.
U načinu rada 1 i načinu 3, brzina prijenosa podataka je varijabilna vrijednost. Brzina prijenosa može se generirati pomoću Timer 1 (8052 može biti generiran pomoću Timing 2). Koja je brzina prijenosa podataka? Brzina prijenosa mjerenjem brzine protoka od brojača 1 :
Brzina prijenosa podataka = (2SMOD / 32) * (brzina preopterećenja brojača 1)
Napomena: 2SMOD ovdje SMOD je indeks, SMOD je brzina baud rate dvostruke brzine prijenosa, ovaj bit se nalazi u PCON registru.
Kada koristite timer 1 kao generator brzine prijenosa podataka, obično je potrebno konfigurirati timer 1 za rad u 8-bitnom načinu automatskog ponovnog punjenja, a isto tako i onemogućiti prekidanje timera 1, a zatim prekoračenje brojača 1 kako se izračunava? Brzina prelijevanja je učestalost prelijevanja. Pretpostavljajući da je kristalna frekvencija 12MHz i TH1 vrijednost 0xFE, potrebno je samo dva satnog impulsa za prelijevanje, a razdoblje prelijevanja je 2us, a frekvencija preljeva 500KHz. Prema vremenskom odsjeku, vremensko vrijeme ima sljedeću formulu:
(12 / OSD_FREQ) (*) * (12 / kristalna frekvencija (Hz)) = (256-TH1) * (12 / OSC_FREQ Hz)), (e).
Zatim je frekvencija prelijevanja prirodno:
OSC_FREQ (Hz) / ((256-TH1) + 12).
Dakle, konačna push-to-baud rate je:
(2SMOD / 32) + (OSC_FREQ (Hz) / ((256-TH1) + 12)).
Na raspolaganju je formula za izračunavanje brzine prijenosa podataka, a prirodna vrijednost početne vrijednosti TH1 može se izvesti prema brzini prijenosa podataka:
BAUD_RATE = (2SMOD / 32) + (OSC_FREQ (Hz) / ((256-TH1) + 12))
* 12 * 32 (256 TH1) = (2SMOD * OSC_FREQ (Hz)) / BAUD_RATE
256 TH1-(2SMOD * OSC_FREQ (Hz)) / (32 * * BAUD_RATE 12)
TH1 = 256- (2SMOD * OSC_FREQ (Hz)) / (32 * * BAUD_RATE 12)
Pretpostavljajući da je kristalna frekvencija 11,0592MHz, brzina prijenosa je 9600, SMOD = 0, što bi trebala biti početna vrijednost TH1? Prema gornjoj formuli, može se izračunati TH1 = 256-11059200 / (9600 * 32 * 12) = 0xFD.





