PWM音频控制

[复制链接]
4420|7
 楼主| imagine186 发表于 2016-2-25 16:46 | 显示全部楼层 |阅读模式

我现在想通过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啊
 楼主| imagine186 发表于 2016-2-26 16:57 | 显示全部楼层
123654789 发表于 2016-2-26 16:44
用一个DA转换芯片也不会增加很多成本啊
TDA1311  PT8211  TM8211啊

和成本无关。就想要看看怎么实现的,用PWM也更灵活
ningling_21 发表于 2016-2-27 11:20 | 显示全部楼层
imagine186 发表于 2016-2-26 16:57
和成本无关。就想要看看怎么实现的,用PWM也更灵活

音频不是单纯的PWM信号
 楼主| imagine186 发表于 2016-2-27 14:03 | 显示全部楼层
ningling_21 发表于 2016-2-27 11:20
音频不是单纯的PWM信号

这正是我想问的呀,他们之间是的关系。
sssbang 发表于 2016-2-27 15:03 | 显示全部楼层
非压缩的WAV数据可以用PWM输出滤波就可获得音频。采样率就是每秒输出的PWM数据单元的数量。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

20

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部