AD2410的使用总结

本文介绍了AD2410的A2B总线功能,包括MASTER和SLAVE的唤醒、初始化过程以及数据传输解析。详细阐述了MASTER和SLAVE的响应周期计算,并提供了系统初始化的流程。此外,还讨论了A2B数据传输延迟、TDM传输以及左右声道数据的处理方式。
摘要由CSDN通过智能技术生成

AD2410开发说明

AD2410的A2B总线

A2B总线具有提供同步时钟,传输数据,总线供电等功能。外设为A2B总线的MASTER提供BCLK,SYNC时钟信号,MASTER通过总线为SLAVE提供时钟信号。A2B总线的一个超级帧的头部为同步控制帧,包含了I2C的下行数据和CRC校验码。中间有一个同步响应帧,包含I2C的上行数据,CRC校验码和IRQ数据。一个超级帧的时间长度为一个SYNC周期。SLAVE序号越大,该节点上传的数据越靠前,下行数据越靠后。

MASTER唤醒

当MSTR引脚为高电平且VIN电压大于3.7V时,MASTER已经POWER UP,在等待SYNC信号的到来。在外部供给SYNC信号时,MASTER将时钟信号在PLL中倍频锁存,这个过程最多需要25ms。这之后,MSATER已经可以通过I2C总线进行编程配置了。MASTER的I2C设备地址为:

                                                                      I2C地址位图

当把ADR2和ADR1都拉低时,外围器件访问MASTER的地址就为0x68,时序为典型的I2C总线时序,需要注意的是,MASTER设备在I2C总线上总是作为SLAVE存在。

在MASTER进入等待编程状态后,会产生IRQ信号,使得IRQ引脚由低变高。

/*等待AD2410启动*/

         while(gpio_read(PING_CFG,PING2)==0 );      //等待IRQ信号

         tmp= I2C0SlaveRegRead(1,AD2410_I2C_ADDR,0x16);             //读中断状态寄存器

         if(tmp& 0x80) //判断中断类型是否为MASTER产生

                  {

                          tmp= I2C0SlaveRegRead(1,AD2410_I2C_ADDR,0x17); //获取中断号

                          if(tmp!= 0xff)

                                   return0;

                  }

到这里,MASTER已经唤醒并且可编程。

SLAVE唤醒

在唤醒MASTER之后,在唤醒SLAVE之前需要给SLAVE供电,也就是幻想供电。需要先设置主机响应周期,然后置位newstrict = 1,之后使能MASTER的幻想电源。这里需要注意的

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值