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.

[参考译文] TM4C1299NCZAD:CAN#39;t 测试 USB 器件眼图

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/739906/tm4c1299nczad-can-t-test-usb-device-eye-pattern

器件型号:TM4C1299NCZAD
Thread 中讨论的其他器件:EK-TM4C1294XL

我们使用 TM4C1299与 Microchip USB3320 ULPI PHY 来实现 USB2.0器件。 但是、当我们测试 USB 2.0器件眼图时、测试程序会显示"操作失败"。 测试程序 EHCI HSETT 似乎可以找到 TM4C1299 USB 器件(大容量器件)。 但是、当我们按下 EXECUTE 时、它会显示"Operation Failed"、我们无法获得正确的波形来获得 USB 眼图。

请查看下面的 ULPI 设置、并告诉我们为何无法测试 USB 眼图。

ui32SysClock = MAP_SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz |
SYSCTL_OSC_MAIN | SYSCTL_USE_PLL |
SYSCTL_CFG_VCO_480)、60000000);

//
//配置器件引脚。
//
PinoutSet();


//
//翻转 USB ULPI 引脚。
//
USBULPIPinoutSet();

//
//启用具有高速支持的 USB ULPI。
//
ui32Setting = USBLIB_FEATE_ULPI_HS;
USBOTGFeatureSet (0、USBLIB_Feature_USBULPI、ui32Setting);

//
//将 PLL 频率设置为零会告诉 USB 库使用
//外部 USB 时钟。
//
ui32PLLRate = 60 * 1000 * 1000;


//
//启用系统勾号。
//
ROM_SysTickPeriodSet (ui32SysClock/ticks_per_sond);
ROM_SysTickIntEnable();
ROM_SysTickEnable();

//
//最初未配置。
//
G_ui32Flags = 0;

//
//启用我们将重定向的 UART。
//
ROM_SysCtlPeripheralEnable (SYSCTL_Periph_UART0);

//
//
//将 USB 堆栈模式设置为支持 VBUS 监控的设备模式。
//
USBStackModeSet (0、eUSBModeForceDevice、0);

//
//将 CPU 时钟和 PLL 频率告知 USB 库。 这是一个
// TM4C129器件的新要求。
//
USBDCDFeatureSet (0、USBLIB_Feature_CPUCLK、&ui32SysClock);
USBDCDFeatureSet (0、USBLIB_Feature_USBPLL、&ui32PLLRate);

//
//将我们的器件信息传递到 USB 库并放置器件
//在总线上。
//
USBDCDCInit (0、(tUSBDCDCDevice *)&g_sCDCDevice);

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

    您能否尝试使用 USB_DEV_BULK TivaWare 示例使用 EK-TM4C1294XL LaunchPad 重复眼图测试? 我想了解问题是否由于您自己的独特设置而出现。 此外、我不确定是否已使 TivaWare 支持该测试。 因此、如果问题是 TivaWare 或您自己的独特设置、这将有助于缩小范围。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    TM4C129x 控制器仅作为全速运行、需要添加另一个 ULPI PHY 以实现 USB2.0。 我没有 PHY EVB 来连接 TM4C129x EVB。 是否需要使用 USB_DEV_BULK TivaWare 示例验证 EK-TM4C1294XL LaunchPad 的眼图测试?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Chia、

    我看到、这适用于高速 USB 2.0操作、好的。 在这种情况下、LaunchPad 是不够的。 我们的任何 EVM 都没有该功能、只有我们发布的 TI 参考设计展示了如何正确添加 ULPI PHY。

    最终的问题是、我们在 USB 眼图测试和您选择的 ULPI PHY 方面没有任何专业知识、因此很难帮助调试这一点。 我们没有听说过用于 USB 2.0操作的 TivaWare 产品有任何问题、但我想先验证 TivaWare 是否在我之前的请求下运行正常。

    查看您的软件、一些评论

    1) 1)我不认为有必要通过查看我们的高速示例来使用此 API:USBOTGFeatureSet (0、USBLIB_Feature_USBULPI、&ui32Seting);

    2) 2)您提到了批量器件、但您配置了 CDC? 您要测试哪个器件? 如果是批量传输、则需要改用 USBDBulkInit (0、&g_sBulkDevice)。

    我还建议查看我们的高速 TI 参考设计、包括软件 :www.ti.com/.../TIDM-TM4C129USBHS

    并根据我们的系统设计指南 www.ti.com/.../spma056检查您的硬件设置