奧的斯電梯OCSS/LCBII /TCBC/GECB板與電梯轎廂和電梯井道之間的串行通訊采用了UART通訊,將井道和轎廂的輸入、輸出和開關部件的信號轉換成串行通訊信號傳輸給電梯操作控制系統,大大節省了現場布線,下面就UART通訊總線工作原理的理解予以描述。
通用異步收發傳輸器(Universal Asynchronous Receiver/Transmitter),通常稱作UART。它將要傳輸的資料在串行通信與并行通信之間加以轉換。作為把并行輸入信號轉成串行輸出信號的芯片,UART通常被集成于其他通訊接口的連結上。
它不是像SPI和I2C這樣的通信協議,而是微控制器中獨立的物理電路或獨立的IC。UART最好的一點是它只使用兩根線就可以在設備之間傳輸數據,UART背后的原理很容易理解。
UART通信簡介

在UART通信中,兩個UART直接相互通信。發送UART將來自CPU等控制設備的并行數據轉換為串行形式,并將其串行發送到接收UART,接收UART然后將串行數據轉換回接收設備的并行數據。在兩個UART之間傳輸數據只需要兩根線。數據從發送UART的Tx引腳流向接收UART的Rx引腳:

UART以異步方式發送數據,這意味著沒有時鐘信號將發送UART的位輸出與接收UART的位采樣同步。發送UART不是時鐘信號,而是將開始和停止位添加到正在傳輸的數據包中。這些位定義數據包的開始和結束,因此接收UART知道何時開始讀取位。
當接收UART檢測到起始位時,它開始以稱為波特率的特定頻率讀取輸入位。波特率是數據傳輸速度的度量,以每秒位數(bps)表示。兩個UART必須以大致相同的波特率運行。發送和接收UART之間的波特率只能相差10%左右。
兩個UART還必須配置為發送和接收相同的數據包結構。

UART如何工作
UART傳輸數據依靠的是UART總線,數據總線用于通過CPU,存儲器或微控制器等其他設備將數據發送到UART。數據以并行形式從數據總線傳輸到發送UART。在發送UART從數據總線獲得并行數據之后,它將添加起始位,奇偶校驗位和停止位,從而創建數據包。接下來,數據包在Tx引腳上逐位串行輸出。UART接收端則在其Rx引腳上逐位讀取數據包。然后,接收UART將數據轉換回并行形式,并刪除起始位,奇偶校驗位和停止位。最后,接收UART將數據包并行傳輸到接收端的數據總線:

UART傳輸的數據被組織成數據包。每個數據包包含1個起始位,5到9個數據位(取決于UART),可選的奇偶校驗位以及1或2個停止位:

開始位
當UART數據傳輸線不傳輸數據時,它通常保持在高電壓電平。為了開始數據傳輸,發送UART將傳輸線從高電平拉至低電平一個時鐘周期。當接收UART檢測到高電壓到低電壓轉換時,它開始以波特率的頻率讀取數據幀中的位。
數據框
數據框包含要傳輸的實際數據。如果使用奇偶校驗位,則它可以是5位到8位長。如果不使用奇偶校驗位,則數據幀可以是9位長。在大多數情況下,數據首先以最低有效位發送。
奇偶校驗位
奇偶校驗描述數字的均勻性或奇數。奇偶校驗位是接收UART在傳輸過程中判斷是否有任何數據發生變化的一種方法。電磁輻射、不匹配的波特率或長距離傳輸時,數據都有可能發生變化。接收UART讀取數據幀后,它會計算值為1的位數,并檢查總數是偶數還是奇數。如果奇偶校驗位為0(偶校驗),則數據幀中的1位應總計為偶數。如果奇偶校驗位是1(奇校驗),則數據幀中的1位應總計為奇數。當奇偶校驗位與數據匹配時,UART知道傳輸沒有錯誤。但如果奇偶校驗位為0,然而1位應總計為奇數;或者奇偶校驗位是1,并且1位應總計是偶數,則數據幀中的位已經改變。
停止位
為了通知傳輸數據包的結束,UART發送端會將數據傳輸線從低電壓驅動至高電壓至少兩位持續時間。
UART傳輸步驟
1.發送UART從數據總線并行接收數據:

2.發送UART將起始位,奇偶校驗位和停止位添加到數據幀:

3.整個數據包從發送UART串行發送到接收UART。接收UART以預先配置的波特率對數據線進行采樣:

4.接收UART丟棄數據幀中的起始位,奇偶校驗位和停止位:

5.接收UART將串行數據轉換回并行并將其傳輸到接收端的數據總線:

UART的優點和缺點
沒有任何一種通信協議是完美的,以下是一些優點和缺點,可幫助您確定它們是否符合您項目的需求:
優點
只使用兩根電線
不需要時鐘信號
有一個奇偶校驗位
只要雙方設置后,就可以改變數據包的結構
有完整的文檔并且具有廣泛的使用
缺點
數據幀的大小限制為最多9位(9bit),也就是最大幀為起始位1位(1bit)+數據位9位(9bit)+奇偶校驗1位(1bit)+停止位2位(2bit)
不支持多個從屬或多個主系統
每個UART的波特率必須在10%之內