《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > SL11R單片機(jī)外部存儲(chǔ)器擴(kuò)展

SL11R單片機(jī)外部存儲(chǔ)器擴(kuò)展

2008-11-03
作者:趙立宏 屈國(guó)普 程品晶

??? 摘? 要: 介紹了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" title="I/O">I/O口,可以靈活擴(kuò)展外圍芯片。本文主要討論其外部存儲(chǔ)器的擴(kuò)展。?

1 SL11R存儲(chǔ)器空間?

??? SL11R內(nèi)部有3K字節(jié)的SRAM,可以用作指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器" title="數(shù)據(jù)存儲(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é)的空間,以滿(mǎn)足圖像采集等需要大量數(shù)據(jù)存儲(chǔ)器的場(chǎng)合。SL11R存儲(chǔ)器空間具體安排見(jiàn)表1。?

?

?

??? 外部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ǔ)器" title="程序存儲(chǔ)器">程序存儲(chǔ)器及動(dòng)態(tài)存儲(chǔ)器" title="動(dòng)態(tài)存儲(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ò)展模式供用戶(hù)選擇,可以通過(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)刷新,用戶(hù)使用動(dòng)態(tài)存儲(chǔ)器象使用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ō)明如下:?

???

??? 如果A21=1,則對(duì)0x8000~0x9FFF空間的讀寫(xiě)操作是針對(duì)DRAM,由DRAMOE和DRAMWT引腳選通DRAM,參見(jiàn)圖4。?

??? 如果A21=0,則對(duì)0x8000~0x9FFF空間的讀寫(xiě)操作是針對(duì)其它外設(shè),由nXMEMSEL引腳選通。這種方式使SL11R另外增加了1M×16位的尋址空間,但這個(gè)空間DMA方式不能直接尋址。?

??? A13~A20則是頁(yè)面1的高位地址,加上0x8000~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ǔ)器" title="靜態(tài)存儲(chǔ)器">靜態(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ù)。?

?

?

?

??? 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+tRPW+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.2 動(dòng)態(tài)存儲(chǔ)器的速度?

??? EDO DRAM的讀寫(xiě)速度有兩種情況:一種是隨機(jī)讀寫(xiě);另一種是快速頁(yè)面讀寫(xiě)。SL11R隨機(jī)讀寫(xiě)DRAM的時(shí)序見(jiàn)圖6,參數(shù)見(jiàn)表4。?

?

?

?

??? 影響DRAM速度的參數(shù)較多,但選擇DRAM主要是根據(jù)tRAS。一般選擇50ns或60ns的DRAM就可以滿(mǎn)足要求。?

??? SL11R隨機(jī)讀寫(xiě)DRAM的周期時(shí)間tRC在PCLK為32MHz時(shí)為150ns;PCLK為48MHz時(shí)為100ns。經(jīng)測(cè)試,DMA方式下,DRAM的讀寫(xiě)速度可以達(dá)到6MHz,滿(mǎn)足常用的數(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接口和快速的處理能力,可以滿(mǎn)足各種應(yīng)用的需要。?

參考文獻(xiàn)?

1 SL11R技術(shù)資料.http://www.scanlogic.com?

2 竇振中.單片機(jī)外圍器件實(shí)用手冊(cè)存儲(chǔ)器分冊(cè).北京:北京航空航天大學(xué)出版社?

3 SRAM、DRAM資料.http://www.issi.com/index.html

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。