基于Freescale MCU與Audio Codec的安卓音頻附件設(shè)計(jì)
圖5 I2S模塊
觸摸感應(yīng)輸入(TSI)模塊
Kinetis系列MCU提供高靈敏度、高穩(wěn)定性的電容觸摸感應(yīng)檢測(cè)功能。每個(gè)TSI引腳實(shí)現(xiàn)一個(gè)電極的電容測(cè)量。TSI來源主要有兩部分,一個(gè)為TWRK70板上的4個(gè)模擬按鈕的電極,另外12個(gè)按鈕連接到了觸摸Tower開發(fā)板上;本方案使用板上的4個(gè)觸摸按鈕作為音頻附件人機(jī)輸入接口來控制安卓設(shè)備媒體播放。TSI模塊支持邊緣和范圍檢測(cè),并且在觸摸板短路時(shí)發(fā)生中斷。
圖6 TSI模塊
2 安卓音頻附件軟件設(shè)計(jì)
軟件架構(gòu)
本方案基于Freescale 實(shí)時(shí)操作系統(tǒng)MQX。在Freescale USB HOST STACK 上實(shí)現(xiàn)了AOA 2.0協(xié)議棧,并在MQX RTOS上實(shí)現(xiàn)了音頻輸出接口模塊。數(shù)據(jù)流經(jīng)由USB Host模塊流入AOA 2.0協(xié)議棧,再由應(yīng)用程序傳遞給音頻輸出接口,通過調(diào)用MQX I2S 驅(qū)動(dòng),將音頻數(shù)據(jù)發(fā)送到SGTL5000 CODEC。對(duì)于來自TSI的操作命令,分為兩種情況處理:音量操作輸入經(jīng)應(yīng)用處理后直接通過音頻輸出接口控制I2C來調(diào)節(jié)SGTL5000輸出音量;而媒體曲目切換及播放/暫停命令,經(jīng)應(yīng)用處理后,發(fā)送給 HID,通過AOA 2.0 Stack發(fā)送給安卓設(shè)備。
圖7 軟件架構(gòu)框圖
程序在Flash的布局
程序在flash中的布局如圖8所示,0x0000 0000~0x0000 6000空間分配給boot loader,用于對(duì)安卓音頻附件固件進(jìn)行SD卡升級(jí),剩下部分為應(yīng)用程序空間。
圖 8 MCU Flash 布局
軟件功能
·支持AOA Protocol 2.0 audio profile及HID*
·支持USB同步音頻輸入(44.1kHz采樣率,16位,雙聲道)*
·支持I2S 立體聲音頻輸出*
評(píng)論