Page 103 - Designing Autonomous Mobile Robots : Inside the Mindo f an Intellegent Machine
P. 103
Chapter 6
message in this format. The individual characters are in ASCII format, and as in the
previous example, two characters are required to transmit each byte of data. This
inefficiency was offset largely by the advantage that it could be monitored on a sim-
ple ASCII terminal, and by the security that this type of coding added.
: 03 1F 00 01 01 02 03 D7 <CR>
D7 - Neg. Checksum of message
01 02 03 - Data to set
01- Destination Computer or Subsystem
1F 00 - Base destination address of data
03 - Number of bytes in message body
: - Message type (Set Data)
Figure 6.3. A blackboard set (write) data message
Upon accepting the message, the receiving (slave) process would return the check-
sum as a single binary byte. If the checksum answer were not received, the master
would repeat the message.
The crude single-byte checksum would normally look like insufficient protection for
a message that was to be transmitted over less than perfect means. Since the check-
sum could take on only 256 discrete values, it would seem that the protocol would
miss detecting a multicharacter error once in 256 times. This is not the case. First,
except for the message type, each character can take on only 16 values (0-9 and
A-F). Thus, an error that occurs in a character transmission, in such a way that the
result is no longer one of these characters, will be detected by the decoder before the
checksum is ever considered. If a whole character were lost, the receiver would know
that the message was not valid. Additionally, when the message was sent over a
radio or modem link, it was always wrapped in a more secure protocol.
The message format for reading data is shown in Figure 6.4. A slave computer would
respond to this message by returning the requested block of data, followed by the
checksum of both the data and the requesting message. Response data was sent in
binary format. A binary response is adequate since framing is set by the requesting
message, and because the master receiving logic knows exactly the number of bytes
that should be received.
86

