S3C2410A介紹_第1頁(yè)
S3C2410A介紹_第2頁(yè)
S3C2410A介紹_第3頁(yè)
S3C2410A介紹_第4頁(yè)
S3C2410A介紹_第5頁(yè)
已閱讀5頁(yè),還剩136頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院2第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)主要內(nèi)容S3C2410簡(jiǎn)介簡(jiǎn)介 I/O口口中斷中斷DMAA/D接口接口UART觸摸屏觸摸屏LCDUSB設(shè)備的數(shù)據(jù)收發(fā)設(shè)備的數(shù)據(jù)收發(fā)音頻錄放音頻錄放鍵盤和鍵盤和LED控制控制內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院3第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì) 5.1 S3C2410 5.1 S3C2410簡(jiǎn)介簡(jiǎn)介 S3C2410 S3C2410是是SamsungSamsung公司公司推出的推出的16/3216/32

2、位位RISCRISC處理器,主要處理器,主要面向手持設(shè)備以及高性價(jià)比、低功耗的應(yīng)用。面向手持設(shè)備以及高性價(jià)比、低功耗的應(yīng)用。 CPUCPU內(nèi)核采用內(nèi)核采用的是的是ARMARM公司設(shè)計(jì)的公司設(shè)計(jì)的16/3216/32位位ARM920T RISCARM920T RISC處理器處理器。 S3C2410AS3C2410A提供一組完整的系統(tǒng)外圍設(shè)備:提供一組完整的系統(tǒng)外圍設(shè)備:2 2個(gè)個(gè)USBUSB主設(shè)備接口,主設(shè)備接口,1 1個(gè)個(gè)USBUSB從設(shè)備從設(shè)備接口;接口;4 4通道通道PWMPWM定時(shí)器和定時(shí)器和1 1通道內(nèi)部定時(shí)通道內(nèi)部定時(shí)器器看門狗定時(shí)器;看門狗定時(shí)器;117117位通用位通用I/OI/

3、O口和口和2424通道外部中斷源通道外部中斷源電源控制模式包括:正常、慢速、空電源控制模式包括:正常、慢速、空閑和掉電四種模式;閑和掉電四種模式; 8 8通道通道1010位位ADCADC和觸摸屏接口;和觸摸屏接口;具有日歷功能的具有日歷功能的RTCRTC;使用使用PLLPLL的片上時(shí)鐘發(fā)生器。的片上時(shí)鐘發(fā)生器。 1.8V/2.0V1.8V/2.0V內(nèi)核供電,內(nèi)核供電,3.33.3V V存儲(chǔ)器存儲(chǔ)器供電,供電,3.33.3V V外部外部I/OI/O供電;供電;具有具有1616KBKB的的ICacheICache和和1616KBKB的的DCacheDCache以及以及MMUMMU;外部存儲(chǔ)器控制器

4、;外部存儲(chǔ)器控制器;LCDLCD控制器提供控制器提供1 1通道通道LCDLCD專用專用DMADMA4 4通道通道DMADMA并有外部請(qǐng)求引腳;并有外部請(qǐng)求引腳;3 3通道通道UARTUART和和2 2通道通道SPISPI;1 1通道多主機(jī)通道多主機(jī)IICIIC總線和總線和1 1通道通道IISIIS (Inter-IC Sound)總線控制器;總線控制器;SDSD主接口版本主接口版本1.01.0和和MMCMMC卡協(xié)議卡協(xié)議2.112.11兼容版;兼容版;內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院4第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)內(nèi)蒙古大學(xué)

5、電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院5第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院6第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院7第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院8第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院9第第5 5章章 基于

6、基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院10第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院11第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院12第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院13第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件

7、設(shè)計(jì)S3C2410S3C2410結(jié)構(gòu)框圖結(jié)構(gòu)框圖 內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院14第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì) 5 5. .1.1 1.1 S3C2410AS3C2410A的特點(diǎn)的特點(diǎn) 體系結(jié)構(gòu)體系結(jié)構(gòu): :ARM920T,支持WinCE,EPOC 32 和Linux,內(nèi)部AMBA系統(tǒng)管理器系統(tǒng)管理器: :8 個(gè)存儲(chǔ)器bank,每 bank 128M 字節(jié)(總共1G 字節(jié))支持 各種型號(hào)的 ROM 引導(dǎo)(NOR/NAND Flash,EEPROM,或其他)NAND FlashNAND Flash啟動(dòng)裝載器啟動(dòng)裝載器:

8、采用 4KB 內(nèi)部緩沖器進(jìn)行啟動(dòng)引導(dǎo),啟動(dòng)之后 NAND 存儲(chǔ)器仍然作為外部存儲(chǔ)器使用CacheCache存儲(chǔ)器存儲(chǔ)器: :I-Cache(16KB)和D-Cache(16KB),直寫、回寫、寫緩沖時(shí)鐘和電源管理:時(shí)鐘和電源管理: 2.0V最大266MHZ,正常,慢速,空閑和掉電模式中斷控制器:中斷控制器:55 個(gè)中斷源(實(shí)際56路,LCD 2路)具有脈沖帶寬調(diào)制(具有脈沖帶寬調(diào)制(PWMPWM)的定時(shí)器的定時(shí)器RTCRTC(實(shí)時(shí)時(shí)鐘):實(shí)時(shí)時(shí)鐘):秒、分、時(shí)、日期,星期,月和年通用通用I/OI/O口口 UARTUART:3 通道UARTDMADMA控制器控制器 A/DA/D轉(zhuǎn)換和觸摸屏接口轉(zhuǎn)

9、換和觸摸屏接口 :8 通道多路復(fù)用ADC內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院15第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)LCDLCD控制器控制器STN LCDSTN LCD顯示特性:顯示特性:super-twisted nematic超扭曲向列型超扭曲向列型 TFTTFT彩色顯示特性彩色顯示特性 :Thin Film Transistor薄膜晶體管,薄膜晶體管,TFT表現(xiàn)效果比表現(xiàn)效果比 STN好,但是好,但是STN又比又比TFT省電省電 看門狗定時(shí)器;看門狗定時(shí)器;16 位IICIIC總線接口總線接口 IISIIS總線接口:總線接口:1

10、 通道音頻IIS 總線接口,可基于DMA 方式工作 USBUSB主設(shè)備主設(shè)備 USBUSB從設(shè)備從設(shè)備 SDSD主機(jī)接口主機(jī)接口 SPISPI接口接口 工作電壓:工作電壓:內(nèi)核:1.8V 最高200MHz (S3C2410A-20) 2.0V 最高266MHz (S3C2410A-26)存儲(chǔ)器和 IO 口:3.3V封裝封裝 :272FBGA:Fine-Pitch Ball Grid Array:細(xì)間距球柵陣列 內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院16第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì) 5 5. .1.2 1.2 存儲(chǔ)器控制器存儲(chǔ)器控

11、制器 S3C2410A S3C2410A的存儲(chǔ)器控制器提供訪問外部存儲(chǔ)器所需的存儲(chǔ)器控制器提供訪問外部存儲(chǔ)器所需要的存儲(chǔ)器控制信號(hào)。要的存儲(chǔ)器控制信號(hào)。 支持小支持小/ /大端(通過軟件選擇)大端(通過軟件選擇)地址空間:每地址空間:每bankbank有有128128MM字節(jié)(總共有字節(jié)(總共有8 8個(gè)個(gè)banksbanks,共共1 1G G字節(jié))字節(jié))除除bank0bank0(只能是只能是16/3216/32位寬)之外,其他位寬)之外,其他bankbank都具有都具有可編程的訪問大小(可以是可編程的訪問大?。梢允?/16/328/16/32位寬)位寬)總共有總共有8 8個(gè)存儲(chǔ)器個(gè)存儲(chǔ)器ba

12、nksbanks(bank0bank7bank0bank7)其中其中6 6個(gè)個(gè)banksbanks用于用于ROMROM,SRAMSRAM等等剩下剩下2 2個(gè)個(gè)banksbanks用于用于ROMROM,SRAMSRAM,SDRAMSDRAM等等7 7個(gè)固定的存儲(chǔ)器個(gè)固定的存儲(chǔ)器bankbank(bank0bank6bank0bank6)起始地址起始地址最后一個(gè)最后一個(gè)bankbank(bank7bank7)的起始地址是可調(diào)整的的起始地址是可調(diào)整的最后兩個(gè)最后兩個(gè)bankbank(bank6bank7bank6bank7)的大小是可編程的的大小是可編程的所有存儲(chǔ)器所有存儲(chǔ)器bankbank的訪問周

13、期都是可編程的的訪問周期都是可編程的總線訪問周期可以通過插入外部等待來延長(zhǎng)總線訪問周期可以通過插入外部等待來延長(zhǎng)支持支持SDRAMSDRAM的自刷新和掉電模式的自刷新和掉電模式 特性特性 內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院17第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)存儲(chǔ)存儲(chǔ)器映器映射射 內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院18第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì) 5 5. .1.3 1.3 NAND FlashNAND Flash控制器控制器 特性特性 NAND FlashNA

14、ND Flash模式:支持讀模式:支持讀/ /擦除擦除/ /編程編程N(yùn)AND FlashNAND Flash存儲(chǔ)器存儲(chǔ)器。自動(dòng)啟動(dòng)模式:復(fù)位后,啟動(dòng)代碼被傳送到自動(dòng)啟動(dòng)模式:復(fù)位后,啟動(dòng)代碼被傳送到SteppingstoneSteppingstone中。傳送完畢后,啟動(dòng)代碼在中。傳送完畢后,啟動(dòng)代碼在SteppingstoneSteppingstone中執(zhí)行。中執(zhí)行。具備硬件具備硬件ECCECC(校驗(yàn)碼,校驗(yàn)碼,Error Correction CodeError Correction Code)生成模塊生成模塊(硬件生成校驗(yàn)碼,通過軟件校驗(yàn))。(硬件生成校驗(yàn)碼,通過軟件校驗(yàn))。NAND Fl

15、ashNAND Flash啟動(dòng)以后,啟動(dòng)以后,4 4KBKB的內(nèi)部的內(nèi)部SRAMSRAM緩沖器緩沖器SteppingstoneSteppingstone可以作為其他用途使用??梢宰鳛槠渌猛臼褂?。NAND FlashNAND Flash控制器不能通過控制器不能通過DMADMA訪問,可以使用訪問,可以使用LDM/STMLDM/STM指令來代替指令來代替DMADMA操作。操作。 內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院19第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)主要區(qū)別:NOR 閃存支持隨機(jī)訪問,而NAND 閃存是順序訪問器件。 NOR閃存采用了

16、專用地址線和數(shù)據(jù)線,而NAND 復(fù)用地址數(shù)據(jù)線 和NOR 相比, NAND 的單位比特成本更低,容量更大,更穩(wěn)定,而且容易擦除,編程時(shí)間更短。NAND應(yīng)用:USB硬盤、mp3 播放器、數(shù)字音頻記錄、數(shù)碼相機(jī)等的存儲(chǔ)卡。NAND接口信號(hào): I/O0 I/O7:用于輸入地址/數(shù)據(jù)/命令,輸出數(shù)據(jù)CLE:Command Latch Enable,命令鎖存使能 ALE:Address Latch Enable,地址鎖存使能 CE#:Chip Enable,芯片使能,RE#:Read Enable,讀使能WE#:Write Enable,寫使能 WP#:Write Protect,寫保護(hù)R/B#:Rea

17、dy/Busy Output,就緒/忙,主要用于在發(fā)送完編程/擦除命令后,檢測(cè)這些操作是否完成,忙,表示編程/擦除操作仍在進(jìn)行中,就緒表示操作完成.Vcc:Power,電源Vss:Ground,接地內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院20第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)v NAND Flash NAND Flash控制器的結(jié)構(gòu)框圖控制器的結(jié)構(gòu)框圖 內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院21第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)v NAND Flash NAND Flash的工

18、作方式的工作方式 自動(dòng)導(dǎo)入模式的步驟自動(dòng)導(dǎo)入模式的步驟(作業(yè)作業(yè))內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院22第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì) 一般一般ARM上電以后,會(huì)從上電以后,會(huì)從0 x0地址開始執(zhí)行程序地址開始執(zhí)行程序,在在NOR Flash啟動(dòng)方式下啟動(dòng)方式下, CS0接一個(gè)接一個(gè)NOR Flash,里面燒,里面燒入程序,一上電,入程序,一上電,ARM就會(huì)從就會(huì)從NOR Flash里面的里面的0 x0地地址開始執(zhí)行程序,址開始執(zhí)行程序,NOR Flash程序可以在里面運(yùn)行,而程序可以在里面運(yùn)行,而不需要拷貝到不需要拷貝到RA

19、M中再運(yùn)行。中再運(yùn)行。 從從nand flash 啟動(dòng):?jiǎn)?dòng):cpu自動(dòng)將自動(dòng)將nand flash開始的開始的4kB數(shù)據(jù)復(fù)制到稱為數(shù)據(jù)復(fù)制到稱為“steppingstone”的的4KB內(nèi)部?jī)?nèi)部ram(sram)中)中,指針自動(dòng)跳轉(zhuǎn)到指針自動(dòng)跳轉(zhuǎn)到0 x00000000地址處開始執(zhí)行地址處開始執(zhí)行代碼代碼,因此,我們可以在因此,我們可以在nand flash前前4kb中儲(chǔ)存相應(yīng)的啟中儲(chǔ)存相應(yīng)的啟動(dòng)代碼,即可實(shí)現(xiàn)動(dòng)代碼,即可實(shí)現(xiàn)nand flash 啟動(dòng)。啟動(dòng)。 以上操作都是由以上操作都是由cpu內(nèi)部硬件自動(dòng)完成內(nèi)部硬件自動(dòng)完成內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院23第第5 5章

20、章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì) 5 5. .1.4 1.4 時(shí)鐘和電源管理時(shí)鐘和電源管理 時(shí)鐘和電源管理模塊包括三部分:時(shí)鐘和電源管理模塊包括三部分:時(shí)鐘控制:時(shí)鐘控制:CPUCPU所需的所需的FCLKFCLK時(shí)鐘信號(hào)、時(shí)鐘信號(hào)、AHBAHB總線外圍設(shè)備所需總線外圍設(shè)備所需的的HCLKHCLK時(shí)鐘信號(hào),以及時(shí)鐘信號(hào),以及APBAPB總線外圍設(shè)備所需的總線外圍設(shè)備所需的PCLKPCLK時(shí)鐘信號(hào)時(shí)鐘信號(hào) 。USBUSB控制:產(chǎn)生控制:產(chǎn)生USB 主接口和USB 從接口都需要的48Mhz 時(shí)鐘電源控制電源控制正常模式正常模式 慢速模式慢速模式空閑模式空閑模式 掉

21、電模式掉電模式內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院24第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)主要內(nèi)容S3C2410簡(jiǎn)介簡(jiǎn)介 I/O口口中斷中斷DMAA/D接口接口UART觸摸屏觸摸屏LCDUSB設(shè)備的數(shù)據(jù)收發(fā)設(shè)備的數(shù)據(jù)收發(fā)音頻錄放音頻錄放鍵盤和鍵盤和LED控制控制內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院25第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì) 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 S3C2410AS3C2410A共有共有117

22、117個(gè)多功能復(fù)用輸入輸出口(個(gè)多功能復(fù)用輸入輸出口(I/OI/O口),分為口),分為8 8組組PORT APORT APORT HPORT H。PORT APORT A除了作為功能口外,它只作為輸出口使用;除了作為功能口外,它只作為輸出口使用;其余的其余的PORT BPORT BPORT HPORT H都可以作為輸入輸出口使用。都可以作為輸入輸出口使用。8 8組組I/OI/O口按照口按照其位數(shù)的不同,可分為:其位數(shù)的不同,可分為:1 1個(gè)個(gè)2323位的輸出口(位的輸出口(PORT APORT A)2 2個(gè)個(gè)1111位的位的I/OI/O口(口(PORT B PORT B 和和PORT HPOR

23、T H)4 4個(gè)個(gè)1616位的位的I/OI/O口(口(PORT CPORT C、PORT DPORT D、PORT EPORT E、PORT GPORT G)1 1個(gè)個(gè)8 8位的位的I/OI/O口(口(PORT FPORT F) 與配置與配置I/OI/O口相關(guān)的寄存器包括:口相關(guān)的寄存器包括:端口控制寄存器(端口控制寄存器(GPACONGPHCONGPACONGPHCON)端口數(shù)據(jù)寄存器(端口數(shù)據(jù)寄存器(GPADATGPHDATGPADATGPHDAT)端口上拉寄存器(端口上拉寄存器(GPBUPGPHUPGPBUPGPHUP)雜項(xiàng)控制寄存器雜項(xiàng)控制寄存器外部中斷控制寄存器(外部中斷控制寄存器(

24、EXTINTNEXTINTN) PORT F和和PORT G 可以可以配置為二十四路外中斷輸入。配置為二十四路外中斷輸入。內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院26第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)觸摸屏觸摸屏內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院27第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì) 5.2.2 5.2.2 I/OI/O口編程實(shí)例口編程實(shí)例 舉例舉例: :通過對(duì)通過對(duì)G G口的操作控制口的操作控制CPUCPU板左下角的板左下角的LED1LED1和和LED2LED2實(shí)現(xiàn)輪流閃

25、爍。實(shí)現(xiàn)輪流閃爍。 內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院28第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì) 5.2.2 5.2.2 I/OI/O口編程實(shí)例口編程實(shí)例 GPBCON equ 0 x56000010GPBDAT equ 0 x56000014GPBUP equ 0 x56000018DELAYTIME equ 0 x10AREA LEDTESTASM,CODE,READONLYCODE32ENTRY;設(shè)置設(shè)置GPB5-GPB8為為outputldr r0,=GPBCONldr r1,r0bic r1,r1,#0 x3fc00 ;把把

26、GPB17:10設(shè)為設(shè)為0 :bic:r1 = r1 and (not 0 x3fc00)orr r1,r1,#0 x15400 ;把把GPB17:10設(shè)為設(shè)為01010101str r1,r0;禁止禁止GPB5-GPB8端口的上拉電阻端口的上拉電阻ldr r0,=GPBUPldr r1,r0orr r1,r1,#0 x1E0 ;當(dāng)相應(yīng)位為當(dāng)相應(yīng)位為1時(shí)上拉電阻無效時(shí)上拉電阻無效str r1,r0內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院29第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì) 5.2.2 5.2.2 I/OI/O口編程實(shí)例口編程實(shí)例 lo

27、optest;將數(shù)據(jù)端口將數(shù)據(jù)端口B的數(shù)據(jù)寄存器的地址附給寄存器的數(shù)據(jù)寄存器的地址附給寄存器r2ldr r2,=GPBDATldr r3,r2bic r3,r3,#0 x1e0orr r3,r3,#0 x1c0 ;GPB5為為0,相應(yīng)相應(yīng)LED亮亮str r3,r2ldr r0,=DELAYTIMEbl delay ;調(diào)用延遲子程序調(diào)用延遲子程序ldr r3,r2bic r3,r3,#0 x1e0orr r3,r3,#0 x1A0 ;GPB6為為0,相應(yīng)相應(yīng)LED亮亮str r3,r2ldr r0,=DELAYTIMEbl delay ;調(diào)用延遲子程序調(diào)用延遲子程序ldr r3,r2bic r

28、3,r3,#0 x1e0orr r3,r3,#0 x160 ;GPB7為為0,相應(yīng)相應(yīng)LED亮亮str r3,r2ldr r0,=DELAYTIMEbl delay ;調(diào)用延遲子程序調(diào)用延遲子程序內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院30第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì) 5.2.2 5.2.2 I/OI/O口編程實(shí)例口編程實(shí)例 ldr r3,r2bic r3,r3,#0 x1e0orr r3,r3,#0 xe0 ;GPB8為為0,相應(yīng)相應(yīng)LED亮亮str r3,r2ldr r0,=DELAYTIMEbl delay ;調(diào)用延遲子程序

29、調(diào)用延遲子程序b looptest;延遲子程序延遲子程序delayldr r4,=0 x2ffffdelay_1sub r4,r4,#1cmp r4,#0 x0bne delay_1sub r0,r0,#1cmp r0,#0 x0bne delaybx lr;END內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院31第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì) 5.2.2 5.2.2 I/OI/O口編程實(shí)例口編程實(shí)例 舉例舉例: :通過對(duì)通過對(duì)G G口的操作控制口的操作控制CPUCPU板左下角的板左下角的LED1LED1和和LED2LED2實(shí)現(xiàn)輪流閃爍。

30、實(shí)現(xiàn)輪流閃爍。 void Main(void)void Main(void) int flag, i; int flag, i; Target_Init(); / Target_Init(); /進(jìn)行硬件初始化操作,包括對(duì)進(jìn)行硬件初始化操作,包括對(duì)I/OI/O口的初始化操作口的初始化操作 for(;)for(;) if(flag=0)if(flag=0) for(i=0;i1000000;i+); /for(i=0;i1000000;i+); /延時(shí)延時(shí) rGPGCON = rGPGCON & 0 xfff0ffff | 0 x00050000; /rGPGCON = rGPGCON

31、& 0 xfff0ffff | 0 x00050000; /配置第配置第8 8、第、第9 9位為輸出引腳位為輸出引腳 rGPGDAT = rGPGDAT & 0 xeff | 0 x200; /rGPGDAT = rGPGDAT & 0 xeff | 0 x200; /第第8 8位輸出為低電平位輸出為低電平 作業(yè)作業(yè) / /第第9 9位輸出高電平位輸出高電平 for(i=0;i10000000;i+); /for(i=0;i10000000;i+); /延時(shí)延時(shí) flag = 1;flag = 1; else else for(i=0;i1000000;i+); /fo

32、r(i=0;i1000000;i+); /延時(shí)延時(shí) rGPGCON = rGPGCON & 0 xfff0ffff | 0 x00050000; /rGPGCON = rGPGCON & 0 xfff0ffff | 0 x00050000; /配置第配置第8 8、第、第9 9位為輸出引腳位為輸出引腳 rGPGDAT = rGPGDAT & 0 xdff | 0 x100; /rGPGDAT = rGPGDAT & 0 xdff | 0 x100; /第第8 8位輸出為高電平位輸出為高電平 / /第第9 9位輸出低電平位輸出低電平for(i=0;i1000000;

33、i+); /for(i=0;i1000000;i+); /延時(shí)延時(shí)flag = 0;flag = 0; 內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院32第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)主要內(nèi)容S3C2410簡(jiǎn)介簡(jiǎn)介 I/O口口中斷中斷DMAA/D接口接口UART觸摸屏觸摸屏LCDUSB設(shè)備的數(shù)據(jù)收發(fā)設(shè)備的數(shù)據(jù)收發(fā)音頻錄放音頻錄放鍵盤和鍵盤和LED控制控制內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院33第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì) 5.3.1 5.3.1 ARMARM的中斷原理的中

34、斷原理 ARMARM系統(tǒng)包括兩類中斷:一是系統(tǒng)包括兩類中斷:一是IRQIRQ中斷中斷,一是,一是FIQFIQ中斷中斷。 處理中斷的步驟如下:處理中斷的步驟如下:(1)(1)保存現(xiàn)場(chǎng)。保存當(dāng)前的保存現(xiàn)場(chǎng)。保存當(dāng)前的PCPC值到值到R14R14,保存當(dāng)前的程序運(yùn)行狀態(tài)到保存當(dāng)前的程序運(yùn)行狀態(tài)到SPSRSPSR。(2)(2)模式切換。根據(jù)發(fā)生的中斷類型,進(jìn)入模式切換。根據(jù)發(fā)生的中斷類型,進(jìn)入IRQIRQ模式或模式或FIQFIQ模式。模式。(3)(3)獲取中斷源。以異常向量表保存在低地址處為例,若是獲取中斷源。以異常向量表保存在低地址處為例,若是IRQIRQ中斷,中斷,則則PCPC指針跳到指針跳到0

35、0 x18x18處;若是處;若是FIQFIQ中斷,則跳到中斷,則跳到0 0 x1Cx1C處。處。IRQIRQ或或FIQFIQ的異常的異常向量地址處一般保存的是中斷服務(wù)子程序的地址,所以接下來向量地址處一般保存的是中斷服務(wù)子程序的地址,所以接下來PCPC指針指針跳入中斷服務(wù)子程序處理中斷。跳入中斷服務(wù)子程序處理中斷。(4)(4)中斷處理。為各種中斷定義不同的優(yōu)先級(jí)別,并為每一個(gè)中斷設(shè)中斷處理。為各種中斷定義不同的優(yōu)先級(jí)別,并為每一個(gè)中斷設(shè)置一個(gè)中斷標(biāo)志位。當(dāng)發(fā)生中斷時(shí),通過判斷中斷優(yōu)先級(jí)以及訪問中置一個(gè)中斷標(biāo)志位。當(dāng)發(fā)生中斷時(shí),通過判斷中斷優(yōu)先級(jí)以及訪問中斷標(biāo)志位的狀態(tài)來識(shí)別到底哪一個(gè)中斷發(fā)生了

36、。進(jìn)而調(diào)用相應(yīng)的函數(shù)斷標(biāo)志位的狀態(tài)來識(shí)別到底哪一個(gè)中斷發(fā)生了。進(jìn)而調(diào)用相應(yīng)的函數(shù)進(jìn)行中斷處理。進(jìn)行中斷處理。(5)(5)中斷返回,恢復(fù)現(xiàn)場(chǎng)。當(dāng)完成中斷服務(wù)子程序后,將中斷返回,恢復(fù)現(xiàn)場(chǎng)。當(dāng)完成中斷服務(wù)子程序后,將SPSRSPSR中保存中保存的程序運(yùn)行狀態(tài)恢復(fù)到的程序運(yùn)行狀態(tài)恢復(fù)到CPSRCPSR中,中,R14R14中保存的被中斷程序的地址恢復(fù)到中保存的被中斷程序的地址恢復(fù)到PCPC中,進(jìn)而繼續(xù)執(zhí)行被中斷的程序。中,進(jìn)而繼續(xù)執(zhí)行被中斷的程序。 內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院34第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)v 優(yōu)先級(jí)生成模塊

37、(優(yōu)先級(jí)生成模塊(56 個(gè)中斷源) 中斷優(yōu)先級(jí)控制寄存器內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院35第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)中斷控制器支持中斷控制器支持56 個(gè)中斷源,分成個(gè)中斷源,分成32個(gè)優(yōu)先級(jí)個(gè)優(yōu)先級(jí)每個(gè)仲裁器基于一個(gè)位仲裁器模式控制(每個(gè)仲裁器基于一個(gè)位仲裁器模式控制(ARB_MODE)和選擇控制信號(hào))和選擇控制信號(hào)(ARB_SEL)的兩位來處理)的兩位來處理6 個(gè)中斷請(qǐng)求。個(gè)中斷請(qǐng)求。ARB_SEL位是位是00b,優(yōu)先級(jí)是,優(yōu)先級(jí)是REQ0,REQ1,REQ2,REQ3,REQ4,REQ5.ARB_SEL位是位是01

38、b,優(yōu)先級(jí)是,優(yōu)先級(jí)是REQ0,REQ2,REQ3,REQ4,REQ1,REQ5.ARB_SEL位是位是10b,優(yōu)先級(jí)是,優(yōu)先級(jí)是REQ0,REQ3,REQ4,REQ1,REQ2,REQ5.ARB_SEL位是位是11b,優(yōu)先級(jí)是,優(yōu)先級(jí)是REQ0,REQ4,REQ1,REQ2,REQ3,REQ5.注意仲裁器的注意仲裁器的REQ0 總是有最高優(yōu)先級(jí),總是有最高優(yōu)先級(jí),REQ5 總是有最低優(yōu)先級(jí)??偸怯凶畹蛢?yōu)先級(jí)。如果如果ARB_MODE 位置位置0,ARB_SEL 位不會(huì)自動(dòng)改變(可手動(dòng)改變)。位不會(huì)自動(dòng)改變(可手動(dòng)改變)。如果如果ARB_MODE 位是位是1,ARB_SEL 位以翻轉(zhuǎn)的方式改變

39、。位以翻轉(zhuǎn)的方式改變。ARB_SEL 變化的詳細(xì)規(guī)則如下:變化的詳細(xì)規(guī)則如下:如果如果REQ0 或或REQ5 被服務(wù),被服務(wù),ARB_SEL位完全不會(huì)變化。位完全不會(huì)變化。如果如果REQ1 被服務(wù),被服務(wù),ARB_SEL位變?yōu)槲蛔優(yōu)?1b。如果如果REQ2 被服務(wù),被服務(wù),ARB_SEL位變?yōu)槲蛔優(yōu)?0b。如果如果REQ3 被服務(wù),被服務(wù),ARB_SEL位變?yōu)槲蛔優(yōu)?1b。如果如果REQ4 被服務(wù),被服務(wù),ARB_SEL位變?yōu)槲蛔優(yōu)?0b。內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院36第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì) 5.3.2 5.3

40、.2 S3C2410AS3C2410A的中斷控制器的中斷控制器 中斷控制器使用的寄存器中斷控制器使用的寄存器SRCPND INTPND:對(duì)某位寫對(duì)某位寫1,清除該位清除該位.INTPND:SRCPND多個(gè)中斷源競(jìng)爭(zhēng)后有效的中斷多個(gè)中斷源競(jìng)爭(zhēng)后有效的中斷,只能有只能有1位置位置1INTMOD:為為1表示表示FIQ模式模式.所有中斷只能有一個(gè)被設(shè)為所有中斷只能有一個(gè)被設(shè)為FIQ,所以任何時(shí)刻所以任何時(shí)刻INTMOD最多只能有一位置最多只能有一位置1.內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院37第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)內(nèi)蒙古大學(xué)電子

41、信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院38第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)00 = REQ 0-1-2-3-4-5 01 = REQ 0-2-3-4-1-510 = REQ 0-3-4-1-2-5 11 = REQ 0-4-1-2-3-50 = 優(yōu)先級(jí)不翻轉(zhuǎn)1 = 優(yōu)先級(jí)翻轉(zhuǎn)使能中斷優(yōu)先級(jí)內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院39第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院40第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系

42、統(tǒng)硬件設(shè)計(jì)內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院41第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院42第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院43第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì) 5.3.3 5.3.3 中斷編程實(shí)例中斷編程實(shí)例舉例舉例: :通過定時(shí)器通過定時(shí)器1 1中斷控制中斷控制CPUCPU板左下角的板左下角的LED1LED1和和LED2LED2實(shí)現(xiàn)輪流

43、閃爍。實(shí)現(xiàn)輪流閃爍。1 1對(duì)定時(shí)器對(duì)定時(shí)器1 1初始化,并設(shè)定定時(shí)器的中斷時(shí)間為初始化,并設(shè)定定時(shí)器的中斷時(shí)間為1 1秒。秒。void Timer1_init(void)void Timer1_init(void) rGPGCON = rGPGCON & 0 xfff0ffff | 0 x00050000; rGPGCON = rGPGCON & 0 xfff0ffff | 0 x00050000; /配置配置GPGGPG口為輸出口口為輸出口 rGPGDAT = rGPGDAT | 0 x300;rGPGDAT = rGPGDAT | 0 x300; rTCFG0 = 255;

44、/ rTCFG0 = 255;/設(shè)定定時(shí)器預(yù)分頻設(shè)定定時(shí)器預(yù)分頻 rTCFG1 = 0 4; rTCFG1 = 0 4; /在在pclk=50MHZpclk=50MHZ下,下,1 1秒鐘的記數(shù)值秒鐘的記數(shù)值rTCNTB1 =50000000/4/256=48828;rTCNTB1 =50000000/4/256=48828; rTCNTB1 = 48828; / rTCNTB1 = 48828; /計(jì)數(shù)緩存計(jì)數(shù)緩存 rTCMPB1 = 0 x00;/ rTCMPB1 = 0 x00;/比較緩存比較緩存 rTCON = (1 11) | (1 9) | (0 8); rTCON = (1 11)

45、 | (1 9) | (0 8); /禁用定時(shí)器禁用定時(shí)器1 1,手動(dòng)加載,手動(dòng)加載 rTCON = (1 11) | (0 9) | (1 8); rTCON = (1 11) | (0 9) | (1 8); /啟動(dòng)定時(shí)器啟動(dòng)定時(shí)器1 1,自動(dòng)裝載,自動(dòng)裝載 內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院44第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)舉例舉例: :通過定時(shí)器通過定時(shí)器1 1中斷控制中斷控制CPUCPU板左下角的板左下角的LED1LED1和和LED2LED2實(shí)現(xiàn)輪流閃爍。實(shí)現(xiàn)輪流閃爍。2 2為了使為了使CPUCPU響應(yīng)中斷,在中斷服

46、務(wù)子程序執(zhí)行之前,必須打開響應(yīng)中斷,在中斷服務(wù)子程序執(zhí)行之前,必須打開ARM920TARM920T的的CPSRCPSR中的中的I I位,以及相應(yīng)的中斷屏蔽寄存器中的位。位,以及相應(yīng)的中斷屏蔽寄存器中的位。void Timer1INT_Init(void) void Timer1INT_Init(void) /定時(shí)器接口使能定時(shí)器接口使能 if (rINTPND & BIT_TIMER1)if (rINTPND & BIT_TIMER1) rSRCPND |= BIT_TIMER1;/rSRCPND |= BIT_TIMER1;/清除中斷源標(biāo)志清除中斷源標(biāo)志 /寫入定時(shí)器寫入定時(shí)

47、器1 1中斷服務(wù)子程序的入口地址中斷服務(wù)子程序的入口地址 pISR_TIMER1 = (int)Timer1_ISR; pISR_TIMER1 = (int)Timer1_ISR; rINTMSK &= (BIT_TIMER1); rINTMSK &= (BIT_TIMER1); /開中斷;開中斷; 3 3等待定時(shí)器中斷,通過一個(gè)死循環(huán)如等待定時(shí)器中斷,通過一個(gè)死循環(huán)如“while(1)while(1);”實(shí)現(xiàn)等待過程。實(shí)現(xiàn)等待過程。 內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院45第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)舉例舉例

48、: :通過定時(shí)器通過定時(shí)器1 1中斷控制中斷控制CPUCPU板左下角的板左下角的LED1LED1和和LED2LED2實(shí)現(xiàn)輪流閃爍。實(shí)現(xiàn)輪流閃爍。4 4根據(jù)設(shè)置的定時(shí)時(shí)間,將產(chǎn)生定時(shí)器中斷。定時(shí)器中斷發(fā)生后,首根據(jù)設(shè)置的定時(shí)時(shí)間,將產(chǎn)生定時(shí)器中斷。定時(shí)器中斷發(fā)生后,首先進(jìn)行現(xiàn)場(chǎng)保護(hù),接下來轉(zhuǎn)入中斷的入口代碼處執(zhí)行,先進(jìn)行現(xiàn)場(chǎng)保護(hù),接下來轉(zhuǎn)入中斷的入口代碼處執(zhí)行,AREA Init,CODE,READONLYENTRY b HandlerUndef ;handler for Undefined mode b HandlerSWI ;handler for SWI interrupt b Handl

49、erPabort ;handler for PAbort b HandlerDabort ;handler for DAbort b . ;reserved b HandlerIRQ ;handler for IRQ interrupt b HandlerFIQ ;handler for FIQ interrupt HandlerIRQ sub sp,sp,#4 ; 預(yù)留一個(gè)字的存儲(chǔ)空間預(yù)留一個(gè)字的存儲(chǔ)空間 stmfd sp!,r0 ; r0 入棧入棧 ldr r0,=HandleIRQ ; HandleIRQ 為預(yù)留的為預(yù)留的4字節(jié)標(biāo)號(hào)地址字節(jié)標(biāo)號(hào)地址 ldr r0,r0 ; str r0,

50、sp,#4 ; ldmfd sp!,r0,pc ;內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院46第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)在執(zhí)行中斷服務(wù)程序之前,首先要確保在執(zhí)行中斷服務(wù)程序之前,首先要確保HandleIRQ地址處保存中斷分發(fā)程序地址處保存中斷分發(fā)程序IsrIRQ的入口地址。的入口地址。ldrr0,=HandleIRQ ldrr1,=IsrIRQ strr1,r0接下來將執(zhí)行接下來將執(zhí)行IsrIRQ中斷分發(fā)程序,具體代碼如下:中斷分發(fā)程序,具體代碼如下:IsrIRQ sub sp,sp,#4 ;為保存為保存PC預(yù)留堆??臻g預(yù)留堆棧

51、空間stmfdsp!,r8-r9 ldrr9,=INTOFFSET ; INTOFFSET =0-31ldrr9,r9 ;加載加載INTOFFSET寄存器值到寄存器值到r9ldrr8,=HandleEINT0;加載中斷向量表的基地址到加載中斷向量表的基地址到r8add r8,r8,r9,lsl #2;獲得中斷向量獲得中斷向量ldrr8,r8;加載中斷服務(wù)程序的入口地址到加載中斷服務(wù)程序的入口地址到r8strr8,sp,#8;保存保存sp,將其作為新的將其作為新的pc值值ldmfdsp!,r8-r9,pc;跳轉(zhuǎn)到中斷服務(wù)子程序執(zhí)行跳轉(zhuǎn)到中斷服務(wù)子程序執(zhí)行內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信

52、息工程學(xué)院47第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)舉例舉例: :通過定時(shí)器通過定時(shí)器1 1中斷控制中斷控制CPUCPU板左下角的板左下角的LED1LED1和和LED2LED2實(shí)現(xiàn)輪流閃爍。實(shí)現(xiàn)輪流閃爍。5 5執(zhí)行中斷服務(wù)子程序,該子程序?qū)崿F(xiàn)將執(zhí)行中斷服務(wù)子程序,該子程序?qū)崿F(xiàn)將LED1LED1和和LED2LED2燈熄滅或點(diǎn)亮,燈熄滅或點(diǎn)亮,從現(xiàn)象中看到從現(xiàn)象中看到LED1LED1和和LED2LED2燈閃爍一次,則說明定時(shí)器發(fā)生了一次中斷。燈閃爍一次,則說明定時(shí)器發(fā)生了一次中斷。int flag;int flag;void _irq Timer1_ISR

53、( void ) void _irq Timer1_ISR( void ) if (flag = 0) if (flag = 0) rGPGDAT = rGPGDAT & 0 xeff | 0 x200; rGPGDAT = rGPGDAT & 0 xeff | 0 x200; flag = 1; flag = 1; elseelse rGPGDAT = rGPGDAT & 0 xdff | 0 x100; rGPGDAT = rGPGDAT & 0 xdff | 0 x100; flag = 0; flag = 0; rSRCPND |= BIT_TIMER1

54、;rSRCPND |= BIT_TIMER1; rINTPND |= BIT_TIMER1;rINTPND |= BIT_TIMER1; 6 6從中斷返回,恢復(fù)現(xiàn)場(chǎng),跳轉(zhuǎn)到被中斷的主程序繼續(xù)執(zhí)行,等待下從中斷返回,恢復(fù)現(xiàn)場(chǎng),跳轉(zhuǎn)到被中斷的主程序繼續(xù)執(zhí)行,等待下一次中斷的到來。一次中斷的到來。內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院48第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì)主要內(nèi)容S3C2410簡(jiǎn)介簡(jiǎn)介 I/O口口中斷中斷DMAA/D接口接口UART觸摸屏觸摸屏LCDUSB設(shè)備的數(shù)據(jù)收發(fā)設(shè)備的數(shù)據(jù)收發(fā)音頻錄放音頻錄放鍵盤和鍵盤和LED控制控制

55、內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院49第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì) 5.4.1 5.4.1 DMADMA工作原理工作原理 所謂所謂DMADMA方式,即直接存儲(chǔ)器存?。ǚ绞?,即直接存儲(chǔ)器存?。―irect Memory AcessDirect Memory Acess),),是指存儲(chǔ)是指存儲(chǔ)器與外設(shè)在器與外設(shè)在DMADMA控制器的控制下,直接傳送數(shù)據(jù)而不通過控制器的控制下,直接傳送數(shù)據(jù)而不通過CPUCPU,傳輸速率主傳輸速率主要取決于存儲(chǔ)器存取速度。要取決于存儲(chǔ)器存取速度。采用采用DMADMA方式進(jìn)行數(shù)據(jù)傳輸?shù)木唧w過程如下:方

56、式進(jìn)行數(shù)據(jù)傳輸?shù)木唧w過程如下:(1 1)外設(shè)向)外設(shè)向DMADMA控制器發(fā)出控制器發(fā)出DMADMA請(qǐng)求;請(qǐng)求;(2 2)DMADMA控制器向控制器向CPUCPU發(fā)出總線請(qǐng)求信號(hào);發(fā)出總線請(qǐng)求信號(hào);(3 3)CPUCPU執(zhí)行完現(xiàn)行的總線周期后,向執(zhí)行完現(xiàn)行的總線周期后,向DMADMA控制器發(fā)出響應(yīng)請(qǐng)求的回答信控制器發(fā)出響應(yīng)請(qǐng)求的回答信號(hào);號(hào);(4 4)CPUCPU將控制總線、地址總線及數(shù)據(jù)總線讓出,由將控制總線、地址總線及數(shù)據(jù)總線讓出,由DMADMA控制器進(jìn)行控制控制器進(jìn)行控制;(5 5)DMADMA控制器向外部設(shè)備發(fā)出控制器向外部設(shè)備發(fā)出DMADMA請(qǐng)求回答信號(hào);請(qǐng)求回答信號(hào);(6 6)進(jìn)行)

57、進(jìn)行DMADMA傳送;傳送;(7 7)數(shù)據(jù)傳送完畢,)數(shù)據(jù)傳送完畢,DMADMA控制器通過中斷請(qǐng)求線發(fā)出中斷信號(hào)。控制器通過中斷請(qǐng)求線發(fā)出中斷信號(hào)。CPUCPU在接在接收到中斷信號(hào)后,轉(zhuǎn)入中斷處理程序進(jìn)行后續(xù)處理。收到中斷信號(hào)后,轉(zhuǎn)入中斷處理程序進(jìn)行后續(xù)處理。(8 8)中斷處理結(jié)束后,)中斷處理結(jié)束后,CPUCPU返回到被中斷的程序繼續(xù)執(zhí)行。返回到被中斷的程序繼續(xù)執(zhí)行。CPUCPU重新獲得重新獲得總線控制權(quán)??偩€控制權(quán)。 內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院50第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計(jì)的系統(tǒng)硬件設(shè)計(jì) 5.4.2 5.4.2 S3C241

58、0AS3C2410A的的DMADMA控制器控制器 S3C2410AS3C2410A支持位于系統(tǒng)總線和外圍總線之間的具有支持位于系統(tǒng)總線和外圍總線之間的具有4 4個(gè)通道的個(gè)通道的DMADMA控制器??刂破?。 以以3 3種狀態(tài)的種狀態(tài)的FSM(FSM(Finite Status Machine ) )來描述來描述DMADMA的操作過程如下:的操作過程如下: 狀態(tài)狀態(tài)1 1:作為初始狀態(tài),:作為初始狀態(tài),DMADMA等待一個(gè)等待一個(gè)DMADMA請(qǐng)求。如果出現(xiàn)請(qǐng)求。如果出現(xiàn)DMADMA請(qǐng)求,進(jìn)入狀請(qǐng)求,進(jìn)入狀態(tài)態(tài)2 2。在這種狀態(tài)下,。在這種狀態(tài)下,DMA ACKDMA ACK和和INT REQINT

59、 REQ為為0 0。狀態(tài)狀態(tài)2 2:在這種狀態(tài)下,:在這種狀態(tài)下,DMA ACKDMA ACK變?yōu)樽優(yōu)? 1,并且從,并且從DCON19:0DCON19:0寄存器向計(jì)數(shù)寄存器向計(jì)數(shù)器(器(CURR_TCCURR_TC)加載計(jì)數(shù)值。注意此時(shí)加載計(jì)數(shù)值。注意此時(shí)DMA ACKDMA ACK一直是一直是1 1直到以后被清零。直到以后被清零。狀態(tài)狀態(tài)3 3:在這種狀態(tài)下,子:在這種狀態(tài)下,子FSMFSM處理處理DMADMA的的原子操作原子操作被初始化。子被初始化。子FSMFSM從源地從源地址讀取數(shù)據(jù),并將其寫入目標(biāo)地址。這一操作被重復(fù)執(zhí)行,直到在整體服址讀取數(shù)據(jù),并將其寫入目標(biāo)地址。這一操作被重復(fù)執(zhí)行

60、,直到在整體服務(wù)模式下計(jì)數(shù)器(務(wù)模式下計(jì)數(shù)器(CURR_TCCURR_TC)變?yōu)樽優(yōu)? 0;這一操作在單個(gè)服務(wù)模式下則只執(zhí)行;這一操作在單個(gè)服務(wù)模式下則只執(zhí)行一次。當(dāng)子一次。當(dāng)子FSMFSM每完成一次原子操作,主每完成一次原子操作,主FSMFSM將將CURR_TCCURR_TC進(jìn)行一次向下計(jì)數(shù)。進(jìn)行一次向下計(jì)數(shù)。另外,當(dāng)另外,當(dāng)CURR_TCCURR_TC變?yōu)樽優(yōu)? 0時(shí),主時(shí),主FSMFSM將將INT REQINT REQ信號(hào)置信號(hào)置1 1,并將,并將DCONDCON寄存器的中寄存器的中斷設(shè)置位斷設(shè)置位2929置置1 1。除此以外,如果發(fā)生以下情況,則對(duì)。除此以外,如果發(fā)生以下情況,則對(duì)DMA ACKDMA ACK清零:清零:在整體服務(wù)模式下在整體服務(wù)模式下CURR_TCCURR_TC變?yōu)樽優(yōu)? 0;在單個(gè)復(fù)位模式下完成原子操作。在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論