深刻理解UART

深刻理解UART

ID:39210086

大?。?36.01 KB

頁(yè)數(shù):11頁(yè)

時(shí)間:2019-06-27

深刻理解UART_第1頁(yè)
深刻理解UART_第2頁(yè)
深刻理解UART_第3頁(yè)
深刻理解UART_第4頁(yè)
深刻理解UART_第5頁(yè)
資源描述:

《深刻理解UART》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、UART異步串行口UART異步串行口簡(jiǎn)介數(shù)據(jù)通信的基本方式可分為并行通信與串行通信兩種:?并行通信:是指利用多條數(shù)據(jù)傳輸線將一個(gè)資料的各位同時(shí)傳送。它的特點(diǎn)是傳輸速度快,適用于短距離通信,但要求通訊速率較高的應(yīng)用場(chǎng)合。?串行通信:是指利用一條傳輸線將資料一位位地順序傳送。特點(diǎn)是通信線路簡(jiǎn)單,利用簡(jiǎn)單的線纜就可實(shí)現(xiàn)通信,降低成本,適用于遠(yuǎn)距離通信,但傳輸速度慢的應(yīng)用場(chǎng)合。UART異步串行口的傳輸格式異步通信以一個(gè)字符為傳輸單位,通信中兩個(gè)字符間的時(shí)間間隔是不固定的,然而在同一個(gè)字符中的兩個(gè)相鄰位代碼間的時(shí)間間隔是固定的。通信協(xié)議(通信規(guī)程):是指通信雙

2、方約定的一些規(guī)則。在使用異步串口傳送一個(gè)字符的信息時(shí),對(duì)資料格式有如下約定:規(guī)定有空閑位、起始位、資料位、奇偶校驗(yàn)位、停止位。通訊時(shí)序圖如下:?開(kāi)始前,線路處于空閑狀態(tài),送出連續(xù)“1”。傳送開(kāi)始時(shí)首先發(fā)一個(gè)“0”作為起始位,然后出現(xiàn)在通信線上的是字符的二進(jìn)制編碼數(shù)據(jù)。?每個(gè)字符的數(shù)據(jù)位長(zhǎng)可以約定為5位、6位、7位或8位,一般采用ASCII編碼。后面是奇偶校驗(yàn)位,根據(jù)約定,用奇偶校驗(yàn)位將所傳字符中為“1”的位數(shù)湊成奇數(shù)個(gè)或偶數(shù)個(gè)。也可以約定不要奇偶校驗(yàn),這樣就取消奇偶校驗(yàn)位。?最后是表示停止位的“1”信號(hào),這個(gè)停止位可以約定持續(xù)1位、1.5位或2位的時(shí)

3、間寬度。?至此一個(gè)字符傳送完畢,線路又進(jìn)入空閑,持續(xù)為“1”。經(jīng)過(guò)一段隨機(jī)的時(shí)間后,下一個(gè)字符開(kāi)始傳送才又發(fā)出起始位。?每一個(gè)數(shù)據(jù)位的寬度等于傳送波特率的倒數(shù)。微機(jī)異步串行通信中,常用的波特率為110,150,300,600,1200,2400,4800,9600等。S3C2410的異步串行口11S3C2410的UART(通用異步串行口)單元提供三個(gè)獨(dú)立的異步串行I/O端口,每個(gè)都可以在中斷和DMA兩種模式下進(jìn)行。UART支持的最高波特率達(dá)230.4kbps。每個(gè)UART通道包含2個(gè)16位FIFO分別提供給接收和發(fā)送。每個(gè)UART包含波特率發(fā)生器,接

4、收器,發(fā)送器和控制單元。。波特率發(fā)生器以PCLK或UCLK為時(shí)鐘源。發(fā)送器和接收器包含16字節(jié)FIFO寄存器和移位寄存器,當(dāng)發(fā)送數(shù)據(jù)的時(shí)候,數(shù)據(jù)先寫(xiě)到FIFO然后拷貝到發(fā)送移位寄存器,然后從數(shù)據(jù)輸出端口(TxDn)依次被移位輸出。被接收的數(shù)據(jù)也同樣從接收端口(RxDn)移位輸入到移位寄存器,然后拷貝到FIFO中。異步串行口的操作?數(shù)據(jù)發(fā)送操作數(shù)據(jù)發(fā)送幀的格式是可編程的,它包含一個(gè)開(kāi)始位,5到8個(gè)數(shù)據(jù)位,一個(gè)可選的奇偶位和一個(gè)或兩個(gè)停止位,這些可以通過(guò)線性控制器(ULCONn)來(lái)設(shè)置。發(fā)送器也能夠產(chǎn)生發(fā)送中止條件。中止條件迫使串口輸出保持在邏輯0狀態(tài),

5、這種狀態(tài)保持一個(gè)傳輸幀的時(shí)間長(zhǎng)度。通常在一幀傳輸數(shù)據(jù)完整地傳輸完之后,在通過(guò)這個(gè)全0狀態(tài)將中止信號(hào)發(fā)送給對(duì)方。中止信號(hào)發(fā)送之后,傳送數(shù)據(jù)連續(xù)放到FIFO中(在不使用FIFO模式下,將被放到輸出保持寄存器)。?數(shù)據(jù)接收操作與數(shù)據(jù)發(fā)送一樣,數(shù)據(jù)接收的幀也是可以編程的,它包含一個(gè)開(kāi)始位,5到8個(gè)數(shù)據(jù),一個(gè)可選的奇偶位和一位或兩位停止位,它們都是通過(guò)線性控制器(ULCONn)來(lái)設(shè)置的。接收器能夠檢測(cè)溢出錯(cuò)誤,奇偶校驗(yàn)錯(cuò)誤,幀錯(cuò)誤和中止?fàn)顩r,每種情況下都將會(huì)將一個(gè)錯(cuò)誤標(biāo)志置位。UART異步串行口的波特率發(fā)生器每個(gè)UART的波特率發(fā)生器為傳輸提供了串行移位時(shí)鐘。

6、波特率產(chǎn)生器的時(shí)鐘源可以從S3C2410的內(nèi)部系統(tǒng)時(shí)鐘或UCLK中來(lái)選擇。。波特率由時(shí)鐘源(PCLK或UCLK)16分頻然后被UART波特率除數(shù)寄存器(UBRDIVn)指定的16位除數(shù)決定。因此,UBRDIVn的值可以按照下式確定:UBRDIVn=(int)(PCLK/(bps*16))-1,其中bps為波特率。例如,如果波特率為115200bps且PCLK或UCLK為40MHz,則UBRDIVn為:UBRDIVn=(int)(40000000)(115200*16))-1=(int)(21.7)-1=21-1=20UART異步串行口波特率發(fā)生器的誤

7、差極限UART傳輸10bit數(shù)據(jù)的時(shí)間誤差應(yīng)該小于1.87%(3/160)。tUPCLK=(UBRDIVn+1)x16x10/PCLK實(shí)際的傳輸10bit所需時(shí)間。tUEXACT=10/baud-rate理想情況下傳輸10位需要的時(shí)間。UARTerror=(tUPCLK–tUEXACT)/tUEXACTx100%異步串行口的相關(guān)寄存器?線路控制寄存器(ULCON)11線性控制寄存器,主要用來(lái)規(guī)定傳輸幀的格式。下面表格是線控制寄存器的地址和位定義:寄存器地址讀/寫(xiě)描述重置值ULCON00x50000000讀/寫(xiě)UART通道0線路控制寄存器0x00ULC

8、ON10x50004000讀/寫(xiě)UART通道1線路控制寄存器0x00ULCON20x50008000讀/寫(xiě)U

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。