|
|
View previous topic :: View next topic |
Author |
Message |
Guest
|
Can I use built in uart without a max232 chip? |
Posted: Sun Feb 06, 2005 11:55 pm |
|
|
Do I have to use a max232 chip for serial port when using the built in rs232? |
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
Posted: Mon Feb 07, 2005 1:00 am |
|
|
You must, if you're going to talk to a PC or some other device that
has a MAX232-equivalent inside it. That's because the hardware
UART doesn't have an "invert" option. |
|
|
Ttelmah Guest
|
Re: Can I use built in uart without a max232 chip? |
Posted: Mon Feb 07, 2005 5:53 am |
|
|
Anonymous wrote: | Do I have to use a max232 chip for serial port when using the built in rs232? |
It is important to understand what is going on. 'RS232', is actually a decription of a signalling _voltage_ standard. The UART in the PIC, generates an asynchronous data stream, using the CMOS 'logic' voltage levels, which can be sent over wires using a number of different voltage standards. You can (for instance), send it over RS485, with the required 'transciever' chip for this, or over 'RS232', using a transceiver like the Maxim chip.
Now many PC's (especially laptops), no longer genuinely use 'RS232' levels, but use 'trimmed' subsets of the standard, with lower voltages. You can use a much smaller transceiver than the MAX232, to generate this type of signalling, and for short distances, this will work fine (look at the DS275 for an example). You can also use a simple logic gate as an inverter, and with a few resistors, generate a signal, that 'may' work over similar distances. Alternatively, if wanting to drive multiple devices over longer distances, RS485 transmission is the better bet. However to just talk between two PIC's on the same board, it'll normally be simplest to use no transceiver at all, and just directly connect the signals.
So there are a lot of different possible connection forms that may be used, and which one you will need to use, will depend on your application. The RS232 transceiver, is the commonest solution, especially when talking to a PC, but it is not the universal answer...
Best Wishes |
|
|
valemike Guest
|
|
Posted: Mon Feb 07, 2005 8:01 am |
|
|
i did once use ccs's software-based uart functions to communicate between two PICs separated by a foot-long cable, and w/o a MAX232
I let rx and tx be RC3 and RC4 when I couldn't get i2c working. It sure worked, but i had to make one of the PICs sample very frequently. So yes, you can do it without a MAX232, and on other pins, but i didn't find it practical to use, especially when i finally got i2c working. |
|
|
SherpaDoug
Joined: 07 Sep 2003 Posts: 1640 Location: Cape Cod Mass USA
|
|
Posted: Mon Feb 07, 2005 9:12 am |
|
|
I once used software UARTs at TTL levels to communicate over nearly a kilometer of twisted pair. Fortunately I only needed 300 baud and the system was on the bottom of the ocean so there was no electrical noise to speak of.
It all depends on the environment and error tollerance. _________________ The search for better is endless. Instead simply find very good and get the job done. |
|
|
hsamuels Guest
|
RS232 with inverters and resistors |
Posted: Tue Feb 08, 2005 7:17 am |
|
|
You do have to invert the signals, but you don't need to use the official RS232 voltage levels. That means you can use a couple of spare inverters from a 74HC04, for example.
The PIC's Tx pin goes to an inverter input. Put a 1k resistor from the output of the inverter to pin 2 of the DB9 connector. If you have extra spare inverters, you can put them in parallel to increase the drive strength.
Pin 3 of the DB9 should have a 20k resistor to the input of another inverter. The output of that inverter goes to the Rx pin of the PIC. The resistor protects the inverter from the RS232 voltage levels coming in.
Remember to ground pin 5 of the DB9 connector.
Also, you can put a 4.7M pulldown resistor from pin 3 of the DB9 to ground. This pulls the signal down when the cable is unplugged.
I use this all the time, and my current application is running at 115.2 kbaud with no problem. |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|