硬汉嵌入式论坛

 找回密码
 立即注册
查看: 751|回复: 13
收起左侧

[有问必答] 串口DMA发送一包数据出现分帧

[复制链接]

18

主题

43

回帖

97

积分

初级会员

积分
97
发表于 2023-9-25 17:40:15 | 显示全部楼层 |阅读模式
串口使用DMA发送数据,配置都是正确的,发送一包1000bytes的数据包,sscom串口助手接收的数据出现了分帧,第一帧是512字节,零一帧是488字节。

DMA配置的是发送1000bytes,且数据也都是有的。
请问又碰到过这种情况吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106757
QQ
发表于 2023-9-25 17:46:58 | 显示全部楼层
分帧间隔了多长时间。
回复

使用道具 举报

18

主题

43

回帖

97

积分

初级会员

积分
97
 楼主| 发表于 2023-9-25 17:55:05 | 显示全部楼层
屏幕截图 2023-09-25 174958.png
我从串口助手中看出来是40ms左右。115200-E-8-1波特率,发送512字节,算出来应该是35ms的间隔,这个时间超过了,所以出现了分帧。
我另一个程序串口DMA发送是正常的,这个程序不正常,但代码都是一样的。只不过将tcp服务器用socket来写了,原来是netconn,串口是用来转发网络数据的。
网络数据接收完全的。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106757
QQ
发表于 2023-9-26 07:06:40 | 显示全部楼层
Zachary唷 发表于 2023-9-25 17:55
我从串口助手中看出来是40ms左右。115200-E-8-1波特率,发送512字节,算出来应该是35ms的间隔,这个时间 ...

按说应该无影响的,以太网的DMA是独立的,没有使用通用DMA,顶多就是以太网DMA和你的串口DMA访问同一个空间,不过也应该间隔这么大。

可以屏蔽下以太网,然后使用这个有问题的工程单独测试下串口DMA看看是否正常。
回复

使用道具 举报

6

主题

21

回帖

39

积分

新手上路

积分
39
发表于 2023-9-26 07:51:30 | 显示全部楼层
加时间戳和分包显示,把√去了试试
回复

使用道具 举报

18

主题

43

回帖

97

积分

初级会员

积分
97
 楼主| 发表于 2023-9-26 09:03:12 | 显示全部楼层
eric2013 发表于 2023-9-26 07:06
按说应该无影响的,以太网的DMA是独立的,没有使用通用DMA,顶多就是以太网DMA和你的串口DMA访问同一个空 ...

我DMA发送时,关全局中断也不行。
后来发现应该是USB转485的问题,测试的时候用到是两种USB转485,换另一个牌子的就好了
回复

使用道具 举报

1

主题

8

回帖

11

积分

新手上路

积分
11
发表于 2023-9-26 09:51:56 | 显示全部楼层
这些串口软件分包方面都有点问题,楼主可以试试"Bittly"和“UartAssist”这两个,这两个分包的问题会好很多
回复

使用道具 举报

2

主题

269

回帖

275

积分

高级会员

积分
275
发表于 2023-9-26 10:55:26 | 显示全部楼层
建议上逻辑分析仪测试,usb串口芯片内有缓冲的不知道是否有影响。
回复

使用道具 举报

18

主题

43

回帖

97

积分

初级会员

积分
97
 楼主| 发表于 2023-9-26 15:35:01 | 显示全部楼层
Mox_S 发表于 2023-9-26 09:51
这些串口软件分包方面都有点问题,楼主可以试试"Bittly"和“UartAssist”这两个,这两个分包的问题会好很多

好的
回复

使用道具 举报

75

主题

685

回帖

910

积分

金牌会员

积分
910
发表于 2023-9-26 15:49:08 | 显示全部楼层
Zachary唷 发表于 2023-9-25 17:55
我从串口助手中看出来是40ms左右。115200-E-8-1波特率,发送512字节,算出来应该是35ms的间隔,这个时间 ...

你这是串口上位机的问题,用逻辑分析仪看看
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106757
QQ
发表于 2023-9-26 16:05:42 | 显示全部楼层
需要更准确的分包时间,可以试试我们TOOL,我们那个串口和CAN时间戳都TOOL硬件实时添加的,不是电脑端软件做的处理添加。

回复

使用道具 举报

18

主题

43

回帖

97

积分

初级会员

积分
97
 楼主| 发表于 2023-9-26 16:34:33 | 显示全部楼层
eric2013 发表于 2023-9-26 16:05
需要更准确的分包时间,可以试试我们TOOL,我们那个串口和CAN时间戳都TOOL硬件实时添加的,不是电脑端软件 ...

忘记了,还有Tool。正好我画了个转接板,都转接出来了。试了一下,没有分帧,已经确定问题了,是USB485的问题,换了几个工具,都没有再出现分帧了。
屏幕截图 2023-09-25 174958.png

图片2.png
回复

使用道具 举报

18

主题

43

回帖

97

积分

初级会员

积分
97
 楼主| 发表于 2023-9-26 16:35:29 | 显示全部楼层
庄永 发表于 2023-9-26 15:49
你这是串口上位机的问题,用逻辑分析仪看看

逻辑分析仪没有,还没有使用过,等硬汉出一个
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106757
QQ
发表于 2023-9-27 06:39:42 | 显示全部楼层
Zachary唷 发表于 2023-9-26 16:34
忘记了,还有Tool。正好我画了个转接板,都转接出来了。试了一下,没有分帧,已经确定问题了,是USB转485 ...

回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-4 17:42 , Processed in 0.607540 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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