Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Single Rx/Tx line

Status
Not open for further replies.
Hmmm must have not made myself clear

The TTL rs232 bus is already used on another PCB, I am sniffing the RS232 and sometimes issues commands over this RX/TX line as part of a debug / test device so I2C is not the answer.

I need a switchable i.e. switch it on "take control" / off "allow devices to talk but still listen" TTL RS232 circuit.

how can I isolate a MCU RS232 TX line from a combined RX/TX line whilst ensuring when it's not isolated it "controls" that line

Thx Steve
 
A TTL RS232 bus is not really a possibility. The voltage levels are either TTL or they are RS-232 but they can't be both on the same wire. For any point to point system using either TTL or RS 232 there is no way to reliably override another transmitter. You would know that if you knew anything about either TTL or RS-232.

If what you have is a TTL open collector gate driving say a 7414 schmidt trigger input then you may have a chance to override the other transmitter and prevent his message from getting through. He can of course do the same thing to you so it's not really a solution. In short, unless there is something going on that you have not revealed it is my considered opinion that you have no chance of reaching your goal.

Allow a total redesign and anything is possible, but you knew that -- didn't you?
 
PapaBravo

All the RS232 levels are same (TTL)
All devices are connected via bipolar transistors

my current circuit connects via bipolar transistors so as not to cause problems

I want to sometimes take control of the single wire and FORCE my Tx on it, ensuring nothing else on bus overrides it (don't forget they are connected via bipolar)

I'm sure this can be done as I have forced a low (holding wire to GND) and forced a HI holding wire to 5v, but I'm looking for a simple way if switching this on / off

Thx
 
The RS232 protocal does not support multidrop.
 
They do if u....

They do if you tie RX/TX together and add bipolar transistors I'm doing it!

1 line multiple devices, all can talk and receive but u do get clashes, I want to take control of this bus (sometimes)

Scarr
 
I assume you mean the transistors are being used as open collector drivers.

Implementing a master/slave topology would be the best/easiest solution. Otherwise I suspect you would need to implement a type of collision detection protocol like CSMA.

I have successfully used the Icom CI-V (serial, TTL level, 1-wire) protocol on a PIC to control Icom radios and that works pretty well but if you have multiple "masters" you still need to implement collision detection.

Good luck. Mike
 

Attachments

  • CI-V Bus Drawing.JPG
    CI-V Bus Drawing.JPG
    38.7 KB · Views: 393
Last edited:
Hi Space varmit, this look like it's what I need however will this force this line low/high I cannot see any specs on sink and source currents. I was going re-post / change my question to remove the ambiguity regarding RS232, my altered post was going read like this if it makes clearer.

I have a MCU pin that toggles tetween 0-5v at fairly low speeds (<10khz) This pin is connected via open collector transistos so as not to affect the line when not is use, the line is pulled high (5v) extrenally and other MCU's are connected using same method. Data is then sent down this so the MCU's can talk

I want to have this method but also an "override method" so when my pin goes high the line it is kept high and cannot be pulled low by other MCU's and vice versa for low. This override methoed needs to be switchable (on/off)

The current needed to force the line high is a few ma, I need to measure the current required to force the line low but suspect it to be <100ma


P.S. thanks for the hlep so far.

No, it is tri-state. That means you have the option to drive it bi-directionally or to put in into tri-state which is a very high impedance and it will appear as an open circuit.
 
All the RS232 levels are same (TTL)
All devices are connected via bipolar transistors

my current circuit connects via bipolar transistors so as not to cause problems

I want to sometimes take control of the single wire and FORCE my Tx on it, ensuring nothing else on bus overrides it (don't forget they are connected via bipolar)

I'm sure this can be done as I have forced a low (holding wire to GND) and forced a HI holding wire to 5v, but I'm looking for a simple way if switching this on / off

Thx
With bipolar trnasistors you can prevent another transmitter from getting a message through. The other transmitter can do the same thing to you. Listen carefully. You cannot override the other transmitters signal unless it is passively pulled up. This signaling mechanism has nothing whatever to with RS-232 so quit bringing that term into the discussion, it is just confusing things.
 
PapaBravo

PapaBravo

You obviously did not read my post before having a go at me, if you read it I said exactly what you said and that is talking about RS232 was causing confusion so I removed it, it might help if you read posts before having a go at a newbie. also when I have asked questions in the past people say "tell us everything" in this case I'm told not to! very confusing.


Thx in advance to all those helping.
 
Last edited:
PapaBravo

You obviously did not read my post before having a go at me, if you read it I said exactly what you said and that is talking about RS232 was causing confusion so I removed it, it might help if you read posts before having a go at a newbie. also when I have asked questions in the past people say "tell us everything" in this case I'm told not to! very confusing.

Now it might be my terminology or lack of knowledge but all I know is if I stick the line direct to GND no data appears on the line and if I stick it to 5v supply again no data just flat 5v line. so it is possible to override the signals, how would I do this "forcing" in time with a pulse on a pin even if this some sort of power transistor, one for GND and one for 5v.


Thx in advance to all those helping.
And for all of your bluster and righteous indignation, the fact remains that there is no way to reliably communicate on a point to point link, such as you have described, with two transmitters which are capable of mutually interfereing with each other.
 
And for all of your bluster and righteous indignation, the fact remains that there is no way to reliably communicate on a point to point link, such as you have described, with two transmitters which are capable of mutually interfereing with each other.

lol.... he was a bit harsh with you.
 
I know, but as he appears not to want to help I'm just going to ignore it :) however I think he believes all devices are of the same specification and therefore no matter what I do you could never achieve what I want, I did start this post by saying "The TTL rs232 bus is already used on another PCB" my device can be of any specification.

OK, there is an existing PCB with an existing working bus, using one line to TX/RX commands, this bus is "based" on the RS232 protocol in speed and timing only. the devices are connected to this bus using open collector transistors that I know for definite cannot withstand a pull up to 5v of just a few ma and I suspect (yet to check) a few tens on ma down to ground, I have tested the theory of what I want to do by simply placing the wire to +5v supply and GND in both cases all transmissions are blocked and after removing it comms continues without problem.

I want to mimic my manual placing to +5v supply and GND in time with my MCU pin thereby overriding any device talking on the bus and if a device is listening managing to get my command to it, after I issue my command I release the bus and listen for the reply.

Hope this makes things clearer.


P.S. I'll go look at these "data selectors" and thanks for continuing to try and help me

OK, so you are not trying to block a comm signal from getting through to another point? I though you had two devices communicating with each other and you needed to gate open the signal path in which case the '373 would have worked nicely. But you want the power lifted with the MPU signal? Correct? If so, then you need a transistor switch. You can do that both ways either by apply VCC through a transistor or GND through a transistor. If the MCU is separate from the comm chip power then no problem.

But if you want to block the TX/RX line only, then run that signal through a '373 . That would be the preferred method. Because the '373 will act as a transparent D latch which is bidirectional. The MCU can tri-state the '373 so that it appears as an open circuit and therefore no data can pass through. I think that's what you want. You are talking about full duplex comm aren't you? So I think you want to use the '373.
 
Last edited:
Also let me say this. I don't really think the other guy was messing with you. I think he was trying to understand what it is you want, but you are right. There are always a few smart a--s's around. Don't let them get you worked up. I like your attitude. If you say you can do it....then by golly you can! You can do allot of stuff with electronics. There is no such thing as can't. Not in my book and it looks like yours either. So if somebody rubs you the wrong way, just try to ignore it and move on. You got those little nay sayers and hecklers everywhere you go. It's just part of life.
 
Also let me say this. I don't really think the other guy was messing with you. I think he was trying to understand what it is you want, but you are right. There are always a few smart a--s's around. Don't let them get you worked up. I like your attitude. If you say you can do it....then by golly you can! You can do allot of stuff with electronics. There is no such thing as can't. Not in my book and it looks like yours either. So if somebody rubs you the wrong way, just try to ignore it and move on. You got those little nay sayers and hecklers everywhere you go. It's just part of life.
And the funny thing is how most manage to make fools of themselves...

case in point being "the other guy" calling RS232 TTL. RS232 signal levels are +/-3V to +/-15V and TTL is 0 and 5V. A USART puts out TTL levels but they only become RS232 after going through a translator IC.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top