196
Rabbit 3000 Microprocessor
12.9.8 Supporting 9th Bit Communication Protocols
This section describes how 9th bit communication protocols work. 9th bit communication
protocols are supported by processors such as the 8051 and the Z180, and by companies
such as Cimentrics Technology. The data bytes have an extra 9th bit appended where a
parity bit would normally be placed. Requests from the network master to one of its slaves
consist of a frame of bytes—the first byte has the 9th bit set to "1" (as the signal is
observed at the Tx pin of the processor) and the following bytes have the 9th bit set to "0."
The first byte is identified as the address byte, which specifies the slave unit where the
message is directed. This enables a slave to find the start of a message, which is the byte
with the 9th bit set, and to determine if the message is directed to it. If the message is
directed to a particular slave, the slave will then read the characters in the rest of the mes-
sage; otherwise the slave will continue to scan for a start of message character containing
its address.
Normally the 9th bit is set to "1" only on the first byte of a request transmitted by the net-
work master. The subsequent bytes and the slave replies have the 9th bit set to zero. Since
the majority of the traffic has a 9th bit set low, it is only necessary to stretch the stop bit for
the first bytes or address bytes. This can be done without sacrificing performance by send-
ing a dummy character (transmitter disconnected) after the address byte.
Some microprocessor serial ports have a “wake up” mode of operation. In this mode, char-
acters without the 9th bit set to "1" are ignored, and no interrupt is generated. When the
start of a frame is detected, an interrupt takes place on that byte. If the byte contains the
address of the slave, then the “wake up” mode is turned off so that the remaining charac-
ters in the frame can be read. This scheme reduces the overhead associated with messages
directed to other slaves, but it does not really help with the worst-case load. In most cases,
the worst-case compute load is the governing factor for embedded systems. In addition, it
is quite easy for the interrupt driver to dismiss characters not directed to the system. For
these reasons, the “wake up” mode was not implemented for the Rabbit.
The 9th bit protocols suffer from a major problem that the IBM-PC uarts can support the
9th bit only by using special drivers.
12.9.9 Rabbit-Only Master/Slave Protocol
If only Rabbit microprocessors are connected, the 9th bit low can be set on the address
byte, and the remaining bytes can be transmitted in the normal 8-bit mode. This is more
efficient than other 9th bit protocols because only the first byte requires 11 baud times; the
remaining bytes are transmitted in 10 baud times.
12.9.10 Data Framing/Modbus
Some protocols, for example, Modbus, depend on a gap in the data frame to detect the
beginning of the next frame. The 9th bit protocol is another way to detect the start of a
data frame.
The Modbus protocol requires that data frames begin with a minimum 3.5-character quiet
time. The receiver uses this 3.5-character gap to detect the start of a frame. In order for
Summary of Contents for Rabbit 2000
Page 2: ...Rabbit 3000 Microprocessor User s Manual 019 0108 040731 O ...
Page 9: ...Rabbit 3000 Microprocessor ...
Page 29: ...20 Rabbit 3000 Microprocessor ...
Page 64: ...User s Manual 55 5 PIN ASSIGNMENTS AND FUNCTIONS ...
Page 79: ...70 Rabbit 3000 Microprocessor ...
Page 80: ...User s Manual 71 6 RABBIT INTERNAL I O REGISTERS ...
Page 123: ...114 Rabbit 3000 Microprocessor ...
Page 137: ...128 Rabbit 3000 Microprocessor ...
Page 157: ...148 Rabbit 3000 Microprocessor ...
Page 207: ...198 Rabbit 3000 Microprocessor ...
Page 249: ...240 Rabbit 3000 Microprocessor ...
Page 255: ...246 Rabbit 3000 Microprocessor ...
Page 277: ...268 Rabbit 3000 Microprocessor ...
Page 343: ...334 Rabbit 3000 Microprocessor ...
Page 345: ......