Sērijas sakaru ātruma iestatīšanas un sinhronizācijas ātruma algoritms

Aug 07, 2018Atstāj ziņu

Sērijas sakaru bodu ātruma iestatīšana un bodu ātruma algoritms


Kad tiek izmantots vienīgo mikroshēmu mikrodatora sērijas komunikācija, ir jānosaka bojājuma ātrums un bodu ātrumam jābūt iestatītam uz 9600, 19200 ...? Vai tā ir tradīcija? No kā? Attiecīgais kristāla oscilators kopumā ir 11.0592MHZ.

Vai vispirms ir jāiestata kristāla oscilators un pēc tam jāiestata bodu ātrums vai vispirms jāiestata bodu ātrums, un pēc tam iestatiet kristāla oscilatoru. Kāpēc tas ir jānosaka?


Ir divi ticamāki paziņojumi:


1: saskaņā ar elektrības fizikālajām īpašībām, datu pārraides utt. Apvienojumā ar sērijas ierīču lietošanas prasībām

Lai nodrošinātu efektīvu saziņu, saskaņā ar elektroenerģijas fizikālajām īpašībām, datu pārraides utt., Apvienojumā ar sērijas ierīču lietošanas prasībām, tiek noteikts, ka RS232 maksimālais pārraides ātrums var būt tikai 115200, un pēc tam tas tiek iegūts divās pakāpēs lai saņemtu 57600, 28800, 19200; lai pielāgotos šīm likmēm, izveidojiet atbilstošo kristāla frekvenci.


2: to nosaka telekomunikāciju līnijas īpašības.

Telefona līnijas joslas platums ir 300-3 kHz. Tajā laikā hayes vispirms iesaistījās modemā, tāpēc 2400HZ signāls tika lietots, atbilstošais bodu ātrums ir 2400. Tā kā tiek noteikta bāzes frekvence, uzlabotā caurlaide, kas apstiprina likmes metodi, tiek reizināta, pamatojoties uz 2400 vēlāk, tādēļ veido 9600.19200. . . .


Katrā ziņā ir bodu ātrums un pēc tam kristāla frekvence.


Viena mikroshēmas mikrodatora sērijas komunikācijas bāzes ātruma aprēķins.


0 režīmā un 2. režīmā seriālo portu bojājuma ātrums ir fiksēts un 0 režīms ir Fosc / 12. 2. režīms ir Fosc / 32 vai Fosc / 64, ko nosaka PCON reģistra SMOD bits.


1. režīmā un 3. režīmā bodu ātrums ir mainīgs lielums. Bodu ātrumu var ģenerēt ar taimeri 1 (8052 var ģenerēt ar 2. laiku). Kāda ir bodu likme? Baud ātrums ar 1. taimera pārplūdes ātrumu, kas jānosaka:

Baud Rate = (2SMOD / 32) * (1. taimera pārpildes ātrums)

Piezīme: 2SMOD šeit SMOD ir indekss, SMOD ir bodu ātrums dubultā bodu ātruma bits, šis bits ir PCON reģistrā.


Izmantojot taimeri 1 kā bodu ātruma ģeneratoru, parasti ir nepieciešams konfigurēt taimeri 1, lai tas darbotos 8 bitu automātiskās pārlādēšanas režīmā, kā arī atspējot taimera 1 pārtraukšanu, tad taimera 1 pārplūdi, kā aprēķināt? Pārpildes ātrums ir pārplūdes biežums. Pieņemot, ka kristāla frekvence ir 12MHz, bet TH1 vērtība ir 0xFE, pārtvērumam būs nepieciešami tikai divi pulksteņu impulsi, un pārplūdes periods ir 2u, tad pārpildes biežums ir 500kHz. Saskaņā ar taimera sadaļu, laika grafikam ir šāda formula:

(12 / kristāla frekvence (Hz)) (s) = (256-TH1) * (12 / OSC_FREQ ((maksimālā skaitļa vērtība - skaitītāja skaitlis) Hz)) (s).


Tad pārplūšanas biežums ir dabiski:

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


Tātad pēdējais push-to-bodu ātrums ir:

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


Ir pieejama bodu ātruma aprēķina formula, un, protams, sākotnējo TH1 vērtību var iegūt pēc bodu ātruma:

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)


Pieņemot, ka kristāla frekvence ir 11.0592MHz, bodu ātrums ir 9600, SMOD = 0, kādai jābūt TH1 sākotnējai vērtībai? Saskaņā ar iepriekšminēto formulējumu to var aprēķināt TH1 = 256-11059200 / (9600 * 32 * 12) = 0xFD.



Nosūtīt pieprasījumu

whatsapp

Telefons

E-pasts

Izmeklēšana