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);