当前位置:文档之家› CAN总线特点与规范

CAN总线特点与规范

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序列。

X15+X14+X10+X8+X7+X4+X3+1为实现这一功能,可以使用15位移位寄存器CRC(14:0),NXTBIT表示上面提到的数据帧构成的位流的下一位,CRC序列计算如下:CRC(14:0)=0;REPEATCRCNXT=NXTBIT exor CRC(14)CRC(14:1)=CRC(13:0)CRC(0)=0,//左移一位,最低位补0If crcnxt thenCrc(14:0)=crc(14:0)exor (4599);End ifUntil (nxtbit=数据结束或存在一个错误条件)。

数据场最后一位发送/接收后,CRC(14:0)中含有CRC序列。

CRC序列后随的CRC 界定符仅有单个“隐性”位构成。

(6)ACK场:ACK场由两位:ACK隙和ACK界定符。

发送节点发送两个隐性位。

在ACK隙期间,接收到匹配数据帧的节点,以显性位改写发送器的隐性位作为ACK应答。

(7)帧结束:帧结束场由7个“隐性“位构成2 MAC远程帧激活为数据接收器的节点可以通过发送一个远程帧启动源节点发送数据。

一个远程帧由6个位场构成:帧起始场(SOF),仲裁场,控制场(两位保留位+DLC场),CRC 场,ACK场,和帧结束场(EOF),无数据场。

其中仲裁场也有LLC子层的标识符场和RTR位构成,但这时RTR 为“1“,表示远程帧。

其它位场与数据帧相同。

3出错帧出错帧由两个位场构成,第一个位场由来自不同节点的错误标志叠加给出,第二个位场为错误界定符,由8个“隐性位“构成(1)错误标志由两种错误标志形式:活动错误标志和认可错误标志。

活动错误标志由6位“显性“位构成。

认可错误标志由6位”隐性“位构成,认可错误标志的这些位可由来自其它节点的”显性“位改写。

一个检测到出错状态的“错误-激活“节点,借助发送活动错误标志来标注。

此错误标志形式将破坏要求满足位填充规则的位场或破坏其它要求固定形式的位场。

这样其它节点将检测到一个出错条件,并开始发送相应的出错标志。

因此,这时总线上监控到的”显性“位序列是各个节点发送的不同错误标志叠加而成。

此序列总长度在6~12位之间变化。

错误-认可型节点检测到出错条件后,将试图发送一个认可错误标志来标注。

错误-认可型节点将等待6个连续的隐性位(认可出错标志),当在这6位被检测完毕,认可型出错标志即完成。

由于数据帧和远程帧传送期间检出错误(活动错误),则当前报文被放弃,并且为报文的重新传送进行初始化,并发送一个出错帧,自检出错误到下一个报文开始发送的恢复时间,如果不存在新的错误最多为29个位时间。

发送错误标志的时点:节点在检测到位错误,填充错误,形式错误或应答错误时,该节点将在下一位开始发送出错标志,当检测到CRC错误时,出错标志在紧跟应答界定符后的一位开始发送,除非其它出错条件的出错标志已经开始发送。

4超载帧超载帧包括两个位场:超载标志和超载界定符。

超载标志与活动错误标志一样由6位“显性“位构成。

超载界定符与错误界定符格式相同,由8个“隐性位“构成。

存在两个条件导致发送超载帧,一个条件是接收器线路在接收下一帧前需要更多的时间处理当前数据,亦即接收器未准备好;另一个条件是在间歇场期间测出显性位(间歇场要求三个隐性位,若不满足即超载)。

超载帧的发送也相应的起始于两个条件,一个是所希望间歇场的第一位周期期间;另一个是间歇场期间检测出显性位后的一个位周期。

由于超载标志破坏了间歇场的固定形式,因此所有其它节点同时开始发送超载标志。

5帧间空间数据帧或远程帧以帧间空间的位场同先前发送的上述四种类型的帧隔开。

而超载帧和出错帧前面不存在帧间空间。

帧间空间包括间歇场和总线空闲场,并且对于先前帧已发送“错误-认可“标志的节点还包括暂停发送场。

即间歇场+暂停发送场+总线空闲场。

(1)、间歇场间歇场由三个隐性位构成。

间歇期间不允许节点开始发送数据帧或远程帧。

(2)总线空闲场总线空闲场可以是任意长度。

总线空闲(隐性)时,任何节点均可访问总线以便发送。

其它帧发送期间,等待发送的帧在紧随其间歇场后的第一位启动。

相关主题