'16C63 UART Problems?'
|This is pretty long...
I have two boards with 16c63 parts connected to LTC485 485 drivers. Pin C5
is used to enable the driver. The receiver is enabled at all times.
To test the hardware I wrote two simple programs, one for receive, and one
for transmit. The transmit code turns on the 485 driver and sends
alternating + and - with a 500 ms period. The receive code disables the
driver, and listens for incoming characters. When it receives a +, it
turns on an led, when it received a -, it turns off an led.
It didn't work, so I did the following:
1) I hooked up the RX data pin on the receive side to a PC via a MAX233.
It show that at the PIC, the + and - characters are being received.
2) I pulled the 485 driver and connected the PIC directly to a PC via the
MAX233 and sent + and - characters from the keyboard. It worked fine.
3) I then put the 485 driver back in. I did leave the MAX233 connected to
the transmit side so I could send out some info for debug purposes. Based
on that info, when connected to the other PIC, the rx PIC receives two
characters, +- or -+ depending on when I hook it up, and then waits for
ever for another character.
When connect to the PC the rx side works.
When connected to another PIC the rx side does not.
At 11:22 AM 2/23/97 -0800, you wrote:
>This is pretty long...
>I have two boards with 16c63 parts connected to LTC485 485 drivers. Pin C5
>is used to enable the driver. The receiver is enabled at all times.
Is your 485 connection terminated properly?
Andy Kunz - Montana Design - 409 S 6th St - Phillipsburg, NJ 08865
Hardware & Software for Industry & R/C Hobbies
"Go fast, turn right, and keep the wet side down!"
'16C63 UART Problems?'
|Long question, long answer !
Some time ago, I experiment the receiver problems when I connected
on RS422 ( which is the almost the same as RS 485 ) some control
systems using 80c552 ( an expanded version of 8051) and a PC. The
protocol was like this : the PC queries the stations one at the
time. The PC transmitter was activated, it sends an address ( that
all the stations listen), then it was deactivated and the PC
listens for the response.
It appeared the following problem : in the idle periods of
the bus ( when neither transmitter was enabled ) the bus floats
and the receiver TTL output ( which are all enabled) goes in an
impredictable state ( because of the input histeresis) or even
The solution I found was like this : I prepolarised the
bus so it keeps the polarity when neither transmitter is enabled. I
used two solutions :
1. Two 1k resistors, one from the + line to VCC, other from - line
to GND ( VCC and GND of the RS422/485 driver ). This gives an
aprox. 120 mv between lines when the bus is idle
2. I replaced one 100 ohm terminator resistor with 2x200 ohm
resistors, one from + line to VCC, other from - line to GND.
This gives an 1V voltage between lines in the idle periods.
I hope it is useful for you,
Research Institute for Computers
Email : pcnet.pcnet.rodogaroiud
>This is pretty long... >
More... (looser matching)
- Last day of these posts
- In 1997
, 1998 only
- New search...