发新帖本帖赏金 25.00元(功能说明)我要提问
返回列表
打印
[技术讨论]

CAN通信讨论

[复制链接]
911|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
CANController Area Network通信和IICInter-Integrated Circuit通信都是应用很广的通信方式,IIC一般用于同一个电路板上面不同简单传感器和模块的通信,优点是布线简单硬件开发成本低;大多数硬件工程师刚开始接触到的通信方式基本都是IIC通信。而CAN用于不同大模块之间的单片机通信,是差分通信信号,优点就是充分考虑了抗干扰设计。
CAN总线和IICInter-Integrated Circuit)总线尽管都是用于设备间通信的串行通信总线协议,但两者有以下不同点:
1. 用途不同:CAN总线通常用于工业控制、汽车网络等高可靠性应用,而I2C通常用于低速控制和数据传输。
2. 速率不同:CAN总线速率可以高达1 Mbps,而I2C总线通常在400 Kbps以下。
3. 线路不同:CAN总线使用双绞线,I2C总线则可以使用双线、三线和四线架构,其中最常见的是双线架构。
4. 地址机制不同:CAN总线使用11位或29位标准帧标识符来识别设备,而I2C总线使用7位或10位设备地址来寻址。
5. 工作方式不同:CAN总线是多主机环境下的异步通信协议,而I2C总线通常在单主机环境下的同步通信协议。
现在CAN 总线主要应用在汽车电子控制系统中ECU,如发动机管理系统、自动空调控制系统、安全气囊控制系统等。使用CAN通信可以让各个ECU模块之间进行通讯,可以有限减少了线缆之间的长度。不适用CAN通信,就会增加冗长的线缆就各个ECU模块之间点对点的进行连接,而且线束之间的排布杂乱,还会造成EMC干扰,线间耦合干扰等等问题。
而有了CAN通讯,这么多的ECU设备只需要挂载在CAN总线,就可以组成局域网通信了,大大减少线缆的长度。CAN通信需要MCU使用专门的CANTXCANRX,经过专门的CAN转换芯片进行数据间通信。另一端的接受CAN转换芯片会将CANHCANL信号进行差分相减运算,即使CANHCANL有共模信号,也不会对差分数据由干扰,极大的增加了抗干扰作用。比如发送的单片机发送低电平信号,经过CAN转换芯片后,CANH信号就是3.5VCANL信号就是1.5V。另一端的接受CAN转换芯片会将CANHCANL信号进行差分相减就是显性电平,定义为逻辑0,然后再由接受端的单片机接受到逻辑0,完成一个低电平信号从发送到接受的通信过程。
而当发送的单片机发送高电平信号,经过CAN转换芯片后,CANH信号就是3.5VCANL信号就是3.5V。另一端的接受CAN转换芯片会将CANHCANL信号进行差分相减为0就是隐性电平,定义为逻辑1,然后再由接受端的单片机接受到逻辑1,完成一个高电平信号从发送到接受的通信过程。
现在CAN通信的线缆都是双绞线缠绕,同时存在的共模干扰后,差分压差不变,也就不会对传输的信号造成影响。
正是由于这种差分传递信号抗干扰的优势,常规485之类的通信只有10米左右,而CAN通信可以达到上千米。

使用特权

评论回复

打赏榜单

21ic小管家 打赏了 25.00 元 2023-06-07
理由:签约作者奖励

评论
sjnh 2023-5-15 09:48 回复TA
最后一句还是删掉吧 

相关帖子

沙发
515192147| | 2024-1-2 15:34 | 只看该作者
本帖最后由 515192147 于 2024-1-11 15:38 编辑

CAN通信的完美编程需要对CAN的通信负载及通信质量进行监控:
CAN通信实时负载小于标定负载的1/3,通过对CAN通信的丢包的监控来评估CAN的通信质量;
详细资料见:CAN通信的高层协议源程序及介绍
https://bbs.21ic.com/icview-3335470-1-1.html?fromuser=515192147




详细资料见:CAN通信的高层协议源程序及介绍
https://bbs.21ic.com/icview-3335470-1-1.html?fromuser=515192147

使用特权

评论回复
板凳
lfc315| | 2024-1-2 16:45 | 只看该作者
RS485不是差分吗?

使用特权

评论回复
地板
485通讯只有10米? 误导人了吧!

使用特权

评论回复
5
515192147| | 2024-1-8 17:26 | 只看该作者
无善无恶心之体 发表于 2024-1-3 14:27
485通讯只有10米? 误导人了吧!

应该 是  RS232

使用特权

评论回复
发新帖 本帖赏金 25.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

6

帖子

0

粉丝