C/C++教程

CAN总线设计

本文主要是介绍CAN总线设计,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

CAN:局域网(Control Area Network,CAN)是一种全数字、全开放的现场总线控制网络。目前CAN总线被广泛的应用在汽车电子领域和工业的现场总线中。
优势:

1、数据传输速度高(相对),1Mbit/s

2、抗干扰能力强

3、具有自我诊断的能力

4、无主从之分,任意节点之间可以进行数据交互;仲裁机制明显,多节点同时通信
不会造成总线拥堵。

拓扑如下:

 

 


硬件电路设计核心:
     在用单片机设计CAN接口电路的时候,必须要考虑电平的转换情况,所以有两个问题你要有概念:单片机的电平是TTL电平;CAN的电平是以CANH、CANL两线之间的差分电压定义的;TTL电平与CAN电平不兼容;所以在设计电路的时候,必须要电平转换!
CAN控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐形电平,总线必须处于两种电平之一。发送方通过使总线电平发生变化,将消息发送给接收方。

 

CAN接口电路:

CAN接口电平差分:有信号“显”:CANH 3.5V CANL 1.5V

                           无信号时“隐”:CANH2.5V CANL2.5V
      在“隐性”状态下,CAN-H与CAN-L的输入差分电压为OV(最大不超过0.5V),共模输入电压为2.5V。逻辑1在“显性”状态下,CAN-H与CAN-L的输入差分电压为2V((最小不小于0.9V)
CAN总线采用差分信号传输,通常情况下只需要两根信号线(CAN-H和ICAN-L)就可以进行正常的通信。在干扰比较强的场合,还需要用到屏蔽地即CAN-G(主要功能是屏蔽干扰信号),CAN协议推荐用户使用屏蔽双绞线作为CAN总线的传输线。在应用的过程中,通讯电缆容易耦合外部的干扰对信号传输产生影响;单板内部的干扰也可能通过电缆形式对外辐射。

参考设计:

 

 

 

 

 

这篇关于CAN总线设计的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!