200 likes | 421 Views
Universal asynchronous receiver/transmitter. UART. 通用非同步接收 / 傳送器 (Universal asynchronous receiver/transmitter) 由直接記憶體存取 (DMA) 或是程式化 I/O 來控制 三個 UART : 全功能 UART(FFUART) 藍芽 UART(BTUART) 標準 UART(STUART). 特徵. 與 16550 相容 可以設定起始、停止、極性位元 獨立控制傳送、接收、線路狀態和資料集 (data set) 中斷 允許軟體對數據機做流量控制
E N D
UART • 通用非同步接收/傳送器 (Universal asynchronous receiver/transmitter) • 由直接記憶體存取(DMA)或是程式化I/O來控制 • 三個UART: • 全功能UART(FFUART) • 藍芽UART(BTUART) • 標準UART(STUART)
特徵 • 與16550相容 • 可以設定起始、停止、極性位元 • 獨立控制傳送、接收、線路狀態和資料集(data set)中斷 • 允許軟體對數據機做流量控制 • 每個UART有不同的數據機控制能力 • 狀態報告能力 • 產生及偵測線路中斷的能力
特徵(conti) • 內部診斷能力,包含: • 對通訊連結故障隔離的回送控制 • 線路中斷、同位元和訊框錯誤模擬 • 優先順序中斷系統 • 傳送資料服務及接收資料服務有自己的DMA請求 • 符合紅外線標準協會(IRDA)標準--慢速紅外線非同步介面
概論 • 每個序列埠都包含一個UART、一個慢速紅外線傳送編碼器及接收解碼器 • UART在從週邊裝置或是數據機接收到資料字元時執行序列-平行的轉換 • 從處理器接收到資料字元時執行平行-序列的轉換 • 運作過程中CPU可以讀取UART的狀態
概論(conti) • FFUART : • 支援數據機控制的能力 • 最大傳輸速率為230.4 kbps • BTUART: • 高速的UART,可與藍芽模組連接 • 最大傳輸速率可達921.6 kbps • STUART: • 不支援數據機控制能力,支援其他功能 • 最大傳輸速率為230.4 kbps
概論(conti) • 與16550工業標準相容,支援以下功能: • 傳送及接收服務會發出DMA請求 • 慢速紅外線非同步介面 • 不歸零(NRZ)加密/解密功能
UART操作說明 • 每個資料訊框長度都介於7位元到12位元之間 • 長度是依照設定的資料大小、是否有極性位元和停止位元的數量來決定 • 起始位元表示開始傳送資料訊框。 • 接著是5位元到8位元的資料 • 資料位元接著為極性位元。 • 軟體設定1個、1.5個、或2個停止位元,結束資料訊框
重置 • 在系統重置時會關閉UART。 • 軟體必須設定GPIO暫存器,並且要設置IER[UUE],才能啟動UART。 • 傳送的資料可以在UART單元啟動前寫入傳送保持暫存器 • 當關閉UART單元時,傳送器或接收器會先完成目前的位元資料,然後停止運作。 • FIFO中的資料並沒有清除,當UART再度啟動時,傳輸的動作則會繼續進行。
內部暫存器說明 • 每個UART各有13個暫存器:12個暫存器供操作UART,1個暫存器設定慢速紅外線 • 暫存器都是32位元,但只有最低8位元包含有效的資料 • 12個UART操作暫存器共用9個I/O位址空間 • SLCR[DLAB]位元的狀態影響某些UART暫存器的選擇動作
程式化傳輸速率產生器 • 每個UART都有一個程式化傳輸速率產生器 • 速率產生器接受14.7456 MHz時脈,並且把這個時脈除以1到(216-1)之間的數值 • 速率產生器的輸出是傳輸速率(baud rate)的16倍 • 傳輸速率= 14.7456/(16x除數) • 如果除數的數值為0,停止時脈輸出
慢速紅外線非同步介面 • 慢速紅外線(SIR)介面和STUART用來支援雙向無線紅外線傳輸 • SIR介面不包含驅動IR LED的能力或也不包含放大接收訊號的能力 • 接在SIR的I/O接腳只有數位CMOS標準訊號。 • SIR支援雙向通訊,但是不可以做到全雙工通訊,因為從傳送LED產生的反射訊號會進入接收器
SIR操作 • SIR調變技術可傳送5、6、7或8位元,並選擇性加入一個極性位元 • 起始位元為低電壓準位(0) • 一個或多個停止位元 • 編碼的方法 • 低電壓準位在時脈週期的中間會產生3/16週期的脈衝 • 高電壓準位則不產生脈衝。
SIR操作(conti) • UART TRANSMIT SHIFT VALUE:由UART傳送10001010資料 • IR ENCODER OUTPUT:IR編碼器在TXD接腳產生的脈衝。在位元0週期的中間產生脈衝。 • RXD PIN VALUE:週邊設備輸入腳位(RXD)接收到的訊號
SIR操作(conti) • IR DECODER OUTPUT:接收解碼器的輸出,當偵測到一個脈衝時,會驅動接收資料線路為低電位 • UART RECEIVE SHIFT VALUE:接收端UART解碼器得到的資料 • 傳送和接收時序移位了1/2位元週期。