Impostazione della velocità di trasmissione della comunicazione seriale e algoritmo di baud rate

Aug 07, 2018 Lasciate un messaggio

Impostazione della velocità di trasmissione della comunicazione seriale e algoritmo della velocità di trasmissione


Quando viene utilizzata la comunicazione seriale del microcomputer a chip singolo, è necessario impostare la velocità di trasmissione e impostare la velocità di trasmissione su 9600, 19200 ...? È una tradizione? Da cosa? Anche l'oscillatore di cristallo corrispondente è generalmente 11.0592MHZ.

È prima di impostare l'oscillatore di cristallo e quindi impostare la velocità di trasmissione o impostare la velocità di trasmissione prima e quindi impostare l'oscillatore di cristallo. Perché dovrebbe essere impostato?


Ci sono altre due dichiarazioni affidabili:


1: In base alle caratteristiche fisiche dell'elettricità, dei mezzi di trasmissione, ecc. Combinati con i requisiti di utilizzo del dispositivo seriale

Al fine di garantire una comunicazione efficace, in base alle caratteristiche fisiche dell'elettricità, dei mezzi di trasmissione, ecc. Combinati con i requisiti di utilizzo dei dispositivi seriali, si determina che la velocità massima di trasmissione di RS232 può essere solo di 115200 e quindi ottenuta con due passaggi per ottenere 57600, 28800, 19200; per adattarsi a questi tassi, progettare la frequenza di cristallo corrispondente.


2: questo è determinato dalle caratteristiche della linea di telecomunicazione.

Il passabanda della linea telefonica è 300--3KHz. A quel tempo, i hayes si sono impegnati prima nel modem, quindi il segnale 2400HZ utilizzato, la velocità di trasmissione corrispondente è 2400. Poiché la frequenza di base è determinata, il pass migliorato ha adottato il metodo della frequenza moltiplicato sulla base di 2400 dopo, quindi la formazione di 9600.19200. . . .


Ad ogni modo, c'è una velocità di trasmissione e quindi una frequenza di cristallo.


Calcolo della velocità di trasmissione della comunicazione seriale del microcomputer a chip singolo.


In modalità 0 e modalità 2, la velocità di trasmissione della porta seriale è fissa e la modalità 0 è Fosc / 12. La modalità 2 è Fosc / 32 o Fosc / 64, che è determinata dal bit SMOD del registro PCON.


In Modalità 1 e Modalità 3, la velocità di trasmissione è un valore variabile. Il baud rate può essere generato dal Timer 1 (8052 può essere generato dal Timing 2). Qual è il baud rate? Baud rate by timer 1 velocità di overflow da determinare:

Baud Rate = (2SMOD / 32) * (Timer 1 Overflow Rate)

Nota: 2SMOD qui SMOD è l'indice, SMOD è il bit baud rate del baud rate, questo bit è nel registro PCON.


Quando si usa il timer 1 come generatore di baud rate, è solitamente necessario configurare il timer 1 per operare in modalità auto-reload a 8 bit e anche per disabilitare l'interrupt del timer 1, quindi il sovraccarico del timer 1 come si calcola? Il tasso di tracimazione è la frequenza di overflow. Supponendo che la frequenza del cristallo sia 12 MHz e il valore TH1 sia 0xFE, saranno necessari solo due impulsi di clock per l'overflow, e il periodo di tracimazione è 2us, quindi la frequenza di overflow è di 500 KHz . Secondo la sezione del timer, il tempo di sincronizzazione ha la seguente formula:

Tempo di cronometraggio = (valore massimo del conteggio - valore iniziale del contatore) * ciclo della macchina = (valore massimo del conteggio - valore iniziale del contatore) * (12 / frequenza cristallina (Hz)) (s) = (256-TH1) * (12 / OSC_FREQ ( Hz)) (s).


Quindi la frequenza di overflow è naturalmente:

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


Quindi il tasso push-to-baud finale è:

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


È disponibile la formula di calcolo della velocità di trasmissione e , naturalmente, il valore iniziale di TH1 può essere calcolato in base alla velocità di trasmissione:

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)


Supponendo che la frequenza del cristallo sia 11.0592 MHz, la velocità di trasmissione è 9600, SMOD = 0, quale dovrebbe essere il valore iniziale di TH1? Secondo la formula sopra, può essere calcolato TH1 = 256-11059200 / (9600 * 32 * 12) = 0xFD.



Invia la tua richiesta

whatsapp

Telefono

Posta elettronica

Inchiesta