大多数智能电池都要用到微控制器(MCU)。MCU的体系结构不但会影响电池本身的性能,甚至会间接影响到电池供电的设备。因此,设计人员在选择MCU时不能掉以轻心,必须要考虑到多方面的因素,像价格、处理速度、代码兼容性、可移植性,以及是否有实用的应用资料、在相关产品中的应用情况、开发环境的多寡都是决策时的重要依据。
程序存储器的类型——如ROM,EpROM(可擦除可编程只读存储器)和Flash——也是要考虑的一个因素。对于某一类应用,各种存储器都有其优点和不足。显然,如果一个微控制器厂商的产品品种比较全,包含了各种类型的存储器,那么在选用其器件时的余地就很大,可以最大程度地满足具体项目的需要。
有些电池的充电算法和控制程序一旦确定就不会轻易改变,这种电池适合使用带ROM(只读存储器)的MCU。ROM的内容是由器件厂商在生产过程中用掩膜的方式编程的,根据订货周期和制造成本的不同,掩膜的工艺会有一些差别。通常,源程序送交器件厂商后4到6周即可拿到样片,正式产品的订货周期为6到12周,而且有最小批量的要求(10~20千只)。ROM的制作工艺复杂度最低,硅片处理费用也是最低的。由于掩膜后芯片内容不能更改,所以这种方式制成的芯片只能供特定的用户、特定的产品使用。这种技术非常适合那些技术成熟、生产周期长、更新换代慢、不需要任何改进的产品。
很多时候,电池供电产品本身需要不断改进,而且要适应不同电池厂商的电池,为了提高设计的灵活性,比如经常调整充电算法,就需要使用能够自行编程的MCU微控制器,OTp(一次性可编程)技术和Flash技术应运而生。
OTp类型的MCU使用起来比较灵活,既可以由MCU厂商掩膜生产,也可以在产品装配时逐个编程,即使器件已经装配到电路板上,也可以对其编程。由于OTpMCU是标准产品,因此订货批量方面也比较灵活。OTp技术非常适合用于市场变化快、开发周期短、更新换代迅速、产品市场寿命短并且不需要大规模改动的产品。OTpMCU采用业界标准的在线编程(in-circuitprogramming,ICp)技术,对程序的改动可以存放在EpROM空闲的存储单元中,这为可编程应用产品增加了适应性。
Flash类型的MCU可以多次编程,使用时更加灵活,升级换代时也更加方便。一个系统产品运行一段足够长的时间后(通常不短于3年),维护就会成为很重要的问题。在进行局部改进前应该全面考虑各种因素,比如要开发改进程序、设计更多的接口、防止编程失败时系统崩溃以及更新过程中的容错/纠错等等。智能电池常常要调整内部MCU的充电算法和剩余容量测量算法,因此Flash技术适用于SMBus(SmartBatteryBus,智能电池总线)这样的应用。
Flash存储器的编程时间比较长(通常10ms,EpROM为10μs),会影响大批量生产的速度。为了获得与OTp器件相当的生产率,生产商必须大大提升编程工序的效率。另外,Flash存储器虽然在可多次编程方面优于OTp存储器,但是,实现系统级MCU存储器读写会增加产品的复杂度,因此到目前为止,并没有多少产品用到Flash存储器的现场更新功能。使用这种功能的产品必须要能适应更新过程中可能发生的各种情况,比如调制解调器信道中断,或者电源在擦除操作前/后中断等等。采用Flash技术的产品在进行更新时,通常需要厂家指派现场工程师来配合,以解决各种可能出现的问题。在构思现场可编程设计方案时应该知道,出众的CpU性能对于MCU的应用灵活性是至关重要的。业界有一种观点,认为微控制器中的CpU只是用于控制外围电路完成控制功能,于是将微控制器硅片的大部分面积都设计成外围模块,CpU性能则较低。另外一些微控制器的技术路线正好相反,将设计重点放在了CpU性能上,利用空闲的I/O引脚和程序存储器实现软件模拟功能,可以用软件来模拟诸如UART、pWM发生器等外围电路,增加功能的同时并没有增加成本。
假如要对已经安装在电路板上的OTp器件或Flash器件进行编程操作,那么在线串行编程(In-CircuitSerialprogramming,ICSp)技术是非常理想的选择。有了ICSp技术,产品在装配前不再必须经过编程过程,可以加快生产速度。
要让用户发挥现场编程器件的灵活性,必要的一点就是提供通用的、多种语言版本的开发工具。如果用户总是要花费很多时间去熟悉同一种器件的不同版本的开发工具,那么用户的应用水平就难以很快提高。
用同样数目的引脚提供更大的内存空间,这是一项很好的功能。近几年来,用户对于程序存储器和数据存储器容量的需求在迅速扩大,不过很多MCU系列并没有推出改进型产品。这里再次提醒读者,应该选择那些能提供多种程序存储器类型和大小的生产商。
设计智能电池时,除了要注意选择恰当的MCU存储器之外,还要认真考虑集成的外围电路。目前有不少微控制器厂商都在MCU内集成了成熟的模拟电路,例如pIC16C774型MCU就带有1个12位模数转换器、1个可编程节电复位器、1个可编程电源电压监测器和1个电压基准。采用这些功能完善的芯片,可以在显著提高产品综合性能的同时,减少器件数目,缩小电路板尺寸,降低产品综合成本。除了那些带有模拟电路的器件外,还有些模拟集成电路可以独立实现某种充电算法,只需要改变外接电阻的大小就可以调整充电参数。当然,采用类似MCU内核的专用电池充电芯片也已经出现,不过这种芯片不能由用户编程。
智能电池的设计者在选择MCU的存储器类型时要考虑多方面的因素,因为ROM、OTp和Flash三种技术各有其优点和不足。有经验的设计者会选择那些能够提供多种存储器类型的厂商,为产品选出最恰当的MCU。