1 引言 稅控設備是國家稅務部門實施稅收管理信息化的必然手段之一,稅控器作為稅控設備之一,它是在計算機等電子設備的配合下實現稅控功能的電子裝置,能保證數據的正確生成、可靠存儲和安全傳輸,同時能滿足稅務機關的管理和數據核查等要求。它內部裝有自動記錄,但不能更改和抹掉計稅存儲器,由于系統記錄著每日的營業數據和應納稅額,因此可作為向稅務機關納稅的憑據。這就決定了稅控器中必然要包含可靠的存儲芯片。事實上,在眾多型號的存儲芯片中,AT45DBl6l芯片則更加適合在稅控器中的應用。 2 稅控器的總體概述 稅控器的總體概述稅控器平臺應具有實時時鐘和記錄稅控數據的大容量存儲器、符合ISO 7816標準的IC卡讀寫器,以及支持稅控卡、用戶卡和稅務管理卡。要能通過USB或串口與主機通信,同時要具有在掉電后可保存存儲器數據和時鐘運行的備份電池。其內部硬件系統結構見圖1所示。 3 FLASH存儲芯片 FLASH存儲芯片AT45DBl61是Atmel公司推出的大容量串行Flash存儲器,采用串行外圍接口SPI系統;同時具有體積小、容量大、功耗低和硬件接口簡單等特點,非常易于構成微型低功耗的測量系統。最大時鐘頻率可達到20MHz,它支持頁和塊(1塊=8頁)擦除功能。存儲器有4 096頁,每頁528B容量,并有兩個528B的緩沖區,共2MB存儲空間。 3.1 AT45DBl61的引腳功能 AT45DBl61具有28腳TSOP、28腳SOIC和24針CBGA等封裝形式。圖2所示是其引腳排列。各引腳的主要功能如表1所列。 3.2 操作模式 AT45DBl61的操作碼有26條,按操作對象的不同可以分為與頁相關操作和與頁無關操作;與頁相關操作包括:讀主存頁、主存頁數據拷貝到緩沖區、主存頁與緩沖區數據比較、緩沖區數據寫入主存頁、頁擦除、塊擦除、頁編程和頁重寫等;與頁無關操作則包括:讀緩沖區、寫緩沖區和讀狀態寄存器。其中緩沖區數據寫入主存頁的操作中又包括寫前擦除和邊寫邊擦,具體應用要依據實際情況來定:如果寫數據前已確保該頁被擦除(數據全是0xFF),則可使用寫前擦除操作來減少操作時間,以提高系統的速度;而如果不能保證該頁已經被擦除,為保險起見,建議使用邊寫邊擦操作來提高系統的可靠性。 AT45DBl61支持SPI系統工作方式,SPI的四種工作方式如圖3所示。 其中支持SPI 0和SPI 3兩種方式的時序圖分別如圖4和圖5所示。 對于不同的操作模式,即使在執行相同的操作時,其操作碼也可能不同。如讀存儲頁操作,SPI 0模式下的命令代碼為52H,而SPI 3模式下的命令代碼則為D2H。除讀狀態寄存器外,所有的命令格均示于圖6圖中的rr:代表保留位,建議清零。 操作時,MCU首先向AT45DBl6l發送1個命令字節,其后跟隨24位地址數據(前兩位為保留位,其后12位為頁地址選擇位,最后10位為頁內開始字節地址),最后根據不同的操作對SI執行不同的處理。如寫操作后面緊跟著待寫入的數據(高位在前),那么,讀存儲頁就要延遲32個SCK時鐘周期以處理讀操作,讀緩沖區則需延遲8個SCK時鐘周期。讀狀態寄存器的時序(SPI 0)如圖7所示。 讀狀態寄存器(SCK上升沿寫入)時,在寫入命令字節(57H)后,如沒有地址數據,那么,在其后的8個SCK周期就可以直接從SO讀取STATUS數據,而且可以連續讀取,直到片選信號/CS置高為止。 4 基于AT45DBl61稅控器的存儲電路設計 4.1 系統硬件設計 圖8所示為AT45DB16l與W78E516B連接示意圖。雖然FLASH的工作電壓和MCU不同,但它們都不需要電平轉換,兩者仍能正常通訊,從而簡化了電路設計,節約了系統成本。由于WP接高電平,因而去掉了FLASH前256個字節的寫保護功能,并且不會對系統的安全造成隱患,同時還節約了單片機的I/O口資源。為了保證對FLASH操作的可靠性,上電后,可對FLASH在操作前復位一次。AT45DB16l的RDY沒有占用單片機的I/O口,可在軟件處理中通過讀狀態寄存器的方法來確定FLASH內部操作是否處于忙狀態。 4.2 系統軟件設計 系統中包含智能卡的讀寫、FLASH讀寫和串口通訊處理操作,對于智能卡讀寫和串口通訊處理,由于和本文的側重點相關不大,就不再一一介紹了。FLASH的讀寫操作主要包括讀緩沖區、讀存儲頁、讀狀態寄存器、寫緩沖區和寫存儲頁。下面以FLASH的讀寫存儲頁的操作為例,簡要介紹一下軟件處理流程。 FLASH寫數據過程都采用先寫入緩沖區,再從緩沖區寫入存儲頁中方法,且數據都是以頁為單位,每次要寫入528個字節。如果只修改頁中部分數據,而保留該頁其他數據,那么,必須先把該頁數據拷貝到緩沖區中,然后調用寫緩沖區操作,再把緩沖區的數據寫入該存儲頁中。 5 結束語 AT45DBl61串行FLASH存儲芯片在稅控器中的實際應用效果很好,而且編程也比較簡單,與其它一些FLASH存儲芯片相比,AT45DB16的突出特點是電路簡單,存儲容量大,占用系統資源少。 |