基于CAN总线的发动机转速测试电路设计
2016-06-02四川城市职业学院电子科技大学物理电子学院罗茂元电子科技大学物理电子学院朱兆君
四川城市职业学院 电子科技大学物理电子学院 罗茂元电子科技大学物理电子学院 朱兆君
基于CAN总线的发动机转速测试电路设计
四川城市职业学院 电子科技大学物理电子学院 罗茂元
电子科技大学物理电子学院 朱兆君
【摘要】通过对车载主动安全系统的研究,针对汽车等交通工具的嵌入式控制器局域网络,提出了一种通过磁电传感器检测发动机转速系统的CAN总线设计方案。在简单介绍该CAN总线网络三层结构设计的基础上,详细阐述了节点嵌入式微处理器电路、CAN总线电路及传感器信号调理电路的设计,并提出了基于J1939协议的发动机转速测量电路的软件流程图。该设计方案的提出,为车载主动安全的控制系统设计具有一定的参考价值。
【关键词】CAN总线;J1939协议;嵌入式微处理器
课题项目:四川省教育厅自然科学类科研项目课题,项目名称:基于嵌入式技术的车载主动安全系统方案的研究,课题编号:14ZB0418 。
0 引言
在对车载主动安全系统的研究中,为解决汽车控制系统中,数量众多的电子设备之间的通信问题,减少电子设备之间繁多的信号线,通过单一而稳定的网络总线,将外围器件挂接在该总线上,实现车载设备和多控制系统之间的数据交换,各操作单元之间的协作,并对各单元不断变化状态实时控制。
在众多的CAN总线协议中,J1939协议主要应用在以CAN为基础的汽车等交通工具的嵌入式网络中。由于J1939网络是专门用途的通信系统,而不需要通用化,因此,基于J1939协议电控系统(ECU)的开发只须按照物理层搭建、数据链路层配置、应用层设计即可。
1 总体设计
1.1 物理层搭建
物理层实现网络中电控单元的电连接,物理介质为屏蔽双绞线,双绞线终端电阻应为120欧姆,从而防止数据在线端被返回,影响数据的传输,同时电流能够对称驱动。
1.2 数据链路层配置
数据链路层为物理连接提供可靠的数据传输,J1939协议数据链路层配置就是对协议数据单元的配置,PDU的7个域的信息应由应用层提供。PDU将被封装在一个或多个CAN数据帧中,并通过物理介质传输到其他网络设备。如果某特定参数组传输9字节或更多的字节,则将使用传输协议功能RTS/CTS,BAM。该协议功能是数据链路层的一部分,可再细分为消息的拆装、重组以及连接管理两个主要功能。
1.3 应用层设计
J1939应用层包含信号和报文两个方面的设计。信号描述使用可疑参数编号定义,可疑参数编号为19位,用于标识ECU相关的特定部件、元素或参数,可以描述部件名称、参数名称、信号类型,着重描述参数组中的某个参数;而报文描述用PGN定义,包含参数组名称、传输更新速率、数据长度、PDU和数据列表,主要描述整个参数组。他们之间相对于整体与局部的关系。
2 硬件电路设计
发动机转速测试系统主要由磁电传感器输出的模拟信号经调理处理后,转变为脉冲信号,经CAN总线发送给主节点。
图1 STM32F107系统图
基于J1939协议的发动机转速测试硬件电路采用嵌入式芯片STM32F107作为节点微处理器;外部振荡器可选频率范围为 3~25MHz,此处选用比较常用的 8MHz 晶振作为外部振荡器。由于STM32F107嵌入式芯片内部集成了Bosch CAN控制器,该控制器符合CAN2.0B标准,与数据发送和接收有关的所有协议处理均由该控制器完成,不需要STM32F107的干预,并可使用J1939协议实现网络通信。但由于该控制器不提供物理层驱动,所以选用TJA1040T作为总线驱动,与STM32嵌入式芯片管脚CANTX与CANRX相连。图2为CAN控制器原理框图。
图2 CAN控制器原理框图
TJA1040是控制器局域网CAN 协议控制器和物理总线之间的接口。它主要应用在高速传输中,速度可达1Mbaud。TJA1040为总线提供差动的发送功能,为CAN控制器提供差动的接收功能。图3为TJA1040的硬件电路设计图。
图3 CAN总线电路
在进行发动机转速采样过程中,须通过磁电传感器对输出信号进行调理。调理电路主要用于将磁电传感器输出的正弦信号调整为STM32能够识别的外部计数脉冲,通过光隔离器TIL113将电信号转为光信号,实现了信号的隔离。在通过电压比较器LM239转换为脉冲信号。
图4 信号调理电路
3 软件设计流程
图5 基于J1939协议的发动机转速测量电路软件流程图
4 结束语
通过对发动机转速测试系统的CAN总线物理层搭建及J1939应用层通信协议的设计,有效地解决了发动机磁电传感器电路中的CAN总线网络的通信问题,满足了实际应用的需要,达到测试效果。