This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TM4C1290NCPDT:USB 枚举延迟

Guru**** 2213890 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1023443/tm4c1290ncpdt-usb-enumeration-delay

器件型号:TM4C1290NCPDT

我将 TMC4129x 用作大容量 USB 器件。  DFU 工作正常、USB 工作、我唯一的问题是调用 USBDBulkInit()和器件完成枚举之间有5秒的延迟(Windows、多台不同 PC 具有相同的延迟)。

uint32_t ui32PLLRate;
SysCtlVCOGet(ui32Crystal, &ui32PLLRate);
USBDCDFeatureSet(0, USBLIB_FEATURE_CPUCLK, &SystemCoreClock);
USBDCDFeatureSet(0, USBLIB_FEATURE_USBPLL, &ui32PLLRate);
    
USBDevice = USBDBulkInit(0, &USBDeviceInfo);
USBModeConfig(USB0_BASE, USB_GPCS_DEVMOD_DEVVBUS); // ignore USB0ID pin
    
osThreadId_t t_usb;
t_usb = osThreadNew(USB_Task, NULL, &usb_task_attr);

在我的接收事件处理程序中、我几乎立即获得 USB_EVENT_SUSPEND、然后5秒后、USB_EVENT_Connected。

我正在努力获取枚举跟踪。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    此时您是从 TivaWare 示例运行、还是从定制固件运行? 还是 LaunchPad 或定制硬件? 只是想在这里获得有关软件/硬件的背景信息。

    USB 跟踪在这里将非常有用、有助于查看其中发生的情况。

    我不记得完成枚举需要5秒。 我刚刚尝试过、我看到 TivaWare 批量器件立即出现。 也就是说、我确实看到设备管理器在大约5秒后正在"刷新"、因此这可能与枚举相关、并且它是一个与枚举相关的问题。

    让我们看看您的迹线显示了什么以及对它的关注、然后我也可以在我的末端进行一些测量。

    此致、

    Ralph

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    很抱歉-我在回复我的原始帖子时遇到问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我捕获了枚举过程、延迟正好为5秒、因此我认为这是一个超时。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    对多个回复的道歉-似乎我必须在不使用 Enter 的情况下输入回复。  查看枚举数据包、它在 tUSBDBulkDevice 结构中具有串行、接口和配置的字符串索引、即使通过我在结构声明中将"0"作为字符串索引也是如此。  我添加了一个序列'000000000000'和枚举、然后以正常速度进行处理。