Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
04/02/07 08:19
Read: times


 
Msg Score: +2
 +1 Informative
 +1 Good Answer/Helpful
#136394 - Depends on your requirement
Responding to: ???'s previous message
I'm kind of assuming that SiLabs provide drivers that make the USB on their chips as easy to use as the FTDI chips.

Of course, depends on your requirement.
Either SiLabs or other USB chip manufacturers, provide just a basic support on the firmware, device driver and host app for USB. You have to build up your application upon these support. The coding on these support is much easier than making it from scratch, but you'll still write fair amount of code comparing to the virtual COM port handling on the FTDI chips.

USB MCU can provide so-called direct ports for multiple UARTs on the chip. If you expect more than single virtual COM ports on the PC by the USB MCU, it is hopeless. It involves a device driver development on the PC, the most terrible work. In this case, I recommend you FTDI FT2232 (dual UART/FIFO USB-serial converter).

When replacing RS232 communication to USB, you should be aware of these differences. It may sometimes require to modify the structure of the application radically on both side, firmware and PC app.

a) Device and PC are tightly related
On USB application, firmware and device driver/ host app on the PC are tightly related more than RS232. It's desirable that the firmware and the host app is coded by a single person, until the communication protocol over USB is established. That is, learn USB handling on the both side, firmware and PC app.

b) Transfer latency
USB has much higher transfer speed than RS232, but its latency on the start of the transfer is not so good. You'll see at least 3-4 msec of round trip delay when the PC app sends a command to the device over USB, until it receives the reply from the device. This latency must be considered on a 'real time' application.

c) Host centric
USB devices cannot send any data to the host PC, until the host requests it. RS232 device can send data any time.

Nowadays, USB chip manufacturers provide many examples for the basic transfer handling and USB class implementation. So, you don't need to realize the details of the USB protocol and enumeration at the introduction. You can jump start a simple data transfer application over USB. But when you want more performance, more speed, more control, you have to step into the maze of the USB and PC application details.

Tsuneo



List of 32 messages in thread
TopicAuthorDate
SiLabs 8051+USB - deviates only?            01/01/70 00:00      
   All the ones I worked with,..            01/01/70 00:00      
      Sure            01/01/70 00:00      
         Pitfalls            01/01/70 00:00      
   re deviates            01/01/70 00:00      
      Sure            01/01/70 00:00      
         the quick solution...            01/01/70 00:00      
            Not necessarily.            01/01/70 00:00      
         UARTs            01/01/70 00:00      
            UART(s) of SiLabs F32x and F34x            01/01/70 00:00      
   I am sure you are aware            01/01/70 00:00      
   Possible solution            01/01/70 00:00      
      Good point            01/01/70 00:00      
         Depends on your requirement            01/01/70 00:00      
            The Joys of USB            01/01/70 00:00      
               you can maybe give a try on the uPSD kit?            01/01/70 00:00      
                  I'd forgotten about that!            01/01/70 00:00      
               For virtual COM port, USB-serial chips are better            01/01/70 00:00      
               SiLabs provide a VCP driver, don't they?            01/01/70 00:00      
                  Just for USB-serial conversion,            01/01/70 00:00      
            Unrelated thanks!            01/01/70 00:00      
   uPSD34XX Does an admirable job...            01/01/70 00:00      
      Rethink            01/01/70 00:00      
         buy direct from SILabs            01/01/70 00:00      
         Just the JTAG?            01/01/70 00:00      
            It's in the box!            01/01/70 00:00      
   Atmel            01/01/70 00:00      
   Weird usbser.sys            01/01/70 00:00      
      more than one COM            01/01/70 00:00      
         I didn't say, but...            01/01/70 00:00      
            New Thread: Multiple USB Virtual COM Ports            01/01/70 00:00      
      Another VCP path            01/01/70 00:00      

Back to Subject List