主题中讨论的其他部件:C2000WARE
您好,
这与以下开机自检中的相关问题有关,但拆卸已锁定! (为什么???)
e2e.ti.com/.../218.478万
问题与从未收到的USB设备断开事件有关。
这个问题已经传达给工程师,但我们今天没有任何消息。
C2000v软件01.00 .02.00 已推出。
如果有人可以告诉我此版本是否纠正了此问题?
如果没有,是否有人可以处理? 因为我们现在正处于生产阶段,这个问题对我们来说是非常严重的。
谢谢
此致
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.
您好,
这与以下开机自检中的相关问题有关,但拆卸已锁定! (为什么???)
e2e.ti.com/.../218.478万
问题与从未收到的USB设备断开事件有关。
这个问题已经传达给工程师,但我们今天没有任何消息。
C2000v软件01.00 .02.00 已推出。
如果有人可以告诉我此版本是否纠正了此问题?
如果没有,是否有人可以处理? 因为我们现在正处于生产阶段,这个问题对我们来说是非常严重的。
谢谢
此致
你好
好的,
在controlCARD之后,我们开发出自己的特定板,连接/断开检测在其上不起作用。
我不清楚版本1.3 中只有哪个零件才有此功能?
在我的特定主板上,我们简化了原理图,如下所示:
-µC Ω 信号USB0DM连接到USB连接器D-(引脚2)
-µC Ω 信号USB0DP连接到USB连接器D+(引脚3)
- USB连接器GND引脚5连接到板GND。
- TPD2E2:D+和D-信号上的ESD钳位
就是这些!
要让USBLib检测连接/断开连接,我必须添加的最低要求是什么?
谢谢
有关controlCARD上的USB原理图,请参见第6页。
此外,您还可以使用另一个GPIO引脚(例如GPIO 46)来检测连接和断开。
在您的主应用程序中,您可以使用以下代码。
//
//在启动时检查VBUS是高还是低,因为这不会导致中断。
//
IF (GpioDataRegs.GPBDAT.bit.GPIO46 == 1)
{
USBDevConnect (USB0_BASE);
}
否则
{
USBDevDisconnect (USB0_BASE);
}
并设置外部中断以检测VBUS何时变为高或低。
//
// VBUS中断。
//
EALLOW;
PieVectorTable.XINT1_INT =&VBUS_ISR;
EDIS;
//
//在PIE中启用XINT1:组1中断4
//
PieCtrlRegs.PIECTRL.bit.ENPIE =1;//启用PIE块
PieCtrlRegs.PIEIER1.bit.INTx4 =1;//启用PIE组1 INT4
IER || M_INT1;//启用CPU INT1
//EINT;//启用全局中断
//
//为XINT1设置GPIO46。
//
GPIO_SetupXINT1Gpio(46);
//
//为XINT1配置极性。
//
XintRegs.XINT1CR.bit.POLARITY = 3;//正或负边缘触发器
//
//启用XINT1
//
XintRegs.XINT1CR.bit.enable = 1;//启用XINT1
//
//启用全局中断
//
IntMasterEnable();
并使用下面的ISR。
//
//在VBUS上切换连接或断开PHY。
//
__interrupt void VBUS_ISR(void)
{
IF (GpioDataRegs.GPBDAT.bit.GPIO46 == 1)
{
USBDevConnect (USB0_BASE);
}
否则
{
USBDevDisconnect (USB0_BASE);
}
PieCtrlRegs.PIEACK.ALL = 0xFFFF;
}
此外,您还可以看到附加的USB主源代码,我们使用该代码来认证我们的controlCARD rev 1.3 for USB认证。
SAL
GIR,
我在USB_DEP_SERIAL示例中未看到USB_EVENT_DISCONNECTED发生。 我只看到在ControlHandler()函数中发生USB_event_connected事件。 但是,controlCARD仍然能够断开与主机PC的连接,然后重新连接并正常工作。
usb_event_connected在枚举过程中发生。 但是,在USB_DEP_BULK示例中,我看不到断开连接中断。
我认为,为了正确处理断开和重新连接,您需要监控VBUS,正如我在分享的源代码示例中所演示的那样。 当VBUS变低时,通过SOFTCONN断开PHY。 当VBUS变高时,通过SOFTCONN重新连接PHY。 库应再次正确处理枚举过程。
此致,
SAL