CAN协议理解与使用(第一篇)

fengxiangsui 2019-04-03 10:57:18
作者:禾馨雅 时间: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)值越大,允许误差加大,但是通讯速度会下降。


...全文
867 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧