SPI使用说明*
1. 8002 SPI SLAVE 输出唤醒音频*
1.1 开发板套件使用说明*
- 采用两个8002 DEV 板子进行验证,一台配置为SPI SLAVE,一台模拟上位机接收SPI数据,配置为SPI MASTER,接收完成后,并通过串口0(波特率:1500000)把音频输出出来,方便pc端播放验证。

- 如上图所示
- 接蓝色框的usb micro接口(即开发板的uart0接口)供电,图中左下角K2开关打左即关电,打右即上电;
- 红色框的gpio02管脚上报spi传输中断,通知上位机发送sclk进行spi数据接收;
- 绿色框为spi管脚(注意要使用左边的排针),按照板子上的标注连接spi管脚即可,同时连接右下角的GND共地;
1.2 SPI传输软件部分说明*
- 唤醒词为“小爱同学”,唤醒后将缓存的2秒唤醒音频及唤醒后的实时音频通过spi接口发送给主机
- SPI格式:8002做spi从设备,需要提供sclk 3.12M,每次发送6400字节(200ms的音频数据)
- 音频格式:16K 16bit 单声道
1.3 固件配置*
-
发射端:8002 SPI SLAVE
$ cp ./configs/release/nationalchip/grus_gx8002b_dev_1v4_spi_oneshot_demo.config .config $ make menuconfig $ make clean;make -
由于sdk中默认8002_dev板级的SPI SLAVE为0,1,11,12;要手动改成 7,8,9,10来适配测试;如下更改
#if defined(CONFIG_BOARD_HAS_SPI_SLAVE) ret += _BoardPadmuxSet(9, 5); ret += _BoardPadmuxSet(10, 5); ret += _BoardPadmuxSet(7, 5); ret += _BoardPadmuxSet(8, 5); #endif -
接收端(模拟主控接收):8002 SPI MASTER + 串口输出音频
$ cp ./configs/release/nationalchip/grus_gx8002b_dev_1v4_spi_master_recv_demo.config .config $ make menuconfig $ make clean;make
1.4 串口接收音频脚本*
(模拟主控接收),用于接收8002 SPI SLAVE输出的音频数据,并通过串口0输出到pc端播放验证。
脚本下载链接:
http://yun.nationalchip.com:10000/l/5FkjdF
脚本使用:
sudo chmod 777 /dev/ttyUSB0
python recv_spi_audio.py /dev/ttyUSB0
提醒
该脚本需要使用python3运行,同时需要安装pyserial库(pip install pyserial)
1.5 测试方法*
- 按照1.2中的图连接好开发板,先上电接收端(模拟主控接收),再上电发射端(8002 SPI SLAVE),并使用1.4的脚本打开接收端串口0,喊小爱同学后,找到脚本中output目录中的音频即可