发送器就会发送一个气体放电灯乌有标志
发布日期:2024-04-29 08:07 点击次数:144
CAN总线调试经过中出现报文发送失败。好多工程师齐对此只知其一不知其二,今天咱们就以CAN报文发送失败的问题来作念一次研讨。
在了解CAN报文为什么会发送失败之前咱们先望望一帧圭臬的CAN报文到底应该是怎样样的。表1是一帧平素圭臬数据帧的报文构成。
表1 圭臬数据帧报文关节构成
图1 圭臬数据帧关节
CAN总线是一种基于播送的通信相貌,为了保证总线上的每一个平素节点齐能正确的接收到报文,报文的发送者条目至少一个接收节点在报文发送截止前要作出唐突,这亦然报文里ACK存在的原因。
一帧CAN报文中ACK段长度为2个位,包含唐突罅隙(ACK Slot)和唐突界定符(ACK Delimter)。在唐突场里,发送器发送两个隐性位。当接收器正确地接收到有用的报文,接收器就会在唐突罅隙(ACK Slot)技艺(发送ACK信号)向发送器发送一“显性”的位以示唐突。
唐突罅隙:通盘接收到匹配CRC序列(CRC SEQUENCE)的站会在唐突罅隙(ACK Slot)技艺用一显性的位写入发送器的隐性位来作出回话。唐突界定符:ACK界定符是ACK场的第二个位,况且是一个必须为隐性的位。因此,唐突罅隙(ACK Slot)被两个隐性的位所包围,也即是CRC界定符(CRC Delimter)和ACK界定符(ACK Delimter)。
精河县洋德杀螨剂有限公司图2 平素ACK段报文
而淌若总线上莫得ACK唐突(即唐突罅隙为隐性),发送器就会发送一个乌有标志,况且发送乌有计数器值加8, 食品添加剂节点就会对报文进行自动重发, 电动工具若自动重发照旧收不到ACK,饮料加工则在发送乌有计数器计数满128后(即出现16帧乌有帧), 玩具球由乌有主动转为乌有被迫景色, 仪表如图3所示。
那导致ACK段出错的原因有哪些呢?底下小编纪念了一些。
总线上唯有一个有用节点:发送报文的节点在发送出一帧报文后会检测总线上唐突罅隙的景色,淌若检测到唐突罅隙为隐性位,则示意该帧报文莫得获取ACK,气体放电灯发送失败,需要重发,而由于发送乌有计数器会在发送失败后累加,直到该节点关闭。是以,当总线上唯有一个有用节点时,这个节点是发不出去数据的,因为它所发出的数据帧中的ACK Slot莫得另外一个节点来填充,将耐久是隐性位,这个节点会一直重发数据直到发送得胜或发送被取消。波特率不匹配或者节点莫得动手化,导致莫得ACK;总线线缆短路,断路,接反;高速CAN总线上接的节点不是高速CAN,而是容错低速CAN,导致不匹配。
图3 唐突界定符乌有帧
图4 莫得ACK的报文
当你在调试CAN总线时出现节点发送报文失败的情况时,一定要查验是不是以上几点好像导致你的总线上ACK十分。而借助允洽的仪器,不错在查找CAN总线乌偶而一本万利。图4即给与致远电子的CANScope来对乌有帧进行标识,同期找到乌有帧对应的波形来查找出乌多情况。CANScope还不错对CAN总线物理层、数据链路层、诓骗层作念一系列的测试,为CAN工程师处置测试贫窭。
图5 CANScope测试技俩气体放电灯