您好,最近在学习A2B。
观察总线上的每个superframe数据长度总比我配置的多4个比特,您知道什么原因不?
比如发8组24+1bit的solt+64bit的scf应该是264,我读到268个比特一帧。
每个slot的格式改成16,应该是(16+1)*8+64=200,我读到204个比特一帧。
standby模式应该只保留19bit,我还读到23比特。
还有个问题是A2B总线上每个slot的数据是不是就是我IIS的数据加了速以后的?
我在总线上看波形找不到我发的数据。
谢谢.
您好,针对你提出的问题,我可以解答如下:
A2B总线上每个superframe数据长度总比您配置的多4个比特的原因可能是A2B协议规定的SDATA和SCLK同步信号需要4个bit,而您在计算数据长度时并没有考虑这一点。
对于slot格式改为16后,您计算的数据长度也存在同步信号没有考虑到的情况。除此之外,您还需要考虑到padding的数据位数,即最后一个slot填充的比特数。
在standby模式下,节点需要保持连接状态,在通信过程中使用19个比特进行心跳包交互,同时也需要4个同步比特,就像第一个问题所述的那样。
关于A2B总线上每个slot的数据是否就是IIS的数据加速的问题,答案是否定的。虽然A2B总线传输的是音频数据,但是这些数据需要经过编解码、通道映射、音频处理等一系列复杂的操作后才能在总线上传输,因此总线上传输的数据和IIS的数据不是一一对应的。至于总线上找不到你发的数据,可能是你的波形分析方法有待改进。建议使用专业的分析工具来确认是否有数据传输。