硬汉嵌入式论坛

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

[有问必答] v5板子7606的fifo采集模式中,可以将数据保存到SD卡,文件系统已经移植好了,然后具体该怎么操作?

[复制链接]

6

主题

9

回帖

27

积分

新手上路

积分
27
发表于 2021-4-8 11:20:30 | 显示全部楼层 |阅读模式
大家好,我想问一下v5板子7606的fifo采集模式中,可以将数据保存到SD卡,文件系统已经移植好了,然后具体该怎么操作?有没有类似的例程可供参考?谢谢大家
QQ截图20210408111756.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107137
QQ
发表于 2021-4-9 08:03:52 | 显示全部楼层
了解下CSV文件格式。

这个记录数据比较方便。写入方法和txt文本是一样的。

另外就是3.2MB/S速度,使用SD卡做不了实时存储,做一些故障波形存储是可以的,因为FAT类文件系统每达到一定大小都有个调整的过程,时间不固定
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2021-4-11 21:38:34 | 显示全部楼层
老哥,你7606可以做到200khz的采样 ?可以分享下代码么
回复

使用道具 举报

23

主题

211

回帖

280

积分

高级会员

积分
280
发表于 2021-4-11 22:52:45 | 显示全部楼层
eric2013 发表于 2021-4-9 08:03
了解下CSV文件格式。

这个记录数据比较方便。写入方法和txt文本是一样的。

那用SD卡最大支持的实时写入速度能到多少啊?一般C10的卡,应该不会成为mcu的读写瓶颈吧。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107137
QQ
发表于 2021-4-12 08:53:24 | 显示全部楼层
glq 发表于 2021-4-11 21:38
老哥,你7606可以做到200khz的采样 ?可以分享下代码么

论坛置顶帖V5,V6,V7的网盘下载即可,都支持200Ksps
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107137
QQ
发表于 2021-4-12 08:54:54 | 显示全部楼层
blackfire531 发表于 2021-4-11 22:52
那用SD卡最大支持的实时写入速度能到多少啊?一般C10的卡,应该不会成为mcu的读写瓶颈吧。

C10的速度一般是10MB-15MB,实时要花点精力做个合理的方案。防止某个阶段写入卡顿的问题。
回复

使用道具 举报

23

主题

211

回帖

280

积分

高级会员

积分
280
发表于 2021-4-12 13:33:24 | 显示全部楼层
eric2013 发表于 2021-4-12 08:54
C10的速度一般是10MB-15MB,实时要花点精力做个合理的方案。防止某个阶段写入卡顿的问题。

每50ms写入200字节左右,应该不用太麻烦吧?存储实时状态。
回复

使用道具 举报

6

主题

9

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2021-6-10 20:46:41 | 显示全部楼层
eric2013 发表于 2021-4-9 08:03
了解下CSV文件格式。

这个记录数据比较方便。写入方法和txt文本是一样的。

硬汉哥,我想问一下就是我不需要200K的采集速率,大概需要10K左右,把数据写入U盘。那么我是不是不需要设置FIFO缓冲区?而是设置两个只往里写的4K缓冲区,一个写满了就写另一个,同时把这个缓冲区写进U盘,然后清零。这样可行吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107137
QQ
发表于 2021-6-11 09:25:21 | 显示全部楼层
宇宙大魔王 发表于 2021-6-10 20:46
硬汉哥,我想问一下就是我不需要200K的采集速率,大概需要10K左右,把数据写入U盘。那么我是不是不需要设 ...

比如你要采集10KB,你就可以这样双缓冲,开个10KB的空间,每个空间5KB,一个空间存储数据时,另一个采集完成的5KB空间一次性f_write 5KB的数据到U盘
回复

使用道具 举报

6

主题

9

回帖

27

积分

新手上路

积分
27
 楼主| 发表于 2021-6-11 12:02:57 | 显示全部楼层
eric2013 发表于 2021-6-11 09:25
比如你要采集10KB,你就可以这样双缓冲,开个10KB的空间,每个空间5KB,一个空间存储数据时,另一个采集 ...

硬汉哥,这个f_write 5KB可以做到吗?f_write一次最多可以写多少?我之前在咱们的某个例程中好像看到最多一次4KB,是我记错了吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107137
QQ
发表于 2021-6-11 17:38:49 | 显示全部楼层
宇宙大魔王 发表于 2021-6-11 12:02
硬汉哥,这个f_write 5KB可以做到吗?f_write一次最多可以写多少?我之前在咱们的某个例程中好像看到最多 ...

不限制大小。
回复

使用道具 举报

1

主题

11

回帖

14

积分

新手上路

积分
14
发表于 2024-5-8 17:09:38 | 显示全部楼层

硬汉哥你好,我现在在做f407+ad7606的spi方式做数据采集,移植了你们代码,现在实现了数据采集部分,采样率在10k左右,需要将数据存储到sd卡里,现在我是将采集到的数据放到一个uint16_t这样一个类型的数组里,大小是4096,我用fwrite函数写入这个数组,在电脑端打开文件是乱码,请问这是怎么回事呢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107137
QQ
发表于 2024-5-9 09:37:24 | 显示全部楼层
无限火力 发表于 2024-5-8 17:09
硬汉哥你好,我现在在做f407+ad7606的spi方式做数据采集,移植了你们代码,现在实现了数据采集部分,采样 ...

这种的话,你要以字符串的形式写入才可以在电脑端打开文件。


先用sprintf转换数据,然后fwrite写入。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 06:26 , Processed in 0.305547 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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