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