OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7488|回复: 4

关于数字语音采集与存储方案的疑惑

[复制链接]

10

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
206
金钱
206
注册时间
2013-1-11
在线时间
24 小时
发表于 2013-3-10 10:03:27 | 显示全部楼层 |阅读模式
关于数字语音采集与存储方案的疑惑
原子哥,你好。我把详细的情况描述如下:

最近在做一个项目是关于数字语音采集和存储的;要求是至少存储1分钟的音频。而且项目要求不能用语音芯片。

出于SD卡存储器容量大的缘故,我采用了SD卡存储,主控用STC51,当然在MCU和SD卡之间嵌入一个fat,

思路如下:

首先,每 125 us 进行一次语音AD采集,采集到的一个字节通过fat写入SD卡,就是一个字节写一次SD卡。然后

不断刷新文件系统。然后做完测试发现在一次采集和写入SD卡操作竟然花了50ms,我的定时器是设置125us采集一

次的,ms级和us级肯定会造成严重的失真。不知有什么解决方案?

至于建立缓冲区的思想我也想过,但是当你的缓冲区满的时候还是一样要进行写入SD卡操作,在这段写

入操作中,也就无法同时去采集语音了,我的疑惑就是这样。该怎么解决?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-10 10:08:07 | 显示全部楼层
1字节就去写一次SD卡,显然是浪费时间的。
可以512字节写一次,做2个512字节的BUF,假设为A,B。
那么你的A写满,要将A数据写入SD卡的时候,就切换录音BUF为B,写完A,就等待B录音满,接着写B到SD卡,A做录音buf,依次循环。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

10

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
206
金钱
206
注册时间
2013-1-11
在线时间
24 小时
 楼主| 发表于 2013-3-10 10:35:17 | 显示全部楼层
回复【2楼】正点原子:

1字节就去写一次SD卡,显然是浪费时间的。
可以512字节写一次,做2个512字节的BUF,假设为A,B。
那么你的A写满,要将A数据写入SD卡的时候,就切换录音BUF为B,写完A,就等待B录音满,接着写B到SD卡,A做录音buf,依次循环。

---------------------------------
我就是想问,当你在把A写入SD卡的时候,怎么去同时录音到B,是不是要涉及到操作系统?
回复 支持 反对

使用道具 举报

22

主题

107

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
215
金钱
215
注册时间
2012-4-17
在线时间
0 小时
发表于 2013-3-10 11:23:26 | 显示全部楼层
lz, 可以考虑使用中断的方式进行处理,比如设置 中断时间为 125us, 在中断里进行语音信号的采集,主循环里判断BUF的大小,当到达一定大小或者就是512字节,就可以存储一次!当然了,如果存储时间小于125us,就可以使用原子哥所说的方法,如果大于125us,可以采用上述方法!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-10 14:13:31 | 显示全部楼层
回复【3楼】ldeguang:
---------------------------------
可以不用,用中断也可以做。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-23 04:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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