Nastavení přenosové rychlosti sériové komunikace a algoritmus přenosové rychlosti
Při použití sériové komunikace mikropočítače s jediným čipem musí být nastavena přenosová rychlost a přenosová rychlost by měla být nastavena na 9600, 19200 ...? Je to tradice? Z čeho? Odpovídající krystalový oscilátor je také obecně 11.0592MHZ.
Je nejprve nastavit krystalový oscilátor a poté nastavit přenosovou rychlost nebo nejprve nastavit přenosovou rychlost a pak nastavit krystalový oscilátor. Proč by to mělo být nastaveno?
Existují dvě spolehlivější tvrzení:
1: Podle fyzikálních vlastností elektřiny, přenosových médií atd. V kombinaci s požadavky na použití sériových zařízení
Za účelem zajištění efektivní komunikace podle fyzikálních charakteristik elektřiny, přenosových médií apod. V kombinaci s požadavky na použití sériového zařízení je zjištěno, že maximální přenosová rychlost RS232 může být pouze 115200 a pak získaná dvěma kroky získat 57600, 28800, 19200; aby se tyto rychlosti přizpůsobily, vytvořte odpovídající frekvenci krystalů.
2: To je dáno charakteristikami telekomunikační linky.
Bandpass telefonní linky je 300--3KHz. V tomto okamžiku se nejprve zapojil do modemu, takže použitý signál 2400HZ odpovídá přenosové rychlosti 2400. Vzhledem k tomu, že je určena základní frekvence, vylepšený průchod přijatý metodou sazby se vynásobí na základě 2400 později, takže tvorba 9600.19200. . . .
Každopádně existuje přenosová rychlost a pak frekvence krystalů.
Výpočet přenosové rychlosti sériové komunikace mikropočítače s jedním čipem.
V režimu 0 a režimu 2 je přenosová rychlost sériového portu pevná a režim 0 je Fosc / 12. Režim 2 je Fosc / 32 nebo Fosc / 64, který je určen bittem SMOD v registru PCON.
V režimu 1 a režimu 3 je přenosová rychlost proměnnou hodnotou. Přenosová rychlost může být generována časovačem 1 (8052 může být generováno časováním 2). Jaká je přenosová rychlost? Přenosová rychlost podle časovače 1 Přetečení se určí:
Přenosová rychlost = (2SMOD / 32) * (časový přepad 1)
Poznámka: 2SMOD zde SMOD je index, SMOD je bit přenosové rychlosti dvojité přenosové rychlosti, tento bit je v registru PCON.
Při použití časovače 1 jako generátoru přenosové rychlosti je obvykle nutné konfigurovat časovač 1 tak, aby fungoval v režimu 8bitového režimu automatického opětného načítání, a také vypnout časovač 1 přerušení, poté přepad časovače 1 jak vypočítat? Přetečení je frekvence přetečení. Za předpokladu, že frekvence krystalu je 12MHz a hodnota TH1 je 0xFE, budou potřebovat pouze dva časové impulzy k přetečení a doba přetečení je 2us, pak je frekvence přetečení 500KHz. Podle časového oddílu má časování následující vzorec:
(12) / frekvence krystalu (Hz)) (s) = (256-TH1) * (12 / OSC_FREQ Hz)).
Poté je frekvence přetečení přirozeně:
OSC_FREQ (Hz) / ((256-TH1) * 12).
Konečná rychlost push-to-baud je tedy:
(2SMOD / 32) * (OSC_FREQ (Hz) / ((256-TH1) * 12)).
Je k dispozici výpočetní poměr přenosové rychlosti a přirozeně lze počáteční hodnotu TH1 odvodit podle přenosové rychlosti:
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)
Za předpokladu, že frekvence krystalu je 11.0592MHz, přenosová rychlost je 9600, SMOD = 0, jaká by měla být počáteční hodnota TH1? Podle výše uvedeného vzorce lze vypočítat TH1 = 256-11059200 / (9600 * 32 * 12) = 0xFD.





