硬汉嵌入式论坛

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

[辅助工具] 高速数据采集

[复制链接]

7

主题

33

回帖

54

积分

初级会员

积分
54
发表于 2025-1-7 11:29:58 | 显示全部楼层 |阅读模式
请问一下论坛里的群友们,有没有什么工具可以把高速的数据导出出来的?目前使用的是D版的Jlink搭配J-Scope的RTT功能。但是每次使用总是报错“clone”版本问题。有时候会莫名退出。速度要求可能1M左右?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115454
QQ
发表于 2025-1-7 11:42:56 | 显示全部楼层
这个东西必须要量化下,1M是1MHz,还是1MB,如果1MHz,每次4个字节,根本做不到的。普票版JLINK,也就是500KB/S左右

你的上一个帖子,我们TOO你的速度是100KHz,每次6字节,也就是600KB/S,  好点的情况下也可以冲击1MB/S,不过已经偶然有丢包了。
回复

使用道具 举报

7

主题

33

回帖

54

积分

初级会员

积分
54
 楼主| 发表于 2025-1-7 11:51:39 | 显示全部楼层
eric2013 发表于 2025-1-7 11:42
这个东西必须要量化下,1M是1MHz,还是1MB,如果1MHz,每次4个字节,根本做不到的。普票版JLINK,也就是500 ...

抱歉,这个确实应该量化下。速度是45K,每次20个字节左右
回复

使用道具 举报

6

主题

231

回帖

249

积分

高级会员

积分
249
发表于 2025-1-7 12:10:58 | 显示全部楼层
串口就可以发出来吧?
回复

使用道具 举报

2

主题

66

回帖

72

积分

初级会员

积分
72
发表于 2025-1-7 16:19:51 | 显示全部楼层
Yhlr 发表于 2025-1-7 11:51
抱歉,这个确实应该量化下。速度是45K,每次20个字节左右

比较保险的话,估计要用正版J-Link里面的高速型号,比如J-Link Ultra+之类的,把JTAG/SWD速率设到25-30MHz以上。
回复

使用道具 举报

1

主题

116

回帖

119

积分

初级会员

积分
119
发表于 2025-1-8 09:47:49 | 显示全部楼层
用usb接口就可以了
回复

使用道具 举报

5

主题

241

回帖

256

积分

高级会员

积分
256
发表于 2025-1-8 12:04:40 | 显示全部楼层
我觉得瓶颈不在数据传输速度,而是发送方式和代码效率上,45k的发送频率那就是22us间隔就要触发一次发送代码,假设用串口发送20字节,上到20M波特率都需要10us才能发完,22us周期内就剩12us执行代码,这点时间大概是不够的
如果能接受一定时间的数据延迟,最好是先放到缓存里再统一发出去,这样既降低通信速率要求又降低代码速度要求
如果不能接受数据延迟,那就只能尽可能优化发送方式和代码效率了
不优化的情况下,只有spi、sdio、高速USB这些能满足
回复

使用道具 举报

7

主题

33

回帖

54

积分

初级会员

积分
54
 楼主| 发表于 2025-1-8 18:42:11 | 显示全部楼层
fxyc87 发表于 2025-1-7 12:10
串口就可以发出来吧?

串口速度还是慢了点
回复

使用道具 举报

7

主题

33

回帖

54

积分

初级会员

积分
54
 楼主| 发表于 2025-1-8 18:42:39 | 显示全部楼层
qinfeng173 发表于 2025-1-7 16:19
比较保险的话,估计要用正版J-Link里面的高速型号,比如J-Link Ultra+之类的,把JTAG/SWD速率设到25-30MH ...

有点太贵了
回复

使用道具 举报

7

主题

33

回帖

54

积分

初级会员

积分
54
 楼主| 发表于 2025-1-8 18:43:09 | 显示全部楼层
hexenzhou 发表于 2025-1-8 09:47
用usb接口就可以了

USB确实是个办法。但是目前项目没有USB接口
回复

使用道具 举报

7

主题

33

回帖

54

积分

初级会员

积分
54
 楼主| 发表于 2025-1-8 18:44:09 | 显示全部楼层
DX3906 发表于 2025-1-8 12:04
我觉得瓶颈不在数据传输速度,而是发送方式和代码效率上,45k的发送频率那就是22us间隔就要触发一次发送代 ...

存起来发送是个办法,不过对RAM的需求也比较高
回复

使用道具 举报

6

主题

231

回帖

249

积分

高级会员

积分
249
发表于 2025-1-9 08:40:00 | 显示全部楼层
Yhlr 发表于 2025-1-8 18:42
串口速度还是慢了点

串口2M速度很轻松,找特定的调整的串口转换的,还能到更高速度。
回复

使用道具 举报

5

主题

241

回帖

256

积分

高级会员

积分
256
发表于 2025-1-9 12:05:28 | 显示全部楼层
Yhlr 发表于 2025-1-8 18:44
存起来发送是个办法,不过对RAM的需求也比较高

是会稍微多消耗些内存,毕竟是用空间换时间嘛
可以试试串口+双缓冲区的方式,保持45k频率和每次20字节不变,数据先写入缓冲区,等缓冲区满后触发串口发送,同时切换到另个缓冲区继续写
我大概算了下,假设每个缓冲区1K字节,填满一个缓冲区大概1.126ms,10M波特率发完一个缓冲区大概1.024ms,在不考虑代码效率和实时性的情况下是能做到不丢数据的
回复

使用道具 举报

21

主题

481

回帖

544

积分

金牌会员

积分
544
发表于 2025-1-9 12:13:24 | 显示全部楼层
常用高速串口921.6K波特率
1. 需要MCU支持
2. 需要Jlink支持
3. MCU采用DMA方式发送
这个速度,板间通讯大概率会丢包
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-26 13:44 , Processed in 0.349123 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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