Soros kommunikáció Baud Rate beállítása és Baud Rate algoritmus

Aug 07, 2018 Hagyjon üzenetet

Soros kommunikáció baud rate beállítás és baud rate algoritmus


Ha az egy chip mikroszámítógép soros kommunikációját használja, akkor a baud rate-ot be kell állítani, és a baud rate-ot 9600, 19200 ... -ra kell állítani. Ez egy hagyomány? Honnan? A megfelelő kristály oszcillátor általában 11,0592MHZ.

Először állítsa be a kristály oszcillátort, majd állítsa be a baud sebességet, vagy állítsa be a baud sebességet, majd állítsa be a kristály oszcillátort. Miért kellene ezt beállítani?


Két másik megbízható megállapítás van:


1: A villamos energia, átviteli média stb. Fizikai jellemzői szerint kombinálva a soros készülék használatának követelményeivel

A hatékony kommunikáció biztosítása érdekében, a villamos energia, az átviteli közeg stb. Fizikai jellemzői alapján, valamint a soros készülékhasználat követelményeivel összhangban meghatározva, hogy az RS232 maximális átviteli sebessége csak 115200, majd két lépésben 57600, 28800, 19200; hogy alkalmazkodjon ezekhez az arányokhoz, alakítsa ki a megfelelő kristályfrekvenciát.


2: Ezt a távközlési vonal jellemzői határozzák meg.

A telefonvonal sávszélessége 300-3 kHz. Abban az időben a hayes először bekapcsolódott a modembe, így a 2400HZ jelet használta, a megfelelő átviteli sebesség 2400. Mivel az alapfrekvencia meg van határozva, a továbbfejlesztett átvitel elfogadta a sebesség módját 2400 után a 9600.19200 képződés. . . .


Akárhogy is, van egy átviteli sebesség, majd egy kristályfrekvencia.


Egy chip mikroszámítógép soros kommunikációjának adatátviteli sebességének kiszámítása.


A 0 és a 2 üzemmódban a soros port adatátviteli sebessége rögzített, és a 0 mód Fosc / 12. A 2. mód Fosc / 32 vagy Fosc / 64, amelyet a PCON regiszter SMOD bitje határoz meg.


Az 1. és a 3. módban a baud rate egy változó érték. Az adatátviteli sebességet az 1. időzítő generálhatja (8052-et az időzítés 2 hozhat létre). Mi a baud rate? Baud rate az 1. időzítővel meghatározandó túlfolyási sebesség:

Baud Rate = (2SMOD / 32) * (időzítő 1 túlcsordulás sebessége)

Megjegyzés: 2SMOD itt SMOD az index, a SMOD a baud rate double baud rate bit, ez a bit a PCON regiszterben van.


Ha az 1. időzítőt Baud rate generátorként használja, akkor általában az 1-es időzítőt kell konfigurálni a 8 bites auto-reload üzemmódban történő működtetésre, valamint az 1-es időzítő kikapcsolására, majd az 1. időzítő túlcsordulásának kiszámítására. A túlcsordulás sebessége a túlfolyás gyakorisága. Feltéve, hogy a kristályfrekvencia 12MHz és a TH1 érték 0xFE, akkor csak két óraimpulzusra lesz szükség a túlcsorduláshoz, és a túlfolyási periódus 2us, akkor a túlcsordulás gyakorisága 500KHz. Az időzítő szakasz szerint az időzítés ideje a következő:

* (12 / kristályfrekvencia (Hz)) (s) = (256-TH1) * (12 / OSC_FREQ ( Hz)) (s).


Ezután a túlcsordulás gyakorisága természetesen:

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


Tehát az utolsó push-to-baud sebesség:

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


A baud rate számítási formula rendelkezésre áll, és természetesen a TH1 kezdeti értéke a baud rate alapján állítható elő:

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 = vagy 256 (2SMOD * OSC_FREQ (Hz)) / (BAUD_RATE * 32 * 12)


Feltéve, hogy a kristályfrekvencia 11,0592 MHz, a baud rate 9600, SMOD = 0, mi legyen a TH1 kezdeti értéke? A fenti képlet szerint kiszámítható TH1 = 256-11059200 / (9600 * 32 * 12) = 0xFD.



A szálláslekérdezés elküldése

whatsapp

Telefon

E-mailben

Vizsgálat