串行Flash存儲器的編程解決方案
串行Flash存儲器具有體積小、功耗低、管腳少、掉電不丟失數據等諸多優(yōu)點(diǎn),在IC卡和便攜式智能檢測儀表中廣泛的應用。本文將介 紹一種通過(guò)51系列單片機的串行口與AT45d041芯片通訊的方法,此方法不僅編程簡(jiǎn)單,且運行速度高,是一種值得推薦的編程方法。
1 AT45D041的工作原理
AT45D041是具有4 325 376位的大容量存儲器,他們被分成2 048頁(yè)(對應地址為PAl0一PA0),每頁(yè)264B(對應地址BA8~BA0)。這些存儲器被稱(chēng)之為主存儲器,此外AT45D041還有2個(gè)264 B的緩沖區Bufferl和Buffer2,當主存儲器的某頁(yè)正在被使用時(shí),這2個(gè)緩沖區允許接收數據。當片選CS有效時(shí),數據的傳輸在時(shí)鐘信號SCK的同步下,通過(guò)SI(輸入)和SO (輸出) 進(jìn)行。其原理框圖如圖1所示。
表1為包含AT45D041芯片IC卡管理定義。
AT45D041的最大工作頻率可達10MHz,工作電壓為5 V±10%,工作最大電流讀為25 mA,寫(xiě)為50 mA,數據保持可達100年,工作溫度為0~70℃,根據要求可超過(guò)指定工作溫度,通訊協(xié)議為SPI串行接口方式0和方式3。
2 AT45D041與AT89C55的接口
由于A(yíng)T45D041只有一個(gè)管腳進(jìn)行命令、數據的輸入和數據的輸出,其命令和數據都是串行輸入的,工作時(shí)序圖如圖2所示。
從圖2可以看出,輸入數據時(shí),SCK的上升沿前后一段時(shí)間分別為建立時(shí)間tsu (>10 ns)和保持時(shí)間tH (>25 ns),輸入接口應在SCK上升前tsu時(shí)段內將數據準備好,并在其后的tH時(shí)段內保持該數據。輸出數據時(shí),SO僅在SCK下降沿rv (80 ns)時(shí)間后有信號輸出,并在下一個(gè)時(shí)鐘下降沿到來(lái)時(shí)消失(tHo=0),接口電路應在有效輸出時(shí)間內讀取數據。
51系列的單片機都具有至少一個(gè)全雙工串行接口,他支持4種工作方式,這里采用方式0,作為移位寄存器輸入輸出。其工作時(shí)序圖如圖3所示。
串行口以振蕩頻率的1/12波特率接收和發(fā)送數據,RXD為串行數據輸入輸出端,TXD為同步移位信號輸出端。
本系統采用AT89C55單片機芯片實(shí)現與AT45B041的接口,負責傳感器信號的采集、存儲與讀取及顯示,其硬件接口電路圖如圖4所示。
評論