DSP

android下调试声卡驱动之总结

2019-07-13 21:07发布

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