1. 通用異步收發(fā)器(UARTx)
1.1. 模塊介紹
CIU32M010、CIU32M030 集成的通用異步收發(fā)器(UART)提供了一種靈活的方法與使用工業(yè)標(biāo)準(zhǔn)NRZ 異步串行數(shù)據(jù)格式的外部設(shè)備之間進行全雙工數(shù)據(jù)交換。
1.2. 功能特點
• 支持 8bit 數(shù)據(jù)和 9bit 數(shù)據(jù)模式
• 支持 18bit 波特率寄存器靈活配置
• 支持全雙工異步通信、單工發(fā)送、單工接收、單線通信模式
• 支持硬件奇偶校驗可選
• 具有 4 幀數(shù)據(jù)的接收緩存,1 幀數(shù)據(jù)的發(fā)送緩沖
• 硬件檢測接收超時,超時長度可以配置,配置范圍:1~16384 比特率時間
• 支持幀出錯檢測
• 可選 STOP 位為 1 位或 2 位
1.3. 功能說明
1.3.1. 波特率生成功能
波特率計算公式 = SYSCLK/(UART_BAUD+1) (UART_BAUD>=6)
UART 模塊的工作時鐘為系統(tǒng)時鐘,因此,應(yīng)當(dāng)根據(jù)當(dāng)前系統(tǒng)時鐘頻率以及需要的波特率計算 UART_BAUD 的配置值。一旦系統(tǒng)時鐘頻率改變,應(yīng)當(dāng)相應(yīng)修改波特率配置。
1.3.2. UART 發(fā)送器
發(fā)送器可發(fā)送 8/9bit 數(shù)據(jù),由寄存器 UART_CON 中的 BIT9_EN 位的配置值決定。軟件向寄存器
UART_DATA 寫入數(shù)據(jù)時,發(fā)送器將通過 IO 管腳 UART_TX 發(fā)送數(shù)據(jù)幀,UART_TX 的極性可以通過寄存
器 UART_CON 中的 TX_INV 位來配置。
發(fā)送數(shù)據(jù)流程:發(fā)射器輸出管腳(UART_TX)閑置狀態(tài)時,默認(rèn)為高電平。模塊使能后,軟件向寄存
器 UART_DATA 寫入要發(fā)送的數(shù)據(jù)啟動發(fā)送。發(fā)送器有一幀的發(fā)送緩沖,寄存器 UART_STA 中
TX_BUF_EMPTY 為高電平時,軟件可向寄存器 UART_DATA 再寫入一幀數(shù)據(jù),它將被存入發(fā)送緩沖區(qū),
TX_BUF_EMPTY 會變零,在當(dāng)前幀發(fā)送完成時,會接著發(fā)送緩沖區(qū)中的數(shù)據(jù)。
數(shù)據(jù)發(fā)送完成且緩沖區(qū)為空時,寄存器 UART_STA 中 TC_PEND 位置 1,此時如果寄存器 UART_CON
中 TCIE 位使能,則產(chǎn)生中斷。
發(fā)送器發(fā)送序列:起始位->數(shù)據(jù)位(LSB)->停止位
1.3.3. UART 接收器
接收器可接收 8/9bit 數(shù)據(jù),由寄存器 UART_CON 中的 BIT9_EN 位的配置值決定。
數(shù)據(jù)字符由邏輯 0 的起始位、8/9bit 數(shù)據(jù)位,奇偶校驗位和邏輯 1 的停止位組成。
接收器有 4 個 8/9bit 的數(shù)據(jù)緩沖。在緩沖區(qū)接收到 4 個數(shù)據(jù)之后,且又有一幀數(shù)據(jù)接收完成時,寄存器 UART_STA 中 RX_BUF_OV 會置 1,新的數(shù)據(jù)將不會存儲在數(shù)據(jù)緩沖區(qū)中,即新數(shù)據(jù)丟失。 在接收一個數(shù)據(jù)幀的過程中可使能奇偶錯誤檢測、幀錯誤檢測和超時檢測,通過配置寄存器 UART_CON 打開相應(yīng)的錯誤檢測使能位和相應(yīng)的錯誤中斷使能位。
幀錯誤檢測機制是指在 stop 位檢測到 IO 引腳 UART_RX 是低電平時,為幀錯誤。
超時檢測機制是指在接收到 1byte 之后,檢測是否超過了設(shè)置的時間,如果沒有則繼續(xù)接收數(shù)據(jù),超時時間可以通過寄存器 UART_CON 中 TO_BIT_LEN 進行配置。接收緩沖區(qū)有數(shù)據(jù),即寄存器 UART_STA 中的 RX_BUF_NOT_EMPTY=1 時,軟件可以通過讀
UART_DATA 寄存器的方式來獲取收到的數(shù)據(jù)。
1.4 模塊框圖與接口時序
1.4.1. UART 模塊架構(gòu)圖
圖 1-1 UART 模塊架構(gòu)圖
1.4.2. UART 協(xié)議圖
UART 數(shù)據(jù)發(fā)送/接收的數(shù)據(jù)格式如下所示,其中數(shù)據(jù)位可選擇 8bit 或 9bit,需要注意的是,選擇 9bit 數(shù)據(jù)時,就不可以使能奇偶校驗位。相反,使能奇偶校驗位時,不能選擇 9bit 數(shù)據(jù)。
圖 1-2 UART 時序圖
1.5 時鐘與復(fù)位
1.5.1. 時鐘介紹
該模塊時鐘來源于系統(tǒng)時鐘,可通過配置系統(tǒng)寄存中 CLKCON2 來使能時鐘。
1.5.2. 復(fù)位介紹
該模塊的復(fù)位源有兩個,分別是系統(tǒng)復(fù)位和軟件復(fù)位,軟件復(fù)位可通過配置系統(tǒng)寄存器觸發(fā)。