• 正文
  • 推薦器件
  • 相關推薦
申請入駐 產業(yè)圖譜

2分鐘搞懂如何計算uart速率

2024/08/19
2533
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

一、前言

1960年代,DEC(Digital Equipment Corp)公司的Gordon Bell采用大約50個分離元件設計了一個電路板,發(fā)明了UART。

時至今日,已經60多年,雖然在個人消費類電子產品中,UART已近乎絕跡;但在工業(yè)、科研、國防、航空/航天等領域,UART卻無處不在。

很多從事多年嵌入式開發(fā)的老鐵居然還不會根據波特率計算UART的速率,下面彭老師2分鐘帶你掌握計算方法。

二、uart幀格式

要證明速率的計算,必須搞清楚uart數據幀格式

其中各位的意義如下:

? 起始位:先發(fā)出一個邏輯“0”信號,表示傳輸字符的開始;

? 數據位:可以是5~8位邏輯“0”或“1”,如ASCII碼(7位),擴展BCD碼(8位),小端傳輸;

? 校驗位:數據位加上這一位后,使得“1”的位數應為偶數(偶校驗)或奇數(奇校驗) ;

? 停止位:它是一個字符數據的結束標志??梢允?位、1.5位、2位的高電平【通常為1位】;

? 空閑位:處于邏輯“1”狀態(tài),表示當前線路上沒有資料傳送。

例如我們傳輸數據0X33(00110011),那么對應的波形就是如下這樣,因為是LSB在前,所以8位數據依次是11001100。

由上圖可得,

假設沒有奇偶校驗位,停止位為1位

要傳輸1個字節(jié)(8個bit)數據,那么實際硬件上需要傳輸10位(1個起始位,8個數據位,1個停止位)

如果有奇偶校驗位,停止位為1位

要傳輸1個字節(jié)(8個bit)數據,那么實際硬件上需要傳輸11位(1個起始位,8個數據位,1個奇偶校驗位,1個停止位)

三、波特率、比特率

1)波特率

UART速率,也稱為波特率,是指數據在串行通信中每秒鐘傳輸的位數(包含起始位、數據位、校驗位、停止位)。

比如:115200波特率意思就是在二進制傳輸條件下每秒傳輸115200個比特。

2)比特率

比特率也叫信息傳輸速率,單位時間傳遞的平均信息量或比特數(只包含有效的數據位)。

比特率通常以bps(bits per second)表示。

四、速率計算

比特率與波特率計算公式是:

比如沒有奇偶校驗位,停止位為1位

波特率115200對應的比特率為

比特率?=?(115200*8??)/(1個起始位?+?8個數據位?+?0個奇偶校驗位?+?1個停止位)=115200*8/10?=?11520*8?b/s

轉換為字節(jié)就是11520 B/s,即每秒傳輸11520個字節(jié)(幀)

推薦器件

更多器件
器件型號 數量 器件廠商 器件描述 數據手冊 ECAD模型 風險等級 參考價格 更多信息
FCLF8520P2BTL 1 Finisar Corporation Transceiver, 1250Mbps(Tx), 1250Mbps(Rx), SFP Connector, ROHS COMPLIANT PACKAGE
$66.19 查看
XLH735100.000000X 1 Integrated Device Technology Inc HCMOS Output Clock Oscillator
$2.26 查看
DSC1001DL5-025.0000 1 Microchip Technology Inc OSC MEMS 25.000MHZ CMOS SMD

ECAD模型

下載ECAD模型
$2.07 查看

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

公眾號『一口Linux』號主彭老師,擁有15年嵌入式開發(fā)經驗和培訓經驗。曾任職ZTE,某研究所,華清遠見教學總監(jiān)。擁有多篇網絡協議相關專利和軟件著作。精通計算機網絡、Linux系統(tǒng)編程、ARM、Linux驅動、龍芯、物聯網。原創(chuàng)內容基本從實際項目出發(fā),保持原理+實踐風格,適合Linux驅動新手入門和技術進階。