1. 程式人生 > >學前班-怎麼看原理圖之協議類介面之UART

學前班-怎麼看原理圖之協議類介面之UART

2,協議類

2.1 URAT

在我們平時對話中應該遵循的原則:雙方能夠聽懂對方在說什麼;不能說的太快,即語速要讓別人接受; 推廣到通訊當中, 協議類雙方應該遵循的原則:雙方協定訊號的協議;雙方滿足時序要求;

這裡寫圖片描述 如上圖所示,硬體的通訊是通過連線雙方的(串列埠)引腳訊號線傳輸資料的,為什麼兩個串列埠可以傳那麼複雜的資料?這就要求雙方必須遵循一定的協議。下面看一下具體的原理圖:

這裡寫圖片描述 將上圖簡化後:

這裡寫圖片描述 如圖,2440 中的TXD0接到電平轉換晶片 電平轉換晶片的目的?用0V表示數字0,3.3-2.2V表示1,為了讓訊號能有較強的抗干擾性。

UART:universal Async Receive/Transmit UART如何傳資料? 假如要從2440把資料A傳送到PC機上, 假如雙方約定的時序圖如下:這裡寫圖片描述

如圖所示:一開始沒有資料的時候,雙方都是高電平(假如3.3V),假如2440想要傳送資料,就讓自己的串列埠(RXD0)輸出低電平,並保持一定的時間(否則對方反應不過來);如果PC機感覺到 RXD0從高變為低,就知道2440即將(雙方約定的時間T,對應波特率)傳送資料;A對應的ASSIC碼為 0X41 (0100 0001),假定雙方約定好在線上傳輸的資料都為8位,即(起始位+8位資料),傳送完一位資料後,維持時間T後,繼續傳輸一位;在接收端每間隔T檢測一下,檢測到的狀態就為2440傳送過來的資料;2440發完資料以後,必須至少保持一個T的高電平;

串列埠控制器:只要設定好串列埠控制器,想傳送資料時,將資料放到某個暫存器,串列埠控制器就會自動產生一個起始位,然後傳送資料,傳送以後自動插入一個停止位; 因此我們在傳送資料 時候,首先要找到晶片手冊中串列埠控制器有哪些設定項。串列埠控制暫存器

Parity Mode:校驗位 Number of stop Bit:停止位的位數 word Length:資料位(在串列埠上傳輸的資料位數)

設定波特率:這裡寫圖片描述 串列埠控制器工作的時鐘(UART clock),根據手冊裡面的公式,計算出波特率,然後將波特率寫到UBRDIVn暫存器即可。

傳送資料的步驟:設定串列埠暫存器 —>設定時序(波特率)–> 將要傳送的資料寫到某個暫存器;