博客
关于我
《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/

你可能感兴趣的文章
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
查看>>
NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现update数据实时同步_实际操作05---大数据之Nifi工作笔记0044
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_生成插入Sql语句_实际操作02---大数据之Nifi工作笔记0041
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_不带分页处理_01_QueryDatabaseTable获取数据_原0036---大数据之Nifi工作笔记0064
查看>>
NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
查看>>
NIFI从Oracle11G同步数据到Mysql_亲测可用_解决数据重复_数据跟源表不一致的问题---大数据之Nifi工作笔记0065
查看>>
NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
查看>>
nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
查看>>
NIFI分页获取Mysql数据_导入到Hbase中_并可通过phoenix客户端查询_含金量很高的一篇_搞了好久_实际操作05---大数据之Nifi工作笔记0045
查看>>
NIFI分页获取Postgresql数据到Hbase中_实际操作---大数据之Nifi工作笔记0049
查看>>
NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
查看>>
NIFI同步MySql数据源数据_到原始库hbase_同时对数据进行实时分析处理_同步到清洗库_实际操作06---大数据之Nifi工作笔记0046
查看>>
Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
查看>>
NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
查看>>
NIFI大数据进阶_FlowFile生成器_GenerateFlowFile处理器_ReplaceText处理器_处理器介绍_处理过程说明---大数据之Nifi工作笔记0019
查看>>