UART波特率:它需要多準確?

本文將幫助您確定UART發送器和接收器的波特率之間的最大可接受差異。

相關信息

  • 基礎:通用異步接收器/發送器(UART)
  • 爲您的微控制器選擇合適的振盪器

我非常感謝微控制器提供的便利性,它具有相當高精度的內部振盪器。但是這些振盪器永遠不會像晶體一樣精確,所以總是存在一個揮之不去的疑問 - 內部振盪器是否足夠準確,以滿足我可能需要的所有時序功能?

最常見的時序敏感任務之一是UART通信。接口缺少外部時鐘,只有當內部波特率相等時,Tx和Rx器件才能可靠地共享數據。

但當然“相等”並不是一個真正的工程詞 - 我們總是要考慮噪聲,誤差和變化,而對於微控制器的內部振盪器,我們不是在談論百萬分之幾。根據我的經驗,微控制器很少提供內部振盪器,其精度優於±1.5%。具有±1.5%時鐘源的兩個微控制器的波特率相差3%。這夠好嗎?

波特率,比特週期和採樣

注意:對於剩下的分析,我們將使用Tx器件作爲參考;換句話說,我們假設Tx器件始終處於標稱波特率,並且Rx器件處於不準確的波特率。)

要記住的第一件事是,唯一相關的錯誤是差變送器的波特率和接收器的波特率之間(而不是預期的波特率和實際波特率之間的差)。例如,如果兩個通信設備都以9800波特率運行,即使預期速率(基於標稱時鐘頻率)爲9600波特,您也可以輕鬆傳輸數據。

下圖顯示了UART接收中涉及的基本時序過程。如果接收器波特率與發送器波特率完全匹配,並且在位週期的正中間對第一位進行採樣,則最後一個數據位也將在位週期的正中間進行採樣。
在這裏插入圖片描述

如果波特率(以及比特週期)不同,則每個採樣點將逐漸靠近比特轉換。換句話說,最後一個數據位是受波特率差異影響最嚴重的位。
下圖所示:是假設Rx位週期長於Tx位週期; 從bit1的正中間進行採樣,到bit 8採樣時就不在正中間了。
在這裏插入圖片描述

解決最大允許誤差:更簡單的版本

基於這種觀察,我們可以首先提出以下建議:如果在從最後一個數據位到停止位的轉換之前對最後一個數據位進行採樣,則波特率足夠準確。(我們假設系統可以容忍不正確採樣的停止位。)但是我們不希望在預期轉換之前採樣一納秒; 我們需要一些保證金。我認爲合理的餘量是20%-ie,最後一位必須在從最後一個數據位到停止位的轉換之前的位週期的至少20%被採樣。
在這裏插入圖片描述

Tx設備的位週期定義如下:
在這裏插入圖片描述
如果我們使用E來表示接收器的波特率和發送器的波特率之間的百分比差的絕對值,那麼我們在Rx端的附加位週期時間如下:
在這裏插入圖片描述
對於第一次分析,我們將通過假設定時過程在起始位的正中間開始來簡化。因此,對於一個八數據位接口,採樣時間爲最後一個數據位會被8ΔT被關閉RX。因此,我們的準確性足夠的條件如下:
在這裏插入圖片描述

因爲我們說最後一個數據位的可接受採樣窗口是從50%(理想值)到80%(接近我們願意去的轉換),80% - 50%= 30%= 0.3 。

我們可以解決最大允許E如下:
在這裏插入圖片描述

因此,基於這種簡化的分析,只要發送器波特率和接收器波特率之間的差異小於3.75%,八位數據位UART通信就應該是可靠的。

最大允許誤差:完整分析

上一節爲您提供了可以容忍幀錯誤的任何八位數據UART系統的經驗法則(即,指示未正確採樣的停止位的錯誤)。在本節中,我們將開發一個綜合方程,可以提供更精確和定製的估計。

爲此,我們將包含以下內容:

起始位採樣的可變位置
可變數量的數據位
用於對最終位進行採樣的可變餘量
是否存在奇偶校驗位
幀誤差容限
從上一節開始,我們有

在這裏插入圖片描述
現在我們的最終位採樣餘量是一個變量; 我們將使用M(之前我們使用過20%)。從下面的等式可以看出,M必須以小數形式輸入,而不是百分比。
在這裏插入圖片描述

我們仍然在ΔTRX前面有8個。我們需要改變它,因爲現在數據位的數量(用N表示)是一個變量。我們還將包括奇偶校驗位(P)和停止位(S)的變量。如果你有一個奇偶校驗位,用P表示1; 如果不是,請使用0.如果要確保正確採樣停止位,請使用1表示S; 如果沒有,請使用0。
在這裏插入圖片描述

我們需要的最後一件事是考慮起始位採樣的實際位置的變量。當前形式的等式假設爲50%(即,比特週期的確切中間)。這是理想的位置。任何與理想的偏差都會導致後一位的採樣位置更接近轉換(因此更接近錯誤)。我們將通過在左側添加以下術語將其合併到等式中:
在這裏插入圖片描述

該術語是指與理想起始位採樣位置的偏差,表示爲十進制乘以接收器的位週期。因此,例如,如果在比特週期的60%的路上採樣起始位,則該項將爲|(50% - 60%)| T RX = 0.1T RX。您無法輕易確定此術語的確切值,但如果您瞭解UART的低級功能的詳細信息,則可以得出合理的最壞情況估計值。

現在我們的等式是
在這裏插入圖片描述

如果我們記得Rx位週期等於Tx位週期加上對應於誤差百分比的額外時間,我們的最終公式如下:
在這裏插入圖片描述

示例和結論

讓我們考慮以下系統:

保證金爲30%
最壞情況起始位採樣偏差爲5%
八個數據位
不允許幀錯誤
使用奇偶校驗位
因此,我們有

在這裏插入圖片描述
我希望本文可以幫助您解決任何未來的波特率精度問題,並且請記住,仔細的波特率分析可能表明您可以放心地省略外部晶振,即使您的內部振盪器不如您所希望的那樣精確。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章