基于STM32的稅控器方案
M41T83是一款提供出廠前校準的串行實時時鐘(RTC)芯片(圖4),包括一個400kHz的I2C接口、模擬校準、一個可編程的自動重載計數(shù)器/計時器和兩個鬧鈴。它采用內(nèi)建晶體的封裝,提前校準精度大約為5ppm,利用一個一次性可編程(OTP)寄存器,可以在工廠測試期間微調(diào)片上32.768kHz振蕩器的內(nèi)部負載電容,確保這些產(chǎn)品每月計時精確度在12s內(nèi)。另外,當(dāng)電源電壓VCC斷開時,芯片會自動轉(zhuǎn)接備用電源,備用電流低至450nA(典型值),還有一個內(nèi)置電池監(jiān)控器負責(zé)檢查備用電源電壓,當(dāng)需要更換電池時發(fā)出提示信號。在電源恢復(fù)后產(chǎn)生200ms的復(fù)位信號,這個上電復(fù)位/低壓檢測功能可以為設(shè)計工程師節(jié)省一個獨立的板上復(fù)位IC。ST還應(yīng)不同客戶應(yīng)用的需要,提供M41T82的低價解決方案:去掉了看門狗、方波信號發(fā)生器和鬧鈴提醒功能,但是保留了400kHz I2C總線接口、模擬用戶校準、電源切換高精度電壓參考管、電池監(jiān)控器、12字節(jié)的NVRAM和復(fù)位輸出,并采用占位很小的8引腳SOIC低價封裝。
● 電源管理
整個系統(tǒng)可以通過USB連接PC供電或通過板上的插座外接電源供電。另外設(shè)計了專用的電壓檢測電路對外部供電進行監(jiān)控,并采用一個2.7V、3.3F的電容作為外部供電停止后的備用電源,保證當(dāng)前稅控流程的完整,防止操作中數(shù)據(jù)丟失,其保護時間可達15s。
● 數(shù)據(jù)存儲
FLASH M25P64通過SPI串行接口與MCU連接,大大簡化了系統(tǒng)設(shè)計,減少了封裝的引腳數(shù)量及總線干擾。FLASH采用優(yōu)質(zhì)的CMOS制造工藝,數(shù)據(jù)保存期限至少20年,每扇區(qū)擦寫次數(shù)保證10萬次,其中包括整體擦除和扇區(qū)擦除指令。它的數(shù)據(jù)傳輸時鐘頻率可達50MHz,數(shù)據(jù)讀取吞吐量最高50Mbps,并設(shè)計有深節(jié)能模式(power-down),僅消耗1mA電流,從而大幅度降低了系統(tǒng)功耗。在設(shè)計中,為了迎合不同用戶的需求,從2MB~16MB容量型號的芯片軟硬件完全兼容,其中軟件被分為兩層:底層API是以頁面和扇區(qū)為對象的讀寫和擦除操作;高層API是以整個統(tǒng)一存儲空間為對象的讀寫透明操作,完全無需顧及因為硬件的特殊性而產(chǎn)生的各種限制(如跨頁編程、跨扇區(qū)編程、在已經(jīng)有內(nèi)容的區(qū)域更新內(nèi)容、跨頁更新內(nèi)容、跨扇區(qū)更新內(nèi)容等等)。FLASH的寫操作流程見圖5。
● U盤讀寫
CH375是一個帶UART接口的USB總線通用接口芯片,內(nèi)部集成了PLL倍頻器、主從USB接口SIE、數(shù)據(jù)緩沖區(qū)、被動并行接口、異步串行接口、命令解釋器、控制傳輸?shù)膮f(xié)議處理器和通用的固件程序等;串行接口速度可達460800bps,利用其動態(tài)鏈接庫實現(xiàn)USB-HOST主機方式讀寫U盤。支持常用的FAT12、FAT16和FAT32文件系統(tǒng),支持U盤最大容量100GB。在讀寫操作中,不需要考慮文件系統(tǒng),只需要了解文件名、文件長度等基本資料。
● 軟件流程
STM32稅控器適用于PC開具稅控發(fā)票的場所,通過稅控IC卡的相互認證,可連接外部稅控打印機打印稅控防偽發(fā)票,存儲相關(guān)稅控數(shù)據(jù),并完成申報完稅及核查的所有稅控應(yīng)用。其軟硬件設(shè)計均通過國家電子計算機質(zhì)量監(jiān)督檢驗中心的稅控檢測,完全符合國家稅控標準。
結(jié)束語
本方案與其他廠家稅控器方案比較,在生產(chǎn)和研發(fā)成本大大降低的條件下,安全性、功耗和性能方面還有很大的提升。
參考文獻
1. STM32F103xx、M25P64、M41T83、CH375數(shù)據(jù)手冊
2. ST Tax Box Application Note
3.《GB 18240稅控收款機國家標準》
評論