第04章-3、UART_第1頁
第04章-3、UART_第2頁
第04章-3、UART_第3頁
第04章-3、UART_第4頁
第04章-3、UART_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、LOGO第四章 LPC1700系列處理器基本接口技術4.4 UART串口通信串口功能概述RS-232-C接口(又稱 EIA RS-232-C)是目前最常用的一種串行通訊接口。它是在1970年由美國電子工業(yè)協(xié)會(EIA)聯(lián)合貝爾系統(tǒng)、 調制解調器廠家及計算機終端生產(chǎn)廠家共同制定的用于串行通訊的標 準。(1)接口的信號內容: 實際上RS-232-C的25條引線中有許多是很少使用的,在計算機與終端通訊中一般只使用3-9條引線。(2)接口的電氣特性: 在RS-232-C中任何一條信號線的電壓均為負邏輯關系。即:邏 輯“1”,-5 -15V;邏輯“0” +5 +15V 。噪聲容限為2V。即 要求接收器能

2、識別低至+3V的信號作為邏輯“0”,高到-3V的信號 作為邏輯“1” (3) 接口的物理結構: 一般采用DB-9的9芯插頭座,傳輸線采用屏蔽雙絞線。 (4)傳輸電纜長度: 在碼元畸變小于4%的情況下,傳輸電纜長度應為50英尺,在實際應用中,約有99%的用戶是按碼元畸變10-20%的范圍工作的,所以實際使用中最大距離會遠超過50英尺串口功能概述DB9 Male (Pin Side) - 1 2 3 4 5 / 6 7 8 9 / - 信號 DB-25 DB-9 公共地 7 5發(fā)送數(shù)據(jù)(TD) 2 3*接受數(shù)據(jù)(RD) 3 2*數(shù)據(jù)終端準備(DTR) 20 4數(shù)據(jù)準備好(DSR) 6 6請求發(fā)送(

3、RTS) 4 7清除發(fā)送(CTS) 5 8數(shù)據(jù)載波檢測(DCD) 8 1振鈴指示(RI) 22 9串口功能概述 異步通信的特點是:一個字符一個字符地傳輸,每個字符一位一位地傳輸,并且傳輸一個字符時,總是以“起始位”開始,以“停止位”結束,字符之間沒有固定的時間間隔要求。每一個字符的前面都有一位起始位(低電平,邏輯值),字符本身由5-7位數(shù)據(jù)位組成,接著字符后面是一位校驗位(也可以沒有校驗位),最后是一位或一位半或二位停止位,停止位后面是不定長的空閑位。停止位和空閑位都規(guī)定為高電平(邏輯值),這樣就保證起始位開始處一定有一個下跳沿。 串口功能概述概述LPC1700處理器芯片具有4個符合符合550

4、工業(yè)標準的異步串行口(UART)UART0、UART1、UART2和UART3。其中UART0、2、3除外設基地址不同以外功能是相同的,而UART1除了具有其他三個普通串口的功能外還具有一個額外的MODEM接口。特性每個UART具有獨立的16字節(jié)收發(fā)FIFO;寄存器位置符合550工業(yè)標準;接收器FIFO觸發(fā)點可為1, 4, 8和14字節(jié);內置波特率發(fā)生器;包含實現(xiàn)軟件流控制的機制;UART3包含了一個支持紅外通信的IrDA模式。 UART的結構APB接口提供CPU或主機與UART之間的通信連接。UARTn波特率發(fā)生器模塊UnBRG產(chǎn)生UARTn發(fā)送模塊所需的時序。UARTn接收器模塊UnRX監(jiān)

5、視串行輸入線RXDn的有效輸入。UARTn接收移位寄存器(UxRSR)通過RXDn接收有效字符。 UARTn發(fā)送器模塊UnTX接收CPU或主機寫入的數(shù)據(jù)并將數(shù)據(jù)緩存到UARTn發(fā)送保持寄存器FIFO(UnTHR)中。 中斷接口包含寄存器UnIER和UnIIR。 UnTX和UnRX的狀態(tài)信息保存在UnLSR中。UnTX和UnRX的控制信息保存在UnLCR中 寄存器功能描述為了節(jié)省地址空間,在UART中有的寄存器擁有相同的地址,通過讀、寫操作來分別操作。如RBR與THR;IIR與FCR寄存器等。訪問分頻鎖存寄存器DLLDLM必須有效DLAB位(即置1),該位如果置0則訪問另外的寄存器。寄存器功能描

6、述UART接收緩沖寄存器UnRBRUnRBR是UART接收FIFO的頂部字節(jié)。它包含了最早接收到的字符,可通過總線接口讀出。LSB(bit0)代表最早接收到的數(shù)據(jù)位。如果接收到的字符小于8位,未使用的高位填充為0。如果要訪問UnRBR,UnLCR的分頻鎖存訪問位(DLAB)必須為0。UnRBR為只讀寄存器。由于PE、FE和BI位與RBR的FIFO頂端字節(jié)相對應(即下次讀RBR時讀出的字節(jié)) ,因此,將接收的字節(jié)及其狀態(tài)位成對讀出的正確方法是先讀U0LSR,再讀U0RBR。 UART發(fā)送保持寄存器UnTHR UnTHR是UART發(fā)送FIFO的頂部字節(jié),它包含了發(fā)送FIFO中最新的字符,可通過總線

7、接口寫入。LSB代表最先發(fā)送的位。 如果要訪問UnTHR,UnLCR的分頻鎖存訪問位(DLAB)必須為 0。U0THR為只寫寄存器。 UART分頻鎖存低位寄存器與高位寄存器除數(shù)鎖存是波特率發(fā)生器的一部分,它保存了用于產(chǎn)生波特率時鐘的APB時鐘PCLK分頻值,波特率時鐘必須是波特率的16倍. UnDLL和UnDLM寄存器一起構成一個16位除數(shù),UnDLL包含除數(shù)的低8位,UnDLM包含除數(shù)的高8位。值0 x0000被看作是0 x0001,因為除數(shù)是不允許為0的。當訪問UART分頻鎖存寄存器時,分頻鎖存訪問位(DLAB)必須為1。 UART中斷使能寄存器UnIER UART中斷標志寄存器UnIIR

8、UxIIR提供狀態(tài)代碼用于指示一個掛起中斷的中斷源和優(yōu)先級。在訪問UxIIR過程中,中斷被凍結。如果在訪問UxIIR時產(chǎn)生了中斷,該中斷被記錄,下次UxIIR訪問可讀出。 UART的中斷處理UART FIFO控制寄存器UnFCR UART線控制寄存器UnLCRUART線狀態(tài)寄存器UnLSR UART自動波特率控制寄存器UnACR UART的自動波特率控制寄存器用于控制輸入時鐘/數(shù)據(jù)率的測量過程。測量結果供波特率發(fā)送模塊使用,并且用戶可以對該寄存器讀寫。UART基本操作基本操作方法 :設置I/O連接到UARTn;設置串口波特率(UnDLM、UnDLL);設置串口工作模式(UnLCR、UnFCR );發(fā)送或接收數(shù)據(jù)(UnTHR、UnRBR);檢查串口狀態(tài)字(UnLSR)或者等待串口中斷(UnIIR)。應用舉例查詢方式UART0初始化函數(shù)UART0_Init() 字節(jié)發(fā)送函數(shù)UART0_SendByte() 使用查詢方式進行串口數(shù)據(jù)傳輸用戶程序主要通過讀取U0LSR線狀態(tài)寄存器,讀出的對應位是否置位來判斷操作是否完成。 字節(jié)接收函數(shù)UART0_GetChar() 中斷方式用中斷方式使用串口更符合實際應用要求。當串口有接收發(fā)送操作完成或者操作錯誤時產(chǎn)生中斷,CPU被中斷后中斷服務程序根據(jù)UnIIR中斷標志寄存器的標

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論