拿到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(就是揚聲器)是正負音頻信號。
========================================
源程序下載:
仿真電路:
相關文件
PT8211/TA1311資料(英文)