搜索
bottom↓
回复: 23

UBUNTU系统通过spi扩展can接口,实时性如何?会不会丢数据?

[复制链接]

出0入0汤圆

发表于 2021-7-8 22:21:53 | 显示全部楼层 |阅读模式
用英伟达的tx2通过spi接口外加MCP2518芯片扩展can接口,发现数据量大时会有丢包现象,且很明显,是不是ubuntu实时性的问题?

出20入26汤圆

发表于 2021-7-8 23:04:17 来自手机 | 显示全部楼层
之前公司用了人家的工控机,安卓系统,在底层接收数据得做队列接收

出10入29汤圆

发表于 2021-7-8 23:33:45 | 显示全部楼层
SPI转CAN的这种芯片,客户反馈说同时收发时候会卡死,我自己没用过。

出0入0汤圆

发表于 2021-7-9 00:19:48 | 显示全部楼层
LM5017 发表于 2021-7-8 23:33
SPI转CAN的这种芯片,客户反馈说同时收发时候会卡死,我自己没用过。

MCP2515用了很多,没有遇见过这种情况,不过是用单片机做的

出190入0汤圆

发表于 2021-7-9 06:30:37 来自手机 | 显示全部楼层
mcp2515,自己写了can字符设备驱动,用着挺稳定

出40入0汤圆

发表于 2021-7-9 08:04:48 | 显示全部楼层
看驱动吧,很多工控机都是ubuntu 带can接口。x86工控机一般是pcie扩展,包括树莓派也是类似你这样的架构,应该不是ubuntu的问题。

出0入0汤圆

 楼主| 发表于 2021-7-9 08:27:33 | 显示全部楼层
tdatd 发表于 2021-7-9 08:04
看驱动吧,很多工控机都是ubuntu 带can接口。x86工控机一般是pcie扩展,包括树莓派也是类似你这样的架构, ...

我实际使用时是接毫米波雷达,当雷达检测到障碍物个数比较少时(如5。6个)数据不会丢失,但当检测到障碍物个数比较多时,几十个以上,最多100个,这时候丢包就很严重了。现在考虑两个方面:1是不是ubuntu这端应该有个数据缓存区或fifo,这个是不是设置的太小了;2是mcp通过can读取到数据后暂存在fifo中,这个fifo是不是太小,导致spi那边还没读取就已经满了?

出0入0汤圆

 楼主| 发表于 2021-7-9 08:29:37 | 显示全部楼层
knight_sh 发表于 2021-7-9 06:30
mcp2515,自己写了can字符设备驱动,用着挺稳定

我实际使用时是接毫米波雷达,当雷达检测到障碍物个数比较少时(如5。6个)数据不会丢失,但当检测到障碍物个数比较多时,几十个以上,最多100个,这时候丢包就很严重了。现在考虑两个方面:1是不是ubuntu这端应该有个数据缓存区或fifo,这个是不是设置的太小了;2是mcp通过can读取到数据后暂存在fifo中,这个fifo是不是太小,导致spi那边还没读取就已经满了?

出0入0汤圆

 楼主| 发表于 2021-7-9 08:34:36 | 显示全部楼层
knight_sh 发表于 2021-7-9 06:30
mcp2515,自己写了can字符设备驱动,用着挺稳定

我实际使用时是接毫米波雷达,当雷达检测到障碍物个数比较少时(如5。6个)数据不会丢失,但当检测到障碍物个数比较多时,几十个以上,最多100个,这时候丢包就很严重了。现在考虑两个方面:1是不是ubuntu这端应该有个数据缓存区或fifo,这个是不是设置的太小了;2是mcp通过can读取到数据后暂存在fifo中,这个fifo是不是太小,导致spi那边还没读取就已经满了?

出0入0汤圆

 楼主| 发表于 2021-7-9 08:35:54 | 显示全部楼层
jufr12315 发表于 2021-7-8 23:04
之前公司用了人家的工控机,安卓系统,在底层接收数据得做队列接收

底层具体是指那一部分,驱动这一层吗?

出0入22汤圆

发表于 2021-7-9 08:57:06 | 显示全部楼层
MCP2515用过,控制好数据量还是没有问题的

出0入0汤圆

发表于 2021-7-9 09:01:23 | 显示全部楼层
如果can控制器丢了数据应该可以从寄存器读到状态。

出190入0汤圆

发表于 2021-7-9 09:08:11 | 显示全部楼层
applededipan 发表于 2021-7-9 08:34
我实际使用时是接毫米波雷达,当雷达检测到障碍物个数比较少时(如5。6个)数据不会丢失,但当检测到障碍 ...

从描述上看:1,fifo有可能过小,驱动里最好还是要实现一层fifo; 2, 最多达100个障碍物,是不是可以将can报文协议压缩,8字节的报文尽可能多的表达检测的状态,而不是一个障碍物一条can报文

出0入0汤圆

 楼主| 发表于 2021-7-9 09:25:27 | 显示全部楼层
knight_sh 发表于 2021-7-9 09:08
从描述上看:1,fifo有可能过小,驱动里最好还是要实现一层fifo; 2, 最多达100个障碍物,是不是可以将ca ...

这个是传感器定死了的,不能修改。它的规则是如果有N个障碍物,会先发一条ID为A的消息,该消息包含障碍物个数,然后紧接着发送N条ID为B的消息,再发送N条ID为C的消息,再发送N条ID为D的消息,每个ID的消息内都包含了对障碍物的不同属性描述。所以如果有N个障碍物,啊那么发送的消息数是 1 + N + N + N 条can报文。如果N大于10,则基本都会丢包了。。。

出190入0汤圆

发表于 2021-7-9 09:35:17 | 显示全部楼层
applededipan 发表于 2021-7-9 09:25
这个是传感器定死了的,不能修改。它的规则是如果有N个障碍物,会先发一条ID为A的消息,该消息包含障碍物 ...

那驱动的中断要响应非常快,中断上半部从寄存器读到本地fifo,下半部读fifo发往用户空间,fifo空间要大一点

出0入0汤圆

发表于 2021-7-9 09:39:25 | 显示全部楼层
我们之前在TX2下面调2515也遇到过丢包的问题,应该是TX2的2515驱动问题。
回来自己做的can卡走的utp。

出0入0汤圆

 楼主| 发表于 2021-7-9 09:48:11 | 显示全部楼层
knight_sh 发表于 2021-7-9 09:35
那驱动的中断要响应非常快,中断上半部从寄存器读到本地fifo,下半部读fifo发往用户空间,fifo空间要大一 ...

现在初步感觉也是这个地方有点问题

出0入0汤圆

 楼主| 发表于 2021-7-9 09:48:55 | 显示全部楼层
Mecono 发表于 2021-7-9 09:39
我们之前在TX2下面调2515也遇到过丢包的问题,应该是TX2的2515驱动问题。
回来自己做的can卡走的utp。 ...

两点之间 曲线最短

出0入0汤圆

发表于 2021-7-9 10:14:58 | 显示全部楼层
applededipan 发表于 2021-7-9 09:48
两点之间 曲线最短

用tx2的原生CAN就没有丢包的问题。

出0入0汤圆

 楼主| 发表于 2021-7-9 10:31:48 | 显示全部楼层
Mecono 发表于 2021-7-9 10:14
用tx2的原生CAN就没有丢包的问题。

是的 但是如果在用原生can时,读取can数据的线程中sleep几个ms 是不是也会丢数据?

出0入0汤圆

发表于 2021-7-9 11:32:02 | 显示全部楼层
applededipan 发表于 2021-7-9 10:31
是的 但是如果在用原生can时,读取can数据的线程中sleep几个ms 是不是也会丢数据? ...

canfd掉是正常的,你可以算下波特率,和芯片缓冲区的接收能力,就可以得出来系统最晚取数据的时间,如果系统不能保证,就会掉。

出0入0汤圆

发表于 2021-7-9 11:52:27 | 显示全部楼层
applededipan 发表于 2021-7-9 10:31
是的 但是如果在用原生can时,读取can数据的线程中sleep几个ms 是不是也会丢数据? ...

本身ubuntu的系统调度就有不确定性,跑can的话,帧间隔不是很稳定。
我们后期换成了mcu做的can 网关。

出20入26汤圆

发表于 2021-7-9 12:02:24 来自手机 | 显示全部楼层
applededipan 发表于 2021-7-9 08:35
底层具体是指那一部分,驱动这一层吗?

对的,我记得之前用的工控机也是这个CAN芯片,这个芯片应该是可以的,看看驱动有没有问题

出0入0汤圆

发表于 2021-7-10 22:15:26 | 显示全部楼层
估计中断太频繁了,内核忙不过来
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-20 05:23

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

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