UART中有6個寄存器分別爲control, status, rxdata, txdata, divisor,endofpacket. 的寄存器是16位位寬的。spa
UART會產生一個高電平的中斷,當接收到數據或者準備好發送下一個字符時3d
UART IP核使用邏輯0表示mark,邏輯1表示space.blog
1. even 每一個字節傳送整個過程當中bit爲1的個數是偶數個(校驗位調整個數)
2. odd 每一個字節穿送整個過程當中bit爲1的個數是奇數個(校驗位調整個數)
3. noparity沒有校驗位
4. space 校驗位總爲0
5. mark 校驗位總爲1;it
發送部分包括一個7,8,9位的txdata保持寄存器和一個相應的7,8或9位的移位寄存器。當移位操做沒有進行時,移位寄存器自動加載保持寄存器數據。移位操做寄存器自動發送給TXD輸出,LSB先。class
主控能夠經過status寄存器的,發送就緒(TRDY),移位寄存的空信號(tmt),發送溢出錯誤位(TOE),im
接收部分包括一個接收移位寄存器和一個rxdata保持寄存器,當接收到一個字符以後,數據從移位寄存器自動加載到保持寄存器。主控能夠檢測status中的接收就緒(RRDY),接收溢出錯誤(ROE),break detect (BRK), parity error (PE), and framing error (FE) bit
d3
波特率error
16位的divisor寄存器
數據
rxdata registerimg
當接收到一個完整的字符,數據會保存在rxdata寄存器,並把rrdy置位爲1,當rxdata中的數據讀走後rrdy爲0,若是當數據還沒讀走時再次有數據傳輸到rxdata,roe會置位爲1,向rxdata寄存器寫入數據無效。
txdata寄存器
當數據寫入txdata時,TRDY 爲0時,當txdata寄存器中的數據傳輸到發送移位寄存器時,TRDY爲1,若是當TRDY爲0時向txdata寄存器寫入數據,會形成結果不肯定。