




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第第7 7章章 ARMARM的存儲器系統(tǒng)及設(shè)計的存儲器系統(tǒng)及設(shè)計 1 存儲器系統(tǒng)存儲器系統(tǒng)S3C2410X支持大、小端模式,將存儲空間分成支持大、小端模式,將存儲空間分成8組(組(Bank),每組大小是),每組大小是128MB,共計,共計1GB。表表2.7 62.7 6組組/7/7組的存儲器映射地址組的存儲器映射地址各引腳功能:各引腳功能:特殊功能寄存器特殊功能寄存器 1內(nèi)存控制器(內(nèi)存控制器(Memory Controller)內(nèi)存控制器為訪問外部存儲空間提供存儲器控制信號,共有內(nèi)存控制器為訪問外部存儲空間提供存儲器控制信號,共有13個寄存器個寄存器。 表表2.8 內(nèi)存控制器內(nèi)存控制器 (1
2、)BWSCON 總線寬度控制寄存器總線寬度控制寄存器 用來控制各組存儲器的總線寬度和訪問周期,各位定義:用來控制各組存儲器的總線寬度和訪問周期,各位定義:n3131 ST7 ST7 確定存儲器確定存儲器7 7組對應(yīng)組對應(yīng) UB/LB UB/LB 端接口,端接口,0 =0 =不使用不使用 UB/LB UB/LB ,UB/LBUB/LB端與端與nWBE3:0nWBE3:0相連;相連;1 = 1 = 使使用用UB/LB UB/LB ,UB/LBUB/LB端與端與nBE3:0nBE3:0相連。相連。n2727 ST6 ST6、2323 ST5 ST5、1919 ST4 ST4、1515 ST3 ST3
3、、11 11 ST2ST2、77 ST1 ST1同上,同上,n3030 WS7 WS7 確定存儲器組確定存儲器組7 7的的WAITWAIT狀態(tài),狀態(tài),0=0=禁止禁止WAITWAIT,1=1=使能使能 WAIT WAIT 。n2626 WS6 WS6、2222 WS5 WS5、1818 WS4 WS4、1414 WS3 WS3、1010 WS2WS2、6 WS16 WS1同上。同上。n0 = WAIT disable 1 = WAIT enable0 = WAIT disable 1 = WAIT enablen29:28 DW7 確定存儲器確定存儲器7組的數(shù)據(jù)總線寬度。組的數(shù)據(jù)總線寬度。00
4、=字節(jié)(字節(jié)(8位)、位)、01=半字(半字(16位)、位)、10=字(字(32位)、位)、11=保留。保留。n25:24 DW6、21:20 DW5、17:16 DW4、13:12 DW3、9:8 DW2、5:4 DW1。同上。同上。 n2:1 DW0 確定存儲器確定存儲器0組的數(shù)據(jù)總線寬度,只讀位,由組的數(shù)據(jù)總線寬度,只讀位,由OM1:0狀態(tài)決定。狀態(tài)決定。01=半字(半字(16位)、位)、10=字(字(32位)。位)。(2 2)BANKCONn BANKCONn 控制寄存器控制寄存器 BANKCONn 控制寄存器用于控制各組控制寄存器用于控制各組nGCS的時序,各位的時序,各位定義如下:
5、定義如下:n14:13 Tacs nGCSn有效前地址的建立時間。有效前地址的建立時間。00 = 0 個個時鐘、時鐘、01 = 1個個時鐘、時鐘、10 = 2個個時鐘、時鐘、11 = 4個個時鐘時鐘n12:1112:11 Tcos nOE Tcos nOE有效前芯片選擇信號的建立時有效前芯片選擇信號的建立時間。間。 00 = 0個個時鐘、時鐘、01 = 1個個時鐘、時鐘、10 = 2個個時鐘、時鐘、11 = 4個個時鐘時鐘n10:810:8 Tacc Tacc 訪問周期訪問周期000 = 1個個時鐘、時鐘、001 = 2個個時鐘、時鐘、010 = 3個個時鐘、時鐘、011 = 4個個時鐘時鐘1
6、00 = 6個個時鐘、時鐘、101 = 8個個時鐘、時鐘、110 =10個個時鐘、時鐘、111 =14個個時鐘時鐘n7:67:6 Tcoh nOE Tcoh nOE無效后芯片選擇信號的保持時無效后芯片選擇信號的保持時間。間。00 = 0個個時鐘、時鐘、01 = 1個個時鐘、時鐘、10 = 2個個時鐘、時鐘、11 = 4個個時鐘時鐘n5:45:4 Tcah nGCSn Tcah nGCSn無效后芯片地址信號的保無效后芯片地址信號的保持時間。持時間。00 = 0個個時鐘、時鐘、01 = 1個個時鐘、時鐘、10 = 2個個時鐘、時鐘、11 = 4個個時鐘時鐘n3:23:2 Tacp Tacp 頁模式
7、的訪問周期。頁模式的訪問周期。00 = 2個個時鐘、時鐘、01 = 3個個時鐘、時鐘、10 = 4個個時鐘、時鐘、11 = 6個個時鐘時鐘n1:01:0 頁模式的配置(每次讀寫周期數(shù))頁模式的配置(每次讀寫周期數(shù))00 = 1個個時鐘、時鐘、01 = 4個個時鐘、時鐘、10 = 8個個時鐘、時鐘、11 = 16個個時鐘時鐘 當(dāng)當(dāng)BANKCON6BANKCON6和和BANKCON7BANKCON7中的中的MT=11MT=11時,時,BANKCON0BANKCON0BANKCON5BANKCON5的的14:014:0定義與以上相同。定義與以上相同。BANKCON6BANKCON6和和BANKCON
8、7BANKCON7的的3:03:0定義有所變化,具體如定義有所變化,具體如下:下:n3:23:2 Trkd:RAS Trkd:RAS到到CASCAS的延時。的延時。00 = 2個個時鐘、時鐘、01 = 3個個時鐘、時鐘、10 = 4個個時鐘時鐘n1:01:0 SCAN SCAN:列地址數(shù)目:列地址數(shù)目00 = 8位、位、01 = 9位、位、10 = 10位位(3 3)REFRESH REFRESH 刷新控制寄存器刷新控制寄存器n23 REFEN 刷新使能刷新使能SDRAM:0 = 禁止禁止 1 = 使能使能SDRAM 的刷新的刷新n22 TREFMD 設(shè)置設(shè)置SDRAM 的刷新方式的刷新方式0
9、=自動刷新方式自動刷新方式 1=自刷新方式自刷新方式n21:20 Trp 控制控制SDRAM 的行周期的行周期 00 = 2個個時鐘周期時鐘周期 01 = 3個個時鐘周期時鐘周期 10 = 4個個時鐘周期時鐘周期 11 = 未定義未定義n19:18 Tsrc控制控制SDRAM 的列周期的列周期00 = 4個個時鐘周期時鐘周期 01 = 5個個時鐘周期時鐘周期 10 = 6個個時鐘周期時鐘周期 11 = 7個個時鐘周期時鐘周期n17:16 保留位保留位n15:11 保留位保留位n10:0 SDRAM 的刷新計數(shù)值。的刷新計數(shù)值。刷新周期刷新周期= (2= (21111 刷新計數(shù)值刷新計數(shù)值 +
10、1)/HCLK+ 1)/HCLK例如:如果刷新周期是例如:如果刷新周期是15.6 us15.6 us, HCLK HCLK 是是 60 60 MHz,MHz,則則: : 刷新計數(shù)器的值刷新計數(shù)器的值 = 2= 21111 + 1 - 60 x15.6 = 1113 + 1 - 60 x15.6 = 1113在在LinuxLinux系統(tǒng)的系統(tǒng)的/include/asm-arm/arch-/include/asm-arm/arch-s3c2410/S3C2410.hs3c2410/S3C2410.h頭文件中定義了各寄存器,頭文件中定義了各寄存器,其源代碼如下:其源代碼如下:n#define bME
11、MCON(Nb)#define bMEMCON(Nb)_REG(0 x48000000 + (Nb)_REG(0 x48000000 + (Nb)n#define BWSCON#define BWSCONbMEMCON(0)bMEMCON(0)n#define bBANKCON(Nb)#define bBANKCON(Nb)bMEMCON(Nb+1)bMEMCON(Nb+1)* *4)4)n#define BANKCON0#define BANKCON0bBANKCON(0)bBANKCON(0)n#define BANKCON1#define BANKCON1bBANKCON(1)bBANK
12、CON(1)n#define BANKCON2#define BANKCON2bBANKCON(2)bBANKCON(2)n#define BANKCON3#define BANKCON3bBANKCON(3)bBANKCON(3)n#define BANKCON4#define BANKCON4bBANKCON(4)bBANKCON(4)n#define BANKCON5#define BANKCON5bBANKCON(5)bBANKCON(5)n#define BANKCON6#define BANKCON6bBANKCON(6)bBANKCON(6)n#define BANKCON7#d
13、efine BANKCON7bBANKCON(7)bBANKCON(7)n#define REFRESH#define REFRESHbMEMCON(0 x24)bMEMCON(0 x24)n#define BANKSIZE#define BANKSIZEbMEMCON(0 x28)bMEMCON(0 x28)n#define MRSRB6#define MRSRB6bMEMCON(0 x2C)bMEMCON(0 x2C)n#define MRSRB7#define MRSRB7bMEMCON(0 x30)bMEMCON(0 x30)2 2Nand Flash Nand Flash 控制器控制
14、器S3C2410XS3C2410X支持支持Nand FlashNand Flash啟動,啟動代碼存儲在啟動,啟動代碼存儲在Nand Nand FlashFlash上。啟動時,上。啟動時,Nand FlashNand Flash的前的前4KB4KB(OM1:0=0OM1:0=0,地址,地址為為0 x000000000 x00000000) 將被裝載到內(nèi)部的固定地址中,然后開始將被裝載到內(nèi)部的固定地址中,然后開始執(zhí)行其中的啟動代碼。一般情況下,該啟動代碼會把執(zhí)行其中的啟動代碼。一般情況下,該啟動代碼會把Nand Nand FlashFlash中的內(nèi)容拷貝到中的內(nèi)容拷貝到SDRAMSDRAM中去,拷
15、貝完后,主程序?qū)⒃谥腥ィ截愅旰?,主程序?qū)⒃赟DRAMSDRAM中執(zhí)行。操作流程如圖中執(zhí)行。操作流程如圖2.102.10所示。所示。 自動引導(dǎo)模式流程:自動引導(dǎo)模式流程: 復(fù)位;復(fù)位; 如果自動引導(dǎo)模式使能,如果自動引導(dǎo)模式使能,Nand Flash中的前中的前4KB代碼拷貝到內(nèi)部的小石頭區(qū)域;代碼拷貝到內(nèi)部的小石頭區(qū)域; 小石頭映射到小石頭映射到nGCS0; CPU開始執(zhí)行小石頭區(qū)域中的代碼。開始執(zhí)行小石頭區(qū)域中的代碼。Nand Flash模式:模式: 通過通過NFCONF寄存器設(shè)置寄存器設(shè)置Nand Flash配置;配置; 把把Nand Flash命令寫入命令寫入NFCMD寄存器;寄存器;
16、 把把Nand Flash地址寫入地址寫入NFADDR寄存器;寄存器; 讀讀/寫數(shù)據(jù)同時通過寫數(shù)據(jù)同時通過NFSTAT寄存器檢測寄存器檢測Nand Flash狀態(tài)。讀操作前或者程序執(zhí)行后狀態(tài)。讀操作前或者程序執(zhí)行后檢查檢查R/nB信號。信號。 (1) NFCONF (1) NFCONF 配置寄存器配置寄存器15 Enable/Disable15 Enable/Disable:NAND Flash NAND Flash 控制使能??刂剖鼓堋?0 =禁止禁止 NAND Flash 控制器控制器 1 = 使能使能 NAND Flash 控制器控制器 復(fù)位后該位自動清零,訪問復(fù)位后該位自動清零,訪問N
17、AND FlashNAND Flash,必須使,必須使該位置該位置1 1。14:13 14:13 保留位保留位12 12 初始化初始化ECC ECC 解碼解碼/ /編碼編碼 0 =0 =不初始化不初始化ECCECC,1= 1= 初始化初始化 ECCECC,因為,因為S3C2410 S3C2410 只支持只支持512512字節(jié)的字節(jié)的ECCECC檢測檢測, , 所以,每初始化所以,每初始化512512字節(jié)需初始化字節(jié)需初始化 ECC ECC 。11 NAND Flash11 NAND Flash存儲器的存儲器的nFCE nFCE 控制使能位:控制使能位:0= NAND flash nFCE0=
18、NAND flash nFCE(使能(使能) )、1=NAND flash 1=NAND flash nFCE (nFCE (無效無效) ),( (復(fù)位后復(fù)位后, nFCE , nFCE 自動為無效。自動為無效。) )10:810:8 TACLS TACLS :設(shè)置:設(shè)置TACLS CLE & ALE TACLS CLE & ALE 的持續(xù)時的持續(xù)時間,設(shè)置值為間,設(shè)置值為0 07 7。持續(xù)時間持續(xù)時間 = HCLK = HCLK * * (TACLS + 1) (TACLS + 1)77 保留位保留位6:46:4 TWRPH0TWRPH0 :設(shè)置:設(shè)置TWRPH0TWRPH0
19、的持續(xù)時間,設(shè)置的持續(xù)時間,設(shè)置值為值為0 07 7。持續(xù)時間持續(xù)時間 = HCLK = HCLK * * (TWRPH0 + 1) (TWRPH0 + 1)33 保留位保留位2:02:0 TWRPH1 TWRPH1 :設(shè)置:設(shè)置TWRPH1TWRPH1的持續(xù)時間,設(shè)置的持續(xù)時間,設(shè)置值為值為0 07 7 。持續(xù)時間持續(xù)時間 = HCLK = HCLK * * ( (TWRPH1TWRPH1 + 1) + 1)(2 2)NFCMD NFCMD 命令設(shè)置寄存器命令設(shè)置寄存器15:815:8 保留位保留位7:07:0 Command Command :NAND Flash NAND Flash 存
20、儲器命令值。存儲器命令值。(3 3)NFADDRNFADDR地址設(shè)置寄存器地址設(shè)置寄存器15:8 15:8 保留位保留位7:0 Address 7:0 Address :NAND flash NAND flash 存儲器地址值。存儲器地址值。(4 4)NFDATA NFDATA 數(shù)據(jù)寄存器數(shù)據(jù)寄存器15:815:8 保留位保留位7:07:0 Data Data :NAND FlashNAND Flash存儲器的讀出數(shù)據(jù)或?qū)懭刖幊虜?shù)據(jù)。存儲器的讀出數(shù)據(jù)或?qū)懭刖幊虜?shù)據(jù)。(5 5)NFSTAT NFSTAT 操作狀態(tài)寄存器操作狀態(tài)寄存器16:116:1 保留位保留位0 RnB0 RnB:NAND F
21、lashNAND Flash存儲器就緒存儲器就緒/ /忙標志位,由忙標志位,由R/nBR/nB引腳檢測引腳檢測0 = NAND Flash 0 = NAND Flash 存儲器為存儲器為“忙忙”, 1 = NAND Flash1 = NAND Flash存儲器為存儲器為“準備就緒準備就緒”。(6 6)NFECC NFECC 糾錯碼寄存器糾錯碼寄存器 23:16 ECC223:16 ECC2:糾錯碼:糾錯碼 #2#2。 15:8 ECC115:8 ECC1:糾錯碼:糾錯碼 #1#1。 7:0 ECC07:0 ECC0:糾錯碼:糾錯碼 #0#0。 在在LinuxLinux系統(tǒng)的系統(tǒng)的/includ
22、e/asm-arm/arch-/include/asm-arm/arch-s3c2410/S3C2410.hs3c2410/S3C2410.h頭文件中定義了各頭文件中定義了各Nand Nand FlashFlash控制寄存器控制寄存器. . 其源代碼如下:其源代碼如下:#define bNAND_CTL(Nb) _REG(0 x4e000000 + (Nb)#define bNAND_CTL(Nb) _REG(0 x4e000000 + (Nb)#define NFCONF#define NFCONF bNAND_CTL(0 x00) bNAND_CTL(0 x00)#define NFCMD
23、 bNAND_CTL(0 x04)#define NFCMD bNAND_CTL(0 x04)#define NFADDR bNAND_CTL(0 x08)#define NFADDR bNAND_CTL(0 x08)#define NFDATA bNAND_CTL(0 x0c)#define NFDATA bNAND_CTL(0 x0c)#define NFSTAT bNAND_CTL(0 x10)#define NFSTAT bNAND_CTL(0 x10)#define NFECC bNAND_CTL(0 x14)#define NFECC bNAND_CTL(0 x14)nFlash設(shè)
24、計3 3時鐘和電源管理時鐘和電源管理 S3C2410XS3C2410X的主時鐘由外部晶振或者的主時鐘由外部晶振或者外部時鐘提供,選擇后可以生成外部時鐘提供,選擇后可以生成3 3種時鐘種時鐘信號,分別是信號,分別是CPUCPU使用的使用的FCLKFCLK,AHBAHB總總線使用的線使用的HCLKHCLK和和APBAPB總線使用的總線使用的PCLKPCLK。時鐘管理模塊同時擁有兩個鎖相環(huán),一時鐘管理模塊同時擁有兩個鎖相環(huán),一個稱為個稱為MPLLMPLL,用于,用于FCLKFCLK、HCLKHCLK和和PCLKPCLK;另一個稱為;另一個稱為UPLLUPLL,用于,用于USBUSB設(shè)備。設(shè)備。(1
25、1)時鐘源選擇對時鐘的選擇是通過)時鐘源選擇對時鐘的選擇是通過OM3:2OM3:2實現(xiàn)的,如表實現(xiàn)的,如表2.102.10所示。所示。 表表2.10 時鐘源選擇時鐘源選擇 OM3:2=00B時,晶體為時,晶體為MPLL CLK和和UPLL CLK提供提供時鐘源;時鐘源;OM3:2=01B時,晶體為時,晶體為MPLL CLK提供時鐘源,提供時鐘源,EXTCLK為為UPLL CLK提供時鐘源;提供時鐘源;OM3:2=10B時,時,EXTCLK為為MPLL CLK提供時鐘源,晶體為提供時鐘源,晶體為UPLL CLK提供提供時鐘源;時鐘源;OM3:2=11B時,時,EXTCLK為為MPLL CLK和和
26、UPLL CLK提供時鐘。提供時鐘。 (2 2)時鐘控制邏輯。)時鐘控制邏輯。時鐘控制邏輯決定了所使用的時鐘源,是采用時鐘控制邏輯決定了所使用的時鐘源,是采用MPLL作為作為FCLK,還是采用外部時鐘。復(fù)位后,還是采用外部時鐘。復(fù)位后,F(xiàn)in直接傳遞給直接傳遞給FCLK,即使不想改變默認的即使不想改變默認的PLLCON值,也需要重新寫一遍。值,也需要重新寫一遍。FCLK由由ARM920T核使用,核使用,HCLK提供給提供給AHB總線,總線,PCLK提供給提供給了了APB總線??偩€。S3C2410X支持支持HCLK、FCLK和和PCLK的分頻選的分頻選擇,其比率是通過擇,其比率是通過CLKDIV
27、寄存器中的寄存器中的HDIVN和和PDIVN控制控制的,如表的,如表2.11所示。所示。表表2.11 分頻設(shè)定表分頻設(shè)定表 (3 3)電源管理。)電源管理。S3C2410X電源管理模塊通過電源管理模塊通過4種模式有效地控制功耗,即:種模式有效地控制功耗,即:Normal模式、模式、Slow模式、模式、Idle模式和模式和Power-off模式。圖模式。圖2.12所所示了示了S3C2410電源管理模式的轉(zhuǎn)換關(guān)系。電源管理模式的轉(zhuǎn)換關(guān)系。圖圖2.12 S3C2410電源管理轉(zhuǎn)換模式電源管理轉(zhuǎn)換模式 NormalNormal模式:模式:為為CPUCPU和所有的外設(shè)提供時鐘,所和所有的外設(shè)提供時鐘,所
28、有的外設(shè)開啟時,該模式下的功耗最大。這種模式有的外設(shè)開啟時,該模式下的功耗最大。這種模式允許用戶通過軟件控制外設(shè),可以斷開提供給外設(shè)允許用戶通過軟件控制外設(shè),可以斷開提供給外設(shè)的時鐘以降低功耗。的時鐘以降低功耗。SlowSlow模式:模式:采用外部時鐘生成采用外部時鐘生成FCLKFCLK的方式,此時的方式,此時電源的功耗取決于外部時鐘。電源的功耗取決于外部時鐘。IdleIdle模式:模式:斷開斷開FCLKFCLK與與CPUCPU核的連接,外設(shè)保持正核的連接,外設(shè)保持正常,該模式下的任何中斷都可喚醒常,該模式下的任何中斷都可喚醒CPUCPU。Power-offPower-off模式:模式:斷開內(nèi)
29、部電源,只給內(nèi)部的喚醒斷開內(nèi)部電源,只給內(nèi)部的喚醒邏輯供電。一般模式下需要兩個電源,一個提供給邏輯供電。一般模式下需要兩個電源,一個提供給喚醒邏輯,另外一個提供給喚醒邏輯,另外一個提供給CPUCPU和內(nèi)部邏輯,在和內(nèi)部邏輯,在Power-offPower-off模式下,后一個電源關(guān)閉。該模式可以通模式下,后一個電源關(guān)閉。該模式可以通過過EINT15:0EINT15:0和和RTCRTC喚醒。喚醒。 (4 4)時鐘和電源管理寄存器)時鐘和電源管理寄存器 S3C2410XS3C2410X通過控制寄存器實現(xiàn)對時鐘和電源的管通過控制寄存器實現(xiàn)對時鐘和電源的管理,相關(guān)寄存器如表理,相關(guān)寄存器如表2.122
30、.12所示。所示。表表2.12 時鐘控制器時鐘控制器表表2.12 時鐘控制器時鐘控制器( (續(xù)續(xù)) )#define Olocktime #define Olocktime 0 x000 x00 / /* * R/W, PLL lock R/W, PLL lock time count register time count register * */ /#define oMPLLCON#define oMPLLCON0 x040 x04 / /* * R/W, MPLL R/W, MPLL configuration register configuration register * */
31、/#define oUPLLCON#define oUPLLCON0 x080 x08 / /* * R/W, UPLL R/W, UPLL configuration register configuration register * */ /#define oCLKCON#define oCLKCON0 x0C0 x0C / /* * R/W, Clock R/W, Clock generator control reg. generator control reg. * */ /#define oCLKSLOW#define oCLKSLOW0 x100 x10 / /* * R/W,
32、Slow clock R/W, Slow clock control register control register * */ /#define oCLKDIVN#define oCLKDIVN0 x140 x14 / /* * R/W, Clock R/W, Clock divider control divider control * */ /在在Linux系統(tǒng)的系統(tǒng)的/include/asm-arm/arch-s3c2410/S3C2410.h頭文件中定義了時鐘和電源管理寄存器。頭文件中定義了時鐘和電源管理寄存器。其源代碼如下:其源代碼如下:/ /* * Registers Regi
33、sters * */ /#define LOCKTIME bCLKCTL(oLOCKTIME)#define LOCKTIME bCLKCTL(oLOCKTIME)#define MPLLCON#define MPLLCON bCLKCTL(oMPLLCON) bCLKCTL(oMPLLCON)#define UPLLCON#define UPLLCON bCLKCTL(oUPLLCON) bCLKCTL(oUPLLCON)#define CLKCON#define CLKCON bCLKCTL(oCLKCON) bCLKCTL(oCLKCON)#define CLKSLOW#define C
34、LKSLOW bCLKCTL(oCLKSLOW) bCLKCTL(oCLKSLOW)#define CLKDIVN#define CLKDIVN bCLKCTL(oCLKDIVN) bCLKCTL(oCLKDIVN)相關(guān)芯片引腳說明:相關(guān)芯片引腳說明:3.1 基本電路設(shè)計 3.1.1 電源電路設(shè)計 S3C2410X需要3.3V和1.8V兩種供電電壓,是由5V電源電壓經(jīng) LM1085-3.3V和 AS1117-1.8V分別得到 3.3V和1.8V的工作電壓。開發(fā)板上的芯片多數(shù)使用了 3.3V電壓,而 1.8V是供給 S3C2410 內(nèi)核使用的。5V電壓供給音頻功放芯片、LCD、電機、硬盤、CAN
35、總線等電路使用。具體如圖3.1所示。RTC 電路的電壓是電路的電壓是 1.8V,實際是將電池,實際是將電池電壓或電壓或 3.3V電壓經(jīng)過兩個電壓經(jīng)過兩個 BAV99(等價于(等價于4 個個二極管串聯(lián))降壓后得到的。如圖二極管串聯(lián))降壓后得到的。如圖3.2所示。所示。圖圖3.2 RTC 電路的電壓原理圖電路的電壓原理圖n3.1.2 復(fù)位電路設(shè)計復(fù)位電路設(shè)計 n硬件復(fù)位電路實現(xiàn)對電源電壓的監(jiān)控和手動硬件復(fù)位電路實現(xiàn)對電源電壓的監(jiān)控和手動復(fù)位操作。復(fù)位操作。IMP811T 的復(fù)位電平可以使的復(fù)位電平可以使 CPU JTAG(nTRST)和板級系統(tǒng)()和板級系統(tǒng)(nRESET)全部)全部復(fù)位;復(fù)位;R
36、ESET反相后得到反相后得到nRESET信號。信號。圖圖3.3 系統(tǒng)的復(fù)位電路系統(tǒng)的復(fù)位電路n3.1.3 3.1.3 晶振電路設(shè)計晶振電路設(shè)計nS3C2410X微處理器的主時鐘可以由外部時鐘微處理器的主時鐘可以由外部時鐘源提供,也可以由外部振蕩器提供,通過引腳源提供,也可以由外部振蕩器提供,通過引腳OM3:2來進行選擇。來進行選擇。nOM3:2=00時,時,MPLL和和UPLL的時鐘均選擇的時鐘均選擇外部振蕩器;外部振蕩器;nOM3:2=01時,時,MPLL的時鐘選擇外部振蕩器;的時鐘選擇外部振蕩器;UPLL選擇外部時鐘源;選擇外部時鐘源;nOM3:2=10時,時,MPLL的時鐘選擇外部時鐘源
37、;的時鐘選擇外部時鐘源;UPLL選擇外部振蕩器;選擇外部振蕩器;nOM3:2=11時,時,MPLL和和UPLL的時鐘均選擇的時鐘均選擇外部時鐘源。外部時鐘源。 該系統(tǒng)中選擇該系統(tǒng)中選擇OM3:2均接地的方式,即采均接地的方式,即采用外部振蕩器提供系統(tǒng)時鐘。外部振蕩器由用外部振蕩器提供系統(tǒng)時鐘。外部振蕩器由12MHz晶振和晶振和2個個15pF的微調(diào)電容組成。如圖的微調(diào)電容組成。如圖3.4所示,所示, 圖圖3.4 晶振電路原理圖晶振電路原理圖 圖圖3.5所示的是所示的是S3C2410X應(yīng)用系統(tǒng)所需的應(yīng)用系統(tǒng)所需的RTC時時鐘電路圖,電路由鐘電路圖,電路由12MHz晶振和晶振和2個個15pF的電容組
38、成,的電容組成,振蕩電路的輸出接到振蕩電路的輸出接到S3C2410X微處理器的微處理器的XTlpll腳,腳,輸入由輸入由XTOpll提供。提供。12MHz的晶振頻率經(jīng)的晶振頻率經(jīng)S3C2410X內(nèi)部內(nèi)部PLL電路的倍頻后可達電路的倍頻后可達203MHz。 圖圖3.5 系統(tǒng)時鐘的選擇系統(tǒng)時鐘的選擇3.2 3.2 存儲器系統(tǒng)設(shè)計存儲器系統(tǒng)設(shè)計 在嵌入式應(yīng)用系統(tǒng)中,通常使用在嵌入式應(yīng)用系統(tǒng)中,通常使用3 3種存儲種存儲器接口電路,器接口電路,Nor FlashNor Flash接口、接口、Nand FlashNand Flash接口接口和和SDRAMSDRAM接口電路。引導(dǎo)程序既可存儲在接口電路。引
39、導(dǎo)程序既可存儲在Nor Nor FlashFlash中,也可存儲在中,也可存儲在Nand FlashNand Flash中。而中。而SDRAMSDRAM中存儲的是執(zhí)行中的程序和產(chǎn)生的數(shù)據(jù)。存儲中存儲的是執(zhí)行中的程序和產(chǎn)生的數(shù)據(jù)。存儲在在Nor FlashNor Flash中的程序可直接執(zhí)行,與在中的程序可直接執(zhí)行,與在SDRAMSDRAM執(zhí)行相比速度較慢。存儲在執(zhí)行相比速度較慢。存儲在Nand FlashNand Flash中的程序,需要拷貝到中的程序,需要拷貝到RAMRAM中去執(zhí)行。中去執(zhí)行。3.2.1 8位存儲器接口設(shè)計位存儲器接口設(shè)計 由于由于ARMARM微處理器的體系結(jié)構(gòu)支持微處理器的
40、體系結(jié)構(gòu)支持8 8位位/16/16位位/32/32位的存儲器系統(tǒng),相應(yīng)地可以位的存儲器系統(tǒng),相應(yīng)地可以構(gòu)建構(gòu)建8 8位的存儲器系統(tǒng)、位的存儲器系統(tǒng)、1616位的存儲器系位的存儲器系統(tǒng)或統(tǒng)或3232位的存儲器系統(tǒng),在采用位的存儲器系統(tǒng),在采用8 8位存儲位存儲器構(gòu)成器構(gòu)成8 8位位/16/16位位/32/32位的存儲器系統(tǒng)時,位的存儲器系統(tǒng)時,除數(shù)據(jù)總線的連接不同之處,其它的信除數(shù)據(jù)總線的連接不同之處,其它的信號線的連接方法基本相同。號線的連接方法基本相同。1 1構(gòu)建構(gòu)建8 8位的存儲器系統(tǒng)位的存儲器系統(tǒng)采用采用8 8位存儲器構(gòu)成位存儲器構(gòu)成8 8位的存儲器系統(tǒng)。此時位的存儲器系統(tǒng)。此時,在初始
41、化程序中還必須通過,在初始化程序中還必須通過BWSCONBWSCON寄存器中的寄存器中的DWnDWn 設(shè)置為設(shè)置為0000,選擇,選擇8 8位的總線方式。位的總線方式。 存儲器的存儲器的nOEnOE端接端接S3C2410XS3C2410X的的nOEnOE引腳;引腳; 存儲器的存儲器的nWEnWE端接端接S3C2410XS3C2410X的的nWEnWE引腳;引腳; 存儲器的存儲器的nCEnCE端接端接S3C2410XS3C2410X的的nGCSnnGCSn引腳;引腳; 存儲器的地址總線存儲器的地址總線A15A15A0A0與與S3C2410XS3C2410X的地的地址總線址總線ADDR15ADDR
42、15ADDR0ADDR0相連;相連; 存 儲 器 的存 儲 器 的 8 8 位 數(shù) 據(jù) 總 線位 數(shù) 據(jù) 總 線 D Q 7 D Q 7 D Q 0 D Q 0 與與S3C2410XS3C2410X的數(shù)據(jù)總線的數(shù)據(jù)總線DATA7DATA7DATA0DATA0相連。相連。2 2構(gòu)建構(gòu)建1616位的存儲器系統(tǒng)位的存儲器系統(tǒng)采用兩片采用兩片8 8位存儲器芯片以并聯(lián)方式可構(gòu)成位存儲器芯片以并聯(lián)方式可構(gòu)成1616位的存儲器位的存儲器系統(tǒng),此時,在初始化程序中將系統(tǒng),此時,在初始化程序中將BWSCONBWSCON寄存器中的寄存器中的DWn DWn 設(shè)置為設(shè)置為0101,選擇,選擇1616位的總線方式。位的
43、總線方式。 存儲器的存儲器的nOEnOE端接端接S3C2410XS3C2410X的的nOEnOE引腳;引腳; 低低8 8位的存儲器的位的存儲器的nWEnWE端接端接S3C2410XS3C2410X的的nWBE0nWBE0引腳,高引腳,高8 8位位的存儲器的的存儲器的nWEnWE端接端接S3C2410XS3C2410X的的nWBE1nWBE1引腳;引腳; 存儲器的存儲器的nCEnCE端接端接S3C2410XS3C2410X的的nGCSnnGCSn引腳;引腳; 存儲器的地址總線存儲器的地址總線A15A15A0A0與與S3C2410XS3C2410X的地址總線的地址總線ADDR16ADDR16ADD
44、R1ADDR1相連;相連; 低低8 8位的存儲器的位的存儲器的8 8位數(shù)據(jù)總線位數(shù)據(jù)總線DQ7DQ7DQ0DQ0與與S3C2410XS3C2410X的的數(shù)據(jù)總線數(shù)據(jù)總線DATA7DATA7DATA0DATA0相連,高相連,高8 8位的存儲器的位的存儲器的8 8位數(shù)據(jù)總線位數(shù)據(jù)總線DQ7DQ7DQ0DQ0與與S3C2410XS3C2410X的數(shù)據(jù)總線的數(shù)據(jù)總線DATA15DATA15DATA8DATA8相連。相連。3 3構(gòu)建構(gòu)建3232位的存儲器系統(tǒng)位的存儲器系統(tǒng)采用四片采用四片8 8位存儲器芯片以并聯(lián)方式可構(gòu)成位存儲器芯片以并聯(lián)方式可構(gòu)成3232位的位的存儲器系統(tǒng),如圖存儲器系統(tǒng),如圖3.8
45、3.8 所示,此時,在初始化程序中所示,此時,在初始化程序中將將BWSCONBWSCON寄存器中的寄存器中的DWn DWn 設(shè)置為設(shè)置為1010,選擇,選擇3232位的位的總線方式??偩€方式。 存儲器的存儲器的nOEnOE端接端接S3C2410XS3C2410X的的nOEnOE引腳;引腳; 低低8 8位的存儲器的位的存儲器的nWEnWE端接端接S3C2410XS3C2410X的的nWBE0nWBE0引引腳,次低腳,次低8 8位的存儲器的位的存儲器的nWEnWE端接端接S3C2410XS3C2410X的的nWBE1nWBE1引腳,次高引腳,次高8 8位的存儲器的位的存儲器的nWEnWE端接端接S
46、3C2410XS3C2410X的的nWBE2nWBE2引腳,高引腳,高8 8位的存儲器的位的存儲器的nWEnWE端接端接S3C2410XS3C2410X的的nWBE3nWBE3引腳;引腳; 存儲器的存儲器的nCEnCE端接端接S3C2410XS3C2410X的的nGCSnnGCSn引腳;引腳; 存儲器的地址總線存儲器的地址總線A15A15A0A0與與S3C2410XS3C2410X的地址的地址總線總線ADDR17ADDR17ADDR2ADDR2相連。相連。圖圖3.8 32位存儲器系統(tǒng)位存儲器系統(tǒng) 3.2.2 SDRAM3.2.2 SDRAM接口電路設(shè)計接口電路設(shè)計 在在ARMARM嵌入式應(yīng)用系
47、統(tǒng)中,嵌入式應(yīng)用系統(tǒng)中,SDRAMSDRAM主要用于程序主要用于程序的運行空間、數(shù)據(jù)及堆棧區(qū)。當(dāng)系統(tǒng)啟動時,的運行空間、數(shù)據(jù)及堆棧區(qū)。當(dāng)系統(tǒng)啟動時,CPUCPU首先首先從復(fù)位地址從復(fù)位地址0 x00 x0處讀取啟動程序代碼,完成系統(tǒng)的初始處讀取啟動程序代碼,完成系統(tǒng)的初始化后,為提高系統(tǒng)的運行的速度,程序代碼通常裝入到化后,為提高系統(tǒng)的運行的速度,程序代碼通常裝入到SDRAMSDRAM中運行。在中運行。在S3C2410XS3C2410X片內(nèi)具有獨立的片內(nèi)具有獨立的SDRAMSDRAM刷刷新控制邏輯電路,可方便地與新控制邏輯電路,可方便地與SDRAMSDRAM接口。目前常用的接口。目前常用的SD
48、RAMSDRAM芯片有芯片有8 8位和位和1616位的數(shù)據(jù)寬度、工作電壓一般為位的數(shù)據(jù)寬度、工作電壓一般為3.3 V3.3 V。主要生產(chǎn)廠商有。主要生產(chǎn)廠商有HYUNDAIHYUNDAI、WinbondWinbond等,下面等,下面以以K4S561632C-TC75K4S561632C-TC75為例說明其與為例說明其與S3C2410XS3C2410X的接口方的接口方法,構(gòu)成法,構(gòu)成16M x 3216M x 32位的存儲系統(tǒng)。位的存儲系統(tǒng)。 K4S561632C-TC75K4S561632C-TC75存儲器是存儲器是4 4組組 4M 4M 16 16 位的動態(tài)存儲位的動態(tài)存儲器,工作電壓為器,
49、工作電壓為3.3 V3.3 V,其封裝形式為,其封裝形式為5454腳腳TSOPTSOP,兼容,兼容LVTTLLVTTL接口,數(shù)據(jù)寬度為接口,數(shù)據(jù)寬度為1616位,支持自動刷新(位,支持自動刷新(Auto-RefreshAuto-Refresh)和自)和自刷新刷新(Self-Refresh)(Self-Refresh)。其引腳如圖。其引腳如圖3.93.9所示,引腳功能如表所示,引腳功能如表3.13.1所示。所示。 圖圖3.9 K4S561632C-TC75引腳圖引腳圖 引腳引腳名名 稱稱說說 明明CLK時鐘時鐘時鐘輸入時鐘輸入CKE時鐘使能時鐘使能片內(nèi)時鐘信號使能片內(nèi)時鐘信號使能CS*片選片選為
50、低電平時芯片才能工作為低電平時芯片才能工作BA0、BA1組地址選擇組地址選擇用于片內(nèi)用于片內(nèi)4個組選擇個組選擇A12A0地址總線地址總線為行、列的地址線為行、列的地址線RAS*行地址鎖存行地址鎖存低電平時鎖存行地址低電平時鎖存行地址CAS*列地址鎖存列地址鎖存低電平時鎖存列地址低電平時鎖存列地址WE*寫使能寫使能使能寫信號和允許列改寫,使能寫信號和允許列改寫,WE*和和CAS*有效時鎖存數(shù)據(jù)有效時鎖存數(shù)據(jù)LDQM、UDQM數(shù)據(jù)數(shù)據(jù)I/O屏蔽屏蔽在讀模式下控制輸出緩沖,寫模式下屏蔽輸入數(shù)據(jù)在讀模式下控制輸出緩沖,寫模式下屏蔽輸入數(shù)據(jù)DQ15DQ0DQ0數(shù)據(jù)總線數(shù)據(jù)總線數(shù)據(jù)輸入數(shù)據(jù)輸入/輸出引腳輸
51、出引腳VDD/VSS電源電源/地地內(nèi)部電源及輸入緩沖電源內(nèi)部電源及輸入緩沖電源/地地VDDQ/VSSQ電源電源/地地輸出緩沖電源輸出緩沖電源/地地NC空空空引腳空引腳表表3.1 K4S561632C-TC75引腳功能表引腳功能表 采用兩片采用兩片K4S561632C-TC75K4S561632C-TC75存儲器芯片可組成存儲器芯片可組成16M 16M 32 32位位SDRANSDRAN存儲器系統(tǒng),其片選信號存儲器系統(tǒng),其片選信號CSCS* *接接S3C2410XS3C2410X的的nGCS6 nGCS6 引腳,引腳,具體連線如圖具體連線如圖3.103.10所示。所示。 圖3.10 K4S561
52、632C-TC75組成的32位SDRAM存儲器系統(tǒng) 3.2.3 Flash接口電路設(shè)計接口電路設(shè)計 FlashFlash閃存是非易失存儲器,可以對稱為塊的存儲閃存是非易失存儲器,可以對稱為塊的存儲器單元塊進行擦寫和再編程。目前所做用的器單元塊進行擦寫和再編程。目前所做用的FlashFlash芯片芯片主要有主要有NorFlashNorFlash和和Nand FlashNand Flash兩種。但這兩種兩種。但這兩種FlashFlash芯片芯片在某些方面存在一定的差異,如:在某些方面存在一定的差異,如:NandNand器件執(zhí)行擦除器件執(zhí)行擦除操作簡單,而操作簡單,而NorNor則要求在進行寫入前先
53、將目標塊內(nèi)所則要求在進行寫入前先將目標塊內(nèi)所有的位都寫為有的位都寫為0 0; NorNor的讀速度比的讀速度比NandNand稍快一些;稍快一些; NandNand的寫入速度比的寫入速度比NorNor快很多,快很多,NandNand需需4ms4ms擦除,而擦除,而NorNor需要需要5s5s快???。Nand FlashNand Flash的單元尺寸幾乎是的單元尺寸幾乎是NorNor器件器件的一半,由于生產(chǎn)過程更為簡單,其價格低。在的一半,由于生產(chǎn)過程更為簡單,其價格低。在NandNand閃存中每個塊的最大擦寫次數(shù)是一百萬次,而閃存中每個塊的最大擦寫次數(shù)是一百萬次,而NorNor的擦的擦寫次數(shù)是
54、十萬次。寫次數(shù)是十萬次。 Nor Nor具有具有XIPXIP(eXecute In PlaceeXecute In Place,芯片內(nèi)執(zhí),芯片內(nèi)執(zhí)行)特性,應(yīng)用程序可以直接在行)特性,應(yīng)用程序可以直接在FlashFlash閃存內(nèi)運閃存內(nèi)運行,不必再把代碼讀到系統(tǒng)行,不必再把代碼讀到系統(tǒng)RAMRAM中。中。NorNor的傳的傳輸效率很高,在輸效率很高,在14MB14MB的小容量時具有很高的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大的成本效益,但是很低的寫入和擦除速度大大影響了它的性能。影響了它的性能。NandNand結(jié)構(gòu)能提供極高的單結(jié)構(gòu)能提供極高的單元密度,可以達到高存儲密度,并
55、且寫入和擦元密度,可以達到高存儲密度,并且寫入和擦除的速度也很快。在接口方面,除的速度也很快。在接口方面,Nor FlashNor Flash和和Nand FlashNand Flash也存在著差別。也存在著差別。Nor FlashNor Flash帶有帶有SRAMSRAM接口,接口,NandNand器件使用復(fù)雜的器件使用復(fù)雜的I/OI/O口來串口來串行存取數(shù)據(jù)。行存取數(shù)據(jù)。1 1Nor FlashNor Flash與與S3C2410XS3C2410X微處理器接口設(shè)計微處理器接口設(shè)計SST39LF/VF160SST39LF/VF160是是1M X 161M X 16位的位的CMOSCMOS芯片
56、,芯片,SST39LF160SST39LF160工作電壓為工作電壓為3.03.03.6V3.6V,SST39VF160SST39VF160工作工作電壓為電壓為2.72.73.6V3.6V,采用,采用4848腳腳TSOPTSOP封裝或封裝或TFBGATFBGA封封裝,裝,1616位數(shù)據(jù)寬度,以字模式(位數(shù)據(jù)寬度,以字模式(1616位數(shù)據(jù)寬度)的方位數(shù)據(jù)寬度)的方式工作。式工作。SST39VF160SST39VF160的在系統(tǒng)編程和編程操作僅需的在系統(tǒng)編程和編程操作僅需3.3V3.3V電壓,通過命令可以對芯片進行編程(燒寫)、電壓,通過命令可以對芯片進行編程(燒寫)、擦除(整片擦除和按扇區(qū)擦除)以及其他操作。擦除(整片擦除和按扇區(qū)擦除)以及其他操作。SST39LF/VF160SST39LF/VF160的引腳圖如圖的引腳圖如圖3.113.11所示,引腳功能如所示,引腳功能如表表3.23.2所示。所示。 圖圖3.11 SST39LF/VF160的引腳圖的引腳圖 表3.2SST39LF160/SST39VF160引腳功能表引腳引腳名名 稱稱說說 明明CE*片選片選為低電平時芯片才能工作為低電平時芯片才能工作OE*輸出使能輸出使能用于片內(nèi)用于片內(nèi)4個組選擇個組選擇A
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 供用苗木合同范本
- 加盟教育協(xié)議合同范本
- 與收款合同范本
- 儀器協(xié)議合同范本
- 化驗用品購銷合同范本
- 2024年四川旅游學(xué)院引進考試真題
- 2024年省廈門市梧村小學(xué)招聘考試真題
- 第二單元 遵守社會規(guī)則 大單元教學(xué)設(shè)計-2023-2024學(xué)年統(tǒng)編版道德與法治八年級上冊
- 買賣物品交易合同范本
- 保溫發(fā)泡板合同范本
- 2024年12月重慶大學(xué)醫(yī)院公開招聘醫(yī)生崗位2人(有編制)筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 主題班會:新學(xué)期 新起點 新期待
- 披薩制作流程
- 2024 河北公務(wù)員考試(筆試、省直、A類、C類)4套真題及答案
- 廈門2025年福建廈門市公安文職人員服務(wù)中心招聘17人筆試歷年參考題庫附帶答案詳解
- 2025年高三歷史教學(xué)工作計劃
- 【化學(xué)】高中化學(xué)手寫筆記
- 膽管惡性腫瘤護理查房課件
- 電烤箱的使用方法ppt
- 中班:語言擠啊擠
- 上海市有線電視(衛(wèi)星)接收設(shè)施安裝許可證申請表
評論
0/150
提交評論