博客
关于我
《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 表的操作
查看>>
mysql 视图,视图更新删除
查看>>
MySQL 触发器
查看>>
mysql 让所有IP访问数据库
查看>>
mysql 记录的增删改查
查看>>
MySQL 设置数据库的隔离级别
查看>>
MySQL 证明为什么用limit时,offset很大会影响性能
查看>>
Mysql 语句操作索引SQL语句
查看>>
MySQL 误操作后数据恢复(update,delete忘加where条件)
查看>>
MySQL 调优/优化的 101 个建议!
查看>>
mysql 转义字符用法_MySql 转义字符的使用说明
查看>>
mysql 输入密码秒退
查看>>
mysql 递归查找父节点_MySQL递归查询树状表的子节点、父节点具体实现
查看>>
mysql 通过查看mysql 配置参数、状态来优化你的mysql
查看>>
mysql 里对root及普通用户赋权及更改密码的一些命令
查看>>
Mysql 重置自增列的开始序号
查看>>
mysql 锁机制 mvcc_Mysql性能优化-事务、锁和MVCC
查看>>
MySQL 错误
查看>>
mysql 随机数 rand使用
查看>>
MySQL 面试题汇总
查看>>