ghostfire 发表于 2014-9-4 14:02:35

Freescale Kinetis K60的 I2S音频接口设计


拿到Freescale Kinetis K60已经一段时间了,想闲着的时候做个SD+FatFs+DAC的音乐播放器,输出直接驱动扬声器。看了好几天的英文手册,Freescale的I2S太麻烦了,除了标准I2S模式,还有普通模式和Network模式。要开始找工作了,还需要学Perl跟Cadence IC,等找完工作再把SD卡和文件系统加上,完整成音乐播放器。
效果图
http://pic002.cnblogs.com/images/2012/204306/2012083121123871.jpg
测试视频:

软件设计不做详细说明了,硬件设计是自己的一个弱项,这里简单说说硬件电路吧。
方案有两种
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放大时才能保证较好的正负双向放大效果 。
http://pic002.cnblogs.com/images/2012/204306/2012083120513295.jpg

LM386放大电路
6脚和8脚之间可以接一个电容串一个可调电阻,通过调整电阻阻值来改变放大倍数在20~200之间。我没有接上,默认就是20倍。注意的是,真正接入3脚前,是要加一个可调电阻分压的,因为3脚的输入峰峰值最好不要大于250mv,太大放大倍数20倍以后,就会失真成方波了。C1选用220uf,将也是讲直流成分去掉,使得驱动R1(就是扬声器)是正负音频信号。

http://pic002.cnblogs.com/images/2012/204306/2012083120580544.jpg
========================================
源程序下载:
K60_I2S
仿真电路:
LM386功放仿真电路
LM385二阶低通滤波器仿真
RC低通滤波器仿真
相关文件
I2S对齐
巴特沃兹二阶低通滤波器计算公式
RC低通滤波器计算公式
MAX5556资料
PT8211/TA1311资料(英文)
LM358资料
LM386资料

湛泸骏驰 发表于 2014-9-4 14:04:06

不错。。之前对t2s都置之不理,真该好好看看的。

ghostfire 发表于 2014-9-4 14:08:09

湛泸骏驰 发表于 2014-9-4 14:04
不错。。之前对t2s都置之不理,真该好好看看的。

这些东西工程中常用

湛泸骏驰 发表于 2014-9-4 14:10:14

ghostfire 发表于 2014-9-4 14:08
这些东西工程中常用

还看看了。都是学习,还没做工程呢。。。期待来源。。

ghostfire 发表于 2014-9-4 14:14:32

湛泸骏驰 发表于 2014-9-4 14:10
还看看了。都是学习,还没做工程呢。。。期待来源。。

资料附件有,你也可以一起分享资料

fengyunyu 发表于 2014-9-4 14:19:31

本帖最后由 fengyunyu 于 2014-9-4 14:30 编辑

貌似这样帖子有点多了。

yzb1019 发表于 2014-9-4 14:25:23

I2S没有接触过,学习了啊

sdlibin007 发表于 2014-9-4 14:26:31

一直想搞音频,但是一直没勇气去搞,实力不够!!

wanstrive 发表于 2014-9-4 14:36:41

以后毕业有钱了就要多搞些小玩意玩玩,权当给儿子做玩具!
页: [1]
查看完整版本: Freescale Kinetis K60的 I2S音频接口设计