BasicMicro - Forums

www.basicmicro.com
It is currently Sun May 20, 2012 11:47 pm

All times are UTC - 8 hours [ DST ]




Post new topic Reply to topic  [ 4 posts ] 
Author Message
 Post subject: UART "broadcast"
PostPosted: Wed Jun 20, 2007 10:00 pm 
Does the Atom Basic have the signal "power" to send UART (Hserout) to several other atoms (Hserin) simultaneously (via one trace).

I am placing a single "control" (BasicAtom40B-IC) and 5 "nodes" (BasicAtom28B-ICs) -AND- a UART/USB interface on the same circuit board. (Vinculum VDIP1) Maximum distance pin to pin is ~ 4 inches.
Often 4 of the nodes need/want the same info.
I understand that a Max232 could resolve this but I'm reluctant to add the real estate for 7(!) of them and the tracing to a reasonably tight circuit board. (so far, lol)

I haven't found anything online that equates to a "power up" UART bus (or bus at all).
The data can be coded for the proper node to use, or RTX. Unless someone knows a way to "address" the UARTs individually.

So my question is:
Does the 40B-IC have the horse-power to "broadcast" to all of them on the same wire?
And/Or: Any advice on a "Bus"?


Could a mosfet driver work fast enough?
For example: TI- UCC27324P
-for logic 1 in; min 2v & max 10uA draw
-out: VDD (5v)
-indelay rise time: 35ns
-output rise time: 20ns
-output fall time: 15ns
-indelay fall time: 35ns

So about 105ns to a max 170ns


Any thoughts or opinions?
Thank you for your time.
BEX


Top
  
 
 Post subject: Re: UART "broadcast"
PostPosted: Wed Jun 20, 2007 10:00 pm 
Offline
Citizen

Joined: Sat Mar 08, 2003 11:00 am
Posts: 40
Yes, the "Open" baud mode is designed for this purpose. You'll need to read the SERIN/SEROUT part of the manual, set things up for "Open" baud mode, and add the appropriate pull-up resistor for the mode you're using.

The PIC driver pin can put out about 20 mA, while the PIC input pin draws a very small amount of current. Thus you could drive LOTS of input pins with a single output pin.

One issue is distance -- but if you're on a single board, this shouldn't be a problem. Another issue is capacitance -- with a lot of input pins connected together, the rise time of the signal can be affected. Again, you've got enough current here, and RS-232 baud rates are rather slow, so that shouldn't be an issue either.

One last thing -- you must make absolutly sure that at no time do you connect two outputs while one is 'driving' high and the other is 'driving' low. This will burn out your I/O pins. If you think this is possible, putting a 220 ohm resistor in series with each connected I/O pin will insure the current stays below the damaging level.


Top
 Profile  
 
 Post subject: Re: UART "broadcast"
PostPosted: Wed Jun 20, 2007 10:00 pm 
Offline
Citizen

Joined: Sat Mar 08, 2003 11:00 am
Posts: 40
One more thing. When I do this sort of thing, I usually designate one processor as the 'master'. It talks out-bound on one pin to all the 'slave' processors. I usually have a second 'net' installed as well -- so when the 'master' is talking to one 'slave', the 'slave' will answer on this second 'net'.

Note if two 'slaves' try to talk at the same time with an "OPEN" baud mode, the data will be garbled, but no damage will occur. Your software protocol should do what it can to keep this from happening, and recover if it does.

In addition, you can use the HSERIN pin as a recieve pin, to insure the processors don't 'drop' any data on the floor because they're not sitting in a SERIN statement when the data comes in. This helps 'decouple' the communication.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


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 post attachments in this forum

Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group

phpBB SEO