RS232/TTL to USB Isolator - Page 1
Forum section: electronics / projects

author: 0xdeadbeef
author_rank: Super Contributor
timestamp: June 02, 2015, 12:06:23 am
content: As I just ordered a Manuyo M9812 EDL with a TTL RS232 interface, I decided to take the chance and design my own RS232/TTL to USB isolator.I know this has been done a million times before, but firstly I kinda like doing stuff like this and secondly, I want to do it right.FT232RL as USB converter and ADUM1201 as isolator are pretty much typical choices, so no surprise there.While the M9812 has a 5V supply on pin 1, I added the option to put a 5V to 5V isolated DC/DC module to power the RS232 side . Which also opens the chance to power a small µC board via USB.I'm, aware that there are ICs like ADUM 5201 or ADUM 6201 with an integrated DC/DC, but they are more expensive than an ADUM1201 plus a 3kV/200mA DC/DC which also seems a bit beefier.There's also an option for a pull-up in case the device on the RS232 side has just an open collector for its Tx line. And I added a TVS diode array on both sides for additional transient/ESD protection.Last but not least, the board is designed to fit in a Pactec CNM-0407 case (available at Mouser) for ~2€ which seems to be quite a convenient case for that sort of thing.So, any blatant design issues?Updated schematics and pictures: added decoupling capacitor to 3V3OUT, added power LED on TTL side to fulfill 10% minimum load for DC/DC. Some other minor things.

author: nctnico
author_rank: Super Contributor
timestamp: June 02, 2015, 01:19:44 am
content: Why not just use 2 optocouplers? I think I posted a diagram in a Array 3710 thread somewhere.

author: Jeroen3
author_rank: Super Contributor
timestamp: June 02, 2015, 08:44:05 am
content: Why would you use that enormous db9 connector for ttl level?http://jeroen3.nl/isoftdiYou can get cheap Silabs isolators instead of expensive Analog Devices. They're pin compatible

author: 0xdeadbeef
author_rank: Super Contributor
timestamp: June 02, 2015, 10:23:53 am
content: Well, in the end I need a DB9 connector on the Maynuo etc. and while I could of course assemble an RS232 cable I like the idea to have the connector on the PCB and then use a ribbon cable to the device. I'm also using this connector is because it fits the case.Besides, I wouldn't really save something if I could make the PCB a bit smaller in this dimension. Getting the length (from connector to connector side) under 5cm would save a bit on the PCB costs.Actually I created a 5cm version first with mini USB, ghetto style DB9 connector and without the TVS diodes and then decided to go this way to have a perfectly (?) fitting cheap case without tinkering.The Silabs isolators are a good hint. I guess I could use a Si8422 or something like this instead. Problem is that I can only find them at Mouser while the ADUMs have better availability. So let's call it a placement option, but as I don't get into mass production, I'll probably stay with the ADUM for the moment.

author: Jeroen3
author_rank: Super Contributor
timestamp: June 02, 2015, 10:41:03 am
content: Si84's are NRND. Get Si86 instead, they are about half the price of ADuM with Farnell.For robustness a box with db9 is better. But I only need one when debugging on bare boards. So I don't care much about the casing.

author: daqq
author_rank: Super Contributor
timestamp: June 02, 2015, 12:51:55 pm
content: It's not very RS232 - RS232 has positive and negative signal voltages (+/- 3 to 15V with respect to ground) - to achieve those you need a level converter (MAX3222 and friends) or some creative ground shifting.Also, if you connect a real RS232 device it won't be particularly happy about the TVS array on the input - The negative will be shorted alltogether, the positive will be clipped.

author: daqq
author_rank: Super Contributor
timestamp: June 02, 2015, 12:55:23 pm
content: Also, the FT232 3V3OUT pin should have a decoupling cap on it.

author: 0xdeadbeef
author_rank: Super Contributor
timestamp: June 02, 2015, 03:10:49 pm
content: It's called RS232/TTLsince it's about TTL level RS232. Most bench devices with RS232 are isolated anyway. It's the China TTL level stuff that needs to be isolated.I don't use the 3V3OUT so I assumed I don't need to a decoupling capacitor, but indeed you're probably right since despite of its name, this 3.3V seems to be mainly used internally.

author: daqq
author_rank: Super Contributor
timestamp: June 02, 2015, 03:18:03 pm
content: Even if you do not use the 3V3OUT, the internal regulator does - the datasheet states:QuoteAs toQuoteSorry, I focused on the RS232 part of the text. RS232 implies the voltage levels as well as the data transfer logic. The proper name for a device like this would be USB->Serial, USB->USART/UART converter or similar.

author: 0xdeadbeef
author_rank: Super Contributor
timestamp: June 02, 2015, 03:19:27 pm
content: Edited, but you were faster

author: DutchGert
author_rank: Frequent Contributor
timestamp: June 02, 2015, 04:42:34 pm
content: If u use a ADuM3482 and a REG710-33 as regulator u can make a UART -> USB convertor that is powered from the host and accepts 1.8V to 5V logic levels.....I just happen to be making sothing like that right now as a kind of internal universal 'debug' interface within our company.?I can share if anyone likes?

author: nctnico
author_rank: Super Contributor
timestamp: June 02, 2015, 04:52:38 pm
content: Quote from: DutchGert on June 02, 2015, 04:42:34 pmI'm about to finish the first production run for a similar device. Not isolated but rugged for USB to UART-TTL and RS485 (short range) and it has a nice casing. Since USB is differential you can allow some ground bounce between the device and the host.

author: suicidaleggroll
author_rank: Super Contributor
timestamp: June 02, 2015, 04:59:18 pm
content: Quote from: 0xdeadbeef on June 02, 2015, 03:10:49 pmUART/Serial is the name for the interface, RS232 is a very specific implementation of that interface with defined voltage levels. This is an isolated USB->UART bridge, the term "RS232" shouldn't be anywhere near this device, it just adds to the confusion.

author: 0xdeadbeef
author_rank: Super Contributor
timestamp: June 02, 2015, 06:01:33 pm
content: Quote from: DutchGert on June 02, 2015, 04:42:34 pmWell, mine is powered from the host as well (with the DC/DC placed) and depending on the DC/DC I guess I also come out a bit cheaper.Quote from: nctnico on June 02, 2015, 04:52:38 pmWhat case do you use? I searched quite some time to find something that's cheap and somewhat available.Quote from: suicidaleggroll on June 02, 2015, 04:59:18 pmIMHO RS232 is an interface that also includes the physical layer while UART in its literal sense is atransmitter- which means I would use it for a implementation/circuit and not for the interface. If you have a RS232 interface on a DB9 connector with the typical pin2/3 layout and everything apart from the voltage level is RS232 why would you call it a transmitter and not RS232/TTL? Well, rhetorical question. I don't really want to argue.

author: suicidaleggroll
author_rank: Super Contributor
timestamp: June 02, 2015, 06:20:30 pm
content: Quote from: 0xdeadbeef on June 02, 2015, 06:01:33 pmhttp://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitterIt is, by definition, a UART (or if you like, a TTL UART). The "RS232" standard simply tacks on voltage specifications, which you're not meeting, so it's not RS232. "RS232/TTL" is an oxymoron, you're specifying two contradictory voltage standards.You make an RS232 device by grabbing a UART and sticking an RS232 voltage driver on it. Without the RS232 voltage driver/level shifter, it's just a UART. That's all RS232 is really, a UART with +/-3 to +/-25v signaling. Just like MIDI is an opto-isolated UART with 5v signaling, RS422 is a UART with differential signaling, etc.Sticking a DB9 connector on there is even worse. Somebody (maybe even you in a couple of years) is going to see "RS232" printed on the board along with the DB9 connector, plug it into an actual RS232 device, and possibly damage something.

author: 0xdeadbeef
author_rank: Super Contributor
timestamp: June 02, 2015, 07:19:58 pm
content: "The RS-232 standard is commonly used in computer serial ports. The standard defines the electrical characteristicsand timing of signals, the meaning of signals, and the physical size and pinout of connectors."I guess we can agree that we disagree. So please, let's drop this annoying "I am so clever and you are so dumb" game. I'm too tired and grumpy for this kind of crap right now.

author: nctnico
author_rank: Super Contributor
timestamp: June 02, 2015, 08:47:35 pm
content: Quote from: 0xdeadbeef on June 02, 2015, 06:01:33 pmA plastic one from Farnell's / Element14's own brand. Not as cheap & small as I had hoped because I need some openings for the connectors. The front & rear plates are lasercut from aluminium.Initially I bought a bunch of these but it turned out it was too tedious to use because I also have a switch and a jumper on my board:http://www.aliexpress.com/item/50-pcs-lot-abs-plastic-instrument-casing-or-abs-plastic-housing-for-electronics-diy-junction-box/32305084239.html

author: Old Grey
author_rank: Newbie
timestamp: January 28, 2018, 08:16:06 pm
content: Is this ok to use for a USB?Basically I have a Arduino based ECU that runs the car and is powered from the battery, and when I connect my laptop that is also running off the same battery the control program freezes. I was thinking about cheap isolation - $2 Ebay - because that is all I can afford.

author: fcb
author_rank: Super Contributor
timestamp: January 28, 2018, 10:31:21 pm
content: Nope. That will work with TTL UART.There does exists a USB isolator IC in the ADUM range - but it’s only good for 12Mbps (full speed?)

author: 0xdeadbeef
author_rank: Super Contributor
timestamp: January 28, 2018, 10:50:52 pm
content: True, for USB the ADUM3160 is needed which I used in anotherproject.

author: Old Grey
author_rank: Newbie
timestamp: January 29, 2018, 10:07:56 pm
content: Is the ADuM1201 quick enough for 115200 through a USB COM port.It's only for the datalog stream from the ECU, and I don't think it's full USB2 or something like that because the program that receives it is set to RS232.

author: 0xdeadbeef
author_rank: Super Contributor
timestamp: January 29, 2018, 10:51:57 pm
content: 115kBit/s shouldn't be an issue. Even the slowest 1201 version (AR) is specified for 1Mbit/s. BR (10Mbit/s) and CR (25Mbit/s) versions are even faster.Still, for RS232 over USB you'll need an RS232 <-> USB converter as the FT232 used in the example in this thread.

author: suicidaleggroll
author_rank: Super Contributor
timestamp: January 30, 2018, 12:30:26 am
content: Quote from: Old Grey on January 29, 2018, 10:07:56 pmYou cannot use the Adum1201 for USB isolation, full stop. Data rate has nothing to do with it, the signaling is completely incompatible.

author: 0xdeadbeef
author_rank: Super Contributor
timestamp: January 30, 2018, 02:20:22 am
content: @Old GreyYeah, I'm also unsure if it's clear to you that USB uses differential lines. So D+ and D- are nothing like Rx/Tx on UART.In a nutshell, if you want to use USB directly, try theADUM3160, if you want UART over USB, you can use theADUM1201for isolation but you'll still need the USB/UART conversion.

author: Old Grey
author_rank: Newbie
timestamp: January 30, 2018, 04:10:19 am
content: So the ATmega16U2 on the Arduino MEGA2560 changes it to USB communication and it won't work.Oh well, back to the drawing board.

author: Monkeh
author_rank: Super Contributor
timestamp: January 30, 2018, 04:43:15 am
content: .. well, yes, you are after all plugging it into a USB port.