(Page 1 of 1 in this chapter)


Chapter 6

Configuring AG 2000 and AG 4000 Boards


6.1 AG 2000 and 40000 DSP/Task Processor Resources
6.1.1 Default Functions Available for AG 2000 and 4000 Boards
6.1.2 Custom Functions Available on AG Boards
6.2 DSP/Task Processor Files and Processing Power
6.3 AG 2000 and 4000 Board Processing Capabilities
6.4 Customizing Functions for AG 2000 and AG 4000 Boards
6.4.1 Example 1: Configuring an AG 2000

6.1 AG 2000 and 40000 DSP/Task Processor Resources

The AG 2000 boards and 4000 boards feature higher performance digital signal processors (DSPs) and a new DSP architecture.

6.1.1 Default Functions Available for AG 2000 and 4000 Boards

The following functions are available in the default configuration as shipped with CT Access on the AG 2000 boards and AG 4000 boards:

6.1.2 Custom Functions Available on AG Boards

The following functions can be configured with CT Access on AG 2000 boards and AG 4000 boards:








AG Board

Default Port Count

DTMF Detection

MF Detection

Tone Generation

Tone Detection

Cleardown Detection

Caller ID

Echo Cancellation

ADSI

NMS Speech Normal

NMS Speech 1.5X

NMS Speech 2.0X

OKI Speech Normal

OKI Speech 1.5X

OKI Speech 2.0X

IMA/DVI Speech

WAVE Speech

G.726 Speech

AG 2000

8

D

D

D

D

D

C

C

C

C

R

R

C

R

R

C

C

R

AG 4000

120

D

D

D

D

D

C

X

C

C

R

R

C

R

R

C

C

R

The entries in the table have the following meanings:

6.2 DSP/Task Processor Files and Processing Power

The default DSP files include: callp, dtmf, mf, ptf, tone, and signal (signal.m54 is only used on AG 2000 boards). Unless DSP processors have been explicitly configured with an AG2DSPImage or AG2TaskProcessor keyword, each DSP will be loaded with all of the default DSP files and all DSP files identified with the AG2DSPFile keyword in the AG configuration file.

To make a DSP file and all of its functions available, the DSP file must be specified in the AG configuration file (unless it is one of the default files - for examples, by default signaling is loaded to DSP 0 on AG 4000 boards). A DSP file for AG 2000 boards and 4000 boards is specified by a statement of the form:

 AG2DSPFile = filename.m54

The various products in the AG architecture differ in the speed of the DSPs as well as the total number of DSPs on the board. The speed of a DSP is measured in millions of instructions per second (MIPS).

Each function which is run on a DSP consumes MIPS. If the total MIPS consumption for all the requested functions on all the ports of a given board exceed the total MIPS available for that board, then an error event will occur. If MIPS-intensive functions are required, it may be necessary to reduce the total number of ports on a board, which makes more MIPS per port available.

Voice encoding refers to the data played or recorded on the line. The choice of which .dsp file to use (for example depends

The following table shows the MIPS usage for all the available functions shipped with CT Access:
DSP File

Function

MIPS

Related API Function

Related Arguments

callp.m54

Call Progress

1.02

adiStartCallProgress

dtmf.m54

post- and pre- tone silence

0.66

adiStartToneDetector

dtmf.m54

DTMF, post- and pre-tone silence

1.93

adiStartToneDetector

mf.m54

Forward detect, backward compelling

1.914

adiStartMFDetector

mf.m54

Backward detect, forward compelling

1.90

adiStartMFDetector

mf.m54

MF detection

1.672

adiStartMFDetector

mf.m54

MF forward detection

1.67

adiStartMFDetector

mf.m54

MF backward detection

1.668

adiStartMFDetector

oki.m54

OKI Play
6 kHz

2.16

adiStartPlaying

encoding = ADI_ENCODE_OKI_24, maxspeed = 100

oki.m54

OKI Play
8 kHz

2.06

adiStartPlaying

encoding = ADI_ENCODE_OKI_32, maxspeed = 100

oki.m54

OKI Play
6 kHz 1.5X

4.12

adiStartPlaying

encoding = ADI_ENCODE_OKI_24, maxspeed = 150

oki.m54

OKI Play
8 kHz 1.5X

3.58

adiStartPlaying

encoding = ADI_ENCODE_OKI_32, maxspeed = 150

oki.m54

OKI Play
6 kHz 2.0X

5.43

adiStartPlaying

encoding = ADI_ENCODE_OKI_24, maxspeed = 200

oki.m54

OKI Play
8 kHz 2.0X

4.77

adiStartPlaying

encoding = ADI_ENCODE_OKI_32, maxspeed = 200

oki.m54

OKI Record 6 kHz

2.21

adiStartRecording

encoding = ADI_ENCODE_OKI_24

oki.m54

OKI Record 8 kHz

2.15

adiStartRecording

encoding = ADI_ENCODE_OKI_32

ptf.m54

2 single freq or 1 tone pair

1.24

adiStartToneDetector

ptf.m54

4 single freq or 2 tone pair

1.80

adiStartCallProgress

precmask!=0

rvoice.m54

mu-law Play

0.61

adiStartPlaying

encoding =
ADI_ENCODE_ MULAW

rvoice.m54

A-law Play

0.61

adiStartPlaying

encoding =
ADI_ENCODE_ ALAW

rvoice.m54

WAVE Play,
8 kHz, 16-bit

0.61

adiStartPlaying

encoding =
ADI_ENCODE_ PCM8M16

rvoice.m54

mu-law Record

0.62

adiStartRecording

encoding =
ADI_ENCODE_MULAW

rvoice.m54

A-law Record

0.62

adiStartRecording

encoding =
ADI_ENCODE_ ALAW

rvoice.m54

WAVE Record,
8 kHz, 16-bit

0.62

adiStartRecording

encoding =
ADI_ENCODE_ PCM8M16

tone.m54

Tone Generator

0.75

adiStartDial

adiStartDTMF

adiStartTones

voice.m54

NMS Play 16 Kbit/s

3.07

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_16, maxspeed = 100

voice.m54

NMS Play 24 Kbit/s

3.07

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_24, maxspeed = 100

voice.m54

NMS Play 32 Kbit/s

3.07

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_32, maxspeed = 100

voice.m54

NMS Play 64 Kbit/s

0.58

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_64, maxspeed = 100

voice.m54

NMS Play 16
6 kHz 1.5X

5.58

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_16, maxspeed = 150

voice.m54

NMS Play 24
6 kHz 1.5X

5.78

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_24, maxspeed = 150

voice.m54

NMS Play 32
6 kHz 1.5X

5.8

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_32, maxspeed = 150

voice.m54

NMS Play 64
6 kHz 1.5X

2.29

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_64, maxspeed = 150

voice.m54

NMS Play 16
6 kHz 2.0X

7.15

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_16, maxspeed = 200

voice.m54

NMS Play 24
6 kHz 2.0X

7.46

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_24, maxspeed = 200

voice.m54

NMS Play 32
6 kHz 2.0X

7.42

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_32, maxspeed = 200

voice.m54

NMS Play 64
6 kHz 2.0X

2.76

adiStartPlaying

encoding =
ADI_ENCODE_ NMS_64, maxspeed = 200

voice.m54

NMS Record 16 Kbit/s

3.36

adiStartRecording

encoding =
ADI_ENCODE_NMS_16

voice.m54

NMS Record 24 Kbit/s

3.37

adiStartRecording

encoding =
ADI_ENCODE_ NMS_24

voice.m54

NMS Record 32 Kbit/s

3.37

adiStartRecording

encoding =
ADI_ENCODE_ NMS_32

voice.m54

NMS Record 64 Kbit/s

0.62

adiStartRecording

encoding =
ADI_ENCODE_ NMS_64

wave.m54

WAVE Play 11 kHz 8-bit

1.37

adiStartPlaying

encoding = ADI_ENCODE_PCM11M8

wave.m54

WAVE Play 11 kHz 16-bit

1.55

adiStartPlaying

encoding = ADI_ENCODE_PCM11M16

wave.m54

WAVE Record 11 kHz 8-bit

1.44

adiStartRecording

encoding = ADI_ENCODE_PCM11M8

wave.m54

WAVE Record 11 kHz 16bit

1.09

adiStartRecording

encoding = ADI_ENCODE_PCM11M16

imaply.m54

IMA/DVI ADPCM Play 6 kHz

2.02

adiStartPlaying

encoding = ADI_ENCODE_IMA_24

imaply.m54

IMA/DVI ADPCM Play 8 kHz

1.76

adiStartPlaying

encoding = ADI_ENCODE_IMA_32

imarec.m54

IMA/DVI ADPCM Record 6 kHz

2.16

adiStartRecording

encoding = ADI_ENCODE_IMA_24

imaply.m54

IMA/DVI ADPCM Record 8 kHz

1.97

adiStartRecording

encoding = ADI_ENCODE_IMA_32

The following table shows the correspondence between the filter and adapt values used for the echo canceller (implemented by the echo.m54 DSP file), and MIPS consumption:
DSP File

Filter Length (ms)

Adapt Time(ms)

MIPS

echo.m54

2

100

2.66

echo.m54

2

200

2.31

echo.m54

2

400

2.13

echo.m54

2

800

2.07

echo.m54

4

100

3.05

echo.m54

4

200

2.60

echo.m54

4

400

2.37

echo.m54

4

800

2.24

echo.m54

6

100

3.41

echo.m54

6

200

2.85

echo.m54

6

400

2.57

echo.m54

6

800

2.44

echo.m54

8

100

3.76

echo.m54

8

200

3.11

echo.m54

8

400

2.79

echo.m54

8

800

2.63

echo.m54

10

100

4.16

echo.m54

10

200

3.50

echo.m54

10

400

2.99

echo.m54

10

800

2.81

echo.m54

16

100

5.21

echo.m54

16

200

4.13

echo.m54

16

400

3.60

echo.m54

16

800

3.33

echo.m54

20

100

5.61

echo.m54

20

200

4.50

echo.m54

20

400

3.78

echo.m54

20

800

3.36

6.3 AG 2000 and 4000 Board Processing Capabilities

In most applications, all DSP functions can run on all DSPs on the board. Complex functions such as WAVE speech, echo cancellation, and variable speech rates may result in reduced number of ports.

The following table with the information in Section 6.2 can be used as a guideline for determining board functionality. There are additional constraints such as memory and queue sizes in determining required MIPS:
AG Board

Total DSPs

MIPS per
DSP

OS Overhead per DSP (MIPS)

Available MIPS

AG 2000/100-8L

1

100

10

90

AG 2000/200-8L

2

100

10

180

AG 2000/400-8L

4

100

10

360

AG 4000/1600-4T

16

100

10

57 (on signaling DSP only)

1393

AG 4000/1600-4E

16

100

10

57 (on signaling DSP only)

1393

AG 4000/3200-4T

32

100

10

57 (on signaling DSP only)

2833

AG 4000/3200-4E

32

100

10

57 (on signaling DSP only)

2833

AG 4000/4000-4T

40

100

10

57 (on signaling DSP only)

3533

AG 4000/4000-4E

40

100

10

57 (on signaling DSP only)

3533

Note: AG 2000 boards and AG 4000 boards can run six ports of 16-bit, 11 khz PCM (ADI_ENCODE_PCM11M16) per available task processor.

6.4 Customizing Functions for AG 2000 and AG 4000 Boards

To configure the AG boards in a system to use functions that are not in the default configuration:

  1. List all the functions that you wish to be made available to your application in the connected call state for the ports on a given AG board.

    
    
  2. Determine which DSP files are required for the functions specified.

    
    
  3. Add a AG2DSPfile statement to the ag.cfg file for each new DSP file which is required. The syntax for the statement is:

       AG2DSPfile = filename.m54
    
    
    For example, AG2DSPfile = wave.m54
  4. To configure for echo cancellation, you must also specify the following DSP file in the ag.cfg file:

        AG2DSPfile = echo.m54
    
    
  5. Check your MIPS usage. Take the worst-case MIPS usage for each port on a board. Add up the total MIPS usage for all ports. This should not exceed the Available MIPS for any board in the system. If it does, then reduce the number of ports used on that board by the application, accordingly.

    
    
  6. Check the list of configuration restrictions.

    
    
  7. Initialize the boards by running agmon. Examine the Task Processor Configuration section of the ag.rpt file output by agmon, and confirm that the DSP files you have selected are assigned to the processors.

6.4.1 Example 1: Configuring an AG 2000

This example describes how to configure a standard AG 2000 board to play and record OKI 6 kHz speech instead of NMS speech, without using echo cancellation.

  1. List all functions used in the connected state:

    • DTMF Detector

      
      
    • Cleardown Detector

      
      
    • Tone generator (for playing beeps).

      
      
    • OKI Play 6 kHz

      
      
    • OKI Record 6 kHz

      
      
    • The DSP files required are:

      • tone.m54 (one of the defaults)

        
        
      • dtmf.m54

        
        
      • ptf.m54

        
        
      • oki.m54

        
        
      • Edit the ag.cfg file to contain the following statements:

           AG2DSPfile = oki.m54       # Foreground from step 2
      • Calculate worst-case MIPS:

        
        The MIPS requirements for the selected functions are:
        DTMF Detector = 1.93 MIPS
        Tone Detector = 1.24 MIPS
        Tone Generator = 0.674 MIPS
        OKI Play 6kHz = 2.16 MIPS
        OKI Record 6kHz = 2.21 MIPS
        
         

        The last three functions are mutually exclusive on each port. Only a single one of the three can ever be active at any given time on a given port. Consequently, the worst case MIPS usage is 5.38 (1.93 + 1.24 + 2.21) MIPS per port.
        The total worst case MIPS usage is: 8 ports * 5.38 MIPS per port = 43.04 MIPS.
        90 MIPS are available.
        No restrictions apply.
      • Run agmon on the edited configuration file and confirm task processor assignments.



      (Page 1 of 1 in this chapter)


      tech_support@nmss.com
      Copyright © 1999, Natural MicroSystems, Inc. All rights reserved.