ICC Protocol
From Zenitel Wiki
Inter Card Cage protocol is the protocol used between the master and the slave modules in a AlphaCom MultiModule. The ICC protocol provides very low level control of the HW resources in a AlphaCom module.
Contents
Network and link layer
Uses a variant of Stentofon Data Link Layer as linklayer.
The network layer is actually just 3 bits of the link layer header ( <Unused> / <Encoding type> bits), which is used to address the slave modules. The value is the slave Device address - 65. This is the source address for messages to master, and destination address for messages from the master. The master address is implicit. Whether message is incomming or outgoing is only known by which link the message is received on.
The original version used RS232 at 9600 bit/s (no parity, 8 bit data, one stop bit). The first slave (module no 66) forwards messages to the last slaves.
ICC over IP
When running on IP the ICC messages (with sequence number, STOP/START flag, check sum etc), is put on top of TCP. There is no acknowledge on each message any more. Retransmission / Package failure is trusted to be handled correctly in the TCP protocol. AMCD: Message with error in sequence number is accepted, but error in the check sum is not.
The master connects TCP towards slaves, slaves are listening for connection on port 50010. There is direct TCP connection to all slaves, no router slave.
The first AMC 10.00 versions run the complete protocol with acknowledge / retransmissions on top of TCP. This was soon dropped, order to increase the capacity of the ICC link.
Parameter formats
See http://repository/repos/Products/AMC/design/AICE_doc/Converted%20from%20FrameMaker/icc_interface.pdf
Unit numbers
AMC Unit numbers are used to refer to a audio channel on a SBI. In the ICC protocol unitnumbers are coded using one or two bytes. The bit layout of the variable “unit” parameter is:
Channel on first SBI, one byte like:
bbbbbccc
and for channels on higher SBIs two bytes like
00000sss bbbbbccc
where
bbbbb is board number 1 – 26 sss is the SBI number within the board, 0 - 7 ccc is channel 0 – 7 with one SBI
Protocol operation
Board scan
- Master Send Simple Scan
- If board present, BOARD_AVAILABLE is returned.
- No response if no board (unfortunately)
- When master has got BOARD_AVAILABLE, it only have to listen for BOARD_NOT_AV.
- If you get BOARD_NOT_AV, report error and go back to start, send Simple Scan.