P300H P300 Series Modem Installation and Operating Handbook Page 196
(low) is defined as a positive voltage. This means that a RS232 character will appear as the RS485 `A` line
shown previously, except it will transition from <-3V to >+3V as opposed to 0V & 5V.
Message Structure
All messages are transmitted in a defined message format. The formats are as follows:
Paradise / FDC
The same format is used for message from Master to Slaves, and Slaves to Master. Messages from Master
to Slaves carry the address of the destination Slave device, return messages from Slave to Master ALSO
carry the address of the Slave (ie the source of the message NOT the destination on the return, as all
returned message are for the Master device).
idle STX Char Count Address Instruction `Body` `Body` `Body` Asterisk Checksum ETX idle
(02H) (06H-FFH) (1-255) (0-3FH) (1st char) (other chars) (last char) (if Body) (03H)
STX: The fixed character 02H
Char Count: The message length including STX and ETX characters (06H for zero `Body`
length)
Address: Slave address, range 1-255. Zero is reserved for the `Global` address to which
all devices respond.
Instruction: Range 0-3FH. Add 40H (64 ) to request a standard `ACK`, add 80H (128 ) to
10 10
request an `extended ACK` to this message.
Body: From 0 to 248 characters (resulting in a maximum message length of 255
characters).
Asterisk: An ASCII `*` character if there is a body (ie if the length of the body of the
message <>0)
Checksum: The Modulo 256 sum of all the characters inclusive from the `Address` to the end
of the `Body`, up to and including the asterisk.
ETX: The fixed character 03H
The Paradise / FDC protocol supported by the P4xx series of Modems is a slightly enhanced version, which
is backwards compatible with the previous version. The enhancement is to add an `extended ACK`
message (which the Master specifically requests instead of the original `ACK`), that includes the instruction
code of the message it is ACKing. This allows multiple messages to be in transit to the same Slave on the
M&C bus, with the returned ACK's identifying which messages were received correctly (and more
importantly which are unACKed and need resending). This allows multiple messages to be sent without
having to wait for each to be ACK'd individually (which is useful in very distributed systems with long
message transit times).
Slave devices will respond with the original format ACK when requested originally defined, allowing
common code in the slave devices to support both variants.