android下调试声卡驱动之总结

Posted 韩搏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android下调试声卡驱动之总结相关的知识,希望对你有一定的参考价值。

1、在调试中出现问题后,首先看I2C通信有没有问题,wm8960寄存器的设置是靠I2C来完成,另外I2C通信不成功在开发板中是没

     有声卡相关的设备节点。

      a、首先查看Machine代码中的I2C的序号、名字和地址与DSP代码中I2C的序号、名字和地址是否相对应。

      b、用示波器测量I2C的两根数据线SCLK、SDIN的波形。

      c、可以先测试一下wm8960的BYPASS通道,从L/RINPUT3输入一个模拟信号直接从SPK_L/R输出,如果成功也能说明I2C

           通信正常。

2、测试BCLK、LRCK的波形频率是否正确。

3、测试SSI通信有没有问题,在《I2S音频通信》这一节中介绍了SSI作用和原理。

             如果BYPASS成功后,说明SPK的输出功能是没有问题的,可以在测试LOOPBACK通道来看DAC功能有没有问题,

      LOOPBACK可以从L/RINPUT3输入模拟信号经过ADC和DAC后从SPK_L/R输出,该通道如果不成功说明有关DAC的寄存器配

      置有问题,如果成功说明SSI通信有问题。

4、android系统一般自带两个命令可用于在底层中测试音频

      a、tinyplay  播放  (例如:./tinyplay  *.wav)

      b、tinycap   录音  (例如:./tinycap   *.wav)

5、附件中有Android下的wm8960驱动代码,该代码实现了录音和播放功能,没有做耳机检测,附件中带有飞思卡尔开放的wm8962

      的驱动代码并带有耳机检测功能,完全可以参考来做耳机功能。

             一般寄存器配置是按照:复位—PROWER—CLOCK—相关路径,复位后所有的寄存器都恢复到厂商的默认值,有些寄存器

      需要供电后才能设置成功,在路径中的一些寄存器中有了时钟才能设置成功,该芯片还有个特性,如果你不设置寄存器的值,它

      不会因为其它而自己改变寄存器的值。

附:寄存器配置表载地址:http://download.csdn.net/detail/hanbo622/8542103

       驱动代码下载地址:http://download.csdn.net/detail/hanbo622/8542113

       wav测试文件(采样频率44.1K、两通道、16位),标准1KHz、10KHz音频文件,下载地址:

       http://download.csdn.net/detail/hanbo622/8460297

 

 



以上是关于android下调试声卡驱动之总结的主要内容,如果未能解决你的问题,请参考以下文章

音频之Android NDK读写声卡

Flutter监听音量实现波形可视化的音频

在Android中绘制wav音频的波形

Android adb无法连接设备的总结

android 电容屏:驱动调试之驱动程序分析篇 -- FocalTech

从 MATLAB 中的波形音频文件中去除噪声