新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > FLASH單片機(jī)在稅控器開(kāi)發(fā)中的應(yīng)用

FLASH單片機(jī)在稅控器開(kāi)發(fā)中的應(yīng)用

作者: 時(shí)間:2013-09-30 來(lái)源:網(wǎng)絡(luò) 收藏

AT45DBl61支持SPI系統(tǒng)工作方式,SPI的四種工作方式如圖3所示。

SPI四種工作方式的時(shí)序


其中支持SPI 0和SPI 3兩種方式的時(shí)序圖分別如圖4和圖5所示。

AT45DBl6l在PSI下的工作時(shí)序


對(duì)于不同的操作模式,即使在執(zhí)行相同的操作時(shí),其操作碼也可能不同。如讀存儲(chǔ)頁(yè)操作,SPI 0模式下的命令代碼為52H,而SPI 3模式下的命令代碼則為D2H。除讀狀態(tài)寄存器外,所有的命令格均示于圖6圖中的rr:代表保留位,建議清零。

AT45DBl6l讀寫(xiě)命令格式


操作時(shí),MCU首先向AT45DBl6l發(fā)送1個(gè)命令字節(jié),其后跟隨24位地址數(shù)據(jù)(前兩位為保留位,其后12位為頁(yè)地址選擇位,最后10位為頁(yè)內(nèi)開(kāi)始字節(jié)地址),最后根據(jù)不同的操作對(duì)SI執(zhí)行不同的處理。如寫(xiě)操作后面緊跟著待寫(xiě)入的數(shù)據(jù)(高位在前),那么,讀存儲(chǔ)頁(yè)就要延遲32個(gè)SCK時(shí)鐘周期以處理讀操作,讀緩沖區(qū)則需延遲8個(gè)SCK時(shí)鐘周期。讀狀態(tài)寄存器的時(shí)序(SPI 0)如圖7所示。

讀狀態(tài)寄存器的時(shí)序


讀狀態(tài)寄存器(SCK上升沿寫(xiě)入)時(shí),在寫(xiě)入命令字節(jié)(57H)后,如沒(méi)有地址數(shù)據(jù),那么,在其后的8個(gè)SCK周期就可以直接從SO讀取STATUS數(shù)據(jù),而且可以連續(xù)讀取,直到片選信號(hào)/CS置高為止。
基于AT45DBl61的存儲(chǔ)電路設(shè)計(jì)

◇系統(tǒng)硬件設(shè)計(jì)

圖8所示為AT45DB16l與W78E516B連接示意圖。雖然FLASH的工作電壓和MCU不同,但它們都不需要電平轉(zhuǎn)換,兩者仍能正常通訊,從而簡(jiǎn)化了電路設(shè)計(jì),節(jié)約了系統(tǒng)成本。由于WP接高電平,因而去掉了FLASH前256個(gè)字節(jié)的寫(xiě)保護(hù)功能,并且不會(huì)對(duì)系統(tǒng)的安全造成隱患,同時(shí)還節(jié)約了單片機(jī)的I/O口資源。為了保證對(duì)FLASH操作的可靠性,上電后,可對(duì)FLASH在操作前復(fù)位一次。AT45DB16l的RDY沒(méi)有占用單片機(jī)的I/O口,可在軟件處理中通過(guò)讀狀態(tài)寄存器的方法來(lái)確定FLASH內(nèi)部操作是否處于忙狀態(tài)。

AT45DB16l與MCU硬件連接圖


◇系統(tǒng)軟件設(shè)計(jì)

系統(tǒng)中包含智能卡的讀寫(xiě)、FLASH讀寫(xiě)和串口通訊處理操作,對(duì)于智能

卡讀寫(xiě)和串口通訊處理,由于和本文的側(cè)重點(diǎn)相關(guān)不大,就不再一一介紹了。FLASH的讀寫(xiě)操作主要包括讀緩沖區(qū)、讀存儲(chǔ)頁(yè)、讀狀態(tài)寄存器、寫(xiě)緩沖區(qū)和寫(xiě)存儲(chǔ)頁(yè)。下面以FLASH的讀寫(xiě)存儲(chǔ)頁(yè)的操作為例,簡(jiǎn)要介紹一下軟件處理流程。

FLASH單片機(jī)在稅控器開(kāi)發(fā)中的應(yīng)用


FLASH寫(xiě)數(shù)據(jù)過(guò)程都采用先寫(xiě)入緩沖區(qū),再?gòu)木彌_區(qū)寫(xiě)入存儲(chǔ)頁(yè)中方法,且數(shù)據(jù)都是以頁(yè)為單位,每次要寫(xiě)入528個(gè)字節(jié)。如果只修改頁(yè)中部分?jǐn)?shù)據(jù),而保留該頁(yè)其他數(shù)據(jù),那么,必須先把該頁(yè)數(shù)據(jù)拷貝到緩沖區(qū)中,然后調(diào)用寫(xiě)緩沖區(qū)操作,再把緩沖區(qū)的數(shù)據(jù)寫(xiě)入該存儲(chǔ)頁(yè)中。

結(jié)束語(yǔ)

AT45DBl61串行FLASH存儲(chǔ)芯片在中的實(shí)際應(yīng)用效果很好,而且編程也比較簡(jiǎn)單,與其它一些FLASH存儲(chǔ)芯片相比,AT45DB16的突出特點(diǎn)是電路簡(jiǎn)單,存儲(chǔ)容量大,占用系統(tǒng)資源少。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: FLASH單片機(jī) 稅控器

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉