第一次调试a2b的芯片,翻来覆去的看几个文档。调了几天还是不能和slave通信。slave需要什么前提条件才能通信呢?
带着这个疑问在网上查询资料,查询的资料基本都是一些翻译的PDF文档,没有找到具体的调试经验。于是再看文档,折腾了几天,终于调试出来了。
STEP 1: 检查AD2428上电是否正常,如果AD2428正常,会出现I2C地址0x68,0x69.
STEP 2: 必须保证BICK(参考:8x32xLRCK =12.8MHz),LRCK(48kHz)有信号输出,示波器可以测量到波形。
STEP3:通过I2C 0x68 将AD2428配置成MASTER模式(0x12 = 0x80), 然后A2B_SWCTL的值0x00,0x01来回切换值,可以测量到AD2428的B端输出接口线的电压在5V~8V变化。说明电路配置正常了。
STEP5:按照规格书的说明,0x68写入0x01寄存器值0x00(slave 0),然后直接读0x69的 0x02.返回0xAD 0x27 0x00 0x01.
读到后表示访问SLVAE OK了