Difference between revisions of "ISO Data Link Layer"
From Zenitel Wiki
(→Selecting) |
|||
Line 93: | Line 93: | ||
The device selection supervisory sequence calls for a status reply from the selected device. If no response, or invalid response is received, the Master Device must take action to recover the communication. | The device selection supervisory sequence calls for a status reply from the selected device. If no response, or invalid response is received, the Master Device must take action to recover the communication. | ||
+ | |||
+ | == Messages == | ||
+ | |||
+ | The information messages have the following format: | ||
+ | '''<STX> <encoding type> <data……….> <ETX> <bcc>''' | ||
+ | The sequence which constitutes the message is prefixed by the start of text (STX) character and is terminated only with the end of text (ETX) character. | ||
+ | * <encoding type> is a UINT1 value identifying the coding of the message. | ||
+ | 72 (0x48) (‘H’) = Standard AlphaCom Data Protocol message | ||
+ | This format means that the rest of the message (data) is normally encoded as two Hexadecimal characters pr byte. The exception to this is if an 34 (0x22 = ASCII Double Quote) value is encountered. This means that the remaining part of the <data> is not encoded. This makes it possible to have uncoded ASCII text in the messages. | ||
+ | |||
+ | Normally it’s the link layers responsibility to encode/decode messages. | ||
+ | |||
+ | * <data> is a network layer message data as delivered to the link layer, which is encoded according to <encoding type>. | ||
+ | * <bcc> is the Block Check Character as specified in ISO1155. This is the bytewise exclusiveor of all bytes, including the <STX> and <ETX> character. |
Revision as of 07:58, 27 June 2007
The protocol is based on the ISO 1745 standard using the ISO 1155 longitudinal parity. The protocol can be used with RS232 and RS422 pointtopoint connection, but also with RS485 multidrop bus connection.
The ISO Data Link layer procedure is based on the ISO1745 standard: Information processing Basic mode control procedures for data communication systems. The standard includes the concept of having a Control Device, Master Device and Slave Device.
The Control Device polls the devices, one at a time in an orderly fashion, inviting them to transmit messages. The devices that transmits a message becomes the Master Device. This device selects the destination device, which becomes the Slave Device, inviting it to receive an information message. The Master Device sends the message and the Slave Device acknowledges the message.
The AlphaCom module is always the Control Device.
Contents
Overview
A complete message transmission sequence progress as follows:
<br\> <br\> <br\> <br\><br\><br\><br\><br\><br\><br\><br\><br\><br\><br\><br\><br\><br\>
Transmission Control Characters used
The following control characters are used in the protocol:
The first 32 characters, ASCII 0 31 (0x00 0x1F) is not allowed in the payload of an message.
Note that the message’s Block Check Character can have any value, including the reserved transmission control characters!
STX - Start of text
STX is a transmission control character which precedes a text and which is used to terminate a heading. STX is transmitted by the Master Device.
ETX - End of text
ETX is a transmission control character which terminates a text. ETX is only transmitted by the Master Device and calls for a reply from the Slave Device. ETX is followed by a BCC, “block check character”.
EOT - End of Transmission
EOT is a transmission control character used to indicate the conclusion of the transmission of one text. EOT may be transmitted by a Control, Master or Slave Device. The Control Device transmits EOT to anticipate the reception of a forward supervisory sequence. The Master Device in the system transmits EOT to relinquish its right to transmit in favor of the Control Device.
ENQ - Enquiry
ENQ is a transmission control character used as a request for a response from a remote device. ENQ is transmitted by the Control Device during polling and by the Master Device during selecting.
ACK - Acknowledge
ACK is the transmission character transmitted by a receiver as an affirmative response to the sender.
NAK - Negative acknowledge
NAK is a transmission control character transmitted by a receiver as a negative response to the sender <br\><br\><br\>
Device Id
The Device Id is an UINT1 value which is uinique within an exchange.
Selecting a device in another exchange (Routing)
If the Master Device has a message to a device in another exchange, the Router is selected. The Router has device id 204 (0xCC) and answers the enquiry, and receives the message, on behalf of the destination device. This means that each device has to know which AlphaCom module they belong to.
The Master Device has completed its transmission upon receipt of ACK from the Router. Acknowledgment / handshake between devices on different modules must be handled at the application layer.
Broadcast
The Master Device uses a broadcast id when selecting for a broadcast message. It is the responsibility of the Master Device to ACK the selecting supervisory by transmitting the positive acknowledge character ACK. <br\><br\><br\>
Polling
Polling is the process of inviting devices, one at a time in an orderly fashion, to transmit messages. The basic function of polling is to prevent contention by ensuring that only one device transmits at a time. The polling process can only be performed by a Control Device, following EOT.
When a device receives its appropriate polling supervisory sequence, it becomes the Master Device.
The format of the polling supervisory sequence is:
<br\><Device Id> ENQ
Polling sequences are always preceded by EOT. <br\><br\><br\>
--> Polling sequence where a device is invited to send a message. The device becomes the Master Device when it receive its appropriate polling supervisory. In this example the device has no messages and sends the termination supervisory sequence EOT.<br\><br\><br\><br\><br\><br\>
--> Polling sequence when the Master Device has a message to send. The Master Device is allowed to send only one message pr. polling sequence. This means if a device has several messages to send it must wait until the next time it receives it’s appropriate polling supervisory. <br\><br\><br\><br\><br\><br\><br\><br\><br\>
Selecting
Selecting is the normal process for inviting one device to receive an information message. The selecting process can only be performed by a Master Device. The selecting supervisory sequence uniquely identifies the device by means of its Device Id.
The device selection supervisory sequence calls for a status reply from the selected device. If no response, or invalid response is received, the Master Device must take action to recover the communication.
Messages
The information messages have the following format: <STX> <encoding type> <data……….> <ETX> <bcc> The sequence which constitutes the message is prefixed by the start of text (STX) character and is terminated only with the end of text (ETX) character.
- <encoding type> is a UINT1 value identifying the coding of the message.
72 (0x48) (‘H’) = Standard AlphaCom Data Protocol message This format means that the rest of the message (data) is normally encoded as two Hexadecimal characters pr byte. The exception to this is if an 34 (0x22 = ASCII Double Quote) value is encountered. This means that the remaining part of the is not encoded. This makes it possible to have uncoded ASCII text in the messages.
Normally it’s the link layers responsibility to encode/decode messages.
- is a network layer message data as delivered to the link layer, which is encoded according to <encoding type>.
- <bcc> is the Block Check Character as specified in ISO1155. This is the bytewise exclusiveor of all bytes, including the <STX> and <ETX> character.