拿到Freescale Kinetis K60已经一段时间了,想闲着的时候做个SD+FatFs+DAC的音乐播放器,输出直接驱动扬声器。看了好几天的英文手册,Freescale的I2S太麻烦了,除了标准I2S模式,还有普通模式和Network模式。要开始找工作了,还需要学Perl跟Cadence IC,等找完工作再把SD卡和文件系统加上,完整成音乐播放器。
效果图
测试视频:
软件设计不做详细说明了,硬件设计是自己的一个弱项,这里简单说说硬件电路吧。
方案有两种
1、MAX5556+LM358二阶低通滤波器+LM386功率放大
2、PT8211+RC低通滤波器+LM386 功率放大
两种方案都是在单电源(5V)供电,其中方案1比较合理,MAX5556自带内部低通模拟和输出驱动,按道理可以直接驱动小耳机,加上巴特沃兹二阶低通滤波器也只是为了让性能更好点,LM386功率放大电路为了直接驱动扬声器。向美信申请了MAX5556一时半会儿也来不到,悲催的是自己的LM356也用完了(应该大采购一次了),无奈之下选了方案二。需要说明的是,
MAX5556数据格式为左对齐,PT8211为右对齐(也成为Japanese格式),所以K60编写程序时,MAX5556直接使用Master模式就行,而PT8211需要使用普通模式。
PT8211和K60的接口电路就没什么好说的,标准I2S三根线接上K60就行了。滤波电路简单搭了一下,R1和C1组成简单的一阶低通,Fc大概在200Khz,凑合能用吧。C2为了将PT8311偏置直流去掉,这样LM386放大时才能保证较好的正负双向放大效果 。
LM386放大电路
6脚和8脚之间可以接一个电容串一个可调电阻,通过调整电阻阻值来改变放大倍数在20~200之间。我没有接上,默认就是20倍。注意的是,真正接入3脚前,是要加一个可调电阻分压的,因为3脚的输入峰峰值最好不要大于250mv,太大放大倍数20倍以后,就会失真成方波了。C1选用220uf,将也是讲直流成分去掉,使得驱动R1(就是扬声器)是正负音频信号。
========================================
源程序下载:
K60_I2S
仿真电路:
LM386功放仿真电路
LM385二阶低通滤波器仿真
RC低通滤波器仿真
相关文件
I2S对齐
巴特沃兹二阶低通滤波器计算公式
RC低通滤波器计算公式
MAX5556资料
PT8211/TA1311资料(英文)
LM358资料
LM386资料
貌似这样帖子有点多了。
一周热门 更多>