UART協(xié)議分析
UART是“Universal Asynchronous Receiver/Transmitter",通用異步收發(fā)器的縮寫。在19世紀(jì)60年代,為了解決計(jì)算機(jī)和電傳打字機(jī)通信,Bell發(fā)明了UART協(xié)議,將并行輸入信號(hào)轉(zhuǎn)換成串行輸出信號(hào)。因?yàn)閁ART簡單實(shí)用的特性,其已經(jīng)成為一種使用非常廣泛的通訊協(xié)議。我們?nèi)粘=佑|到的串口,RS232,RS485等總線,內(nèi)部使用的基本都是UART協(xié)議。
為了更好的理解和分析協(xié)議與總線的關(guān)系,我們通常把一個(gè)完整的通訊規(guī)范劃分成物理層,協(xié)議層以及應(yīng)用層。物理層只定義真實(shí)的信號(hào)特性(比如電壓,電流,驅(qū)動(dòng)能力等),以及電信號(hào)與邏輯信號(hào)0和1的對(duì)應(yīng)關(guān)系;協(xié)議層不關(guān)心底層的0和1具體怎么實(shí)現(xiàn),只規(guī)定邏輯信號(hào)的協(xié)議規(guī)范以及通訊過程(例如起始,數(shù)據(jù)以及結(jié)束等);應(yīng)用層不關(guān)心數(shù)據(jù)是怎么獲取的,只定義數(shù)據(jù)表示的意義,以及如何實(shí)現(xiàn)具體的業(yè)務(wù)邏輯。
UART協(xié)議分析
不同的物理層實(shí)現(xiàn)
由于UART協(xié)議層的輸入是邏輯0/1信號(hào),而邏輯0/1信號(hào)在物理層可以通過不同的電平標(biāo)準(zhǔn)來區(qū)分。針對(duì)不同的通訊需求,便可以使用不同的物理層實(shí)現(xiàn)。例如簡單的板內(nèi)通訊,或者常見的設(shè)備調(diào)試場(chǎng)景,使用簡單的LVTTL/TTL電平即可在兩個(gè)設(shè)備間進(jìn)行UART協(xié)議通訊。