Uart學習筆記


分享一個蠻好的鏈接:https://blog.csdn.net/wordwarwordwar/article/details/73662379

 

今天在看的資料是S家的DW_apb_uart的官方文檔。該uart IP是掛在APB總線上面,CPU通過APB總線對uart進行訪問和數據讀寫操作。

結構如下:

 

PS: sir_in/out是在SIR_MODE Enable時有效,用在irDA紅外功能上。(紅外功能將UART的NRZ串行比特率調制為脈沖形式)

 主要流程是:

  1.CPU通過APB總線config UART內部寄存器(register block),包括中斷使能,charactor位寬,RX/TX FIFO 門限,同步時鍾配置等等

  2.數據讀寫操作(implement with FIFO)(CPU Master):

  • 讀:sin -> serial receiver -> sync -> FIFO -> register -> APB
  • 寫:APB -> register -> FIFO -> sync -> serial transmitter -> sout

  其中FIFO作為buffer,FIFO余量要與APB一次burst WR/RD操作的大小相配合。

 

UART串行數據格式:


上圖的sync時鍾為baudclk,其中16 baudclk  對應 1bit data。

 

其中parity是奇偶校驗位

波特率(baudout)由sclk和Divisor Latch Register決定。

UART可以有一個系統時鍾(pclk)或者兩個系統時鍾(pclk,sclk)

時鍾的計算方式看不懂= =略過

 

 

DMA:支撐兩種DMA方式,通過dma_tx_req_n和dma_rx_req_n來做DMA讀寫請求

  mode0:支撐單次DMA數據傳輸  mode1:支撐multi-DMA數據傳輸

 

cts_n和rts_n分別表示寫ready和讀ready。在auto-mode下由TX/RX fifo water level決定;在關閉audo-mode的時候由usr通過Cfg register的方式調節。(optional)

  

 

 

 

 

 

    

      


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM