Seriya aloqa bod tezligi va bod tezligi algoritmi
Agar bitta chip mikrokompyuterining ketma-ket aloqasi ishlatilsa, bod tezligi sozlanishi va bod tezligi 9600, 19200 ga o'rnatilishi kerak ...? Bu odatmi? Nima uchun? Tegishli kristalli osilator, odatda, 11,0592 MGts.
Avvalo, kristal osilatorni o'rnatib, keyin bod tezligini o'rnatsin yoki bod tezligini o'rnating va keyin kristal osilatorni o'rnating. Nima uchun bunday qilish kerak?
Ikki ishonchli bayonot mavjud:
1: Elektr energiyasi, uzatuvchi vosita va boshqalar. Ga mos keladigan ketma-ket qurilmalarning talablariga muvofiq
Samarali aloqani ta'minlash uchun, ketma-ket qurilma talablaridan kelib chiqib, elektr energiyasining, uzatish vositalarining va hokazolarning jismoniy xususiyatlariga qarab, RS232ning maksimal uzatish tezligi 115200 bo'lishi mumkin va keyin ikki bosqichda 57600, 28800, 19200; Ushbu stavkalarga moslashish uchun tegishli kristalli chastotalarni loyihalash.
2: Bu telekommunikatsiya liniyasining xarakteristikalari bilan belgilanadi.
Telefon liniyasining bandpassi 300 - 3KGts. O'sha paytda hayes avval modem bilan shug'ullanadi, shuning uchun 2400HZ signal ishlatiladi, tegishli bod tezligi 2400 ga teng. Asosiy chastotalar aniqlanganidan keyin takomillashtirilgan pass , stavkaning usuli 2400 yilga kelib ko'payadi, shuning uchun 9600.19200 shakllanishi. . . .
Qanday bo'lmasin, bod tezligi va keyin kristalli chastotalar mavjud.
Bir chip mikrokompyuterining ketma-ket aloqa bod tezligini hisoblash.
0 va 2-rejimda ketma-ket port bod tezligi sobit bo'ladi va tartib 0 - Fosc / 12. Tartibni 2 FOSCH / 32 yoki FOSCH / 64, bu esa PCON registrining SMOD bit bilan belgilanadi.
1-rejimda va 3 rejimida bod tezligi o'zgaruvchan qiymatga ega. Bud tezligi Timer 1 (8052, Vaqt 2 bilan yaratilishi mumkin) tomonidan yaratilishi mumkin. Bud nisbati nima? Baudning stavkasi taymer-1 bilan to'lish tezligi aniqlanadi:
Baud Rate = (2SMOD / 32) * (Taymer 1 Overflow Rate)
Eslatma: 2SMOD bu erda SMOD indeks, SMOD bod tezligi double bod tezligi bit, bu bit PCON registrda.
Taymerni 1 bod tezligi generatori sifatida ishlatganda odatda 8-bitli avtomatik qayta yuklash rejimida ishlaydigan taymer 1ni sozlash, shuningdek taymer 1 intervalini o'chirib qo'yish, keyin taymer 1dan qanday qilib hisoblash kerak? Yuzma-to'lqin tezligi toshqinning chastotasi. Kristalli chastotani 12 MGts va TH1 qiymati 0xFE deb hisoblasa, faqat ikkita soat strelkalari to'ldirilishi kerak, va ortiqcha muddati 2us, undan keyin esa 500 KHz chastotasi. Taymer bo'limiga ko'ra, Vaqtning vaqti quyidagi formulaga ega:
(12 / kristalli chastotalar (Hz)) (s) = (256-TH1) * (12 / OSC_FREQ (vaqtni belgilashning boshlang'ich qiymati) Hz)) (s).
Keyinchalik toshish chastotasi tabiiydir:
OSC_FREQ (Hz) / ((256-TH1) * 12).
Shunday qilib, so'nggi push-to-bud darajasi:
(2SMOD / 32) * (OSC_FREQ (Hz) / ((256-TH1) * 12)).
Bud tezligini hisoblash usuli mavjud va tabiiy ravishda, TH1 ning boshlang'ich qiymati bod tezligiga qarab chiqarilishi mumkin:
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)
Kristalli chastotani 11,0592 MGts deb hisoblasa, bod tezligi 9600, SMOD = 0 bo'lsa, TH1 ning boshlang'ich qiymati nima bo'lishi kerak? Yuqoridagi formulaga binoan, u TH1 = 256-11059200 / (9600 * 32 * 12) = 0xFD hisoblab chiqish mumkin .





