USB to serial (TTL/RS232) converter comparison
Silicon labs produces the CP2102 USB to serial converter. Actually these are my favourites because of their low price (lol, I hope these are not fakes of some kind). And also they have not had any driver hiccups up to now – at least for as long as I use them.Β I used PL23o3 chips before these, but then the old line which was cheap got disabled with the new driver.
The internal 3.3V regulator can supply 100mA of power to external circuitry (maybe slightly less as it also powers the chip). The chip outputs are 3.3V, but inputs are all 5V tolerant, so you can also interface it with 5V logic (with reduced noise margin). VID and PID can be customised.
The 3.3V outputs are nice as most other USB to TTL serial converters will be configured for 5V logic, which may damage your 3.3V device if you accidentally connect those two together.
The drivers pick up VID 10C4, PID EA70 and EA71.
As I said these are my favourite USB to TTL serial converters. They are used in USB serial converters and in many GPS devices. I have used and passed on many of these converters and have not had an issue or a complaint from a customer.
CH340 chips from Nanjing QinHeng Electronics (Win Chip Head ?) recently got popularised as they got mounted onto the Arduino boards from chinese producers. CH340/341 is by no means a new chip, I have a cable that uses that chip and is at least 5 years old.
In their datasheet they offer at least one doubtful solution (RS232 handling edition) – it will work, however I wouldn’t sell that to anyone π
The chip needs external crystal for operation. It may operate at 5V or 3V output. There does not seem to be any information on the possibility of VID/PID customisation. Also there does not seem to be any user customisable parameters.
The drivers will auto-install from the Windows update. Additional drivers for other OS may be obtained from producers website (which is chinese – the english site does not seem to work for me anymore). I did some light testing of the device and found it to be reasonably reliable.
The device identifies with VID 1A86, PID 7523. The company is the owner of the USB VID π
I have seen this device in USB – RS232 converters, USB TTL converters and lately in arduino nano, arduino uno and arduino mega clones.
Microchip is probably most known for its PIC microcontrollers. They produce MCP2200 USB to serial converter. It seems to have slightly limited serial port control pins, but has additional GPIO pins which can probably be used as the missing control pins. The price tag is nice and the chip has quite some features packed π Maybe I will be getting one soon for testing.
Cypress produces several USB controllers / communication chips. I have not seen any more popular RS232 to USB converter from the company, however I will list the company here just for reference. I did play around a bit with CY7C68013A. This chip can definitely be used for obtaining higher communication speeds, and there are now even successors utilizing USB 3.0 to get the data across even faster.
Finally to sum up, every of the chips listed should be up to the task of basic serial conversion. If designing with them however it may be beneficial to use some of the more known producers. Also obtaining the official development board of some kind (they should be cheap as even the chips themselves do not cost much) or making your own is a good way to test the device before embedding it into your own design (but be sure to obtain legitimate devices). Note that if your application just requires a serial port at a standard baudrate there may be no difference between the chips. The counterfeit chips may be a problem if you are outsourcing production and procurement of the elements.
Note also that some of the medium sized processors have a USB port available which may be used with producers drivers to achieve the same functionality as having a separate USB to serial controller. Just search for USB CDC / Virtual COM port. I have used that on STM32 and TIVA processor families and observed no problems except those caused by my programming mistakes π
Image shows arduino UNO on the left, where USB to serial conversion is done in Atmega chip. Even the small Atmega can be used to do additional tasks while doing communication via USB. On the right is a Stellaris / Tiva development board. ARM microcontrollers, especially the ones with bulit in USB perephiral can do a lot more than communicate via USB.
Thanks for the very good lesson on these devices. I have had mixed results with a few of then and always wondered why.
Have had an issue controlling an old style equipment COM port which uses at least CTS/RTS. All types work once communications established. However, PC COM port and USB-Prolific able to establish communications unlike two different types of USB-CH340 neither of which can establish comms. Checked over several days (with in VBA both .RtsEnable or Handshake.RequestToSend and .None) so a real problem.
Great comment and may also help some others π
Also is worth to mention, that some old software used direct port access (I mean out and in assembler instructions) and this wan’t work with USB converters at all.
Anyway I make my own converter based on FTDI, GD75232, and TracoPower inverter. It have full 3/5 channels and hold voltage level on lines, when other line is shorted / overloaded.