【DigiKey好物畅享】NXP FFRDM-MCXN236开发板 USB麦克风实践
MCXN236和MCXN947同属于MCXN系列,但MCXN236是经过成本优化的,相比MCXN947的双核变为单核,砍掉MAC控制器,没有DSP和NPU加速器等,非常适合对于成本敏感的应用中。但是,数字麦克风接口和高速USB都被保留下来了,对于需要USB应用的项目,再也不用额外采购USB PHY或USB转接芯片了,一定程度上也节约了成本。
FRDM-MCXN236开发板板载的麦克风和USB接口原理图如下图
通过板载USB接口实现USB协议栈,将开发板枚举为一个UAC设备,通过麦克风获取声源,将声源数据放入缓冲区中,当电脑端开始录音时,开启同步传输,将缓冲区数据通过DMA传输到USB外设上,进一步传输到电脑中,就可以实现一个USB麦克风应用。
程序设计流程为,初始化调试UART接口,设置MCU时钟为150MHz,初始化板载PDM麦克风并使能DMA传输,初始化USB并使能中断,在中断服务函数中进行设备枚举,当开发板接入USB主机后,中断服务函数依次获取设备描述符、配置描述符、接口描述符和端点描述符等信息后,USB主机将开发板识别为UAC设备。
关于USB中断服务函数的处理以及UAC设备的设备描述符、控制描述符、端点描述符等可看下图。定义UAC设备支持的USB协议版本、类代码、VID和PID等信息。
将USB线插入板载的MCU_USB接口中,打开电脑端的录音软件和设备管理器,可以看到USB AUDIO设备枚举成功,并且录音机软件上也有音源波形出现。如下图所示。
其中1代表板载PDM麦克风的位置。2为板载MCU_USB接口。3为将开发板接入电脑后电脑端出现一个名为USB AUDIO的设备。4为设备管理器中关于USB AUDIO设备的VID和PID信息,可以看到和我们程序里面设置的设备描述符里面的VID和PID保持一致,证明这个麦克风设备就是我们开发板枚举得到的。5为通过电脑端录音机,使用USB AUDIO设备录得的音频,里面有明显波形产生,证明有声音被录制进去。


