版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
S3C44B0是基于ARM7TDMI架構(gòu)的,S3C2410是基于ARM920T架構(gòu)的。當(dāng)前,這兩款芯片在嵌入式開發(fā)領(lǐng)域廣泛應(yīng)用。本章主要介紹S3C44B0和S3C2410的硬件資源和整體架構(gòu),對(duì)其存儲(chǔ)控制器、NANDFlash控制原理、時(shí)鐘電源管理、通用I/O接口和中斷控制器作了詳細(xì)介紹,并通過一定的實(shí)例來加深讀者對(duì)關(guān)鍵技術(shù)的理解。第9章S3C44B0/S3C2410硬件結(jié)構(gòu)與關(guān)鍵技術(shù)分析內(nèi)容提要9.1 處理器簡介9.2 S3C44B0/S3C2410存儲(chǔ)控制器9.3 S3C2410NANDFlash控制器9.4S3C44B0/S3C2410時(shí)鐘電源管理9.5S3C44B0/S3C2410通用I/O端口9.6S3C44B0/S3C2410中斷機(jī)制9.1處理器簡介S3C44B0和S3C2410為手持設(shè)備和普通應(yīng)用提供了低本錢、低功耗、高性能微控制器的解決方案。為了降低整個(gè)系統(tǒng)的本錢,S3C44B0和S3C2410分別提供了很多內(nèi)置功能部件,大大縮短了工程應(yīng)用的開發(fā)周期。9.1.1 S3C44B0微控制器帶8KBCache的ARM7TDMI核。內(nèi)置系統(tǒng)存儲(chǔ)控制器〔片選邏輯,支持ROM、SRAM、Flash、FP/EDO/SDRAM〕。LCD控制器〔支持256色的STN,集成1個(gè)DMA控制器〕。2個(gè)通用DMA控制器〔ZDMA〕/2個(gè)外圍DMA控制器〔BDMA〕。2個(gè)帶硬件握手的UART控制器〔符合550標(biāo)準(zhǔn)〕/1個(gè)SIO。1個(gè)支持多主設(shè)備的I2C控制器。1個(gè)IIS總線控制器。5個(gè)PWM定時(shí)器和1個(gè)內(nèi)部定時(shí)器??撮T狗定時(shí)器WatchDog。71個(gè)通用可編程的I/O口和8個(gè)外部中斷源。具有8通道輸入的10位ADC。具有日歷功能的實(shí)時(shí)時(shí)鐘RTC。功率控制模式:Nomal、Slow、Idle和Stop。帶鎖相環(huán)PLL的片內(nèi)時(shí)鐘發(fā)生器。S3C44B0內(nèi)部結(jié)構(gòu)下頁圖所示(教材《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》217頁圖9-1),它采用了ARM7TDMI內(nèi)核,0.25um工藝的CMOS標(biāo)準(zhǔn)宏單元和存儲(chǔ)編譯器以及一種新的總線結(jié)構(gòu)SAMBAII〔三星ARMCPU嵌入式微處理器總線結(jié)構(gòu)〕。ARM7TDMI體系結(jié)構(gòu)的特點(diǎn)是它集成了Thumb代碼壓縮器,片上的ICE斷點(diǎn)調(diào)試支持和一個(gè)32位的硬件乘法器。外部引腳9.1.2 S3C2410微控制器與S3C44B0相比,基于ARM920T核架構(gòu)的微控制器S3C2410具有更強(qiáng)大的功能,如圖9-2(教材《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》218頁)所示,其主要特點(diǎn)如下:獨(dú)立的16KB指令Cache和16KB數(shù)據(jù)Cache。系統(tǒng)存儲(chǔ)控制器〔片選邏輯,支持ROM、SRAM、Flash、FP/EDO/SDRAM〕。LCD控制器〔支持STN,TFT液晶顯示屏,集成1個(gè)DMA控制器〕。內(nèi)置系統(tǒng)存儲(chǔ)控制器〔片選邏輯,支持ROM、SRAM、Flash、FP/EDO/SDRAM〕。NANDFlash控制器。4個(gè)通道的DMA,支持存儲(chǔ)器與IO之間的數(shù)據(jù)直接傳輸。3個(gè)帶硬件握手的UART控制器。1個(gè)支持多主設(shè)備的I2C控制器。1個(gè)IIS總線控制器。2個(gè)SPI接口2個(gè)USB主機(jī)接口,1個(gè)USB設(shè)備接口。SD卡接口和MMC接口。4個(gè)具有PWM功能的16位定時(shí)/計(jì)數(shù)器和1個(gè)16位內(nèi)部定時(shí)器,支持外部的時(shí)鐘源??撮T狗定時(shí)器WatchDog。117個(gè)通用可能編的I/O口和24個(gè)外部中斷源。具有8通道輸入的10位ADC。具有日歷功能的實(shí)時(shí)時(shí)鐘RTC。功率控制模式:Nomal、Slow、Idle和Stop。帶鎖相環(huán)PLL的片內(nèi)時(shí)鐘發(fā)生器。9.2S3C44B0/S3C2410存儲(chǔ)控制器存儲(chǔ)器是嵌入式系統(tǒng)的重要組成局部,在嵌入式開發(fā)中,擴(kuò)展存儲(chǔ)器是重要的一步。S3C44B0和S3C2410的存儲(chǔ)器控制器提供訪問外部存儲(chǔ)器所需要的存儲(chǔ)器控制信號(hào),便于擴(kuò)展外部存儲(chǔ)器。9.2.1 S3C44B0存儲(chǔ)控制與地址空間存儲(chǔ)格式小/大端選擇地址空間分布分為8個(gè)Bank
S3C44B0的Bank6/7地址分布要求:Bank6和Bank7必須有相同大小。9.2.2 S3C2410存儲(chǔ)控制與地址空間地址空間分布
S3C2410的Bank6/7地址分布要求:Bank6和Bank7必須有相同大小。9.2.3 S3C44B0/S3C2410存儲(chǔ)位寬控制S3C2410S3C44B0所有Bank可編程訪問8/16/32-bit,訪問周期可編程。支持DRAM/SDRAM的自刷新和掉電模式,支持DRAM的同步或異步尋址。Bank0為16/32-bit,其他Bank可編程訪問8/16/32-bit位,訪問周期可編程。支持DRAM/SDRAM的自刷新和掉電模式
S3C44B0/S3C2410存儲(chǔ)器數(shù)據(jù)寬度選擇9.2.4 S3C44B0/S3C2410存儲(chǔ)器接口1、ROM接口
4片8位ROM存儲(chǔ)器接口16位ROM存儲(chǔ)器接口2、SDRAM接口單片16位SDRAM存儲(chǔ)器接口2片16位SDRAM存儲(chǔ)器接口9.2.5 S3C44B0/S3C2410存儲(chǔ)控制存放器總線寬度和等待控制存放器〔BWSCON〕詳細(xì)信息見教材《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》227頁表9-6表9-6BWSCON存放器定義引腳名稱位描述初始值ST7[31]SRAM對(duì)7號(hào)存儲(chǔ)塊是否使用UB/LB控制位。0=不使用UB/LB(引腳對(duì)應(yīng)nWBE[3:0]);1=使用UB/LB(引腳對(duì)應(yīng)nBE[3:0])。0WS7[30]7號(hào)存儲(chǔ)塊的等待狀態(tài)控制位。0=WAIT不使能;1=WAIT使能。0DW7[29:28]7號(hào)存儲(chǔ)塊的數(shù)據(jù)總線寬度控制位。00=8bit;01=16bit;10=32bit;11=保留。0ST6[27]SRAM對(duì)6號(hào)存儲(chǔ)塊是否使用UB/LB控制位。0=不使用UB/LB(引腳對(duì)應(yīng)nWBE[3:0]);1=使用UB/LB(引腳對(duì)應(yīng)nBE[3:0])。0WS6[26]6號(hào)存儲(chǔ)塊的等待狀態(tài)控制位。0=WAIT不使能;1=WAIT使能。0DW6[25:24]決定對(duì)于6號(hào)存儲(chǔ)塊的數(shù)據(jù)總線寬度。00=8bit;01=16bit;10=32bit;11=保留。0ST5[23]SRAM對(duì)5號(hào)存儲(chǔ)塊是否使用UB/LB控制位。0=不使用UB/LB(引腳對(duì)應(yīng)nWBE[3:0]);1=使用UB/LB(引腳對(duì)應(yīng)nBE[3:0])。0WS5[22]5號(hào)存儲(chǔ)塊的等待狀態(tài)控制位。0=WAIT不使能;1=WAIT使能。DW5[21:20]5號(hào)存儲(chǔ)塊的數(shù)據(jù)總線寬度控制位。00=8bit;01=16bit;10=32bit;11=保留。ST4[19]SRAM對(duì)4號(hào)存儲(chǔ)塊是否使用UB/LB控制位。0=不使用UB/LB(引腳對(duì)應(yīng)nWBE[3:0]);1=使用UB/LB(引腳對(duì)應(yīng)nBE[3:0])。WS4[18]4號(hào)存儲(chǔ)塊的等待狀態(tài)控制位。0=WAIT不使能;1=WAIT使能。DW4[17:16]4號(hào)存儲(chǔ)塊的數(shù)據(jù)總線寬度控制位。00=8bit;01=16bit;10=32bit;11=保留。ST3[15]決定SRAM對(duì)3號(hào)存儲(chǔ)塊是否使用UB/LB。0=不使用UB/LB(引腳對(duì)應(yīng)nWBE[3:0]);1=使用UB/LB(引腳對(duì)應(yīng)nBE[3:0])WS3[14]3號(hào)存儲(chǔ)塊的等待狀態(tài)控制位。0=WAIT不使能;1=WAIT使能。DW3[13:12]3號(hào)存儲(chǔ)塊的數(shù)據(jù)總線寬度控制位。00=8bit;01=16bit;10=32bit;11=保留。5.1.1存儲(chǔ)器控制器ST2[11]SRAM對(duì)2號(hào)存儲(chǔ)塊是否使用UB/LB控制位。0=不使用UB/LB(引腳對(duì)應(yīng)nWBE[3:0]);1=使用UB/LB(引腳對(duì)應(yīng)nBE[3:0])。WS2[10]2號(hào)存儲(chǔ)塊的等待狀態(tài)控制位。0=WAIT不使能;1=WAIT使能。DW2[9:8]2號(hào)存儲(chǔ)塊的數(shù)據(jù)總線寬度控制位。00=8bit;01=16bit;10=32bit;11=保留。ST1[7]SRAM對(duì)1號(hào)存儲(chǔ)塊是否使用UB/LB控制位。0=不使用UB/LB(引腳對(duì)應(yīng)nWBE[3:0]);1=使用UB/LB(引腳對(duì)應(yīng)nBE[3:0])。WS1[6]1號(hào)存儲(chǔ)塊的等待狀態(tài)控制位。0=WAIT無效;1=WAIT使能。DW1[5:4]1號(hào)存儲(chǔ)塊的數(shù)據(jù)總線寬度控制位。00=8bit;01=16bit;10=32bit;11=保留。DW0[2:1]0號(hào)存儲(chǔ)塊的數(shù)據(jù)總線寬度控制位。00=8bit;01=16bit;10=32bit;11=保留。Reserved[0]保留為02.總線控制存放器〔1〕〔BANKCONn:nGCS0-nGCS5〕:總線控制存放器BANKCON0~BANKCON5位信息如表9-7所示。詳細(xì)信息見教材227頁表9-7引腳名稱位描述初始值Tacs[14:13]確定nGCSn信號(hào)有效之前,建立有效地址的時(shí)間。00=0時(shí)鐘周期;01=1時(shí)鐘周期;10=2時(shí)鐘周期;11=4時(shí)鐘周期。00Tcos[12:11]確定nOE信號(hào)有效之前,建立時(shí)間。00=0時(shí)鐘周期;01=1時(shí)鐘周期;10=2時(shí)鐘周期;11=4時(shí)鐘周期。00Tacc[10:8]訪問周期控制位,當(dāng)
nWAIT信號(hào)被使用,Tacc大于等于
4時(shí)鐘周期。000=1時(shí)鐘周期;001=2時(shí)鐘周期;010=3時(shí)鐘周期;011=4時(shí)鐘周期;100=6時(shí)鐘周期;101=8時(shí)鐘周期;110=10時(shí)鐘周期;111=14時(shí)鐘周期;111BANK控制存放器定義引腳名稱位描述初始值Tcoh[7:6]確定nOE信號(hào)失效后,保持時(shí)間。00=0時(shí)鐘周期;01=1時(shí)鐘周期;10=2時(shí)鐘周期;11=4時(shí)鐘周期;00Tcah[5:4]確定nGCSn信號(hào)失效之后,地址保持時(shí)間。00=0時(shí)鐘周期;01=1時(shí)鐘周期;10=2時(shí)鐘周期;11=4時(shí)鐘周期。00Tacp[3:2]頁模式下的訪問周期控制位。00=2時(shí)鐘周期;01=3時(shí)鐘周期;10=4時(shí)鐘周期;11=6時(shí)鐘周期。00PMC[1:0]頁模式配置位。00=常規(guī)(1data);01=4data;10=8data;11=16data。00BANK控制存放器定義BANK控制存放器〔BANKCONn
:nGCS6-nGCS7〕:總線控制存放器BANKCON6、BANKCON7位信息如表9-8所示。詳細(xì)信息見教材《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》229頁表9-83.刷新控制存放器〔REFRESH〕SDRAM類型存儲(chǔ)器需要使用刷新控制器〔REFRESH存放器〕,刷新控制存放器REFRESH位信息如表9-9所示。詳細(xì)信息見教材《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》230頁表9-9引腳名稱位描述初始值REFEN[23]SDRAM刷新使能控制位。0=無效1=有效(自,CBR/自動(dòng)刷新)1TREFMD[22]SDRAM刷新模式控制位。0=CBR/Auto模式
1=Self模式在自刷新模式下,SDRAM控制信號(hào)被置于適當(dāng)?shù)碾娖健?Trp[21:20]SDRAMRAS預(yù)充電時(shí)間(Trp)控制位。00=2時(shí)鐘周期;01=3時(shí)鐘周期;10=4時(shí)鐘周期;11=不支持。10REFRESH存放器位的定義引腳名稱位描述初始值Tsrc[19:18]SDRAM半行周期時(shí)間(Tsrc)00=4時(shí)鐘周期;
01=5時(shí)鐘周期;10=6時(shí)鐘周期;
11=7時(shí)鐘周期。SDRAM行周期時(shí)間:Trc=Tsrc+Trp。11Reserved[17:16]保留(2410)00Reserved[15:11]保留0000RefreshCounter[10:0]SDRAM刷新計(jì)數(shù)值。刷新時(shí)間=(211-刷新計(jì)數(shù)值+1)/HCLK如果刷新時(shí)間是7.8us并且HCLK是100MHz,刷新計(jì)數(shù)值如下:刷新計(jì)數(shù)值=211+1-100x7.8=126904.BANKSIZE存放器〔BANKSIZE〕存儲(chǔ)塊大小控制存放器,BANKSIZE存放器位信息如表9-10所示。詳細(xì)信息見教材《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》231頁表9-10引腳名稱位描述初始值BURST_EN[7]ARM內(nèi)核突發(fā)操作使能控制位。0=不使能;
1=使能突發(fā)操作。0Reserved[6]保留0SCKE_EN[5]SDRAM省電模式使能控制位。0=禁止;1=使能。0SCLK_EN[4]SCLK信號(hào)使能控制位。SDRAM沒有被訪問時(shí),SCLK變成低電平。0=SCLK總是激活;1=SCLK僅當(dāng)訪問周期才被激活(推薦)。0Reserved[3]保留0BK7MAP[2:0]6號(hào)存儲(chǔ)塊/7號(hào)存儲(chǔ)塊的容量控制位。010=128MB;001=64MB;000=32M;111=16M;110=8M;101=4M;100=2M。9.2.6SDRAM接口電路設(shè)計(jì)SDRAM的行地址線和列地址線是分時(shí)復(fù)用的,也就是地址線要分兩次送出,先送行地址線,再送列地址線。HY57V561620是現(xiàn)代公司生產(chǎn)的容量為32MB〔4Mx16bitx4Bank〕的SDRAMHY57V561620內(nèi)部原理DQ0~DQ15是16位的數(shù)據(jù)總線;
A0~A12是行地址總線,列地址總線與A0~A8復(fù)用;
BA0、BA1是Bank的選通信號(hào)線;CLK是時(shí)鐘輸入引腳,
CKE是時(shí)鐘使能引腳;
由RAS、CAS、CS、WE組成的信號(hào)時(shí)序用于控制片選、
行地址選通、列地址選通;LDQM、UDQM用于控制數(shù)
據(jù)輸入輸出。
S3C2410與HY57V561620的接口電路如圖9-12所示.詳細(xì)信息見教材《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》
233頁表9-129.2.7S3C44B0存儲(chǔ)器初始化實(shí)例使用一條STM指令完成13個(gè)控制存放器的初始化。LDR R0,=SMRDATALDMIA R0,{R1-R13}LDR R0,=0x01C80000;BWSCON存放器地址STMIA R0,{R1-R13}SMRDATADATADCD0x22221210 ;BWSCONDCD0x00000600 ;GCS0DCD0x00000700 ;GCS1DCD0x00000700 ;GCS2DCD0x00000700 ;GCS3DCD0x00000700 ;GCS4DCD0x00000700 ;GCS5DCD0x0001002A ;GCS6,EDODRAM(Trcd=3,Tcas=2,Tcp=1,CAN=10bit)DCD0x0001002A ;GCS7,EDODRAMDCD0x00960000+953 ;Refresh(REFEN=1,TREFMD=0,Trp=3,Trc=5,Tchr=3)DCD0x0 ;BankSize,32MB/32MBDCD0x20 ;MRSR6(CL=2)DCD0x20 ;MRSR7(CL=2)SDRAM模式設(shè)置存放器MRSRx(SDRAMMODEREGISTERSETREGISTER)9.3 S3C2410NANDFlash控制器NAND
Flash結(jié)構(gòu)強(qiáng)調(diào)降低每比特的本錢,更高的性能,并且象磁盤一樣可以通過接口進(jìn)行升級(jí)。NANDFlash那么是高數(shù)據(jù)存儲(chǔ)密度的理想解決方案。
NAND和NOR——性能比較NOR和NAND是現(xiàn)在市場上兩種主要的非易失閃存技術(shù)NOR的讀速度比NAND稍快一些NAND的寫入速度比NOR快很多NAND的擦除速度遠(yuǎn)比NOR的快大多數(shù)寫入操作需要先進(jìn)行擦除操作NAND的擦除單元更小,相應(yīng)的擦除電路更少接口差異NORflash帶有SRAM接口,線性尋址,可以很容易地存取其內(nèi)部的每一個(gè)字節(jié)NANDflash使用復(fù)用接口和控制IO屢次尋址存取數(shù)據(jù)NAND讀和寫操作采用512字節(jié)的塊,這一點(diǎn)有點(diǎn)像硬盤管理,此類操作易于取代硬盤等類似的塊設(shè)備容量和本錢NANDflash生產(chǎn)過程更為簡單,本錢低常見的NORflash為128KB~16MB,而NANDflash通常有8~128MBNOR主要應(yīng)用在代碼存儲(chǔ)介質(zhì)中,NAND適合于數(shù)據(jù)存儲(chǔ)NAND在CompactFlash、SecureDigital、PCCards和MMC存儲(chǔ)卡市場上所占份額最大可靠性和耐用性在NAND中每塊的最大擦寫次數(shù)是100萬次,而NOR的擦寫次數(shù)是10萬次位交換的問題NANDflash中更突出,需要ECC糾錯(cuò)NANDflash中壞塊隨機(jī)分布,需要通過軟件標(biāo)定——產(chǎn)品量產(chǎn)的問題9.3.1S3C2410NANDFlash控制器原理S3C2410的啟動(dòng)代碼可以在NORFlash中運(yùn)行。為了支持NANDFlash啟動(dòng)方式,S3C2410內(nèi)置了一個(gè)SRAM緩沖區(qū),叫做“SteeppingStone〞。當(dāng)系統(tǒng)啟動(dòng)時(shí),Steppingstone內(nèi)的代碼會(huì)被執(zhí)行。通常,啟動(dòng)代碼會(huì)從NANDFlash拷貝到SDRAM。NANDflash控制模塊命令鎖存使能地址鎖存使能片選讀使能寫使能設(shè)備狀態(tài)NANDFlash實(shí)現(xiàn)機(jī)制S3C2410在用NAND啟動(dòng)時(shí),要對(duì)NANDFlash進(jìn)行配置。首先OM[1:0]=00b來使能NANDFlash控制器的自啟動(dòng)模式,NANDFlash的存儲(chǔ)器頁大小應(yīng)為512字節(jié),設(shè)置NCON對(duì)NANDFlash內(nèi)存地址步進(jìn)選擇。9.3.2專用功能存放器NANDFlash配置存放器〔NFCONF〕、命令設(shè)置存放器〔NFCMD〕、數(shù)據(jù)存放器〔NFDATA〕、操作狀態(tài)存放器〔NFSTAT〕、ECC存放器〔NFECC〕的功能描述見教材《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》235頁-237頁9.3.3典型NANDflash芯片K9F5608是Samsung半導(dǎo)體生產(chǎn)的NANDflash芯片NANDFlash接口電路K9F5608編程時(shí)序9.4S3C44B0/S3C2410時(shí)鐘電源管理S3C44B0的電源管理有五種模式:正常模式,低速模式,空閑模式,停止模式和LCD的SL空閑模式。S3C2410的電源管理模塊有四種活動(dòng)模式:正常模式,低速模式,休眠模式和斷電模式。9.4.1S3C44B0/S3C2410時(shí)鐘管理1.時(shí)鐘結(jié)構(gòu):S3C44B0的時(shí)鐘發(fā)生器模塊S3C2410的時(shí)鐘發(fā)生器模塊見教材《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》第241頁9-202.時(shí)鐘源的選擇:控制模式引腳〔OM3和OM2〕與S3C44B0/S3C2410時(shí)鐘源選擇的結(jié)合關(guān)系如表9-18所示。OM[3:2]狀態(tài)通過查閱OM3和OM2引腳在nRESET上升沿時(shí)的值內(nèi)部鎖存的。3.PLL〔鎖相環(huán)〕內(nèi)置時(shí)鐘發(fā)生器的S3C44B0PLL/S3C2410MPLL是一個(gè)以頻率與相位輸入信號(hào)的基準(zhǔn)的同步輸出信號(hào)的電路。4.上電復(fù)位:晶振開始振蕩數(shù)毫秒后,當(dāng)S3C44B0OSC〔S3C2410:XTlpll〕時(shí)鐘穩(wěn)定后nRESET得到釋放,PLL開始根據(jù)默認(rèn)的PLL配置進(jìn)行運(yùn)作。PLL在上電復(fù)位后變得不穩(wěn)定,所以Fin代替Fpllo〔S3C2410:Mpll〕在S/W〔S3C2410:軟件〕更新PLLCON的配置前直接反響到Fout。用戶在復(fù)位后想使用PLLCON存放器的默認(rèn)值,也需要通過S/W〔S3C2410:軟件〕寫入相同的值給PLLCON存放器。上電復(fù)位時(shí)鐘鎖定在正常模式下的操作,如果用戶希望通過寫PMS值的方法改變頻率,PLL鎖定時(shí)間會(huì)自動(dòng)寫入。在鎖定時(shí)間里,時(shí)鐘不支持內(nèi)部模塊。9.4.2S3C44B0/S3C2410電源管理S3C44B0/S3C2410電源管理模塊通過控制系統(tǒng)時(shí)鐘,實(shí)現(xiàn)減少系統(tǒng)的電源功耗。S3C44B0的方法與PLL,時(shí)鐘控制邏輯,外設(shè)時(shí)鐘控制以及喚醒信號(hào)相關(guān)。S3C44B0電源管理狀態(tài)機(jī)S3C2410電源管理狀態(tài)機(jī)9.4.3S3C44B0/S3C2410時(shí)鐘與電源管理專用存放器鎖時(shí)計(jì)數(shù)存放器LOCKTIME、PLL配置存放器、時(shí)鐘控制存放器〔CLKCON〕、低速時(shí)鐘控制存放器〔CLKSLOW〕詳細(xì)描述信息見教材《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》第246-250頁9.5S3C44B0/S3C2410通用I/O端口S3C44B0有71個(gè)多功能輸入/輸出引腳。有如下7個(gè)端口:兩個(gè)9位輸入/輸出端口〔端口E和F〕兩個(gè)8位輸入/輸出端口〔端口D和G〕一個(gè)16位輸入/輸出端口〔端口C〕一個(gè)10位輸入/輸出端口〔端口A〕一個(gè)11位輸入/輸出端口〔端口B〕S3C2410有117個(gè)多功能輸入/輸出引腳。有如下8個(gè)端口:端口A〔GPA〕:23位輸出端口端口B〔GPB〕:11位輸入/輸出端口端口C〔GPC〕:16位輸入/輸出端口端口D〔GPD〕:16位輸入/輸出端口端口E〔GPE〕:16位輸入/輸出端口端口F〔GPF〕:8位輸入/輸出端口端口G〔GPG〕:16位輸入/輸出端口端口H〔GPH〕:11位輸入/輸出端口9.5.1端口控制描述1.端口配置存放器在S3C44B0和S3C2410中,大多數(shù)引腳是復(fù)合式的。所以,需要決定每個(gè)引腳所選擇的功能。端口控制存放器決定每個(gè)引腳的功能。在S3C44B0中,如果PG0-PG7用于在掉電模式下的喚醒信號(hào),這些端口需要配置成中斷模式。在S3C2410中,如果GPF0-GPF7和GPG0-GPG7用于斷電模式下的喚醒信號(hào),這些端口必須配置能中斷模式。2.端口數(shù)據(jù)存放器如果這些端口被配置成輸出端口,數(shù)據(jù)可以從相應(yīng)的位被寫入。如果端口被配置成輸入端口,數(shù)據(jù)可以從相應(yīng)的位讀出。3.端口上拉存放器端口上拉存放器控制每個(gè)端口組的上拉電阻使能/禁止。當(dāng)相應(yīng)的位置0,引腳的上拉電阻被使能。為1時(shí),上拉電阻被禁止。4.外部中斷控制存放器S3C44B0的8個(gè)外部中斷與S3C2410的24個(gè)外部中斷通過多種信號(hào)方法被請(qǐng)求。9.5.2端口控制存放器1.S3C44B0端口存放器〔1〕端口A存放器〔PCONA,PDATA〕端口B存放器〔PCONB,PDATB〕端口C控制存放器〔PCONC,PDATC,PUPC〕專用上拉電阻控制存放器〔SPUCR〕在停止/SL空閑模式,數(shù)據(jù)總線〔D[31:0]或者D[15:0]〕在高阻態(tài)。但是,因?yàn)镮O引腳的特性,數(shù)據(jù)總線上拉電阻被啟用,以減少在停止/SL空閑模式上的電源消耗。D[31:16]引腳上拉電阻可以被PUPC存放器控制。D[15:0]引腳上拉電阻可以通過SPUCR存放器進(jìn)行控制。在停止模式,存儲(chǔ)器控制信號(hào)可以被選為高阻態(tài)或原狀態(tài),以防止通過設(shè)置SPUCR存放器的HZ@STOP域而導(dǎo)致存儲(chǔ)器故障。外部中斷控制存放器(EXTINT)外部中斷掛起存放器〔EXINTPND〕外部中斷請(qǐng)求〔4,5,6,7〕是‘或’關(guān)系,提供一個(gè)中斷信號(hào)給中斷控制器。ENIT4,ENIT5,ENIT6和ENIT7在中斷控制器中共享相同的中斷請(qǐng)求線〔EINT4/5/6/7〕。2.S3C2410端口存放器端口A存放器〔GPBCON,GPBDAT,GPBUP〕寄存器
地址
讀/寫
描述
復(fù)位值
GPACON
0x56000000
R/W
配置端口A的引腳
0x7FFFFF
GPBDAT
0x56000004
R/W
端口A的數(shù)據(jù)寄存器
未定義
保留
0x56000008
---
保留
未定義
保留
0x5600000C
–
保留
未定義
端口A控制存放器(GPACON/GPADAT)注意:ADDR[15:1]并沒有端口存放器,但是有對(duì)應(yīng)的引腳,它們僅用作地址總線,而且A端口默認(rèn)為ADDR功能,沒有內(nèi)部上拉電阻。端口B存放器〔GPBCON,GPBDAT,GPBUP〕控制存放器,數(shù)據(jù)存放器,上拉電阻使能存放器S3C44B0和S3C2410其它端口存放器詳細(xì)信息見教材《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》第九章的節(jié)的說明MISCELLANEOUSCONTROLREGISTER(MISCCR)
雜項(xiàng)控制存放器MISCELLANEOUSCONTROLREGISTER(MISCCR)DCLKCONTROLREGISTERS(DCLKCON)此存放器定義DCLKn信號(hào),作為外部資源的時(shí)鐘。如何設(shè)置DCLKn信號(hào)見下表。只有當(dāng)CLKOUT[1:0]設(shè)置為發(fā)生DCLKn信號(hào)時(shí)DCLKCON存放器才會(huì)生效。外部中斷控制存放器(EXTINTn)24個(gè)外部中斷可響應(yīng)各種信號(hào)請(qǐng)求方式。EXTINTn存放器可以配置如下信號(hào)請(qǐng)求方式:低電平觸發(fā)、高電平觸發(fā)、上升沿觸發(fā)、下降沿觸發(fā)、雙邊沿觸發(fā)。由于EINT[15:0]具有濾波功能,EXTINTn引腳上的邏輯電平必須保持至少40ns,才能正確識(shí)別中斷。外部中斷過濾存放器(EINTFLTn)(EINTFLTn)存放器控制EINT[23:16]這8個(gè)外部中斷的過濾器時(shí)間。外部中斷屏蔽存放器(EINTMASK)EINTMASK控制EINT[23:4]這20個(gè)外部中斷的屏蔽與否。注:復(fù)位后,這些中斷默認(rèn)都是被屏蔽掉的。外部中斷請(qǐng)求存放器(EINTPENDn)只有EINT[23:4]這20個(gè)外部中斷受EINTPENDn存放器控制,可以通過向存放器的相應(yīng)位寫入“1〞來清零這一位。通用狀態(tài)存放器(GSTATUSn)9.5.3通用I/O接口設(shè)計(jì)實(shí)例LED與蜂鳴器接口電路S3C44B0的端口A的第0、1、2、3管腳分別與LED相連,端口E的第0管腳用來控制蜂鳴器??刂凭幊虒?shí)現(xiàn)根據(jù)LED的硬件電路圖,實(shí)現(xiàn)LED的循環(huán)閃爍:{LED1亮延時(shí),LED4滅}->{LED2亮延時(shí),LED1滅}->{LED3亮延時(shí),LED2滅}->{LED4亮延時(shí),LED3滅}->{蜂鳴器開延時(shí),蜂鳴器關(guān)},如此無限循環(huán),實(shí)現(xiàn)LED霓虹燈式的循環(huán)閃爍。/*定義S3C44B0內(nèi)部端口存放器地址*/#difinerPCONA(*(volatileunsigned*)0x1d20000)//定義端口A配置存放器#difinerPDATA(*(volatileunsigned*)0x1d20004)//定義端口A數(shù)據(jù)存放器#difinerPCONE(*(volatileunsigned*)0x1d20028)//定義端口E配置存放器#difinerPDATE(*(volatileunsigned*)0x1d2002C)//定義端口E數(shù)據(jù)存放器#difinerPUPE(*(volatileunsigned*)0x1d20030)//定義端口E上拉電阻存放器/*s3c44B0的端口配置*/rPCONA=rPCONA&0xFFFFFFF0rPCONE=rPCONE&0xFFFFFFFDrPCONE=rPCONE|0x01/*************************功能描述:控制實(shí)現(xiàn)LED1亮滅并延時(shí)入口參數(shù):x=1亮,x=0滅**************************/voidLED1_Delay(charx){if(x==1)rPDATA=rPATA&0xFFFFFFFE;/*開LED1*/elseif(x==0)rPDATA=rPATA&0x00000001;/*關(guān)LED1*/Delay(500);}/*************************功能描述:控制實(shí)現(xiàn)LED2亮滅并延時(shí)入口參數(shù):x=1亮,x=0滅**************************/voidLED2_Delay(charx){if(x==1)rPDATA=rPATA&0xFFFFFFFD;/*開LED2*/elseif(x==0)rPDATA=rPATA&0x00000002;/*關(guān)LED2*/Delay(500);}/*************************功能描述:控制實(shí)現(xiàn)LED3亮滅并延時(shí)入口參數(shù):x=1亮,x=0滅**************************/voidLED3_Delay(charx){if(x==1)rPDATA=rPATA&0xFFFFFFFB;/*開LED3*/elseif(x==0)rPDATA=rPATA&0x00000004;/*關(guān)LED3*/Delay(500);}功能函數(shù)/***********************延時(shí)函數(shù)Delay***********************/voidDelay(intTime){unsignedinti;for(i=0;i<Time;i++);}/*************************功能描述:控制實(shí)現(xiàn)LED4亮滅并延時(shí)入口參數(shù):x=1亮,x=0滅**************************/voidLED2_Delay(charx){if(x==1)rPDATA=rPATA&0xFFFFFFF7;/*開LED4*/elseif(x==0)rPDATA=rPATA&0x00000008;/*關(guān)LED4*/Delay(500);}/*************************功能描述:控制蜂鳴器開關(guān)并延時(shí)入口參數(shù):x=1開,x=0關(guān)**************************/voidBeep_Delay(charx){if(x==1)rPDATE=rPATE&0xFFFFFFFE;/*開蜂鳴器*/elseif(x==0)rPDATE=rPATE&0x00000001;/*關(guān)蜂鳴器*/Delay(500);}/*************************功能描述:主函數(shù),實(shí)現(xiàn)LED1亮,LED4滅LED2亮,LED1滅
LED3亮,LED2滅LED4亮,LED3滅
蜂鳴器開,延時(shí),蜂鳴器關(guān)入口參數(shù):無**************************/VoidMain(){while(1){LED1_Delay(1);LED4_Delay(0);LED2_Delay(1);LED1_Delay(0);LED3_Delay(1);LED2_Delay(0);LED4_Delay(1);LED3_Delay(0);
Beep_Delay(1);Beep_Delay(0);}}9.6S3C44B0/S3C2410中斷機(jī)制中斷是CPU在程序運(yùn)行過程中,被內(nèi)部或外部的事件所打斷,轉(zhuǎn)去執(zhí)行一段預(yù)先安排好的中斷效勞程序,中斷效勞程序執(zhí)行完畢后,又返回原來的斷點(diǎn),繼續(xù)執(zhí)行原來的程序。S3C44B0/S3C2410內(nèi)部集成了中斷控制器,能夠管理多個(gè)中斷源。9.6.1S3C44B0中斷控制器1.中斷源
S3C44B0中斷控制器可以管理30個(gè)中斷源2.中斷優(yōu)先級(jí)產(chǎn)生模塊非向量中斷方式中斷源產(chǎn)生中斷后,從0x18處取指執(zhí)行向量中斷方式中斷源產(chǎn)生中斷后,跳轉(zhuǎn)到0x18處,但由處理器識(shí)別中斷后自動(dòng)填充總線,并忽略0x18處指令,執(zhí)行總線上新的指令0x18中斷效勞入口0x18中斷效勞入口S3C44B0向量中斷與非向量中斷啟動(dòng)---中斷響應(yīng)IRQs中斷非向量中斷INTCONV=1向量中斷INTCONV=0中斷效勞入口地址表地址映射中斷控制器讀取I_ISPR存放器計(jì)算偏移(R8)26個(gè)中斷源EINT0/1/2……PowerDownEINT0/1/2……PowerDown9.6.2S3C2410中斷控制器S3C2410提供56個(gè)中斷源,如表9-50所示。當(dāng)中斷源提出中斷效勞請(qǐng)求后,中斷控制器經(jīng)過仲裁之后再請(qǐng)求ARM
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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河南鄭州市二七區(qū)國際城中學(xué)黃河科技學(xué)院附屬中學(xué)招聘備考考試試題附答案解析
- 鄰水縣公安局招聘警務(wù)輔助人員(30人)參考考試試題附答案解析
- 2026國家稅務(wù)總局廣西壯族自治區(qū)稅務(wù)系統(tǒng)招聘事業(yè)單位人員20人參考考試題庫附答案解析
- 2026四川達(dá)州市通川區(qū)人民醫(yī)院招聘兒保科醫(yī)師、兒??瓶祻?fù)治療師3人備考考試試題附答案解析
- 生產(chǎn)企業(yè)防疫管理制度
- 木制品安全生產(chǎn)車間制度
- 安全生產(chǎn)例會(huì)例查制度
- 園林局安全生產(chǎn)培訓(xùn)制度
- 大型沼氣生產(chǎn)安全制度
- 外包生產(chǎn)規(guī)章制度
- JCT 2126.1-2023 水泥制品工藝技術(shù)規(guī)程 第1部分:混凝土和鋼筋混凝土排水管 (正式版)
- 高中地理選擇性必修二知識(shí)點(diǎn)
- 航天禁(限)用工藝目錄(2021版)-發(fā)文稿(公開)
- GB/T 4937.34-2024半導(dǎo)體器件機(jī)械和氣候試驗(yàn)方法第34部分:功率循環(huán)
- 人教版小學(xué)數(shù)學(xué)一年級(jí)下冊全冊同步練習(xí)含答案
- 加油站防投毒應(yīng)急處理預(yù)案
- 閉合導(dǎo)線計(jì)算(自動(dòng)計(jì)算表)附帶注釋及教程
- 項(xiàng)目1 變壓器的運(yùn)行與應(yīng)用《電機(jī)與電氣控制技術(shù)》教學(xué)課件
- 網(wǎng)店運(yùn)營中職PPT完整全套教學(xué)課件
- 北師大版八年級(jí)數(shù)學(xué)下冊課件【全冊】
- 關(guān)于提高護(hù)士輸液時(shí)PDA的掃描率的品管圈PPT
評(píng)論
0/150
提交評(píng)論