基于Freescale MCU與Audio Codec的安卓音頻附件設計

圖5 I2S模塊
觸摸感應輸入(TSI)模塊
Kinetis系列MCU提供高靈敏度、高穩定性的電容觸摸感應檢測功能。每個TSI引腳實現一個電極的電容測量。TSI來源主要有兩部分,一個為TWRK70板上的4個模擬按鈕的電極,另外12個按鈕連接到了觸摸Tower開發板上;本方案使用板上的4個觸摸按鈕作為音頻附件人機輸入接口來控制安卓設備媒體播放。TSI模塊支持邊緣和范圍檢測,并且在觸摸板短路時發生中斷。

圖6 TSI模塊
2 安卓音頻附件軟件設計
軟件架構
本方案基于Freescale 實時操作系統MQX。在Freescale USB HOST STACK 上實現了AOA 2.0協議棧,并在MQX RTOS上實現了音頻輸出接口模塊。數據流經由USB Host模塊流入AOA 2.0協議棧,再由應用程序傳遞給音頻輸出接口,通過調用MQX I2S 驅動,將音頻數據發送到SGTL5000 CODEC。對于來自TSI的操作命令,分為兩種情況處理:音量操作輸入經應用處理后直接通過音頻輸出接口控制I2C來調節SGTL5000輸出音量;而媒體曲目切換及播放/暫停命令,經應用處理后,發送給 HID,通過AOA 2.0 Stack發送給安卓設備。

圖7 軟件架構框圖
程序在Flash的布局
程序在flash中的布局如圖8所示,0x0000 0000~0x0000 6000空間分配給boot loader,用于對安卓音頻附件固件進行SD卡升級,剩下部分為應用程序空間。

圖 8 MCU Flash 布局
軟件功能
·支持AOA Protocol 2.0 audio profile及HID*
·支持USB同步音頻輸入(44.1kHz采樣率,16位,雙聲道)*
·支持I2S 立體聲音頻輸出*













評論