在a2b数据传输过程中,由于其独特的链式结构,a2b总线上的数据无法像其余通讯方式一样实现完整的点对点通讯。因此,a2b总线的数据传输过程存在数据的消耗与透传。在一个完整的A2B系统中,每个主节点和从节点必须针对节点的上下行数据slot配置合理的数据slot管理。
a2b总线中的每个节点都存在两个内部buffer:
1.TX frame buffer:数据发送buffer,该buffer由A2B总线数据填充,最后通过DTX0,DTX1引脚 进行数据发送
2.RX frame buffer:数据接收buffer,该buffer由DTX0,DTX1引脚数据填充,并最终添加到 A2B总线上进行节点间的数据通讯。
这些数据buffer在A2B通讯的每个superframe期间被消耗或者添加,并且上行数据占据buffer的高位,下行数据占据buffer的低位数据。
对于一个节点而言,RXbuffer的数据由I2S/TDM/PDM引脚所接收的slot数据,节点根据mask使能位在superframe期间填充特定的slot。TXbuffer的数据由A2B总线填充,节点根据mask使能位在superframe期间将数据进行特定slot的填充。
在理清楚A2B总线的数据流之前,需要了解几类寄存器:
1.Local Downstream Slots Register:在从节点中,该寄存器的定义取决于DNMASKEN位, DNMASKEN=0时,LDNSLOTS表示本地节点捕获的slot数,该slot属于消耗性slo