原创 【博客大赛】草根通信方案——CAN总线&LIN总线

2013-10-21 20:53 2716 11 11 分类: 通信 文集: 单片机

CAN总线和LIN总线都是在汽车电子中常用到的通信方式。

CAN是控制器局域网络(Controller Area Network, CAN)的简称,CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。

CAN总线实时性比较强,CAN控制器工作于多种方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。CAN总线通过CAN收发器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会在出现在RS-485网络中的现象,即当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总线处于“死锁”状态。而且,CAN具有的完善的通信协议可由CAN控制器芯片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些是仅有电气协议的RS-485所无法比拟的。

CAN总线特点:(1) 数据通信没有主从之分,任意一个节点可以向任何其他(一个或多个)节点发起数据通信,靠各个节点信息优先级先后顺序来决定通信次序,高优先级节点信息在134μs通信; (2) 多个节点同时发起通信时,优先级低的避让优先级高的,不会对通信线路造成拥塞; (3) 通信距离最远可达10KM(速率低于5Kbps)速率可达到1Mbps(通信距离小于40M);(4) CAN总线传输介质可以是双绞线,同轴电缆。CAN总线适用于大数据量短距离通信或者长距离小数据量,实时性要求比较高,多主多从或者各个节点平等的现场中使用。

LIN总线成本低,功耗低,当然从某个角度看,他没有CAN那么多的优点,但是在某些场合,用LIN还是比CAN要好,毕竟,成本在那里摆着。LIN总线传输速率最高可达20Kbit/s,单主控器/多从设备模式无需仲裁机制,从节点不需晶振或陶瓷震荡器就能实现自同步,节省了从设备的硬件成本,保证信号传输的延迟时间;不需要改变LIN 从节点的硬件和软件就可以在网络上增加节点,通常一个LIN 网络上节点数目小于12 个共有64 个标志符。一个LIN 网络由一个主节点一个或多个从节点组成,所有节点都有一个从通讯任务。

该通讯任务分为发送任务和接收任务,主节点还有一个主发送任务。一个LIN 网络上的通讯总是由主发送任务所发起的。主控制器发送一个起始报文,该起始报文由同步断点和同步字节消息标志符所组成。相应的,在接受并且滤除消息标志符后,一个从任务被激活并且开始本消息的应答传输。该应答由2/4/8 个数据字节和一个校验码所组成。起始报文和应答部分构成一个完整的报文帧。
在我遇到的项目中,有用到这两种总线的场合:
LIN:温湿度传感器(当然也有用IIC来驱动他的) 车窗 座椅
CAN:现在用的特别多,最近在从事一个与之相关的项目,用CAN总线与STM32进行通信,并把数据经过GPRS上传到服务器

文章评论0条评论)

登录后参与讨论
我要评论
0
11
关闭 站长推荐上一条 /2 下一条