跳转至

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目录中的音频即可