搞了這麼久usb了,還是不知道data0,data1的最大包長,以及端點描述符中的最大包長與68013的端點緩衝區有什麼關係,經過二小時的奮鬥得出如下結論:
1.data0或data1實際上就是乙個端點描述符中的最大包長。換句話說,68013發一次資料報就是乙個data0或 data1
2.微幀是用來作為傳輸時間基準的。在每個微幀間可以傳一到多次data0/data1,但是根據data0/data1(也就是68013一次傳送的資料的長度)的大小,每個微幀之間可以傳送data資料報的個數也不同,data0/data1越大,每個微幀之間能傳輸的data的資料報的個數越少。3.在usb2.0之中限定了描述符中的最大包長,是因為在乙個微幀內由於物理條件的限制(物理頻寬、bit率的原因),只能傳輸那麼多。
4.韌體使用的usb協議其實就是用來與上位機驅動進行通訊的一種語言。換句話說,裡面的描述符中的內容都是給上位機驅動看的。其中端點中的最大包長也就是指的是,硬體的端點緩衝區。如果端點緩衝區比描述符中的最大包長小(在usb2.0協議最大包長範圍之內),那麼usb硬體接收到的資料在一定情況下將會被截斷或者不被接收,如果端點緩衝區比描述符中的最大包長大(在usb2.0協議最大包長範圍之內),端點緩衝將會被浪費。
關於USB微幀與資料報包長與端點緩衝區的理解
搞了這麼久usb了,還是不知道data0,data1的最大包長,以及端點描述符中的最大包長與68013的端點緩衝區有什麼關係,經過二小時的奮鬥得出如下結論 1.data0或data1實際上就是乙個端點描述符中的最大包長。換句話說,68013發一次資料報就是乙個data0或 data1 2.微幀是用來...
關於USB微幀與資料報包長與端點緩衝區的理解
搞了這麼久usb了,還是不知道data0,data1的最大包長,以及端點描述符中的最大包長與68013的端點緩衝區有什麼關係,經過二小時的奮鬥得出如下結論 1.data0或data1實際上就是乙個端點描述符中的最大包長。換句話說,68013發一次資料報就是乙個data0或 data1 2.微幀是用來...
關於USB微幀與資料報包長與端點緩衝區的理解
搞了這麼久usb了,還是不知道data0,data1的最大包長,以及端點描述符中的最大包長與68013的端點緩衝區有什麼關係,經過二小時的奮鬥得出如下結論 1.data0或data1實際上就是乙個端點描述符中的最大包長。換句話說,68013發一次資料報就是乙個data0或 data1 2.微幀是用來...