第5章 ARM接口設(shè)計(jì)技術(shù)_第1頁(yè)
第5章 ARM接口設(shè)計(jì)技術(shù)_第2頁(yè)
第5章 ARM接口設(shè)計(jì)技術(shù)_第3頁(yè)
第5章 ARM接口設(shè)計(jì)技術(shù)_第4頁(yè)
第5章 ARM接口設(shè)計(jì)技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩110頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第五章第五章 ARMARM接口設(shè)計(jì)技術(shù)接口設(shè)計(jì)技術(shù)2內(nèi)容提要內(nèi)容提要A/D和和D/A轉(zhuǎn)換器接口轉(zhuǎn)換器接口通訊與中斷接口通訊與中斷接口LCD顯示器與觸摸屏接口(了解)顯示器與觸摸屏接口(了解)LED顯示器顯示器鍵盤(pán)接口鍵盤(pán)接口ARM的的JTAG接口接口3芯片芯片S3C44B0XS3C44B0X S3C44B0X S3C44B0X是基于是基于ARM7TDMIARM7TDMI的體系結(jié)構(gòu)的體系結(jié)構(gòu), ,是是ARMARM公公司最早為業(yè)界普遍認(rèn)可并且贏得最廣泛應(yīng)用的司最早為業(yè)界普遍認(rèn)可并且贏得最廣泛應(yīng)用的處理核。處理核。4基于ARM架構(gòu)的32位微處理器Sam sung S3C44B0XLCD顯示USB接口

2、 USBN9603兩個(gè)RS-232串行通信接口JTAG調(diào)試端口TCP/IP協(xié)議CAN BUS鍵盤(pán)輸入16MB非線性Flash(硬盤(pán))8MBSDRM(系統(tǒng)內(nèi)存)1MB線性Flash(BIOS)lS3C44B0XS3C44B0X具有具有7171個(gè)通用多功能輸入輸出引腳,個(gè)通用多功能輸入輸出引腳,l這些這些I/OI/O口的應(yīng)用是口的應(yīng)用是S3C44BOXS3C44BOX處理器的基礎(chǔ)應(yīng)用,處理器的基礎(chǔ)應(yīng)用,分別包含在如下分別包含在如下7 7組端口中組端口中: :56內(nèi)容提要內(nèi)容提要A/D和和D/A轉(zhuǎn)換器接口轉(zhuǎn)換器接口通訊與中斷接口通訊與中斷接口LCD顯示器與觸摸屏接口(了解)顯示器與觸摸屏接口(了解)

3、LED顯示器顯示器鍵盤(pán)接口鍵盤(pán)接口ARM的的JTAG接口接口鍵盤(pán)接口鍵盤(pán)接口 計(jì)算機(jī)的鍵實(shí)際上就是開(kāi)關(guān),制造這種鍵的方計(jì)算機(jī)的鍵實(shí)際上就是開(kāi)關(guān),制造這種鍵的方法是多種多樣的,以下是幾種常用的按鍵法是多種多樣的,以下是幾種常用的按鍵:機(jī)械式按鍵機(jī)械式按鍵 電容式按鍵電容式按鍵 薄膜式按鍵薄膜式按鍵 霍耳效應(yīng)按鍵霍耳效應(yīng)按鍵 7用用ARMARM芯片實(shí)現(xiàn)鍵盤(pán)接口芯片實(shí)現(xiàn)鍵盤(pán)接口l與與4X4的矩陣鍵盤(pán)接口,采用的矩陣鍵盤(pán)接口,采用 “行掃描法行掃描法”方法方法來(lái)檢測(cè)鍵盤(pán),只需要來(lái)檢測(cè)鍵盤(pán),只需要8根口線,根口線,l選取選取PF口作為檢測(cè)鍵盤(pán)用端口,口作為檢測(cè)鍵盤(pán)用端口,8PF0PF1PF2PF3S3C

4、44B0XPF4PF5PF6PF7+5V輸出掃描碼輸出掃描碼端口端口鍵值讀入口鍵值讀入口矩陣鍵盤(pán)按鍵的識(shí)別方法矩陣鍵盤(pán)按鍵的識(shí)別方法l識(shí)別鍵盤(pán)哪一行的鍵被按下:讓所有行線識(shí)別鍵盤(pán)哪一行的鍵被按下:讓所有行線均為低電平,檢查各列線電平是否為低,如均為低電平,檢查各列線電平是否為低,如果有列線為低,則說(shuō)明該列有鍵被按下,否果有列線為低,則說(shuō)明該列有鍵被按下,否則說(shuō)明無(wú)鍵被按下。則說(shuō)明無(wú)鍵被按下。l如果某列有鍵被按下,識(shí)別鍵盤(pán)哪一行的如果某列有鍵被按下,識(shí)別鍵盤(pán)哪一行的鍵被按下:逐行置低電平,并置其余各行為鍵被按下:逐行置低電平,并置其余各行為高電平,檢查各列線電平的變化,如果列電高電平,檢查各列線

5、電平的變化,如果列電平變?yōu)榈碗娖剑瑒t可確定此行此列交叉點(diǎn)處平變?yōu)榈碗娖?,則可確定此行此列交叉點(diǎn)處按鍵被按下。按鍵被按下。9行掃描法識(shí)別矩陣鍵盤(pán)按鍵行掃描法識(shí)別矩陣鍵盤(pán)按鍵10PF0PF1PF2PF3S3C44B0XPF4PF5PF6PF7+5V某一按鍵按下所有的行線為低電平逐行為低電平行掃描法獲取鍵值的程序設(shè)行掃描法獲取鍵值的程序設(shè)計(jì)計(jì)l寄存器設(shè)置寄存器設(shè)置 接口中利用了接口中利用了PFPF口的相關(guān)寄存器,口的相關(guān)寄存器,PFPF口的寄存器有口的寄存器有3 3個(gè)個(gè)PCONF ,PDATF(PFPCONF ,PDATF(PF口數(shù)據(jù)寄存器口數(shù)據(jù)寄存器 ) )和和PUPF(PUPF(口上拉口上拉電阻

6、寄存器電阻寄存器 ) )11PDATF位位描述描述PF8:08:0當(dāng)端口設(shè)定為輸入口時(shí),這個(gè)寄存器的相應(yīng)位就對(duì)應(yīng)著引腳的當(dāng)端口設(shè)定為輸入口時(shí),這個(gè)寄存器的相應(yīng)位就對(duì)應(yīng)著引腳的狀態(tài)狀態(tài);當(dāng)端口設(shè)定為輸出口時(shí),輸出引腳的狀態(tài)與該寄存器的當(dāng)端口設(shè)定為輸出口時(shí),輸出引腳的狀態(tài)與該寄存器的相應(yīng)位相同相應(yīng)位相同;當(dāng)端口設(shè)定為多功能口時(shí),當(dāng)端口設(shè)定為多功能口時(shí),PDATF中的內(nèi)容無(wú)效中的內(nèi)容無(wú)效PUPF位描述PF8:08:00:相應(yīng)位的上拉電阻使能1:相應(yīng)位的上拉電阻禁止寄存器設(shè)置寄存器設(shè)置l設(shè)置設(shè)置PCONFPCONF寄存器寄存器 設(shè)定設(shè)定PF0-3PF0-3為輸出口,為輸出口,PF4 - 7PF4 -

7、7為輸入口,在端為輸入口,在端口工作之前設(shè)置口工作之前設(shè)置 rPCONF rPCONF 000 000 000 00 000 000 000 00 01 01 01 01 B01 01 01 01 B PF4-7 PF4-7為輸入為輸入 PF0-3PF0-3為輸出為輸出12寄存器設(shè)置寄存器設(shè)置l設(shè)置設(shè)置PDATFPDATF寄存器寄存器PF0-3PF0-3作為輸出口輸出掃描碼時(shí),可采用語(yǔ)句作為輸出口輸出掃描碼時(shí),可采用語(yǔ)句: : rPDATF=Oxf0 /PF0-3 rPDATF=Oxf0 /PF0-3全寫(xiě)入全寫(xiě)入0 0PF4-7PF4-7作為輸入口讀入鍵值時(shí),采用語(yǔ)句作為輸入口讀入鍵值時(shí),采用

8、語(yǔ)句: : Keyval= Keyval=(rPDATF&0 xf0rPDATF&0 xf0)4;4;l設(shè)置設(shè)置PUPFPUPF寄存器寄存器設(shè)置內(nèi)部上拉電阻的語(yǔ)句為設(shè)置內(nèi)部上拉電阻的語(yǔ)句為: : rPUPF=0 x00; / rPUPF=0 x00; /使能使能PF0-7PF0-7的內(nèi)部上拉電阻的內(nèi)部上拉電阻13編寫(xiě)鍵盤(pán)掃描程序編寫(xiě)鍵盤(pán)掃描程序14開(kāi)始開(kāi)始初始化鍵值為初始化鍵值為-1PF0-3輸出全輸出全0PF4-7讀入為讀入為全全1?PF0-3輸出掃描碼輸出掃描碼PF4-7讀入為讀入為全全1?掃描碼指針移位掃描碼指針移位獲得行號(hào)和列號(hào),獲得行號(hào)和列號(hào),計(jì)算鍵值計(jì)算鍵值返回鍵值返回鍵值NYYN

9、15內(nèi)容提要內(nèi)容提要A/D和和D/A轉(zhuǎn)換器接口轉(zhuǎn)換器接口通訊與中斷接口通訊與中斷接口LCD顯示器與觸摸屏接口(了解)顯示器與觸摸屏接口(了解)LED顯示器顯示器鍵盤(pán)接口鍵盤(pán)接口ARM的的JTAG接口接口LEDLED顯示器接口概述顯示器接口概述lLED(Light Emitting Diode)常稱為七段發(fā)光二常稱為七段發(fā)光二極管極管,在專用的微型計(jì)算機(jī)系統(tǒng)中在專用的微型計(jì)算機(jī)系統(tǒng)中,特別是在嵌入特別是在嵌入式控制系統(tǒng)中式控制系統(tǒng)中, 應(yīng)用非常普遍應(yīng)用非常普遍l價(jià)格低廉、體積小、功耗低,而可靠性又很好價(jià)格低廉、體積小、功耗低,而可靠性又很好l從單板微型機(jī)、袖珍計(jì)算機(jī)到許多微型機(jī)控制從單板微型機(jī)、

10、袖珍計(jì)算機(jī)到許多微型機(jī)控制系統(tǒng)及數(shù)字化儀器都用系統(tǒng)及數(shù)字化儀器都用LED作為輸出顯示作為輸出顯示16LED LED 的工作原理的工作原理17l7 7個(gè)字段分別稱為個(gè)字段分別稱為a a、b b、c c、d d、e e、f f、g g段,有段,有時(shí)還有一個(gè)小數(shù)點(diǎn)段時(shí)還有一個(gè)小數(shù)點(diǎn)段DPDP。l通過(guò)通過(guò)7 7個(gè)發(fā)光段的不同組合,可以顯示個(gè)發(fā)光段的不同組合,可以顯示0 0到到9 9和和A A到到F F共共1616個(gè)字母數(shù)字個(gè)字母數(shù)字, , 從而實(shí)現(xiàn)十六進(jìn)制的顯從而實(shí)現(xiàn)十六進(jìn)制的顯示示l位控端口位控端口: :把陰(陽(yáng))極控制端接至一輸出端口把陰(陽(yáng))極控制端接至一輸出端口l段控端口段控端口: :把數(shù)據(jù)顯

11、示段接至一個(gè)輸出端口把數(shù)據(jù)顯示段接至一個(gè)輸出端口, ,輸輸出所顯示數(shù)字的出所顯示數(shù)字的7 7段代碼段代碼l譯碼:譯碼: 將一個(gè)將一個(gè)4 4位二進(jìn)制數(shù)位二進(jìn)制數(shù)( (可能為十六進(jìn)制數(shù)或可能為十六進(jìn)制數(shù)或BCDBCD碼碼) )譯為譯為L(zhǎng)EDLED的的7 7位顯示代碼。位顯示代碼。l采用兩種方法:采用兩種方法: 采用專用芯片采用專用芯片, ,實(shí)現(xiàn)對(duì)實(shí)現(xiàn)對(duì)BCDBCD碼的譯碼(碼的譯碼(74744747)軟件譯碼法:在軟件設(shè)計(jì)時(shí)軟件譯碼法:在軟件設(shè)計(jì)時(shí), ,將將0 0到到F F共共1616個(gè)數(shù)字個(gè)數(shù)字( (或或者者0 0到到9)9)對(duì)應(yīng)的顯示代碼組成一個(gè)表對(duì)應(yīng)的顯示代碼組成一個(gè)表18用用ARMARM芯

12、片實(shí)現(xiàn)芯片實(shí)現(xiàn)LEDLED顯示接口顯示接口19l接口電路接口電路7 7段數(shù)碼段數(shù)碼LEDLED編程編程l設(shè)置設(shè)置PCONFPCONF、PCONGPCONG寄存器寄存器rPCONFrPCONF 001 001 001 01 01 01 01 01 001 001 001 01 01 01 01 01 B B0 x125550 x12555;rPCONGrPCONG 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 B B0 x5555;0 x5555;l設(shè)置設(shè)置PUPFPUPF、PUPGPUPG寄存器寄存器rPUPF=0 x00; /rPUPF=0

13、x00; /使能使能PF0-7PF0-7的內(nèi)部上拉電阻的內(nèi)部上拉電阻rPUPG=0 x00; /rPUPG=0 x00; /使能使能PG0-7PG0-7的內(nèi)部上拉電阻的內(nèi)部上拉電阻20在端口工作之前在端口工作之前設(shè)置為輸出端口設(shè)置為輸出端口設(shè)置內(nèi)部上拉電設(shè)置內(nèi)部上拉電阻阻l流程圖流程圖21指向緩沖區(qū)首址指向緩沖區(qū)首址取顯示位指針取顯示位指針取要現(xiàn)實(shí)的數(shù)取要現(xiàn)實(shí)的數(shù)將數(shù)變?yōu)槎未a將數(shù)變?yōu)槎未a段碼送到段控制通道段碼送到段控制通道位碼送到位控制通道位碼送到位控制通道延遲一段時(shí)間延遲一段時(shí)間是否最后一位是否最后一位退出退出修改緩沖區(qū)指修改緩沖區(qū)指針和位碼針和位碼YNvoid DisplayLedl(un

14、signed char dis_8_num) unsigned char led_dis =0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92, 0 x82,0 xF8, 0 x80,0 x90,0 x88,0 x83,0 xC6,0 xA1,0 x86,0 x8E,0 x8C; unsigned char i, j, D_val , B_val ; rPCONF 0 x12555; rPCONG0 x5555; rPUPF=0 x00; B_val = 0 x80;220F及及小數(shù)位小數(shù)位段碼表段碼表將端口設(shè)置為將端口設(shè)置為輸出端口輸出端口使能使能PG和和PF內(nèi)內(nèi)部上拉電

15、阻部上拉電阻 for(i=0;i8;i+) D_val = dis_8_numi; rPDATF = led_disD_val; rPDATG = B_val; for(j=0;j 1; 23取出要在取出要在8個(gè)個(gè)LED數(shù)碼管上數(shù)碼管上顯示的字符顯示的字符延遲一段時(shí)間延遲一段時(shí)間串行通信概述串行通信概述 串行通信就是使數(shù)據(jù)一位一位地進(jìn)行傳輸而實(shí)串行通信就是使數(shù)據(jù)一位一位地進(jìn)行傳輸而實(shí)現(xiàn)的通信?,F(xiàn)的通信。 l串行數(shù)據(jù)傳送模式:串行數(shù)據(jù)傳送模式:?jiǎn)喂喂ぐ腚p工半雙工全雙工全雙工 24串行通信方式:串行通信方式:同步通信同步通信異步通信異步通信異步通信方式異步通信方式l異步式傳輸把每一個(gè)字符當(dāng)作獨(dú)立

16、的信息來(lái)傳送異步式傳輸把每一個(gè)字符當(dāng)作獨(dú)立的信息來(lái)傳送, , 并按照一固定且預(yù)定的時(shí)序傳送并按照一固定且預(yù)定的時(shí)序傳送, ,但在字符之但在字符之間卻取決于字符與字符的任意時(shí)序。間卻取決于字符與字符的任意時(shí)序。 l異步通信必須遵循的兩項(xiàng)規(guī)定為:異步通信必須遵循的兩項(xiàng)規(guī)定為:字符的格式字符的格式: : 每個(gè)字符傳送時(shí),必須前面加一起始位每個(gè)字符傳送時(shí),必須前面加一起始位,后面加上,后面加上1 1或或1.51.5或或2 2位停止位。要傳送字符以其最低位停止位。要傳送字符以其最低有效位有效位( (LSB)LSB)先送出的先送出的( (即即D D0 0) )波特率波特率 波特率就是傳送數(shù)據(jù)位的速率,用位

17、波特率就是傳送數(shù)據(jù)位的速率,用位/ /秒秒 ( bit/sbit/s)表示,稱之為波特。)表示,稱之為波特。25l要傳送要傳送8 8為位數(shù)據(jù)為位數(shù)據(jù) D D7 7 D D6 6 D D5 5 D D4 4 D D3 3 D D2 2 D D1 1 D D0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 0 1 126起始起始位位傳送傳送數(shù)據(jù)數(shù)據(jù)偶校驗(yàn)位偶校驗(yàn)位停止位停止位0 0 0 0 1 0 0 1 1 1 1同步通信方式同步通信方式l將許多的字符聚集成一字符塊后,在每塊信息將許多的字符聚集成一字符塊后,在每塊信息之前要加上之前要加上1 1至至2 2個(gè)同步字符,字符塊之后再加個(gè)同步

18、字符,字符塊之后再加入適當(dāng)?shù)腻e(cuò)誤檢測(cè)數(shù)據(jù)才傳送出去入適當(dāng)?shù)腻e(cuò)誤檢測(cè)數(shù)據(jù)才傳送出去采用同步通信時(shí),在傳輸線上沒(méi)有字符傳輸時(shí),要采用同步通信時(shí),在傳輸線上沒(méi)有字符傳輸時(shí),要發(fā)送專用的發(fā)送專用的“空閑空閑”字符或同步字符。字符或同步字符。同步方式不僅在字符的本身之間是同步的,而且在同步方式不僅在字符的本身之間是同步的,而且在字符與字符之間的時(shí)序仍然是同步的字符與字符之間的時(shí)序仍然是同步的 27RS-232CRS-232C串行接口串行接口EIAEIA所定的傳送電氣規(guī)格:所定的傳送電氣規(guī)格:狀態(tài)狀態(tài) “ “L L”(LowLow) “H H”(HightHight)電壓范圍電壓范圍 -25V-25V-3

19、V +3V-3V +3V+25V+25V邏輯邏輯 “1 1” “0 0”名稱名稱 SPACE MARKSPACE MARKl28lRS-232CRS-232C所用的驅(qū)動(dòng)芯片通常以正負(fù)所用的驅(qū)動(dòng)芯片通常以正負(fù)1212伏的電源伏的電源來(lái)驅(qū)動(dòng)信號(hào)線來(lái)驅(qū)動(dòng)信號(hào)線l微機(jī)系統(tǒng)以微機(jī)系統(tǒng)以+5V+5V代表邏輯代表邏輯“1 1”,而接地電壓代,而接地電壓代表邏輯表邏輯“0 0”l輸出經(jīng)輸出經(jīng)RS-232CRS-232C接口內(nèi)的運(yùn)算放大器改變?yōu)檎?fù)接口內(nèi)的運(yùn)算放大器改變?yōu)檎?fù)12V12V的振幅電壓的振幅電壓, ,再由電線傳送到接收端再由電線傳送到接收端l數(shù)據(jù)信號(hào)規(guī)定負(fù)邏輯數(shù)據(jù)信號(hào)規(guī)定負(fù)邏輯 12V-0V 12V

20、-0V 邏輯邏輯“0 0” -12V-5V -12V-5V 邏輯邏輯“1 1”29lTTLTTL標(biāo)準(zhǔn)與標(biāo)準(zhǔn)與RS-232CRS-232C標(biāo)準(zhǔn)之間的電平轉(zhuǎn)換電路利標(biāo)準(zhǔn)之間的電平轉(zhuǎn)換電路利用集成芯片用集成芯片RS232RS232實(shí)現(xiàn)。實(shí)現(xiàn)。30RS-232CRS-232C 接口信號(hào)接口信號(hào)RTSRTS(輸出)輸出):請(qǐng)求發(fā)送請(qǐng)求發(fā)送, ,在半雙工方式下控制發(fā)在半雙工方式下控制發(fā)送器的開(kāi)或關(guān)送器的開(kāi)或關(guān);CTSCTS(輸入)輸入):清除清除( (允許允許) )發(fā)送發(fā)送DSRDSR(輸入)輸入):數(shù)據(jù)裝置準(zhǔn)備好數(shù)據(jù)裝置準(zhǔn)備好DTRDTR(輸出)輸出): : 數(shù)據(jù)終端準(zhǔn)備好數(shù)據(jù)終端準(zhǔn)備好311CD 2R

21、xD 3TxD 4DTR5GNDDSR6 RTS7 CTS8 R19S3C44BOXS3C44BOX內(nèi)部集成的內(nèi)部集成的UART UART lS3C44B0X UARTS3C44B0X UART單元提供了兩個(gè)異步串口(單元提供了兩個(gè)異步串口(SIOSIO)每個(gè)每個(gè)SIOSIO可以操作在中斷模式或可以操作在中斷模式或DMADMA模式模式支持波特率最大為支持波特率最大為115.2115.2kbps,kbps,每個(gè)每個(gè)SIOSIO通道都有一個(gè)通道都有一個(gè)1616字節(jié)的接收與發(fā)送字節(jié)的接收與發(fā)送FIFOFIFO緩沖區(qū)緩沖區(qū)l每個(gè)每個(gè)UARTUART模塊包含以下幾個(gè)部件:波特率發(fā)生器模塊包含以下幾個(gè)部件

22、:波特率發(fā)生器,發(fā)送器,接收器和控制單元。如圖:,發(fā)送器,接收器和控制單元。如圖:3233URTURT操作操作數(shù)據(jù)發(fā)送數(shù)據(jù)發(fā)送l數(shù)據(jù)發(fā)送的幀格式是可編程的。通過(guò)線控制寄數(shù)據(jù)發(fā)送的幀格式是可編程的。通過(guò)線控制寄存器存器(UCONn)(UCONn)來(lái)設(shè)置來(lái)設(shè)置l發(fā)送中止條件迫使串口輸出保持在邏輯發(fā)送中止條件迫使串口輸出保持在邏輯0 0狀態(tài),狀態(tài),并保持超過(guò)一個(gè)傳輸幀的時(shí)間長(zhǎng)度。并保持超過(guò)一個(gè)傳輸幀的時(shí)間長(zhǎng)度。l中止信號(hào)發(fā)送之后,傳送數(shù)據(jù)將持續(xù)地放入到中止信號(hào)發(fā)送之后,傳送數(shù)據(jù)將持續(xù)地放入到輸出輸出FIFOFIFO中(在不使用中(在不使用FIFOFIFO模式下,將被放到模式下,將被放到輸出保持寄存器

23、)。輸出保持寄存器)。34起始位起始位5到到8個(gè)數(shù)據(jù)位個(gè)數(shù)據(jù)位可選的奇偶位可選的奇偶位1到到2個(gè)停止位個(gè)停止位URTURT操作操作數(shù)據(jù)接收數(shù)據(jù)接收l(shuí)數(shù)據(jù)接收的幀格式是可編程的數(shù)據(jù)接收的幀格式是可編程的l接收器可以檢測(cè)到溢出錯(cuò)誤、奇偶校驗(yàn)錯(cuò)誤、接收器可以檢測(cè)到溢出錯(cuò)誤、奇偶校驗(yàn)錯(cuò)誤、幀錯(cuò)誤和中止?fàn)顩r,每種情況下都會(huì)將一個(gè)錯(cuò)幀錯(cuò)誤和中止?fàn)顩r,每種情況下都會(huì)將一個(gè)錯(cuò)誤標(biāo)志置位誤標(biāo)志置位35URTURT操作操作自動(dòng)流控制自動(dòng)流控制(AFC)(AFC)lS3C44B0XS3C44B0X的的UARTUART UART UART: UART UART: 用用nRTS nRTS 和和nCTSnCTS信號(hào)進(jìn)行自

24、動(dòng)流控制信號(hào)進(jìn)行自動(dòng)流控制 UART MODEM: UART MODEM: 不支持自動(dòng)流控制,就應(yīng)該在不支持自動(dòng)流控制,就應(yīng)該在UMCONnUMCONn寄存器中禁止自動(dòng)流控制,由軟件控制寄存器中禁止自動(dòng)流控制,由軟件控制nRTSnRTS和和nCTSnCTS信號(hào)信號(hào)36l在自動(dòng)流控制時(shí),在自動(dòng)流控制時(shí),nRTSnRTS由接收條件控制,由接收條件控制,nCTSnCTS由發(fā)送條件控制由發(fā)送條件控制l發(fā)送時(shí)當(dāng)發(fā)送時(shí)當(dāng)nCTSnCTS信號(hào)有效時(shí),發(fā)送器傳輸數(shù)據(jù)到信號(hào)有效時(shí),發(fā)送器傳輸數(shù)據(jù)到FIFOFIFO中中l(wèi)在接收數(shù)據(jù)時(shí),當(dāng)在接收數(shù)據(jù)時(shí),當(dāng)FIFOFIFO有多于兩個(gè)字節(jié)的空間有多于兩個(gè)字節(jié)的空間時(shí),時(shí)

25、,nRTSnRTS激活激活,FIFO,FIFO剩余空間在一個(gè)字節(jié)以下時(shí)剩余空間在一個(gè)字節(jié)以下時(shí)必須將必須將nRTSnRTS清清0 0,說(shuō)明,說(shuō)明“不能在接收不能在接收”37URTURT操作操作非自動(dòng)流控制非自動(dòng)流控制l接收操作接收操作選擇接收模式(中斷或選擇接收模式(中斷或BDMABDMA模式)模式)( (UCONn)UCONn)。檢查檢查UFSTATnUFSTATn寄存器中接收寄存器中接收FIFOFIFO計(jì)數(shù)器的值。如計(jì)數(shù)器的值。如果值小于果值小于15,15,用戶必須設(shè)置用戶必須設(shè)置UMCONn0UMCONn0的值為的值為1( 1(激活激活nRTS)nRTS); 如果它等于或大于如果它等于或

26、大于15,15,用戶必須設(shè)置該位值為用戶必須設(shè)置該位值為0 0(不(不激活激活nRTSnRTS)。)。重復(fù)第步重復(fù)第步38URTURT操作操作非自動(dòng)流控制非自動(dòng)流控制l發(fā)送操作發(fā)送操作選擇發(fā)送模式(中斷或選擇發(fā)送模式(中斷或BDMABDMA模式)模式)檢查檢查UMSTATn0UMSTATn0的值,如果為的值,如果為1( 1(nCTSnCTS被激活被激活) ),用,用戶就可以寫(xiě)數(shù)據(jù)到輸出緩沖區(qū)或輸出戶就可以寫(xiě)數(shù)據(jù)到輸出緩沖區(qū)或輸出FIFOFIFO寄存器中寄存器中39中斷中斷DMADMA請(qǐng)求產(chǎn)生器請(qǐng)求產(chǎn)生器lS3C44BOXS3C44BOX的每個(gè)的每個(gè)UARTUART都有都有7 7個(gè)狀態(tài)信號(hào):個(gè)狀

27、態(tài)信號(hào): 接收接收FIFO/FIFO/緩沖區(qū)數(shù)據(jù)準(zhǔn)備好緩沖區(qū)數(shù)據(jù)準(zhǔn)備好 發(fā)送發(fā)送FIFOFIFO緩沖區(qū)空緩沖區(qū)空 發(fā)送移位寄存器空發(fā)送移位寄存器空 溢出錯(cuò)誤溢出錯(cuò)誤 奇偶校驗(yàn)錯(cuò)誤奇偶校驗(yàn)錯(cuò)誤 幀錯(cuò)誤和中止幀錯(cuò)誤和中止l所有這些狀態(tài)都由對(duì)應(yīng)的所有這些狀態(tài)都由對(duì)應(yīng)的UARTUART狀態(tài)寄存器狀態(tài)寄存器(UTRSTATn/UERSTATn)(UTRSTATn/UERSTATn)中的相應(yīng)位來(lái)表現(xiàn)中的相應(yīng)位來(lái)表現(xiàn)。40l當(dāng)接收器要將接收移位寄存器的數(shù)據(jù)送到接收當(dāng)接收器要將接收移位寄存器的數(shù)據(jù)送到接收FIFO,FIFO,它會(huì)激活接收它會(huì)激活接收FIFOFIFO滿狀態(tài)信號(hào)滿狀態(tài)信號(hào)l當(dāng)發(fā)送器從發(fā)送當(dāng)發(fā)送器從

28、發(fā)送FIFOFIFO中取出數(shù)據(jù)送到發(fā)送移位中取出數(shù)據(jù)送到發(fā)送移位寄存器,那么寄存器,那么FIFOFIFO空狀態(tài)信號(hào)將會(huì)被激活空狀態(tài)信號(hào)將會(huì)被激活l如果如果控制寄存器中的接收模式選為中斷模式,就會(huì)引發(fā)控制寄存器中的接收模式選為中斷模式,就會(huì)引發(fā)接收中斷。接收中斷。如果接收發(fā)送模式被選為如果接收發(fā)送模式被選為DMADMA模式,模式,“接收接收FIFOFIFO滿滿”和和“發(fā)送發(fā)送FIFOFIFO空空”狀態(tài)信號(hào)同樣可以產(chǎn)生狀態(tài)信號(hào)同樣可以產(chǎn)生DMADMA請(qǐng)求請(qǐng)求信號(hào)。信號(hào)。 41l溢出錯(cuò)誤、奇偶校驗(yàn)錯(cuò)誤、幀錯(cuò)誤和中止?fàn)顩r溢出錯(cuò)誤、奇偶校驗(yàn)錯(cuò)誤、幀錯(cuò)誤和中止?fàn)顩r都被認(rèn)為是接收錯(cuò)誤狀態(tài),如果都被認(rèn)為是接收

29、錯(cuò)誤狀態(tài),如果UCONnUCONn中的中的“接接收錯(cuò)誤狀態(tài)中斷使能位收錯(cuò)誤狀態(tài)中斷使能位”被置位,它們中的每被置位,它們中的每一個(gè)都能夠引發(fā)接收錯(cuò)誤中斷請(qǐng)求。一個(gè)都能夠引發(fā)接收錯(cuò)誤中斷請(qǐng)求。l當(dāng)當(dāng)“接收錯(cuò)誤狀態(tài)中斷請(qǐng)求接收錯(cuò)誤狀態(tài)中斷請(qǐng)求”被檢測(cè)到,引發(fā)被檢測(cè)到,引發(fā)請(qǐng)求的信號(hào)可以通過(guò)讀取請(qǐng)求的信號(hào)可以通過(guò)讀取UERSTATnUERSTATn來(lái)識(shí)別。來(lái)識(shí)別。 42與與FIFOFIFO有關(guān)的中斷有關(guān)的中斷43類型類型FIFOFIFO模式模式非非FIFOFIFO模式模式RxRx中斷中斷每當(dāng)接收數(shù)據(jù)達(dá)到接收每當(dāng)接收數(shù)據(jù)達(dá)到接收FIFOFIFO觸發(fā)電平,觸發(fā)電平,就產(chǎn)生接收中斷;如果就產(chǎn)生接收中斷;如

30、果FIFOFIFO非空且連非空且連續(xù)續(xù)3 3個(gè)字時(shí)間沒(méi)有接收到任何數(shù)據(jù),個(gè)字時(shí)間沒(méi)有接收到任何數(shù)據(jù),就產(chǎn)生超時(shí)中斷;就產(chǎn)生超時(shí)中斷;每當(dāng)接收數(shù)據(jù)滿,接每當(dāng)接收數(shù)據(jù)滿,接收移位寄存器將產(chǎn)生收移位寄存器將產(chǎn)生一個(gè)中斷;一個(gè)中斷;TxTx中斷中斷每當(dāng)發(fā)送數(shù)據(jù)達(dá)到發(fā)送每當(dāng)發(fā)送數(shù)據(jù)達(dá)到發(fā)送FIFOFIFO觸發(fā)電平,觸發(fā)電平,就產(chǎn)生發(fā)送中斷就產(chǎn)生發(fā)送中斷;每當(dāng)發(fā)送數(shù)據(jù)空,發(fā)每當(dāng)發(fā)送數(shù)據(jù)空,發(fā)送保持寄存器將產(chǎn)生送保持寄存器將產(chǎn)生一個(gè)中斷;一個(gè)中斷;錯(cuò)誤中錯(cuò)誤中斷斷幀錯(cuò)誤、奇偶校驗(yàn)錯(cuò)誤和被檢測(cè)到并幀錯(cuò)誤、奇偶校驗(yàn)錯(cuò)誤和被檢測(cè)到并按字節(jié)接收的中止信號(hào),都將產(chǎn)生錯(cuò)按字節(jié)接收的中止信號(hào),都將產(chǎn)生錯(cuò)誤中斷;當(dāng)達(dá)到接收

31、誤中斷;當(dāng)達(dá)到接收FIFOFIFO的頂部,就的頂部,就會(huì)產(chǎn)生溢出錯(cuò)誤中斷;會(huì)產(chǎn)生溢出錯(cuò)誤中斷;所有錯(cuò)誤都會(huì)立即產(chǎn)所有錯(cuò)誤都會(huì)立即產(chǎn)生一個(gè)錯(cuò)誤中斷。但生一個(gè)錯(cuò)誤中斷。但兩個(gè)錯(cuò)誤同時(shí)發(fā)生,兩個(gè)錯(cuò)誤同時(shí)發(fā)生,只有一個(gè)中斷會(huì)產(chǎn)生;只有一個(gè)中斷會(huì)產(chǎn)生;UARTUART錯(cuò)誤狀態(tài)錯(cuò)誤狀態(tài)FIFOFIFOlUARTUART具有一個(gè)狀態(tài)具有一個(gè)狀態(tài)FIFO,FIFO,表示了在表示了在FIFOFIFO寄存器中寄存器中,哪一個(gè)數(shù)據(jù)被毫無(wú)錯(cuò)誤地接收,哪一個(gè)數(shù)據(jù)被毫無(wú)錯(cuò)誤地接收44雖然雖然UARTUART錯(cuò)誤發(fā)生錯(cuò)誤發(fā)生了,但錯(cuò)誤中斷不了,但錯(cuò)誤中斷不會(huì)產(chǎn)生,因?yàn)楹袝?huì)產(chǎn)生,因?yàn)楹绣e(cuò)誤的字符還沒(méi)有錯(cuò)誤的字符還沒(méi)有被被

32、CPUCPU讀取。只有當(dāng)讀取。只有當(dāng)字符被讀出時(shí)錯(cuò)誤字符被讀出時(shí)錯(cuò)誤中斷才會(huì)發(fā)生中斷才會(huì)發(fā)生, ,如圖:如圖:波特率發(fā)生器波特率發(fā)生器l為傳輸提供了串行移位時(shí)鐘為傳輸提供了串行移位時(shí)鐘l波特率發(fā)生器的時(shí)鐘源可以通過(guò)波特率發(fā)生器的時(shí)鐘源可以通過(guò)S3C44BOXS3C44BOX的內(nèi)的內(nèi)部系統(tǒng)時(shí)鐘來(lái)選擇。部系統(tǒng)時(shí)鐘來(lái)選擇。l波特率時(shí)鐘由通過(guò)時(shí)鐘源的波特率時(shí)鐘由通過(guò)時(shí)鐘源的1616分頻及一個(gè)由分頻及一個(gè)由UARTUART波特率除數(shù)寄存器波特率除數(shù)寄存器(UBRDIVn)(UBRDIVn)指定的指定的1616位除位除數(shù)決定。數(shù)決定。45lUBRDIVnUBRDIVn的值可以按照下式確定為:的值可以按照下

33、式確定為: UBRDIVn UBRDIVn( (取整取整)(MCLK/()(MCLK/(波特率波特率16)-116)-1l除數(shù)的范圍為除數(shù)的范圍為1 1到到(2(21616-1)-1)l例如例如 如果波特率為如果波特率為115 200 bps,115 200 bps,且系統(tǒng)主頻且系統(tǒng)主頻(MCLK)(MCLK)為為40 MHz40 MHz,則,則UBRDIVnUBRDIVn的值為:的值為:UBRDIVn =(UBRDIVn =(取整取整)(40 000 000/(115 200)(40 000 000/(115 20016) 16) +0.5)-1+0.5)-122-1 = 2122-1 =

34、2146回送模式回送模式l回送模式回送模式: S3C44BOX: S3C44BOX的的UARTUART提供的一個(gè)測(cè)試模式提供的一個(gè)測(cè)試模式在這種模式下,發(fā)送出的數(shù)據(jù)會(huì)立即被接收。在這種模式下,發(fā)送出的數(shù)據(jù)會(huì)立即被接收。這一特性用于校驗(yàn)運(yùn)行處理器內(nèi)部發(fā)送和接收通道的這一特性用于校驗(yàn)運(yùn)行處理器內(nèi)部發(fā)送和接收通道的功能功能可以通過(guò)設(shè)置可以通過(guò)設(shè)置UARTUART控制寄存器控制寄存器(UCONn)(UCONn)中的回送位來(lái)實(shí)中的回送位來(lái)實(shí)現(xiàn)?,F(xiàn)。47紅外通信模式紅外通信模式lS3C44BOXS3C44BOX的的UARTUART模塊支持紅外線(模塊支持紅外線(IR)IR)發(fā)送和接發(fā)送和接收收l(shuí)可以通過(guò)設(shè)

35、置可以通過(guò)設(shè)置UARTUART線控制寄存器線控制寄存器(ULCONn)(ULCONn)中的中的紅外模式位來(lái)選擇這一模式紅外模式位來(lái)選擇這一模式l在在IRIR發(fā)送模式下,發(fā)送階段是通過(guò)正常串行發(fā)發(fā)送模式下,發(fā)送階段是通過(guò)正常串行發(fā)送占空比送占空比3/163/16的脈沖波進(jìn)行調(diào)制(當(dāng)傳送的數(shù)的脈沖波進(jìn)行調(diào)制(當(dāng)傳送的數(shù)據(jù)位為據(jù)位為0 0值)值)l在在IRIR接收模式下,接收必須通過(guò)檢測(cè)接收模式下,接收必須通過(guò)檢測(cè) 3/163/16脈沖脈沖波來(lái)識(shí)別波來(lái)識(shí)別0 0值值48UARTUART寄存器寄存器lUARTUART線控制寄存器線控制寄存器lUARTUART控制寄存器控制寄存器lFIFOFIFO控制寄

36、存器控制寄存器 lModemModem控制寄存器控制寄存器l發(fā)送發(fā)送/ /接收狀態(tài)寄存器接收狀態(tài)寄存器49lUARTUART錯(cuò)誤狀態(tài)寄存器錯(cuò)誤狀態(tài)寄存器lUARTUART的的FIFOFIFO狀態(tài)寄存器狀態(tài)寄存器lModemModem狀態(tài)寄存器狀態(tài)寄存器lUARTUART發(fā)送發(fā)送/ /接收保持寄接收保持寄存器存器lUARTUART波特率除數(shù)寄存器波特率除數(shù)寄存器UARTUART寄存器寄存器線控制寄存器線控制寄存器l作用是用來(lái)規(guī)定傳輸幀的格式作用是用來(lái)規(guī)定傳輸幀的格式l線控制寄存器線控制寄存器0 0(ULCON0ULCON0)、線控制寄存器)、線控制寄存器1(ULCON1)1(ULCON1)的地址

37、分別為的地址分別為0 x01D000000 x01D00000、0 x01D040000 x01D04000l可讀寫(xiě),可讀寫(xiě), 初始值為初始值為0 x000 x00。50l線控制寄存器的位定義線控制寄存器的位定義51ULCONnULCONn位位描述描述初始初始值值保留保留770 0紅外線模紅外線模式式66該位確定是否使用紅外通信模式該位確定是否使用紅外通信模式0 0:正常模式:正常模式 1 1:紅外收發(fā)模式:紅外收發(fā)模式0 0奇偶校驗(yàn)奇偶校驗(yàn)?zāi)J侥J?5:33 該位確定奇偶如何產(chǎn)生和校驗(yàn)該位確定奇偶如何產(chǎn)生和校驗(yàn)0 0 xx:xx:無(wú)校驗(yàn)位無(wú)校驗(yàn)位 100 100:奇校驗(yàn):奇校驗(yàn) 101 10

38、1:偶校驗(yàn):偶校驗(yàn) 110110:校驗(yàn)位強(qiáng)制:校驗(yàn)位強(qiáng)制/ /檢測(cè)置檢測(cè)置1 1111 111:校驗(yàn)位:校驗(yàn)位強(qiáng)制強(qiáng)制/ /檢測(cè)置檢測(cè)置0 0000000停止位的停止位的數(shù)量數(shù)量22該位確定停止位的個(gè)數(shù),該位確定停止位的個(gè)數(shù),0 0:1 1位停止位位停止位 1 1:2 2位停止位位停止位0 0數(shù)據(jù)位長(zhǎng)數(shù)據(jù)位長(zhǎng)度度11:00該位確定數(shù)據(jù)位的個(gè)數(shù)該位確定數(shù)據(jù)位的個(gè)數(shù)0000:5 5位位 01 01:6 6位位 10 10:7 7位位 11 11:8 8位位0000UARTUART控制寄存器控制寄存器lUCON0、UCON1的地址分別為的地址分別為0 x01D00004、0 x01D04004l可讀

39、寫(xiě),可讀寫(xiě), 初始值為初始值為0 x00lUARTUART控制寄存器各位的含義見(jiàn)課本表控制寄存器各位的含義見(jiàn)課本表5-245-2452FIFOFIFO控制寄存器控制寄存器 lUFCON0UFCON0、UFCON1UFCON1的地址分別為的地址分別為0 x01D000080 x01D00008、0 x01D040080 x01D04008,可讀寫(xiě),可讀寫(xiě), 初始值為初始值為0 x000 x0053UFCONnUFCONn位描述初始值發(fā)送發(fā)送FIFOFIFO的觸發(fā)電的觸發(fā)電平平7:6這兩位確定發(fā)送這兩位確定發(fā)送FIFOFIFO的觸發(fā)條件的觸發(fā)條件 00 00:空空 ; 01 01:4 4字節(jié)字節(jié)

40、10 10 :8 8字節(jié)字節(jié) 11 11 :1212字節(jié)字節(jié)00接收接收FIFOFIFO的的觸發(fā)電平觸發(fā)電平5:4這兩位確定接收這兩位確定接收FIFOFIFO的觸發(fā)條件的觸發(fā)條件 00 00 :4 4字節(jié);字節(jié);0101:8 8字節(jié)字節(jié) 10 10: 12 12字節(jié)字節(jié) 11 11:1616字節(jié)字節(jié)00保留保留30發(fā)送發(fā)送FIFOFIFO復(fù)復(fù)位位2該位在該位在FIFOFIFO復(fù)位后自動(dòng)清除復(fù)位后自動(dòng)清除 0 0 :正常:正常 1 1:發(fā)送:發(fā)送FIFOFIFO復(fù)位復(fù)位0接收接收FIFOFIFO復(fù)復(fù)位位1該位在該位在FIFOFIFO復(fù)位后自動(dòng)清除復(fù)位后自動(dòng)清除 0 0 :正常:正常 1 1:接收

41、:接收FIFOFIFO復(fù)位復(fù)位0FIFOFIFO使能使能00 0 :禁止:禁止 FIFO 1 FIFO 1 :FIFO FIFO 使能使能0ModemModem控制寄存器控制寄存器54UMCONnUMCONn位位描述描述初始初始值值保留保留77:55這這3 3位必須為位必須為 0 0000000自動(dòng)流控自動(dòng)流控制制4 4AFCAFC是否允許是否允許0 0 :禁止:禁止 1 1 :使能:使能0 0保留保留33:11這這3 3位必須為位必須為 0 0000000請(qǐng)求發(fā)送請(qǐng)求發(fā)送0如果如果AFCAFC允許允許, ,該位忽略;如果該位忽略;如果AFCAFC禁止,必須由軟件來(lái)控制禁止,必須由軟件來(lái)控制n

42、RTSnRTS。0 0 : 高電平(不激活高電平(不激活 nRTSnRTS) 1 1 : 低電平(激活低電平(激活 nRTSnRTS)0 0發(fā)送發(fā)送/ /接收狀態(tài)寄存器接收狀態(tài)寄存器55UTRSTATnUTRSTATn位位描述描述初始狀態(tài)初始狀態(tài)發(fā)送移位發(fā)送移位寄存器為寄存器為空空22當(dāng)發(fā)送移位寄存器中不包含有效數(shù)據(jù)或移位寄存當(dāng)發(fā)送移位寄存器中不包含有效數(shù)據(jù)或移位寄存器為空,該位自動(dòng)被置位。器為空,該位自動(dòng)被置位。0 0:非空:非空1 1:發(fā)送保持和移位寄存器為空:發(fā)送保持和移位寄存器為空1 1發(fā)送緩沖發(fā)送緩沖器為空器為空11當(dāng)發(fā)送緩沖區(qū)寄存器中不包含有效數(shù)據(jù),這一位當(dāng)發(fā)送緩沖區(qū)寄存器中不包含

43、有效數(shù)據(jù),這一位將自動(dòng)被置位將自動(dòng)被置位 0 0:緩沖區(qū)寄存器非空:緩沖區(qū)寄存器非空 1 1:空:空如果使用了如果使用了FIFO,FIFO,則用戶不用檢測(cè)這個(gè)位,而應(yīng)則用戶不用檢測(cè)這個(gè)位,而應(yīng)當(dāng)檢測(cè)當(dāng)檢測(cè)UFSTATUFSTAT中發(fā)送中發(fā)送FIFOFIFO計(jì)數(shù)器位和計(jì)數(shù)器位和FIFOFIFO滿位滿位1 1接收緩沖接收緩沖器數(shù)據(jù)準(zhǔn)器數(shù)據(jù)準(zhǔn)備好備好00當(dāng)接收緩沖器寄存器中包含了有效數(shù)據(jù),這一位當(dāng)接收緩沖器寄存器中包含了有效數(shù)據(jù),這一位將自動(dòng)被置位將自動(dòng)被置位0 0:完全為空:完全為空 1 1:緩沖區(qū)寄存器:緩沖區(qū)寄存器中包含有效數(shù)據(jù)中包含有效數(shù)據(jù)如果使用了如果使用了FIFOFIFO則用戶不用檢測(cè)這

44、個(gè)位,而應(yīng)當(dāng)則用戶不用檢測(cè)這個(gè)位,而應(yīng)當(dāng)檢測(cè)檢測(cè)UFSTATUFSTAT中接收中接收FIFOFIFO計(jì)數(shù)器位計(jì)數(shù)器位0 0UARTUART錯(cuò)誤狀態(tài)寄存器錯(cuò)誤狀態(tài)寄存器 56UERSTATnUERSTATn位位描述描述初始初始值值間隔中斷間隔中斷33如果接收到某個(gè)中止信號(hào),該位將自動(dòng)如果接收到某個(gè)中止信號(hào),該位將自動(dòng)置置1 1;0 0:未接收到中止信號(hào):未接收到中止信號(hào) 1 1:接收到:接收到中止信號(hào)中止信號(hào)0 0數(shù)據(jù)幀錯(cuò)誤數(shù)據(jù)幀錯(cuò)誤22如果在接收操作中發(fā)生了幀錯(cuò)誤,該位如果在接收操作中發(fā)生了幀錯(cuò)誤,該位將自動(dòng)置將自動(dòng)置1 1 0 0:接收中沒(méi)有發(fā)生幀錯(cuò)誤:接收中沒(méi)有發(fā)生幀錯(cuò)誤 1 1:幀錯(cuò)誤:

45、幀錯(cuò)誤0 0奇偶錯(cuò)誤奇偶錯(cuò)誤11如果在接收操作中發(fā)生了奇偶校驗(yàn)錯(cuò)誤,如果在接收操作中發(fā)生了奇偶校驗(yàn)錯(cuò)誤,該位將自動(dòng)置該位將自動(dòng)置1 1 1 1:奇偶校驗(yàn)錯(cuò)誤:奇偶校驗(yàn)錯(cuò)誤 0 0:接收中沒(méi)有發(fā)生:接收中沒(méi)有發(fā)生奇偶校驗(yàn)錯(cuò)誤奇偶校驗(yàn)錯(cuò)誤0 0OverrunOverrun錯(cuò)錯(cuò)誤誤00如果在接收操作中發(fā)生了溢出錯(cuò)誤,該如果在接收操作中發(fā)生了溢出錯(cuò)誤,該位將自動(dòng)置位將自動(dòng)置1 0:1 0:接收中沒(méi)有發(fā)生溢出接收中沒(méi)有發(fā)生溢出錯(cuò)誤錯(cuò)誤 1 1 :溢出錯(cuò)誤:溢出錯(cuò)誤0 0UARTUART的的FIFOFIFO狀態(tài)寄存器狀態(tài)寄存器57UFSTATnUFSTATn位描述初始值保留保留1515:101000000

46、0000000發(fā)送發(fā)送FIFOFIFO滿滿9 9當(dāng)發(fā)送當(dāng)發(fā)送 FIFOFIFO滿時(shí)該位為滿時(shí)該位為1 10 0 : 0 0字節(jié)字節(jié)發(fā)送發(fā)送 FIFO FIFO 的數(shù)的數(shù)據(jù)個(gè)數(shù)據(jù)個(gè)數(shù) 15 15字節(jié)字節(jié) 1 1 :滿:滿0 0接收接收FIFOFIFO滿滿8 8當(dāng)當(dāng)FIFOFIFO將要滿時(shí),該位為將要滿時(shí),該位為1 10 0 : 0 0字節(jié)字節(jié)接收接收 FIFO FIFO 數(shù)據(jù)數(shù)據(jù)個(gè)數(shù)個(gè)數(shù) 15 15字節(jié)字節(jié) 1 1 :滿:滿0 0發(fā)送發(fā)送FIFOFIFO計(jì)計(jì)數(shù)器數(shù)器77:44發(fā)送發(fā)送FIFOFIFO里的數(shù)據(jù)數(shù)量里的數(shù)據(jù)數(shù)量00000000接收接收FIFOFIFO計(jì)計(jì)數(shù)器數(shù)器33:00接收接收 F

47、IFOFIFO里的數(shù)據(jù)數(shù)量里的數(shù)據(jù)數(shù)量00000000ModemModem狀態(tài)寄存器狀態(tài)寄存器lUMSTAT0UMSTAT0、UMSTAT1UMSTAT1地址分別為地址分別為0 x01D0001C0 x01D0001C、0 x01D0401C0 x01D0401C,可讀,可讀, 初始值為初始值為0 x060 x0658UMSTATnUMSTATn位位描述描述初始值初始值CTSCTS變化變化4 4該位指示輸入到該位指示輸入到S3C44B0XS3C44B0X的的nCTSnCTS信號(hào)自從上次讀后已經(jīng)改變狀態(tài)信號(hào)自從上次讀后已經(jīng)改變狀態(tài)0 0 :未改變:未改變 1 1 :改變:改變0 0保留保留33:

48、110 0CTSCTS狀態(tài)狀態(tài)0 00 0 : CTS CTS 信號(hào)未激活信號(hào)未激活( (nCTSnCTS腳為腳為高電平高電平) );1 1: CTS CTS 信號(hào)已激活信號(hào)已激活( (nCTSnCTS腳為低電平腳為低電平) )0 0UARTUART發(fā)送發(fā)送/ /接收保持寄存器接收保持寄存器l發(fā)送發(fā)送/ /接收保持寄存器接收保持寄存器0 0(UTXH0UTXH0)、)、寄存器寄存器1(1(UTXH1)UTXH1)的地址的地址在小模式下分別為在小模式下分別為0 0 x01D00020 x01D00020、0 x01D040200 x01D04020,在大模式下分別為在大模式下分別為0 0 x01

49、D00023x01D00023、0 x01D040230 x01D04023l可寫(xiě),可寫(xiě), 初始值可編程初始值可編程59UARTUART波特率除數(shù)寄存器波特率除數(shù)寄存器lUARTUART波特率除數(shù)寄存器波特率除數(shù)寄存器0 0(UBRDIV0UBRDIV0)、寄存器)、寄存器1(UBRDIV1)1(UBRDIV1)的地址分別為的地址分別為0 x01D000280 x01D00028、0 x01D040280 x01D04028l可讀寫(xiě),可讀寫(xiě), 初始值可編程初始值可編程60S3C44BOXS3C44BOX的的UARTUART的應(yīng)用的應(yīng)用1 1電路接口和電路接口和I/OI/O口設(shè)置口設(shè)置lS3C4

50、4BOXS3C44BOX的串行應(yīng)用接口電路中的的串行應(yīng)用接口電路中的PC12(TxD1), PC12(TxD1), PC13(RxD1), PE1(TxD0), PE2(RxD0)PC13(RxD1), PE1(TxD0), PE2(RxD0)是多功能是多功能I/OI/O口口l首先需要對(duì)首先需要對(duì)PCPC口和口和PEPE口的工作模式進(jìn)行設(shè)置口的工作模式進(jìn)行設(shè)置Rpconc = Ox0f000000|rPCONC;rPUPC = 0 x3000; /設(shè)置內(nèi)部上拉設(shè)置內(nèi)部上拉rPCONE = (rPCONE & Oxfc3)|Oxeb;rPUPE = 0 x6;612.UART2.UART初始化初

51、始化l對(duì)對(duì)UARTUART口的可配置參數(shù)進(jìn)行初始化,使其能夠口的可配置參數(shù)進(jìn)行初始化,使其能夠按照所要求的通訊方式進(jìn)行通訊。按照所要求的通訊方式進(jìn)行通訊。623 3 字符發(fā)送程序字符發(fā)送程序Uart_SendByteUart_SendBytevoid Uart_SendByte(char ch) if (UartNum=0) if(ch=n) while(! (rUTRSTATO & 0 x2); /等待,直到發(fā)送緩沖區(qū)為空等待,直到發(fā)送緩沖區(qū)為空 WrUTXHO(r); /發(fā)送回車符發(fā)送回車符 while(!(rUTRSTATO &0 x2); /等待,直到發(fā)送緩沖區(qū)為空等待,直到發(fā)送緩沖區(qū)

52、為空 Delay(10); WrUTXHO(ch); /發(fā)送字符發(fā)送字符 63else if(ch=n) while(! (rUTRSTAT1&0 x2); Delay(10); rUTXH1(r); while(!(rUTRSTAT1 &0 x2));/等待,直到發(fā)送移位寄存器區(qū)為空等待,直到發(fā)送移位寄存器區(qū)為空 Delay(10); WrUTXH1(ch); 644 4 字符接收程序字符接收程序Uart_GetByte()Uart_GetByte()#define RdUTXH0()(*(volatile unsigned char * )Ox1d00024)#define RdUTXH1

53、()(*(volatile unsigned char * )Ox1d04024) char Uart_GetByte(void) if (UartNum=0) while(! (rUTRSTATO & 0 x1); /等待,接收緩沖區(qū)接收數(shù)據(jù)等待,接收緩沖區(qū)接收數(shù)據(jù) return RdUTXH0(); /返回接收的數(shù)據(jù)返回接收的數(shù)據(jù) else while(! (rUTRSTAT1 & 0 x1); /等待,接收緩沖區(qū)接收數(shù)據(jù)等待,接收緩沖區(qū)接收數(shù)據(jù) return RdUTXH1(); /返回接收的數(shù)據(jù)返回接收的數(shù)據(jù) 6566內(nèi)容提要內(nèi)容提要A/D和和D/A轉(zhuǎn)換器接口轉(zhuǎn)換器接口通訊與通訊與中斷

54、接口中斷接口LCD顯示器與觸摸屏接口(了解)顯示器與觸摸屏接口(了解)LED顯示器顯示器鍵盤(pán)接口鍵盤(pán)接口ARM的的JTAG接口接口中斷接口概述中斷接口概述lCPUCPU與外設(shè)之間傳輸數(shù)據(jù)的控制方式通常有與外設(shè)之間傳輸數(shù)據(jù)的控制方式通常有3 3種種查詢方式、中斷方式和查詢方式、中斷方式和DMADMA方式。方式。l中斷方式在嵌入式系統(tǒng)中應(yīng)用極為廣泛中斷方式在嵌入式系統(tǒng)中應(yīng)用極為廣泛節(jié)省節(jié)省CPUCPU時(shí)間時(shí)間提高提高CPUCPU的利用率的利用率l最初最初ARM7TDMlARM7TDMl內(nèi)核只有內(nèi)核只有FIQ(FIQ(快速中斷請(qǐng)求快速中斷請(qǐng)求) )和和IRQ(IRQ(通用中斷請(qǐng)求通用中斷請(qǐng)求) )兩

55、種中斷,各芯片廠家在設(shè)兩種中斷,各芯片廠家在設(shè)計(jì)芯片時(shí)計(jì)芯片時(shí)為滿足外設(shè)的需求,又定義、擴(kuò)充了為滿足外設(shè)的需求,又定義、擴(kuò)充了若干個(gè)中斷源。若干個(gè)中斷源。67lS3C44B0XS3C44B0X的中斷控制器可接受來(lái)自的中斷控制器可接受來(lái)自3030個(gè)中斷源個(gè)中斷源的中斷請(qǐng)求,的中斷請(qǐng)求,只能有只能有1 1個(gè)個(gè)FIQFIQlIRQIRQ矢量中斷模式,具有矢量中斷模式,具有CISCCISC結(jié)構(gòu)特征,縮短中結(jié)構(gòu)特征,縮短中斷反應(yīng)時(shí)間斷反應(yīng)時(shí)間l中斷控制器的任務(wù)就是經(jīng)過(guò)優(yōu)先級(jí)判定選擇,中斷控制器的任務(wù)就是經(jīng)過(guò)優(yōu)先級(jí)判定選擇,再通過(guò)再通過(guò)FIQFIQ或或IRQIRQ向內(nèi)核發(fā)出中斷請(qǐng)求向內(nèi)核發(fā)出中斷請(qǐng)求68中

56、斷控制器中斷控制器lARM7TDMIARM7TDMI有有2 2種類型的中斷模式種類型的中斷模式: :FIQFIQ和和IRQIRQlIRQIRQ和和FIQFIQ之間的區(qū)別是:之間的區(qū)別是:對(duì)于對(duì)于FIQFIQ必須盡快處理事件并離開(kāi)這個(gè)模式;必須盡快處理事件并離開(kāi)這個(gè)模式;IRQIRQ可以被可以被FIQFIQ中斷,但中斷,但I(xiàn)RQIRQ不能中斷不能中斷FIQFIQ為了使為了使FIQFIQ更快更快,FIQ,FIQ模式具有更多的私有寄存器。模式具有更多的私有寄存器。69PSRPSR的的F F位和位和I I位位lPSRPSR指指ARM7TDMIARM7TDMI處理器的程序狀態(tài)寄存器處理器的程序狀態(tài)寄存器

57、如果如果PSRPSR的的F F位被設(shè)置為位被設(shè)置為1,1,處理器將不接受來(lái)自中斷處理器將不接受來(lái)自中斷控制器的控制器的FIQ;FIQ;如果如果PSRPSR的的I I位被設(shè)置為位被設(shè)置為1,1,處理器將不接受來(lái)自中斷處理器將不接受來(lái)自中斷控制器的控制器的IRQIRQ。l為使能相應(yīng)中斷機(jī)制為使能相應(yīng)中斷機(jī)制, ,PSRPSR的的F F位或位或I I位位必須被清必須被清0,0,同時(shí)中斷屏蔽寄存器同時(shí)中斷屏蔽寄存器INTMSKINTMSK的相應(yīng)位的相應(yīng)位也必須也必須被清被清0 0。70中斷請(qǐng)求寄存器中斷請(qǐng)求寄存器INTPNDINTPNDlINTPNDINTPND的各位指示了某個(gè)中斷請(qǐng)求是否還未被的各位

58、指示了某個(gè)中斷請(qǐng)求是否還未被處理。在處理。在INTPNDINTPND中將要或已被置位的中斷位稱中將要或已被置位的中斷位稱為為pendingpending位位lINTPNDINTPND是一個(gè)只讀寄存器,在中斷服務(wù)程序中是一個(gè)只讀寄存器,在中斷服務(wù)程序中要想清除要想清除pendingpending位時(shí),需要對(duì)中斷服務(wù)寄存器位時(shí),需要對(duì)中斷服務(wù)寄存器I_ISPCI_ISPC或或F_ISPCF_ISPC的相應(yīng)位寫(xiě)入的相應(yīng)位寫(xiě)入1 1的方式實(shí)現(xiàn)的方式實(shí)現(xiàn)lINTPNDINTPND寄存器中的寄存器中的2626個(gè)位對(duì)應(yīng)著每一個(gè)中斷源個(gè)位對(duì)應(yīng)著每一個(gè)中斷源當(dāng)某個(gè)中斷產(chǎn)生時(shí),當(dāng)某個(gè)中斷產(chǎn)生時(shí),INTPNDINT

59、PND中的相應(yīng)位就會(huì)置中的相應(yīng)位就會(huì)置1 1當(dāng)處理結(jié)束后必須軟件及時(shí)清除該當(dāng)處理結(jié)束后必須軟件及時(shí)清除該pendingpending位位71中斷屏蔽寄存器中斷屏蔽寄存器INTMSKINTMSKl該寄存器的某位該寄存器的某位被置被置1 1 與該位對(duì)應(yīng)的中斷響與該位對(duì)應(yīng)的中斷響應(yīng)被應(yīng)被禁止禁止l如果全局屏蔽位被置如果全局屏蔽位被置1 1并且當(dāng)任一中斷發(fā)生時(shí),并且當(dāng)任一中斷發(fā)生時(shí),中斷中斷pendingpending位還是會(huì)置位,但是所有的中斷都位還是會(huì)置位,但是所有的中斷都不會(huì)得到服務(wù)不會(huì)得到服務(wù)l如果如果某個(gè)中斷在某個(gè)中斷在INTMSKINTMSK寄存器中的對(duì)應(yīng)位為寄存器中的對(duì)應(yīng)位為1,1,這個(gè)

60、中斷發(fā)生這個(gè)中斷發(fā)生它的它的pendingpending位還是會(huì)置位,只是不會(huì)自動(dòng)轉(zhuǎn)入中斷服位還是會(huì)置位,只是不會(huì)自動(dòng)轉(zhuǎn)入中斷服務(wù)程序務(wù)程序7273發(fā)生中斷發(fā)生中斷Pending位置位置1全局屏蔽置全局屏蔽置1? INTMSKINTMSK寄存寄存器對(duì)應(yīng)位為器對(duì)應(yīng)位為1 1NN轉(zhuǎn)入中斷服務(wù)程序轉(zhuǎn)入中斷服務(wù)程序屏蔽服務(wù)屏蔽服務(wù)YY中斷源中斷源l在在3030個(gè)中斷源中有個(gè)中斷源中有2626個(gè)中斷源提供給中斷控制個(gè)中斷源提供給中斷控制器,器,4 4個(gè)外部中斷個(gè)外部中斷( (EINT4/5/6/7)EINT4/5/6/7)請(qǐng)求是通過(guò)請(qǐng)求是通過(guò)“或或”的形式合成為的形式合成為1 1個(gè)中斷源送至中斷控制器個(gè)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論