新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于XCR3032的大容量FLASH存儲(chǔ)器接口設(shè)計(jì)

基于XCR3032的大容量FLASH存儲(chǔ)器接口設(shè)計(jì)

作者: 時(shí)間:2012-02-01 來源:網(wǎng)絡(luò) 收藏

  (FLASH Memory)是非易失存儲(chǔ)器,即使在供電電源關(guān)閉后仍然能保留信 息, 可以對(duì)存儲(chǔ)器單元塊進(jìn)行擦除和再編程,并且不需要額外的編程電壓。具有工 作電壓低、擦寫速度快、功耗低、壽命長、價(jià)格低廉、控制方法靈活、體積小等優(yōu)點(diǎn)。近年 來,在嵌入式系統(tǒng)代碼存儲(chǔ)和大容量數(shù)據(jù)存儲(chǔ)領(lǐng)域中得到了廣泛的應(yīng)用。本文 介紹了使用實(shí)現(xiàn)與微控制器的接口原理,給出了HD L實(shí)現(xiàn)程序。對(duì)大容量FLASH存儲(chǔ)器的接口設(shè)計(jì)具有一定的參考價(jià)值。

  1

  是Xilinx公司生產(chǎn)的CoolRunner XPLA3系列CPLD。他具有如下特點(diǎn):

  低功耗供電電壓僅為2.7~3.6 V。他采用Fast Zero PowerTM( FZP)技術(shù),使得器件的靜態(tài)電流非常低(小于100 μA);頻率為10 MHz時(shí),工作電流僅為1 06mA,比其他公司的CPLD小50%~67%。

  高性能具有32個(gè)宏單元,器件所有信號(hào)具有等延時(shí),與路徑無關(guān),t PD最快可達(dá)5 ns。最高運(yùn)行時(shí)鐘頻率可達(dá)200 MHz,多時(shí)鐘資源使得設(shè)計(jì)更加方便 。

  總線接口友好特別適合應(yīng)用于3.3 V系統(tǒng)中,可無需外接上拉電阻而與5 V器件直接接口。

  具有Port Enable管腳使得JTAG管腳具有在系統(tǒng)可編程接口和通用I/O口 2種功能。芯片不處于編程狀態(tài)時(shí),仍可用作一般I/O口。

  快速ISP編程可達(dá)至少1萬次的編程擦除次數(shù)。

  XCR3032最顯著的特點(diǎn)是低功耗和高速度。特別適用于手持、移動(dòng)等功耗比較低的系統(tǒng)中。 如PDA、筆記本電腦、移動(dòng)電話等領(lǐng)域。

  2

  是韓國三星(Samsung)公司采用NAND技術(shù)生產(chǎn)的128 MB大容量、高可靠、非 易 失性FLASH存儲(chǔ)器,具有高密度、高性能的特點(diǎn)。該器件所提供的片內(nèi)控制器、狀態(tài)寄存器 和專用命令集使其可以靈活地運(yùn)用在各種存儲(chǔ)系統(tǒng)電路中。他的最大優(yōu)點(diǎn)是8位I/O端口是地 址、數(shù)據(jù)和命令的多路復(fù)用,這樣不但大大減少了芯片的引腳數(shù),而且簡化了系統(tǒng)的連線, 便于系統(tǒng)以后擴(kuò)充芯片容量而不需改變系統(tǒng)板結(jié)構(gòu)設(shè)計(jì)。

  K9K1G08U0M對(duì)于諸如文件存儲(chǔ)、聲 音和音頻信號(hào)處理、智能儀器設(shè)備等要求大容量非易失性存儲(chǔ)的應(yīng)用場合提供了一種極佳的 解決方案。他的典型特性如下:

  (1)工作電壓:2.7~3.6 V

  (2)自動(dòng)編程和擦除

  頁編程:(512+16)B
  塊擦除:(16 k+512)B
  (3)可進(jìn)行528 B/頁讀操作

  隨機(jī)訪問:12μs(最大值)
  頁面連續(xù)訪問:50μs(最小值)
  (4)快速寫周期時(shí)間

  編程時(shí)間:200μs(典型值)
  塊擦除時(shí)間:2 ms(典型值)
  (5)硬件數(shù)據(jù)保護(hù)

  在電源電壓VCC2 V時(shí),內(nèi)部電壓探測器禁止編程/擦除操作。

  使用壽命達(dá)100 k次編程、擦除,數(shù)據(jù)可保存達(dá)10年,48腳TSOP封裝。K9K1G08U0M的功能組成框圖如圖1所示。他與控制器的接口信號(hào)除8個(gè)I/O線外, 還包括地址鎖存使能ALE,命令鎖存使能CLE,片選信號(hào)CE,讀使能信號(hào)RE ,寫I/O信號(hào)WE,寫保護(hù)WP控制線,操作狀態(tài)指示信號(hào) R/B等控制線,因此主控制器可以方便地實(shí)現(xiàn)對(duì)他的控制。K9K1G08U0M的地址、數(shù)據(jù)和命令信號(hào)輸入都使用8位的I/O口,當(dāng)CE為低 時(shí),命令、地址和數(shù)據(jù)在WE變低時(shí)由I/O寫入,并在WE的上升沿鎖 存。通過命令鎖存信號(hào)CLE和地址鎖存信號(hào)ALE可實(shí)現(xiàn)命令和地址對(duì)I/O的復(fù)用。K9K1G 08U0M的引腳特性及常用命令見參考文獻(xiàn)[4]。

  3接口方法

  K9K1G08U0M與微控制器常規(guī)接口方法是使用專用的口線模擬ALE,CLE并在CE,RE,的時(shí)序配合下完成所有的命令。這種方法的缺點(diǎn)是占用微控制器寶貴的 硬件資源,并要求軟件嚴(yán)格控制他們之間的時(shí)序,增加了程序運(yùn)行時(shí)間和軟件復(fù)雜度,降低 了程序的運(yùn)行效率。而且對(duì)于使用5 V電源的微控制器,由于K9K1G08U0M電源電壓是3 V,所 以他們之間的接口還存在邏輯電平轉(zhuǎn)換的問題。

  本文提出的方法使用1片XCR3032 CPLD就可以完美地解決上述問題,高效地完成K9K1G08U 0 M的全部功能,而無需占用額外的口線,微控制器只需以固定的地址向XCR3032尋址,通過XC R3032產(chǎn)生的輸出信號(hào)實(shí)現(xiàn)對(duì)K9K1G08U0M的控制。XCR3032有如下作用:

  (1)對(duì)微控制器送出的最低4位地址信息進(jìn)行譯碼。

  (2)分析地址總線的命令并根據(jù)命令內(nèi)容提供K9K1G08U0M的相應(yīng)接口信號(hào)。

  (3)監(jiān)控K9K1G08U0M的R/B的輸出。

  綜上所述,利用XCR3032實(shí)現(xiàn)的K9K1G08U0M與微控制器接口電路如圖2所示。

  根據(jù)K9K1G08U0M的接口時(shí)序要求,XCR3032要根據(jù)微控制器最低4位地址線解碼出K9K1G08U0 M相對(duì)應(yīng)的操作。XCR3032的輸出信號(hào)狀態(tài)取決于微控制器輸入的地址信息。假設(shè)XCR3032的 基地址是B,不同的輸入地址值所對(duì)應(yīng)的輸出操作和基本功能如表1所示。

  當(dāng)微控制器送出地址是B+0需要讀取K9K1G08U0M數(shù)據(jù)、狀態(tài)和ID時(shí)候RD信號(hào)置0 。當(dāng)微控制器送出地址是B+0并且要求寫數(shù)據(jù)地址或者微控制器送出地址是B+1要求寫命令時(shí) 應(yīng)置0。

  4-語言的實(shí)現(xiàn)

  經(jīng)過上述分析可知,輸入XCR3032的信號(hào)有微控制器讀寫信號(hào)WRIte, READ ,地址總線低4位address[3:0],
  
  使用語言設(shè)計(jì)組合邏輯和時(shí)序 邏輯具有很高的效率。由于篇幅所限,相關(guān)變量的聲明在此略去,部分Verilog- 代碼如下:
  
  
  

  5結(jié)語

  完整程序經(jīng)過Xilinx Project Navigator 6.1編譯、調(diào)試、仿真,利用并口下載電纜通 過 JTAG接口下載到XCR3032中后,使用C8051F021單片機(jī)進(jìn)行接口實(shí)驗(yàn),證明使用該接口方法K9 K1G08U0M的各項(xiàng)功能和命令均可實(shí)現(xiàn)。現(xiàn)已成功應(yīng)用于國家“863”計(jì)劃項(xiàng)目“海洋生態(tài)環(huán) 境自動(dòng)監(jiān)測技術(shù)”中。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉