图7 反电势过零点检测实验波形
图8为反电势监测部分的在PSoC Creator IDE中的原理图设计。PSoC Creator 是赛普拉斯半导体为PSoC3 芯片打造的开发环境。 PSoC Creator 提供了原理图开发界面,用户可以将片上的模块以原理图的方式进行互联。
图8 Creator中反电势过零点检测的原理图设计
BLDC的换相状态机
在图1中,三相六状态的无刷直流电机的换相过程通常由查表或者状态机来实现。在通常的MCU平台中,这部分的工作由软件来完成。而在CY8C3866AXI-040片内,换相逻辑切换是由硬件来来完成的。 这都归功于其内部数字系统中的UDB模块。
UDB模块的架构如图9所示:
图9 UDB模块的内部架构
一个UDB模块由2个小型的12C4 的PLD模块,一个时钟和状态控制单元,一个微型数据处理器(Datapath)组成。UDB模块可以动态配置成为计数器,SPI,UART, 查找表,PWM发生器等数字器件。而UDB模块相互之间可以互联成为更为复杂的数字系统。CY8C3866AXI-040片上有24个UDB模块。
图10为无刷电机换相状态的片内实现:
图10 Creator中换相状态控制的原理图设计
PWM_1 为UDB模块配置而成的8 位PWM发生器。Sector_1 为控制寄存器,控制字包含了无刷电机六个状态信息。LUT_1 为一个4*6的状态表。它的输入端为控制字和PWM输出,输出端为6路驱动信号。状态表中的配置如图11所示:
图11 LUT中换相真值表的配置
此表实现的功能就是根据控制字(即电机位置扇区信息),将PWM调制信号按调制模式分配到6个驱动管脚上上。 这个功能减少了CPU的开销。特别地,如改变电机的PWM调制模式,举个例子,将单管PWM模式改为双管PWM模式,那么只要改变这个状态表的配置就可以了。