CAN总线在混和动力汽车电机控制系统中的应用
扫描二维码
随时随地手机看文章
摘要:CAN总线的主要功能与特点、CAN控制器以及CAN总线在混和动力汽车电机控制系统中的应用;CAN总线与电机控制芯片TMS320F241的接口设计、帧结构以及通信中断服务程序流程图等。
关键词:CAN总线 混和动力汽车 电动机 控制系统
CAN(Controller Area Network)总线即控制器局域网络,是一种有效支持分布式控制或实时控制的串行通信网络,属于现场总线的范畴。德国Bosch公司在二十世纪80年代初将其研究成功,最初主要用于汽车内部检测以及控制系统的数据通信。CAN总线通信协议是在充分考虑工业现场环境的背景下制订的,它采用了国际标准化组织 ISO制订的开放系统互连(ISO-OSI)模型中的三层,即物理层、数据层和应用层,是OSI的一种简化网络结构。CAN总线规范已被国际标准化组织制订为国际标准ISO11898,并得到Motorola、Intel、Philips等著名半导体器件生产厂家的支持,进而迅速推出了各种集成有CAN协议的产品。目前,CAN总线主要用于汽车自动化领域,如应用于发动机的自动点火、注油、复杂的加速刹车控制、抗锁定刹车系统和抗滑系统等。随着人们对环境保护的日益重视,混和动力汽车(Hybrid Electrical Vehicle,HEV)及电动汽车(Electrical Vehicle,EV)的研究发展很快,由于这两种汽车都使用电机驱动系统,因此电机控制系统与CAN总线的通信是一项重要课题。本文主要探讨CAN总线在电机控制系统中的应用。
1 CAN总线的功能与特点
(1)采用面向数据块的通信方式,信号传输使用短帧结构,每帧数据量为8个字节。若通信距离在40m内,数据传输速率可达1Mbps。
(2)可实现多主工作方式,数据收发方式灵活。可实现点对点、一点对多点、全局广播等几种传输方式。
(3)CAN总线采用非破坏性的基于优先权竞争的总线仲裁方式。
(4)CAN具有CRC校验及其它检验措施,并具有错误识别及自动重发功能。
(5)通讯介质可以是双绞线、同轴电缆或光纤。
(6)接口简单、编程方便,容易构成用户系统。
总之,CAN总线具有实时性强、可靠性高、抗干扰能力强、结构简单、操作性好、价格低廉等优点,是公认的最有前途的现场总线之一。
2 CAN控制器
TMS320F241是美国TI公司TMS320系列定点数字信号处理器产品之一,专为数字电机控制而设计,其指令执行速度是20MIPS,几乎所有指令都可以在一个50ns的单周期内执行完毕。同时TMS320F241芯片内嵌了CAN模块,因此该芯片是设计基于CAN总线的数字式电机控制系统的优选芯片。TMS320F241的CAN模块是FullCAN控制器,包括报文处理器(负责接收和发送管理以及帧存储),需要的CPU开销比 BasicCAN控制器少,并且适应技术规范CAN2.0B,因此可以发送和接收标准帧(11-bit标识符)和扩展帧(29-bit标识符)。同时,CAN模式包括6个信箱(Mailbox)以及15个不同的16-bit寄存器,这些寄存器分别是控制寄存器、状态寄存器、中断寄存器和接收屏蔽寄存器。
3 CAN总线在HEV电机控制系统中的应用
3.1 硬件设计
TMS320F241 芯片与CAN总线接口的总线收发器采用Philips公司的PCA82C250芯片。82C250可以提供对CAN总线的差动发送能力及对CAN控制器的差动接收能力。通信介质采用双绞线,信号差动发送和差动接收的最高通信速率可达1Mbps。为了增强抗干扰能力,在TMS320F241与82C250之间采用高速光耦6N137进行隔离。
TMS320F241与CAN总线的接口电路如图1所示。
3.2 帧结构
电机控制单元(MCU)与整车控制单元(VCU)之间的报文传送由两种类型的帧表示和控制:数据帧携带数据由发送器到接收器;远程帧通过总线单元发送,以请求发送具有相同标识符的数据帧。数据帧和远程帧借助帧空间与当前帧分开。
3.2.1 数据帧
CAN 技术规范2.0B中存在两种不同的帧格式,其主要区别在于标识符的长度,具有11位标识符的帧称为标准帖,而29位标识符的帧称为扩展帧。本系统中数据帧采用标准帖。数据帧由7个不同的位段组成,包括帧起始(SOF)、仲裁段、控制段、数据段、循环冗余检查段(CRC)、应答段(ACK)以及帧结束(EOF)。其中仲裁段由标识符和远程发送请求位(RTR)组成;控制段由数据长度码(DLC)和两个保留位r0、r1组成;数据段由数据帧中被发送的数据组成,它包括0~8个字节,每个字节8位。
VCU向MCU发送的数据帧包括:MCU初始化、检测MCU、VCU发生不可恢复错误、VCU的工作状态、控制电机转速、控制电机转矩、请求返回电机的错误状态等请求或命令。
MCU向VCU发送的数据帧包括:返回MCU当前状态、送回电机转速、送回电机转矩、电机或MCU出错、电机工作正常等信息。
为了区别VCU发出的不同请求和命令,采用了Universal Serial No字节。该字节位于数据段的首字节,表示请求或命令和编号。
3.2.2 远程帧
远程帧与数据帧的结构相同,只是不包括数据段。远程帧的远程请求发送位为1。远程帧用于请求信息。TMS320F241的CAN模块可以自动回复远程帖,即节点收到远程帧。如果该节点中有和远程帧的标识符相同的报文,则该节点就将相应的数据帧发送到总线上。本系统中远程帧和数据帧一样,采用标准格式。
VCU的MCU发送的远程帧包括:请求返回电机状态、请求返回电机转速、请求返回电机转矩等。
3.3 通信中断服务程序
VCU的指令通过CAN部到达MCU之后,采用中断的形式(如IRQ5),使MCU转入通信中断服务子程序。以保证VCU的指令可以及时发送到MCU。通信中断服务子程序流程图如图2所示。