You are here: CSP Developer’s Guide: Overview > 4 EXS API Application Development > Communication Module
Overview
The Communication Module reads and writes bytes to the hardware link that connects the host to the CSP. This module can frame and queue messages, calculate checksums, process special characters, and queue host messages for CSP acknowledgment.
Sequence Number Logic
You should include in your Communication Module a mechanism to assign sequence numbers to messages as they are sent out the communications port, and for matching these sequence numbers to CSP responses, using the message type.
The Communication Module must monitor the Poll message constantly. The Poll message also relays the states of the active and the standby Matrix Controller cards.
Matrix Controller State
In a redundant CSP, the Communication Module recognizes when the active matrix is no longer active because:
• The Matrix Controller card is no longer sending Poll messages
• The standby Matrix Controller card sends Poll messages that indicate that no adjacent matrix is detected
• The standby Matrix Controller card sends Poll messages that indicate that its state has switched from standby to switchover, and then to active.
The Communication Module must also recognize the need to re-route messages intended for the original active Matrix Controller card to the standby Matrix Controller card (the new active Matrix Controller card). When the Poll message indicates that the new active Matrix Controller card is ready for configuration, the Communication Module should inform the Configuration Module.
System Software Downloaded
The Poll message informs the host application that the CSP needs software downloaded, and the Communication Module performs the download.
Important! The fastest way to download software to the CSP is to use the binary downloading logic. In a redundant CSP, the Communication Module must also download the standby Matrix Controller card, and then the standby Matrix Controller card downloads the active matrix. This method causes the least amount of downtime for a CSP in the field.
During the development phase, you may be downloading different loads, but downloading on top of an existing download can be time-consuming. It is usually faster to clear the existing software load and then reset the Matrix Controller card or cards to download to the ROM code. The Clear System Software and Reset Matrix messages are useful for these processes.
Message Timeout Logic
You should include message timeout logic in the Communication Module. Timeout values can vary considerably, because with one configuration message, you can configure one channel or many channels that may span many line cards.
Timer Logic
The host determines whether to use multiple timers or a single, global timer. A global timer must be long enough so that a configuration message sent to the CSP would have enough time to complete. If the host uses multiple timers, some experimentation with the configuration messages is required.
Message Distribution Logic
The Communication Module should also distribute messages from the CSP to the modules that need them. The module may need to send a message to more than one other module.
Include the following basic functionality in your application:
• Framing
• Calculating checksums
• Handling special characters
• Downloading System Software