Jameco Electronics 3000 User Manual

Page of 349
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