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.

Setting speed in USB CDC

Is there a way to set the  USB Virtual COM at max rate?

It is supposed to transmit at 12Mbps in an USB 2.0 port, however, if I use a FTDI cable to transmit the same packet the time of transmission is shorter, which makes no sense.

For example, 1000 bytes takes with the CDC USB driver around 6ms and using the FTDI TTL at 8Mbps cable around 2.5ms

 


Thank you

  • Another rare thing happens.

    If a SW reset is triggered via a ROM_SysCtlReset() call, then the terminall program is not able to reopen the Virtual COM. I have tried with three different programs and ahppens the same, the COM is visible but not usable.

    A HW (power) reset is needed to recover COM control.

    Has anyone experienced this issue?

  • Feel (and read) your pain.

    Might a "Peripheral Reset" of the afflicted UART fix and/or improve this malady?  (although that may require complete UART re-initialization)

    We've found that most always a re-init will restore the peripheral.

    You seem to "lump" HW and power reset as one.  Yet - might a gpio trigger a (separate) one-shot to reset the MCU - yet not be a full-force "power" reset?  Might that prove of use - at least may warrant your examination...

    (staff - never moi - notes that you've "clumped this thread" - thus PAk policy will likely disallow proper/earned Verify until initial posting is answered to your satisfaction - damning those who "fix" issue 2...)  (just say'in...)

  • With the 

    cb1- said:
    "Peripheral Reset" of the afflicted UAR

    you mean disable and enable the USB device in the Tiva device?  Because actually is not an UART but a USB port.

    cb1- said:
    You seem to "lump" HW and power reset as one.  Yet - might a gpio trigger a (separate) one-shot to reset the MCU - yet not be a full-force "power" reset?  Might that prove of use - at least may warrant your examination.

    You are right, my bad. I'll try to explain my self.

     Reset button works, Power reset works. SW reset does not work. 

    cb1- said:
    (staff - never moi - notes that you've "clumped this thread" - thus PAk policy will likely disallow proper/earned Verify until initial posting is answered to your satisfaction - damning those who "fix" issue 2...)  (just say'in...)

    You are right again, two issues one post....but hopefully, when we fix both issues, I will remember it and later, I will verify the post.... ;)

  • Your use of, "Virtual COM Port" in initial post causes complication.  I'm unsure if you're direct connecting - USB of PC to USB of MCU - or if a USB to UART (method/converter) is in play.

    If USB - I can't properly comment - this ARM vendor.  If UART - the reset of that peripheral often clears such issues.  (in fact - we do this w/some regularity - just to insure the channel is up/running.)

    Your FTDI vs MCU report is quite damning - love to see how this resolves...

    I'll expect my (earned) Verify when the bears tire of hibernation.  (maybe)

  • USB pc to USB mcu direct. They are all free shorts!!

    It is gong to be a glacial Winter... I am afraid.

  • Hello TI.... anybody there?

  • No way somebody check that USB port? Amit?

    Regards

  • The SW reset is still blocking my Virtual COM port.....

    any help?

  • Hi,

    Please read Tsuneo's comments in this thread:

    http://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/t/371674.aspx

    Petrei

  • Petrei said:

    Hi,

    Please read Tsuneo's comments in this thread:

    http://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/t/371674.aspx

    Petrei

    Thank you Petrei. It was what I expected, a driver issue.

    Besides, I am not using the VBUS pin, so the events Isee in my TIva device when I connect and disconnect the USB port are:

    - when I disconnect:  USB_EVENT_SUSPEND / USB_EVENT_RESUME

    - when I connect: GetLineCoding / USBD_CDC_EVENT_SET_CONTROL_LINE_STATE

    I see the problem now, but I don't know how to implement the solution. I am using Visual Studio Express C++ on the pc side.

    Any advice?

  • Hi,

    As I'm not an expert in USB things - let's hope again for Tsuneo help, as he always does for this forum (if not, I would try to follow his advice in the last post on that thread - write/modify the USB driver - while really comes from MS, seems you cannot comply, since the driver still works/follows MS standards).

    Petrei

  • Petrei said:

    Hi,

    As I'm not an expert in USB things - let's hope again for Tsuneo help, as he always does for this forum (if not, I would try to follow his advice in the last post on that thread - write/modify the USB driver - while really comes from MS, seems you cannot comply, since the driver still works/follows MS standards).

    Petrei

    Thank you Petrei.

    Don't you think that this is a job for Tivaware designers?

    Since this is a known issue, they could correct it easier.