在數(shù)字通信中的數(shù)據(jù)傳輸速率與調(diào)制速率是兩個(gè)容易混淆的概念。數(shù)據(jù)傳輸速率(又稱碼率、比特率或數(shù)據(jù)帶寬)描述通信中每秒傳送數(shù)據(jù)代碼的比特?cái)?shù),單位是bps。
波特率計(jì)算公式有哪些:
在串行通信中,收發(fā)雙方對(duì)發(fā)送或接收的數(shù)據(jù)速率要有一定的約定,我們通過(guò)軟件對(duì)MCS—51串行口編程可約定四種工作方式。其中,方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時(shí)器T1的溢出率決定。
串行口的四種工作方式對(duì)應(yīng)著三種波特率。由于輸人的移位時(shí)鐘的來(lái)源不同,所以,各種方式的波特率計(jì)算公式也不同。
- 方式0的波特率
方式0時(shí),移位時(shí)鐘脈沖由56(即第6個(gè)狀態(tài)周期,第12個(gè)節(jié)拍)給出,即每個(gè)機(jī)器周期產(chǎn)生一個(gè)移位時(shí)鐘,發(fā)送或接收—位數(shù)據(jù)。所以,波特率為振蕩頻率的十二分之一,并不受PCON寄存器中SMOD的影響,即:方式0的波特率=fosc/12。
- 方式2的波特率
串行口方式2波特率的產(chǎn)生與方式0不同,即輸入時(shí)釧源的頻率不同,控制接收與發(fā)送的移位時(shí)鐘由振蕩頻率Foec的第二節(jié)拍P2(即Foec/2)給出,所以,方式2波特率取決于PCON中SMOD位的值,當(dāng)SMOD=0時(shí),波特率為Foec的六十四分之一;若SMOD=1,則波特率為Foec的三十二分之一,即:方式2的波特率= 2smod/64*Foec.
- 方式l和方式3的波特率
方式1和方式3的移位時(shí)鐘脈沖由定時(shí)器T1的溢出率決定,故波特宰由定時(shí)器T1的溢出率與SMOD值同時(shí)決定,即:方式1和方式3的波特率=2SMOD/32·T1溢出率。
其中,溢出率取決于計(jì)數(shù)速率和定時(shí)器的預(yù)置值。計(jì)數(shù)速率與TMOD寄存器中C/T的狀態(tài)有關(guān)。當(dāng)C/T=O時(shí),計(jì)數(shù)速率=fosc/2;當(dāng)C/T=1時(shí),計(jì)數(shù)速率取決于外部輸入時(shí)鐘頻率。
當(dāng)定時(shí)器TI作波特率發(fā)生器使用時(shí),通常選用可自動(dòng)裝入初值模式(工作方式2),在工作方式2中,TLl作為計(jì)數(shù)用,而自動(dòng)裝入的初值放在THI中,設(shè)計(jì)數(shù)初值為x,則每過(guò)“256—X”個(gè)機(jī)器周期,定時(shí)器T1就會(huì)產(chǎn)生一次溢出。為了避免因溢出而引起中斷,此時(shí)應(yīng)禁止T1中斷。這時(shí),溢出周期為∶系統(tǒng)晶振頻率選為11.0592MHZ就是為了使初值為整數(shù),從而產(chǎn)生精確的波特率。
如果串行通信選用很低的波特率,可將定時(shí)器Tl置于工作方式0或工作方式1,但在這種情況下,T1溢出時(shí),需用中斷服務(wù)程序重裝初值。中斷響應(yīng)時(shí)間和執(zhí)行指令時(shí)間會(huì)使波特率產(chǎn)生一定的誤差,可用改變初值的辦法加以調(diào)整,上表列出了各種常用的波特率及其初值。
文章綜合來(lái)源:csdn
編輯:ymf
-
波特率
+關(guān)注
關(guān)注
2文章
307瀏覽量
34115 -
MCS-51
+關(guān)注
關(guān)注
2文章
126瀏覽量
29331 -
振蕩頻率
+關(guān)注
關(guān)注
1文章
24瀏覽量
15848
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論