2011-11-10 39 views
0

我在C8051F320上的HID和USBXpress固件中有2字節的SPI事務。 SPI例程在兩個固件中都是相同的。HID與SiLabs上的USBXpress時序C8051F320

運行兩個背靠背事務,USBXpress中的事務之間有1ms的延遲,使用HID的延遲爲2ms。延誤是一致的。爲什麼HID更慢,我怎樣才能使它1ms? bInterval在HID是1

回答

0

去了一下雲雀這裏(用了USBXpress沒有經驗,只是一些經驗與Microchip的USB協議棧):

HID堆棧將使用兩個USB幀做了一回,到-back transaction - 如果我記得正確,那麼永遠不會有兩個未完成的HID交易(即一個報告請求後跟一個報告響應)。第一個是在第一個USB幀中,第一個響應在第二個USB幀中,第二個請求只能在第三個USB幀中發生。

使用USBXpress,可以在等待完成前一個請求之前放鬆該條件併發出下一個請求。

可以製作成1ms嗎?我建議閱讀HID規範以查明它是否合法..如果是這樣,主機如何被迫處理兩個未完成的HID事務。

+0

嗨,我把一個USB分析器。在USBXpress上,我會看到每1ms有一個SOF(需要3us),但在HID上有2個SOF總共需要1ms,所以OUT事務在1ms過後纔開始,接下來的SOF會在2ms後到來。爲什麼是這樣? – tosa