Configuring board clocking

When multiple boards are connected to the CT bus, you must set up a bus clock source 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 fallback. This topic assumes that you have a basic understanding of clocking. For a complete overview of board clocking, refer to the Dialogic® NaturalAccess™ OAM System Developer’s Manual.

Note:If you are not using PSTN trunks and if you are not using the CT bus, set Clocking.HBus.ClockMode = STANDALONE, Clocking.HBus.ClockSource = OSC, and skip this topic.

CG 6565C clocking capabilities

This topic describes the rules and limitations that apply to setting up CT bus clocking on CG 6565C boards.

When a CG 6565C board is configured as the system primary clock master:

When a CG 6565C board is configured as the system secondary clock master:

When a CG 6565C board is configured as a clock slave:

Refer to Other clocking capabilities for more options.

The following tables summarize the CT bus clocking capabilities of the CG 6565C board:

Clocking capabilities as primary master

Capability

Yes/No

Comments

Serve as primary master

Yes

 

Drive A_CLOCK

Yes

 

Drive B_CLOCK

Yes

 

Available primary timing references:

Local trunk

Yes

 

NETREF1

Yes

 

NETREF2

Yes

 

OSC

Yes

 

Fallback to secondary timing reference

Yes

 

Available secondary timing references:

Local trunk

Yes

 

NETREF1

Yes

 

NETREF2

Yes

 

OSC

Not recommended.

Slave to secondary master if both references fail

Yes

 

Note: If a CG 6565C board is required to drive NETREF signals and also to serve as a clock master, some restrictions apply. For more information on these restrictions, refer to NETREF clocking.

Clocking capabilities as secondary master

Capability

Yes/No

Comments

Serve as secondary master

Yes

 

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

Yes

 

NETREF1

Yes

 

NETREF2

Yes

 

OSC

Yes

 

Note: If a CG 6565C board is required to drive NETREF signals and also to serve as a clock master, some restrictions apply. For more information on these restrictions, refer to NETREF clocking.

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

 

Other clocking capabilities

Capability

Yes/No

Comments

Drive NETREF1

Yes

This board can drive either NETREF1 or NETREF2, but not both at once.

Drive NETREF2

Yes

This board can drive either NETREF1 or NETREF2, but not both at once.

Operate in standalone mode

Yes

 

Note: If a CG 6565C board is required to master NETREF signals at the same time as it is required to master the clocks, some restrictions apply. For more information on these restrictions, refer to NETREF clocking.

Configuring clocking

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

Method

Description

Use clockdemo application model

Create an application that assigns each board its clocking mode, monitors clocking changes, and reconfigures clocking if 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 Dialogic® NaturalAccess™ OAM System Developer’s Manual.

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

Use 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 documented in this topic. Unlike the clockdemo application, which allows you to specify several boards to take over mastery of the clock from one another in a fallback situation, the board keyword method allows you to specify only a single secondary 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 interfere with one another, and board clocking may not operate properly.

Configuring CG 6565C board clocking using keywords

CG 6565C board keywords enable you to configure a board in the following ways:

Refer to the multiple board system example for a sample configuration.

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

Configuring the CG 6565C as primary clock master

Use the following board keywords to configure the CG 6565C as a primary clock master:

Keyword

Description

Clocking.HBus.ClockSource

Specifies the source from which this board derives its timing. Set this keyword to a network source (NETREF, NETREF2, or NETWORK).

Clocking.HBus.ClockSourceNetwork

(Optional) Specifies the trunk number that the board uses as an external network clocking source for its internal clock.

Note: Trunk numbering, in this case, is one-based.

Clocking.HBus.ClockMode

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

Clocking.HBus.AutoFallBack

Enables or disables clock fallback on the board.

Clocking.HBus.FallBackClockSource

Specifies an alternate timing reference to use when the master clock source fails. Set this keyword to a network timing source (NETREF, NETREF2, or NETWORK).

Clocking.HBus.FallBackNetwork

(Optional) Specifies the trunk from which a fallback network timing source (for the clock fallback reference) can be derived when Clocking.HBus.FallBackClockSource = NETWORK.

Note: Trunk numbering, in this case, is one-based.

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

Configuring the CG 6565C as secondary clock master

Use the following board keywords to configure the CG 6565C 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 the 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 not driven by the primary clock master (MASTER_A or MASTER_B).

Clocking.HBus.AutoFallBack

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

Clocking.HBus.FallBackClockSource

Specifies an alternate timing reference to use when the master clock does not function properly. Set this keyword to reference a network source (NETREF, NETREF2, or NETWORK).

Clocking.HBus.FallBackNetwork

(Optional) Specifies the trunk from which a fallback network timing source (for the clock fallback reference) can be derived.

Note: Trunk numbering, in this case, is one-based.

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.

Configuring the CG 6565C as a clock slave

Use the following board keywords to configure the CG 6565C 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 (although the board can still drive NETREF or NETREF2).

Clocking.HBus.ClockSource

Specifies the source from which this clock derives its timing. Set this keyword to the clock driven by the primary clock master (A_CLOCK or B_CLOCK).

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. Set this keyword to the clock driven by the secondary clock master (B_CLOCK or A_CLOCK).

Configuring the CG 6565C as a standalone board

To configure a CG 6565C board in standalone mode so the board references its own clocking information, set Clocking.HBus.ClockMode to STANDALONE. The board can use either its own oscillator or a signal received from a digital trunk 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 four CG 6565C boards reside in a single chassis. The boards are configured in the following way using keywords:

Board

Configuration

0

System primary bus master (driving the A CLOCK)

1

System secondary bus master (driving the B CLOCK)

2

Clock slave (clock fallback enabled)

3

Clock slave (clock fallback enabled - drives the NETREF clock)

This configuration assigns the following clocking priorities:

Priority

Timing reference

First

Board 0, digital trunk 1.

A network signal from trunk 1 on board 0 provides the primary master clock source.

Second

Board 3, digital trunk 3.

The NETREF signal driven by trunk 3 on board 3 acts as the primary master clock fallback source.

Third

Board 1, digital trunk 2.

A network signal from trunk 2 on board 1 provides the secondary master clock fallback source.

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

clocking110.gif

The following table shows keywords used to configure the multiple 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 = NETWORK

Clocking.HBus.ClockSourceNetwork = 1

Clocking.HBus.AutoFallBack = YES

Clocking.HBus.FallBackClockSource = NETREF

Clocking.HBus.NetRefSpeed = 8K

1

Secondary clock master

Clocking.HBus.ClockMode = MASTER_B

Clocking.HBus.ClockSource = A_CLOCK

Clocking.HBus.AutoFallBack = YES

Clocking.HBus.FallBackClockSource = NETWORK

Clocking.HBus.FallBackNetwork = 2

2

Clock slave

Clocking.HBus.ClockMode = SLAVE

Clocking.HBus.ClockSource = A_CLOCK

Clocking.HBus.AutoFallBack = YES

Clocking.HBus.FallBackClockSource = B_CLOCK

3

Slave driving NETREF

Clocking.HBus.ClockMode = SLAVE

Clocking.HBus.ClockSource = A_CLOCK

Clocking.HBus.AutoFallBack = YES

Clocking.HBus.FallBackClockSource = B_CLOCK

Clocking.HBus.NetRefSource = NETWORK

Clocking.HBus.NetRefSourceNetwork = 3

Clocking.HBus.NetRefSpeed = 8K

In this configuration, Board 0 is the primary clock master and it drives A_CLOCK. All slave boards on the system use A_CLOCK as their first timing reference. Board 0 references its timing from a network timing signal received on its own trunk 1. Board 0 also uses the NETREF signal (driven based on the digital signal received on trunk 3 of Board 3) as its clock fallback source. If the network timing signal derived from its own digital trunks fails, Board 0 continues to drive A_CLOCK based on NETREF timing reference.

If, however, both of the clocking signals used by Board 0 (the network timing signal and the NETREF signal) fail, Board 0 stops driving A_CLOCK. The secondary clock master (Board 1) then falls back to a timing reference received on its own trunk 3, and uses this signal to drive B_CLOCK. B_CLOCK then becomes the timing source for all boards that use B_CLOCK as their backup timing reference.

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.

NETREF clocking

The timing reference and the NETREF selection must be in different trunk groups. However, the fallback source can be in the same trunk group. The following table shows the trunks that cannot be used for clock source timing references and NETREF sources at the same time. If this occurs, the clock configuration command fails.

Trunk...

Can be used with all trunks except for...

1

2, 5, and 6

2

1, 5, and 6

3

4, 7, and 8

4

3, 7, and 8

5

1, 2, and 6

6

1, 2, and 5

7

3, 4, and 8

8

3, 4, and 7

The following table provides sample clock configurations showing how the timing references work in relation to the NETREF setting:

Clock source

Fallback timing reference

NETREF1 source

NETREF2 source

Allowed

Note

Trunk 1

Trunk 2

Not used.

Not used.

Yes

Although the trunks are in the same trunk group, the trunks are not used at the same time.

Trunk 1

Trunk 2

Trunk 5

Not used.

No

The NETREF and primary trunk conflict because of trunk group restrictions.

Trunk 4

Trunk 2

Trunk 1

Not used.

No

The NETREF and clock fallback conflict because of trunk group restrictions.

Trunk 1

Trunk 2

Trunk 3

Not used.

Yes

Although the trunks are in the same trunk group, the trunks are not used at the same time.

A_CLOCK

B_CLOCK

Trunk 1

Not used.

Yes

Because there are no trunks being used for clocks, there are no restrictions to using trunks for NETREF.

A_CLOCK

B_CLOCK

Trunk 1

Trunk 2

No

You cannot source NETREF1 and NETREF2 from a single board.

A_CLOCK

B_CLOCK

Not used.

Trunk 3

Yes

Because there are no trunks being used for clocks, there are no restrictions to using trunks for NETREF.