<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 網(wǎng)絡(luò)與存儲 > 設(shè)計應(yīng)用 > 閃速存儲器AT29C010A及其應(yīng)用

          閃速存儲器AT29C010A及其應(yīng)用

          作者:天津大學(xué)精密儀器與光電子工程學(xué)院,易志明,林凌,郝麗宏,李樹靖 時間:2003-06-13 來源:電子設(shè)計應(yīng)用 收藏
          摘 要:文章以為例,介紹了ATMEL 29系列大容量的結(jié)構(gòu)、特點、性能及使用方法,結(jié)合實際應(yīng)用詳細(xì)說明了在工業(yè)智能檢測儀器中的硬件和軟件編程注意事項。

          關(guān)鍵詞:;;;

          引言

          FLASH是一種電擦除與再編程的快速存儲器,又稱為。它可以分為兩大類:并行FLASH和串行FLASH。串行產(chǎn)品能節(jié)約空間和成本,但存儲量小,又由于是串行通信,所以速度較慢,開發(fā)編程較復(fù)雜;并行產(chǎn)品具有存儲量大,速度快,使用方便等特點。ATMEL公司生產(chǎn)的29系列存儲器是一種并行、高性能、大容量閃速存儲器。
          AT29C010A的主要特點
          ATMEL公司生產(chǎn)的29系列CMOS Flash存儲器分為電池電壓型AT29BV系列(2.7V-3.6V操作),低電壓型AT29LV系列(3.0-3.6V操作),標(biāo)準(zhǔn)電壓型AT29C(5V操作)。AT29C010A是一種5V 在線閃速可電擦除的存儲器,具有掉電保護(hù)功能;方便的在線編程能力不需高的輸入電壓,指令系統(tǒng)在5V電壓下即可控制AT29C010A。AT29C010A具有1M位的存儲空間,分成1024個分區(qū),每一分區(qū)有128個字節(jié)。從AT29C010A中讀取數(shù)據(jù)與E2PROM的操作相似,再編程能力是以每一分區(qū)為單位的,128字節(jié)的數(shù)據(jù)裝入AT29C010A的同時完成編程。在一個再編程周期里,存儲單元的尋址和128字節(jié)數(shù)據(jù)通過內(nèi)部鎖存可釋放地址和數(shù)據(jù)總線,這樣可為其他操作提供地址和數(shù)據(jù)總線。編程周期開始,AT29C010A會自動擦除分區(qū)的內(nèi)容,然后對鎖存的數(shù)據(jù)在定時器的作用下進(jìn)行編程。編程周期的結(jié)束是通過查詢I/O7的有效時實現(xiàn)的,一旦編程周期結(jié)束,就可開始一個新的讀或編程操作。

          圖1 AT29C010A內(nèi)部結(jié)構(gòu)圖

          AT29C010A具有以下主要特性:可電擦除、可編程的閃速存儲器;快速讀取時間—70ns;內(nèi)部程序和定時器控制;2個8K的可鎖定的自舉模塊;分區(qū)程序操作,擦除、編程單向循環(huán)方式,可超過10000次,1024個分區(qū)(128字節(jié)/分區(qū)),內(nèi)部地址和128位數(shù)據(jù)鎖存;硬件和軟件;快速的的分區(qū)編程周期—10ms;數(shù)據(jù)輪詢檢測編程是否結(jié)束;低功率消耗—50mA有效電流,100mACMOS維持電流;單一5V±10%電源供電;CMOS和TTL可兼容的輸入輸出;有商用和工業(yè)用的溫度可選范圍。
          AT29C010A的內(nèi)部結(jié)構(gòu)如圖1所示。

          器件操作
          讀操作
          AT29C010A的存取類似于E2PROM,當(dāng)和為低電平、WE為高電平時,由A0-A16尋址的內(nèi)存單元中的數(shù)據(jù)會讀到I/O0-I/O7輸出管腳;若和為高電平,則I/O0-I/O7輸出管腳為高阻態(tài)。這種雙向控制的方式為使用者提供了避免總線競爭的靈活性。
          字節(jié)裝載
          AT29C010A的字節(jié)裝載是用于裝入每一分區(qū)待編程的128K字節(jié)數(shù)據(jù)或是用于進(jìn)行的軟件編碼。每一字節(jié)的裝載是通過或各自有低電平,為高電平時實現(xiàn)的,數(shù)據(jù)是在或在一個上升沿時鎖存的。
          編程
          AT29C010A以分區(qū)為單位進(jìn)行再編程,如果某一分區(qū)中的一個數(shù)據(jù)需要改變,那么這一分區(qū)中的所有數(shù)據(jù)必須重新裝入。一旦某一分區(qū)中的字節(jié)被裝入,這些字節(jié)將同時在內(nèi)部編程時間內(nèi)進(jìn)行編程,在此時間內(nèi)若有數(shù)據(jù)裝入,則會產(chǎn)生不確定的數(shù)據(jù);當(dāng)?shù)谝蛔止?jié)數(shù)據(jù)裝入AT29C010A之后,接著其余字節(jié)將以同一方式依次裝入,字節(jié)不需按順序裝載,可以任意方式裝載。每一新裝載的數(shù)據(jù)若要被編程,必須有(或)由高到低的跳變,這一跳變需在150ms內(nèi)完成,同時前面字節(jié)的(或)由低到高的跳變時間也是150ms。如果一個由高到低的跳變在最后一個由低到高的150ms內(nèi)沒有被檢測到,那么字節(jié)裝載的時間段將結(jié)束,此時內(nèi)部編程時間段開始。A7-A16提供分區(qū)地址,分區(qū)地址只在每一個(或)由高到低的跳變時才有效;A0-A6提供分區(qū)中每一字節(jié)的地址。一旦編程時間段開始,在寫周期的維持時間內(nèi),讀操作實際上是一種查詢。
          軟件數(shù)據(jù)保護(hù)
          AT29C010A具有軟件控制數(shù)據(jù)保護(hù)的特性,這一特性在ATMEL公司出廠時沒有開啟,用戶可根據(jù)需要開啟或關(guān)閉。一旦開啟,在未執(zhí)行關(guān)閉指令之前這一特性始終有效;供電情況的改變不會重新設(shè)置這一特性,但需警惕在供電情況改變時隨機(jī)的編程周期可能改變這一特性。若要開啟軟件數(shù)據(jù)保護(hù),必須執(zhí)行三條針對存放有特殊數(shù)據(jù)的特殊地址單元的程序指令。當(dāng)開啟軟件數(shù)據(jù)保護(hù)之后,所需的程序若要出現(xiàn),也必須執(zhí)行同樣的三條程序指令。軟件保護(hù)使能的軟件算法必須在程序可能執(zhí)行之前發(fā)送到AT29C010A,所有的軟件程序指令要按照分區(qū)程序的時序要求進(jìn)行。在給出軟件數(shù)據(jù)保護(hù)的指令代碼之后便可進(jìn)行字節(jié)的裝載。圖2給出了軟件數(shù)據(jù)保護(hù)使能或撤銷軟件算法的流程圖。

          圖2 軟件數(shù)據(jù)保護(hù)使能或撤銷流程圖

          圖3 工業(yè)智能檢測儀器框圖

          硬件數(shù)據(jù)保護(hù)
          AT29C010A硬件保護(hù)有以下幾種方法:
          ·VCC自動檢測—如果VCC低于3.8V(典型值),程序的運行將中止。
          ·VCC供電延遲—如果VCC達(dá)到自動檢測水平,AT29C010A將自動在編程前暫停5ms。
          ·編程禁止—當(dāng)為低電平時,或為高電平時禁止編程。
          ·噪聲濾波—當(dāng)或輸入脈寬少于15ns(典型值),則不啟動編程周期。
          數(shù)據(jù)輪詢
          AT29C010A采用數(shù)據(jù)輪詢來識別程序是否結(jié)束。在編程周期內(nèi),試圖讀數(shù)據(jù)的操作將在裝載最后一字節(jié)時在I/O7上產(chǎn)生裝載數(shù)據(jù)完成的信號;一旦編程周期結(jié)束,有效的數(shù)據(jù)將送到輸出端,并且開始下一編程周期,數(shù)據(jù)輪詢可以在編程周期的任何時間進(jìn)行。
          重復(fù)位
          另外,除數(shù)據(jù)輪詢方式外,AT29C010A還提供另一種決定編程、擦除周期的方法。編程和擦除操作周期,連續(xù)的試圖從AT29C010A中讀數(shù)據(jù)的操作在I/O6上出現(xiàn)1和0,一旦編程周期結(jié)束,I/O6位將重復(fù)并且讀取有效數(shù)據(jù);檢測重復(fù)位可在編程周期任何時間進(jìn)行。

          圖4 硬件電路圖

          圖5 數(shù)據(jù)寫入流程框圖

          應(yīng)用實例
          下面介紹用AT29C010A作為工業(yè)智能檢測儀器存儲器的一個實際應(yīng)用,主要用AT29C010A來存儲一級漢字庫漢字部分、單片機(jī)采集處理的數(shù)據(jù)和儀器設(shè)定的一些參數(shù)。該儀器采用AT89C52作為中央處理器,AT29C010A作為存儲器,74HC373作為地址鎖存器,點陣式LCD顯示器用作顯示圖形和字符,X1203作為實時時鐘;另外,還有上位機(jī)通信電路,繼電器報警電路,按鍵操作電路、指示燈電路及檢測電路等。圖3為工業(yè)智能檢測儀器框圖。
          硬件接口電路
          AT29C010A存儲器與單片機(jī)AT89C52的硬件接口電路圖如圖4所示。用AT89C52的P0口作為存儲器的數(shù)據(jù)輸入/輸出端,通過P0口經(jīng)74HC373輸出低8位地址,P2口和P3.0出端作為存儲器A8~A16地址,CE接ALE,WE接WR(P3.6),OE接RD(P3.7)。
          軟件注意事項
          讀取數(shù)據(jù)過程類似于普通E2PROM。但在寫入(編程)時,它和普通E2PROM不同,AT29C010A是采用按扇區(qū)編程,每個扇區(qū)大小為128個字節(jié)。由于每次寫入數(shù)據(jù)時,整個扇區(qū)數(shù)據(jù)都將重寫,因此必須采用數(shù)據(jù)緩沖區(qū)來存放要寫入的數(shù)據(jù)(包括該扇區(qū)內(nèi)已存在的數(shù)據(jù))。在此應(yīng)用實例中,采用AT89C52作中央處理器,它具有256字節(jié)內(nèi)部數(shù)據(jù)存儲器(RAM),用其中128字節(jié)(80H_FFH)RAM作為數(shù)據(jù)緩沖區(qū)存放要寫入的數(shù)據(jù)。圖5為數(shù)據(jù)寫入流程圖。
          在存儲器進(jìn)入軟件數(shù)據(jù)保護(hù)狀態(tài)、塊鎖定狀態(tài)或軟件產(chǎn)品標(biāo)識狀態(tài)時,無法對存儲器進(jìn)行寫入。此時,必須用軟件來退出軟件數(shù)據(jù)保護(hù)狀態(tài)、塊鎖定狀態(tài)或軟件產(chǎn)品標(biāo)識狀態(tài)。

          參考文獻(xiàn)
          1 孫涵芳、徐愛卿.MCS—51/96系列單片機(jī)原理及應(yīng)用.北京航空航天大學(xué)出版社,1988
          2 Atmel Corporation Nonvolatile Memory Data Book May 1996



          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();