Table of Contents Index NMS Glossary Previous Page Next Page Version


Chapter 4

CDI Board Management


4.1 Introduction
4.2 Board Management Functions
4.3 Querying the Status of a Board
4.4 Monitoring Status Changes
4.5 Monitoring Board Temperature
4.6 The Application LED

4.1 IntroductionTop of Page

This chapter describes CDI service functions for board management.

4.2 Board Management FunctionsTop of Page

The following functions control CDI service board management:
If you want to...

Then use...

Register the caller to receive board status change events

cdiStartStatusMonitoring

Unregister the caller from receiving board status change events

cdiStopStatusMonitoring

Get the current board status

cdiGetBoardStatus

Get the current temperature of a thermometer

cdiReadThermometer

Set the application LED

cdiUserLed

4.3 Querying the Status of a BoardTop of Page

An application can query the status of a CX 2000 or CX 2000C board. The following information is available:

To query the status of a board, invoke cdiGetBoardStatus, which returns a CDI_BOARD_STATUS structure containing status information:

typedef struct
{
  DWORD size;
  DWORD voltage_presence;
  DWORD board_presence;
  DWORD thermometer_presence;
  DWORD thermal_state;
  DWORD hmic_error;
  DWORD slic_error[3];
}  CDI_BOARD_STATUS;

CDI_BOARD_STATUS is defined in cdidef.h.The values for the fields in this structure are described in Chapter 5.

4.4 Monitoring Status ChangesTop of Page

Applications can register to receive events automatically whenever the board status changes. To register an application to receive board status change events, start cdiStartStatusMonitoring on one CTA context per board. While you can monitor more than one context for a board, monitoring one context is sufficient and conserves system resources. Open this context on a non-DSP port such as local:0:0.

If cdiStartStatusMonitoring is successfully invoked, it returns SUCCESS. Any board status change causes CDIEVN_BOARD_STATUS_CHANGE to be generated. The application can then invoke cdiGetBoardStatus to determine what has changed.

To unregister an application from status change events, invoke cdiStopStatusMonitoring.

4.5 Monitoring Board TemperatureTop of Page

CX 2000 and CX 2000C boards provide protection from overheating by monitoring board temperature, and shutting down heat-producing operations if the temperature becomes too high. There are four temperature states:
Temperature State

Description

Normal

Temperature is within normal operating range.

Warning

Temperature has reached warning range.

Protection

Temperature has reached protection range.

The board's temperature is typically within the Normal range. (Refer to the CX 2000 and CX 2000C Installation and Developer's Manual to determine the exact temperature range represented by each state.) Usually, the board will stay in this range as long as adequate cooling is provided, and appropriate guidelines are followed. For guidelines on providing optimum cooling for CX 2000 products, refer to the CX 2000 and CX 2000C Installation and Developer's Manual.

If a board begins to overheat and the temperature reaches the Warning range, CDIEVN_BOARD_STATUS_CHANGE is generated. (Note that an application will not receive this event unless it is registered to receive status change events as described in Section 4.4.) The thermal_state field in the CDI_BOARD_STATUS structure returned by cdiGetBoardStatus is set to CDI_THERMAL_WARNING.

If the warning condition is not addressed, overheating may progress to the Protection state. When the state is reached, thermal_state becomes CDI_THERMAL_PROTECTION. At this stage, the board automatically takes the following actions, preventing new incoming or outgoing calls from being processed:

In extreme situations, the hardware reduces the loop current to the stations. This will impact the operation of telephones or other attached devices.

An application can query the exact board temperature at any time by invoking cdiReadThermometer with the number of a thermometer to check. (A board has five thermometers, 0 through 4.) This function returns the exact current temperature measured by the thermometer in degrees C. To determine a typical operating temperature, query the temperature after the board has been running under a typical load (with a number of stations off-hook) for one hour.

4.6 The Application LEDTop of Page

CX 2000 boards have a green LED which can be controlled by the application. The purpose is defined by the application (generally maintenance, internal debugging, or other custom use). To control the LED, invoke cdiUserLed with one of the following values:
Value

Description

RESET_USER_LED

Turn off the application LED.

SET_USER_LED

Turn on the application LED.

TOGGLE_USER_LED

Change LED to the other state.



Table of Contents Index NMS Glossary Previous Page Next Page Version


Want to send us feedback on our documentation? Email: Tech_Pubs@nmss.com
Copyright © 2000, Natural MicroSystems, Inc. All rights reserved.