[技术讨论]CAN通信讨论

CAN(Controller Area Network)通信和IIC(Inter-Integrated Circuit)通信都是应用很广的通信方式,IIC一般用于同一个电路板上面不同简单传感器和模块的通信,优点是布线简单硬件开发成本低;大多数硬件工程师刚开始接触到的通信方式基本都是IIC通信。而CAN用于不同大模块之间的单片机通信,是差分通信信号,优点就是充分考虑了抗干扰设计。
CAN总线和IIC(Inter-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使用专门的CANTX和CANRX,经过专门的CAN转换芯片进行数据间通信。另一端的接受CAN转换芯片会将CANH和CANL信号进行差分相减运算,即使CANH和CANL有共模信号,也不会对差分数据由干扰,极大的增加了抗干扰作用。比如发送的单片机发送低电平信号,经过CAN转换芯片后,CANH信号就是3.5V,CANL信号就是1.5V。另一端的接受CAN转换芯片会将CANH和CANL信号进行差分相减就是显性电平,定义为逻辑0,然后再由接受端的单片机接受到逻辑0,完成一个低电平信号从发送到接受的通信过程。

而当发送的单片机发送高电平信号,经过CAN转换芯片后,CANH信号就是3.5V,CANL信号就是3.5V。另一端的接受CAN转换芯片会将CANH和CANL信号进行差分相减为0就是隐性电平,定义为逻辑1,然后再由接受端的单片机接受到逻辑1,完成一个高电平信号从发送到接受的通信过程。
现在CAN通信的线缆都是双绞线缠绕,同时存在的共模干扰后,差分压差不变,也就不会对传输的信号造成影响。

正是由于这种差分传递信号抗干扰的优势,常规485之类的通信只有10米左右,而CAN通信可以达到上千米。
---------------------
作者:deskchange
链接:https://bbs.21ic.com/icview-3302086-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值