串口通信為什么要設(shè)置波特率?串口通信波特率計(jì)算
串口通信為什么要設(shè)置波特率?串口通信波特率計(jì)算
單片機(jī)串口通信時(shí),總要設(shè)置波特率,而波特率一般要設(shè)成9600,19200...?這是傳統(tǒng)么?從什么來(lái)的?而相應(yīng)的晶振一般也是11.0592MHZ。是先設(shè)晶振再設(shè)波特率還是先設(shè)波特率再設(shè)晶振,為什么要這樣設(shè)置呢?
有兩種比較可靠地說法:
1:根據(jù)電、傳輸介質(zhì)等的物理特性結(jié)合串口設(shè)備使用的要求
為了保證有效通訊,根據(jù)電、傳輸介質(zhì)等的物理特性結(jié)合串口設(shè)備使用的要求,確定RS232最大傳輸速率只能是115200,然后逐級(jí)二分得到57600,28800,19200......;為適應(yīng)這些速率,設(shè)計(jì)相應(yīng)的晶振頻率。
2:這是由電信線路特性決定的
電話線路的帶通是300--3KHz,當(dāng)時(shí)hayes先搞的modem,所以用的2400HZ信號(hào),對(duì)應(yīng)波特率是2400。由于基本頻率確定了,以后采用的提高通訊速率的方法都是在2400基礎(chǔ)上倍頻的,所以形成了9600.19200......
不管哪種說法,都是先有波特率再有晶振頻率。
單片機(jī)串口通信波特率計(jì)算
在模式0和模式2下,串口波特率固定,模式0為Fosc/12。模式2為Fosc/32或Fosc/64,具體由PCON寄存器的SMOD位決定。
在模式1和模式3下,波特率是一個(gè)可變值,波特率可以由定時(shí)器1產(chǎn)生(8052可以由定時(shí)2產(chǎn)生),那么波特率到底為多少呢?波特率由定時(shí)器1的溢出率來(lái)決定:
Baud Rate = (2SMOD/32)*(Timer 1 Overflow Rate)
注意:2SMOD這里的SMOD是指數(shù),SMOD為波特率雙倍波特率位,該位在PCON寄存器中。
當(dāng)使用timer 1作為波特率產(chǎn)生器時(shí),通常需要將timer 1配置成8位自動(dòng)重裝的工作模式下,同時(shí)還要禁止timer 1中斷,那么timer 1的溢出率是怎樣計(jì)算的呢?溢出率即溢出的頻率,假設(shè)晶振頻率為12MHz,TH1值為0xFE,則只需要兩個(gè)時(shí)鐘脈沖就會(huì)溢出,溢出的周期為2us,那么溢出的頻率就為500KHz。根據(jù)定時(shí)器一節(jié),定時(shí)時(shí)間有如下計(jì)算公式
定時(shí)時(shí)間=(最大計(jì)數(shù)值-計(jì)數(shù)器初值)*機(jī)器周期=(最大計(jì)數(shù)值-計(jì)數(shù)器初值)*(12/晶振頻率(Hz))(s)=(256-TH1)*(12/OSC_FREQ(Hz))(s)。
那么溢出頻率自然就為:
OSC_FREQ(Hz)/((256-TH1)*12)。
所以最后推到出波特率為:
(2SMOD/32)*(OSC_FREQ(Hz)/((256-TH1)*12))。
波特率的計(jì)算公式有了,那自然就可以根據(jù)波特率推導(dǎo)出TH1的初值了:
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)
假設(shè)晶振頻率為11.0592MHz,波特率為9600,SMOD=0,TH1初值應(yīng)該為多少呢?根據(jù)上面公式可以計(jì)算得TH1=256-11059200/(9600*32*12)=0xFD。
光纖收發(fā)器|工業(yè)交換機(jī)|PCM復(fù)用設(shè)備|串口光端機(jī)|串口服務(wù)器
【責(zé)任編輯】:光橋版權(quán)所有:轉(zhuǎn)載請(qǐng)注明出處
相關(guān)根欄目
- 光纖收發(fā)器8口和1口對(duì)接的用法
- POE交換機(jī)通過光纖和光纖收發(fā)器遠(yuǎn)傳的用法
- 1光多電光纖收發(fā)器和1光多電PoE交換機(jī)在監(jiān)控中組合應(yīng)用
- 千兆8光1電光纖收發(fā)器匯聚組網(wǎng)圖
- 千兆8光1電收發(fā)器+1光4電PoE交換機(jī)組網(wǎng)圖
- 2光收發(fā)器鏈型網(wǎng)示意圖
- PoE交換機(jī)視頻監(jiān)控組網(wǎng)圖
- 工業(yè)交換機(jī)在觸摸屏和PLC之間的應(yīng)用
- 標(biāo)準(zhǔn)PoE交換機(jī)、非標(biāo)準(zhǔn)PoE交換機(jī)和非PoE交換機(jī)的區(qū)別,一圖弄懂
- 光纖收發(fā)器和光端機(jī)的區(qū)別
最新資訊文章
- 光纖收發(fā)器8口和1口對(duì)接的用法
- POE交換機(jī)通過光纖和光纖收發(fā)器遠(yuǎn)傳的用法
- 1光多電光纖收發(fā)器和1光多電PoE交換機(jī)在監(jiān)控中組合應(yīng)用
- 千兆8光1電光纖收發(fā)器匯聚組網(wǎng)圖
- 千兆8光1電收發(fā)器+1光4電PoE交換機(jī)組網(wǎng)圖
- 2光收發(fā)器鏈型網(wǎng)示意圖
- PoE交換機(jī)視頻監(jiān)控組網(wǎng)圖
- 工業(yè)交換機(jī)在觸摸屏和PLC之間的應(yīng)用
- 標(biāo)準(zhǔn)PoE交換機(jī)、非標(biāo)準(zhǔn)PoE交換機(jī)和非PoE交換機(jī)的區(qū)別,一圖弄懂
- 光纖收發(fā)器和光端機(jī)的區(qū)別