This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Problem with Virtual Com Port

Hi all!
I try to implement a Virtual Com Port with eval board MCBSTM32. I started with the HID example provided in the download area.
There are two interfaces: I0: bulk in + bulk out with max. packet size = 64k, I1: interrupt in

So far everything works fine: I can connect my device to host and open Com port with TeraTerm.
Additionally I can write data to host (less or more than maxPacketSize=64k) and also receive one byte. But after the first transmission (in both directions) usb does not seem to work any more, i.e. ISR for bulk(in)-endpoint is not called when I write data to it.

Any help would be appreciated.

Parents
  • Hi all,

    I have solved my problem by just using a bulk IN Endpoint and a simple linux driver on host side.

    For sending about 1MB with MaxPacketSize of always 64 Byte I get a data rate of about 30 kbyte/s. I need a transfer rate of at least 120 kbyte/s.

    For Bulk transfer the STM32F103xx supports double bufferd bulk transfer (STM32F103xx Reference manual). Both examples for the MCBSTM32 board (USB_HID and USB_MSC) write that double buffering is not yet supported. Is the limitation within hardware or is it possible to "just" add the code to get higher transfer rates by double buffering?

    Has anyone else achieved higher data rates with this uC?

    Any help would be appreciated.

Reply
  • Hi all,

    I have solved my problem by just using a bulk IN Endpoint and a simple linux driver on host side.

    For sending about 1MB with MaxPacketSize of always 64 Byte I get a data rate of about 30 kbyte/s. I need a transfer rate of at least 120 kbyte/s.

    For Bulk transfer the STM32F103xx supports double bufferd bulk transfer (STM32F103xx Reference manual). Both examples for the MCBSTM32 board (USB_HID and USB_MSC) write that double buffering is not yet supported. Is the limitation within hardware or is it possible to "just" add the code to get higher transfer rates by double buffering?

    Has anyone else achieved higher data rates with this uC?

    Any help would be appreciated.

Children
No data