NV040C语音芯片驱动调试

NV040C语音芯片调试

查看手册

在这里插入图片描述

  • 看到此处的指令误以为所有地址都有声音。
    在这里插入图片描述
    在这里插入图片描述

驱动时序模拟

时序模拟:

#define SHORT_TIMING 0
#define LONG_TIMING  1#define TIMING_OPT  LONG_TIMING#if TIMING_OPT == SHORT_TIMING#define TIMING_DELAY_1()  osal_delay_us(600)#define TIMING_DELAY_3()  osal_delay_us(1800)
#else#define TIMING_DELAY_1()  osal_delay_ms(1)#define TIMING_DELAY_3()  osal_delay_ms(3)
#endif/* 帧间隔时间,频繁发送数据需要间隔100ms以上 */
#define TIMING_IFS()     osal_delay_ms(101)
/* * 逻辑1 高电平:低电平=3:1   400us :1200us 到 1ms : 3ms 范围* 逻辑0 高电平:低电平=1:3* 低位先发送
*/
static void NV040C_BasicSend(uint8_t cmd)
{uint8_t i;NV040C_SDA(0);osal_delay_ms(5); /* 头码 4~6 ms */for (i = 0; i < 8; i++){NV040C_SDA(1);if (cmd & 1)  /* 写1 */{TIMING_DELAY_3();NV040C_SDA(0);TIMING_DELAY_1();}else      /* 写0 */{TIMING_DELAY_1();NV040C_SDA(0);TIMING_DELAY_3();}cmd >>= 1;  /*地址值右移一位*/}NV040C_SDA(1);   /* 指令发送完毕需要拉高 */TIMING_IFS();
}

调试

调试的谬误:

误以为所有地址都有声音,所以随便选择了一个地址进行调试,调试大半天都没有声音,误以为是时序问题调试了好久。后面发现是地址没有声音数据的。

  • 芯片声音地址0x00-0xDF不是每个地址都有声音。

  • 芯片某个声音地址是否有声音取决用户是否和厂家联系定制。

  • 项目定制的只有声音地址0x00~0x05有声音,分别对应不同报警等级

    地址数据语音内容
    00H11 genlow.wav
    01H22 genmed.wav
    02H35 Low Prioirty.wav
    03H44 Medium Prioirty.wav
    04H5低级报警
    05H6中级报警
  • 对于此次使用的芯片只定制了最开始的6个地址有声音,所以地址0x06及以上的都是没有声音的。

调试无法连续间隔播放不同地址声音问题,调试发现该问题解决需要在播放一个声音结束后需要一个长延时:

void nv040cLoop(void)
{osal_delay_ms(1000);BSP_NV040C_PlayVoice(NV040C_VOICE_ID_GENLOW);osal_delay_ms(1000);BSP_NV040C_PlayVoice(NV040C_VOICE_ID_GENMED);osal_delay_ms(1000);BSP_NV040C_PlayVoice(NV040C_VOICE_ID_LOW_PRI);osal_delay_ms(1000);BSP_NV040C_PlayVoice(NV040C_VOICE_ID_MEDIUM_PRI);osal_delay_ms(1000);BSP_NV040C_PlayVoice(NV040C_VOICE_ID_LOW_ALARM);osal_delay_ms(1000);BSP_NV040C_PlayVoice(NV040C_VOICE_ID_MEDIUM_ALARM);
}
  • osal_delay_ms(1000); 长延时1s等待上一次声音播放结束。
  • 由此推测原因是因为声音在播放需要比较长的时间,在播放期间写入数据会出现问题,正确做法是等待播放结束再写入语音地址。
  • 由于芯片busy引脚没有连接MCU,无法通过该引脚判断语音是否在播放,调试只能通过长延时等待播放结束,好在使用RTOS,RTOS长延时会进行任务切换不会浪费CPU资源。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部