【问题标题】:IMX6 USB Host controller detailsIMX6 USB 主机控制器详细信息
【发布时间】:2017-07-15 20:07:44
【问题描述】:

我有一个在 IMX6 处理器板上运行 WinCE7 的系统。偶尔当系统负载很重时,我在 USB 跟踪器上看到了大约 2 秒,看不到 IN 令牌(只看到 SOF 表示总线处于活动状态)。 在驱动程序中的某个地方调用了函数“IssueBulkTransfer”,我相信它会通过 Microsoft 库并到达 BSP。 我的问题是,如果我告诉主机控制器发送一个 IN 令牌,如果控制器的微码收到 NAK ,它是否会继续发送 IN 令牌,而我的驱动程序不必每次都重新发送 IN 令牌(因此使用 CPU 时间)?

谢谢

【问题讨论】:

    标签: usb imx6


    【解决方案1】:

    根据描述,我假设您在谈论 EHCI 控制器。 分两点回答——

    1 - 是的,控制器将持续发送 NAK 的 IN 令牌,直到该端点的 NAC 计数器达到 0。

    2 - 我想您看到的空闲期也是预期的。请参阅 EHCI 规范第 4.9 节的引用。

    请注意,当异步调度中的所有队列头 用尽所有传输或所有 NakCnt 归零,然后主机 控制器将检测到一个空的异步调度和空闲 调度遍历(参见第 4.8.3 节)。

    因此控制器将停止遍历计划列表,这可能是您看到的 2 秒空闲。当控制器再次开始遍历时,它会重新加载 NAK 计数器并再次以 IN 令牌开始。

    【讨论】:

    • @AKN - 有一点我忘了提到软件可以选择不使用 NAK 计数器。在这种情况下,主机控制器将不断发送 IN 令牌。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2010-12-06
    • 1970-01-01
    • 2012-11-17
    • 2014-04-13
    • 1970-01-01
    相关资源
    最近更新 更多