LM3S3739 USB-CDC 枚举后USB供电电压降低的问题

Other Parts Discussed in Thread: LM3S3739

LM3S3739采用USB-CDC类模式,由于有后端电路,整个电路依靠USB供电,部分枚举信息如下:

const tUSBDCDCDevice g_sCDCDevice =
{
USB_VID_STELLARIS,
USB_PID_SERIAL,
1000,
//USB_CONF_ATTR_SELF_PWR|
USB_CONF_ATTR_BUS_PWR,
ControlHandler,
(void *)&g_sCDCDevice,
USBBufferEventCallback,
(void *)&g_sRxBuffer,
USBBufferEventCallback,
(void *)&g_sTxBuffer,
g_pStringDescriptors,
NUM_STRING_DESCRIPTORS,
&g_sCDCInstance
};

将设备所需电流改为500mA(1000/2),实际枚举后通过USBTrace看到USB为1.0模式,设定MaxPower : 0xF4

但是实际测试发现,USB端口输出电流超过80mA左右的时候,VDD-USB电压降低,测试实际工作时VDD-USB=4.2V,工作电流80~130mA

80mA时是拆掉部分后端电路芯片的结果。

采用两个USB端口供电(其中一个只连接电源和地线)时,USB电压大概4.65V左右,工作电流100mA左右,没有太大变化。

由于电源电压降低,系统启动不稳定。USB1.0的供电能力不是应该超过200mA吗?而且使用的USB端口带移动硬盘没有问题,应该还是枚举的参数有问题吧,请问应该怎么更改?

另外,如果枚举成多个CDC设备应该怎么做?Composite类应该怎么枚举?

以上,谢谢!