博客
关于我
《STM32从零开始学习历程》——CAN通讯协议物理层
阅读量:485 次
发布时间:2019-03-07

本文共 1542 字,大约阅读时间需要 5 分钟。

CAN通讯协议物理层

CAN协议简介

CAN(Controller Area Network)是一种由德国BOSCH公司研发的Controller Area Network,后来成为国际标准ISO11519,是目前应用最广泛的现场总线之一。CAN协议被广泛用于汽车计算机控制系统和嵌入式工业控制中,其主要特点是高可靠性和强大的错误检测能力。近年来,随着应用场景的扩展,CAN协议还被用在环境恶劣、电磁辐射强以及振动大的工业环境中。

与I2C、SPI等同步通讯方式不同,CAN采用异步通讯方式,仅使用CAN_High和CAN_Low两条差分信号线进行通讯。这种设计使得CAN具有抗干扰能力强、对外电磁辐射效果好的特点,同时差分信号的抗噪声能力和对外辐射抑制能力也非常出色。

CAN物理层

CAN物理层主要分为闭环总线和开环总线两种形式。一种适合高速通讯,另一种适合远距离通讯。

###闭环总线网络

CAN闭环总线是ISO11898标准定义的高速短距离总线,其最大传输距离为40米,通信速度最高可达1Mbps。理论上,闭环总线网络也可以超过40米,比如达到50米,但通讯速率会相应降低。

闭环总线两端需要串联“120欧”的电阻,形成一个闭合电路。这种设计利于电磁能量的回收,减少总线对外辐射的干扰。

###开环总线网络

CAN开环总线遵循ISO11519-2标准,是一种低速远距离总线。其最大传输距离为1000米,通信速率最高为125kbps。与闭环总线不同,开环总线的两根信号线是独立的,不形成闭合电路。每根线上需要串联“2.2千欧”的电阻。

###新闻

不仅在汽车电子中占据重要地位,CAN协议在工业控制领域也有广泛的应用。尤其是在大型企业物流设备和工业机械车辆中,CAN协议表现得尤为突出。

通讯节点

CAN网络中的每个节点都包含一个CAN控制器和一个CAN收发器。控制器通过CAN_Tx和CAN_Rx信号线与收发器通信,收发器则通过CAN_High和CAN_Low信号线与总线连接。CAN_Tx和CAN_Rx使用普通的逻辑信号传输,而CAN_High和CAN_Low使用差分信号传输。

当节点需要发送数据时,控制器将二进制编码通过CAN_Tx线发送给收发器。收发器将普通的逻辑电平信号转换为差分信号,通过两根差分信号线输出到总线上。反之,收发器也可以将总线上的差分信号转换回普通的逻辑电平信号,并通过CAN_Rx线发送给控制器。

差分信号

差分信号(Delta Signal)使用两个信号线的电压差来表示逻辑状态,这种方式与传统的单根信号线有明显不同。两根信号线的电压相等且相位相反,通过电压差来传输逻辑信号。

相比单根信号线,差分信号的抗干扰能力更强。当外界存在噪声干扰时,干扰会同时作用于两个信号线,其差值(即两个信号线的电压差)仍能保持稳定,从而有效抵消噪声的影响。

此外,差分信号的抗辐射能力也很出色。由于两根信号线的极性相反,耦合在一起时产生的电磁辐射会相互抵消,减少对外部环境的影响。

由于CAN协议使用差分信号传输,其优点在多个方面:

  • 确保节点间的数据传输安全可靠
  • 减少电磁干扰
  • 提高信号的稳定性和可靠性

在实际应用中,CAN协议对差分信号的使用也制定了严格的标准。例如,在高速CAN协议中:

  • 表示逻辑1时(显性电平),两根信号线的电压相等为2.5V,电压差为0V。
  • 表示逻辑0时(隐性电平),CAN_High为3.5V,CAN_Low为1.5V,电压差为2V。

这种设计保证了CAN总线网络的高效通信,同时也为节点间的数据传输提供了可靠的物理层基础。

总体而言,CAN协议的物理层设计充分考虑了传输的稳定性和抗干扰能力,为其在复杂电磁环境中的应用提供了坚实的保障。

转载地址:http://nqwcz.baihongyu.com/

你可能感兴趣的文章
Mysql中的using
查看>>
MySQL中的关键字深入比较:UNION vs UNION ALL
查看>>
mysql中的四大运算符种类汇总20多项,用了三天三夜来整理的,还不赶快收藏
查看>>
mysql中的字段如何选择合适的数据类型呢?
查看>>
MySQL中的字符集陷阱:为何避免使用UTF-8
查看>>
mysql中的数据导入与导出
查看>>
MySQL中的时间函数
查看>>
mysql中的约束
查看>>
MySQL中的表是什么?
查看>>
mysql中穿件函数时候delimiter的用法
查看>>
Mysql中索引的分类、增删改查与存储引擎对应关系
查看>>
Mysql中索引的最左前缀原则图文剖析(全)
查看>>
MySql中给视图添加注释怎么添加_默认不支持_可以这样取巧---MySql工作笔记002
查看>>
Mysql中获取所有表名以及表名带时间字符串使用BetweenAnd筛选区间范围
查看>>
Mysql中视图的使用以及常见运算符的使用示例和优先级
查看>>
Mysql中触发器的使用示例
查看>>
Mysql中设置只允许指定ip能连接访问(可视化工具的方式)
查看>>
mysql中还有窗口函数?这是什么东西?
查看>>
mysql中间件
查看>>
MYSQL中频繁的乱码问题终极解决
查看>>