基于STM32的税控器方案
随着金税工程的推广,税控市场将得到迅猛发展,税控器作为四大税控产品之一,其市场份额不容小觑,税控厂家需要为产品的性能、成本做多方面考量。之前各个厂家的税控器方案,可能因为成本的考虑选择了8位单片机,也有因为性能扩展的需要选择16位、32位MCU作为税控器主控芯片。今天,ST(意法半导体公司)延续了其之前基于STR7的税控器体系架构,并借鉴在STR9银税一体机方案中的经验,推出了一款采用STM32这一高性能、低成本芯片的税控器方案。
方案介绍
与以往方案(图1)对比,STM32方案(图2)结构简单,模块功能化,减少了外部数据总线的数量,有效减小制板面积,很好地保证了系统的可靠性及安全性。ST还提供详细的设计报告,无论是软件还是硬件的开发都大大缩短了厂家的开发时间。在正式生产时,ST可以提供方案中大部分芯片,避免了采购时可能出现供应商多、采购渠道混乱的情况,保障其产品快速推向市场。
开发工具推荐两家:IAR和KEIL(国内部分工程师可能习惯ADS,但ARM公司已不再对ADS软件进行维护更新,故无法支持新的IC,如STM32)。IAR的ISO/ANSI C/C++编译器能产生精简、快速的代码,并能支持扩展的嵌入式C++特性,包括模板和标准模板库(STL)。KEIL是用过51单片机的工程师都很熟悉的工具,被ARM公司收购之后,在IDE中可以直接使用ARM的工具链,具有强大的软件仿真功能,对于习惯用ADS的工程师来说,KEIL是个不错的选择,因为代码基本不需要修改,只需要在KEIL中重建工程即可实现平台的转换移植。
● 主控制芯片
ST的STM32系列32位闪存微控制器基于ARM Cortex-M3内核,这是一款专为嵌入式应用而开发的内核。STM32在Cortex-M3架构上进行了多项改进,包括提升性能的同时又提高了代码密度的Thumb-2指令集、大幅度提高的中断响应,而且所有新功能都同时具有优异的功耗水平,结构见图3。
相较于8位、16位单片机,ARM核的好处是低功耗、高性能,相同的软件在不同的核之间可以兼容。相较于ARM系列其他芯片,STM32运行速度更快,性能也得到很大提高,在核上设计了单周期乘法制定的硬件触发。在代码的密度上,比普通32位单片机省30%~45%;与16位单片机相比,代码空间可以节省50%;如果拿8位单片机作比较,代码空间可以节省70%左右。功耗方面,STM32工作在1MHz频率下为0.15mW,只有ARM7的一半,所以在相同的工作模式下面,STM32可以减少30%的功耗,内核电压是1.8V,芯片电压是3.3V,可以选择睡眠模式、待机模式,保证低功耗应用的要求。
系统的外围控制非常丰富: 最大256kB FLASH(相当于ARM7的450kB空间)、最大20kB RAM、2个I2C接口、2个SPI接口、3个智能IC卡接口(与UART复用)符合ISO7816协议、USB 2.0接口、80个快速I/O口、16通道的12位A/D转换器、7个定时器(包含一个RTC)、支持通过UART实现IAP功能、IC卡读写器。
STM32的3个UART口可以通过内部寄存器配置成智能卡模式,符合ISO7816-3标准所定义的异步协议。另外,方案中设计了硬件保护电路,随时监测电路状况,为系统提供完善的IC卡短路保护。
● USB通信
STM32的USB接口符合USB2.0全速设备的技术规范,软件设计遵循CDC(Communication Device Class)规范,虚拟成一个模拟串口与上位机通讯。使用时,无需改变上位机程序,只需要在第一次使用时安装虚拟串口驱动stmcdc.inf,之后联机时选择USB虚拟的串口号即可,并且可以与另一标准串口“同时”连接,不会造成通讯异常。
● 日历时钟
M41T83是一款提供出厂前校准的串行实时时钟(RTC)芯片(图4),包括一个400kHz的I2C接口、模拟校准、一个可编程的自动重载计数器/计时器和两个闹铃。它采用内建晶体的封装,提前校准精度大约为5ppm,利用一个一次性可编程(OTP)寄存器,可以在工厂测试期间微调片上32.768kHz振荡器的内部负载电容,确保这些产品每月计时精确度在12s内。另外,当电源电压VCC断开时,芯片会自动转接备用电源,备用电流低至450nA(典型值),还有一个内置电池监控器负责检查备用电源电压,当需要更换电池时发出提示信号。在电源恢复后产生200ms的复位信号,这个上电复位/低压检测功能可以为设计工程师节省一个独立的板上复位IC。ST还应不同客户应用的需要,提供M41T82的低价解决方案:去掉了看门狗、方波信号发生器和闹铃提醒功能,但是保留了400kHz I2C总线接口、模拟用户校准、电源切换高精度电压参考管、电池监控器、12字节的NVRAM和复位输出,并采用占位很小的8引脚SOIC低价封装。
● 电源管理
整个系统可以通过USB连接PC供电
- SN2005学习系统 数字语音室解决方案(05-19)
- 以可编程DSP架构应对TD-SCDMA以及TD-LTE带来的设计挑战 (02-14)
- ARM-μCLinux嵌入式系统启动引导的实现(07-26)
- 多核处理器架构及调试方案(03-28)
- 基于DSP的电源解决方案(06-13)
- 间歇性Bug最佳解决方案(09-24)