搜索
bottom↓
回复: 12

求教tiky,TK499的CAN接收中断经常卡死,无法进入,请帮忙处理下

[复制链接]

出0入0汤圆

发表于 2023-3-24 10:00:34 | 显示全部楼层 |阅读模式
目前我们用TK499做仪表,主要是走CAN通信,最近客户反馈仪表经常报错,无法正常显示CAN总线的信息,经反复排查,发现CAN接收中断不定时的卡死(CAN配置使用官方提供的例程);

排查方式:
1. TK499将CAN接收中断设定为最高优先级,每次中断中都对FIFO做清除处理,同时任务使用2个定时器中断(TIM1,TIM3),通过CAN线一直发送数据到TK499,发现半小时左右,CAN中断不能正常进入,其他程序运行正常,查看寄存器,发现fifo状态满。

2. 去上述两个定时器,仅保留CAN中断,测试后发现这种无法进入CAN中断的情况不会出现,CAN一直正常。

还请tiky帮忙处理下问题,批量的产品,等着出货呢。

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出20入186汤圆

发表于 2023-3-24 10:58:29 | 显示全部楼层
你到官网找联系方式,给板主发个大红包吧,

出0入475汤圆

发表于 2023-3-24 13:22:36 来自手机 | 显示全部楼层
根据你的描述,到底是can中断卡死还是压根不能进中断?
前者的话一般是指死机或者假死机在中断处理函数中;后者是就和没有can一样,不会进行任何的can处理

你说那两个定时器影响了can,那么你定时器确保是优先级低于can的?还有你can中断后的信息处理是在中断里面做的?还是主循环做的,前者的话处理的完吗,在下一帧can数据来之前?
很大程度上可能和你的系统架构引起的,简单验证:can中断啥都不做,只把对应的中断清掉,不做任何的应用层数据处理;
定时器有不做任何应用层处理,
看看还卡死不

出0入143汤圆

发表于 2023-3-24 14:21:16 | 显示全部楼层
      为了排除FIFO占满这情况,你看看是不是can的抢占级别是不是高于定时器了。或者你定时器中断的任务拆解一下,看看FIFO满的时候有没有延后。如果延后,那定时器中断的任务看能不能挪点到大循环中处理。
      我看我们的工程师在做GRBL的CNC显示程序时,也是用这个方法。这个程序的实时性是相当高的,因为定时器中要实时处理三个步进电机,并且都是用软件触发。另外还要实现接收USB虚拟串口的数据,总线还要每秒钟刷约54MB的数据到RGB高分辨率的屏上。任务实在太重,工程师只好用上TKM32F499的大容量内存的优势,什么东西尽量都开一个大缓冲池,串口是实时接收,一个数据也不能漏,但是处理可以可以慢慢来啊。于是就拆解任务到大循环中处理。另外,显示任务也很重,实在没办法,也做了环回处理。CNC的指令实时性要求也较高,放到队列里处理。这样一来,好多任务都巧妙化解掉了。

出0入143汤圆

发表于 2023-3-24 15:05:50 | 显示全部楼层
1a2b3c 发表于 2023-3-24 13:22
根据你的描述,到底是can中断卡死还是压根不能进中断?
前者的话一般是指死机或者假死机在中断处理函数中; ...
(引用自3楼)

谢谢你的专业回复,按二楼的说法这个红包应该是给你的。我这里有三个红包,不知你有没有满意的?需要的话到以下链接中任意拍一件,留言:论坛赠送,等到客服打单出来给你单号你就点退款就行,我们以保密的方式包邮寄出。如果你的收件信息不需要保密,可以直接给地址电话客服直接打单就行。
小红包:https://item.taobao.com/item.htm ... amp;id=656179459916
中红包:https://item.taobao.com/item.htm ... amp;id=540556839364
大红包:https://item.taobao.com/item.htm ... amp;id=680002210504
三个红包.jpg

出0入0汤圆

 楼主| 发表于 2023-3-24 16:30:15 | 显示全部楼层
1a2b3c 发表于 2023-3-24 13:22
根据你的描述,到底是can中断卡死还是压根不能进中断?
前者的话一般是指死机或者假死机在中断处理函数中; ...
(引用自3楼)

谢谢回复,首先,我们也不能确定是不是定时器的干扰;另外,在CAN中断中,只负责接收数据到缓存,不做任何的应用层数据处理;CAN接收中断的优先级已经是最高。
经过测试,只保留一个can中断,不会出现CAN卡死的情况,增加其他的中断,这种情况会随机出现。
另外有个条件忘记提了,CAN总线的报文周期是20ms。查寄存器,CAN总线经常报数据溢出的错误,目前的做法是,通过监测这个数据溢出的状态,定期在CAN中断外部清除FIFO,现在看来,程序还在正常跑,还需要继续测试看看是不是彻底解决了。

出0入0汤圆

发表于 2023-3-24 17:07:36 | 显示全部楼层
请问仪表用的是什么图形库。

出0入8汤圆

发表于 2023-3-26 16:17:41 来自手机 | 显示全部楼层
楼主这是做的汽车仪表吗?

出0入0汤圆

 楼主| 发表于 2023-3-28 13:14:40 | 显示全部楼层
了无 发表于 2023-3-26 16:17
楼主这是做的汽车仪表吗?
(引用自8楼)

用到叉车上的,不是汽车的。

出0入16汤圆

发表于 2024-1-18 14:09:17 | 显示全部楼层
c67890@163.com 发表于 2023-3-28 13:14
用到叉车上的,不是汽车的。
(引用自9楼)

表做好了么?

出0入0汤圆

 楼主| 发表于 2024-1-19 13:13:14 | 显示全部楼层

做好了,一段时间收不到CAN消息,自动复位CAN,重新配置。

出0入16汤圆

发表于 2024-1-19 13:24:21 | 显示全部楼层
c67890@163.com 发表于 2024-1-19 13:13
做好了,一段时间收不到CAN消息,自动复位CAN,重新配置。
(引用自11楼)

20MS CAN 周期还好,不算太快,这个总线ID 不会太多,数据量一般不会很大,照常说不会溢出
BUFFER 溢出后才清除不会丢失数据帧么?

出0入0汤圆

 楼主| 发表于 2024-1-19 13:42:27 | 显示全部楼层
TigerFish 发表于 2024-1-19 13:24
20MS CAN 周期还好,不算太快,这个总线ID 不会太多,数据量一般不会很大,照常说不会溢出
BUFFER 溢出后 ...
(引用自12楼)

不是溢出问题,具体什么问题厂家应该知道吧,反正我这儿是处理不了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-25 07:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表