Products > Embedded Computing

Need eight RS-232 serial ports, cheap, using a Teensy 4.1?

<< < (3/3)

Nominal Animal:
This is unlikely to help here, but since the TTL or voltage level issue came up...

I have a variety of SBCs and routers that have serial consoles on UART ports with specific voltage levels: 1.8V, 3.3V, and 5V.  They often have no protection, so overvoltage can do irreparable damage (essentially require replacing the SoC to get the serial port functionality back, since it is often implemented directly on the SoC).

All my devices have both Vcc and GND pins in addition to the data pins (RX, TX; some, but not all, have hardware handshaking, i.e. CTS and RTS), so I do not actually need to know the voltage used on the UART pins; I just want the voltage levels to match that Vcc pin.

I have used SN74LVC1T45 dual supply bus transceivers (-DVBR, 6-pin SOT-23 footprint, single-bit), as they support any voltage between 1.65V and 5.5V on either side, with switching time less than 20ns, and were easily available.  (In fact, LCSC still has lots of them available, as of this writing, for USD $0.541 each in lots of ten.  They also have the same chip in smaller footprints and other manufacturers, but me bumblefuck need the largest footprint for easier soldering.)

Yet, I've often discovered that if I were to use digital isolators (2/2, for TxD and RTS, and RxD and CTS), I could solve both voltage level and ground loop issues at once.  Say, ISO6742 (Texas Instruments), Si8642 (Skyworks Solutions), MAX14932 (Maxim Integrated), and so on.  (I personally do not need the additional RS-232 signals, and often could actually do with just 1/1 for TxD and RxD only.)  Of these, ISO6472 can work with 1.8V, or 2.25 to 5.5V; Si8642 with 2.5V to 5.5V; and MAX14932 from 1.71V to 5.5V.  There are other ones too, obviously; these are just the ones I've looked at.

Right now, digital isolator chips seem to be very hard to find.  TME does have some ADuM chips, so if I was really in need, I'd use one with isolated DC-DC converter (so that the isolator worked at 5V or 3.3V on both sides), and SN74LVC1T45 or similar dual supply bus transceivers on the downstream end (for proper voltage level shifting); possibly with a optionally selectable linear regulator footprint, so that one could select the final downstream voltage between a supply pin, and the linear regulator.  Choose a regulator footprint with 1.8V and 3.3V regulators, and you can use the same board for isolated UART connections at a selectable voltage level.

Currently, I actually use an USB isolator (cheap ADuM3160 12Mbit/s isolators off eBay; they're straight from the datasheet, just check the DC-DC converter used, and even the $10 ones are quite okay to use for this in my experience) between the microcontroller or USB-to-UART converter, so I get the isolation I want anyway, and the SN74LVC1T45 level shifters give me the level shifting capability.

I do have a Teensy 4.1, so I guess I could create a carrier board exposing all the UART RX and TX pins with a suitable SN74LVC1T45 each, in EasyEda.  Teensy 4.0 exposes five UARTs on 0.1" pitch, though, so I'd actually recommend using 4.0s instead of 4.1s (because 4.0 is still available from for $20 each).  There are additional two on the pads beneath, for a total of 7 RX/TX pairs, but they're much more trickier to solder to than the standard 0.1" pitch through holes on the perimeter.  While not all of the UARTs have FIFOs, it is fast enough with LOTS of RAM so it should not be a problem at all.  (My real world tests using Teensy 4.0 indicates it can trivially sustain 200 Mbit/s in one direction using USB Serial, so USB bandwidth and Teensy speed is definitely not an issue.)
The only questions are, really, how should the four pins – Vcc, RX, TX, GND – per UART be exposed: 0.1" through-holes/pins?  Some kind of connector? And should it be a carrier board (sitting beneath the Teensy board), or a separate board you connect with wires?

Thanks for the hints!
What I'm looking for is a "finished" solution (I look at it as a "hammer", just a tool ;) )
I could easily do with just the RxD (and GND) for 8 channels, and would also not need isolation (devices are battery supplied)
I'll keep looking :)

@Nominal Animal

Eh, today I bought qty = 4 radio modules made by AUREL. The idea is to create radio-RS232 modules, half-duplex, with a carrier frequency of ~ 400Mhz, and capable of transmitting and receiving signals up to 38Kbps.

There are 8 channels, the idea is to add four dispswitches so each module can select its ID. All the 8 channels will be mixed on the same antenna on the bridge-side.

The problem is how to balance the package, but once you have found a good workaround, you can embed an MPU inside the radio and you are ready to use it up to 8 devices serially and wireless.

Will it work? Who knows :D


Probably want to put them on their own private network though..


[0] Message Index

[*] Previous page

There was an error while thanking
Go to full version