基于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 立体声音频输出*

评论