《工业控制网络(2013)5》由会员分享,可在线阅读,更多相关《工业控制网络(2013)5(29页珍藏版)》请在金锄头文库上搜索。
1、工业控制网络(5),哈工大网络与电气智能化研究所 刘勇 2013(春),四、报文传送及其帧类型4种帧类型: 数据帧(Data Frame):携带数据由发送器至接收器; 远程帧(Remote Frame):通过总线单元发送,以请求发送具有相同标识符的数据帧; 错误帧(Error Frame):由检测到总线错误的任何单元发送; 超载帧(Overload Frame):用于提供当前的和后续的数据帧或远程帧之间的附加延迟。,1.数据帧数据帧由7个不同的位场(Bit Field)组成: 帧起始(Start of Frame) 仲裁场(Arbitration Field) 控制场(Control Fiel
2、d) 数据场(Data Field) CRC场(CRC Field) 应答场(ACK Field) 帧结束(End of Field),(1)帧起始标志数据帧和远程帧的起始,它仅由一个“显性”位构成。所有站必须都同步于首先开始发送的那个站的帧起始前沿。 (2)仲裁场由标识符和远程发送请求(RTR)位组成。,(3)控制场由6位组成,包括两个用于将来扩展的保留位和4位数据长度码。,(4)数据场由数据帧中被发送的数据组成,它可包括0至8个字节,每个字节包括8位,其中首先发送最高有效位。 (5)CRC场包括CRC序列,后随CRC界定符。,(6)应答场为两位长度,包括应答间隙和应答界定符。 (7)帧结束
3、每个数据帧和远程帧均是由7个“隐性”位组成的标志序列界定的。,2.远程帧一个作为某个确定数据接收器的站,可以通过发送一个远程帧,激活一个源节点发送其数据。远程帧由6个不同的位场组成:帧起始、仲裁场、控制场、CRC场、应答场和帧结束。,区分4种不同类型的帧:a.标准格式数据帧;b.标准格式远程帧;c.扩展格式数据帧;d.扩展格式远程帧。对于a,11位标识符后是2个显性位:仲裁场的RTR位和控制场的r1位;对于b,11位标识符后是一个隐性位和一个显性位:仲裁场的RTR位和控制场的r1位。据此可将a与b分开。对于c、d,11位标识符后为两个隐性位:仲裁场的SRR位和IDE位。据此可将c、d与a、b分
4、开。而c、d之间可由扩展ID后的RTR位分开:c中RTR位为显性位,d中RTR位为隐性位。,3.错误帧错误帧由两个不同场组成,第一个场由来自各站的错误标志(Error Flag)叠加得到,后随的第二个场是错误界定符(Error Delimiter)。错误界定符包括个“隐性”位。错误标志发送后,每个站都送出“隐性”位并监视总线,直至检测到一个“隐性”位。此后,开始发送剩余的个“隐性”位。,错误标志具有两种形式:一种是激活错误标志(Active Error Flag),另一种是认可错误标志(Passive Error Flag)。激活错误标志由6个连续的“显性”位组成,而认可错误标志由6个连续的“
5、隐性”位组成,除非它被来自其它节点的“显性”位改写。,一个检测到错误状态的“错误激活”站通过发送一个激活错误标志来标注该错误。这一错误标志形式违背适用于由帧起始至CRC 界定符的所有场的位填充规则,或者破坏了应答场或帧结束场的固定形式。因而,所有其它站将检测到错误状态,并且由它们的部件开始发送错误标志。,这样,在总线上实际被监视到的“显性”位序列是由各个单独站发送的不同错误标志叠加而形成的。该序列的总长度在最小值6位和最大值12位之间变化。一个检测到错误状态的“错误认可”站通过发送一个认可错误标志来试图标注该错误。该“错误认可”站以认可错误标志的开始为起点等待个相同极性的连续位。当检测到个相同
6、位后,认可错误标志即告完成。,4.超载帧超载帧包括两个位场:超载标志和超载界定符。存在两种导致发送超载标志的超载条件:一个是接收器的内部条件,接收器要求下一个数据帧或远程帧的延迟;另一个是在间歇场检测到“显性”位。,由前一个超载条件引起的超载帧起点,仅允许在期望间歇场的第一位时间开始,而由后一个超载条件引起的超载帧在检测到“显性”位后开始发送第一位。最多可产生个超载帧用于延迟下一个数据帧或远程帧。超载标志(Overload Flage)由个“显性”位组成。全部形式对应于激活错误标志形式。超载标志形式破坏了间歇场的固定形式。因而,所有其它站都将检测到一个超载条件,并且由它们的部件开始发送超载标志
7、。,超载界定符(Overload Delimiter)由个“隐性”位组成。超载界定符与错误界定符具有相同的形式。发送超载标志后,站监视总线直至检测到由“显性”到“隐性”位的发送。在此时刻,总线上的每个站均完成送出其超载标志,并且所有站一致地开始发送剩余的个“隐性”位。,5.帧间空间数据帧和远程帧与其前面的帧(不管它们是何种帧:数据帧、远程帧、错误帧或超载帧)均以称为帧间空间的位场分隔开。相反,在超载帧和错误帧前面没有帧间空间,并且多个超载帧也不被帧间空间分隔。帧间空间包括: 间歇场 总线空闲场 暂停发送场,间歇场(Intermission Field)由3个“隐性”位组成。间歇场期间,不允许任
8、何站启动发送数据帧或远程帧。唯一的作用是标注超载条件。总线空闲场(Bus Idle Field)持续时间可为任意长度。此时,总线是开放的,因而任何需要发送的站均可访问总线。在其它报文发送期间,待发送的报文,在间歇场后的第一位开始发送。检测到总线上的一个“显性”位将被理解为帧起始。,暂停发送场(Suspend Transmission Field):“错误认可”站发完一个报文后,在开始下一次报文发送或认可总线空闲之前,它紧随间歇场后送出8个“隐性”位。如果在此期间其它站开始一次发送,该站将变为报文接收器。,五、错误类型 1.位错误(Bit Error)向总线送出一位的某个单元同时也在监视总线。当
9、监视到的总线位数值与送出的位数值不同时,则在该位时刻检出一个位错误。例外:位填充期间、应答期间、认可错误标志。 2.填充错误(Stuff Error)在应使用位填充方法进行编码的报文中,出现了第6个连续相同的位电平时,将检出一个填充错误。,3.CRC错误(CRC Error)CRC序列是由发送器完成的CRC计算结果组成的。接收器以与发送器相同的方法计算CRC。如果计算结果与接收到的CRC序列不相同,则检出一个CRC错误。 4.形式错误(Form Error)当固定形式的位场中出现一个或更多非法位时,则检出一个形式错误。 5.应答错误(Acknowledgement Error)在应答间隙期间,
10、发送器未检测到“显性”位,则由它检出一个应答错误。,六、错误界定 .节点的三种状态:错误激活错误认可总线脱离。 2.总线单元中的两种计数:(1)发送错误计数(2)接收错误计数,3.计数规则 :接收器检出错误时,接收错误计数加1。接收器在送出错误标志后的第一位检出一个“显性”位时,接收错误计数加8。发送器送出一个错误标志时,发送错误计数加8。如果发送器送出一个激活错误标志或超载标志时,发送器检测到位错误,则发送错误计数加8 。如果接收器送出一个激活错误标志或超载标志时,接收器检测到位错误,则接收错误计数加8。,在送出激活错误标志、认可错误标志或超载标志后,任何节点都容许多至7个连续的“显性”位。
11、在检测到第14个连续的“显性”位后,或紧随认可错误标志检测到第8个连续的“显性”位后,以及附加的8个连续的“显性”位的每个序列后,每个发送器的发送错误计数都加8,并且每个接收器的接收错误计数也都加8。,报文成功发送后,则发送错误计数减1,除非它已经为0。报文成功接收后,则接收错误计数减1,如果它处于1和127之间。若接收错误计数为0,则仍保留0,而若它大于127,它将其置为119和127之间的某个数值。发送错误计数等于或大于128或接收错误计数等于或大于128时,节点为“错误认可”。导致节点变为“错误认可”的错误状态使节点送出一个激活错误标志。发送错误计数大于或等于256时,节点为“总线脱离”
12、。,发送错误计数和接收错误计数两者均小于或等于127时,“错误认可”节点再次变为“错误激活”节点。在检测到总线上11个连续的“隐性”位发生128次后,“总线脱离”节点将变为其两个错误计数器均置为0的“错误激活”节点(不再是“总线脱离”)。当错误计数值大于96时,说明总线被严重干扰。它提供测试此状态的一种手段。若系统启动期间,仅有一个节点在线,此节点发送报文后,将得不到应答,检出错误并重复该报文。它可以变为“错误认可”,但不会因此“总线脱离”。,思考题: 1.CAN总线的帧类型有哪几种? 2.详述数据帧的构成。 3.远程帧的含义? 4.如何区分标准数据帧、标准远程帧、扩展数据帧、扩展远程帧? 5.CAN总线的错误类型有哪几种? 6.叙述CAN总线节点是如何根据错误计数器的数值不同而进行节点状态之间的转换的?,