Date : Wed, 24 Jan 2007 12:13:06 -0600
From : julesrichardsonuk@... (Jules Richardson)
Subject: user ports and signal sharing
Hi all,
I've got a scenario in mind where I want to 'share' a common signal between a
handful of beebs via CB1 on the User port. At any given moment there can be
one of two system states:
1) All machines in the group have CB1 configured as an input, in which
case I want the common signal between them to register as a logic high
when read.
2) One machine in the group has CB1 configured as an output, and has set the
output to a logic low; all other machines in the group will still have
their CB1 line configured as an input and will therefore read this logic
low.
I can guarantee (hardware failure and software bugs aside :) *during normal
run conditions* that no more than one machine in the group will ever try to
set CB1 as an output.
I'm assuming that I can just use a resistor to 'tie' the common signal line to
logic high in the situation when no beebs have CB1 set as an output. I'm also
assuming that I can change CB1's state between input and output at will,
without disturbing any of the other signal lines on the User port?
I suppose one of my main worries is at switch-on, before application control
programs the User port's VIA; if more than one system powers up and just
happens to default to CB1 as an output, and one machine happens to be
outputting a logic high whilst the other's outputting a logic low, then it'll
appear as a dead short on the common signal line and probably toast something.
Are there any guarantees as to power-up state of the VIA?
cheers
Jules