A
Abe
Maybe this is a somewhat stupid question, but I just can't seem to get
the right answer for it. I am implementing a DS89C420 (8051 derivative
with lotsa free samples) based system. I will be selecting one of 8
external devices which can either be talkers (i/p) or listeners (o/p).
Now the 8-bit data as output is sent through P1 and input is recvd on
P0 while p2's pins act as device selector. Now the question:
2 devices are talkers and hence connected to P0. How am I supposed to
wire them to the p0? Since they have tri-statable o/p, there is not
problem with directly connecting their similar bit lines directly to
p0's pin. But do I reqiure to put a pull up resistor, or do I have to
put a resistance between the p0's pin and the junction of the 2
devices' lines. or I can directly connect the lines directly to p0.
Alternative 1
___0-<-Device 1
uC p0.0-o---<___
0-<-Device 2
Alternative 2
1KOhm ___0-<-Device 1
uC p0.0-o-/\/\/\-<___
0-<-Device 2
Alternative 3
0 5V
|
\
/ 5K1 Ohm Pullup
\
/
| ___0-<-Device 1
uC p0.0-o-+-<___
0-<-Device 2
Which one is right?
Additionally when I start up the system, according to the datasheet,
the uC takes about 65536 cycles (@11.0592Mhz) after power-up to begin
execution. So before this occurs, can the devices actually screw-up
each other's o/ps due to all being enabled simultaneously. Or will
their performance degrade over time? If so, is there a work around?
Thanks in advance,
Regards,
Abhijit Karnik
India
the right answer for it. I am implementing a DS89C420 (8051 derivative
with lotsa free samples) based system. I will be selecting one of 8
external devices which can either be talkers (i/p) or listeners (o/p).
Now the 8-bit data as output is sent through P1 and input is recvd on
P0 while p2's pins act as device selector. Now the question:
2 devices are talkers and hence connected to P0. How am I supposed to
wire them to the p0? Since they have tri-statable o/p, there is not
problem with directly connecting their similar bit lines directly to
p0's pin. But do I reqiure to put a pull up resistor, or do I have to
put a resistance between the p0's pin and the junction of the 2
devices' lines. or I can directly connect the lines directly to p0.
Alternative 1
___0-<-Device 1
uC p0.0-o---<___
0-<-Device 2
Alternative 2
1KOhm ___0-<-Device 1
uC p0.0-o-/\/\/\-<___
0-<-Device 2
Alternative 3
0 5V
|
\
/ 5K1 Ohm Pullup
\
/
| ___0-<-Device 1
uC p0.0-o-+-<___
0-<-Device 2
Which one is right?
Additionally when I start up the system, according to the datasheet,
the uC takes about 65536 cycles (@11.0592Mhz) after power-up to begin
execution. So before this occurs, can the devices actually screw-up
each other's o/ps due to all being enabled simultaneously. Or will
their performance degrade over time? If so, is there a work around?
Thanks in advance,
Regards,
Abhijit Karnik
India