3. The Protocol

The protocol used conforms to International Standard ISO1745 "Information Processing - Basic mode control procedures for data communication systems". It is a multidrop protocol utilising a control station. Typically the telephone or computer system acts as the control station, however the paging system will act as a Control Station when required.

Note

Good statement, rarely true in my experience. Multitone's will do this and I think Ericsson's probably will, as they actually wrote those words; Gordon

3.1. Polling

The Control Station polls a device on the communication line with the sequence <address>ENQ. On receipt of this sequence, the polling device becomes a Temporary Master Station.

A poll sequence always follows an EOT (see 3.3 Termination)..

<address> is the address of the device being polled.

The characters '0' to '9' shall be available as addresses. Where only two stations are interconnected it is recommended that the telephone system has the address '1' and the paging system has the address '2'.

Note

Note - an EOT from wherever it comes! Not also that there is no timeout on the Poll as the traffic timeout EOT alone is sufficient for the control station to regain control and restore the system to a known state; Gordon

Note

Note that these addresses are 'available' and 'recommended', however others could be used if desired. In my implementation, we could accept alpha strings like "PBX" and "Paging System" here if ever given;

3.2. Selecting

The Polled Device send <address>ENQ to select the device to which it has data to transfer, or EOT to indicate that it does not have data to transfer (see 3.3 Termination).

Note

I.E., EOT forces us back to the Polling phase; Gordon

When the polled device sends <address>ENQ, then the selected device send ACK if it is ready to receive data. The Temporary Master Station may now communicate with the Selected device, which has become the Slave Station. If the Selected device is not able to receive data, it sends NAK with an appropriate prefix. The Temporary Master Station then sends EOT to terminate the communication.

Note

Actually, at this moment on a multidrop bus, the Temporary Master Station can instead quite legitimately Select other devices for communication; Gordon

A selecting sequence never follows an EOT.

<address> is the address of the device being selected.

3.3. Termination

Upon completion of its transaction(s), the Temporary Master Station sends an EOT, which both indicates to the slave that transactions are now complete and that control is now returned to the Control Station

Note

Again, from ISO1745, Selecting a new slave indicates that this connection is finished, however in that case, control is not yet returned to the Control Station; Gordon

If the Control Station does not detect valid transactions on the communication line within (any period of) 10 seconds, then it sends EOT to terminate the communication and regain control.

Note

This is the ultimate arbitration in the event of a communications failure, i.e., the error recovery process. Note that this works even if the fail position was at BCC, because the Control Station will do it again after a further 10 seconds; Gordon

3.4. Examples of Poll and Select Sequence

Note

In the following examples, the Control Station is shown as a separate entity, which logically it is, however in practice it usually coresides with one of the Stations. ESPA suggests the PBX or computer, however and device could fulfil the rore. Gordon

Figure 1. Poll/Select example MSC

A larger .pdf image is here.

3.5. Transfer of Data Blocks

When a device is the temporary master of the communication line, it may transfer data to the slave. When the slave correctly receives a block of data, it acknowledges receipt with the ACK character. If however the slave is unable to to accept the message, it will Negative Acknowledge with a NAK sequence (see paragraph 2.4), and the Temporary Master may then retransmit the block. If after two attempts the transmission still fails, then the Temporary Master will terminate transmission with the EOT character.

Note

Again this could actually be a select to a different slave station. Of course, common sense also applies here .. if the slave indicates Busy, it may be better to wait a while before trying the second transmission, perhaps after some later Select; Gordon

Note

Note that some systems use the protocol very crudely, in the crudest form blindly sending EOT,'1',ENQ,'2',ENQ,SOH,etc., never listening for anything and never giving the selected station any opportunity to send replies. Expire your response packets if you can't send them!; Gordon

3.6. Example of Transfer of Data Blocks

Figure 2. More complex example MSC

A larger .pdf image is here.