基于STM32的稅控器方案
隨著(zhù)金稅工程的推廣,稅控市場(chǎng)將得到迅猛發(fā)展,稅控器作為四大稅控產(chǎn)品之一,其市場(chǎng)份額不容小覷,稅控廠(chǎng)家需要為產(chǎn)品的性能、成本做多方面考量。之前各個(gè)廠(chǎng)家的稅控器方案,可能因為成本的考慮選擇了8位單片機,也有因為性能擴展的需要選擇16位、32位MCU作為稅控器主控芯片。今天,ST(意法半導體公司)延續了其之前基于STR7的稅控器體系架構,并借鑒在STR9銀稅一體機方案中的經(jīng)驗,推出了一款采用STM32這一高性能、低成本芯片的稅控器方案。
方案介紹
與以往方案(圖1)對比,STM32方案(圖2)結構簡(jiǎn)單,模塊功能化,減少了外部數據總線(xiàn)的數量,有效減小制板面積,很好地保證了系統的可靠性及安全性。ST還提供詳細的設計報告,無(wú)論是軟件還是硬件的開(kāi)發(fā)都大大縮短了廠(chǎng)家的開(kāi)發(fā)時(shí)間。在正式生產(chǎn)時(shí),ST可以提供方案中大部分芯片,避免了采購時(shí)可能出現供應商多、采購渠道混亂的情況,保障其產(chǎn)品快速推向市場(chǎng)。
● 開(kāi)發(fā)工具
開(kāi)發(fā)工具推薦兩家:IAR和KEIL(國內部分工程師可能習慣ADS,但ARM公司已不再對ADS軟件進(jìn)行維護更新,故無(wú)法支持新的IC,如STM32)。IAR的ISO/ANSI C/C++編譯器能產(chǎn)生精簡(jiǎn)、快速的代碼,并能支持擴展的嵌入式C++特性,包括模板和標準模板庫(STL)。KEIL是用過(guò)51單片機的工程師都很熟悉的工具,被ARM公司收購之后,在IDE中可以直接使用ARM的工具鏈,具有強大的軟件仿真功能,對于習慣用ADS的工程師來(lái)說(shuō),KEIL是個(gè)不錯的選擇,因為代碼基本不需要修改,只需要在KEIL中重建工程即可實(shí)現平臺的轉換移植。
● 主控制芯片
ST的STM32系列32位閃存微控制器基于ARM Cortex-M3內核,這是一款專(zhuān)為嵌入式應用而開(kāi)發(fā)的內核。STM32在Cortex-M3架構上進(jìn)行了多項改進(jìn),包括提升性能的同時(shí)又提高了代碼密度的Thumb-2指令集、大幅度提高的中斷響應,而且所有新功能都同時(shí)具有優(yōu)異的功耗水平,結構見(jiàn)圖3。
相較于8位、16位單片機,ARM核的好處是低功耗、高性能,相同的軟件在不同的核之間可以兼容。相較于A(yíng)RM系列其他芯片,STM32運行速度更快,性能也得到很大提高,在核上設計了單周期乘法制定的硬件觸發(fā)。在代碼的密度上,比普通32位單片機省30%~45%;與16位單片機相比,代碼空間可以節省50%;如果拿8位單片機作比較,代碼空間可以節省70%左右。功耗方面,STM32工作在1MHz頻率下為0.15mW,只有ARM7的一半,所以在相同的工作模式下面,STM32可以減少30%的功耗,內核電壓是1.8V,芯片電壓是3.3V,可以選擇睡眠模式、待機模式,保證低功耗應用的要求。
系統的外圍控制非常豐富: 最大256kB FLASH(相當于A(yíng)RM7的450kB空間)、最大20kB RAM、2個(gè)I2C接口、2個(gè)SPI接口、3個(gè)智能IC卡接口(與UART復用)符合ISO7816協(xié)議、USB 2.0接口、80個(gè)快速I(mǎi)/O口、16通道的12位A/D轉換器、7個(gè)定時(shí)器(包含一個(gè)RTC)、支持通過(guò)UART實(shí)現IAP功能、IC卡讀寫(xiě)器。
STM32的3個(gè)UART口可以通過(guò)內部寄存器配置成智能卡模式,符合ISO7816-3標準所定義的異步協(xié)議。另外,方案中設計了硬件保護電路,隨時(shí)監測電路狀況,為系統提供完善的IC卡短路保護。
● USB通信
STM32的USB接口符合USB2.0全速設備的技術(shù)規范,軟件設計遵循CDC(Communication Device Class)規范,虛擬成一個(gè)模擬串口與上位機通訊。使用時(shí),無(wú)需改變上位機程序,只需要在第一次使用時(shí)安裝虛擬串口驅動(dòng)stmcdc.inf,之后聯(lián)機時(shí)選擇USB虛擬的串口號即可,并且可以與另一標準串口“同時(shí)”連接,不會(huì )造成通訊異常。
● 日歷時(shí)鐘
評論