嵌入式系統(tǒng)講義s3c2410x系統(tǒng)結(jié)構(gòu)_第1頁(yè)
已閱讀1頁(yè),還剩147頁(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、嵌入式系統(tǒng)講義第4章 S3C2410X系統(tǒng)結(jié)構(gòu),周國(guó)運(yùn)2007.3,第4章 S3C2410X系統(tǒng)結(jié)構(gòu),4.1 S3C2410X概述4.2 存儲(chǔ)器配置4.3 時(shí)鐘和電源管理4.4 DMA4.5 I/O端口4.6 PWM4.7 UART接口,,4.8 中斷控制器4.9 ADC4.10 RTC4.11 看門狗4.12 IIC接口4.13 SPI接口4.14 其它接口,主要內(nèi)容,4

2、.14 其它接口1、LCD控制器2、觸摸屏接口3、USB接口4、SD接口5、IIS接口,4.1 S3C2410X概述,主要內(nèi)容主要特性系統(tǒng)結(jié)構(gòu)引腳信號(hào),,4.1 S3C2410X概述,S3C2410X是韓國(guó)三星公司推出的16/32位RISC微控制器,其CPU采用的是ARM920T內(nèi)核,加上豐富的片內(nèi)外設(shè),為手持設(shè)備和其它應(yīng)用,提供了低價(jià)格、低功耗、高性能微控制器的解決方案。一、主要特性具有16KB指

3、令Cache、 16KB數(shù)據(jù)Cache和存儲(chǔ)器管理單元MMU。外部存儲(chǔ)器控制器,可擴(kuò)展8組,每組128MB,總?cè)萘窟_(dá)1GB;支持從Nand flash存儲(chǔ)器啟動(dòng)。,,55個(gè)中斷源,可以設(shè)定1個(gè)為快速中斷,有24個(gè)外部中斷,并且觸發(fā)方式可以設(shè)定。4通道的DMA,并且有外部請(qǐng)求引腳。3個(gè)通道的UART,帶有16字節(jié)的TX/RX FIFO,支持IrDA1.0功能。具有2通道的SPI、1個(gè)通道的IIC串行總線接口和1個(gè)通道的IIS音頻總

4、線接口。有2個(gè)USB主機(jī)總線的端口,1個(gè)USB設(shè)備總線的端口。有4個(gè)具有PWM功能的16位定時(shí)器和1個(gè)16位內(nèi)部定時(shí)器。8通道的10位A/D轉(zhuǎn)換器,最高速率可達(dá)500kB/s;提供有觸摸屏接口。具有117個(gè)通用I/O口和24通道的外部中斷源。,兼容MMC的SD卡接口。具有電源管理功能,可以使系統(tǒng)以普通方式、慢速方式、空閑方式和掉電方式工作??撮T狗定時(shí)器。具有日歷功能的RTC。有LCD控制器,支持4K色的STN和256K色

5、的TFT,配置有DMA通道。具有PLL功能的時(shí)鐘發(fā)生器,時(shí)鐘頻率高達(dá)203MHz。雙電源系統(tǒng):1.8/2.0V內(nèi)核供電,3.3V存儲(chǔ)器和I/O供電。,二、系統(tǒng)結(jié)構(gòu)主要由兩大部分構(gòu)成:ARM920T內(nèi)核片內(nèi)外設(shè)。,1、ARM920T內(nèi)核由三部分:ARM9內(nèi)核ARM9TDMI、32KB的Cache、MMU。,2、片內(nèi)外設(shè)分為高速外設(shè)和低速外設(shè),分別用AHB總線和APB總線。,三、引腳信號(hào)S3C微控制

6、器是272-FBGA封裝。其信號(hào)可以分成addr0---addr26、Data0---data31、GPA0---GPA22GPB10、GPC15、GPD15、GPE15、GPF7、GPG15、GPH10、EINT23、nGCS0—nGCS7、AIN7、IIC、SPI、OM0---OM3等,大部分都是復(fù)用的,4.2 存儲(chǔ)器配置,4.2.1 S3C2410X的存儲(chǔ)器配置一、概 述S3C2410

7、X的存儲(chǔ)器管理器提供訪問(wèn)外部存儲(chǔ)器的所有控制信號(hào):26位地址信號(hào)、32位數(shù)據(jù)信號(hào)、8個(gè)片選信號(hào)、以及讀/寫控制信號(hào)等。S3C2410X的存儲(chǔ)空間分成8組,最大容量是1GB,bank0---bank5為固定128MB,bank6和bank7的容量可編程改變,可以是2、4、8、16、32、64、128MB,并且bank7的開(kāi)始地址與bank6的結(jié)束地址相連接,但是二者的容量必須相等。bank0可以作為引導(dǎo)ROM,其數(shù)據(jù)線寬只能是

8、16位和32位,復(fù)位時(shí)由OM0、OM1引腳確定;其它存儲(chǔ)器的數(shù)據(jù)線寬可以是8位、16位和32位。S3C2410X的存儲(chǔ)器格式,可以編程設(shè)置為大端格式,也可以設(shè)置為小端格式。,,,,,二、存儲(chǔ)器的控制寄存器內(nèi)存控制器為訪問(wèn)外部存儲(chǔ)空間提供存儲(chǔ)器控制信號(hào), S3C2410X存儲(chǔ)器控制器共有13個(gè)寄存器。,第9次到 此此,1、總線寬度和等待控制寄存器,STn:控制存儲(chǔ)器組n的UB/LB引腳輸出信號(hào)。1:使UB/LB與nBE

9、[3:0]相連;0:使UB/LB與nWBE[3:0]相連WSn:使用/禁用存儲(chǔ)器組n的WAIT狀態(tài)1:使能WAIT;0:禁止WAITDWn:控制存儲(chǔ)器組n的數(shù)據(jù)線寬00:8位;01:16位;10:32位;11:保留,Tacs:設(shè)置nGCSn有效前地址的建立時(shí)間00:0個(gè);01:1個(gè);10:2個(gè);11:4個(gè)時(shí)鐘周期Tcos:設(shè)置nOE有效前片選信號(hào)的建立時(shí)間00:0個(gè);01:1個(gè);10:2個(gè);11:4個(gè)

10、時(shí)鐘周期Tacc:訪問(wèn)周期000:1個(gè);001:2個(gè);010:3個(gè);011:4個(gè)時(shí)鐘100:6個(gè):101:8個(gè);110:10個(gè);111:14個(gè),2、BANKn---存儲(chǔ)器組控制寄存器(n=0--5),Tcoh:nOE無(wú)效后片選信號(hào)的保持時(shí)間00:0個(gè);01:1個(gè);10:2個(gè);11:4個(gè)時(shí)鐘Tcah: nGCSn無(wú)效后地址信號(hào)的保持時(shí)間00:0個(gè);01:1個(gè);10:2個(gè);11:4個(gè)時(shí)鐘Tacp:頁(yè)模式的訪問(wèn)周

11、期00:2個(gè);01:3個(gè);10:4個(gè);11:6個(gè)時(shí)鐘PMC:頁(yè)模式的配置,每次讀寫的數(shù)據(jù)數(shù)00:1個(gè);01:4個(gè);10:8個(gè);11:16個(gè)注:00為通常模式。注:紫色為實(shí)驗(yàn)箱上的配置,其值為0x0700,MT:設(shè)置存儲(chǔ)器類型00:ROM或者SRAM,[3:0]為Tacp和PMC;11:SDRAM, [3:0]為Trcd和SCAN; 01、10:保留Trcd:由行地址信號(hào)切換到列地址信號(hào)的延

12、時(shí)時(shí)鐘數(shù)00:2個(gè)時(shí)鐘;01:3個(gè)時(shí)鐘;10:4個(gè)時(shí)鐘 SCAN:列地址位數(shù)00:8位;01:9位;10:10位,3、BANK6/7---存儲(chǔ)器組6/7控制寄存器,REFEN:刷新控制。1:使能刷新;0:禁止刷新TREFMD:刷新方式。1:自刷新0:自動(dòng)刷新Trp:設(shè)置SDRAM行刷新時(shí)間(時(shí)鐘數(shù))00:2個(gè)時(shí)鐘;01:3個(gè);10:3個(gè);11:4個(gè)時(shí)鐘Tsrc:設(shè)置SDRAM行操作時(shí)間(時(shí)鐘數(shù))

13、00:4個(gè)時(shí)鐘;01:5個(gè);10:6個(gè);11:7個(gè)時(shí)鐘注: SDRAM的行周期= Trp + Tsrc。Refresh_count:刷新計(jì)數(shù)值,4、REFRESH---刷新控制寄存器,Refresh_count:刷新計(jì)數(shù)器值計(jì)算公式:刷新周期=(211- Refresh_count+1)/HCLK例子:設(shè)刷新周期=15.6µs,HCLK=60MHz則刷新計(jì)數(shù)器值=211+1-60×15.6=111

14、31113=0x459=0b10001011001,高24位未用。BURST_EN:ARM突發(fā)操作控制0:禁止突發(fā)操作;1:可突發(fā)操作SCKE_EN:SCKE使能控制SDRAM省電模式0:關(guān)閉省電模式;1:使能省電模式SCLK_EN:SCLK省電控制,使其只在SDRAM訪問(wèn)周期內(nèi)使能SCLK0:SCLK一直有效;1:SCLK只在訪問(wèn)期間有效BK76MAP:控制BANK6/7的大小及映射,5、BANKSIZ

15、E---BANK6/7組大小控制寄存器,BK76MAP:控制BANK6/7的大小及映射100:2MB;101:4MB;110:8MB 111:16MB;000:32MB;001:64MB010:128MB,WBL:突發(fā)寫的長(zhǎng)度。0:固定長(zhǎng)度;1:保留TM:測(cè)試模式。00:模式寄存器集;其它保留CL:列地址反應(yīng)時(shí)間000:1個(gè)時(shí)鐘;010:2個(gè)時(shí)鐘;011:3個(gè)時(shí)鐘;其它保留

16、BT:猝發(fā)類型0:連續(xù);1:保留BL:猝發(fā)時(shí)間000:1個(gè)時(shí)鐘;其它保留,6、MRSRB6/7---BANK6/7模式設(shè)置寄存器,4.2.2 Nand Flash及其控制器,主要內(nèi)容1、Nand Flash控制器概述2、控制器主要特性3、控制器的寄存器4、控制器的工作原理,,4.2.2 Nand Flash及其控制器,Nor flash存儲(chǔ)器:讀速度高,而擦、寫速度低,容量小,價(jià)格高。 Nand fl

17、ash存儲(chǔ)器:讀速度不如Nor flash,而擦、寫速度高,容量大,價(jià)格低。有取代磁盤的趨勢(shì)。因此,現(xiàn)在不少用戶從Nand flash啟動(dòng)和引導(dǎo)系統(tǒng),而在SDRAM上執(zhí) 行主程序代碼。一、Nand Flash控制器概述S3C2410X微控制器從Nand flash的引導(dǎo)功能:其內(nèi)部有一個(gè)叫做“起步石(Steppingstone)”的 SRAM緩沖器,系統(tǒng) 啟動(dòng)時(shí),Nand flash存儲(chǔ)器的前面4KByte字節(jié)將被自

18、動(dòng)載入到起步石中,然后系統(tǒng)自動(dòng)執(zhí)行這些載入的引導(dǎo)代碼。引導(dǎo)代 碼執(zhí)行完畢后,自動(dòng)跳轉(zhuǎn)到SDRAM執(zhí)行。Nand flash操作的校驗(yàn)功能:使用S3C2410X內(nèi)部硬件ECC功能可以對(duì)Nand flash的數(shù)據(jù)進(jìn)行有效性的檢測(cè)。,二、 Nand Flash控制器主要特性 Nand Flash模式:支持讀/擦/編程N(yùn)and flash存儲(chǔ)器。 自動(dòng)導(dǎo)入模式:復(fù)位后,引導(dǎo)代碼被送入Steppingstone,傳送后,引導(dǎo)代碼在

19、 Steppingstone中執(zhí)行。 具有硬件ECC(糾錯(cuò)碼)功能:硬件產(chǎn)生糾錯(cuò)代碼。內(nèi)部4KB的SRAM緩沖器Steppingstone,在Nand flash引導(dǎo)后可以作為其他用途使用。,Nand Flash控制器功能框圖主要由6部分組成,三、Nand Flash 控制器的寄存器,NFEN:NF控制器使能控制0:禁止使用;1:允許使用IECC:初始化ECC編碼/解碼器控制位0:不初始化ECC;1

20、:初始化ECCNFCE:NF片選信號(hào)nFCE控制位持續(xù)時(shí)間設(shè)置0: nFCE為低有效;0: nFCE為高無(wú)效TACLE:CLE/ALE持續(xù)時(shí)間設(shè)置值(0---7)持續(xù)時(shí)間= HCLK * (TACLS + 1)CLE/ALE :命令/地址鎖存允許,1、NFCON---Flash配置寄存器,TWRPH0:寫信號(hào)持續(xù)時(shí)間設(shè)置值(0~7)持續(xù)時(shí)間= HCLK * (TWRPH0+1) TWRPH1:寫信號(hào)無(wú)效后

21、CLE/ALE保持時(shí)間設(shè)置值(0~7)持續(xù)時(shí)間= HCLK * (TWRPH1+1),2、NFCMD---Flash命令寄存器,,高24位未用,低8位為讀入或者寫出的數(shù)據(jù),3、NFADDR---Flash地址寄存器,4、NFDATA---Flash數(shù)據(jù)寄存器,高24位未用,低8位為Flash存儲(chǔ)器地址值,RnB:Nand Flash存儲(chǔ)器狀態(tài)位0:存儲(chǔ)器忙;1:存儲(chǔ)器準(zhǔn)備好,5、NFSTAT---Flash狀態(tài)寄存器,6

22、、NFECC---Flash錯(cuò)誤校正碼寄存器,四、Nand Flash 控制器的工作原理 1、自動(dòng)導(dǎo)入啟動(dòng)代碼步驟完成復(fù)位。 如果自動(dòng)導(dǎo)入模式使能,Nand flash存儲(chǔ)器的前面4K字節(jié)被自動(dòng)拷貝到Steppingstone 內(nèi)部緩沖器中。 Steppingstone被映射到nGCS0對(duì)應(yīng)的BANK0存儲(chǔ)空間。 CPU在Steppingstone的4-KB內(nèi)部緩沖器中開(kāi)始執(zhí)行引導(dǎo)代碼。 注意:

23、 在自動(dòng)導(dǎo)入模式下,不進(jìn)行ECC檢測(cè)。因此,Nand flash的前4KB應(yīng)確保不能有位錯(cuò)誤(一 般Nandflash廠家都確保)。,2、Nand FLASH模式配置 通過(guò)NFCONF寄存器配置Nand flash;寫Nand flash命令到NFCMD寄存器;寫Nand flash地址到NFADDR寄存器;在讀寫數(shù)據(jù)時(shí),通過(guò)NFSTAT寄存器來(lái)獲得Nand flash的狀態(tài)信息。應(yīng)該在讀操作前或?qū)懭?之后檢查R/nB

24、信號(hào)(準(zhǔn)備好/忙信號(hào))。 在讀寫操作后要查詢校驗(yàn)錯(cuò)誤代碼,對(duì)錯(cuò)誤進(jìn)行糾正。,3、系統(tǒng)引導(dǎo)和 Nand FLASH 配置 OM[1:0] = 00b:使能Nand flash控制器自動(dòng)導(dǎo)入模式; OM[3:0]為芯片引腳,設(shè)置引導(dǎo)模式、存儲(chǔ)器bank0的數(shù)據(jù)寬度、時(shí)鐘模式等。 OM[1:0] = 01b、10b:bank0數(shù)據(jù)寬度為16位、32位OM[1:0]=11b:測(cè)試模式Nand flash的

25、存儲(chǔ)頁(yè)面大小應(yīng)該為512字節(jié)。 NCON :Nand flash 尋址步驟數(shù)選擇 0:3步尋址;1:4步尋址,4、Nand Flash操作的校驗(yàn)問(wèn)題S3C2410A在寫/讀操作時(shí),每512字節(jié)數(shù)據(jù)自動(dòng)產(chǎn)生3字節(jié)的ECC奇偶代碼(24位)。 24位 ECC 奇偶代碼=18位行奇偶 + 6位列奇偶ECC產(chǎn)生模塊執(zhí)行以下步驟: 當(dāng)MCU寫數(shù)據(jù)到Nand時(shí),ECC產(chǎn)生模塊生成ECC代碼。 當(dāng)MCU從

26、Nand讀數(shù)據(jù)時(shí),ECC產(chǎn)生模塊生成ECC代碼同時(shí)用戶程序?qū)⑺c先前寫入時(shí)產(chǎn) 生的ECC代碼比較。,4.3 DMA控制器,主要內(nèi)容1、概述2、工作原理3、寄存器,,一、概 述S3C2410X有4 個(gè)通道的DMA 控制器,其位于在系統(tǒng)總線和外設(shè)總線之間。每個(gè)DMA 通道都能沒(méi)有約束的實(shí)現(xiàn)系統(tǒng)總線或者外設(shè)總線之間的數(shù)據(jù)傳輸,即每個(gè)通道都能處理下面四種情況:(1) 源器件和目的器件都在系統(tǒng)總線(2) 源器

27、件在系統(tǒng)總線,目的器件在外設(shè)總線(3) 源器件在外設(shè)總線,目的器件在系統(tǒng)總線(4) 源器件和目的器件都在外設(shè)總線DMA的主要優(yōu)點(diǎn)是:可以不通過(guò)CPU的中斷來(lái)實(shí)現(xiàn)數(shù)據(jù)的傳輸,DMA的運(yùn)行可以通過(guò)軟件或者通過(guò)外圍設(shè)備的中斷和請(qǐng)求來(lái)初始化。,二、DMA工作原理1、DMA的服務(wù)對(duì)象每個(gè)DMA通道都有4個(gè)DMA請(qǐng)求源,通過(guò)設(shè)置,可以從中挑選一個(gè)服務(wù)。每個(gè)通道的DMA 請(qǐng)求源如表4-1所示。,表4-1 各通道的DMA

28、 請(qǐng)求源,2、DMA的工作過(guò)程一般DMA的工作過(guò)程如下面所示,(1) 外設(shè)向DMAC 發(fā)出請(qǐng)求 (2)DMAC通過(guò)HOLD 向CPU 發(fā)出總線請(qǐng)求;(3)CPU響應(yīng)釋放三總線,并且發(fā)應(yīng)答HLDA(4)DMAC向外設(shè)發(fā)DMA應(yīng)答,(5)DMAC發(fā)出地址、控制信號(hào),為外設(shè)傳送數(shù)據(jù);(6)傳送完規(guī)定的數(shù)據(jù)后,DMAC撤銷HOLD信號(hào),CPU也撤銷HLDA信號(hào),并且恢復(fù)對(duì)三總線的控制。,1,2,4,5,3,2、DMA的

29、工作過(guò)程S3C2410X的DMA工作過(guò)程可以分為三個(gè)狀態(tài):狀態(tài)1:等待狀態(tài)。DMA 等待一個(gè)DMA請(qǐng)求。如果有請(qǐng)求到來(lái),將轉(zhuǎn)到狀態(tài)2。在這個(gè)狀態(tài)下,DMA ACK和INT REQ為0。 狀態(tài)2:準(zhǔn)備狀態(tài)。DMA ACK變?yōu)?,計(jì)數(shù)器(CURR_TC)裝入DCON[19:0]寄存器。注意:DMA ACK保持為1直至它被清除。狀態(tài)3:傳輸狀態(tài)。DMA控制器從源地址讀入數(shù)據(jù)并將它寫到目的地址,每傳輸一次,CURR_T

30、C數(shù)器(在DSTAT中)減1,并且可能做以下操作:重復(fù)傳輸:在全服務(wù)模式下,將重復(fù)傳輸,直到計(jì)數(shù)器CURR_TC變?yōu)?;在單服務(wù)模式下,僅傳輸一次。,設(shè)置中斷請(qǐng)求信號(hào):當(dāng)CURR_TC變?yōu)?時(shí),DMAC發(fā)出INT REQ信號(hào),而且DCON[29]即中斷設(shè)定位被設(shè)為1。 清除DMA ACK信號(hào):對(duì)單服務(wù)模式,或者全服務(wù)模式 CURR_TC變?yōu)?。注意:在單服務(wù)模式下,DMAC的3個(gè)狀態(tài)被執(zhí)行一遍,然后停止,等待下一個(gè)DMA

31、REQ的到來(lái)。如果DMA REQ到來(lái),則這些狀態(tài)被重復(fù)操作,直到CURR_TC減為0 。 說(shuō)明:DMA傳輸分為一個(gè)單元傳輸和4個(gè)單元突發(fā)式傳輸。,3、外部DMA請(qǐng)求/響應(yīng)規(guī)則DMAC有3種類型的外部DMA請(qǐng)求/響應(yīng)規(guī)則:(1)single service demand,單服務(wù)請(qǐng)求(對(duì)應(yīng)于需求模式)(2)single service handshake,單服務(wù)握手(握手模式)(3)whole service h

32、andshake,全服務(wù)握手(全服務(wù)模式)每種類型都定義了像DMA請(qǐng)求和DMA響應(yīng)這些信號(hào)怎樣與這些規(guī)則相聯(lián)系。demand 與 handshake模式的比較:在一次傳輸結(jié)束時(shí),DMA檢查xnxDREQ(DMA請(qǐng)求)信號(hào)的狀態(tài):在demand模式下:如果DMA請(qǐng)求(xnxDREQ)信號(hào)仍然有效,則傳輸馬上再次開(kāi)始。否則等待。在handshake模式下:如果DMA請(qǐng)求信號(hào)無(wú)效,DMA在兩個(gè)時(shí)鐘周期后將DMA響應(yīng)(

33、xnxDACK)信號(hào)變得無(wú)效。否則,DMA等待直到DMA請(qǐng)求信號(hào)變得無(wú)效。每請(qǐng)求一次傳輸一次。,4、DMA時(shí)序要求基本時(shí)序要求:DMA請(qǐng)求信號(hào)和響應(yīng)信號(hào)的Setup時(shí)間與delay時(shí)間在所有的模式下是相同的。 如果DMA請(qǐng)求信號(hào)的setup時(shí)間滿足要求,則在兩個(gè)周期內(nèi)實(shí)現(xiàn)同步,然后DMA響應(yīng)信號(hào)變得有效。在DMA響應(yīng)信號(hào)有效后,DMA向CPU請(qǐng)求總線。如果它得到總線就執(zhí)行操作。DMA操作完成后,DMA響應(yīng)信號(hào)變得無(wú)效

34、。,三、DMA控制器的相關(guān)寄存器每個(gè)DMA 通道有9 個(gè)控制寄存器(4 個(gè)通道共計(jì)36 個(gè)寄存器),6 個(gè)用來(lái)控制DMA 傳輸,其它3 個(gè)監(jiān)視DMA 控制器的狀態(tài)。,1、DISRCn---DMA源基地址寄存器原名: DMA初始源寄存器,第10次到此,LOC---源所在總線選擇0:AHB;1:APBINC---源地址變化設(shè)置0:源地址增加;1:源地址不變,2、DISRCCn---DMA源控制寄存器,,3、DI

35、DSTn---DMA目的基地址寄存器原名: DMA初始目的寄存器,4、DIDSTCn---DMA初始目的控制寄存器,LOC---目的地址所在總線選擇0:AHB;1:APBINC---目的地址地址變化設(shè)置0:目的地址增加;1:目的地址不變,5、DCONn---DMA控制寄存器,DMD_HS---DMA與外設(shè)握手模式選擇0:需求模式。為單服務(wù),但只要DREQ信號(hào)有效便傳輸1:握手模式。為單服務(wù),要等待DREQ

36、信號(hào)變?yōu)闊o(wú)效, DREQ再有效時(shí)才傳輸。SYNC---DREQ 和DACK信號(hào)與系統(tǒng)總線時(shí)鐘同步選擇0:DREQ和DACK與PCLK(APB clock)同步。慢速外設(shè) 1:DREQ和DACK與HCLK(AHB clock)同步。高速外設(shè) INT---CURR_TC的中斷請(qǐng)求控制0:禁止CURR_TC產(chǎn)生中斷請(qǐng)求1:當(dāng)所有的傳輸結(jié)束時(shí),CURR_TC產(chǎn)生中斷請(qǐng)求 TSZ---傳輸長(zhǎng)

37、度類型選擇0:執(zhí)行單數(shù)據(jù)傳輸 1:執(zhí)行四數(shù)據(jù)長(zhǎng)的突發(fā)傳輸,SERVMODE---傳輸模式選擇0:?jiǎn)畏?wù)傳輸模式,每傳輸一次都要查詢DREQ1:全服務(wù)傳輸模式,不查詢DREQ,但傳輸一次也要釋 放總線。HWSRCSEL ---各DMA通道請(qǐng)求源設(shè)置,,SWHW_SEL--- DMA源選擇方式(軟件或硬件)設(shè)置0:以軟件software方式產(chǎn)生DMA請(qǐng)求,需要用DMASKTRIG

38、控制寄存器中的SW_TRIG位設(shè)置觸發(fā)。1:由位[26:24]提供的DMA源觸發(fā)DMA操作RELOAD---再裝載選擇0:自動(dòng)再裝載,當(dāng)傳輸次數(shù)減為0時(shí)自動(dòng)裝載DMA初值1:不自動(dòng)再裝載,傳輸結(jié)束關(guān)閉DMA通道。DSZ---傳輸數(shù)據(jù)類型設(shè)置00:字節(jié);01:半字;10:字;11:保留,STAT---DMA狀態(tài)00:就緒態(tài),可進(jìn)行傳輸;01:DMA正在傳輸;1X:保留CURRTC---當(dāng)前

39、傳輸計(jì)數(shù)值每傳輸一次其值減1。其初值在DCONn中低20位。,6、DSTATn---DMA狀態(tài)/計(jì)數(shù)寄存器原名:DMA狀態(tài)寄存器,CURR_SRC---當(dāng)前數(shù)據(jù)源地址 注意:(1)DMA每傳輸一次,其地址可能增加4、可能不變 (2)在CURR_SRC為0、且DMA ACK為1時(shí),將S_ADDR源基地址的值裝入。,7、DCSRCn---DMA當(dāng)前源地址寄存器,CURR_DST---當(dāng)前數(shù)據(jù)目的

40、地址注意:(1)DMA每傳輸一次,其地址可能 改變。(2)在CURR_DST為0、且DMA ACK為1時(shí),將D_ADDR的值裝入。,8、DCDSTn---DMA當(dāng)前目的地址寄存器,9、DMASKTRIGn---DMA掩碼(Mask)觸發(fā)寄存器,,STOP---DMA運(yùn)行停止位1:DMA將當(dāng)前數(shù)據(jù)傳輸完立即停止,并且CURR_TC變?yōu)?。注意:如果ON/OFF設(shè)置為OFF,則DMA也停止傳輸。ON/OFF---

41、DMA通道屏蔽位0:關(guān)閉通道;1:開(kāi)放通道如果DCONn[22]設(shè)為非自動(dòng)重裝,DMA則傳輸完成后STOP位置1、并且關(guān)閉通道。注意:在DMA運(yùn)行期間,不要改變其值,并且也不要使用該位停止DMA傳輸,正確的方法應(yīng)該使用STOP位。SW_TRIG: DMA軟件觸發(fā)位設(shè)為1時(shí),實(shí)現(xiàn)軟件觸發(fā)DMA請(qǐng)求。注意:只有當(dāng)DCONn[23]設(shè)為軟件觸發(fā)DMA請(qǐng)求時(shí),其軟件觸發(fā)才有效。,對(duì)DMA應(yīng)用注意:在DMA

42、運(yùn)行中改變DISRCn、DIDSTn寄存器以及改變DCONn中TC的值,對(duì)DMA當(dāng)前的整個(gè)傳輸沒(méi)有影響。而其它寄存器或位值的改變,將立即影響傳輸。,4.5 A/D轉(zhuǎn)換與觸摸屏,主要內(nèi)容1、概述2、結(jié)構(gòu)與工作原理3、寄存器4、應(yīng)用舉例,,一、S3C2410X的A/D 轉(zhuǎn)換器概述S3C2410X中集成了一個(gè)8通道10 位A/D 轉(zhuǎn)換器,A/D 轉(zhuǎn)換器自身具有采樣保持功能。并且S3C2410X的A/D 轉(zhuǎn)換器支持觸摸屏接口

43、。A/D轉(zhuǎn)換器的主要特性:分辨率:10位;精度:±1LSB 線性度誤差: ±1.5---2.0LSB;最大轉(zhuǎn)換速率:500KSPS;輸入電壓范圍:0~3.3v;系統(tǒng)具有采樣保持功能;常規(guī)轉(zhuǎn)換和低能源消耗功能;獨(dú)立/自動(dòng)的X/Y 坐標(biāo)轉(zhuǎn)換模式。,二、A/D轉(zhuǎn)換器結(jié)構(gòu)與工作原理下圖為S3C2410 A/D 轉(zhuǎn)換器和觸摸屏接口的功能塊圖。,1、結(jié)構(gòu)主要由6部分構(gòu)成:信號(hào)輸入通道8轉(zhuǎn)1切

44、換開(kāi)關(guān)A/D轉(zhuǎn)換器控制邏輯中斷信號(hào)發(fā)生器觸摸屏接口,2、工作原理(1)A/D 轉(zhuǎn)換時(shí)間計(jì)算和分辨率當(dāng)PCLK 頻率為50MHz,預(yù)分頻值是49,10 位數(shù)字量的轉(zhuǎn)換時(shí)間如下:A/D 轉(zhuǎn)換頻率=50MHz /(49+1)=1MHz轉(zhuǎn)換時(shí)間=1/(1MHz/5 個(gè)周期)=1/200KHz=5usA/D 轉(zhuǎn)換器最大可以工作在2.5MHz 時(shí)鐘下,所以轉(zhuǎn)換速率可以達(dá)到500KSPS。(2)觸摸屏的

45、結(jié)構(gòu)及工作原理原理:對(duì)于電阻式觸摸屏,由3層透明薄膜構(gòu)成,有一層是電阻層,還有一層是導(dǎo)電層,它們中間有一隔離層,當(dāng)某一點(diǎn)被按壓時(shí),在按壓點(diǎn)電阻層與導(dǎo)電層接觸,如果在電阻層的一邊接電源,另一邊接地,便可測(cè)量出按壓點(diǎn)的電壓,從而可算出其坐標(biāo)。實(shí)現(xiàn)方法:,測(cè)量X坐標(biāo):從XP輸出電壓給X+端,從XM輸出地電位給X-端;從YP腳輸入按壓點(diǎn)電壓??刂菩盘?hào):nYPON=1;nYMON=0nXPON=0;nXMON=1

46、,測(cè)Y,測(cè)X,測(cè)量Y坐標(biāo):從YP輸出電壓給Y+端,從YM輸出地電位給Y-端;從XP腳輸入按壓點(diǎn)電壓??刂菩盘?hào):nYPON=0;nYMON=1nXPON=1;nXMON=0,測(cè)Y,測(cè)X,3、S3C24120X A/D轉(zhuǎn)換器的工作模式有5種:普通轉(zhuǎn)換模式、分離的X/Y坐標(biāo)轉(zhuǎn)換模式、連續(xù)的X/Y坐標(biāo)轉(zhuǎn)換模式、等待中斷模式、靜態(tài)模式。第2---4種是用于觸摸屏。(1)普通轉(zhuǎn)換模式用于一般A/D轉(zhuǎn)換,不是

47、用于觸摸屏。轉(zhuǎn)換結(jié)束后,其數(shù)據(jù)在ADCDAT0中的XPDATA域。(2)分離的X/Y坐標(biāo)轉(zhuǎn)換模式分兩步進(jìn)行X/Y坐標(biāo)轉(zhuǎn)換,其轉(zhuǎn)換結(jié)果分別存于ADCDAT0中的XPDATA域中和ADCDAT1中的YPDATA域中,并且均會(huì)產(chǎn)生INT_ADC中斷請(qǐng)求。(3)自動(dòng)(連續(xù))的X/Y坐標(biāo)轉(zhuǎn)換模式X坐標(biāo)轉(zhuǎn)換結(jié)束啟動(dòng)Y坐標(biāo)轉(zhuǎn)換,其轉(zhuǎn)換結(jié)果分別存于ADCDAT0中的XPDATA域中和ADCDAT1中的YPDATA域中,然后產(chǎn)生I

48、NT_ADC中斷請(qǐng)求。,(4)等待中斷轉(zhuǎn)換模式在該模式下,轉(zhuǎn)換器等待使用者按壓觸摸屏,一旦觸摸屏被按壓,則產(chǎn)生INT_TC觸摸屏中斷請(qǐng)求。中斷后,在中斷處理程序中再將轉(zhuǎn)換器設(shè)置為分離的X/Y坐標(biāo)轉(zhuǎn)換模式、或者連續(xù)的X/Y坐標(biāo)轉(zhuǎn)換模式進(jìn)行處理。觸摸屏接口信號(hào):XP=上拉XM=高阻YP=AIN[5]YM=接地(5)靜態(tài)模式當(dāng)ADCCON中的STDBM設(shè)為1時(shí),轉(zhuǎn)換器進(jìn)入靜態(tài)模式,停止A/

49、D轉(zhuǎn)換。其數(shù)據(jù)域的數(shù)據(jù)保持不變。,三、ADC和觸摸屏專用寄存器有5個(gè)專用寄存器,ECFLG---轉(zhuǎn)換結(jié)束標(biāo)志(只讀)0:轉(zhuǎn)換操作中;1:轉(zhuǎn)換結(jié)束PRSCEN---轉(zhuǎn)換器預(yù)分頻器使能0:停止預(yù)分頻器;1:使能預(yù)分頻器PRSCVL---轉(zhuǎn)換器預(yù)分頻器數(shù)值數(shù)值N范圍:1---255注意:(1)實(shí)際除數(shù)值為N+1 (2)對(duì)N數(shù)值的要求:轉(zhuǎn)換速率應(yīng)該<PCLK/5,1、ADCCON---A

50、DC控制寄存器,SEL_MUX ---模擬輸入通道選擇000:AIN0;001:AIN1010:AIN2011:AIN3……111:AIN7STDBM---備用模式設(shè)置0:正常工作模式;1:備用模式,不做A/D轉(zhuǎn)換READ_START---通過(guò)讀取啟動(dòng)轉(zhuǎn)換0:停止通過(guò)讀取啟動(dòng)轉(zhuǎn)換;1:使能通過(guò)讀取啟動(dòng)轉(zhuǎn)換ENABLE_START---通過(guò)設(shè)置該位啟動(dòng)轉(zhuǎn)換0:無(wú)效;1:?jiǎn)?dòng)A/

51、D轉(zhuǎn)換(啟動(dòng)后被清0)注意:如果READ_START為1,則該位無(wú)效,YM_SEN---選擇YMON的輸出值0:輸出0(YM=高阻);1: 輸出1(YM=GND)YP_SEN---選擇nYPON的輸出值0:輸出0(YP=外部電壓);1:輸出1(YP連接AIN[5])XM_SEN---選擇XMON的輸出值0:輸出0( XM=高阻);1: 輸出1(XM=GND)XP_SEN---選擇nXP的輸出值0

52、:輸出0(XP=外部電壓);1:輸出1(XP連接AIN[7]),2、ADCTSC---ADC觸摸屏控制寄存器,PULL---上拉切換使能0:XP上拉使能;1: XP上拉禁止AUTO_PST---自動(dòng)連續(xù)轉(zhuǎn)換X軸和Y軸坐標(biāo)模式選擇0:普通A/D轉(zhuǎn)換;1:連續(xù)X/Y軸轉(zhuǎn)換模式XY_PST---手動(dòng)測(cè)量X軸和Y軸坐標(biāo)模式選擇00:無(wú)操作模式;01:對(duì)X坐標(biāo)測(cè)量;10:對(duì)X坐標(biāo)測(cè)量;11:等待中斷模

53、式,第一情況:對(duì)普通轉(zhuǎn)換模式、分離的X/Y軸坐標(biāo)轉(zhuǎn)換模式、連續(xù)的X/Y軸坐標(biāo)轉(zhuǎn)換模式,為轉(zhuǎn)換延時(shí)數(shù)值。第二種情況:對(duì)中斷轉(zhuǎn)換模式,為按壓觸摸屏后到產(chǎn)生中斷請(qǐng)求的延遲時(shí)間數(shù)值,其時(shí)間單位為ms。,3、ADCDLY---ADC起始延遲寄存器,UPDOWN---等待中斷模式的按壓狀態(tài)0:觸筆點(diǎn)擊;1:觸筆提起AUTO_PST---自動(dòng)X/Y軸轉(zhuǎn)換模式指示0:普通轉(zhuǎn)換模式;1:X/Y軸坐標(biāo)連續(xù)轉(zhuǎn)換XY_PS

54、T---手動(dòng)X/Y軸轉(zhuǎn)換模式指示00:無(wú)操作;01:為X軸坐標(biāo)轉(zhuǎn)換10:為Y軸坐標(biāo)轉(zhuǎn)換11:為等待中斷轉(zhuǎn)換XPDATA[9:0]:為X軸坐標(biāo)轉(zhuǎn)換數(shù)值、或普通ADC轉(zhuǎn)換數(shù)值具體意義由其它位指示。其值為:0---0x3FF,4、ADCDAT0---ADC轉(zhuǎn)換數(shù)據(jù)0寄存器,第11次到此,UPDOWN---等待中斷模式的按壓狀態(tài)0:觸筆點(diǎn)擊;1:觸筆提起AUTO_PST---自動(dòng)X/Y軸轉(zhuǎn)換模式指示

55、0:普通轉(zhuǎn)換模式;1:X/Y軸坐標(biāo)連續(xù)轉(zhuǎn)換XY_PST---手動(dòng)X/Y軸轉(zhuǎn)換模式指示00:無(wú)操作;01:為X軸坐標(biāo)轉(zhuǎn)換11:為Y軸坐標(biāo)轉(zhuǎn)換11:為等待中斷轉(zhuǎn)換YPDATA[9:0]:為10位Y軸坐標(biāo)轉(zhuǎn)換結(jié)果其值為:0---0x3FF,5、ADCDAT1---ADC轉(zhuǎn)換數(shù)據(jù)1寄存器,例題:編寫程序,對(duì)3通道的模擬量連續(xù)做10次轉(zhuǎn)換,用查詢方式讀取轉(zhuǎn)換結(jié)果,其數(shù)據(jù)存于0x400000開(kāi)始的區(qū)域。AREA

56、 ADC,CODE,READONLYENTRYSTART,#define rADCCON (*(volatile unsigned *)0x58000000)#define rADCDAT0 (*(volatile unsigned *)0x5800000c)#define pref 49#define ch 3void adc(void){int adc_data[10], i;

57、 rADCCON=(1<<14)|(pref<<6)|(ch<<3)|1//允許預(yù)分頻for(i=0;i<10;i++){while(rADCCON&0x8000==0); //查詢轉(zhuǎn)換結(jié)束否adc_data[i]=rADCDAT0&0x3ff; //讀取轉(zhuǎn)換結(jié)果 rADCCON|=1; //再次啟動(dòng)轉(zhuǎn)換}},4

58、.6 中斷,主要內(nèi)容概述結(jié)構(gòu)與工作原理寄存器應(yīng)用舉例,,一、概述S3C2410X中斷控制器有56個(gè)中斷源,對(duì)外提供24個(gè)外中斷輸入引腳,內(nèi)部所有設(shè)備都有中斷請(qǐng)求信號(hào),例如DMA控制器、UART、IIC等等。S3C2410X的ARM920T內(nèi)核有兩個(gè)中斷,IRQ中斷和快速中斷FIQ。中斷仲裁:當(dāng)中斷控制器接收到多個(gè)中斷請(qǐng)求時(shí),其內(nèi)的優(yōu)先級(jí)仲裁器裁決后向CPU發(fā)出優(yōu)先級(jí)最高的中斷請(qǐng)求信號(hào)或快速中斷請(qǐng)求信號(hào)。,

59、二、S3C2410X中斷系統(tǒng)結(jié)構(gòu)1、中斷系統(tǒng)結(jié)構(gòu)主要由中斷源和控制寄存器兩大部分構(gòu)成,其寄存器主要有4種:模式、屏蔽、優(yōu)先級(jí)、掛起(標(biāo)志)寄存器等。,2、中斷優(yōu)先級(jí)仲裁器及工作原理,中斷系統(tǒng)有6個(gè)分仲裁器和1個(gè)總仲裁器,每一個(gè)仲裁器可以處理6路中斷。,三、中斷控制器專用寄存器有8個(gè)專用寄存器,主要使用前5個(gè)寄存器,該寄存器也就是中斷標(biāo)志寄存器各位:1:對(duì)應(yīng)中斷源有中斷請(qǐng)求0:對(duì)應(yīng)中斷源無(wú)中斷請(qǐng)求注意

60、:必須在中斷處理程序中對(duì)其標(biāo)志位清0。,1、SRCPND---中斷源掛起(標(biāo)志)寄存器,,該寄存器是設(shè)置各中斷源是FIQ中斷還是IRQ中斷各位:1:對(duì)應(yīng)中斷源設(shè)為FIQ中斷模式0:對(duì)應(yīng)中斷源設(shè)為IRQ中斷模式,2、INTMOD---中斷模式寄存器,各位:1:屏蔽對(duì)應(yīng)中斷源0:開(kāi)放對(duì)應(yīng)中斷源,3、INTMSK---中斷屏蔽寄存器,4、PRIORITY---中斷優(yōu)先級(jí)寄存器,ARB_SELn---n組優(yōu)先級(jí)順序控制位

61、00:REQ0, 1, 2, 3, 4, 5 01:REQ0, 2, 3, 4, 1, 510:REQ0, 3, 4, 1, 2, 5 11:REQ0, 4, 1, 2, 3, 5ARB_MODEn---n組優(yōu)先級(jí)循環(huán)控制位0:優(yōu)先順序固定不變 1:優(yōu)先順序循環(huán),每響應(yīng)一次中斷,其順序循環(huán)改變一次,但REQ0、REQ5位置不變。,各位:

62、1:對(duì)應(yīng)的中斷源被響應(yīng),且正在執(zhí)行中斷服務(wù)0:對(duì)應(yīng)中斷源未被響應(yīng)注意:必須在中斷處理程序中對(duì)其服務(wù)標(biāo)志位清0。即在清除SRCPND中相應(yīng)位后,要清除該寄存器相應(yīng)位。,5、INTPND---中斷服務(wù)(掛起)寄存器,該寄存器的偏移值指示在INTPND中顯示的中斷源各位:1:對(duì)應(yīng)的中斷源,在INTPND中被置位說(shuō)明:當(dāng)在中斷服務(wù)程序中對(duì)SRCPND、INTPND中的標(biāo)志位清0時(shí),該寄存器的對(duì)應(yīng)位自動(dòng)清0。,6、INTOF

63、FSET---中斷偏移寄存器,7、SUBSRCPND---子中斷源請(qǐng)求標(biāo)志寄存器,對(duì)有多個(gè)中斷源的外設(shè),顯示其具體的中斷請(qǐng)求各位:1:對(duì)應(yīng)的子中斷源有請(qǐng)求0:對(duì)應(yīng)的子中斷源無(wú)請(qǐng)求注意:在中斷服務(wù)程序中,需要對(duì)其置1的標(biāo)志位清0。,8、INTSUBMSK---子中斷源屏蔽寄存器,對(duì)有多個(gè)中斷源的外設(shè),對(duì)具體的中斷源進(jìn)行屏蔽各位:1:屏蔽對(duì)應(yīng)的子中斷源0:開(kāi)放對(duì)應(yīng)的子中斷源,4.7 輸入/輸出口,主要內(nèi)容概述

64、寄存器應(yīng)用舉例,,一、概述S3C2410X有117個(gè)輸入/輸出端口。這些端口是:A口(GPA):23個(gè)輸出口B口(GPB):11個(gè)輸入/輸出口C口(GPC):16個(gè)輸入/輸出口D口(GPD):16個(gè)輸入/輸出口E口(GPE):16個(gè)輸入/輸出口F口(GPF):8個(gè)輸入/輸出口G口(GPG):16個(gè)輸入/輸出口H口(GPH):11個(gè)輸入/輸出口這些端口都具有多功能,通過(guò)引腳

65、配置寄存器,可以將其設(shè)置為所需要的功能,如:I/O功能、中斷功能等等。,,二、端口寄存器及引腳配置每一個(gè)端口都有4個(gè)寄存器,它們是:引腳配置寄存器、數(shù)據(jù)寄存器、引腳上拉寄存器、保留寄存器。,GPADAT寄存器為準(zhǔn)備輸出的數(shù)據(jù)其值為23位[22:0]注意: (1)當(dāng)A口引腳配置為非輸出功能時(shí),其輸出無(wú)意義; (2)從引腳輸入沒(méi)有意義。,1、端口A寄存器及引腳配置,1、端口A寄存器及引腳配置,GPBDAT---為準(zhǔn)備輸

66、出或輸入的數(shù)據(jù)其值為11位[10:0]GPBUP---端口B上拉寄存器,位[10:0]有意義。 0:對(duì)應(yīng)引腳設(shè)置為上拉1:無(wú)上拉功能注意: 當(dāng)B口引腳配置為非輸入/輸出功能時(shí),其寄存器中的值沒(méi)有意義。,2、端口B寄存器及引腳配置,端口B引腳配置寄存器,GPCDAT---為準(zhǔn)備輸出或輸入的數(shù)據(jù)其值為16位[15:0]GPCUP---端口C上拉寄存器,位[15:0]有意義。 0:對(duì)應(yīng)引腳設(shè)置為上拉

溫馨提示

  • 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ù)僅提供信息存儲(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)論