打印

PWM音频控制

[复制链接]
3918|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

我现在想通过PWM控制喇叭产生声音。
我先从一个音频文件(WAV)中提取数据,保存到单片机FLASH中。该音频文件采样位数为16位,单声道,采样频率22.05K。现在不知道从音频文件中得到的数据与PWM的频率、占空比之间的关系,如下图:

相关帖子

沙发
coody| | 2016-2-25 22:15 | 只看该作者
简单的。
wav文件是有符号的,而PWM占空比通常是一个无符号的整数,所以你要转换下,直接放占空比就可以了。

使用特权

评论回复
板凳
imagine186|  楼主 | 2016-2-26 16:31 | 只看该作者
本帖最后由 imagine186 于 2016-2-26 16:40 编辑
coody 发表于 2016-2-25 22:15
简单的。
wav文件是有符号的,而PWM占空比通常是一个无符号的整数,所以你要转换下,直接放占空比就可以了 ...

我现在从WAV文件中提取的数据是类似这样的,0xFFF3, 0xFFFA, 0x8000, 0x0006
如果说最高位是符号位,那么我应该转成   0x7FF3, 0x7FFA, 0x0000, 0x0006 ,或者是说WAV文件中负数以补码形式保存的,转成0x000D, 0x0006, 0x0000, 0x0006 应该是哪个?
这些数据对应的是图中F的占空比吧,那F的频率怎么得到的?

使用特权

评论回复
地板
123654789| | 2016-2-26 16:44 | 只看该作者
用一个DA转换芯片也不会增加很多成本啊
TDA1311  PT8211  TM8211啊

使用特权

评论回复
5
imagine186|  楼主 | 2016-2-26 16:57 | 只看该作者
123654789 发表于 2016-2-26 16:44
用一个DA转换芯片也不会增加很多成本啊
TDA1311  PT8211  TM8211啊

和成本无关。就想要看看怎么实现的,用PWM也更灵活

使用特权

评论回复
6
ningling_21| | 2016-2-27 11:20 | 只看该作者
imagine186 发表于 2016-2-26 16:57
和成本无关。就想要看看怎么实现的,用PWM也更灵活

音频不是单纯的PWM信号

使用特权

评论回复
7
imagine186|  楼主 | 2016-2-27 14:03 | 只看该作者
ningling_21 发表于 2016-2-27 11:20
音频不是单纯的PWM信号

这正是我想问的呀,他们之间是的关系。

使用特权

评论回复
8
sssbang| | 2016-2-27 15:03 | 只看该作者
非压缩的WAV数据可以用PWM输出滤波就可获得音频。采样率就是每秒输出的PWM数据单元的数量。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

20

帖子

0

粉丝