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

下載本文檔

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

文檔簡介

1、1第5 5章 ARM接口設(shè)計(jì)技術(shù)本章主要內(nèi)容:鍵盤接口LED顯示器接口LCD顯示器接口觸摸屏接口通訊接口中斷接口A/D和D/A轉(zhuǎn)換器接口ARM的JTAG接口 第1頁/共121頁2 芯片S3C44B0X 本章主要基于芯片S3C44B0X,介紹其多個接口。S3C44B0X是基于ARM7TDMI的體系結(jié)構(gòu),是ARM公司最早為業(yè)界普遍認(rèn)可并且贏得最廣泛應(yīng)用的處理核。芯片S3C44B0X具有71個通用多功能輸入輸出引腳,這些I/O口的應(yīng)用是S3C44BOX處理器的基礎(chǔ)應(yīng)用,分別包含在如下7組端口中:1個10位輸出端口端口A;1個11位輸出端口(端口B);1個16位輸入輸出端口(端口C);2個8位輸入輸出

2、端口(端口D和G);2個9位輸入輸出端口(端口E和F)。第2頁/共121頁3 芯片S3C44B0X 每組端口都是多功能口,需要用軟件對端口配置寄存器PCONn來設(shè)置滿足不同系統(tǒng)和設(shè)計(jì)的需要,在運(yùn)行程序之前必須先對每一個用到的引腳功能進(jìn)行設(shè)置。如果某些引腳的復(fù)用功能沒有使用,可以將該引腳設(shè)置成I/O口。 在一般的應(yīng)用中,PA作為地址線使用;PB作為bank選擇線和SDRAM的接口信號線使用;PC可以作為數(shù)據(jù)線、IIS接口或LCD數(shù)據(jù)線等使用;在系統(tǒng)具備LCD的情況下,PD主要作為LCD的信號線使用;PE可以作串口信號線和定時器輸出使用;PF和PG則是多功能I/O口。第3頁/共121頁4 鍵盤概述

3、 計(jì)算機(jī)的鍵實(shí)際上就是開關(guān),制造這種鍵的方法是多種多樣的,以下是幾種常用的按鍵:機(jī)械式按鍵 電容式按鍵 薄膜式按鍵 霍耳效應(yīng)按鍵 第4頁/共121頁5 用ARM芯片實(shí)現(xiàn)鍵盤接口 本應(yīng)用實(shí)例中,要與4X4的矩陣鍵盤接口,采用節(jié)省口線的“行掃描法”方法來檢測鍵盤,這樣只需要8根口線,在此選取PF口作為檢測鍵盤用端口,并設(shè)定PF0 PF3為輸出掃描碼的端口,PF4-PF7為鍵值讀入口。第5頁/共121頁6 用ARM芯片實(shí)現(xiàn)鍵盤接口 矩陣鍵盤按鍵的識別方法,此方法分兩步進(jìn)行: 識別鍵盤哪一行的鍵被按下:讓所有行線均為低電平,檢查各列線電平是否為低,如果有列線為低,則說明該列有鍵被按下,否則說明無鍵被按

4、下。如果某列有鍵被按下,識別鍵盤哪一行的鍵被按下:逐行置低電平,并置其余各行為高電平,檢查各列線電平的變化,如果列電平變?yōu)榈碗娖?,則可確定此行此列交叉點(diǎn)處按鍵被按下。第6頁/共121頁7 行掃描法獲取鍵值的程序設(shè)計(jì) 1. 寄存器設(shè)置 接口中利用了PF口的相關(guān)寄存器,PF口的寄存器有3個:PCONF ,PDATF和PUPF。 (1)設(shè)置PCONF寄存器需要設(shè)定PF0-3為輸出口,PF4 - 7為輸入口,因此,在端口工作之前設(shè)置: rPCONF 000 000 000 00 01 01 01 01 B0 x55; (2)設(shè)置PDATF寄存器PF0-3作為輸出口輸出掃描碼時,可采用語句:rPDATF

5、=Oxf0; PF0-3全寫入0PF4-7作為輸入口讀入鍵值時,采用語句:Keyval=(rPDATF&0 xf0)4; (3)設(shè)置PUPF寄存器設(shè)置內(nèi)部上拉電阻的語句為:rPUPF=0 x00; /使能PF0-7的內(nèi)部上拉電阻第7頁/共121頁8 行掃描法獲取鍵值的程序設(shè)計(jì)nP153第8頁/共121頁9 LED顯示器接口概述 LED(Light Emitting Diode)常稱為七段發(fā)光二極管, 在專用的微型計(jì)算機(jī)系統(tǒng)中,特別是在嵌入式控制系統(tǒng)中, 應(yīng)用非常普遍。它價(jià)格低廉、體積小、功耗低,而可靠性又很好,因此,從單板微型機(jī)、袖珍計(jì)算機(jī)到許多微型機(jī)控制系統(tǒng)及數(shù)字化儀器都用LED作為

6、輸出顯示。第9頁/共121頁10 LED顯示器接口概述 在多個LED顯示電路中,通常把陰(陽)極控制端接至一輸出端口,我們稱它為位控端口;而把數(shù)據(jù)顯示段接至一個輸出端口,我們稱這個端口為段控端口。段控端口處應(yīng)輸出十六進(jìn)制數(shù)的7段代碼。 為了將一個4位二進(jìn)制數(shù)(可能為一個十六進(jìn)制數(shù),也可能是一個BCD碼)在一個LED上顯示出來,就需要將4位二進(jìn)制數(shù)譯為LED的7位顯示代碼。要完成譯碼功能,可以采用兩種方法: 一種方法是采用專用芯片,可以實(shí)現(xiàn)對BCD碼的譯碼,但不能對大于9的二進(jìn)制數(shù)譯碼。另一種常用的辦法是軟件譯碼法。在軟件設(shè)計(jì)時,將0到F共16個數(shù)字(也可以為0到9)對應(yīng)的顯示代碼組成一個表。第

7、10頁/共121頁11 用ARM芯片實(shí)現(xiàn)LED顯示接口 1接口電路+5V位驅(qū)動第0位第1位第2位第3位第4位陽極abcdefgDPPF0圖5-4 LED顯示掃描和驅(qū)動電路ULN2803A段驅(qū)動PF7PG0. . . . . . .PG7第5位第6位第7位第11頁/共121頁12用ARM芯片實(shí)現(xiàn)LED顯示接口 2.初始化程序如下。 (1)設(shè)置PCONF、PCONG寄存器,由于需要設(shè)定端口F、G為輸出口,因此,在端口工作之前設(shè)置: rPCONF 001 001 001 01 01 01 01 01 B0 x12555; rPCONG 01 01 01 01 01 01 01 01 B0 x5555

8、;(2)設(shè)置PUPF、PUPG寄存器,設(shè)置內(nèi)部上拉電阻的語句為: rPUPF=0 x00; /使能PF0-7的內(nèi)部上拉電阻 rPUPG=0 x00; /使能PG0-7的內(nèi)部上拉電阻第12頁/共121頁13用ARM芯片實(shí)現(xiàn)LED顯示接口 3. 7段數(shù)碼LED編程 nP158第13頁/共121頁14 LCD顯示器接口概述 液晶顯示是一種被動的顯示,它不能發(fā)光,只能使用周圍環(huán)境的光。 基本原理是通過給不同的液晶單元供電,控制其光線的通過與否,從而達(dá)到顯示的目的。 LCD有三種顯示方式:反射型,透射型和透反射型。 市面上出售的LCD有兩種類型:一種是帶有驅(qū)動電路的LCD顯示模塊,這種LCD可以方便地與

9、各種低檔單片機(jī)進(jìn)行接口;另一種是LCD顯示屏,沒有驅(qū)動電路,需要與驅(qū)動電路配合使用 第14頁/共121頁15 LCD控制器 LCD 控制器用來把定位在系統(tǒng)存儲器中的視頻緩沖區(qū)的LCD圖象數(shù)據(jù)傳輸?shù)絃CD驅(qū)動器,并產(chǎn)生必須的LCD控制信號 。REGBANK具有18個可編程寄存器,用于配置LCD控制器LCDCDMA為專用DMAVIDPRCS 從LCDCDMA 接收數(shù)據(jù),將相應(yīng)格式的數(shù)據(jù)通TIMEGEN包含可編程的邏輯 TIMEGEN部分產(chǎn)生VFRAME, VLINE, VCLK, VM等信號。第15頁/共121頁16 LCD應(yīng)用實(shí)例 1.LCD接口電路 第16頁/共121頁17 LCD應(yīng)用實(shí)例 2

10、.I/O口LCD功能設(shè)置 通常采用S3C44BOX的PC口和PD口作為LCD驅(qū)動接口,因此需要設(shè)置PC口工作在第3功能狀態(tài)和PD口工作在第2功能狀態(tài),設(shè)置對應(yīng)I/O口控制寄存器的語句: rPCONC = 00 00 00 00 00 00 00 00 11 11 11 11 00 00 00 00B = OxO00Off00; rPUPC = 0 x 00; /上拉使能 rPCOND= Oxaaaa; rPUPD= 0 x 00;第17頁/共121頁18 LCD應(yīng)用實(shí)例 3. LCD初始化程序n代碼見課本P169第18頁/共121頁19 觸摸屏的工作原理 觸摸屏按其工作原理的不同可分為電阻式觸

11、摸屏、表面聲波觸摸屏、紅外式觸摸屏和電容式觸摸屏幾種。 最常見的是電阻式觸摸屏,其屏體部分是一塊與顯示器表面非常配合的多層復(fù)合薄膜。觸摸屏工作時,上下導(dǎo)體層相當(dāng)于電阻網(wǎng)絡(luò)。當(dāng)某一層電極加上電壓時,會在該網(wǎng)絡(luò)上形成電壓梯度。如有外力使得上下兩層在某一點(diǎn)接觸,則在另一層未加電壓的電極上可測得接觸點(diǎn)處的電壓,從而知道接觸點(diǎn)處的坐標(biāo)。第19頁/共121頁20 觸摸屏的驅(qū)動芯片ADS7843 S3C44BOX通過端口G模擬串行的SIO接口與觸摸屏專門的控制芯片ADS7843進(jìn)行數(shù)據(jù)傳輸,來完成對觸摸屏觸摸位置坐標(biāo)的讀取。 ADS7843要完成兩件事:(1)是完成電極電壓的切換;(2)是采集接觸點(diǎn)處的電壓

12、值,并進(jìn)行A/D轉(zhuǎn)換。第20頁/共121頁21 觸摸屏的驅(qū)動芯片ADS7843 1. ADS7843引腳配置及功能引腳號名稱描述1,10+Vcc供電電源輸入2.7-5V2,3X+ , Y+觸摸屏X+、Y+ 輸入,接內(nèi)部ADC輸入通道4,5X- ,Y-觸摸屏X-、Y- 輸入6GND接地7,8IN3,IN4附屬ADC輸入通道9VREFADC參考電壓11PENIRQ接觸中斷輸出,必須外接10-100 K電阻12,1416DOUT,DIN,DCLK控制字輸入、A/D轉(zhuǎn)換結(jié)果輸出端;在時鐘下降沿時輸出,上升沿時輸入13BUSY忙指示輸出15CS片選第21頁/共121頁22 觸摸屏的驅(qū)動芯片ADS7843

13、2. ADS7843的控制字第7位(MSB)第6位第5位第4位第3位第2位第1位第0位(LSB)SA2A1A0MODESER/DFRPD1PD0第22頁/共121頁23 觸摸屏的接口設(shè)計(jì) 1 .觸摸屏的驅(qū)動芯片ADS7843典型接口 觸摸屏的控制采用專用芯片,專門處理是否有筆或手指按下觸摸屏,并在按下時分別給兩組電極通電,然后將其對應(yīng)位置的模擬電壓信號經(jīng)過A/D轉(zhuǎn)換送回處理器。S3C44B0選取PG口與ADS7843接口,共使用PG2 - PG7的6條口線,也可以選擇其他的I/O口,但注意不要與I/O口上已經(jīng)設(shè)定的功能相沖突其中,X+、Y+、X-、Y-引腳直接與觸摸屏的相應(yīng)管腳相連。第23頁/

14、共121頁24 觸摸屏的接口設(shè)計(jì) 2 編程實(shí)現(xiàn) 利用連接好的電路設(shè)置PCONG寄存器如下: rPCONG = Ox015f; 其中,PENIRQ最好加上內(nèi)部上拉,設(shè)置為: rPUPGOx80。(1)讀取觸摸點(diǎn)坐標(biāo)程序: 編程采用固定參考電壓模式,因此SER/DFR=1。首先檢測PENIRQ是否為低電平,如果為低電平,則認(rèn)為有接觸;否則認(rèn)為觸摸屏沒有接觸。利用軟件模擬DIN, DOUT和DCLK上的3線串行傳輸時序,將讀取的x或Y坐標(biāo)數(shù)值的控制字串行送入ADS7843,然后再串行讀出坐標(biāo)值。最后將X和Y軸坐標(biāo)值送串口顯示即可。(2)送控制字并讀取結(jié)果子程序。 第24頁/共121頁25 串行通信概

15、述 串行數(shù)據(jù)傳送模式:單工半雙工全雙工 串行通信方式:同步通信異步通信第25頁/共121頁26 RS-232C串行接口 接口規(guī)格第26頁/共121頁27 RS-232C串行接口 2. RS-232C 接口信號。 實(shí)際應(yīng)用 中,并不是 每只管腳 信號都用到第27頁/共121頁28 S3C44BOX內(nèi)部集成的UART S3C44B0X UART單元提供了兩個異步串口(SIO),每個SIO可以操作在中斷模式或DMAkbps, 每個SIO通道包含都有一個16字節(jié)的接收與發(fā)送FIFO緩沖區(qū)。 每個UART模塊包含以下幾個部件:波特率發(fā)生器,發(fā)送器,接收器和控制單元。 第28頁/共121頁29 UART操

16、作數(shù)據(jù)發(fā)送數(shù)據(jù)接收 動流控制(AFC) 非自動流控制(通過軟件控制nRTS和nCTS) 調(diào)制解調(diào)器接口第29頁/共121頁30 中斷DMA請求產(chǎn)生器 S3C44BOX的每個UART都有7個狀態(tài)信號:接收FIFO/緩沖區(qū)數(shù)據(jù)準(zhǔn)備好、發(fā)送FIFO緩沖區(qū)空、發(fā)送移位寄存器空、溢出錯誤、奇偶校驗(yàn)錯誤、幀錯誤和中止,所有這些狀態(tài)都由對應(yīng)的UART狀態(tài)寄存器(UTRSTATn/UERSTATn)中的相應(yīng)位來表現(xiàn)。當(dāng)接收器要將接收移位寄存器的數(shù)據(jù)送到接收FIFO,它會激活接收FIFO滿狀態(tài)信號,如果控制寄存器中的接收模式選為中斷模式,就會引發(fā)接收中斷。當(dāng)發(fā)送器從發(fā)送FIFO中取出數(shù)據(jù)送到發(fā)送移位寄存器,那么

17、FIFO空狀態(tài)信號將會被激活。如果控制寄存器中的發(fā)送模式選為中斷模式,就會引發(fā)發(fā)送中斷。 第30頁/共121頁31 與FIFO有關(guān)的中斷 類型FIFO類型非FIFO模式Rx中斷每當(dāng)接收數(shù)據(jù)達(dá)到接收FIFO觸發(fā)的水平,就產(chǎn)生接收中斷;如果FIFO非空且連續(xù)3個字時間沒有接收到任何數(shù)據(jù),就產(chǎn)生超時中斷;每當(dāng)接收數(shù)據(jù)滿,接收移位寄存器將產(chǎn)生一個中斷;Tx中斷每當(dāng)發(fā)送數(shù)據(jù)達(dá)到發(fā)送FIFO觸發(fā)的水平,就產(chǎn)生發(fā)送中斷;每當(dāng)發(fā)送數(shù)據(jù)空,發(fā)送保持寄存器將產(chǎn)生一個中斷;錯 誤 中斷幀錯誤、奇偶校驗(yàn)錯誤和被檢測到并按字節(jié)接收的中止信號,都將產(chǎn)生錯誤中斷;當(dāng)達(dá)到接收FIFO的頂部,就會產(chǎn)生溢出錯誤中斷;所有錯誤都會

18、立即產(chǎn)生一個錯誤中斷。但兩個錯誤同時發(fā)生,只有一個中斷會產(chǎn)生;第31頁/共121頁32 波特率發(fā)生器 波特率發(fā)生器以MCLK作為時鐘源 每個UART的波特率發(fā)生器為傳輸提供了串行移位時鐘。波特率時鐘由通過時鐘源的16分頻及一個由UART波特率除數(shù)寄存器(UBRDIVn)指定的16位除數(shù)決定。 UBRDIVn(取整)(MCLK(波特率16)-1 第32頁/共121頁33 回送模式與紅外通信模式 回送模式:S3C44BOX的UART提供的一個測試模式。在這種模式下,發(fā)送出的數(shù)據(jù)會立即被接收。這一特性用于校驗(yàn)運(yùn)行處理器內(nèi)部發(fā)送和接收通道的功能,這種模式可以通過設(shè)置UART控制寄存器(UCONn)中的

19、回送位來實(shí)現(xiàn)。 紅外通信模式:S3C44BOX的UART模塊支持紅外線(IR)發(fā)送和接收。可以通過設(shè)置UART控制寄存器(UCONn)中的紅外模式位來選擇這一模式。第33頁/共121頁34 UART的寄存器 1.UART線控制寄存器 ULCONn位描述初始值保留7 0紅外線模式6該位確定是否使用紅外通信模式0:正常模式 1:紅外收發(fā)模式0奇偶校驗(yàn)?zāi)J?:3 該位確定奇偶如何產(chǎn)生和校驗(yàn)0 xx:無校驗(yàn)位 100:奇校驗(yàn) 101:偶校驗(yàn) 110:校驗(yàn)位強(qiáng)制/檢測置1 111:校驗(yàn)位強(qiáng)制/檢測置0000停止位的數(shù)量2該位確定停止位的個數(shù),0:1位停止位 1:2位停止位0數(shù)據(jù)位長度1:0該位確定數(shù)據(jù)位

20、的個數(shù)00:5位 01:6位 10:7位 11:8位00第34頁/共121頁35 UART的寄存器2.UART控制寄存器UCONn位描述初始值發(fā)送中斷類型9發(fā)送中斷請求類型0:脈沖(在發(fā)送緩沖區(qū)變空時立即引發(fā)中斷)1:電平(在發(fā)送緩沖區(qū)為空時引發(fā)中斷)0接收中斷類型8接收中斷請求類型0:脈沖(接收緩沖區(qū)接收到數(shù)據(jù)時立即引發(fā)中斷)1:電平(接收緩沖區(qū)正在接收數(shù)據(jù)時引發(fā)中斷)0接收超時中斷使能7在UART的FIFO使能的情況下,使能禁止接收超時中斷 0:禁止 1:使能0接收錯誤狀態(tài)中斷使能6使能UART在接收操作中發(fā)生錯誤時的錯誤中斷響應(yīng)0:不產(chǎn)生錯誤狀態(tài)中斷 1:產(chǎn)生錯誤狀態(tài)中斷0回送模式5該位

21、使UART自動進(jìn)入回送模式0:正常操作 1:回送模式0發(fā)送中止信號4 該位將引發(fā)UART在一幀時間內(nèi)發(fā)送中止信號, 該信號發(fā)送 完后,該位自動被清除0:正常操作 1:發(fā)送中止信號 0發(fā)送模式3:2這2位決定當(dāng)前哪個功能項(xiàng)能夠向UART發(fā)送保持寄存器寫入發(fā)送數(shù)據(jù)00:禁止 01:中斷請求或輪流檢測模式10: BDMAO請求(僅對UARTO)11: BDMAI請求(僅對UART1)00接收模式1:0這2位決定當(dāng)前哪個功能項(xiàng)能夠從UART接收保持寄存器中讀出接收數(shù)據(jù) 00:禁止01:中斷請求或輪流檢測模式 IO:BDMAO請求(僅對UARTO) 11:BDMAl請求(僅對UART1)00第35頁/共

22、121頁36 UART的寄存器 控制寄存器 UFCONn位描述初始值發(fā)送FIFO的觸發(fā)電平7:6這兩位確定發(fā)送FIFO的觸發(fā)條件 00:空 01:4字節(jié) 10 :8字節(jié) 11 :12字節(jié)00接收FIFO的觸發(fā)電平5:4這兩位確定接收FIFO的觸發(fā)條件 00 :4字節(jié)01:8字節(jié) 10: 12字節(jié) 11:16字節(jié)00保留3 0發(fā)送FIFO復(fù)位2該位在FIFO復(fù)位后自動清除 0 :正常 1:發(fā)送FIFO復(fù)位0接收FIFO復(fù)位1該位在FIFO復(fù)位后自動清除 0 :正常 1:接收FIFO復(fù)位0FIFO使能00 :禁止 FIFO 1 :FIFO 使能0第36頁/共121頁37 UART的寄存器控制寄存器

23、UMCONn位描述初始值保留7:5這3位必須為 0000自動流控制4AFC是否允許0 :禁止 1 :使能0保留3:1這3位必須為 0000請求發(fā)送0如果AFC允許,該位忽略;如果AFC禁止,必須由軟件來控制nRTS。0 : 高電平(不激活 nRTS) 1 : 低電平(激活 nRTS)0第37頁/共121頁38 UART的寄存器 UTRSTATn位描述初始狀態(tài)發(fā)送移位寄存器為空2當(dāng)發(fā)送移位寄存器中不包含有效數(shù)據(jù)或移位寄存器為空,該位自動被置位。0:非空1:發(fā)送保持和移位寄存器為空1發(fā)送緩沖器為空1當(dāng)發(fā)送緩沖區(qū)寄存器中不包含有效數(shù)據(jù),這一位將自動被置位 0:緩沖區(qū)寄存器非空 1:空如果使用了FIF

24、O,則用戶不用檢測這個位,而應(yīng)當(dāng)檢測UFSTAT中發(fā)送FIFO計(jì)數(shù)器位和FIFO滿位1接收緩沖器數(shù)據(jù)準(zhǔn)備好0當(dāng)接收緩沖器寄存器中包含了有效數(shù)據(jù),這一位將自動被置位0:完全為空 1:緩沖區(qū)寄存器中包含有效數(shù)據(jù)如果使用了FIFO則用戶不用檢測這個位,而應(yīng)當(dāng)檢測UFSTAT中接收FIFO計(jì)數(shù)器位0第38頁/共121頁39 UART的寄存器 錯誤狀態(tài)寄存器 UERSTATn位描述初始值間隔中斷3如果接收到某個中止信號,該位將自動置10:未接收到中止信號 1:接收到中止信號0數(shù)據(jù)幀錯誤2如果在接收操作中發(fā)生了幀錯誤,該位將自動置1 0:接收中沒有發(fā)生幀錯誤 1:幀錯誤0奇偶錯誤1如果在接收操作中發(fā)生了奇

25、偶校驗(yàn)錯誤,該位將自動置1 1:奇偶校驗(yàn)錯誤 0:接收中沒有發(fā)生奇偶校驗(yàn)錯誤0Overrun錯誤0如果在接收操作中發(fā)生了溢出錯誤,該位將自動置1 0:接收中沒有發(fā)生溢出錯誤 1 :溢出錯誤0第39頁/共121頁40 UART的寄存器的FIFO狀態(tài)寄存器UFSTATn位描述初始值保留15:10 000000發(fā)送FIFO滿9當(dāng)發(fā)送 FIFO滿時該位為10 : 0字節(jié)發(fā)送 FIFO 的數(shù)據(jù)個數(shù) 15字節(jié) 1 :滿 0接收FIFO滿8當(dāng)FIFO將要滿時,該位為10 : 0字節(jié)接收 FIFO 數(shù)據(jù)個數(shù) 15字節(jié) 1 :滿0發(fā)送FIFO計(jì)數(shù)器7:4發(fā)送FIFO里的數(shù)據(jù)數(shù)量0000接收FIFO計(jì)數(shù)器3:0接

26、收 FIFO里的數(shù)據(jù)數(shù)量0000第40頁/共121頁41 UART的寄存器 8.Modem狀態(tài)寄存器: Modem狀態(tài)寄存器0(UMSTAT0)、寄存器1(UMSTAT1)的地址分別為0 x01D0001C、0 x01D0401C,可讀, 初始值為0 x06。 發(fā)送/接收保持(緩沖區(qū))寄存器: 發(fā)送/接收保持寄存器0(UTXH0)、寄存器1(UTXH1)的地址在小模式下分別為0 x01D00020、0 x01D04020,在大模式下分別為0 x01D00023、0 x01D04023,可寫, 初始值可編程。 10.UART波特率除數(shù)寄存器 UART波特率除數(shù)寄存器0(UBRDIV0)、寄存器1

27、(UBRDIV1)的地址分別為0 x01D00028、0 x01D04028,可讀寫, 初始值可編程。第41頁/共121頁42 S3C44BOX的UART 的應(yīng)用I/O口設(shè)置 S3C44BOX的串行應(yīng)用接口電路中的PC12,PC13,PE1,PE2是多功能I/O口,因此,在編寫串口數(shù)據(jù)收發(fā)程序之前,首先需要對PC口和PE口的工作模式進(jìn)行設(shè)置。 Rpconc = Ox0f000000|rPCONC; rPUPC = 0 x3000; /設(shè)置內(nèi)部上拉 rPCONE = (rPCONE & Oxfc3)|Oxeb; rPUPE = 0 x6;第42頁/共121頁43 S3C44BOX的UAR

28、T 的應(yīng)用 初始化 對UART口的可配置參數(shù)進(jìn)行初始化,使其能夠按照所要求的通訊方式進(jìn)行通訊。對UART口進(jìn)行初始化的設(shè)置程序見課本P186。 Uart_SendByte()見課本P187。 Uart_GetByte()見課本P187。 第43頁/共121頁44 USB接口概述 USB(通用串行總線)接口正在被用于多種嵌入式系統(tǒng)設(shè)備的數(shù)據(jù)通信中,如移動硬盤、數(shù)碼相機(jī)、PDA、高速數(shù)據(jù)采集設(shè)備等。它是由Compaq、HP、Intel、Lucent、Microsoft、NEC和Philips七家公司聯(lián)合推出的新一代標(biāo)準(zhǔn)接口總線。是一種連接外圍設(shè)備的機(jī)外總線。 其主要性能特點(diǎn)如下: 提供機(jī)箱外的熱即

29、插即用功能 ;每個USB系統(tǒng)中有個主機(jī),采用“級聯(lián)”方式USB總線可連接多個外部設(shè)備;適用于帶寬范圍在幾千位秒(Kb/s)一幾百兆位l秒(Mb/s)的設(shè)備;低成本的電纜和連接器;具有錯誤檢測和處理機(jī)制;較低的協(xié)議開銷帶來了高的總線性能;支持主機(jī)與設(shè)備之間的多數(shù)據(jù)流和多消息流傳輸 。第44頁/共121頁45 USB系統(tǒng)組成 一個USB系統(tǒng)由三部分來描述:USB主機(jī):在任一USB系統(tǒng)中只有一個主機(jī),到主計(jì)算機(jī)系統(tǒng)的USB接口被稱作主控制器。 USB設(shè)備:分為Hub(集線器)和Function(功能)兩大類。Hub提供到USB的附加連接點(diǎn),功能為主機(jī)系統(tǒng)提供附加的性能。USB互連:USB互連指的是U

30、SB設(shè)備與主機(jī)的連接和通信方式,它包括總線拓?fù)浣Y(jié)構(gòu)、內(nèi)層關(guān)系、數(shù)據(jù)流模型和USB調(diào)度表。 USB總線用來連接各USB設(shè)備和USB主機(jī) 。第45頁/共121頁46 USB的物理接口 USB總線的電纜有4根導(dǎo)線:一對標(biāo)準(zhǔn)尺寸的雙絞信號線和一對標(biāo)準(zhǔn)尺寸的電源線。 USB總線支持的數(shù)據(jù)傳輸率有三種:高速信令位傳輸率為480Mbs;全速信令位傳輸率為12Mbs;Mb/s。 支持在主控制器與Hub之間用高速傳輸全速和低速數(shù)據(jù),而Hub與設(shè)備之間以全速或低速傳輸數(shù)據(jù),這種支持能力可以將全速設(shè)備和低速設(shè)備對高速設(shè)備可用帶寬的影響減到最小。第46頁/共121頁47 USB的電源 USB的電源規(guī)范包括兩個方面:電

31、源分配用來處理USB設(shè)備如何使用主機(jī)通過USB總線提供的電源。電源管理用來處理USB系統(tǒng)軟件和設(shè)備如何適應(yīng)主機(jī)上的電源管理系統(tǒng)。第47頁/共121頁48 USB的總線協(xié)議 USB是一種查詢(Polling)總線,由主控制器啟動所有的數(shù)據(jù)傳輸。USB上所掛連的外設(shè)通過由主機(jī)調(diào)度的( Host-Scheduled)、基于令牌的(Token-Based)協(xié)議來共享USB帶寬。大部分總線事務(wù)涉及3個包的傳輸 :令牌包 (Token Packet) 數(shù)據(jù)包(Data Packet) 握手包(Handshake Packet)主控制器和Hub之間的某些總線事務(wù)涉及4個包的傳輸,這些類型的事務(wù)用來管理主機(jī)與

32、全/低速設(shè)備之間的數(shù)據(jù)傳輸。主機(jī)與設(shè)備端點(diǎn)之間的USB數(shù)據(jù)傳輸模型被稱作管道,管道有兩種類型:流和消息。第48頁/共121頁49 USB接口工作原理 USB設(shè)備最大的特點(diǎn)就是即插即用,之所以能夠這樣,是因?yàn)閁SB協(xié)議規(guī)定在主機(jī)啟動或USB設(shè)備插入系統(tǒng)時都要對設(shè)備進(jìn)行配置。就是按照USB協(xié)議,在USB主機(jī)與USB設(shè)備之間進(jìn)行的一系列“問答”過程 。從而主機(jī)知道了設(shè)備的情況以及該如何與設(shè)備通訊,并為設(shè)備設(shè)置一個唯一的地址 。 在配置階段主機(jī)也了解了設(shè)備端點(diǎn)的使用情況,便可以通過這些端點(diǎn)來進(jìn)行特定傳輸方式的通訊。對于標(biāo)準(zhǔn)USB設(shè)備,操作系統(tǒng)帶有它的驅(qū)動,而不需要編寫專門的主機(jī)驅(qū)動程序。但這樣就必須為

33、它選擇一種標(biāo)準(zhǔn)命令集;但對于非標(biāo)準(zhǔn)設(shè)備,則可以自定義一套請求指令集,并需要編寫專門的主機(jī)驅(qū)動程序來實(shí)現(xiàn)對USB設(shè)備的操作。第49頁/共121頁50 USB設(shè)備應(yīng)用對USB設(shè)備的開發(fā)需要考慮的因素:選擇USB接口控制器芯片。編寫USB設(shè)備要執(zhí)行的USB通信代碼(也稱為固件程序)。USB設(shè)備需要執(zhí)行的其他功能,例如處理接收數(shù)據(jù)和即將發(fā)送數(shù)據(jù)所需要的硬件和程序代碼。一臺支持USB接口的主機(jī)。主機(jī)上裝有與USB設(shè)備通信的驅(qū)動軟件。如果USB設(shè)備不是操作系統(tǒng)支持的標(biāo)準(zhǔn)設(shè)備,則主機(jī)上必須具有專用的應(yīng)用軟件來訪問USB設(shè)備。第50頁/共121頁51 USB設(shè)備應(yīng)用 USB設(shè)備開發(fā)的一般步驟:根據(jù)所要開發(fā)的設(shè)

34、備的功能需要,確定設(shè)備在USB總線上的位置、傳輸數(shù)據(jù)的速度以及傳輸數(shù)據(jù)的量等,從而確定選擇哪一類的USB控制器芯片,并進(jìn)一步具體決定采用芯片的廠家和型號,然后根據(jù)該器件和其他所需芯片進(jìn)行電路設(shè)計(jì)。編寫固件程序,其作用是讓主機(jī)能夠識別該設(shè)備,并響應(yīng)主機(jī)的各種請求。根據(jù)所用設(shè)備是否為標(biāo)準(zhǔn)USB設(shè)備,來決定是另外編寫驅(qū)動,還是使用操作系統(tǒng)自帶的驅(qū)動程序來訪問USB設(shè)備。把編寫好的固件程序載入 USB設(shè)備,并將USB設(shè)備插入主機(jī)總線打開應(yīng)用程序可以對該設(shè)備進(jìn)行指定的操作。按需要調(diào)試和重復(fù)以上步驟。第51頁/共121頁52 以太網(wǎng)接口概述 以太網(wǎng)以其高度靈活、相對簡單、易于實(shí)現(xiàn)的特點(diǎn),成為當(dāng)今最重要的一

35、種局域網(wǎng)建網(wǎng)技術(shù)。通常所說的以太網(wǎng)主要是指以下3種不同的局域網(wǎng)技術(shù):以太網(wǎng)/IEEE 802.3 采用同軸電纜作為網(wǎng)絡(luò)介質(zhì),傳輸速率達(dá)到10 Mbps。100 Mbps以太網(wǎng) 又稱為快速以太網(wǎng),采用雙紋線作為網(wǎng)絡(luò)介質(zhì),傳輸速率達(dá)到100 Mbps。1000 Mbps以太網(wǎng) 又稱為千兆以太網(wǎng),采用光纜或雙紋線作為網(wǎng)絡(luò)介質(zhì),傳輸速率達(dá)到1000 Mbps(1 Gbps)。 第52頁/共121頁53 以太網(wǎng)工作原理 以太網(wǎng)最早是由Xeros公司開發(fā)的一種基帶局域網(wǎng)技術(shù); 使用同軸電纜作為網(wǎng)絡(luò)介質(zhì); 以太網(wǎng)采用廣播機(jī)制; 采用載波多路訪問和碰撞檢測(CSMA/CD)機(jī)制; 數(shù)據(jù)傳輸速率達(dá)到10 Mbp

36、s; 以太網(wǎng)IEEE 8023通常使用專門的網(wǎng)絡(luò)接口卡或通過系統(tǒng)主電路板上的電路實(shí)現(xiàn)。第53頁/共121頁54 以太網(wǎng)的傳輸編碼 曼徹斯特編碼 差分曼徹斯特編碼 第54頁/共121頁55 以太網(wǎng)幀格式 字段同步位分隔位目的地址源地址類型長度數(shù)據(jù)段填充位FCS長度568484816461 500X32在以太網(wǎng)幀中,同步位、分隔位、填充位和校驗(yàn)位這幾個字段都是由以太網(wǎng)控制器自動產(chǎn)生的;人們所關(guān)心的只是目的地址、源地址、類型和數(shù)據(jù)這4個字段的內(nèi)容;所有數(shù)據(jù)位的傳輸由低位開始(傳輸?shù)奈涣魇褂寐鼜厮固鼐幋a);以太網(wǎng)的沖突退避算法是由硬件自動執(zhí)行的; 第55頁/共121頁56 以太網(wǎng)控制器RTL8019

37、RTL8019是高度集成的以太網(wǎng)控制器,為即插即用式NE2000兼容網(wǎng)絡(luò)適配器提供了簡易的解決方案。RTL8019共有32個輸入輸出地址,對應(yīng)地址偏移量為00hlFh。RTL8019的內(nèi)部寄存器是分頁的,每個寄存器都是8位。第56頁/共121頁57 RTL8019的復(fù)位RTL8019的復(fù)位引腳RSTDRV是高電平有效的復(fù)位信號,高電平時間長度需大于800 ns,通常在RSTDRV從高電平回到低電平之后的100ms時,再對RTL8019進(jìn)行讀寫操作,以確保完全復(fù)位。當(dāng)處理器復(fù)位時,以太網(wǎng)控制器也復(fù)位。熱復(fù)位:為了保證能夠完全復(fù)位,可以使用熱復(fù)位方法。18h一1Fh的8個地址,為復(fù)位端口,對該端口

38、的偶數(shù)地址讀或?qū)懭肴魏螖?shù),都會引起以太網(wǎng)控制器的復(fù)位,這種方式稱為熱復(fù)位。中斷狀態(tài)寄存器中的第7位RST跟復(fù)位有關(guān),它的地址為07h,位于第0頁,可直接讀寫。在以太網(wǎng)控制器執(zhí)行了正確復(fù)位之后該位為1。一般在復(fù)位之后檢查該標(biāo)志位,以確認(rèn)是否復(fù)位成功。第57頁/共121頁58 RTL8019寄存器 CR:地址偏移量是00h,長度為一個字節(jié)。 位符號描述7,6PS1,PS0選擇寄存器頁 00:0頁 01:1頁 10:2頁 11:3頁(為RTL8019AS配置)53RD20表示要執(zhí)行的功能 000:不允許001:遠(yuǎn)程讀取以太網(wǎng)控制器內(nèi)存010:遠(yuǎn)程寫入以太網(wǎng)控制器內(nèi)存011:發(fā)送包 1XX:中止/完成

39、遠(yuǎn)程DMA2TXP要發(fā)送數(shù)據(jù)包時,要將該位置1,該位可能在發(fā)送完成后或者發(fā)送中止時內(nèi)部清0,對該位寫0操作無效1STA寫STP組合使用0STP該位是停止命令。該位被置1,就停止接收或發(fā)送任何數(shù)據(jù)包,上電時該位為1。STA 與STP組合使用,10:啟動命令 01:停止命令第58頁/共121頁59 RTL8019寄存器(1)2.與發(fā)送接收相關(guān)的寄存器:PSTART:接收緩沖區(qū)的起始頁地址(位于01h,在第0頁可寫,在第2頁可讀)。PSTOP:接收緩沖區(qū)的結(jié)束頁地址(該頁不用于接收,位于02h,在第0頁可寫,在第2頁可讀)。BNRY:邊界寄存器(作為讀指針使用,位于03h,在第0頁可讀寫)。這個寄存

40、器用來避免對環(huán)形接收緩沖區(qū)中數(shù)據(jù)的錯誤覆蓋,通常用作指針,指向接收緩沖區(qū)中已經(jīng)被讀取的最后一個頁。CURR:當(dāng)前頁寄存器(作為寫指針使用,位于07h,在第1頁可讀寫)。這個寄存器的內(nèi)容指向接收緩沖區(qū)中第一個可用于接收新數(shù)據(jù)的頁面。DCR:數(shù)據(jù)配置寄存器。將它設(shè)置為使用FIFO緩存,普通模式,8位數(shù)據(jù)傳輸模式。字節(jié)順序?yàn)楦呶蛔止?jié)在前,低位字節(jié)在后。第59頁/共121頁60 RTL8019寄存器(2)TPSR:為發(fā)送頁的起始頁地址。初始化為指向第一個發(fā)送緩沖區(qū)的頁。RCR :接收配置寄存器,設(shè)置為使用接收緩沖區(qū),僅接收與自己地址相匹配的數(shù)據(jù)包(以及廣播地址數(shù)據(jù)包)和多點(diǎn)播送地址包;小于64字節(jié)的包

41、和校驗(yàn)錯的數(shù)據(jù)包將被丟棄。TCR:發(fā)送配置寄存器,啟用CRC(循環(huán)冗余校驗(yàn))自動生成和校驗(yàn)功能,工作在正常模式。RSAR0,1:對存儲器進(jìn)行操作的起始地址寄存器,RSAR0存放低8位,RSARl存放高8位。RBCR0,1:對存儲器操作的字節(jié)計(jì)數(shù)寄存器,RBCR0存放低8位,RBCRl存放高8位。TBCR0,1:發(fā)送字節(jié)計(jì)數(shù)器,這兩個寄存器設(shè)置了要發(fā)送數(shù)據(jù)包中的字節(jié)個數(shù)。TBCR0存放低8位,TBCRl存放高8位。第60頁/共121頁61 RTL8019寄存器 3.其他寄存器:IMR:中斷屏蔽寄存器,設(shè)置成0 x00時,屏蔽所有的中斷,設(shè)置成0 xFF將允許中斷。MAR0一MAR8:多點(diǎn)播送地址

42、,可以全寫0 xFF。PAGE2的寄存器是只讀的,不用設(shè)置。PAGE3的寄存器不是NE2000兼容的,所以也不用設(shè)置。第61頁/共121頁62 RAM空間結(jié)構(gòu) 以太網(wǎng)控制器含有16KB的RAM,地址為0 x40000 x7FFF,每256個字節(jié)稱為一頁,共有64頁。 使用0 x400 x45作為以太網(wǎng)控制器的發(fā)送緩沖區(qū),共6頁。使用0 x460 x5F作為以太網(wǎng)控制器的接收緩沖區(qū),共32頁。 CURR和BNRY寄存器是以太網(wǎng)數(shù)據(jù)收發(fā)中用到的兩個最主要的寄存器,CURR和BNRY主要用來控制緩沖區(qū)的存取過程,保證能順次寫入和讀出。 CURR是以太網(wǎng)控制器寫接收緩沖區(qū)的指針。BNRY指向接收緩沖區(qū)

43、中已經(jīng)被讀取的最后一個頁。第62頁/共121頁63 網(wǎng)卡的物理地址 在完成對寄存器的初始化后,還要對以太網(wǎng)控制器的物理地址(即48位的以太網(wǎng)控制器地址)進(jìn)行設(shè)置。 RAM地址中的0 x00000 x000B的12字節(jié)是網(wǎng)卡的物理地址。網(wǎng)卡的物理地址本應(yīng)該是6個字節(jié)的,這12字節(jié)是單雙地址重復(fù)存儲的。0 x000B后面的地址存儲的是生產(chǎn)廠商的代碼和產(chǎn)品標(biāo)識代碼,也是單雙地址重復(fù)存儲的。 第63頁/共121頁64 以太網(wǎng)模塊的接口設(shè)計(jì) 配置RTL8019:為了系統(tǒng)的精簡,配置RTL8019為非即插即用模式。有著固定的中斷,有著固定的端口地址。 以太網(wǎng)模塊與處理器的接口電路:第64頁/共121頁65

44、 以太網(wǎng)模塊的接口設(shè)計(jì)1.寄存器地址映射:采用nGCS5作為以太網(wǎng)模塊的地址使能位,將以太網(wǎng)卡映射在了系統(tǒng)的Bank5上,地址從0 xa000000開始,由此,要在程序中定義RTL8019的寄存器地址。2.書寫RTL8019中的頁面切換函數(shù),熱復(fù)位函數(shù)(硬件復(fù)位之后的一次熱復(fù)位)和初始化函數(shù)(設(shè)置接收緩沖區(qū)的位置和以太網(wǎng)物理地址,初始化寄存器,設(shè)置中斷的模式)。通過RTL8019傳輸數(shù)據(jù):數(shù)據(jù)的發(fā)送校驗(yàn),總線數(shù)據(jù)包的碰撞檢測與避免都由芯片自己完成的,我們只需要配置發(fā)送數(shù)據(jù)的物理層地址的源地址、目的地址、數(shù)據(jù)包類型以及發(fā)送的數(shù)據(jù)就可以進(jìn)行數(shù)據(jù)發(fā)送了。第65頁/共121頁66 IIC接口概述 II

45、C是一種雙向兩線制的串行總線,由于它支持任何一種IC制造工藝,且能夠提升硬件的效率和簡化電路的設(shè)計(jì),因此眾多廠商都提供了IIC兼容芯片。 S3C44BOX內(nèi)部也具有IIC總線接口模塊,支持一個多主IIC-BUS串形接口,主S3C44B0X能發(fā)送或接收串形數(shù)據(jù)到從設(shè)備,并遵守標(biāo)準(zhǔn)的IIC協(xié)議。 IIC總線操作模式為:主發(fā)送模式、主接收模式、從發(fā)送模式、從接收模式。 第66頁/共121頁67 IIC總線通用傳輸格式 1.起始條件和停止條件:起始條件發(fā)生在SCL信號為高時,SDA產(chǎn)生一個由高變低的電平變化處。停止條件發(fā)生在SCL信號為高時,SDA產(chǎn)生一個由低變高的電平變化處。 2.數(shù)據(jù)傳輸格式: 每

46、個字節(jié)長度都是8位,每次傳輸中字節(jié)的數(shù)量沒有限制。在起始條件后面的第一個字節(jié)是地址域,之后,每個傳輸?shù)淖止?jié)后面都有一個應(yīng)答(ACK)位。傳輸中串行數(shù)據(jù)的MSB(字節(jié)的高位)首先發(fā)送。應(yīng)答信號: ACK脈沖信號在SCL線上第9個時鐘處發(fā)出。第67頁/共121頁68 S3C44B0X的IIC總線 S3C44B0X處理器多主模式的IIC總線串行接口。S3C44B0X采用專門的串行數(shù)據(jù)線(SDA)和串行時鐘線(SCL)與總線上的其他外設(shè)傳輸信息。IIC總線操作讀寫操作配置IIC總線IIC總線接口專用寄存器第68頁/共121頁69 CAN總線概述 CAN全稱為Controller Area Networ

47、k,即控制器局域網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。 CAN的主要特點(diǎn)包括:低成本;極高的總線利用率;很遠(yuǎn)的數(shù)據(jù)傳輸距離(長達(dá)10公里);高速的數(shù)據(jù)傳輸速率(高達(dá)1Mbit/s);可根據(jù)報(bào)文的ID決定接收或屏蔽該報(bào)文;可靠的錯誤處理和檢錯機(jī)制;發(fā)送的信息遭到破壞后可自動重發(fā);節(jié)點(diǎn)在錯誤嚴(yán)重的情況下具有自動退出總線的功能;報(bào)文不包含源地址或目標(biāo)地址,僅用標(biāo)志符來指示功能信息優(yōu)先級; 第69頁/共121頁70 CAN總線與同步串行接口SIOS3C44B0X 的SIO能與各種類型的串行外設(shè)接口,這個SIO模塊能以一定的頻率(由寄存器設(shè)定)發(fā)送或接收8位串行數(shù)據(jù)。時鐘源可以選擇內(nèi)部時鐘或外部時鐘。S

48、IO模塊功能:8位數(shù)據(jù)緩沖(SIODAT);12位的預(yù)定標(biāo)器(SBRDR);8位間隔計(jì)數(shù)器(ITVCNT);時鐘源選擇邏輯;串行數(shù)據(jù)I/O腳(SIORXD和 SIOTXD);外部時鐘輸入輸出腳(SIOCK);DMA運(yùn)行模式。第70頁/共121頁71 SIO正常操作模式操作模式:發(fā)送與接收同時進(jìn)行,一個發(fā)送數(shù)據(jù)腳,一個接收數(shù)據(jù)腳,當(dāng)一個字節(jié)寫入SIODAT數(shù)據(jù)寄存器,如果SIO運(yùn)行位設(shè)置和發(fā)送模式允許,則SIO開始發(fā)送數(shù)據(jù)。對SIO模塊編程的步驟:配置I/O腳(SIOTXD, SIOCLK, SIORXD);設(shè)置SIOCON為適當(dāng)?shù)呐渲茫辉O(shè)置串行I/O中斷允許位;如果想發(fā)送數(shù)據(jù),寫數(shù)據(jù)到SIOD

49、AT;設(shè)置SIOCON3為1,開始數(shù)據(jù)移位操作;當(dāng)數(shù)據(jù)移位操作完成時,SIO中斷被請求和SIODAT接收到數(shù)據(jù);返回第4步。第71頁/共121頁72 SIO DMA 操作 在自動運(yùn)行模式(非握手模式)下,SIO等待直到發(fā)送的數(shù)據(jù)被外部目標(biāo)設(shè)備讀走,在每次8位數(shù)據(jù)發(fā)送后,SIO插入一個可編程的間隔周期。 1.DMA發(fā)送數(shù)據(jù)步驟:清DCNTZ為0,使SIO能請求DMA服務(wù)。除了SIOCON1:0必須為00外, 適當(dāng)?shù)呐渲肧IO;適當(dāng)?shù)呐渲肈MA;SIO被配置為DMA發(fā)送模式;SIO自動請求DMA服務(wù);SIO發(fā)送數(shù)據(jù);返回步驟4直到DMA計(jì)數(shù)為0;設(shè)置DCNTZ為1,停止SIO請求進(jìn)一步的DMA服務(wù)

50、。第72頁/共121頁73 SIO DMA 操作接收數(shù)據(jù)步驟:清DCNTZ為0,使SIO能請求DMA服務(wù).除了SIOCON1:0必須為00外, 適當(dāng)?shù)呐渲肧IO;適當(dāng)?shù)呐渲肈MA;SIO被配置為DMA只接模式;設(shè)置SIOCON3 (SIO 開始位)來開始接收操作;SIO在接收到8位數(shù)據(jù)后請求DMA服務(wù);返回步驟5直到DMA計(jì)數(shù)為0;設(shè)置DCNTZ為1,停止SIO請求進(jìn)一步的DMA服務(wù)。 第73頁/共121頁74 SIO接口寄存器 1)SIO控制寄存器(SIOCON):其地址為0 x01D14000,可讀寫,初始值為0 x00。 2)SIO 數(shù)據(jù)寄存器 (SIODAT):是一個8位的SIO 數(shù)據(jù)

51、寄存器,它用于存放要發(fā)送數(shù)據(jù)或已接收的數(shù)據(jù),地址為0 x01D14004,可讀寫, 初始值為 0 x00。 3)SIO 波特率預(yù)定標(biāo)器寄存器 (SBRDR):用來確定SIO的波特率。是12位寄存器,地址為0 x01D14008,可讀寫,初始值為0 x00。 SIO的 波特率 = MCLK / 2 /( SBRDR寄存器的值 + 1) 4)SIO 間隔計(jì)數(shù)寄存器(IVTCNT): IVTCNT是一個8位計(jì)數(shù)器,地址為0 x01D1400C,可讀寫,初始值為0 x00。在自動運(yùn)行模式下,每傳送8位數(shù)據(jù)插入一個時間間隔: 時間間隔 = MCLK / 4/ ( IVTCNT +1) 5)SIO 間隔計(jì)

52、數(shù)寄存器(IVTCNT):當(dāng)SIO工作在DMA模式時,對應(yīng)的DCNTZ必須為0,當(dāng)DMA完成時,對應(yīng)的DCNTZ設(shè)置為1。DCNTZ地址為0 x01D14010,可讀寫,初始值為 0 x00。第74頁/共121頁75 中斷接口概述 S3C44BOX具有30個中斷源,包括1個看門狗定時器,6個定時器,6個UART,8個外部,4個DMA,2個RTC,1個ADC,1個IIC和1個SIO共30個中斷。 S3C44BOX內(nèi)置的中斷控制器可以接收來自30個中斷源的請求。S3C44B0X支持新的中斷處理模式稱為矢量中斷模式。中斷控制器的角色,就是響應(yīng)來自FIQ(快速中斷請求)或IRQ(普通中斷請求)的中斷,

53、并請求內(nèi)核對中斷進(jìn)行處理。 多個中斷請求發(fā)生時,由硬件優(yōu)先級邏輯確定應(yīng)該有哪個中斷得到服務(wù),同時硬件邏輯使中斷向量表的跳轉(zhuǎn)指令加載到(0X18或0X1C)位置,在該位置執(zhí)行跳轉(zhuǎn)指令使程序跳到相應(yīng)的中斷服務(wù)線程,因此相對于傳統(tǒng)的ARM的軟件方法能夠大大減少中斷進(jìn)入延時。 第75頁/共121頁76 中斷控制器 ARM7TDMI有2種類型的中斷模式:FIQ和IRQ。 IRQ和FIQ之間的區(qū)別是:對于FIQ必須盡快處理事件并離開這個模式;IRQ可以被FIQ中斷,但I(xiàn)RQ不能中斷FIQ;為了使FIQ更快,FIQ模式具有更多的私有寄存器。2.PSR的F位和I位 PSR指ARM7TDMI處理器的程序狀態(tài)寄存

54、器。如果PSR的F位被設(shè)置為1,處理器將不接受來自中斷控制器的FIQ;如果PSR的I位被設(shè)置為1,處理器將不接受來自中斷控制器的IRQ。 因此,為了使能相應(yīng)中斷機(jī)制,PSR的F位或I位必須被清0,同時中斷屏蔽寄存器INTMSK的相應(yīng)位也必須被清0。第76頁/共121頁77 中斷控制器INTPND INTPND的各位指示了某個中斷請求是否還未被處理。在INTPND中將要或已被置位的中斷位稱為pending位。INTPND是一個只讀寄存器,在中斷服務(wù)程序中要想清除pending位時,需要采用在中斷服務(wù)寄存器I_ISPC或F_ISPC的相應(yīng)位寫入1的方式實(shí)現(xiàn)。 INTPND寄存器中的26個位對應(yīng)著每

55、一個中斷源。當(dāng)某個中斷產(chǎn)生時,INTPND中的相應(yīng)位就會置1,說明該中斷還未被處理。在中斷服務(wù)程序中,當(dāng)處理結(jié)束后必須及時清除該pending位,從而使系統(tǒng)能夠及時再次響應(yīng)該類型的中斷。4. 中斷屏蔽寄存器INTMSK 如果該寄存器的某位被置1,則與該位對應(yīng)的中斷響應(yīng)被禁止。如果對應(yīng)位為0,則這個中斷發(fā)生時將會被正常響應(yīng)。 如果某個中斷在INTMSK寄存器中的對應(yīng)位為1,但是又有這個中斷發(fā)生,則它的pending位還是會置位,只是不會自動轉(zhuǎn)入中斷服務(wù)程序。如果全局屏蔽位被置1,那么,當(dāng)任一中斷發(fā)生時,中斷pending位還是會置位,但是所有的中斷都不會得到服務(wù)。第77頁/共121頁78 中斷源

56、 在30個中斷源中有26個中斷源提供給中斷控制器,4個外部中斷(EINT4/5/6/7)請求是通過“或”的形式合成為1個中斷源送至中斷控制器,2個UART錯誤中斷(UERRORO/1)也是如此。 下頁續(xù)第78頁/共121頁79 中斷源n注意:EINT4, EINT5, EINT6和EINT7分享同一個中斷請求源,中斷服務(wù)程序ISR要通過讀取EXTINTPND3-0寄存器來區(qū)別這4個中斷源,并在處理結(jié)束時通過將EXTINTPND3-0中對應(yīng)位寫1來清除該位。 第79頁/共121頁80 中斷優(yōu)先級產(chǎn)生模塊 S3C44BOX中斷優(yōu)先級的決定有兩種方式:通過軟件查詢決定中斷優(yōu)先級,該方式在跳到相應(yīng)服務(wù)

57、程序之前需要一個較長的延遲時間;通過硬件決定中斷優(yōu)先級:矢量中斷模式。 如果中斷向量模式使用和一個中斷源被配置為ISQ中斷,中斷將被中斷優(yōu)先級產(chǎn)生模塊處理。中斷優(yōu)先級產(chǎn)生模塊處理包括五個單元:1個主單元,4個從單元,每個從單元管理6個中斷源,包括4個優(yōu)先級次序可編程的優(yōu)先級源(sGn)和2個固定優(yōu)先級源。一個主單元管理4個從單元mGn和2個中斷源mGKn,用來確定4個從單元和2個中斷源的優(yōu)先級mGKn。第80頁/共121頁81 中斷優(yōu)先級 如果中斷源A被設(shè)置為FIQ中斷,而中斷源B設(shè)置為IRQ中斷,那么中斷源A比中斷源B具有更高的中斷優(yōu)先級,因?yàn)樵谌魏吻闆r下,FIQ中斷都比IRQ中斷具有更高的

58、優(yōu)先級。 如果中斷源A和中斷源B在不同的主單元中,并且A所在的主單元的優(yōu)先級比B所在的主單元優(yōu)先級高,則中斷源A的優(yōu)先級肯定比中斷源B的優(yōu)先級高。 如果中斷源A和B在同一個主單元中,且中斷源A的優(yōu)先級比B高,則A具有更高的優(yōu)先級。 位于sGA, sGB, sGC和sGD的中斷優(yōu)先級總是高于位于sGKA和sGKB的中斷優(yōu)先級。在sGA,sGB,sGC和sGD之間的優(yōu)先級的高低是可編程的,或者通過Round一Robin(輪轉(zhuǎn))方式來決定。在sGKA和sGKB之間,sGKA總是擁有更高的優(yōu)先級。mGA, mGB, mGC和mGD組中的中斷優(yōu)先級總是高于mGKA和mGKB。因此,MGKA和mGKB在所

59、有中斷源之中優(yōu)先級是最低的。第81頁/共121頁82 中斷矢量地址表 分支指令機(jī)器代碼= 0= 0 xea000000 +( - xea000000 +( - - 0 x8)2) - 0 x8)2) 其中destination address為中斷服務(wù)線程ISR 的開始地址,vector address 為中斷源在中斷相量表中的地址,即分支指令所在地址,分支指令機(jī)器代碼有硬件自動產(chǎn)生。第82頁/共121頁83 中斷矢量地址表 每個中斷源對應(yīng)的矢量地址 中斷源矢量地址中斷源矢量地址EINT00 x00000020INT_TIMER10 x00000064EINT10 x00000024INT_T

60、IMER20 x00000068EINT20 x00000028INT_TIMER30 x0000006cEINT30 x0000002cINT_TIMER40 x00000070EINT4/5/6/70 x00000030INT_TIMER50 x00000074TICK0 x00000034INT_URXD00 x00000080INT_ZDMA00 x00000040INT_URXD10 x00000084INT_ZDMA10 x00000044INT_IIC0 x00000088INT_BDMA00 x00000048INT_SIO0 x0000008cINT_BDMA10 x0000004cINT_

溫馨提示

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

最新文檔

評論

0/150

提交評論