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

下載本文檔

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

文檔簡介

1、內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院2第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計的系統(tǒng)硬件設(shè)計主要內(nèi)容S3C2410簡介簡介 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è)計的系統(tǒng)硬件設(shè)計 5.1 S3C2410 5.1 S3C2410簡介簡介 S3C2410 S3C2410是是SamsungSamsung公司公司推出的推出的16/3216/32

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

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

4、;外部存儲器控制器;LCDLCD控制器提供控制器提供1 1通道通道LCDLCD專用專用DMADMA4 4通道通道DMADMA并有外部請求引腳;并有外部請求引腳;3 3通道通道UARTUART和和2 2通道通道SPISPI;1 1通道多主機通道多主機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è)計的系統(tǒng)硬件設(shè)計內(nèi)蒙古大學(xué)

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

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

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

8、采用 4KB 內(nèi)部緩沖器進行啟動引導(dǎo),啟動之后 NAND 存儲器仍然作為外部存儲器使用CacheCache存儲器存儲器: :I-Cache(16KB)和D-Cache(16KB),直寫、回寫、寫緩沖時鐘和電源管理:時鐘和電源管理: 2.0V最大266MHZ,正常,慢速,空閑和掉電模式中斷控制器:中斷控制器:55 個中斷源(實際56路,LCD 2路)具有脈沖帶寬調(diào)制(具有脈沖帶寬調(diào)制(PWMPWM)的定時器的定時器RTCRTC(實時時鐘):實時時鐘):秒、分、時、日期,星期,月和年通用通用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è)計的系統(tǒng)硬件設(shè)計LCDLCD控制器控制器STN LCDSTN LCD顯示特性:顯示特性:super-twisted nematic超扭曲向列型超扭曲向列型 TFTTFT彩色顯示特性彩色顯示特性 :Thin Film Transistor薄膜晶體管,薄膜晶體管,TFT表現(xiàn)效果比表現(xiàn)效果比 STN好,但是好,但是STN又比又比TFT省電省電 看門狗定時器;看門狗定時器;16 位IICIIC總線接口總線接口 IISIIS總線接口:總線接口:1

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

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

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

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

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

15、ashNAND Flash啟動以后,啟動以后,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è)計的系統(tǒng)硬件設(shè)計主要區(qū)別:NOR 閃存支持隨機訪問,而NAND 閃存是順序訪問器件。 NOR閃存采用了

16、專用地址線和數(shù)據(jù)線,而NAND 復(fù)用地址數(shù)據(jù)線 和NOR 相比, NAND 的單位比特成本更低,容量更大,更穩(wěn)定,而且容易擦除,編程時間更短。NAND應(yīng)用:USB硬盤、mp3 播放器、數(shù)字音頻記錄、數(shù)碼相機等的存儲卡。NAND接口信號: 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,寫保護R/B#:Rea

17、dy/Busy Output,就緒/忙,主要用于在發(fā)送完編程/擦除命令后,檢測這些操作是否完成,忙,表示編程/擦除操作仍在進行中,就緒表示操作完成.Vcc:Power,電源Vss:Ground,接地內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院20第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計的系統(tǒng)硬件設(shè)計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è)計的系統(tǒng)硬件設(shè)計v NAND Flash NAND Flash的工

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

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

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

21、電模式掉電模式內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院24第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計的系統(tǒng)硬件設(shè)計主要內(nèi)容S3C2410簡介簡介 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è)計的系統(tǒng)硬件設(shè)計 5.2.1 5.2.1 S3C2410AS3C2410A的的I/OI/O口工作原理口工作原理 S3C2410AS3C2410A共有共有117

22、117個多功能復(fù)用輸入輸出口(個多功能復(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個個2323位的輸出口(位的輸出口(PORT APORT A)2 2個個1111位的位的I/OI/O口(口(PORT B PORT B 和和PORT HPOR

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

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

25、爍。實現(xiàn)輪流閃爍。 內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院28第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計的系統(tǒng)硬件設(shè)計 5.2.2 5.2.2 I/OI/O口編程實例口編程實例 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時上拉電阻無效時上拉電阻無效str r1,r0內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院29第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計的系統(tǒng)硬件設(shè)計 5.2.2 5.2.2 I/OI/O口編程實例口編程實例 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è)計的系統(tǒng)硬件設(shè)計 5.2.2 5.2.2 I/OI/O口編程實例口編程實例 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è)計的系統(tǒng)硬件設(shè)計 5.2.2 5.2.2 I/OI/O口編程實例口編程實例 舉例舉例: :通過對通過對G G口的操作控制口的操作控制CPUCPU板左下角的板左下角的LED1LED1和和LED2LED2實現(xiàn)輪流閃爍。

30、實現(xiàn)輪流閃爍。 void Main(void)void Main(void) int flag, i; int flag, i; Target_Init(); / Target_Init(); /進行硬件初始化操作,包括對進行硬件初始化操作,包括對I/OI/O口的初始化操作口的初始化操作 for(;)for(;) if(flag=0)if(flag=0) for(i=0;i1000000;i+); /for(i=0;i1000000;i+); /延時延時 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+); /延時延時 flag = 1;flag = 1; else else for(i=0;i1000000;i+); /fo

32、r(i=0;i1000000;i+); /延時延時 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+); /延時延時flag = 0;flag = 0; 內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院32第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計的系統(tǒng)硬件設(shè)計主要內(nèi)容S3C2410簡介簡介 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è)計的系統(tǒng)硬件設(shè)計 5.3.1 5.3.1 ARMARM的中斷原理的中

34、斷原理 ARMARM系統(tǒng)包括兩類中斷:一是系統(tǒng)包括兩類中斷:一是IRQIRQ中斷中斷,一是,一是FIQFIQ中斷中斷。 處理中斷的步驟如下:處理中斷的步驟如下:(1)(1)保存現(xiàn)場。保存當(dāng)前的保存現(xiàn)場。保存當(dāng)前的PCPC值到值到R14R14,保存當(dāng)前的程序運行狀態(tài)到保存當(dāng)前的程序運行狀態(tài)到SPSRSPSR。(2)(2)模式切換。根據(jù)發(fā)生的中斷類型,進入模式切換。根據(jù)發(fā)生的中斷類型,進入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)先級別,并為每一個中斷設(shè)中斷處理。為各種中斷定義不同的優(yōu)先級別,并為每一個中斷設(shè)置一個中斷標(biāo)志位。當(dāng)發(fā)生中斷時,通過判斷中斷優(yōu)先級以及訪問中置一個中斷標(biāo)志位。當(dāng)發(fā)生中斷時,通過判斷中斷優(yōu)先級以及訪問中斷標(biāo)志位的狀態(tài)來識別到底哪一個中斷發(fā)生了

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

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

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

39、。位以翻轉(zhuǎn)的方式改變。ARB_SEL 變化的詳細規(guī)則如下:變化的詳細規(guī)則如下:如果如果REQ0 或或REQ5 被服務(wù),被服務(wù),ARB_SEL位完全不會變化。位完全不會變化。如果如果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è)計的系統(tǒng)硬件設(shè)計 5.3.2 5.3

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

41、信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院38第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計的系統(tǒng)硬件設(shè)計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)先級不翻轉(zhuǎn)1 = 優(yōu)先級翻轉(zhuǎn)使能中斷優(yōu)先級內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院39第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計的系統(tǒng)硬件設(shè)計內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院40第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計的系

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

43、閃爍。實現(xiàn)輪流閃爍。1 1對定時器對定時器1 1初始化,并設(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è)定定時器預(yù)分頻設(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; /計數(shù)緩存計數(shù)緩存 rTCMPB1 = 0 x00;/ rTCMPB1 = 0 x00;/比較緩存比較緩存 rTCON = (1 11) | (1 9) | (0 8); rTCON = (1 11)

45、 | (1 9) | (0 8); /禁用定時器禁用定時器1 1,手動加載,手動加載 rTCON = (1 11) | (0 9) | (1 8); rTCON = (1 11) | (0 9) | (1 8); /啟動定時器啟動定時器1 1,自動裝載,自動裝載 內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院44第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計的系統(tǒng)硬件設(shè)計舉例舉例: :通過定時器通過定時器1 1中斷控制中斷控制CPUCPU板左下角的板左下角的LED1LED1和和LED2LED2實現(xiàn)輪流閃爍。實現(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) /定時器接口使能定時器接口使能 if (rINTPND & BIT_TIMER1)if (rINTPND & BIT_TIMER1) rSRCPND |= BIT_TIMER1;/rSRCPND |= BIT_TIMER1;/清除中斷源標(biāo)志清除中斷源標(biāo)志 /寫入定時器寫入定時

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

48、: :通過定時器通過定時器1 1中斷控制中斷控制CPUCPU板左下角的板左下角的LED1LED1和和LED2LED2實現(xiàn)輪流閃爍。實現(xiàn)輪流閃爍。4 4根據(jù)設(shè)置的定時時間,將產(chǎn)生定時器中斷。定時器中斷發(fā)生后,首根據(jù)設(shè)置的定時時間,將產(chǎn)生定時器中斷。定時器中斷發(fā)生后,首先進行現(xiàn)場保護,接下來轉(zhuǎn)入中斷的入口代碼處執(zhí)行,先進行現(xiàn)場保護,接下來轉(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ù)留一個字的存儲空間預(yù)留一個字的存儲空間 stmfd sp!,r0 ; r0 入棧入棧 ldr r0,=HandleIRQ ; HandleIRQ 為預(yù)留的為預(yù)留的4字節(jié)標(biāo)號地址字節(jié)標(biā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è)計的系統(tǒng)硬件設(shè)計在執(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è)計的系統(tǒng)硬件設(shè)計舉例舉例: :通過定時器通過定時器1 1中斷控制中斷控制CPUCPU板左下角的板左下角的LED1LED1和和LED2LED2實現(xiàn)輪流閃爍。實現(xiàn)輪流閃爍。5 5執(zhí)行中斷服務(wù)子程序,該子程序?qū)崿F(xiàn)將執(zhí)行中斷服務(wù)子程序,該子程序?qū)崿F(xiàn)將LED1LED1和和LED2LED2燈熄滅或點亮,燈熄滅或點亮,從現(xiàn)象中看到從現(xiàn)象中看到LED1LED1和和LED2LED2燈閃爍一次,則說明定時器發(fā)生了一次中斷。燈閃爍一次,則說明定時器發(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)場,跳轉(zhuǎn)到被中斷的主程序繼續(xù)執(zhí)行,等待下從中斷返回,恢復(fù)現(xiàn)場,跳轉(zhuǎn)到被中斷的主程序繼續(xù)執(zhí)行,等待下一次中斷的到來。一次中斷的到來。內(nèi)蒙古大學(xué)電子信息工程學(xué)院內(nèi)蒙古大學(xué)電子信息工程學(xué)院48第第5 5章章 基于基于S3C2410S3C2410的系統(tǒng)硬件設(shè)計的系統(tǒng)硬件設(shè)計主要內(nèi)容S3C2410簡介簡介 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è)計的系統(tǒng)硬件設(shè)計 5.4.1 5.4.1 DMADMA工作原理工作原理 所謂所謂DMADMA方式,即直接存儲器存取(方式,即直接存儲器存取(Direct Memory AcessDirect Memory Acess),),是指存儲是指存儲器與外設(shè)在器與外設(shè)在DMADMA控制器的控制下,直接傳送數(shù)據(jù)而不通過控制器的控制下,直接傳送數(shù)據(jù)而不通過CPUCPU,傳輸速率主傳輸速率主要取決于存儲器存取速度。要取決于存儲器存取速度。采用采用DMADMA方式進行數(shù)據(jù)傳輸?shù)木唧w過程如下:方

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

57、進行DMADMA傳送;傳送;(7 7)數(shù)據(jù)傳送完畢,)數(shù)據(jù)傳送完畢,DMADMA控制器通過中斷請求線發(fā)出中斷信號。控制器通過中斷請求線發(fā)出中斷信號。CPUCPU在接在接收到中斷信號后,轉(zhuǎn)入中斷處理程序進行后續(xù)處理。收到中斷信號后,轉(zhuǎ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è)計的系統(tǒng)硬件設(shè)計 5.4.2 5.4.2 S3C241

58、0AS3C2410A的的DMADMA控制器控制器 S3C2410AS3C2410A支持位于系統(tǒng)總線和外圍總線之間的具有支持位于系統(tǒng)總線和外圍總線之間的具有4 4個通道的個通道的DMADMA控制器??刂破?。 以以3 3種狀態(tài)的種狀態(tài)的FSM(FSM(Finite Status Machine ) )來描述來描述DMADMA的操作過程如下:的操作過程如下: 狀態(tài)狀態(tài)1 1:作為初始狀態(tài),:作為初始狀態(tài),DMADMA等待一個等待一個DMADMA請求。如果出現(xiàn)請求。如果出現(xiàn)DMADMA請求,進入狀請求,進入狀態(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寄存器向計數(shù)寄存器向計數(shù)器(器(CURR_TCCURR_TC)加載計數(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ù)模式下計數(shù)器(務(wù)模式下計數(shù)器(CURR_TCCURR_TC)變?yōu)樽優(yōu)? 0;這一操作在單個服務(wù)模式下則只執(zhí)行;這一操作在單個服務(wù)模式下則只執(zhí)行一次。當(dāng)子一次。當(dāng)子FSMFSM每完成一次原子操作,主每完成一次原子操作,主FSMFSM將將CURR_TCCURR_TC進行一次向下計數(shù)。進行一次向下計數(shù)。另外,當(dāng)另外,當(dāng)CURR_TCCURR_TC變?yōu)樽優(yōu)? 0時,主時,主FSMFSM將將INT REQINT REQ信號置信號置1 1,并將,并將DCONDCON寄存器的中寄存器的中斷設(shè)置位斷設(shè)置位2929置置1 1。除此以外,如果發(fā)生以下情況,則對。除此以外,如果發(fā)生以下情況,則對DMA ACKDMA ACK清零:清零:在整體服務(wù)模式下在整體服務(wù)模式下CURR_TCCURR_TC變?yōu)樽優(yōu)? 0;在單個復(fù)位模式下完成原子操作。在

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論