
Redundancy Controller
Page
40
Document Number: 90-005-0030_E
Response messages are identical to command messages in format with the exception of the
acknowledge (ACK) and not-acknowledged (NAK) character at the start of the message instead
of STX.
A command or reply message may vary in length; it may have a maximum of 200 bytes including
delimiters and checksum. Although most currently implemented SAbus devices require no (or very
few) data bytes, the capability for long messages is built into the protocol so that future applications
requiring the transfer of large amounts of data can be accommodated.
Message Delimiters
A command message begins with STX (02 hex), the ASCII start-of-text character.
A message-acknowledged reply begins with ACK (06 hex), the ASCII acknowledge control
character.
A message-not-acknowledged reply begins with NAK (15 hex), the ASCII not-
acknowledged control character.
All messages end with ETX (03 hex), the ASCII end-of-text control character, followed by
the checksum byte.
Address Character
The device address must be a valid ASCII printable character between 1 and 0, or 31 through 6F
(hex); providing the possibility of 63 SAbus addresses.
Command Character
The command (CMD) character immediately follows the device address and specifies one of a
possible 80 different commands for a particular device. Values from 30 to 7F (hex) are allowed.
Commands may be completely device dependent with the exception of command 30 (hex), which
must cause a device to return its six-character device type and command 31 (hex) which is a status
poll.
Command and Reply Data
A command or device reply may contain from 0 to 128 data characters and is restricted only to
printable ASCII characters 20 through 7F (hex).
Check Character
The last character of any SAbus message is the check (CHK) character. This character is simply the
bit-by-bit exclusive OR of all characters in the message starting with the STX character through the
ETX character. This forms a longitudinal redundancy parity check over the entire message.
Message Timing
Different devices will require different times to execute commands from a Master. A receiver, for
example, may be instructed to change frequency and may require up to a second for the synthesizer
to lock. This should not prevent it from immediately acknowledging the command. The NAK or
ACK reply does not signify that a function has actually taken place, but only that the message was
received and understood. A status reply should indicate when a device is executing a time-
consuming function.
A remote device must begin responding to a command within 100 milliseconds after receiving the
last character of the command and no more than 10 milliseconds must pass between each character.
If the remote device does not respond within this time, the master/controller should attempt to
re-establish communication by re-polling this device at least once.