新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > FLASH單片機在稅控器開發中的應用

        FLASH單片機在稅控器開發中的應用

        作者: 時間:2013-09-30 來源:網絡 收藏

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

        SPI四種工作方式的時序


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

        AT45DBl6l在PSI下的工作時序


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

        AT45DBl6l讀寫命令格式


        操作時,MCU首先向AT45DBl6l發送1個命令字節,其后跟隨24位地址數據(前兩位為保留位,其后12位為頁地址選擇位,最后10位為頁內開始字節地址),最后根據不同的操作對SI執行不同的處理。如寫操作后面緊跟著待寫入的數據(高位在前),那么,讀存儲頁就要延遲32個SCK時鐘周期以處理讀操作,讀緩沖區則需延遲8個SCK時鐘周期。讀狀態寄存器的時序(SPI 0)如圖7所示。

        讀狀態寄存器的時序


        讀狀態寄存器(SCK上升沿寫入)時,在寫入命令字節(57H)后,如沒有地址數據,那么,在其后的8個SCK周期就可以直接從SO讀取STATUS數據,而且可以連續讀取,直到片選信號/CS置高為止。
        基于AT45DBl61的存儲電路設計

        ◇系統硬件設計

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

        AT45DB16l與MCU硬件連接圖


        ◇系統軟件設計

        系統中包含智能卡的讀寫、FLASH讀寫和串口通訊處理操作,對于智能

        卡讀寫和串口通訊處理,由于和本文的側重點相關不大,就不再一一介紹了。FLASH的讀寫操作主要包括讀緩沖區、讀存儲頁、讀狀態寄存器、寫緩沖區和寫存儲頁。下面以FLASH的讀寫存儲頁的操作為例,簡要介紹一下軟件處理流程。

        FLASH單片機在稅控器開發中的應用


        FLASH寫數據過程都采用先寫入緩沖區,再從緩沖區寫入存儲頁中方法,且數據都是以頁為單位,每次要寫入528個字節。如果只修改頁中部分數據,而保留該頁其他數據,那么,必須先把該頁數據拷貝到緩沖區中,然后調用寫緩沖區操作,再把緩沖區的數據寫入該存儲頁中。

        結束語

        AT45DBl61串行FLASH存儲芯片在中的實際應用效果很好,而且編程也比較簡單,與其它一些FLASH存儲芯片相比,AT45DB16的突出特點是電路簡單,存儲容量大,占用系統資源少。


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 汨罗市| 扎赉特旗| 湘潭县| 巫山县| 唐海县| 行唐县| 海南省| 巴彦淖尔市| 五台县| 三河市| 翁牛特旗| 徐汇区| 和政县| 永城市| 集安市| 阿拉善右旗| 嵊州市| 陵水| 青海省| 武功县| 荆门市| 珲春市| 敦化市| 新竹县| 合山市| 武安市| 古浪县| 庐江县| 清水县| 莒南县| 北京市| 永康市| 鄯善县| 金华市| 十堰市| 习水县| 凤庆县| 青海省| 康保县| 循化| 福州市|