版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第3章 32 Bit RISC微處置器S3C2410A.3.1 S3C2410A簡(jiǎn)介3.1.1 S3C2410A內(nèi)部構(gòu)造S3C2410是Samsung公司推出的16/32位RISC處置器,主要面向高性價(jià)比、低功耗的手持設(shè)備運(yùn)用。S3C2410有S3C2410X和S3C2410A兩個(gè)型號(hào),A型是X型的改良型,具有更好的性能和更低的功耗。為了降低系統(tǒng)的本錢(qián),S3C2410A在片上集成了單獨(dú)的16KB指令Cache和16KB數(shù)據(jù)Cache、用于虛擬存儲(chǔ)器管理的MMU、支持STN和TFT的LCD控制器、NAND Flash Boot Loader、系統(tǒng)管理器片選邏輯和SDRAM控制器、3通道UART、
2、4通道DMA、4通道PWM定時(shí)器、I/O口、RTC、8通道10位ADC和觸摸屏接口、I2C總線接口、I2S總線接口、USB主設(shè)備、USB從設(shè)備、SD主卡和MMCMulti Media Card,多媒體卡卡接口、2通道的SPISerial Peripheral Interface,串行外圍設(shè)備接口以及PLL時(shí)鐘發(fā)生器。S3C2410A的CPU內(nèi)核采用的是16/32位ARM920T 內(nèi)核,同時(shí)還采用了AMBAAdvanced Microcontroller Bus Architecture,先進(jìn)的微控制器總線體系構(gòu)造新型總線構(gòu)造。.ARM920T采用了MMU,AMBA總線和Harvard高速緩存體
3、系構(gòu)造,該構(gòu)造具有獨(dú)立的16KB指令Cache和16KB數(shù)據(jù)Cache,每個(gè)Cache都是由8字長(zhǎng)的行組成的。S3C2410A提供一組完好的系統(tǒng)外圍設(shè)備接口,從而大大減少了整個(gè)系統(tǒng)的本錢(qián),省去了為系統(tǒng)配置額外器件的開(kāi)銷。S3C2410A集成的片上功能包括: 內(nèi)核電壓1.8V/2.0V,存儲(chǔ)器電壓3.3V,外部I/O電壓3.3V; 具有16KB的I-Cache和16KB的D-Cache以及MMU; 外部存儲(chǔ)器控制器SDRAM控制和片選邏輯; LCD控制器最大支持4K彩色STN和256K彩色TFT提供1通道LCD公用DMA; 4通道DMA并有外部懇求引腳端; 3通道UARTIrDAl.0,16字節(jié)
4、Tx FIFO和16字節(jié)Rx FIFO/2通道SPI; 1通道多主設(shè)I2C總線和1通道I2S總線控制器; 版本1.0SD主接口和2.11兼容版MMC卡協(xié)議;. 2個(gè)USB主設(shè)接口/1個(gè)USB從設(shè)接口版本1.1; 4通道PWM定時(shí)器和1通道內(nèi)部定時(shí)器; 看門(mén)狗定時(shí)器; 117位通用I/O口和24通道外部中斷源; 電源控制方式有正常、慢速、空閑和電源關(guān)斷4種方式; 8通道10位ADC和觸摸屏接口; 具有日歷功能的RTC; 運(yùn)用PLL的片上時(shí)鐘發(fā)生器。 S3C2410A的內(nèi)部構(gòu)造方框圖如圖3.1.1所示。.圖3.1.1 S3C2410A內(nèi)部構(gòu)造方框圖.3.1.2 S3C2410A的技術(shù)特點(diǎn) S3C2
5、410A具有如下特點(diǎn):1體系構(gòu)造 采用ARM920T CPU內(nèi)核,具有16/32位RISC體系構(gòu)造和強(qiáng)大的指令集,為手持設(shè)備和通用嵌入式運(yùn)用提供片上集成系統(tǒng)處理方案; 加強(qiáng)的ARM體系構(gòu)造MMU,支持WinCE、EPOC 32和Linux; 運(yùn)用指令Cache、數(shù)據(jù)Cache、寫(xiě)緩沖器和物理地址TAG RAM減少主存儲(chǔ)器帶寬和反響時(shí)間對(duì)性能的影響; ARM920T CPU內(nèi)核支持ARM調(diào)試體系構(gòu)造; 內(nèi)部采用先進(jìn)的微控制器總線體系構(gòu)造AMBAAMBA2.0,AHB/APB。2.系統(tǒng)管理器 支持小大端方式。 地址空間:每bank 128 MBbyte總共1GB。. 每個(gè)bank支持可編程的8/1
6、6/32位數(shù)據(jù)總線寬度。 bank0bank6都采用固定的bank起始地址。 bank7具有可編程的bank起始地址和大小。 8個(gè)存儲(chǔ)器bank: 一6個(gè)用于ROM、SRAM及其他; 一2個(gè)用于ROM、SRAM和同步DRAM。 一切的存儲(chǔ)器bank都具有可編程的訪問(wèn)周期。 支持運(yùn)用外部等待信號(hào)來(lái)填充總線周期。 支持掉電時(shí)的SDRAM自刷新方式。 支持各種類型的ROM啟動(dòng)booting,包括NOR/NAND Flash和EEPROM等。3NAND Flash Boot Loader啟動(dòng)裝載 支持從NAND Flash存儲(chǔ)器的啟動(dòng)。. 采用4 KB內(nèi)部緩沖器用于啟動(dòng)引導(dǎo)。 支持啟動(dòng)之后NAND存儲(chǔ)
7、器依然作為外部存儲(chǔ)器運(yùn)用。4Cache存儲(chǔ)器 I-Cache16 KB和D-Cache16 KB為64路組相聯(lián)Cache。 每行8字長(zhǎng)度,其中每行帶有一個(gè)有效位和兩個(gè)臟位dirty bits。 采用偽隨機(jī)數(shù)或循環(huán)交換算法。 采用寫(xiě)直達(dá)Write-through或?qū)懟豔rite-backCache操作來(lái)更新主存儲(chǔ)器。 寫(xiě)緩沖器可以保管16個(gè)字的數(shù)據(jù)值和4個(gè)地址值。5時(shí)鐘和電源管理 片上MPLL和UPLL: 一UPLL產(chǎn)生用于USB主機(jī)設(shè)備操作的時(shí)鐘; 一MPLL產(chǎn)生操作MCU的時(shí)鐘,時(shí)鐘頻率最高可達(dá)266 MHz2.0V內(nèi)核電壓。. 經(jīng)過(guò)軟件可以有選擇地為每個(gè)功能模塊提供時(shí)鐘。 電源方式包括正常
8、、慢速、空閑和掉電方式: 一正常方式為正常運(yùn)轉(zhuǎn)方式; 一慢速方式為不加PLL的低時(shí)鐘頻率方式; 一空閑方式只停頓CPU的時(shí)鐘; 一掉電方式切斷一切外設(shè)和內(nèi)核的電源。 可以經(jīng)過(guò)EINT15:0或RTC報(bào)警中斷從掉電方式中喚醒處置器。6中斷控制器 55個(gè)中斷源1個(gè)看門(mén)狗定時(shí)器、5個(gè)定時(shí)器、9個(gè)UART、24個(gè)外部中斷、4個(gè)DMA、2個(gè)RTC、2個(gè)ADC、1個(gè)I2C、2個(gè)SPI、1個(gè)SDI、2個(gè)USB、1個(gè)LCD和1個(gè)電池缺點(diǎn); 支持電平邊沿觸發(fā)方式的外部中斷源; 可編程的電平邊沿觸發(fā)極性; 為緊急中斷懇求提供快速中斷效力FIQ支持。.7具有脈沖寬度調(diào)制PWM的定時(shí)器 具有PWM功能的4通道16位定
9、時(shí)器,可基于DMA或中斷操作的1通道16位內(nèi)部定時(shí)器; 可編程的占空比周期、頻率和極性; 能產(chǎn)生死區(qū); 支持外部時(shí)鐘源。8RTC實(shí)時(shí)時(shí)鐘 完好的時(shí)鐘特性:秒、分、時(shí)、日期、星期、月和年; 任務(wù)頻率32.768 kHz; 具有報(bào)警中斷; 具有時(shí)鐘滴答中斷。9通用I/O口 24個(gè)外部中斷口; 多路復(fù)用的I/O口。.10UAR 3通道UART,可以基于DMA方式或中斷方式操作; 支持5位、6位、7位或者8位串行數(shù)據(jù)發(fā)送接納Tx/Rx; 支持外部時(shí)鐘作為UART的運(yùn)轉(zhuǎn)時(shí)鐘UEXTCLK; 波特率可編程; 支持IrDA 1.0; 支持回環(huán)Loopback測(cè)試方式; 每個(gè)通道內(nèi)部都具有16字節(jié)的發(fā)送FIF
10、O和16字節(jié)的接納FIFO 。11DMA控制器 4通道的DMA控制器; 支持存儲(chǔ)器到存儲(chǔ)器、I/O到存儲(chǔ)器、存儲(chǔ)器到I/O和I/O到I/O的傳送; 采用突發(fā)傳送方式提高傳送速率。12AD轉(zhuǎn)換和觸摸屏接口 8通道多路復(fù)用ADC; 轉(zhuǎn)換速率最大為500 KSPSKilo Samples Per Second,每秒采樣千點(diǎn),10位分辨率。.13LCD控制器STN LCD顯示特性 支持3種類型的STN LCD顯示屏:4位雙掃描、4位單掃描和8位單掃描顯示類型; 對(duì)于STN LCD支持單色方式、4級(jí)灰度、16級(jí)灰度、256彩色和4 096彩色; 支持多種屏幕尺寸,典型的屏幕尺寸有:640480,3202
11、40,160160; 最大虛擬屏幕大小是4 MB; 在256彩色方式下支持的最大虛擬屏幕尺寸是:4 0961 024,2 0482 048,1 0244 0960或者其它尺寸。14. TFTThin Film Transistor,薄膜場(chǎng)效應(yīng)晶體管彩色顯示特性 彩色TFT支持1、2、4或8bppbit per pixel,每像素所占位數(shù)調(diào)色顯示; 支持16bpp無(wú)調(diào)色真彩顯示; 在24bpp方式下支持最大16M彩色TFT;. 支持多種屏幕尺寸,典型的屏幕尺寸有:640480,320320,160160或者其它尺寸; 最大虛擬屏大小是4 MB; 在64彩色方式下支持的最大虛擬屏幕尺寸是:2 04
12、81 024或者其它尺寸。15看門(mén)狗定時(shí)器 16位看門(mén)狗定時(shí)器; 定時(shí)器溢出時(shí)產(chǎn)生中斷懇求或系統(tǒng)復(fù)位。16I2C總線接口 1通道多主機(jī)I2C總線; 串行、8位、雙向數(shù)據(jù)傳送,在規(guī)范方式下數(shù)據(jù)傳送速率可達(dá)100kb/s,在快速方式下可達(dá)400kb/s。17I2S總線接口 1通道音頻I2S總線接口,可基于DMA方式操作; 串行,每通道8/16位數(shù)據(jù)傳輸;.串行,每通道8/16位數(shù)據(jù)傳輸; 發(fā)送和接納Tx/Rx具備128字節(jié)FIFO64字節(jié)發(fā)送FIFO64字節(jié)接納FIFO; 支持I2S格式和MSB-justified數(shù)據(jù)格式。18USB主設(shè)備 2個(gè)USB主設(shè)接口; 服從OHCI Revl.0規(guī)范;
13、兼容USB Verl.1規(guī)范。19USB從設(shè)備 1個(gè)USB從設(shè)接口; 具備5個(gè)USB設(shè)備端口; 兼容USB Verl.1規(guī)范。20SD主機(jī)接口 兼容SD存儲(chǔ)卡協(xié)議1.0版; 兼容SDIO卡協(xié)議1.0版;.發(fā)送和接納采用字節(jié)FIFO; 基于DMA或中斷方式操作; 兼容MMC卡協(xié)議2.11版。21SPI接口 兼容2通道SPI協(xié)議2.11版; 發(fā)送和接納采用2字節(jié)的移位存放器; 基于DMA或中斷方式操作。22任務(wù)電壓 內(nèi)核電壓:1.8V,最高任務(wù)頻率200 MHzS3C2410A-20;2.0 V,最高任務(wù)頻率266 MHzS3C2410A-26。 存儲(chǔ)器和I/O電壓:3.3 V。23封裝 采用27
14、2-FBGA封裝。.3.2 S3C2410A存儲(chǔ)器控制器3.2.1 S3C2410A的存儲(chǔ)器控制器特性S3C2410A的存儲(chǔ)器控制器提供訪問(wèn)外部存儲(chǔ)器所需求的存儲(chǔ)器控制信號(hào),具有以下特性: 支持小大端經(jīng)過(guò)軟件選擇。 地址空間:每個(gè)bank有128 MB總共有8個(gè)bank,共1 GB。 除bank0只能是16/32位寬之外,其他bank都具有可編程的訪問(wèn)位寬8/16/32位。 總共有8個(gè)存儲(chǔ)器bankbank0bank7:一其中6個(gè)用于ROM,SRAM等;一剩下2個(gè)用于ROM,SRAM,SDRAM等。 7個(gè)固定的存儲(chǔ)器bankbank0bank6起始地址。 最后一個(gè)bankbank7的起始地址是
15、可調(diào)整的。 最后兩個(gè)bankbank6和bank7的大小是可編程的。.一切存儲(chǔ)器bank的訪問(wèn)周期都是可編程的。 總線訪問(wèn)周期可以經(jīng)過(guò)插入外部等待來(lái)擴(kuò)展。 支持SDRAM的自刷新和掉電方式。3.2.1 S3C2410A的存儲(chǔ)器映射S3C2410A復(fù)位后,存儲(chǔ)器的映射情況如圖3.2.1所示,bank6和bank7對(duì)應(yīng)不同大小存儲(chǔ)器時(shí)的地址范圍參見(jiàn)表3.2.1。 .不運(yùn)用NAND Flash作為啟動(dòng)ROM 運(yùn)用NAND Flash作為啟動(dòng)ROM留意:SROM表示是ROM或SRAM類型的存儲(chǔ)器;SFR指特殊功能存放器。圖3.2.1 S3C2410A復(fù)位后的存儲(chǔ)器映射.表3.2.1 bank 6和ba
16、nk 7地址注:bank 6和bank 7必需具有一樣的存儲(chǔ)器大小。.3.3 復(fù)位、時(shí)鐘和電源管理1復(fù)位電路在系統(tǒng)中,復(fù)位電路主要完成系統(tǒng)的上電復(fù)位和系統(tǒng)在運(yùn)轉(zhuǎn)時(shí)用戶的按鍵復(fù)位功能。復(fù)位電路可由簡(jiǎn)單的RC電路構(gòu)成,也可以運(yùn)用其他的相對(duì)較復(fù)雜,但功能更完善的電路。為了提供高效的電源監(jiān)視性能,選取了專門(mén)的系統(tǒng)監(jiān)視復(fù)位芯片IMP811S。該芯片性能優(yōu)良,可以經(jīng)過(guò)手動(dòng)控制系統(tǒng)的復(fù)位,同時(shí)還可以實(shí)時(shí)監(jiān)控系統(tǒng)的電源。一旦系統(tǒng)電源低于系統(tǒng)復(fù)位的閥值2.9V,IMP811S將會(huì)對(duì)系統(tǒng)進(jìn)展復(fù)位。系統(tǒng)復(fù)位電路如圖3.3.1所示。.圖3.3.1 系統(tǒng)復(fù)位電路.也可以采用如圖3.3.2所示較簡(jiǎn)單的RC復(fù)位電路,經(jīng)運(yùn)用
17、證明,其復(fù)位邏輯是可靠的。該復(fù)位電路的任務(wù)原理如下:在系統(tǒng)上電時(shí),經(jīng)過(guò)電阻R108向電容C162充電,當(dāng)C162兩端的電壓未到達(dá)高電平的門(mén)限電壓時(shí),RESET端輸出為高電平,系統(tǒng)處于復(fù)位形狀;當(dāng)C162兩端的電壓到達(dá)高電平的門(mén)限電壓時(shí),RESET端輸出為低電平,系統(tǒng)進(jìn)入正常任務(wù)形狀。當(dāng)用戶按下按鈕RESET時(shí),C162兩端的電荷被放掉,RESET端輸出為高電平,系統(tǒng)進(jìn)入復(fù)位形狀,再反復(fù)以上的充電過(guò)程,系統(tǒng)進(jìn)入正常任務(wù)形狀。兩級(jí)非門(mén)電路用于按鈕去抖動(dòng)和波形整形;nRESET端的輸出形狀與RESET端相反,用于低電平復(fù)位的器件;經(jīng)過(guò)調(diào)整R108和C162的參數(shù),可調(diào)整復(fù)位形狀的時(shí)間。.圖3.3.2
18、 系統(tǒng)的復(fù)位電路.2時(shí)鐘電路在S3C2410A中的時(shí)鐘控制邏輯可以產(chǎn)生CPU所需的FCLK時(shí)鐘信號(hào)。AHB總線外圍設(shè)備所需的HCLK時(shí)鐘信號(hào),以及APB總線外圍設(shè)備所需的PCLK時(shí)鐘信號(hào)。S3C2410A有兩個(gè)鎖相環(huán)Phase Locked Loops,PLL,一個(gè)用于FCLK,HCLK和PCLK,另一個(gè)專門(mén)用于USB模塊48 MHz。時(shí)鐘控制邏輯可以在不需求PLL的情況下產(chǎn)生慢速時(shí)鐘,并且可以經(jīng)過(guò)軟件來(lái)控制時(shí)鐘與每個(gè)外圍模塊是銜接還是斷開(kāi),從而降低功耗。S3C2410A微處置器的主時(shí)鐘可以由外部時(shí)鐘源提供,也可以由外部振蕩器提供,如圖3.3.3所示,采用哪種方式經(jīng)過(guò)引腳OM3:2來(lái)進(jìn)展選擇。
19、 OM3:2=00時(shí),MPLL和UPLL的時(shí)鐘均選擇外部晶體振蕩器; OM3:2=0l時(shí),MPLL的時(shí)鐘選擇外部晶體振蕩器;UPLL選擇外部時(shí)鐘源;. OM3:2=10時(shí),MPLL的時(shí)鐘選擇外部時(shí)鐘源;UPLL選擇外部晶體振蕩器; OM3:2=11時(shí),MPLL和UPLL的時(shí)鐘均選擇外部時(shí)鐘源。在系統(tǒng)中選擇OM3:2均接地的方式,即采用外部振蕩器提供系統(tǒng)時(shí)鐘。系統(tǒng)時(shí)鐘源直接采用外部晶振,內(nèi)部PLL電路可以調(diào)整系統(tǒng)時(shí)鐘,使系統(tǒng)運(yùn)轉(zhuǎn)速度更快。S3C2410X的系統(tǒng)時(shí)鐘電路見(jiàn)圖3.3.3,其外部振蕩器由12MHz晶振和2個(gè)15pF的微調(diào)電容組成。振蕩電路輸出接到S3C2410X微處置器的XTIPLL腳
20、,輸入由XTOPLL提供。由于片內(nèi)的PLL電路兼有頻率放大和信號(hào)提純的功能,因此,系統(tǒng)可以以較低的外部時(shí)鐘信號(hào)獲得較高的任務(wù)頻率,從而降低因高速開(kāi)關(guān)時(shí)鐘所呵斥的高頻噪聲。.圖3.3.3 S3C2410X微處置器外部時(shí)鐘電路.3電源電路對(duì)于電源控制邏輯,S3C2410A具有多種電源管理方案,對(duì)于每個(gè)給定的義務(wù)都具有最優(yōu)的功耗。在S3C2410A中的電源管理模塊具有正常方式、慢速方式、空閑方式和掉電方式4種有效方式。在正常方式,電源管理模塊為CPU和S3C2410A中的一切外圍設(shè)備提供時(shí)鐘。在這個(gè)方式,由于一切外圍設(shè)備都處于開(kāi)啟形狀,因此功耗到達(dá)最大。用戶可以經(jīng)過(guò)軟件來(lái)控制外圍設(shè)備的操作。例如,假
21、設(shè)不需求定時(shí)器,那么用戶可以斷開(kāi)定時(shí)器的時(shí)鐘,以降低功耗。慢速方式又稱無(wú)PLL方式。與正常方式不同,在慢速方式不運(yùn)用PLL,而運(yùn)用外部時(shí)鐘XTIPLL或EXTCLK直接作為S3C2410A中的FCLK。在這種方式下,功耗大小僅取決外部時(shí)鐘的頻率,功耗與PLL無(wú)關(guān)。在空閑方式下,電源管理模塊只斷開(kāi)CPU內(nèi)核的時(shí)鐘FCLK,但仍為一切其他外圍設(shè)備提供時(shí)鐘??臻e方式降低了由CPU內(nèi)核產(chǎn)生的功耗。任何中斷懇求可以從空閑方式喚醒CPU。.在掉電方式,電源管理模塊斷開(kāi)內(nèi)部電源。因此,除喚醒邏輯以外,CPU和內(nèi)部邏輯都不會(huì)產(chǎn)生功耗。激活掉電方式需求兩個(gè)獨(dú)立的電源,一個(gè)電源為喚醒邏輯供電;另一個(gè)為包括CPU在
22、內(nèi)的其他內(nèi)部邏輯供電,并且這個(gè)電源開(kāi)關(guān)可以控制。在掉電方式下,為CPU和內(nèi)部邏輯供電的第二個(gè)電源將關(guān)斷。經(jīng)過(guò)EINT15:0或RTC報(bào)警中斷可以從掉電方式喚醒S3C2410A。在設(shè)計(jì)系統(tǒng)電源電路之前對(duì)S3C2410A的電源引腳進(jìn)展分析:VDDalive引腳給處置器復(fù)位模塊和端口存放器提供1.8V電壓;VDDi和VDDiarm為處置器內(nèi)核提供1.8V電壓;VDDi_MPLL為MPLL提供1.8V模擬電源和數(shù)字電源;VDDi_UPLL為UPLL提供1.8V模擬電源和數(shù)字電源;VDDOP和VDDMOP分別為處置器端口和處置器存儲(chǔ)器端口提供3.3V電壓;VDD_ADC為處置器內(nèi)的ADC系統(tǒng)提供3.3V
23、電壓;VDDRTC為時(shí)鐘電路提供1.8V電壓,該電壓在系統(tǒng)掉電后仍需求維持。系統(tǒng)需求運(yùn)用3.3V和1.8V的直流穩(wěn)壓電源。為簡(jiǎn)化系統(tǒng)電源電路的設(shè)計(jì),要求整個(gè)系統(tǒng)的輸入電壓為高質(zhì)量的5V直流穩(wěn)壓電源。VDD3.3V提供應(yīng)VDDMOP,VDDIO,VDDADC和VCC引腳,VDD1.8V提供應(yīng)VDDi_X。.5V輸入電壓經(jīng)過(guò)DC-DC轉(zhuǎn)換器可完成5V到3.3V和1.8V的電壓轉(zhuǎn)換。系統(tǒng)中RTC所需電壓由1.8V電源和后備電源共同提供,在系統(tǒng)任務(wù)時(shí)1.8V電壓有效,系統(tǒng)掉電時(shí)后備電池開(kāi)場(chǎng)任務(wù),以供RTC電路所需的電源,同時(shí)運(yùn)用發(fā)光二極管指示電源形狀。S3C2410A電源電路如圖3.3.4所示。a3.
24、3V電源電路.b1.8V電源電路電阻R203100K,R20447.5K,阻值需求修正圖3.3.4 電源電路.3.4 S3C2410A的I/O口3.4.1 S3C2410A的IO口配置S3C2410A共有117個(gè)多功能復(fù)用輸入輸出端口I/O口,分為端口A端口H 8組,其中8組I/O口按照其位數(shù)的不同又可分為:端口AGPA是1個(gè)23位輸出口;端口BGPB和端口HGPH是2個(gè)11位I/O口;端口CGPC、端口DGPD、端口EGPE和端口GGPG是4個(gè)16位I/O口;端口FGPF是1個(gè)8位I/O口。為了滿足不同系統(tǒng)設(shè)計(jì)的需求,每個(gè)I/O口可以很容易地經(jīng)過(guò)軟件對(duì)進(jìn)展配置。每個(gè)引腳的功能必需在啟動(dòng)主程序
25、之前進(jìn)展定義。假設(shè)一個(gè)引腳沒(méi)有運(yùn)用復(fù)用功能,那么它可以配置為I/O口。留意:端口 A除了作為功能口外,只可以作為輸出口運(yùn)用。S3C2410A的I/O口配置情況如表.7所列。.表3.4.1 S3C2410A的端口A I/O口配置情況端口A可選擇的引腳端功能GPA22輸出nFCEGPA21輸出nRSTOUTGPA20輸出nFREGPA19輸出nFWEGPA18輸出ALEGPA17輸出CLEGPA16GPA12輸出nGCS5nGCS1GPA11GPA1輸出ADDR26ADDR16GPA0輸出ADDR0.端口B可選擇的引腳端功能GPB10輸入/輸出nXDREQ0GPB9輸入/輸出nXD
26、ACK0GPB8輸入/輸出nXDREQ1GPB7輸入/輸出nXDACK1GPB6輸入/輸出nXBREQGPB5輸入/輸出nXBACKGPB4輸入/輸出TCLK0GPB3GPB0輸入/輸出TOUT3 TOUT0表3.4.2 S3C2410A的端口B I/O口配置情況.端口C可選擇的引腳端功能GPC15GPC8輸入/輸出VD7 VD0GPC7GPC5輸入/輸出LCDVF2LCDVF0GPC4輸入/輸出VMGPC3輸入/輸出VFRAMEGPC2輸入/輸出VLINEGPC1輸入/輸出VCLKGPC0輸入/輸出LEND表3.4.3 S3C2410A的端口C I/O口配置情況.端口D可選擇的引腳端功能GP
27、D15輸入/輸出VD23nSS0GPD14輸入/輸出VD22nSS1GPD13GPD0輸入/輸出VD21VD8表3.4.4 S3C2410A的端口D I/O口配置情況.端口E可選擇的引腳端功能GPE15輸入/輸出IICSDAGPE14輸入/輸出IICSCLGPE13輸入/輸出SPICLK0GPE12輸入/輸出SPIMOSI0GPE11輸入/輸出SPIMISO0GPE10GPE7輸入/輸出SDDAT3SDDAT0GPE6輸入/輸出SDCMDGPE5輸入/輸出SDCLK表3.4.5 S3C2410A的端口E、F I/O口配置情況.GPE4輸入/輸出I2SSDOI2SSDIGPE3輸入/輸出I2SS
28、DInSS0GPE2輸入/輸出CDCLKGPE1輸入/輸出I2SSCLKGPE0輸入/輸出I2SLRCK端口FGPF7 GPF0輸入/輸出EINT7 EINT0.端口G可選擇的引腳端功能GPG15輸入/輸出EINT23nYPONGPG14輸入/輸出EINT22YMONGPG13輸入/輸出EINT21nXPONGPG12輸入/輸出EINT20XMONGPG11輸入/輸出EINT19TCLK1GPG10GPG8輸入/輸出EINT18EINT16GPG7輸入/輸出EINT15SPICLK1表3.4.6 S3C2410A的端口G I/O口配置情況.GPG6輸入/輸出EINT14SPIMOSI1GPG5
29、輸入/輸出EINT13SPIMISO1GPG4輸入/輸出EINT12LCD_PWRENGPG3輸入/輸出EINT11nSS1GPG2輸入/輸出EINT10nSS0GPG1輸入/輸出EINT9GPG0輸入/輸出EINT8.端口 H可選擇的引腳端功能GPH10輸入/輸出CLKOUT1GPH9輸入/輸出CLKOUT0GPH8輸入/輸出UEXTCLKGPH7輸入/輸出RXD2nCTS1GPH6輸入/輸出TXD2nRTS1GPH5輸入/輸出RXD1GPH4輸入/輸出TXD1GPH3輸入/輸出RXD0GPH2輸入/輸出TXD0GPH1輸入/輸出nRTS0GPH0輸入/輸出nCTS0表3.4.7 S3C24
30、10A的端口H I/O口配置情況.3.4.2 S3C2410A的IO口存放器在S3C2410A中,大多數(shù)的引腳端都是復(fù)用的,所以對(duì)于每一個(gè)引腳端都需求定義其功能。為了運(yùn)用I/O口,首先需求定義引腳的功能。每個(gè)引腳端的功能經(jīng)過(guò)端口控制存放器PnCON來(lái)定義配置。與配置I/O口相關(guān)的存放器包括:端口控制存放器GPACONGPHCON、端口數(shù)據(jù)存放器GPADATGPHDAT、端口上拉存放器GPBUPGPHUP、雜項(xiàng)控制存放器以及外部中斷控制存放器EXTINTN等。在掉電方式,假設(shè)GPF0GPF7和GPG0GPG7用作為喚醒信號(hào),那么這些端口必需配置為中斷方式。假設(shè)端口配置為輸出口,數(shù)據(jù)可以寫(xiě)入到端口
31、數(shù)據(jù)存放器PnDAT的相應(yīng)位中;假設(shè)將端口配置為輸入口,那么可以從端口數(shù)據(jù)存放器PnDAT的相應(yīng)位中讀出數(shù)據(jù)。端口上拉存放器用于控制每組端口的上拉電阻為使能/不使能。假設(shè)相應(yīng)位設(shè)置為0,那么表示該引腳的上拉電阻使能;為1,那么表示該引腳的上拉電阻不使能。假設(shè)使能了端口上拉存放器,那么不論引腳配置為哪種功能輸入、輸出、DATAn、EINTn等,上拉電阻都會(huì)起作用。.雜項(xiàng)控制存放器用于控制數(shù)據(jù)端口的上拉電阻、高阻形狀、USB Pad和CLKOUT的選擇。24個(gè)外部中斷經(jīng)過(guò)不同的信號(hào)方式被懇求。EXTINTn存放器用于配置這些信號(hào)對(duì)于外部中斷懇求采用的是低電平觸發(fā)、高電平觸發(fā)、下降沿觸發(fā)、上升沿觸發(fā)
32、還是雙邊沿觸發(fā)。有8個(gè)外部中斷有數(shù)字濾波器。僅16 EINT引腳端EINT15:0用來(lái)作為喚醒源。一切GPIO存放器的值在掉電方式下都會(huì)被保管。外部中斷屏蔽存放器EINTMASK不能阻止從掉電方式喚醒,但是假設(shè)EINTMASK正在屏蔽的是EINT15:4中的某位,那么可以實(shí)現(xiàn)喚醒,不過(guò)存放器SRCPND的位EINT4 和EINT8 23在剛剛喚醒后不能設(shè)置為1。相關(guān)存放器的設(shè)置分別描畫(huà)如下:.寄存器地址讀/寫(xiě)描述復(fù)位值GPACON 0 x56000000 R/W 配置端口A引腳端,使用位22:0。設(shè)置為0:輸出引腳端;設(shè)置為1:第2功能0 x7FFFFF GPADAT0 x56000004 R
33、/W 端口A數(shù)據(jù)寄存器,使用位22:0 未定義 保留0 x56000008 保留未定義保留0 x5600000C 保留未定義1端口A控制存放器參見(jiàn)表3.4.8 表3.4.8 端口A控制存放器.寄存器 地址 讀/寫(xiě)描述復(fù)位值 GPBCON 0 x56000010 R/W 配置端口B引腳端,使用位21:0,分別對(duì)端口B的11個(gè)引腳端進(jìn)行配置。00:輸入;01:輸出;10:第2功能;11:保留0 x0 GPBDAT 0 x56000014 R/W 端口B數(shù)據(jù)寄存器,使用位10:0 未定義GPBUP 0 x56000018 R/W 端口B上拉電阻不使能寄存器,使用位10:0 。0:使能;1:不使能0
34、x0 保留0 x5600001C 保留未定義2端口B控制存放器參見(jiàn)表3.4.9 表.3.4.9 端口B控制存放器.寄存器地址 讀/寫(xiě) 描述 復(fù)位值GPCCON 0 x56000020 R/W 配置端口C引腳端,使用位31:0,分別對(duì)端口B的16個(gè)引腳端進(jìn)行配置。00:輸入;01:輸出;10:第2功能;11:保留0 x0 GPCDAT 0 x56000024 R/W 端口C數(shù)據(jù)寄存器,使用位15:0 未定義GPCUP 0 x56000028 R/W 端口C上拉電阻不使能寄存器,使用位15:0 。0:使能;1:不使能0 x0 保留0 x5600002C 保留未定義3端口C控制存放器參見(jiàn)表3.4.1
35、0 表3.4.10 端口 C控制存放器.寄存器地址 讀/寫(xiě) 描述 復(fù)位值GPDCON 0 x56000030 R/W 配置端口D引腳端,使用位31:0,分別對(duì)端口B的16個(gè)引腳端進(jìn)行配置。00:輸入;01:輸出;10:第2功能;11:保留/第3功能0 x0 GPDDAT 0 x56000034 R/W 端口D數(shù)據(jù)寄存器,使用位15:0 未定義GPDUP 0 x56000038 R/W 端口D上拉電阻不使能寄存器,使用位15:0。0:使能;1:不使能0 xF000 保留 0 x5600003C 保留未定義 4端口D控制存放器參見(jiàn)表3.4.11 表3.4.11 端口D控制存放器 .寄存器地址 讀/
36、寫(xiě) 描述 復(fù)位值GPECON 0 x56000040 R/W 配置端口E引腳端,使用位31:0,分別對(duì)端口B的16個(gè)引腳端進(jìn)行配置。 00:輸入;01:輸出;10:第2功能;11:保留/第3功能0 x0 GPEDAT 0 x56000044 R/W 端口E數(shù)據(jù)寄存器,使用位15:0 未定義 GPEUP 0 x56000048 R/W 端口E上拉電阻不使能寄存器,使用位15:0 。0:使能;1:不使能0 x0 保留0 x5600004C 保留未定義5端口E控制存放器參見(jiàn)表3.4.12 表3.4.12 端口 E控制存放器.寄存器地址 讀/寫(xiě) 描述 復(fù)位值GPFCON 0 x56000050 R/W
37、 配置端口F引腳端,使用位15:0,分別對(duì)端口B的8個(gè)引腳端進(jìn)行配置。 00:輸入;01:輸出;10:第2功能;11:保留0 x0 GPFDAT 0 x56000054 R/W 端口F數(shù)據(jù)寄存器,使用位7:0 未定義 GPFUP 0 x56000058 R/W 端口F上拉電阻不使能寄存器,使用位7:0 。0:使能;1:不使能0 x0 保留0 x5600005C 保留未定義6端口F控制存放器參見(jiàn)表3.4.13 表3.4.13 端口F控制存放器.寄存器地址 讀/寫(xiě) 描述 復(fù)位值GPGCON 0 x56000060 R/W 配置端口G引腳端,使用位31:0,分別對(duì)端口B的16個(gè)引腳端進(jìn)行配置。00:
38、輸入;01:輸出;10:第2功能;11:保留/第3功能0 x0 GPGDAT 0 x56000064 R/W 端口G數(shù)據(jù)寄存器,使用位15:0 未定義 GPGUP 0 x56000068 R/W 端口G上拉電阻不使能寄存器,使用位15:0 。0:使能;1:不使能0 xF800保留 0 x5600006C 保留未定義7端口G控制存放器參見(jiàn)表3.4.14 表3.4.14 端口G控制存放器.寄存器地址 讀/寫(xiě) 描述 復(fù)位值GPHCON 0 x56000070 R/W 配置端口H引腳端,使用位21:0,分別對(duì)端口B的11個(gè)引腳端進(jìn)行配置。00:輸入;01:輸出;10:第2功能;11:保留/第3功能0
39、x0 GPHDAT 0 x56000074 R/W 端口H數(shù)據(jù)寄存器,使用位10:0 未定義 GPHUP 0 x56000078 R/W 端口H上拉電阻不使能寄存器,使用位10:0 。0:使能;1:不使能0 x0 保留 0 x5600007C 保留未定義8端口H控制存放器參見(jiàn)表3.4.15 表3.4.15 端口H控制存放器.寄存器地址 讀/寫(xiě) 描述 復(fù)位值MISCCR 0 x56000080 R/W 上拉電阻、高阻狀態(tài)、USB Pad和CLKOUT的選擇控制 0 x103309雜項(xiàng)控制存放器參見(jiàn)表3.4.16 表3.4.16 雜項(xiàng)控制存放器寄存器地址 讀/寫(xiě) 描述 復(fù)位值DCLKCON 0 x
40、56000084 R/W DCLK0/1 控制,位27:16控制DCLK1,位11:0控制DCLK9 0 x0 10DCLK控制存放器參見(jiàn)表3.4.17 表3.4.17 DCLK控制存放器.寄存器地址讀/寫(xiě)描述復(fù)位值EXTINT00 x56000088R/W外部中斷控制寄存器0 ,使用位30:0,分別對(duì)EINT7EINT0觸發(fā)信號(hào)進(jìn)行配置。000:低電平觸發(fā);001:高電平觸發(fā);01x:下降沿下降;10 x:上升沿觸發(fā);11x:雙邊沿觸發(fā)0 x0EXTINT10 x5600008CR/W外部中斷控制寄存器1,使用位30:0,分別對(duì)EINT15EINT8觸發(fā)信號(hào)進(jìn)行配置。000:低電平觸發(fā);00
41、1:高電平觸發(fā);01x:下降沿下降;10 x:上升沿觸發(fā);11x:雙邊沿觸發(fā)0 x011.外部中斷控制存放器參見(jiàn)表3.4.18 表3.4.18 外部中斷控制存放器.EXTINT20 x56000090R/W外部中斷控制寄存器2,使用位30:0,分別對(duì)EINT23EINT16觸發(fā)信號(hào)進(jìn)行配置。000:低電平觸發(fā);001:高電平觸發(fā);01x:下降沿下降;10 x:上升沿觸發(fā);11x:雙邊沿觸發(fā)。位31為EINT23濾波器使能控制,1:使能;0:不使能0 x0.寄存器地址 讀/寫(xiě) 描述 復(fù)位值EINTFLT0 0 x56000094 R/W 保留EINTFLT1 0 x56000098 R/W 保留
42、EINTFLT2 0 x5600009C R/W 外部中斷控制寄存器 2 ,控制EINT19EINT16的濾波器時(shí)鐘和帶寬0 x0 EINTFLT3 0 x4C6000A0 R/W 外部中斷控制寄存器 3 ,控制EINT23EINT20的濾波器時(shí)鐘和帶寬0 x0 12外部中斷濾波存放器參見(jiàn)表3.4.19 表3.4.19 外部中斷濾波存放器.寄存器地址 讀/寫(xiě) 描述 復(fù)位值EINTMASK 0 x560000A4 R/W 外部中斷屏蔽寄存器,使用位23:4 控制EINT23EINT4中斷屏蔽。0:使能中斷;1:屏蔽中斷0 x00FFFFF0 寄存器地址 讀/寫(xiě) 描述 復(fù)位值EINTPEND 0
43、x560000A8 R/W 外部中斷掛起寄存器,使用位23:4 控制EINT23EINT4中斷請(qǐng)求。0:不被請(qǐng)求;1:被請(qǐng)求 0 x0 14.外部中斷掛起存放器參見(jiàn)表3.4.21 表3.4.21 外部中斷掛起存放器13.外部中斷屏蔽存放器參見(jiàn)表3.4.20 表3.4.20 外部中斷屏蔽存放器.寄存器地址 讀/寫(xiě) 描述 復(fù)位值GSTATUS0 0 x560000AC R 外部引腳端狀態(tài)Undefined GSTATUS1 0 x560000B0 R 芯片ID 0 x32410000 GSTATUS2 0 x560000B4 R/W 復(fù)位狀態(tài) 0 x1 GSTATUS3 0 x560000B8 R
44、/W Infrom 寄存器,可以利用nRESET和看門(mén)狗定時(shí)器清零0 x0 GSTATUS4 0 x560000BC R/W Infrom寄存器,可以利用nRESET和看門(mén)狗定時(shí)器清零0 x0 15.通用形狀存放器參見(jiàn)表3.4.22 表3.4.22 通用形狀存放器.3.5 S3C2410A的中斷控制3.5.1 ARM系統(tǒng)的中斷處置在ARM系統(tǒng)中,支持復(fù)位、未定義指令、軟中斷、預(yù)取中止、數(shù)據(jù)中止、IRQ和FIQ 7種異常,每種異常對(duì)應(yīng)于不同的處置器方式,有對(duì)應(yīng)的異常向量固定的存儲(chǔ)器地址。在ARM系統(tǒng)中,一旦有中斷發(fā)生,正在執(zhí)行的程序都會(huì)停下來(lái),通常都會(huì)執(zhí)行如下的中斷步驟:1保管現(xiàn)場(chǎng)。保管當(dāng)前的P
45、C值到R14,保管當(dāng)前的程序運(yùn)轉(zhuǎn)形狀到SPSR。2方式切換。根據(jù)發(fā)生的中斷類型,進(jìn)入IRQ方式或FIQ方式。3獲取中斷效力子程序地址。PC指針跳到異常向量表所保管的IRQ或FIQ地址處,IRQ或FIQ的異常向量地址處普通保管的是中斷效力子程序的地址,PC指針跳入到中斷效力子程序,進(jìn)展中斷處置。 4多個(gè)中斷懇求處置。在ARM系統(tǒng)中,可以存在多個(gè)中斷懇求源,比如串口中斷、AD中斷、外部中斷、定時(shí)器中斷及DMA中斷等,所以能夠出現(xiàn)多個(gè)中斷源同時(shí)懇求中斷的情況。為了更好地.區(qū)分各個(gè)中斷源,通常為這些中斷定義不同的優(yōu)先級(jí)別,并為每一個(gè)中斷設(shè)置一個(gè)中斷標(biāo)志位。當(dāng)發(fā)生中斷時(shí),經(jīng)過(guò)判別中斷優(yōu)先級(jí)以及訪問(wèn)中斷標(biāo)
46、志位的形狀來(lái)識(shí)別哪一個(gè)中斷發(fā)生了,進(jìn)而調(diào)用相應(yīng)的函數(shù)進(jìn)展中斷處置。5中斷前往,恢復(fù)現(xiàn)場(chǎng)。當(dāng)完成中斷效力子程序后,將SPSR中保管的程序運(yùn)轉(zhuǎn)形狀恢復(fù)到CPSR中,R14中保管的被中斷程序的地址恢復(fù)到PC中,繼續(xù)執(zhí)行被中斷的程序。3.5.2 S3C2410A的中斷控制器S3C2410A采用ARM920T CPU內(nèi)核,ARM920T CPU的中斷包含有IRQ和FIQ。IRQ是普通中斷,F(xiàn)IQ是快速中斷,F(xiàn)IQ的優(yōu)先級(jí)高于IRQ。FIQ中斷通常在進(jìn)展大批量的復(fù)制、數(shù)據(jù)傳輸?shù)热蝿?wù)時(shí)運(yùn)用。S3C2410A經(jīng)過(guò)對(duì)程序形狀存放器PSR中的F位和I位進(jìn)展設(shè)置控制CPU的中斷呼應(yīng)。假設(shè)設(shè)置PSR的F位為1,那么C
47、PU不會(huì)呼應(yīng)來(lái)自中斷控制器的FIQ中斷;假設(shè)設(shè)置PSR的I位為1,那么CPU不會(huì)呼應(yīng)來(lái)自中斷控制器的IRQ中斷。假設(shè)設(shè)置PSR的F位或I位設(shè)置為0,同時(shí)將中斷屏蔽存放器INTMSK中的相對(duì)應(yīng)位設(shè)置為0,CPU呼應(yīng)來(lái)自中斷控制器的IRQ或FIQ中斷懇求。.中斷屏蔽存放器用于指示中斷能否制止。假設(shè)設(shè)置中斷屏蔽存放器中的相對(duì)應(yīng)屏蔽位為1,表示相對(duì)應(yīng)的中斷制止;假設(shè)設(shè)置為0,表示中斷發(fā)生時(shí)將正常執(zhí)行中斷效力。假設(shè)發(fā)生中斷時(shí)相對(duì)應(yīng)的屏蔽位正好為1,那么中斷掛起存放器中的相對(duì)中斷源掛起位將置1。S3C2410A有SRCPND中斷源掛起存放器和INTPND中斷掛起存放器兩個(gè)中斷掛起存放器。SRCPND和IN
48、TPND兩個(gè)掛起存放器用于指示某個(gè)中斷懇求能否處于掛起形狀。當(dāng)多個(gè)中斷源懇求中斷效力時(shí),SRCPND存放器中的相應(yīng)位設(shè)置為1,仲裁過(guò)程終了后INTPND存放器中只需1位被自動(dòng)設(shè)置為1。S3C2410A中的中斷控制器可以接納來(lái)自56個(gè)中斷源的懇求,這些中斷源來(lái)自DMA控制器、UART、I2C及外部中斷引腳等。從表3.5.1可以看出,S3C2410A共有32個(gè)中斷懇求信號(hào)。S3C2410A采用了中斷共享技術(shù),INT_UARTO、INT_UART1、INT_UART2、EINT8_23和EINT4_7為多個(gè)中斷源共享運(yùn)用的中斷懇求信號(hào)。中斷懇求的優(yōu)先級(jí)邏輯是由7個(gè)仲裁器組成的,其中包括6個(gè)一級(jí)仲裁器
49、和1個(gè)二級(jí)仲裁器,如圖3.5.1所示。每個(gè)仲裁器能否使能由存放器PRIORITY6:0決議。每個(gè)仲裁器可以處置46個(gè)中斷源,從中選出優(yōu)先級(jí)最高的。優(yōu)先級(jí)順序由存放器PRIORITY20:7的相應(yīng)位決議。. 表3.5.1 S3C2410A 的中斷源中斷源描述仲裁器分組INT_ADCADCEOC和觸摸中斷(INT_ADC/INT_TC)ARB5INT_RTCRTC報(bào)警中斷ARB5INT_SPI1SPI1中斷ARB5INT_UART0UART0中斷(故障、接收和發(fā)送)ARB5INT_IICI2 C中斷ARB4VINT_USBHUSB主設(shè)備中斷ARB4INT_USBUSB從設(shè)備中斷ARB4保留保留AR
50、B4INT_UART1UART1中斷(故障、接收和發(fā)送)ARB4INT_SPI0SPI0中斷ARB4INT_SDISDI中斷ARB3INT_DMA3DMA通道3中斷ARB3INT_DMA2DMA通道2中斷ARB3INT_DMA1DMA通道1中斷ARB3INT_DMA0DMA通道0中斷ARB3.INT_LCDLCD中斷ARB3INT_UART2UART2中斷(故障、接收和發(fā)送)ARB2INT_TIMER4定時(shí)器4中斷ARB2INT_TIMERS定時(shí)器3中斷ARB2INT_TIMER2定時(shí)器2中斷ARB2INT_TIMER1定時(shí)器1中斷ARB2INT_TIMER0定時(shí)器0中斷ARB2INT_WDT
51、看門(mén)狗定時(shí)器中斷ARB1INT_TICKRTC時(shí)鐘滴答中斷ARB1nBATT_FLT電源故障中斷ARB1保留保留ARB1EINT8_23外部中斷823ARB1EINT4_7外部中斷47ARB1EINT3外部中斷3ARB0EINT2外部中斷2ARB0EINTI外部中斷1ARB0EINT0外部中斷0ARB0.圖3.5.1 優(yōu)先級(jí)生成模塊.寄存器地址R/W描述復(fù)位值SRCPND0X4A000000 R/W中斷源掛起寄存器,為0時(shí),無(wú)中斷請(qǐng)求;當(dāng)有中斷產(chǎn)生,相應(yīng)位置1。所有來(lái)自中斷源的中斷請(qǐng)求首先被登記到中斷源掛起寄存器中0 x00000000INTMOD0X4A000004 R/W中斷模式寄存器:0
52、=IRQ模式,1=FIQ模式。多個(gè)IRQ中斷的仲裁過(guò)程在優(yōu)先級(jí)寄存器進(jìn)行。0 x00000000INTMSK0X4A000008 R/W中斷屏蔽寄存器:0=允許中斷,1=屏蔽中斷。中斷屏蔽寄存器的主要功能是屏蔽相應(yīng)中斷的請(qǐng)求,即使中斷掛起寄存器的相應(yīng)位已經(jīng)置1,也就是說(shuō)已經(jīng)有相應(yīng)的中斷請(qǐng)求發(fā)生了;但是如果此時(shí)中斷屏蔽寄存器的相應(yīng)位置1,則中斷控制器將屏蔽該中斷請(qǐng)求CPU不會(huì)響應(yīng)該中斷0 xFFFFFFFFS3C2410A中斷控制器的特殊存放器如表3.5.2所示,中斷控制需求正確 的設(shè)置這些存放器,存放器中每一位的含義請(qǐng)參閱S3C2410A數(shù)據(jù)手冊(cè)。表3.5.2中斷控制器的特殊存放器.PRIOR
53、ITY0 x4A00000C R/WIRQ中斷優(yōu)先級(jí)控制寄存器0 x7FINTPND0X4A000010 R/W中斷狀態(tài)指示寄存器:0=該中斷沒(méi)有請(qǐng)求,1=該中斷源發(fā)出中斷請(qǐng)求0 x00000000INTOFFSET0X4A000014 R中斷偏移寄存器,指示IRQ中斷源 0 x00000000SUBSRCPND0X4A000018 R/W子中斷源狀態(tài)寄存器,指示中斷請(qǐng)求的狀態(tài)。0=該中斷沒(méi)有請(qǐng)求,1=該中斷源發(fā)出中斷請(qǐng)求0 x00000000INTSUBMSK0X4A00001C R/W定義哪幾個(gè)中斷源屏蔽。0=中斷服務(wù)允許,1=中斷服務(wù)屏蔽0 x7FF.3.5.3 S3C2410A的中斷編
54、程實(shí)例本小節(jié)引見(jiàn)一個(gè)經(jīng)過(guò)定時(shí)器1控制一個(gè)led燈每1秒鐘改動(dòng)一次形狀,需求完成的主要任務(wù)如下。1對(duì)定時(shí)器1初始化,并設(shè)定定時(shí)器的中斷時(shí)間為1,詳細(xì)代碼參見(jiàn)Timed init 函數(shù)。void Timerl_initvoidrGPBCON = rGPBCON&0 xfffffffc&0 x00000001; rGPBDAT= rGPBDAT |0 x001;rTCFG0 = 255;rTCFG1 = 04;rTCNTB1 = 48828; /在pclk = 50MHz下,1s的記數(shù)值rTCNTB1 = 50000000/4/256=48828;rTCMPB1 0 x00;rTCON 1+11 |
55、 19 | 08;/禁用定時(shí)器1,手動(dòng)加載rTCON 1+11 | 09 | 18;/啟動(dòng)定時(shí)器1,自動(dòng)裝載.2為了使CPU呼應(yīng)中斷,在中斷效力子程序執(zhí)行之前,必需翻開(kāi)ARM920T的CPSR中的I位,以及相應(yīng)的中斷屏蔽存放器中的位。翻開(kāi)相應(yīng)的中斷屏蔽存放器中的位,是在TimerlINT Init函數(shù)中實(shí)現(xiàn)的,詳細(xì)代碼如下。void TimerlINT_Initvoid /定時(shí)器接口使能ifrINTPNDBIT_TIMERI rSRCPND | = BIT_TIMER1;pISR_TMER1=intTimerl_ISR; /寫(xiě)入定時(shí)器1中斷效力子程序的入口地址rINTMSK BIT_TIMER
56、I; /開(kāi)中斷;3等待定時(shí)器中斷,經(jīng)過(guò)一個(gè)死循環(huán),如“while1;實(shí)現(xiàn)等待過(guò)程。4根據(jù)設(shè)置的定時(shí)時(shí)間,產(chǎn)生定時(shí)器中斷。中斷發(fā)生后,首先進(jìn)展現(xiàn)場(chǎng)維護(hù),然后轉(zhuǎn)人中斷的入口代碼處執(zhí)行。該部分代碼通常運(yùn)用匯編言語(yǔ)編寫(xiě)。在執(zhí)行中斷效力程序之前,要確保HandleIRQ地址處保管中斷分發(fā)程序IsrIRQ的入口地址,代碼如下。.ldr r0, HandleIRQldr r1, IsrIRQstr r1,r0接下來(lái)將執(zhí)行IsrIRQ中斷分發(fā)程序,詳細(xì)代碼如下。IsrIRQsub sp,sp,#4; /為保管PC預(yù)留堆棧空間stmfd sp!,r8r9ldr r9, INTOFFSETldr r9,r9; /
57、加載INTOFFSET存放器值到r9ldr r8,HandleEINT0; /加載中斷向量表的基地址到r8add r8,r8,r9,lsl #2; /獲得中斷向量ldr r8, r8; /加載中斷效力程序的入口地址到r8str r8,sp,#8; /保管sp,將其作為新的pc值ldmfd sp!,r8-r9,pc; /跳轉(zhuǎn)到新的pc處執(zhí)行,即跳轉(zhuǎn)到中斷效力子程序執(zhí)行.5執(zhí)行中斷效力子程序,該子程序?qū)崿F(xiàn)led燈每一秒鐘改動(dòng)一次形狀??吹絃EDl燈閃爍一次,那么闡明定時(shí)器發(fā)生了一次中斷。詳細(xì)實(shí)現(xiàn)見(jiàn)函數(shù)Timerl_ISR。int f ;void _ _irq Timer1_ISR(void)If
58、(f= = 0) rGPBDAT = rGPBDAT | 0 x001;f=1;If (f= = 1) rGPBDAT= rGPBDAT &0 x0;f=0;rSRCPND |= BIT_TIMER1;rINTPND |= BIT_TIMER1;6從中斷前往,恢復(fù)現(xiàn)場(chǎng),跳轉(zhuǎn)到被中斷的主程序繼續(xù)執(zhí)行,等待下一次中斷的到來(lái)。.3.6 S3C2410A的DMA控制器3.6.1 DMA任務(wù)原理DMADirect Memory Acess,直接存儲(chǔ)器存取方式是指存儲(chǔ)器與外設(shè)在DMA控制器的控制下,直接傳送數(shù)據(jù)而不經(jīng)過(guò)CPU,傳輸速率主要取決于存儲(chǔ)器存取速度。在DMA傳輸過(guò)程中,DMA控制器擔(dān)任管理整個(gè)操
59、作,并且無(wú)須CPU介入,從而大大提高了CPU的任務(wù)效率。DMA方式為高速I(mǎi)/O設(shè)備和存儲(chǔ)器之間的批量數(shù)據(jù)交換提供了直接的傳輸通道。由于I/O設(shè)備直接同內(nèi)存發(fā)生成塊的數(shù)據(jù)交換,可以提高I/O效率。如今大部分計(jì)算機(jī)系統(tǒng)均采用DMA技術(shù)。許多輸入輸出設(shè)備的控制器都支持DMA方式。在進(jìn)展DMA數(shù)據(jù)傳送之前,DMA控制器會(huì)向CPU懇求總線控制權(quán),CPU假設(shè)允許,那么將控制權(quán)交出。因此,在數(shù)據(jù)交換時(shí),總線控制權(quán)由DMA控制器掌握,在傳輸終了后,DMA控制器將總線控制權(quán)交還給CPU。采用DMA方式進(jìn)展數(shù)據(jù)傳輸?shù)脑敿?xì)過(guò)程如下。.1外設(shè)向DMA控制器發(fā)出DMA懇求。2DMA控制器向CPU發(fā)出總線懇求信號(hào)。3CP
60、U執(zhí)行完現(xiàn)行的總線周期后,向DMA控制器發(fā)出呼應(yīng)懇求的回答信號(hào)。4CPU將控制總線、地址總線及數(shù)據(jù)總線讓出,由DMA控制器進(jìn)展控制。5DMA控制器向外部設(shè)備發(fā)出DMA懇求回答信號(hào)。6進(jìn)展DMA傳送。7數(shù)據(jù)傳送終了,DMA控制器經(jīng)過(guò)中斷懇求線發(fā)出中斷信號(hào)。CPU在接納到中斷信號(hào)后,轉(zhuǎn)人中斷處置程序進(jìn)展后續(xù)處置。8中斷處置終了后,CPU前往到被中斷的程序繼續(xù)執(zhí)行。CPU重新獲得總線控制權(quán)。.3.6.2 S3C2410A的DMA控制器在系統(tǒng)總線和外圍總線之間,S3C2410A有4個(gè)DMA控制器。每個(gè)DMA控制器可以處置以下4種情況:1源和目的都在系統(tǒng)總線上;2源在系統(tǒng)總線上,目的在外圍總線上;3源在
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年烏蘭察布職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性考試題庫(kù)及參考答案詳解
- 2026年浙江金華科貿(mào)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)附答案詳解
- 2026年連云港師范高等專科學(xué)校單招職業(yè)傾向性考試題庫(kù)及完整答案詳解1套
- 2026年承德應(yīng)用技術(shù)職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)及參考答案詳解一套
- 2026年邢臺(tái)應(yīng)用技術(shù)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)帶答案詳解
- 2026年江蘇護(hù)理職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性考試題庫(kù)及完整答案詳解1套
- 2026年惠州衛(wèi)生職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及答案詳解1套
- 2026年湖南交通職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)參考答案詳解
- 合同策劃模板(3篇)
- 郵票寄深情課件
- 2025下半年貴州遵義市市直事業(yè)單位選調(diào)56人筆試考試參考題庫(kù)及答案解析
- 2025鄂爾多斯達(dá)拉特旗第二批事業(yè)單位引進(jìn)28名高層次、急需緊缺人才考試筆試模擬試題及答案解析
- 甲狀腺癌放射性碘抵抗機(jī)制研究
- 包治祛痘合同范本
- 門(mén)窗的代理合同范本
- 2025年秋國(guó)家開(kāi)放大學(xué)《思想道德與法治》終考大作業(yè)試卷一附答案【供參考】
- 20252025年(完整版)三級(jí)安全教育真題試卷含答案
- 人教版2025-2026學(xué)年八年級(jí)上冊(cè)數(shù)學(xué)期末考試模擬試卷
- 掛名法人代表協(xié)議合同
- 《軟件工程》機(jī)考題庫(kù)
- 2025重慶兩江新區(qū)公安機(jī)關(guān)輔警招聘56人備考題庫(kù)完整答案詳解
評(píng)論
0/150
提交評(píng)論