Configuring board clocking

When multiple boards are connected to the CT bus, you must set up a bus clock to synchronize timing between them. In addition, you can configure alternative (or fallback) clock sources to provide the clock signal if the primary source fails.

This topic describes:

To create a robust clocking configuration, you must understand basic clocking concepts such as clock mastering and clock fallback. This topic assumes that you have a basic understanding of CT bus clocking. For a complete overview of CT bus clocking, refer to the NMS OAM System User's Manual.

AG 2000 clocking capabilities

This topic describes the rules and limitations that apply to setting up CT bus clocking for AG 2000 boards.

When an AG 2000 board is configured as the system primary clock master, the boards's first timing reference must be set to OSC. Clock fallback should be disabled.

Note: An AG 2000 board should only be configured as the system primary clock master if there are no digital T1 or E1 boards in the system (that is, if the system contains only analog boards). Refer to the NMS OAM System User's Manual for information about assessing clocking priorities in a mixed-board system.

When an AG 2000 board is configured as the system secondary clock master:

When an AG 2000 board is configured as a clock slave:

Caution:

Versions C.5 or earlier of the AG 2000 board do not support clock fallback, cannot act as system secondary clock masters, and cannot master or slave to the B clock.


The following tables summarize the CT bus clocking capabilities of AG 2000 boards:

Note: NETREF refers to NETREF1 on the H.110 bus.

Clocking capabilities as primary master

Capability

Yes/No

Comments

Serve as primary master

Yes

Use this board as a master only if no boards with digital trunks are present on the CT bus.

Drive A_CLOCK

Yes

 

Drive B_CLOCK

Yes

 

Available primary timing references:

Local trunk

No

Only digital trunks carry timing reference signals.

NETREF1

No

This board cannot use NETREF1 as a timing reference.

NETREF2

No

NETREF2 is available for H.110 boards only.

OSC

Yes

 

Fallback to secondary timing reference

No

There is no timing reference to fallback to.

Available secondary timing references:

Local trunk

No

Only digital trunks carry timing reference signals.

NETREF1

No

 

NETREF2

No

NETREF2 is available for H.110 boards only.

OSC

No

 

Slave to secondary master if both references fail

No

 


 

Clocking capabilities as secondary master

Capability

Yes/No

Comments

Serve as secondary master

Yes

Use this board as a master only if no boards with digital trunks are present on the CT bus.

Drive A_CLOCK

Yes

If the primary master drives B_CLOCK, the secondary master drives A_CLOCK.

Drive B_CLOCK

Yes

If the primary master drives A_CLOCK, the secondary master drives B_CLOCK.

Available secondary timing references:

Local trunk

No

Only digital trunks carry timing reference signals.

NETREF1

No

This board cannot use NETREF1 as a timing reference.

NETREF2

No

NETREF2 is available for H.110 boards only.

OSC

Yes

 


 

Clocking capabilities as slave

Capability

Yes/No

Comments

Serve as slave

Yes

 

Slave to A_CLOCK

Yes

 

Slave to B_CLOCK

Yes

 

Available fallback timing references:

A_CLOCK

Yes

 

B_CLOCK

Yes

 

OSC

Yes

The board is not synchronized until the application reconfigures the clock.


 

Other clocking capabilities

Capability

Yes/No

Comments

Drive NETREF1

Yes

 

Drive NETREF2

No

NETREF2 is available for H.110 boards only.

Operate in standalone mode

Yes

 


Clock configuration methods

You can configure clocking in your system in one of two ways:

Method

Description

Using clockdemo application model

Create an application that assigns each board a clocking mode, monitors clocking changes, and reconfigures clocking when clock fallback occurs.

A sample clocking application, clockdemo, is provided with Natural Access. clockdemo provides a robust fallback scheme that suits most system configurations. clockdemo source code is included, allowing you to modify the program if your clocking configuration is complex. For more information about clockdemo, refer to the NMS OAM System User's Manual.

Note: Most clocking applications (including clockdemo) require that all boards on the CT bus be started in standalone mode.

Using board keywords (with or without application intervention)

For each board on the CT bus, set the board keywords to determine the board's clocking mode and to determine how each board behaves if clock fallback occurs.

This method is described in this topic. Unlike the clockdemo application, which allows you to specify several boards to take over mastery of the clock when another board fails, the board keyword method allows you to specify only a single secondary clock master. For this reason, the board keyword method is best used to implement clock fallback in your system, or in test configurations where clock reliability is not a factor.

The board keyword method does not create an autonomous clock timing environment. If you implement clock fallback using this method, an application must still intervene when clock fallback occurs to reset system clocking before other clocking changes occur. If both the primary and secondary clock masters stop driving the clocks, and an application does not intervene, the boards default to standalone mode.


Choose only one of these configuration methods across all boards on the CT bus. Otherwise, the two methods can interfere with one another and board clocking may not operate properly.

Configuring AG 2000 boards using board keywords

AG 2000 board keywords allow you to configure the board in the following ways:

You can also use board keywords to establish clock fallback sources.

The following sections describe how to use board keywords to specify the clocking role of each AG 2000 board in a system.

Primary clock master

Use the following board keywords to configure an AG 2000 board as a primary clock master:

Keyword

Description

Clocking.HBus.ClockSource

Specifies the source from which this board derives its timing. Set this keyword to OSC.

Clocking.HBus.ClockMode

Specifies the CT bus clock that the board drives. Set this keyword to reference either A clock (MASTER_A) or B clock (MASTER_B).

Clocking.HBus.AutoFallBack

Set this keyword to NO.


Note: If the primary master's first source fails and then returns, the board's timing reference (and consequently, the references for any slaves) switches back to the first timing source. This is not true for the secondary timing master.

 

Secondary clock master

Use the following board keywords to configure an AG 2000 board as a secondary clock master:

Keyword

Description

Clocking.HBus.ClockSource

Specifies the source from which this board derives its timing. Set this keyword to the clock driven by the primary clock master. For example, if the primary master drives A clock, set this keyword to A_CLOCK.

Clocking.HBus.ClockMode

Specifies the CT bus clock that the secondary master drives. Set this keyword to the clock (MASTER_A or MASTER_B) not driven by the primary clock master.

Clocking.HBus.AutoFallBack

Enables or disables clocking fallback on the board. Set this keyword to YES.

Clocking.HBus.FallBackClockSource

Specifies the alternate timing reference to use when the master clock does not function properly. Set this keyword to OSC.


Note: If the primary master's timing reference recovers, the secondary master continues to drive the clock referenced by all clock slaves in the system until the application intervenes.

 

Clock slave

Use the following board keywords to configure an AG 2000 board as a clock slave:

Keyword

Description

Clocking.HBus.ClockMode

Specifies the CT bus clock from which the board derives its timing. Set this keyword to SLAVE to indicate that the board does not drive any CT bus clock.

Clocking.HBus.ClockSource

Specifies the source from which this clock derives its timing. Set this keyword to reference the clock driven by the primary clock master.

Clocking.HBus.AutoFallBack

Enables or disables clock fallback on the board.

Clocking.HBus.FallBackClockSource

Specifies the alternate clock reference to use when the master clock does not function properly. For clock slaves, set this keyword to reference the clock (A_CLOCK or B_CLOCK) driven by the secondary clock master.


 

Standalone mode

To configure AG 2000 boards in standalone mode so the board references its own clocking information, set Clocking.HBus.ClockMode to STANDALONE. The board then uses its own oscillator as a timing signal reference. However, the board cannot make switch connections to the CT bus.

Multiple board system example

The following example assumes a system configuration in which three AG 2000 boards reside in a single chassis. The boards are configured in the following way using board keywords:

Board

Configuration

Board 0

System primary bus master (driving the A clock)

Board 1

System secondary bus master (driving the B clock)

Board 2

Clock slave (clock fallback enabled)


 

This configuration assigns the following clocking priorities:

Priority

Timing reference

First

Board 0, local oscillator

Second

Board 1, local oscillator


The following illustration shows a multiple-board system with a primary and secondary clock master:

The following table shows board keywords used to configure the boards according to the configuration shown in the preceding illustration:

Board

Role

Clocking keyword settings

0

Primary clock master

Clocking.HBus.ClockMode = MASTER_A

Clocking.HBus.ClockSource = OSC

Clocking.HBus.AutoFallBack = NO

1

Secondary clock master

Clocking.HBus.ClockMode = MASTER_B

Clocking.HBus.ClockSource = A_CLOCK

Clocking.HBus.AutoFallBack = YES

Clocking.HBus.FallBackClockSource = OSC

2

Clock slave

Clocking.HBus.ClockMode = SLAVE

Clocking.HBus.ClockSource = A_CLOCK

Clocking.HBus.AutoFallBack = YES

Clocking.HBus.FallBackClockSource = B_CLOCK


In this configuration, Board 0 is the primary clock master and drives A_CLOCK. All slave boards on the system use A_CLOCK as their first timing reference. Board 0 references its timing from its local oscillator.

If the clocking signal used by Board 0 fails, then Board 0 stops driving A_CLOCK. The secondary clock master (Board 1) then falls back to a timing reference based on its local oscillator and uses this signal to drive B_CLOCK. B_CLOCK and becomes the timing source for all boards that use B_CLOCK as their backup timing reference.

Note: For this clock fallback scheme to work, all clock slaves must specify A_CLOCK as the clock source and B_CLOCK as the clock fallback source.