当前位置:首页 > 学习资源 > 讲师博文 > 什么是CAN总线

什么是CAN总线 时间:2023-09-08      来源:华清远见

控制器局域网络Can(controller area network)是用于无主机情况下,多个设备通信的总线协议。

协议参考OSI。OSI分成了应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。Can总线,根据需求,只采用了物理层,数据链路层,以及应用层。

物理层:主要功能是为数据端设备提供传送数据的通路。

Can总线,物理层是由双绞线实现数据的传输,其中一条命名位CAN_H,另外一条是CAN_L。有两种结构设计。

闭环结构,双绞线两端用120Ω电阻相连。这种结构,传输速度在125kbps-1Mbps之间。优点是传输速度快,缺点是通信距离短,最远,只能实现40m的准确传输。

开环结构,双绞线不连接,两条线的一端都并联一个2.2KΩ的电阻。开环结构,传输速度在125kbps以下。但是,传输距离较远,可以达到1km。

无论哪种结构,通信设备只需要用两条线路对应连接到CAN_H和CAN_L线上。

Can总线网络拓扑图

此外,物理层还规定,数据以差模信号传输,在闭环结构中,小于0.05v的差值,表示隐形位(1),差值大于1.5v,表示显性位(0);开环结构中,差值大于-0.3v,表示隐形位(1),差值大于(0.3v),表示显性位(0)。

can控制器或者芯片,多数采用ttl信号。因此每个can节点内部结构中,can控制器都是通过收发器来连接到总线上的。收发器,实现ttl信号和差模信号的转换。

数据链路层:主要功能是如何在不可靠的物理线路上进行数据的可靠传递。

Can总线协议为了做到可靠传递,把数据链路层分位两层,逻辑链路控制子层(LLC)和媒体访问控制层(MAC)层。

MAC子层是实现CAN协议的核心,它的功能主要是规定传送规则。参总线协议,对帧结构、执行仲裁、错误检测、出错标定和故障界定都做了规定。

例如,CAN总线规定了数据帧、遥控帧、错误帧、过载帧、帧间隔等不同类型的帧。其中,数据帧又分为标准帧和扩展帧。CAN总线协议规定数据帧的结构为:帧起始,仲裁段、控制段、数据段、CRC段、ACK段、帧结束,且对各段,都做了规定。

Can总线实现的执行仲裁,采用了线与原理,结合仲裁段来完成。

这些规定,目的都是通过简单的双绞线,达到可靠的信息传递。不过,这样的信息传递,是广播性质的。如果,所有数据都接收,无疑会给cpu带来巨大的负荷。所以,还需要对数据进行处理,也就是LLC层的目的。

LLC子层的功能主要是报文滤波、超载通知和恢复管理。

Can控制器中,通过报文滤波器,筛选出Can总线传输,符号要求的信息,供微处理器使用。

物理层和数据链路层的功能可由CAN接口器件来完成。

应用层,由微处理器完成。根据使用场景的不同,在Can的基础上,还有CanOpen,DeviceNet等升级协议,使用了Can总线的物理层和数据链路层,只是对应用层加以修改。

CAN总线协议,是一个发展的总线协议,我们可以对其进行优化,例如现在的CANFD,对数据帧的数据段做修改,CAN总线的传输速度可以达到5Mbps。

综上所述,要理解什么是Can,要从协议和物理层次学习了解。

上一篇:java如何使用命令窗口生成自定义的API官方文档

下一篇:关于Java是编译型还是解释型语言

戳我查看嵌入式每月就业风云榜

点我了解华清远见高校学霸学习秘籍

猜你关心企业是如何评价华清学员的

干货分享
相关新闻
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2024 北京华清远见科技发展有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部