0
本應用筆記討論了在UART中實現的常用串行異步通信協議的時序要求。本文介紹了如何確定異步鏈接兩端的UART時鐘源的容限。RS-232規范可以追溯到1962年,當時它是由電子工業聯盟(EIA)首次發布的。該規范隨著時間的推移發生了變化,納入了更高的數據速率,并縮小了電信行業協會(TIA),國際電信聯盟(ITU)和國際標準化組織(ISO)要求之間的兼容性差距。
背景技術
RS-232規范可以追溯到1962年,當時它是由電子工業聯盟(EIA)首次發布的。該規范隨著時間的推移發生了變化,納入了更高的數據速率,并縮小了電信行業協會(TIA),國際電信聯盟(ITU)和國際標準化組織(ISO)要求之間的兼容性差距。RS-232規范的當前版本是1997年10月發布的EIA / TIA-232-F。
RS-232受益于1970年代后期以來MSI IC的可用性,MSI IC具有以合理的價格處理規范的復雜性。這些IC是通用異步接收發送器(UART)。現在,許多大規模集成(LSI)IC(包括微控制器)都具有該功能。
通常,UART的可用性促使業界以非RS-232方式使用RS-232串行協議。常見的示例是RS-485傳輸,光隔離傳輸以及使用單端物理層(即0到3.3V而不是±5V或±10V)的傳輸。本文介紹了串行接口的一般時序方面,而不是握手或物理層的應用細微差別。因此,本應用筆記適用于所有通用UART應用。
UART時序
圖1顯示了一個典型的UART幀。它包括一個START位,8個數據位和一個STOP位。在RS-232應用中,其他變體也是可能的。例如,數據包的長度可以為5、6或7位,可以有2個STOP位,或者可以在數據包和STOP位之間插入奇偶校驗位以進行基本錯誤檢測。圖1顯示了在UART的發送數據(TXD)或接收數據(RXD)引腳上看到的信令。RS-232總線驅動器會進行反相以及電平轉換,因此邏輯1為總線上的負電壓,邏輯0為正電壓。
典型的UART數據幀。
當兩個UART通信時,假設發送器和接收器都知道信令速度。接收方不知道何時發送數據包(無接收方時鐘);因此,該協議稱為“異步”。接收器電路相應地比發射器電路復雜。發送器只需以定義的比特率輸出一幀數據。相反,接收器必須識別幀的開始以使其自身同步,并因此確定位流的最佳數據采樣點。
圖2顯示了UART接收器用來使其自身與接收到的幀同步的常用方法。接收UART使用的時鐘是數據速率的16倍。在低電平有效START位的開始處的下降沿可以識別出一個新的幀。當信號從高電平有效STOP位或總線空閑狀態改變時,就會發生這種情況。接收UART在該下降沿復位其計數器,期望中起始位在8個時鐘周期后出現,并預期隨后每個位的中點將在此后每16個時鐘周期出現一次。通常在位時間的中間對START位進行采樣,以檢查電平是否仍然很低,并確保檢測到的下降沿是START位,而不是噪聲尖峰。另一個改進是對START位采樣了3次(時鐘計數7、8和9)
UART接收幀同步和數據采樣點。
雙面板免費加費,四層板加急打樣,厚銅電路板打樣