在數字通信中的數據傳輸速率與調制速率是兩個容易混淆的概念。數據傳輸速率(又稱碼率、比特率或數據帶寬)描述通信中每秒傳送數據代碼的比特數,單位是bps。
波特率計算公式有哪些:
在串行通信中,收發雙方對發送或接收的數據速率要有一定的約定,我們通過軟件對MCS—51串行口編程可約定四種工作方式。其中,方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時器T1的溢出率決定。
串行口的四種工作方式對應著三種波特率。由于輸人的移位時鐘的來源不同,所以,各種方式的波特率計算公式也不同。
- 方式0的波特率
方式0時,移位時鐘脈沖由56(即第6個狀態周期,第12個節拍)給出,即每個機器周期產生一個移位時鐘,發送或接收—位數據。所以,波特率為振蕩頻率的十二分之一,并不受PCON寄存器中SMOD的影響,即:方式0的波特率=fosc/12。
- 方式2的波特率
串行口方式2波特率的產生與方式0不同,即輸入時釧源的頻率不同,控制接收與發送的移位時鐘由振蕩頻率Foec的第二節拍P2(即Foec/2)給出,所以,方式2波特率取決于PCON中SMOD位的值,當SMOD=0時,波特率為Foec的六十四分之一;若SMOD=1,則波特率為Foec的三十二分之一,即:方式2的波特率= 2smod/64*Foec.
- 方式l和方式3的波特率
方式1和方式3的移位時鐘脈沖由定時器T1的溢出率決定,故波特宰由定時器T1的溢出率與SMOD值同時決定,即:方式1和方式3的波特率=2SMOD/32·T1溢出率。
其中,溢出率取決于計數速率和定時器的預置值。計數速率與TMOD寄存器中C/T的狀態有關。當C/T=O時,計數速率=fosc/2;當C/T=1時,計數速率取決于外部輸入時鐘頻率。
當定時器TI作波特率發生器使用時,通常選用可自動裝入初值模式(工作方式2),在工作方式2中,TLl作為計數用,而自動裝入的初值放在THI中,設計數初值為x,則每過“256—X”個機器周期,定時器T1就會產生一次溢出。為了避免因溢出而引起中斷,此時應禁止T1中斷。這時,溢出周期為∶系統晶振頻率選為11.0592MHZ就是為了使初值為整數,從而產生精確的波特率。
如果串行通信選用很低的波特率,可將定時器Tl置于工作方式0或工作方式1,但在這種情況下,T1溢出時,需用中斷服務程序重裝初值。中斷響應時間和執行指令時間會使波特率產生一定的誤差,可用改變初值的辦法加以調整,上表列出了各種常用的波特率及其初值。
文章綜合來源:csdn
編輯:ymf
-
波特率
+關注
關注
2文章
320瀏覽量
35613 -
MCS-51
+關注
關注
2文章
126瀏覽量
31891 -
振蕩頻率
+關注
關注
1文章
24瀏覽量
16120
發布評論請先 登錄
是否可以將 visionfive2 的 uart 配置為 1Mb 波特率?
碩博電子IO模塊修改波特率和節點ID操作步驟
FDCAN 數據段波特率增加后發送失敗的問題分析
串行時鐘發生器的計算公式
UART波特率計算及UART收發回顯實驗
115200的波特率,為啥實際速度只有11KB/s?
波特率是什么
可編程電源的通信波特率應如何設置?
基于瑞薩64位MPU RZ/G2L的uboot串口多波特率支持介紹
波特率計算公式及含義
評論