- 相關(guān)推薦
SL11R單片機(jī)外部存儲(chǔ)器擴(kuò)展
摘要:介紹了USB接口單片機(jī)SL11R進(jìn)行外部存儲(chǔ)器擴(kuò)展的方法和實(shí)例,并測(cè)試了外部SRAM及EDO DRAM的工作速度。關(guān)鍵詞:單片機(jī) SL11R 存儲(chǔ)器 USB
SL11R是Scanlogic公司生產(chǎn)的一種帶有USB接口的16位RISC單片機(jī),內(nèi)核處理速度達(dá)到48MIPS,有豐富的硬件資源及32位可編程I/O口,可以靈活擴(kuò)展外圍芯片。本文主要討論其外部存儲(chǔ)器的擴(kuò)展。
(范文先生網(wǎng)www.panasonaic.com收集整理)
1 SL11R存儲(chǔ)器空間
SL11R內(nèi)部有3K字節(jié)的SRAM,可以用作指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,但有些應(yīng)用場(chǎng)合需要擴(kuò)展存儲(chǔ)器。SL11R可擴(kuò)展I2C串行E2PROM、通用并行EPROM及RAM,還能夠直接擴(kuò)展大容量的EDO DRAM。
SL11R采用統(tǒng)一地址編碼方式對(duì)外尋址,程序代碼、數(shù)據(jù)區(qū)、I/O地址均安排在64K字節(jié)空間中,各自有獨(dú)立的尋址空間并有相應(yīng)的選通信號(hào)輸出。硬件設(shè)計(jì)時(shí)不需另加解碼電路,只要把擴(kuò)展芯片的片選引腳與對(duì)應(yīng)的控制信號(hào)相連就可以。SL11R對(duì)EDO DRAM的尋址采用頁(yè)尋址方式,可尋址高達(dá)2M字節(jié)的空間,以滿足圖像采集等需要大量數(shù)據(jù)存儲(chǔ)器的場(chǎng)合。SL11R存儲(chǔ)器空間具體安排見(jiàn)表1。
表1 SL11R存儲(chǔ)器空間
外部RAM
外部DRAM
外部DRAM
內(nèi)部寄存器
外部ROM
內(nèi)部ROM 0x0000~0x0BFF
0x0C00~0x7FFF
0x8000~0x9FFF
0xA000~0xBFFF
0xC000~0xC0FF
0xC100~0xE7FF
0xE800~0xFFFF
外部RAM的0x0000~0x0BFF地址空間被內(nèi)部RAM占用,故不能使用。
外部ROM的默認(rèn)地址空間為0xC100~0xE7FF,通過(guò)軟件設(shè)定,也可以占用0x8000~0xBFFF地址空間。
2 SL11R存儲(chǔ)器擴(kuò)展
SL11R的外部存儲(chǔ)器包括串行E2PROM存儲(chǔ)器、外部SRAM數(shù)據(jù)存儲(chǔ)器、外部EPROM程序存儲(chǔ)器及動(dòng)態(tài)存儲(chǔ)器。
2.1 串行I2C E2PROM的擴(kuò)展
串行E2PROM的擴(kuò)展比較簡(jiǎn)單,只要根據(jù)I2C E2PROM的容量選擇相應(yīng)的電路即可。圖1為擴(kuò)展2K字節(jié)E2PROM電路圖,圖2為擴(kuò)展16K字節(jié)E2PROM電路圖。值得注意的是,如果用串行E2PROM作程序存儲(chǔ)器,最好選用圖1所示的接線。由于SL11R內(nèi)部RAM只有3K字節(jié),啟動(dòng)時(shí)BIOS首先從2K字節(jié)的串行E2PROM中加載指令代碼。
讀寫(xiě)I2C E2PROM可以直接調(diào)用BIOS中斷實(shí)現(xiàn),不需要另編程序,比較方便。
2.2 外部數(shù)據(jù)存儲(chǔ)器及EPROM的擴(kuò)展
SL11R的數(shù)據(jù)總線是16位,提供了兩種存儲(chǔ)器擴(kuò)展模式供用戶選擇,可以通過(guò)軟件設(shè)定外部存儲(chǔ)器工作在8位模式或16位模式。圖3是SL11R擴(kuò)展32K×16位SRAM的實(shí)例。圖3所示狀態(tài)下外部SRAM工作在16位模式;當(dāng)開(kāi)關(guān)SW接地,則SRAM工作在8位模式,IC2不使用。SL11R的引腳XRAMSEL和XROMSEL可以分別作為外部數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器片選信號(hào)CS。
2.3 動(dòng)態(tài)存儲(chǔ)器的擴(kuò)展
SL11R擴(kuò)展動(dòng)態(tài)存儲(chǔ)器非常簡(jiǎn)單。因?yàn)樗呀?jīng)內(nèi)置了動(dòng)態(tài)存儲(chǔ)器控制電路,與EDO DRAM直接連接就可以,不需要另加電路,而且自動(dòng)刷新,用戶使用動(dòng)態(tài)存儲(chǔ)器負(fù)使用SRAM一樣方便。SL11R擴(kuò)展DRAM的電路見(jiàn)圖4。
擴(kuò)展DRAM時(shí)要選擇3.3V的EDO DRAM,盡量使用1M×16位的內(nèi)存芯片如GM71V18163CJ、IS41LV16100、HY51V18164等,這樣電路設(shè)計(jì)較簡(jiǎn)單。筆者在使用過(guò)程中發(fā)現(xiàn),某些DRAM與SL11R存在兼容性問(wèn)題,有時(shí)工作不穩(wěn)定,但換另一批次的芯片后又正常工作,所以設(shè)計(jì)者在使用時(shí)應(yīng)注意篩選。
SL11R對(duì)DRAM的尋址空間為0x8000~0x9FFF和0xA000~0xBFFFF。這個(gè)地址值控制尋址的低位地址(A0~A12),另外有2個(gè)對(duì)應(yīng)的頁(yè)面寄存器控制尋址的高位地址,每個(gè)頁(yè)面都能完成對(duì)1M×16位空間的尋址。這兩個(gè)16位的頁(yè)面寄存器是0xC018和0xC01A,以頁(yè)面1寄存器0xC018具體說(shuō)明如下:
D15~D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 0 A21 A20 A19 A18 A17 A16 A15 A14 A13如果A21=1,則對(duì)0x8000~0x9FFF空間的讀寫(xiě)操作是針對(duì)DRAM,由DRAMOE和DRAMWT引腳選通DRAM,參見(jiàn)圖4。
如果A21=0,則對(duì)0x8000~0x9FFF空間的讀寫(xiě)操作是針其它外設(shè),由nXMEMSEL引腳選通。這種方式使SL11R另外增加了1M×16位的尋址空間,但這個(gè)空間DMA方式不能直接尋址。
A13~A20則是頁(yè)面1的高位地址,加上08000~0x9FFF的低位(A0~A12)實(shí)現(xiàn)頁(yè)面1的尋址。
頁(yè)面2的尋址與頁(yè)面1的尋址完全一樣,只是由0xC01A和對(duì)0xA000~0xBFFF的尋址實(shí)現(xiàn)。
頁(yè)面1和頁(yè)面2的尋址空間是重疊的,一般可以使用一個(gè)頁(yè)面對(duì)DRAM尋址,另一個(gè)頁(yè)面對(duì)其它外設(shè)尋址。
3 存儲(chǔ)器速度的影響
SL11R的工作頻率較高,必須要考慮存儲(chǔ)器的速度,否則可能工作不正常。
3.1 靜態(tài)存儲(chǔ)器速度
讀取外部靜態(tài)存儲(chǔ)器的時(shí)序見(jiàn)圖5,具體參數(shù)見(jiàn)表2。表2中的參數(shù)是SL11R的內(nèi)部工作時(shí)鐘PCLK工作36MHz,等待周期設(shè)定為0時(shí)的數(shù)據(jù)。
表2 SL11R讀周期參數(shù)
符 號(hào) 參 數(shù) 最小值 最大值 tCRtRDH
tCDH
tPRW
tAR
tAC CS下降沿到RD下降沿
RD上升沿到數(shù)據(jù)保持
CS上升沿到數(shù)據(jù)保持
RD低電平時(shí)間
RD下降沿到地址有效
RAM訪問(wèn)時(shí)間 1ns
5ns
3ns
28ns
1ns
31ns
3ns
12ns
SL11R擴(kuò)展外部SRAM或EPROM時(shí),可以設(shè)定等待周期,最長(zhǎng)可設(shè)定7個(gè)等待周期,每個(gè)等待周期時(shí)間為31ns(PCLK=32MHz時(shí)),這樣SL11R就可以擴(kuò)展價(jià)格低廉的低速EPROM和SRAM存儲(chǔ)器。
選擇SRAM的速度主要應(yīng)該由CS的低電平脈沖寬度決定:
tAC=tCR+tRDH-tCDH+等待周期時(shí)間
筆者經(jīng)實(shí)驗(yàn)得到常見(jiàn)的SRAM需要設(shè)定的等待周期數(shù),見(jiàn)表3。從表3的數(shù)據(jù)可知,一般SRAM的速度可以達(dá)到標(biāo)稱(chēng)值,如PCLK為32MHz,100ns SRAM的等待周期為2,這時(shí)tAC=1+28+5-3+2×31=93ns。
表3 常見(jiàn)SRAM等待周期設(shè)定
100ns SRAM 70ns SRAM 15ns SRAM 12ns SRAM PCLK=32MHzPCLK=48MHz 2
3 1
2 0
0 0
0
3.2 動(dòng)態(tài)存儲(chǔ)器的速度
EDO DRAM的讀寫(xiě)速度有兩種情況:一種是隨機(jī)讀寫(xiě);另一種是快速頁(yè)面讀寫(xiě)。SL11R隨機(jī)讀取DRAM的時(shí)序見(jiàn)圖6,參數(shù)見(jiàn)表4。
表4 SL11R讀DRAM參數(shù)
PCLK tRC 1RAS tCAS tRAC tOAC 32MHz 150ns 80ns 20ns 80ns 20ns 48MHz 100ns 53ns 13ns 53ns 13ns影響DRAM速度的參數(shù)較多,但選擇DRAM主要是根據(jù)tRAS。一般選擇50ns或60ns的DRAM就可以滿足要求。
SL11R隨機(jī)讀寫(xiě)DRAM的周期時(shí)間tRC在PCLK為32MHz時(shí)為150ns;PCLK為48MHz時(shí)為100ns。經(jīng)測(cè)試,DMA方式下,DRAM的讀寫(xiě)速度可以達(dá)到6MHz,滿足常用的數(shù)據(jù)采集要求。
DRAM的快速頁(yè)面讀寫(xiě)是指在DRAM的同一個(gè)頁(yè)面下,即行地址相同時(shí),DRAM保持行地址不變,只尋址列地址,這樣可以減少發(fā)送行地址的時(shí)間。使用快速頁(yè)面讀寫(xiě)必須十分小心,因?yàn)樵跀?shù)據(jù)采集等場(chǎng)合,寫(xiě)數(shù)據(jù)時(shí)頁(yè)面發(fā)生變化會(huì)影響DRAM的讀寫(xiě)時(shí)間,很可能會(huì)丟失數(shù)據(jù)。
SL11R擴(kuò)展外部存儲(chǔ)器的能力較強(qiáng),可以方便地?cái)U(kuò)展I2C接口的串行存儲(chǔ)器、各種速度的靜態(tài)存儲(chǔ)器以及大容量的DRAM。配合SL11R的USB接口和快速的處理能力,可以滿足各種應(yīng)用的需要。
【SL11R單片機(jī)外部存儲(chǔ)器擴(kuò)展】相關(guān)文章:
通過(guò)JTAG口對(duì)DSP外部Flash存儲(chǔ)器的在線編程08-06
C8051F的超大容量Flash存儲(chǔ)器擴(kuò)展08-06
串行DataFlash存儲(chǔ)器及其與單片機(jī)的接口08-06
單片機(jī)中斷多優(yōu)先級(jí)的軟件擴(kuò)展方法08-06
C8051F02X外部存儲(chǔ)器接口和I/O端口配置08-06
擴(kuò)展語(yǔ)句08-16
教學(xué)方式的擴(kuò)展08-17