4 the slave port – Jameco Electronics Rabbit 3000 User Manual

Page 62

Advertising
background image

User’s Manual

53

4.4 The Slave Port

The slave port allows a Rabbit to act as a slave to another processor, which can also be a
Rabbit. The slave has to have only a processor chip, a RAM chip, and clock and reset sig-
nals that can be supplied by the master. The master can cold boot and download a program
to the slave. The master does not have to be a Rabbit processor, but can be any type of pro-
cessor capable of reading and writing standard registers.

For a detailed description, see Chapter 13, “Rabbit Slave Port.”

The slave processor’s slave port is connected to the master processor’s data bus. Commu-
nication between the master and the slave takes place via three registers, implemented in
the Rabbit, for each direction of communication, for a total of six data registers. In addi-
tion, there is a slave port status register that can be read by either the master or the slave
(see Figure 13-1). Two slave address lines are used by the master to select the register to
be read or written. The registers that carry data from the master to the slave appear as write
registers to the master and as read registers to the slave. The registers that operate in the
opposite direction appear as read registers to the master and as write registers to the slave.
These registers appear as read-write registers on both sides, but are not true read-write reg-
isters since different data may be read from what is written. The master provides the clock
or strobe to store data in the three write registers under its control. The master also can do
a write to the status register, which is used as a signaling device and does not actually
write to the status register. The three registers that the master can write appear as read reg-
isters to the slave Rabbit. The master provides an enable strobe to read the three read data
registers and the status register. These registers are write registers to the Rabbit.

The first register or the three pairs of registers is special in that writing can interrupt the
other processor in the master-slave communications link. An output line from the slave is
asserted when the slave writes to slave register zero. This line can be used to interrupt the
master. Internal circuits in the slave can be setup up to interrupt the slave when the master
writes to slave register zero.

The status register that is available to both sides keeps score on all the registers and reports
if a potential interrupt is requested by either side. The status register keeps track of the
"full-empty" status of each register. A register is considered full when one side of the link
writes to it. It becomes empty if the other side reads it. In this way either side can test if the
other side has modified a register or whether either side has even stored the same informa-
tion to a register.

The master-slave communication link makes possible "set and forget" communication
protocols. Either side can issue a command or request by storing data in some register and
then go about its business while the other side takes care of the request according to its
own time schedule. The other side can be alerted by an interrupt that takes place when a
store is made to register zero, or it can alert itself by a periodic poll of the status register.

Advertising
This manual is related to the following products: