1) 同步IN端点,该端点负责实时反馈设备的速度(可以理解为传快传慢)。这个反馈值以USB上的SOF为参考,代表每一帧需要消耗的数据量,在USB全速设备中(full speed),该值以10.10的格式放在3byte中(对齐MSB),这前后各10位分别代表实际消耗速度的整数和分数部分;如果是高速设备则情况稍有不同,是以微帧为单位,反馈的格式也不一样。 在此我主要参考了USB Audio Class Spec V1.0以及USB Device Class Definition for Audio Data Formats的内容,其中反馈(feedback)的一些情况在USB Specification Rev.2.0里也有描述。
为了获得I2S首先将16.36767MHZ进行8分频得到2.046MHZ的BCK,每24个BCK组成一个声道的数据。我用的是16bit Right Jusitified的格式,因此16bit的音频数据就在每24个BCK的后16个上发送,48个BCK传输的就是一个双声道音频的一个双声道采样值,同时,对BCK进行48分频就能得到42.626KHZ的LRCK。注意LRCK和BCK以及DATA需要按时序对齐。