电动车作为一种新型的代步工具,已经实实在在地被人民群众所接受。尤其是在当前油价飞涨、摩托车牌照发放受限,汽车的梦想可望而不可即的情况下,电动车越来越受到老百姓的青睐。在中国这样一个“自行车王国”,电动车的市场空间是值得期待的。业内人士预测,未来几年内,电动车的容量几乎相当于自行车的市场容量,全国4.5亿辆自行车用户中至少有3亿的用户将成为电动车的用户。随着电动车市场趋向成熟,无刷电机电动车逐渐占据了80%以上的市场份额,无刷电机控制器也在不断的技术进步中被广大用户所喜爱,并且将会不断地推陈出新,以丰富的功能来适应市场的变化。
PSoC微处理器是美国赛普拉斯半导体公司推出的一种现场可编程片上系统。片内备有通用模拟和数字模块,用户可根据开发需要,随意调用模块,实现混合信号阵列的动态配置。文中以CY8C24423为例,介绍PSoC在电动车无刷电机控制器上的应用,它将对电压电流信号的放大、处理、模数转换功能,以及PWM信号输出功能全部集成到微处理器的内部完成,减少了芯片的外围器件,提高了系统整体的集成性能和可靠性。
可编程片上系统
由美国赛普拉斯半导体公司倡导并推出的xx基于通用IP模块,由可编程选择来构成产品SoC的设想,并把单片机的发展从MCU推动到SoC的新阶段。这种可编程的SoC取名为可编程片上系统(PSoC),由基本的CPU内核和预设外围器件组成,就是在一个专有MCU内和周围集成了PSoC模块(可配置的模拟和数字外围器件阵列),利用芯片内部可编程互联阵列,可以有效地配置芯片的模拟和数字电路资源,达到可编程片上系统的目的。
与传统的MCU相较,从根本意义上讲PSoC系列是一种微控制器,而且是一种可编程片上系统微控制器,它的出现使设计者逐步摆脱了板级电子系统设计方法层次而进入芯片级电子系统设计,减少了单片机的品种和规格,同时更有利于新品开发和升级换代。与同种价位的普通单片机比较,其丰富的内部资源、新颖的设计界面、灵活的设计方式、简单的编程技巧都使其极具特点。PSoCxx不同于以往的传统的微处理器。PSoC开发者不需要自己构建ADC、DAC和其它外围设备,可以通过PSoC的配置性进行资源调配,而且PSoC为控制器成功的引入动态可重新配置功能,真正实现在线可编程,由此可见,一个PSoC微控制器就能代替多种类型的单片机。
PSoC的内部框图结构及资源
赛普拉斯CY8C21×××~29×××系列的内部结构如图1所示。其资源包括:
图1:CY8C24423内部系统资源框图
1. 处理器内核
PSoC微处理器CY8C21×××~29×××系列器件使用强大的8位哈佛结构处理器内核(M8C CPU),它具有独立的程序存储器和数据存储器总线,处理器速度可达24MHz。拥有丰富的M8C架构指令,并可进行I/O和内存上的操作。此外系统提供便捷的寻址方式。
CPU内核具有完善的快速乘加能力,PSoC系列所有处理器中都有一个乘法器/加法器(MAC)。MAC系统中作为一个独立的组件,并映射到特定的寄存器地址空间,由输入寄存器和输出寄存器,能执行带符号的8×8乘法运算和32位的加法运算。只要把数据传送到输入寄存器在下一个指令周期,在输出寄存器就能得到运算结果。寄存器加速内存数据交换,大大提高了处理数据的速度。
2. 内存储器
PSoC系列器件拥有灵活的片内存储器,包括4~16KB的快速程序存储器(Flash Program Memory)以及256字节的片内SRAM数据存储器,速内存可擦写100,000次,并可分块实时修改,不同的型号芯片闪存的容量不同。此外,系统具有串行编程功能(ISSP),即在程序头(Programme Pod)或者用户板上的闪存可通过串行的方式,把程序固化到内部程序闪存存储器中。PSoC对片内存储器提供多种保护加密方式。以保证用户敏感信息的安全。这个功能允许用户有选择性的对内存模块的读写操作加锁和写操作保护。这允许对部分代码进行升级,而不会泄漏重要数据。
3. PSoC模块
在每一个PSoC芯片中共有若干个PSoC数字模块。PSoC片内的数字模块减少了多种微控制器类型和外设元件的需求。数字PSoC模块可以配置成各种各样的用户模块,比如时间定时器、实时时钟、脉宽调制(PWM)和死区脉宽调制(DB PWM)、循环冗余核对模块、全双工(UARTS)、串行主从通信(SPI)功能。PSoC软件开发包提供了PSoC模块自动配置,用户只需简单地选择需要功能块,PSoC软件开发包就能产生正确的配制信息和器件数据手册。
在每一个PSoC芯片中还有若干个模拟PSoC模块,芯片内的模拟PSoC模块可以减少CPU复杂的系列编号以及对外设的需求。模拟PSoC模块可以配置许多外设功能,譬如12个PSoC模块可以提供11位△-∑模数转换、8位逐次逼近式模数转换、8位直接模数转换、12增量式模数转换、可编程增益放大器、采样和保持功能、可编程滤波器、差分比较器和片内温度等。PSoC系统包含三种类型的模拟模块:连续时钟模块(CT),A类和B类开关电容(SC)模块。
4. 通用I/O
PSoC微控制器的通用I/O数量从6到44位不等,具体根据不同型号来确定。每个I/O功能可编程选择。在输出模式中可选择输出驱动方式,模拟输出驱动可达40mA。通过内部上拉或者下拉电阻输出,强输出,可设置输出{zd0}的驱动电流达25mA。所有引脚都能作为中断,通过引脚信号变化产生中断。并可选择位上升沿触发终端、下降沿触发。引脚能与模拟模块相连。此外,还有用作斯密特触发器的TTL、I/O。
5. 振荡器
PSoC系列器件有多种振荡器可供选择,总能为CPU时钟、模拟PSoC模块和数字PSoC模块的时钟,找到合适的振荡器。主要有内部达到24/48MHz的主振荡器、一个32.768MHz外部晶体振荡器和内部低速振荡器。主振荡器误差为±2.5%,且没有外部补偿,外部晶体振荡器可对PLL选定精度,内部低速振荡器一般作为PSoC模块和看门狗/睡眠定时器的时钟。可使用时钟分频器,从而优化代码执行速度和减少功耗。
6. 专用外设
PSoC系列器件还提供一些专用外设,包括看门狗/睡眠模式时钟(Watchdog/Sleep Timer)、可设定电压阀值的低电压检测(LVD/POR)、中断控制器、采样抽取器(Decimator)、片内温度和片内电压参考等。
7. 静态COMS器件
PSoC微处理器系列运用了先进Flash工艺的全静态CMOS器件,实现高度低电压功能。通常电压保持在3.0到5.5V DC,使用片内开关式电压汞可使工作电压降低到1.0V DC,工作于-40℃~+85℃。
电动车无刷控制器系统
由CY8C24423构成的电动车无刷控制器系统原理框图如图2所示。
图2:电动车无刷控制器系统原理框图
要让图中所示的电机转动起来,首先控制部就必须根据电机霍尔感应到的电机转子目前所在位置,然后决定开启(或关闭)MOSFET的顺序,如上图中之A上、B上、C上(这些称为上桥功率晶体管)及A下、B下、C下(这些称为下桥功率晶体管),使电流依序流经电机绕组线圈产生顺向(或逆向)旋转磁场,并与转子的磁铁相互作用,如此就能使电机顺时/逆时转动。当电机转子转动到霍尔感应出另一组信号的位置时,控制器又再开启下一组MOSFET,如此循环电机就可以按同一方向继续转动,直到控制器决定要电机转子停止,此时则关闭MOSFET,要电机转子反向则MOSFET开启顺序相反。
一个最基本的电动车用无刷电机控制器所需要实现的功能包括除了转把调速外,还应该包括欠压保护,过流保护,刹车断电等。另外近年来还有一些实用且流行的功能如定速巡航、ABS刹车再生制动、1:1助力等等。从上面的原理框图可以很清楚地看出,整个系统只用了一个PSoC芯片便实现了上述的所有控制功能。图3为本文设计的无刷控制器半成品实物图。
图3:电动车无刷电机控制器半成品实物外形图
除了上述功能外,本系统借助PSoC芯片强大而灵活的配置资源,还具有普通控制器所不具备的以下优点:
1. 超静音:启动及全程行驶过程中噪声极低,大大超越了传统的无刷控制器,减小电机振动,大大延长电机的寿命;
2. 低发热:采用国际先进的同步整流技术,大幅度降低控制器的热损耗,提高了整车的能量使用效率,延长了续驶里程;
3. 多重限流保护:既做到平均值限流,又做到峰值限流。峰值限流在每个PWM周期中都对电流波形进行检测,防止超过MOSFET的{zd0}允许电流,在任何情况下不会烧毁;
4. 平均值:限流使控制器能够在各种不同的电机上保持相同的限流值,而且轻、重负载,甚至堵转情况下限流值都不变。这样大大便于生产调试和整车厂检验;
5. 防飞车功能:解决了无刷控制器由于转把或线路故障引起的飞车现象,提高了系统的安全性;
6. 堵转保护功能:电机堵转3秒以上控制器自动保护,防止烧毁电机;
7. 短路保护功能:电机三根相线输出端任意两端短路或三端全短路,控制器不会烧毁。
以上功能均不增加硬件成本,采用PSoC可编程片上系将外围器件减到最少,大部分功能由芯片内部来完成,大大降低了硬件成本,并且减少了故障点。本系统中所用SoC芯片引脚及功能如图4所示。
图4 CY8C24423在本系统中的引脚定义说明图
而芯片内部模块结构如图5所示。
图5:本系统所用PSoC内部模块说明图
由图5可以看出,本系统共采用了7种类型的PSoC内部模块,其中模拟模块包括AD转换器ADCINC_1、可编程放大器PGA_1、比较器CMPPRG_1、四路模拟开关AMUX4_1、数模转换器DAC6_1。数字模块包括AD转换器ADCINC_1、8位带死区的PWM模块PWMDB8_1、8位定时器模块Timer8_1。这样很好地利用了CY8C24423的内部资源,也节省了很多原本要在芯片外部使用的外设芯片。
本系统的控制软件流程如图6所示。
图6:控制软件基本流程
由于PSoC的开发系统PSoC Designer支持C语言编程,配有功能强大的C语言编译器,所以主程序采用C语言编写,这样简单、直观、可移植性好。
本文小结
通过本文介绍的电动车无刷电机控制器系统,可以略略窥见PSoC芯片的强大的可配置功能,在芯片内部配置连接就好像在设计一款新的芯片一样。整个系统用的元器件极少,比其他的无刷控制器方案具有巨大的成本优势。
PSoC方便、快捷的设计界面,面向对象的设计开发系统,混合信号阵列的模块化及动态可配置功能使其在嵌入式系统应用中拥有更为灵活的设计方式,使设计人员能够随意创建新的系统功能。利用PSoC可以快速、便捷地完成相应程序的开发工作,缩短产品的研发周期,降低开发成本和生产成本。通过片上系统的可编程混合信号阵列的集成应用及动态配置,极大提高了工作效率,使开发成本降低了1/2、PCB的板级空间缩减了l/3、生产成本降低了1/5