板级调试和配置
我们以国芯公版8008 UAC1.3.1为例。
一个新的板子做出后,开始进行硬件和软件调试的流程如下:
step1: 确认ck串口输出正常
gx8008支持空片烧录,所以内部rom上是有程序一上电就执行的。
通过ck串口会输出默认打印。使用波特率57600查看。
有串口输出,就可以确认cpu正常上电启动了。
step2: 管脚复用配置
在对应板级的 mcu/boards/leo_gx8008_uac_1v/misc_board.c 代码内
索引以0开头
比如,看硬件原理图,我们要用 PD1PORT02
就修改:
{ 2, 0}, //*UART0RX| PD1PORT02 |
为:
{ 2, 1}, //*UART0RX| PD1PORT02 |
step3: 麦克风个数和通道配置
代码在mcu/boards/nationalchip/leo_gx8008_uac_1v/audio_board.c
针对8010有八个麦克风通道,针对8008有六个麦克风通道
0xf代表关闭该路麦克风通道
3,5 这样的数字代表硬件上是哪几个麦克风通道(通道数问硬件工程师就可以了)
也可以看硬件原来图得到,例如:
左边会接到mic上,右边是芯片的引脚,我们可以看到数字是怎么来的剩下的就是配置麦克风的顺时针或者逆时针的位置了
我们用vspdum进行录制声音后(bypass模式),通过audacity工具打开,会发现,channel_7_sel是audacity第一路的声音, channel_6_sel是第二路的,依次类推。我们要做的是确认好麦克风是哪几个,按照顺时针或者逆时针配好。可以用手敲麦克风。一个一个的敲,来确认。确认好了,重新设置下。
step4:麦克风增益修改
eg: mcu/boards/nationalchip/leo_gx8008_uac_1v/audio_board.c int AudioInBoardInit()
需要关注三个点:
- 麦克风的录音增益
- 参考音的输入通道
- 参考音的增益
AudioInSetMicGain(48); //设置mic增益
// Set Audio REF (Internal Loop)
AudioInSetRefSource(AUDIO_IN_REF_SOURCE_INTERNAL_LOOP, 0, 1); //设置ref来源
AudioInSetRefGain(6); //设置ref增益
模拟麦增益步进是2dB,范围是0dB-54dB
数字麦增益步进是6dB,范围是0dB-54dB
参考音通道有模拟麦回采,数字麦回采和内部回采
参考音的增益,模拟麦增益和内部回采步进是2dB,范围是0dB-54dB
数字麦增益步进是6dB,范围是0dB-54dB
参考音通道取值
typedef enum {
AUDIO_IN_REF_SOURCE_AMIC, //模拟回采
AUDIO_IN_REF_SOURCE_DMIC, //数字回采
AUDIO_IN_REF_SOURCE_INTERNAL_LOOP, //内部回采
} AUDIO_IN_REF_SOURCE;
step5:音量修改
AudioOutSetVolume(AUDIO_OUT_ROUTE_BUFFER, 128);
- 默认的音量是128, 0~127是音量衰减, 129~1023是音量增强
- 不建议调太高