1 hardware design of slave port interconnection, 2 slave port registers – Jameco Electronics Rabbit 3000 User Manual

Page 213

Advertising
background image

204

Rabbit 3000 Microprocessor

/SLAVEATTN—This line is set low (asserted) if the slave writes to the SPD0R register.
This line is set high if the master writes anything to the slave status register. This line is
usually connected to cause the master to be interrupted when it goes low.

The data lines of the slave port are shared with Parallel Port A that uses the same package
pins. The slave port can be enabled, and Parallel Port A be disabled, by storing an appro-
priate code in the slave port control register (SCR). After the processor is reset, all the pins
belonging to the slave interface are configured as parallel-port inputs unless (SMODE1,
SMODE0) are set to (0,1), in which case the slave port is enabled after reset and the slave
starts the cold-boot sequence using the slave port.

13.1 Hardware Design of Slave Port Interconnection

Figure 13-4 shows a typical circuit diagram for connecting two slave Rabbits to a master
Rabbit. The designer has the option of cold-booting the slave and downloading the pro-
gram to RAM on each cold start. Another option is to configure the slave with both RAM
and flash memory. In this case, the slave will only have the program downloaded for
maintenance or upgrades. Usually, the flash would not be written to on every startup
because of the limited number of lifetime writes to flash memory. The slaves’ reset in
Figure 13-4 is under the program control of the master. If the master is reset, the slave will
also be reset because the master’s drive of the reset line will be lost on reset and the pull-
down resistor will pull the slaves’ resets low. This may be undesirable because it forces
the slave to crash if the master crashes and has a watchdog timeout.

13.2 Slave Port Registers

The slave port registers are listed in Table 13-1. These registers, each of which is actually
two separate registers, one for read and one for write, are accessible to the slave at the I/O
addresses shown in the table and they are accessible to the master at the external address
shown which specifies the value of the slave address (SA0, SA1) input to the slave when
the master reads or writes the registers. The register that can be written by the slave can
only be read by the master and vice versa. If one side were to attempt to read a register at
the same time that the other side attempted to write the register the result of the read could
be scrambled. However, the protocols and handshaking bits used in communication are
normally such that this never happens.

Table 13-1. Slave Port Registers

Register

Mnemonic

Internal

Address

External

Address

Slave Port Data 0 Register

SPD0R

0x20

0

Slave Port Data 1 Register

SPD1R

0x21

1

Slave Port Data 2 Register

SPD2R

0x22

2

Slave Port Status Register

SPSR

0x23

3

Slave Port Control Register

SPCR

0x24

N.A.

Advertising
This manual is related to the following products: