CAN总线特点与规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CAN总线特点与规范
CAN 总线规范:
CAN总线属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络,位速率可高达1MBPS。可以应用在汽车控制系统,自动化电子领域中的各种部件(传感器,灯光,执行机构等)与主机连接组成CAN 网络。本章介绍通过CAN总线与液晶显示器的连接。
CAN 具有下列主要特性:
1 多主站依据优先权进行总线访问。
总线开放时,任何单元均可开始发送报文,具有最高优先权的报文的单元赢得总线访问权。利用这个特点可以用液晶显示器作为多主机的公用监视器,不用每台主机配一个监视器,从而节约系统成本。
2 无破坏性的基于优先权的仲裁。
网络上的每个主机可以同时发送,哪个主机的数据可以发送出去取决于主机所发送报文的标识符决定的优先权的大小,没有发送出去的帧可自动重发。以后将介绍数据怎样仲裁。
3 借助接收滤波的多地址帧传送
收到报文的标识符与本机的接收码寄存器与屏蔽寄存器相比较,符合的报文本机才予以接收。
4.远程数据请求。
网络上的每个接点可以发送一个远程帧给另一个接点,请求该接点的数据帧,该数据帧与对应的远程帧以相同的标识符ID命名。
5.配置灵活性
通过八个寄存器进行接点配置,每个接点可以接收,也可以发送。
6.全系统数据相容性
7.错误检测和出错信令
有五种错误类型,每个接点都设置有一个发送出错计数器和一个接收出错计数器。发送接点和接收接点在检测到错误时,出错计数器根据一定规则进行加减,并根据错误计数器数值发送错误标志(活动错误标志和认可错误标志),当错误计数器数值大于255时,该接点变为“脱离总线”状态,输出输入引脚浮空,既不发送,也不接收。
CAN 中的总线数值为两种互补逻辑数值:“显形”和“隐性”,用差分电压表示。
“显形”表示逻辑“0”,显性状态用大于最小阈值的差分电压表示。
“隐性”表示逻辑“1”,这时输出的差分电压Vdiff 近似为0,Vcanh ,Vcanl固定于平均电压电平,显性位与隐性位同时发送时,最后总线数值为显性。在总线空闲或隐性位期间,
平均电压
显性位
总线位的数值表示
CAN 系统内两个任意节点之间的最大传输距离与其位速率有关,在一个给定系统中,位速率是唯一的,并且是固定的。两节点间的最大距离见下表。
CAN的分层结构
CAN遵从OSI模型,CAN结构划分为两层:数据链路层和物理层
数据链路层又划分为:逻辑链路控制(LLC)和媒体访问控制(MAC)
LLC提供的功能包括:帧接收滤波,超载通告和恢复处理。
帧接收滤波:帧内容有其标识符命名,接收器只接收标识符与接收单元定义的标识符相一致的帧,其它帧忽略。
超载通告:如果接收器内部条件要求延迟一个数据帧或远程帧,则可以发送一个超载帧。最多可以发送两个超载帧。
恢复处理:发送期间,对于丢失仲裁和被错误干扰的帧,LLC子层具有自动重发功能,直至成功发送。
MAC子层分为两个完全独立工作的部分,即接收和发送部分。
发送部分提供的功能包括:数据封装,发送媒体访问管理。
1.数据封装:接收LLC帧和接口控制信息,通过向LLC帧附加SOF,RTR,CRC,ACK,和EOF位构造MAC帧。
2.发送媒体访问管理:
·确认总线空闲后,开始发送过程。
·MAC帧串性化,输出串性化流到物理层准备发送。
·插入填充位
·在丢失仲裁的情况下,退出仲裁并转入接收方式。
·错误检测
·应答校验
·确认超载条件,构造超载帧并开始发送
·构造出错帧并开始发送
接收部分提供的功能包括:数据拆装,接收媒体访问管理
接收媒体访问管理
·由物理层接收串性位流,并重新构筑帧结构
·解除位填充
·错误检测
·发送应答
·确认超载条件,构造超载帧并开始发送
·构造出错帧并开始发送
2 数据拆装
由接收帧中去除MAC特定信息
输出LLC帧和接口控制信息到LLC子层
物理层定义CAN接口单元连接至总线的电路实现部分。接口单元的总数受限与总线上的电气负载。
物理层又划分为:
---物理信令(PLS)
位编码/解码,定时,和位同步
---物理媒体附属装置(PMA)
总线发送和接收的功能电路,并提供总线故障检测方法。
---媒体相关接口(MDI)
定义与物理媒体的机械和电气接口。
接口之间用两根并排双绞线相互连接
分层结构图示
以下讲述LLC帧和MAC帧结构及各子层功能实现的细节
一LLC帧结构
1LLC数据帧
LLC数据帧包括三个位场:即标识符场,数据长度场(DLC),数据场。
如图所示
(~ID-4)不应全为“1”
(2)DLC场:DLC场二进制数值指出数据场字节个数,由四位构成,数据场长度允许数据字节数目范围为0~8,也就是DLC场数值不能大于8
(1000)。
(3)数据场:数据场由数据帧内被发送数据组成,它可包括0~8个字节。
2LLC 远程帧
LLC 远程帧由两个位场(标识符场和DLC场)组成,不包括数据场。
LLC 远程帧标识符场与LLC数据帧标识符场格式相同。DLC场的数值是独
立的,此数值为请求的数据帧的数据长度码。
二MAC帧结构
CAN系统中,数据在节点间发送和接收以四种不同类型的帧出现和控制,即
数据帧
数据由发送器传至接收器。
远程帧
由节点发送,以请求另一个节点发送具有相同标识符的数据帧
出错帧
当任何节点检测到出错条件时,都可向总线发送出错帧
超载帧
在节点满足超载条件时,可以在相临数据帧或远程帧之间发送一个到两个超载帧,用于提供相临数据帧或远程帧之间的附加延时。
另外数据帧或远程帧以帧间空间的位场同先前发送的上述四种类型的帧隔
开。
1 MAC数据帧
一个MAC数据帧由七个位场构成。如下图所示,它们是:帧起始场(SOF),仲裁场,控制场(两位保留位+DLC场),数据场,CRC场,ACK场,和帧结束场(EOF)(1)帧起始场(SOF):标志数据帧和远程帧的起始,它由单个“显性”位构成。只有当总线为空闲状态时,才允许节点开始发送,所有节点必须同步于首先开始发送的帧起始引起的上升沿。
(2)仲裁场:仲裁场由LLC子层的标识符和RTR位构成,在MAC数据帧中,RTR位数值为“0”
(3)控制场:控制场由6位构成,包括两位将来DLC扩展的保留位,总是
为“0”。
(4)数据场:MAC数据场与LLC数据场格式相同。
(5)CRC场:CRC场包括CRC序列,后随CRC界定符。用于帧校验的CRC序列由特别使用于位数小于127位帧的循环冗余码校验驱动。为
实现CRC计算,被除的多项式被定义为这样一个多项式,其系数由帧
起始,仲裁场,控制场,数据场和15位最低系数为0组成的解除填充
的位流给定。此多项式被下列生成多项式相除(系数按模2计算),余
数即为发至总线的CRC序列。