XTAL1和XTAL2之间接5MHz的晶振,提供系统时钟。
3个捕获单元的引脚CAP1、CAP2、CAP3连接到霍尔元件的输出,转子的位置信号存储到捕获单元的缓冲器,经过计算可以得到转子转速。
A/D转换器的8位输入通道中,用了5个通道,输入量分别是直流母线电流Idc、电压Vdc以及电机三相电流Iu、Iv、Iw;另外3个通道经过电阻接地。
6路PWM输出接到逆变器六个开关器件的控制端,其中U+、V+、W+接上桥臂,U-、V-W-接下桥臂。这6路PWM信号控制着开关器件的开通与关断,从而决定了电流的流经路径。
TMS320F241的CAN模块引脚CANRX和CANTX通过光耦器件6N137连接到收发器82C250,而收发器82C250再通过两个引脚 CANH和CANL与CAN总线相连,从而实现了TMS320F241与CAN总线间的通讯。其通讯介质采用双绞线,如果通讯距离在40m之内,最高传输速率可达1Mbps。
4 TMS320F241的CAN编程
TMS320F241的CAN模块是FullCAN控制器,可以发送和接收标准帧(11位标识符)和扩展帧(29位标识符),它含有6个邮箱(Mailbox)以及15个不同的16位寄存器。这些寄存器分控制寄存器、状态寄存器、中断寄存器和本地接收屏蔽寄存器,它们映射到DSP的数据地址空间为0x7100h~0x710Fh。6个邮箱中有两个收件箱(编号为0和1)、两个发件箱(编号为4和5),还有两个邮箱(编号为2和3)可以根据需要设置为收件箱或发件箱。而每个邮箱又包含标识符、信息长度及远程帧发送请求、数据等三个部分,其中发送或接收的数据长度为8字节。6个邮箱占用地址空间为 0x7200h~0x722Fh。
要使TMS320F241芯片能够正确地收发信息,首先要初始化CAN模块。CAN总线上每个节点的位传输时间是可以编程的(通过设置波特率),但必须相同。当一个节点收到一幅帧时,接收器必须与发射器保持同步。邮箱初始化的步骤如下:
(1)禁用邮箱
CANMDER=00000000000000000000b
(2)设置改变数据请求
CANMCR=0000000100000000b(bit8CDR=1)
(3)改变邮箱的标识符、控制字和数据(只有发件箱才能改变数据)
(4)反回正常模式
CANMCR=00000000000000000000b
(5)启用邮箱(ME=1)
初始化CAN模块之后,再经过正确的配置,就能够收发数据信息了。
图3和图4分别是CAN模块发射和接收信息流程图。
通过以上介绍可以看出,TMS320F241是一种专用于电机控制且内嵌CAN模块的DSP芯片。用它可以方便地对混合动力汽车(HEV)的永磁无刷直流电机实现速度控制,同时利用其内嵌的CAN模块,可以通过CAN总线(协议规范CAN2.0)与混合动力汽车的整车控制单元(VCU)进行通讯。因而非常适用于混合的动力汽车永磁无刷直流电机控制系统。