【车载开发系列】CAN总线知识扩展篇
CAN总线知识扩展篇
一.什么是CANOpen协议
CANopen是一种架构在CAN控制局域网上的高层软件通信协议,包括通信子协议及设备子协议,常在嵌入式系统中使用,也是工业控制常用到的一种现场总线协议。
简单理解起来CANOpen就是CAN总线应用层协议。
二.CANOpen协议出现的背景是什么
CANopen协议是在20世纪90年代末,由总部位于德国纽伦堡的 CiA 组织——CAN-in-Automation,在 CAL(CAN Application Layer)的基础上发展而来。
由于CAN总线只定义了OSI中的物理层和数据链路层,因此对于不同的应用出现了不同的【应用层协议】,为了使不同厂商的产品能够相互兼容,世界范围内需要通用的CAN应用层通信协议。
三.常见的三种CAN应用层协议
1)CANopen协议
主要应用在汽车、工业控制、自动化仪表等领域,目前由CIA负责管理和维护;
2)J1939协议
CAN总线在商用车领域占有绝大部分市场份额的应用层协议,由美国机动车工程师学会发起,现已在全球范围内得到广泛的应用;
3)DeviceNet协议
在美国等地占有相当大的市场份额,主要用于工业通信及控制和仪器仪表等领域。
四.CAN网络节点包含的三块芯片
MCU芯片、CAN控制器、CAN收发器
现在的CAN控制器一般都与MCU集成在一起,其发送和接收TTL信号就是MCU引脚(高或低)信号
五.什么是CAN收发器
CAN收发器就是一块类似232或485的转换芯片,它的主要功能是将CAN控制器的TTL信号转换成CAN总线的差分信号。
六.可以不使用CAN收发器吗
单向传输可以,双向传输就不行。
CAN控制器会实时监测发送出去的信号是否正确。也就是说TX要与RX信号一致才行,否则CAN控制器认为你发送失败。
七.RS485是什么
RS485总线是一种常规的通信总线,它不能够做总线的自动仲裁,也就是不能够同时发送数据以避免总线竞争,所以整个系统的通信效率必然较低,数据冗余量较大,对于速度要求高的应用场所不适应用RS485总线。
对于速度要求高的应用场所还是建议使用CAN总线。虽然CAN通信总线和RS485一样,都算是半双工的总线。
八.总线上全双工和半双工的区别
1、全双工允许数据在两个方向上同时传输。
2、半双工允许数据在两个方向上传输,但是同一时间数据只能在一个方向上传输,实际上是切换的单工
单工就是在只允许甲方向乙方传送信息,而乙方不能向甲方传送 。
九.常用的全双工通信总线
SPI(Serial Peripheral Interface):串行外设接口。
I2C(INTER IC BUS):集成电路总线。
UART(Universal Asynchronous Receiver Tranmitter):通用异步收发器。
CAN和RS485都是半双工总线。
十.什么是CANoe
CANoe”全称叫CAN open environment,是德国Vector公司为汽车总线的开发而开发的一款总线开发环境。
主要用于汽车总线的开发而设计的。CANoe的前期是为了对CAN通信网络进行建模、仿真、测试和开发,后来扩展加入了LIN、Ethernet、FlexRay、MOST等网络。
十一.CANoe能做什么
CANoe是网络和ECU开发、测试和分析的专业工具,支持从需求分析到系统实现的整个系统的开发过程。
CANoe具有测试功能集,用来简化或自动进行测试。运用该功能,可以进行一系列的连续测试,并自动生成测试报告。另外,CANoe具有诊断功能集,用以与ECU进行诊断通信。
CANoe丰富的功能和配置选项被OEM和供应商的网络设计工程师、开发工程师和测试工程师所广泛使用。