EmbeddedRelated.com
Forums

RTS CTS Problem

Started by ratemonotonic January 30, 2008
Hi all ,

I am using GPIO lines of an AVR to control the RTS & CTS lines of the
RS232 interface. The level convertor that I am using is MAX3222.

Software wise when the AVR is configured as a DCE so the RTS line is
input and CTS is output , the software sets the GPIO going to the CTS
high as long as it has buffer space , when it is wants the DTE to stop
sending data it pull the GPIO low.

the problem is that when I set the CTS AVR GPIO high(1) the voltage
that I see the 9 way connector pin is -5v and when  I set CTS AVR GPIO
to low(0) the voltage on the  9 way connector is 0v.

Is that the expected behavior? I think i am missing some fundamental
concept.

BR
rate
In article <5c0a9a78-78a7-4d6a-bcff-
909de5f64b3b@j20g2000hsi.googlegroups.com>, niladri1979@gmail.com 
says...
> Hi all , > > I am using GPIO lines of an AVR to control the RTS & CTS lines of the > RS232 interface. The level convertor that I am using is MAX3222. > > Software wise when the AVR is configured as a DCE so the RTS line is > input and CTS is output , the software sets the GPIO going to the CTS > high as long as it has buffer space , when it is wants the DTE to stop > sending data it pull the GPIO low. > > the problem is that when I set the CTS AVR GPIO high(1) the voltage > that I see the 9 way connector pin is -5v and when I set CTS AVR GPIO > to low(0) the voltage on the 9 way connector is 0v. > > Is that the expected behavior? I think i am missing some fundamental > concept. > > BR > rate >
A low into the MAX should give you a positive voltage and a high a negative voltage. There should never be a 0V ever. It is not defined.
> the problem is that when I set the CTS AVR GPIO high(1) the voltage > that I see the 9 way connector pin is -5v and when =A0I set CTS AVR GPIO > to low(0) the voltage on the =A09 way connector is 0v. > > Is that the expected behavior? I think i am missing some fundamental > concept.
It is the expected behaviour allright if the buffers you use are inverting (they normally are). But you need to drive CTS _low_ to enable data flow, not high. This is how all CTS inputs (past buffers, at TTL level) I have seen work. :-) Dimiter ------------------------------------------------------ Dimiter Popoff Transgalactic Instruments http://www.tgi-sci.com ------------------------------------------------------ http://www.flickr.com/photos/didi_tgi/sets/72157600228621276/ On Jan 30, 9:28=A0pm, ratemonotonic <niladri1...@gmail.com> wrote:
> Hi all , > > I am using GPIO lines of an AVR to control the RTS & CTS lines of the > RS232 interface. The level convertor that I am using is MAX3222. > > Software wise when the AVR is configured as a DCE so the RTS line is > input and CTS is output , the software sets the GPIO going to the CTS > high as long as it has buffer space , when it is wants the DTE to stop > sending data it pull the GPIO low. > > the problem is that when I set the CTS AVR GPIO high(1) the voltage > that I see the 9 way connector pin is -5v and when =A0I set CTS AVR GPIO > to low(0) the voltage on the =A09 way connector is 0v. > > Is that the expected behavior? I think i am missing some fundamental > concept. > > BR > rate
On 30 Jan, 19:38, Didi <d...@tgi-sci.com> wrote:
> > the problem is that when I set the CTS AVR GPIO high(1) the voltage > > that I see the 9 way connector pin is -5v and when I set CTS AVR GPIO > > to low(0) the voltage on the 9 way connector is 0v. > > > Is that the expected behavior? I think i am missing some fundamental > > concept. > > It is the expected behaviour allright if the buffers you use are > inverting (they normally are). > But you need to drive CTS _low_ to enable data flow, not high. > This is how all CTS inputs (past buffers, at TTL level) I have > seen work. :-)
By _low_ do you mean 0 on the AVR GPIO, sorry just clarifying. When will RS232 be banned? :- {)
> By _low_ do you mean 0 on the AVR GPIO, sorry just clarifying.
Yes.
> When will RS232 be banned? :- {)
Hah, it is that more or less is already - try to buy a laptop with it. :-) It is still pretty useful for lowest level debugging etc., at the very begining of projects or when not all of the stuff is functional. Dimiter ------------------------------------------------------ Dimiter Popoff Transgalactic Instruments http://www.tgi-sci.com ------------------------------------------------------ http://www.flickr.com/photos/didi_tgi/sets/72157600228621276/ On Jan 30, 9:57=A0pm, ratemonotonic <niladri1...@gmail.com> wrote:
> On 30 Jan, 19:38, Didi <d...@tgi-sci.com> wrote: > > > > the problem is that when I set the CTS AVR GPIO high(1) the voltage > > > that I see the 9 way connector pin is -5v and when =A0I set CTS AVR GP=
IO
> > > to low(0) the voltage on the =A09 way connector is 0v. > > > > Is that the expected behavior? I think i am missing some fundamental > > > concept. > > > It is the expected behaviour allright if the buffers you use are > > inverting (they normally are). > > =A0But you need to drive CTS _low_ to enable data flow, not high. > > This is how all CTS inputs (past buffers, at TTL level) I have > > seen work. :-) > > By _low_ do you mean 0 on the AVR GPIO, sorry just clarifying. When > will RS232 be banned? :- {)
On Jan 30, 8:57 pm, Didi <d...@tgi-sci.com> wrote:
> > By _low_ do you mean 0 on the AVR GPIO, sorry just clarifying. > > Yes. > > > When will RS232 be banned? :- {) > > Hah, it is that more or less is already - try to buy a laptop with > it. :-) > > It is still pretty useful for lowest level debugging etc., at the very > begining of projects or when not all of the stuff is functional. > > Dimiter > > ------------------------------------------------------ > Dimiter Popoff Transgalactic Instruments > > http://www.tgi-sci.com > ------------------------------------------------------http://www.flickr.com/photos/didi_tgi/sets/72157600228621276/ > > On Jan 30, 9:57 pm, ratemonotonic <niladri1...@gmail.com> wrote: > > > On 30 Jan, 19:38, Didi <d...@tgi-sci.com> wrote: > > > > > the problem is that when I set the CTS AVR GPIO high(1) the voltage > > > > that I see the 9 way connector pin is -5v and when I set CTS AVR GPIO > > > > to low(0) the voltage on the 9 way connector is 0v. > > > > > Is that the expected behavior? I think i am missing some fundamental > > > > concept. > > > > It is the expected behaviour allright if the buffers you use are > > > inverting (they normally are). > > > But you need to drive CTS _low_ to enable data flow, not high. > > > This is how all CTS inputs (past buffers, at TTL level) I have > > > seen work. :-) > > > By _low_ do you mean 0 on the AVR GPIO, sorry just clarifying. When > > will RS232 be banned? :- {)
Fixed the problem , faulty IC (MAX322). was not raising the voltage up when GPIO was going low. thanks for clearing my this out. BR rate