Firefly开源社区

[Linux] IPC-M10R800-A3568J RS485使用时丢包、卡死

46

积分

0

威望

0

贡献

技术小白

积分
46
发表于 2022-5-27 16:34:09     
我现在在使用IPC-M10R800-A3568J ,使用的是Ubuntu20.04文件系统,工程需要使用两路RS485同时连续使用,在使用过程中发现RS485会丢包。以下是排除过程:
1、将需要使用的串口由两路RS485切换为两路RS232,则完全使用正常;
2、仅使用一路RS485,不使用另外一路RS485和两路RS232以及两路uart, 则通信正常;
3、将工程代码中关于RS485的代码单独拿出来,仅包含对RS485的写操作,则此进程(图中为midman)在一段时间后变为了僵尸进程,且kworker/0:1+wk2xxx-2进程会占用大量cpu资源,如下图: 7603ac8359fbada3c52098fba1c7657.png
4、在设备中,看到wk2124芯片,调用的compatible属性为“firefly,spi-wk2xxx”,但在kernel的drivers目录里,仅用名为“spi-wk2xxx”的二进制文件,而没有驱动源码。我怀疑可能与wk2124的驱动有关。
回复

使用道具 举报

1165

积分

0

威望

0

贡献

中级创客

Rank: 4

积分
1165
发表于 2022-5-28 10:12:28     
试一下同时用两路 UART 会不会有问题
回复

使用道具 举报

46

积分

0

威望

0

贡献

技术小白

积分
46
发表于 2022-5-29 19:05:59     
Liuth 发表于 2022-5-28 10:12
试一下同时用两路 UART 会不会有问题

是的,使用那两路uart也会出现问题,使用RS232就完全没有问题。RS232是MCU直出的,485和uart是转接的。我怀疑是WK2124的问题。
还有个问题请教,有时候会遇到,在开机状态下输入命令reboot和在图形界面点击重启,设备只是关机了,后面没有启动,有上面可能的原因嘛
回复

使用道具 举报

1165

积分

0

威望

0

贡献

中级创客

Rank: 4

积分
1165
发表于 2022-5-30 09:52:42     
spi 转的 uart 性能是不如原生的,如果一定要用 485 的话,可以降低波特率试试
回复

使用道具 举报

46

积分

0

威望

0

贡献

技术小白

积分
46
发表于 2022-5-30 12:29:35     
Liuth 发表于 2022-5-30 09:52
spi 转的 uart 性能是不如原生的,如果一定要用 485 的话,可以降低波特率试试

现在使用的是9600,按理说波特率不高呢,单个包长也只有几十字节。这个现象比较奇怪,感觉像wk2124驱动的问题
回复

使用道具 举报

1165

积分

0

威望

0

贡献

中级创客

Rank: 4

积分
1165
发表于 2022-5-31 10:44:26     
在设备树 arch/arm64/boot/dts/rockchip/rk3568-firefly-aioj.dtsi 中把DMA关掉试一下
&spi1 {
        status = "okay";
+       dma-names = "!tx", "!rx";
};
回复

使用道具 举报

46

积分

0

威望

0

贡献

技术小白

积分
46
发表于 2022-6-6 10:12:35     
Liuth 发表于 2022-5-31 10:44
在设备树 arch/arm64/boot/dts/rockchip/rk3568-firefly-aioj.dtsi 中把DMA关掉试一下
&spi1 {
         ...

还是不行哎,情况一样的
回复

使用道具 举报

1165

积分

0

威望

0

贡献

中级创客

Rank: 4

积分
1165
发表于 2022-6-6 14:08:53     
那没有办法了,可以尝试添加软件流控,或者改用RS232
回复

使用道具 举报

46

积分

0

威望

0

贡献

技术小白

积分
46
发表于 2022-7-1 15:45:42     
还发现一个很奇怪的问题,使用RS485发送数据时,0d这个数据,在传输后变成了0a,而其他数据不受影响,验证了很多次,就只有0d会变。
d319925d32bc2bc7551c71deb871ea1.png
回复

使用道具 举报

381

积分

0

威望

0

贡献

技术达人

Rank: 2

积分
381
发表于 2022-7-14 19:20:35     
我们这边测试,发送0d,接收正常,能否提供下你那边的复现方法,这边再测试下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表