Half a croissant, on a plate, with a sign in front of it saying '50c'
h a l f b a k e r y
Neural Knotwork

idea: add, search, annotate, link, view, overview, recent, by name, random

meta: news, help, about, links, report a problem

account: browse anonymously, or get an account and write.



5-volt pseudo-RS232 port

Avoid need for level convertors
  [vote for,

When connecting microcontrollers to RS232 devices like a PC serial port, it's generally necessary to use a level-convertor chip such as the 1488/1489 (if +/- 12 are available) or a Max232/1081 (if not). This can be nuisancesome.

Using a simple invertor at +5 levels will work at lower baud rates, but can cause trouble at higher rates since the switching times of an RS232 line driven at +5/0V levels are assymmetric.

I would propose having a UART with inputs/output which can be programmed for inverted levels, and which include a programmable delay on rising or falling edges. Slightly skewing the edge times would allow for reliable operation at higher speeds than could otherwise be obtained without a level-convertor chip.

supercat, Jun 09 2006

Demmel's spec sheet for it's iCLD modules http://www.demmel.c...4-specification.pdf
pp 4 -- mentions "Hysteresis", one of my favorite cool phenomena,5,7,8 [reensure, Jun 09 2006]

6522 VIA http://en.wikipedia...MOS_Technology_6522
Versatile Interface Adapter [csea, Jun 10 2006]


       If you write your UART in PIC assembler, you can get away without needing any pesky level convertors.
AbsintheWithoutLeave, Jun 09 2006

       //If you write your UART in PIC assembler, you can get away without needing any pesky level convertors.//   

       Software UARTs generally don't run at high speeds. Running 115,200 at half-duplex or in "lockstep" mode (as each byte is received, send out one byte simultaneously) would probably be doable, but full duplex would be pretty tough even at 20MHz. It could probably be done, but there'd be no time for the PIC to do anything else.   

       I see the device as described as being most useful as a means of enhancing the utility of hardware UARTs.
supercat, Jun 09 2006

       Is it just me, or is this a bit, well, 'niche'?.
I've been effing around with RS485 to USB with BACnet MS/TP all day. I should have been playing Golf!.
gnomethang, Jun 09 2006

       What is your application? If you intend to connect to other RS-232 devices, you'll need to be at least partially compatible with the standard EIA protocol.   

       I'f you're just sending serial data to a nearby PC, go for it, but I don't see why you'd need variable delay, etc.   

       There are better means if you are going long distances.   

       Maxim has the usual RS-232 interface covered with a variety of chips, most developing appropriate levels with only +5 power.   

       One of my favorite peripheral chips years ago was the Mostek VIA (6522). See [link.] Programmable timers would allow you to implement a software/hardware UART with little overhead.
csea, Jun 10 2006

       I think it's a great idea, reliable operation without a level converter seems a little difficult right now, especially when one considers that the UARTs on the pc side aren't all the same either, my prototype could work fine for 90%, but not for the other ten. My experience with this is limited, and honestly the only times I did anything with RS232 I just went ahead and got a max232 and sacrificed so much board real estate but nonetheless... it would be nice if ports would just accept 5/0 volt and you could connect them directly to the UART on an AVR.
brewer, Jun 10 2006

       A Max232 or 1081 is fine if you don't mind adding a 16-pin chip and five capacitors to your design. But it seems a little silly to add all that to a board which would otherwise just contain a small micro.   

       Using a simple invertor will work for transmitting RS232 over short distances and at low speeds. An EIA-compliant device must accept a zero-volt signal as a spacing condition and a five-volt signal as a marking condition, so while a transmitter that does not output -5 would not be EIA-compliant, it should nonetheless be able to send data to EIA-compliant receivers.   

       The biggest difficulty is that using an asymmetric signalling voltage range (0 to +5) causes asymmetric skew on the receiving end. The magnitude of the skew is not very predictable, but the direction is. So if the signal is pre-skewed in the direction opposite the expected skew (but by a small enough amount that it would be acceptable even if the receiver didn't skew it at all) that would double the amount of skew that could be tolerated.
supercat, Jun 12 2006

       Is this becoming moot? Fewer PC's come with rs232 ports, and now many micros have i2c and usb hardware built in.
n81641, Jun 11 2008


back: main index

business  computer  culture  fashion  food  halfbakery  home  other  product  public  science  sport  vehicle