TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28377S: USB请求设备描述符失败

Part Number:TMS320F28377SOther Parts Discussed in Thread:C2000WARE

usb_ex1_dev_serial例程下载至LAUNCHXL-F28377S评估板,例程可以正常编译、下载、运行,插入usb连接线后,win10的usb口连接有问题:请求设备描述符失败,请问如何解决这个问题?

注:

  • 硬件连接图参照SPRUHX5G–August 2014–Revised September 2019:Figure 22-2. USB Scheme

 

  • 使用win10, CCS12.1.0.00007_win64,C2000Ware_4_02_00_00, sysconfig-1.14.0_2667.
  • 连接问题如下图:

 

 

Yale Li:

Hi hongwei liu,

您看一下程序开头的注释:

这个例程是针对controlCARD的。有关USB部分的硬件设计:

F2837x_180controlCARD_R1_1_a_SCH_09May2014.pdf

,

hongwei liu:

Hi Yale Li

我注意到了程序开头的注释,我想建立28377与电脑的usb通讯,使用cdc模式,找不到更合适的例程,才使用此例程的。

这一例程确实针对controlCARD。SPRUHX5G中描述28377作为device,只连接Vbus,D+,D-,GND即可建立usb连接。controlCARD原理图中还多了ID,请问这一连接是必须的吗?

,

hongwei liu:

我注意到:microUSB 接口有5脚定义:Vbus,D+,D-,ID,GND,而电脑的usb接口一般为TypeA,只有4脚定义Vbus,D+,D-,GND。

,

Yale Li:

Hi hongwei,

这个问题我已经询问相关工程师了,有了结果我会第一时间回复

,

hongwei liu:

Hi Yale Li

下图是USB Device Viewer的信息,供参考

,

Yale Li:

好的

,

Yale Li:

Hi hongwei,

关于将USB例程从controlCARD适配到LaunchPad,您需要将相应的 C2000 器件引脚连接并焊接到 USB 连接器;需要考虑以下信号,更改其中一些信号的 GPIO number(但不是 USB DM 和 DP,因为它们仅在特定设备引脚上)。

//******************************************************************************
//
//! Enables USB related GPIOs to perform their USB function.
//
//******************************************************************************
void USBGPIOEnable(void)
{//// Set the USB DM and DP.//GPIO_setMasterCore(42, GPIO_CORE_CPU1);GPIO_setAnalogMode(42, GPIO_ANALOG_ENABLED);GPIO_setMasterCore(43, GPIO_CORE_CPU1);GPIO_setAnalogMode(43, GPIO_ANALOG_ENABLED);//// Set the direction for VBUS.//GPIO_setMasterCore(46, GPIO_CORE_CPU1);GPIO_setDirectionMode(46, GPIO_DIR_MODE_IN);//// Set the direction for ID.//GPIO_setMasterCore(47, GPIO_CORE_CPU1);GPIO_setDirectionMode(47, GPIO_DIR_MODE_IN);GPIO_setMasterCore(120, GPIO_CORE_CPU1);GPIO_setDirectionMode(120, GPIO_DIR_MODE_IN);GPIO_setMasterCore(121, GPIO_CORE_CPU1);GPIO_setDirectionMode(121, GPIO_DIR_MODE_OUT);GPIO_writePin(121, 1);
}

,

hongwei liu:

Hi Yale Li

请问上文提到的 “USB 连接器” 是指USB线束吗?我使用的28377s连接了controlCARD原理图中列出的6个引脚的上拉和下拉电阻,但没有连接芯片TPS2051BDBVR和TPD4S012DRYR,并在软件中更改了GPIO number,如下:

问题依然存在。

请问是否一定要使用controlCARD原理图中列c出的全部电路?因我手头没有controlCARD,我希望了解建立usb cdc通讯,哪些部分是必须的。

,

Yale Li:

Hi hongwei,

hongwei liu 说:请问上文提到的 “USB 连接器” 是指USB线束吗?

是指USB接头,焊接在电路板上的。

其它问题我已经跟进过去了,感谢您的耐心等候。

,

Yale Li:

Hi hongwei,

hongwei liu 说:请问是否一定要使用controlCARD原理图中列c出的全部电路?

不一定;

hongwei liu 说:TPS2051BDBVR

TPS2051BDBVR是用来控制F2837x ControlCARD是处于被供电状态(Device mode)还是供电状态(Host mode)的。

hongwei liu 说:TPD4S012DRYR

TPD4S012DRYR是一个ESD二极管,没有的话也行,但是操作的时候要小心一些。

,

hongwei liu:

Hi Yale Li

谢谢上述回复!

我在例程调试阶段发现初始化运行到USBDCDCInit(0, &g_sCDCDevice);函数时,总线上有数据,但并没有完成device descriptor的读取就suspend了,可以读到ui32Event = 7(USB_EVENT_SUSPEND),下图是总线数据包的情况:

,

Yale Li:

Hi hongwei,

我跟进给相关工程师了。

,

Yale Li:

Hi hongwei,

看一下这个帖子:

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/653260/tms320f28377s-starting-usb-on-launchxl-f28377s

,

hongwei liu:

Hi Yale Li,

根据上述帖子,本问题已解决,非常感谢!

,

Yale Li:

hongwei,

不客气,问题解决就好

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28377S: USB请求设备描述符失败
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1