CAN协议理解与使用(第一篇)
作者:禾馨雅 时间:2019.04.03
CAN 是控制器局域网络(Controller Area Network)的简称,它是由研发和生产汽车电子产品著称的德国BOSCH 公司开发的,并最终成为国际标准(ISO11519),是国际上应用最广泛的现场总线之一。
CAN 总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN 为底层协议专为大型货车和重工机械车辆设计的J1939 协议。近年来,它具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强及振动大的工业环境。
一、两种总线网络
闭环总线:遵循ISO11898 标准,Lmax=40m,Hspeed=1Mbps,总线的两端各要求有一个“120 欧”的电阻。
开环总线:遵循ISO11519-2 标准,Lmax=1km,Hspeed=125kbps,要求每根总线上各串联有一个“2.2 千欧”的电
阻。
二、差分信号
(隐形电平)逻辑1:CAN_High=CAN_Low=2.5, VH-VL=0V。
(显性电平)逻辑0:CAN_High-CAN_Low=3.5-1.5=2V。
三、CAN协议位时序
CAN协议位时序=SS(同步段)+PTS(传播时间段)+PBS1(相位缓冲)+PBS2(相位缓冲)
四、同步方式
硬同步:总线上时刻检测下降沿,平移下降沿到SS段。
重新同步:相位超前(PBS1增)或者滞后(PBS2减),同步的目的都是使节点内的SS段把跳变沿包含起来。
改变重新同步补偿宽度SJW (reSynchronization Jump Width)值越大,允许误差加大,但是通讯速度会下降。
CAN 是控制器局域网络(Controller Area Network)的简称,它是由研发和生产汽车电子产品著称的德国BOSCH 公司开发的,并最终成为国际标准(ISO11519),是国际上应用最广泛的现场总线之一。
CAN 总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN 为底层协议专为大型货车和重工机械车辆设计的J1939 协议。近年来,它具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强及振动大的工业环境。
一、两种总线网络
闭环总线:遵循ISO11898 标准,Lmax=40m,Hspeed=1Mbps,总线的两端各要求有一个“120 欧”的电阻。
开环总线:遵循ISO11519-2 标准,Lmax=1km,Hspeed=125kbps,要求每根总线上各串联有一个“2.2 千欧”的电
阻。
二、差分信号
(隐形电平)逻辑1:CAN_High=CAN_Low=2.5, VH-VL=0V。
(显性电平)逻辑0:CAN_High-CAN_Low=3.5-1.5=2V。
三、CAN协议位时序
CAN协议位时序=SS(同步段)+PTS(传播时间段)+PBS1(相位缓冲)+PBS2(相位缓冲)
四、同步方式
硬同步:总线上时刻检测下降沿,平移下降沿到SS段。
重新同步:相位超前(PBS1增)或者滞后(PBS2减),同步的目的都是使节点内的SS段把跳变沿包含起来。
改变重新同步补偿宽度SJW (reSynchronization Jump Width)值越大,允许误差加大,但是通讯速度会下降。
...全文
相关推荐
CAN协议与J1939协议的原理及实例分析
CAN总线简介,CAN物理层数据交换原理,CAN报文格式分析,J1939协议介绍,PDU格式,报文实例分析,PGN报文实例分析,J1939的传输协议-连接管理和多包传输,Intel与Motorola格式的区别
CAN协议详解
CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO 国际标准化的。
适合初学者的STM32 CAN协议理解总结( ISO11898 标准)
暑假学习的时候看到了CAN总线,几个小伙伴好像看的都比较苦恼。是的,对于大量的说明难免有些不想看,看不懂为什么要把TIM这些东西设为1,很多字符又代表什么意思......但对知识的畏惧是无法向前的。静下心来慢慢看就好了!我在这里记录一些我学习CAN协议过程中的理解总结,希望能帮到一些初学者。 CAN的组成框图 下图为互联网型的双CAN框图: 我使用的F103ZET6只有一个串口,其中3...
CAN总线(二)——CAN2.0标准与协议分析
目录 1. CAN协议的基本概念 2.CAN 协议及标准规格 2.1 ISO 标准化的 CAN 协议 2.2 ISO11898 和 ISO11519-2 的不同点 3. CAN协议 3.1 帧的种类 3.2 数据帧 3.3遥控帧 3.4错误帧 3.5 过载帧 4. CAN协议帧的其他要点 4.1 帧间隔 4.2优先级的决定 4.2.1数据帧和遥控帧的优先级 4.2.2标准格式和扩展格式的优先级 4.3位填充 4.4错误的种类 4.5位时...
CAN bootloader升级协议代码
该代码是采用can进行升级arm程序的代码,非常实用,可供参考学习


单片机/工控
