关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于CAN总线的电动车控制系统设计

基于CAN总线的电动车控制系统设计

作者: 时间:2011-02-03 来源:网络 收藏


3 CAN通信协议的设计
根据ISO/OSI模型,CAN总线规范了只制定了数据链路层中的媒体访问子层和一小部分的逻辑链路控制子层,CAN的ISO标准规定了总线及驱动器的电气特性。因此需要根据自己的需求设计通信协议。
CAN协议标准2.0B的数据帧的ID长度为29位,为扩展格式数据帧结构,如图3所示。

本文引用地址:https://www.eepw.com.cn/article/162479.htm


数据帧由帧起始、仲裁段、控制段、数据段、CRC段、ACK段、帧结束组成。协议的设计是对标识符和数据位的定义。
本系统协议的设计参照SAEJ1939协议标准,标识符分配为优先级(P)、保留位(R)、数据页(DP)、代码域(PF)、目标域(PS)、源地址(SA)和数据域(DF)7个部分。根据需求定义了5个报文,报文标识符定义如表1所示。


整车控制器的节点地址为OxA7;BMS节点地址为OxE4;CCS节点地址为OxE5;电机控制器节点地址为OxE6。
根据实际需求,设计了5个报文,分别为:BMS发给CCS和电机控制器的2个报文,CCS和电机控制器发给整车控制器的2个报文,整车控制器发给电机的报文。根据信息的重要程度,将电机控制器和整车控制器间的报文设计为最高优先级3,其他报文优先级设计为6。

4 CAN总线节点的软件设计
系统采用基于C语言的程序设计。在IAB开发环境下进行调试和仿真。整车控制节点的软件设计主要包括4个部分:CAN控制器的初始化、报文发送、报文接收和错误处理。
4.1 CAN控制器的初始化
在启动CAN通信前必需进行CAN模块的初始化,包括硬件使能、CAN工作模式设置、总线波特率设置、设置中断、验收过滤器设置等。初始化操作在CAN模块复位的模式下进行。初始化程序流程图如图4所示。



关键词: 收发器

评论


相关推荐

技术专区

关闭