找回密码
 立即注册
查看: 114|回复: 11

AI8H2K12U USB转串口 较高数据流 偶然有数据位置调换

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:15
  • 最近打卡:2025-06-27 10:15:53

9

主题

66

回帖

1106

积分

金牌会员

积分
1106
发表于 前天 17:53 | 显示全部楼层 |阅读模式
之前做一个项目,用到较高速度的串口传输ADC采样数据,大概需要2M以上,看宣传AI8H2K12U 可以到10M波特率。

下位机为32G8K64U,主频40M,外部晶振,使用串口DMA一次发送256个数据(数据量在40Kb/s~200Kb/s),发送跑2.5M没问题,超过2.5M的时候,串口助手每次收到的包就只有190个字节左右(波特率5M的时候,串口引脚的速度、电流、上拉电阻什么都设置过了)

AI8H2K12U的固件已经用最新的ISP升级到最新的版本了,问题依旧,这个问题很奇怪,困扰了我很久,我看大家好像都能跑到10M,之前没敢问,不过有大佬回答我波特率 ≠ 应用层传输速率也确实解答我之前的疑惑(但其实我之前在官方群里面有问过是不是能用10M的速度跑满,得到的是肯定是回复……)

其实波特率这个不是太重要,因为2.5M也够用了,但前几天突然发现,发数据包的时候,里面的数据偶尔有几个相邻的数据交换了位置,就很离谱,还不是丢包,接收数量没错,确实是有几个相邻的数据交换了位置,尝试吧速度降低到1M,问题依旧。

然后发定死的假数据,没有相邻的数据交换的情况,把ADC的数据放进串口的缓冲区里面,就又会出现数据偶尔有几个相邻的数据交换了位置的情况

然后在用STC8H2K12U有问题的情况下,换上别的串口芯片就一点问题没有,丝滑的一批,感觉大概率是STC8H2K12U的问题,不知道有没有修复的可能


本帖就权当做一个问题记录吧


截图202506251857006647.jpg
可以看到中间电流电压的数据错位了一下这样回导致我的上位机出现异常数据
截图202506251858432702.jpg           截图202506251858544940.jpg

总之用回    别  的   串   口   芯   片     就一点事没有了


不过我目前复盘了一下,之前我没怀疑丢包的问题,是因为我监控上位机收到的数据都能整除256,但突然想起来我的上位机是收满256个字节才触发一次刷新,所以说永远都能整除256


如果这么看的话,大概率是8H2K12U丢包,而我上位机会对数据进行拼接,看起来才像“数据错位”

回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:219
  • 最近打卡:2025-06-27 08:38:34
已绑定手机

72

主题

2015

回帖

4534

积分

荣誉版主

无情的代码机器

积分
4534
发表于 前天 18:17 | 显示全部楼层

截图202506271022129224.jpg
波特率 ≠ 应用层传输速率
等USB-DMA上线,应该会提升很多。
三天不学习,赶不上刘少奇~
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:15
  • 最近打卡:2025-06-27 10:15:53

9

主题

66

回帖

1106

积分

金牌会员

积分
1106
发表于 前天 18:48 | 显示全部楼层
erci*** 发表于 2025-6-25 18:17
波特率 ≠ 应用层传输速率
等USB-DMA上线,应该会提升很多。

看来暂时只能用***了,哈哈,还有那个数据交互的问题就有点离谱,刚开始还以为我的上位机有问题

点评

我用8H2K12U-SOP8+CA-IS3722HS+STC8H8K64U-45I-LQFP32做USB转串口隔离传输,实测6Mbps波特率稳的很, 每秒发送200帧数据,每帧数据长度46字节,实际数据码率是9200byte/s。 楼主的丢包问题很可能是上位软件处理不过  详情 回复 发表于 昨天 00:31
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:479
  • 最近打卡:2025-06-27 05:45:51
已绑定手机

80

主题

5202

回帖

9277

积分

超级版主

DebugLab

积分
9277
发表于 前天 19:07 | 显示全部楼层
理论最高频率(位频率,即波特率)是字节内的,这是硬件完成的,肯定可以达到最高频率
字节频率还有字节间隔的影响,DMA总线仲裁、访问时间、状态机等因素会导致字节间隔增大,从而降低字节频率
DebugLab
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:470
  • 最近打卡:2025-06-27 10:13:04
已绑定手机

38

主题

2241

回帖

2765

积分

荣誉版主

积分
2765
发表于 昨天 00:31 | 显示全部楼层
御坂美*** 发表于 2025-6-25 18:48
看来暂时只能用CH343P了,哈哈,还有那个数据交互的问题就有点离谱,刚开始还以为我的上位机有问题 ...

我用8H2K12U-SOP8+CA-IS3722HS+STC8H8K64U-45I-LQFP32做USB转串口隔离传输,实测6Mbps波特率稳的很,
每秒发送200帧数据,每帧数据长度46字节,实际数据码率是9200byte/s。
楼主的丢包问题很可能是上位软件处理不过来。

睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:15
  • 最近打卡:2025-06-27 10:15:53

9

主题

66

回帖

1106

积分

金牌会员

积分
1106
发表于 昨天 01:18 | 显示全部楼层
晓*** 发表于 2025-6-26 00:31
我用8H2K12U-SOP8+CA-IS3722HS+STC8H8K64U-45I-LQFP32做USB转串口隔离传输,实测6Mbps波特率稳的很,
每 ...

不会,我的上位机开到6M,500Kb/都没什么问题,也就是500000byte/s,稳定跑,甚至还能更高,其他项目验证过了
前面那里我写错了不是3M是5M,我也用5M波特率试了一下,也是不太行,不知道是不是我一次发的包太多,但这都还好,因为我2.5M其实是够用的,最主要的问题是那个时不时就有相邻几个数据交换位置的事情就很蛋疼
然后在程序不变的情况下,把STC8H2K12U扣下来换成***就毛事没有了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:219
  • 最近打卡:2025-06-27 08:38:34
已绑定手机

72

主题

2015

回帖

4534

积分

荣誉版主

无情的代码机器

积分
4534
发表于 昨天 11:50 | 显示全部楼层
不是大佬哈,之前也学习这个问题。不过我之前测的两者用USB-CDC驱动表现差异不大,除非换专用驱动,楼主用的哪个驱动?
这个数据交互也没遇到过,
另外楼主用的USB转双串口固件还是自己写的CDC程序能不能发下看看。
三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:453
  • 最近打卡:2025-06-27 08:53:15
已绑定手机

40

主题

2075

回帖

7153

积分

论坛元老

积分
7153
发表于 2 小时前 | 显示全部楼层
烧录一箭双雕转双串口学习板,8H2K08U系列的例子:
“A0, USB-CDC转双串口开源程序 - 根据串口波特率自动调整主频”,到工具上试试。
我烧录这个例子后,用跳线帽短接工具的TXD与RXD进行自发自收测试,

串口助手设置波特率2.5M,每包发送256字节数据,
收发200多万字节都没发现丢包与数据错乱问题。
截图202506270929546931.jpg
串口助手设置波特率10M,每包发送256字节数据,
收发300多万字节也没发现丢包与数据错乱问题。
截图202506271022208464.jpg

例程包下载地址:https://www.stcai.com/hxgnsyb
截图202506270928022839.jpg

截图202506271022408176.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:15
  • 最近打卡:2025-06-27 10:15:53

9

主题

66

回帖

1106

积分

金牌会员

积分
1106
发表于 1 小时前 | 显示全部楼层
乘风*** 发表于 2025-6-27 09:30
烧录一箭双雕转双串口学习板,8H2K08U系列的例子:“A0, USB-CDC转双串口开源程序 - 根据串口波特率自动调 ...

我烧的就是官方最新ISP里面的固件
目前的情况:
说STC8H2K12U没问题吧,换成  别 家 的 串 口 芯 片 就没事
说STC8H2K12U有问题吧,发假数据的时候又稳得一批
就挺离谱的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:15
  • 最近打卡:2025-06-27 10:15:53

9

主题

66

回帖

1106

积分

金牌会员

积分
1106
发表于 1 小时前 | 显示全部楼层
乘风*** 发表于 2025-6-27 09:30
烧录一箭双雕转双串口学习板,8H2K08U系列的例子:“A0, USB-CDC转双串口开源程序 - 根据串口波特率自动调 ...

而且目前看您这个数据流量比较小,我是20万个数据一秒,您这边是一千个数据一秒,差了几个数量级
不过我目前复盘了一下,之前我没怀疑丢包的问题,是因为我监控上位机收到的数据都能整除256,但突然想起来我的上位机是收满256个字节才触发一次刷新,所以说永远都能整除256
如果这么看的话,大概率是8H2K12U丢包,而我上位机会对数据进行拼接,看起来才像“数据错位”
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-27 11:43 , Processed in 0.147927 second(s), 112 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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