2017-02-24 59 views
0

我有一個系統在運行IMX6處理器的主板上運行WinCE7。偶爾,當系統負載很重時,我在USB示蹤器上看到,大約2秒鐘內看不到IN令牌(只看到SOF表明總線有效)。 驅動程序中的某個地方會調用函數「IssueBulkTransfer」,我相信它會通過Microsoft庫併到達BSP。 我的問題是,如果我告訴主控制器發送一個IN令牌,控制器的微代碼是否繼續發送IN令牌(如果它接收到NAK),而我的驅動程序不必每次都重發IN令牌(因此使用CPU時間)?IMX6 USB主機控制器詳細信息

謝謝

回答

0

從描述我假設你在談論EHCI控制器。 兩點回答 -

1 - 是的,控制器將持續發送NAK的IN令牌,直到NAC計數器達到該端點的0。

2 - 您所看到的空閒時間也是我預計的。請參閱EHCI規範第4.9節的報價。

注意的是,當異步調度所有隊列頭或者 耗盡了所有轉讓或全部NakCnt的變爲零,則主機 控制器將檢測到空異步調度和空閒 時間表遍歷(參見4.8.3節)。

因此,控制器將停止遍歷計劃列表,這可能是您看到的2秒閒置。控制器再次開始遍歷時,它重新加載NAK計數器,並再次以IN令牌啓動。

+0

感謝您的瞭解 – AKN

+0

@AKN - 有一點我忘了提及軟件可以選擇不使用NAK計數器。在這種情況下,主機控制器將不斷髮送IN令牌。 – Shaibal