Post Go back to editing

Developing Sigma DSP Cluster

Hi sirs

First, I 'm searching for people that uses the Sigma DSP (I trying to use AD1940).

My first project is to develop a AD1940 cluster to perform and audio routing system (with some improved features).

The basic project concept is :

http://jeanfernandes.com/files/images/dspsigmaex.pdf

The idea is to put all of them on same board.

Some questions:

a) Is it possible to wire the Audio Input Codec (as master) on 6 DSP without glue logic ?

b) And about the Master Clock ? Usually I use a hibrid square wave clock up to 3 chips. What glue logic is really necessary to

this project ?

c) Is it possible to draw the board just using 2 layers ?

d) I need to put audio compressor on all inputs and I saw that the curve has 32 points, but I dont know how to map an HMI user interface

to control all points of this block. My boss suggest me annotate several curves and list them to user choose (its a simple manner but ....)

e) If I use the TDM channel (to simplify design) what the maximum sampling rate (I suppose that is 48 Khz).

f) I will develop the controller firmware using C (ARM7). Does anyone has an SDK to control the IC's 1940 and 1939 (using SPI) ?

Regards

Jean Fernandes

Using Eval Mini AD1940 Evb to test.

attachments.zip

I am not sure ADi will be able to develop the project for you but a good start is to go to their support page for this family of products

www.analog.com/sigmaDSP

or contact their support team at

sigmadsp@analog.com

Technical articles ...

SigmaDSP Product Selection Table

All SigmaDSP support inquiries can be directed to sigmadsp@analog.com.

  • Hello Jean,

    The SigmaDSP forum has officially opened so I am able to answer your questions now.

    a) Is it possible to wire the Audio Input Codec (as master) on 6 DSP without glue logic ?

    Yes. The evaluation board you are using should be set up in this way already. Check the schematics for more details.

    b) And about the Master Clock ? Usually I use a hibrid square wave clock up to 3 chips. What glue logic is really necessary to

    this project ?

    I would suggest using the AD1939's clock generator with a crystal to generate master clocks for the entire system. You will need some sort of buffer, however, because the MCLKO/XO pin lacks the drive strength to drive other ICs. Make sure that the buffer's fanout meets your requirements for this system.

    c) Is it possible to draw the board just using 2 layers ?

    It certainly is possible, but will make your design more susceptible to noise and will probably decrease its audio performance.

    d) I need to put audio compressor on all inputs and I saw that the curve has 32 points, but I dont know how to map an HMI user interface

    to control all points of this block. My boss suggest me annotate several curves and list them to user choose (its a simple manner but ....)

    The compressor table actually has 33 points. The easiest solution is to create some example curves and save the table data as presets. You could also derive the table point calculations for a simple threshold/ratio compressor and include those in your system controller, which would give you greater flexibility.

    The SigmaStudio software engineers are currently developing a more traditional compressor interface that has a user interface similar to that of pro audio equipment: threshold, ratio, attack, decay...

    e) If I use the TDM channel (to simplify design) what the maximum sampling rate (I suppose that is 48 Khz).

    Table 36 of the AD1940 datasheet (Rev. A) shows the options for TDM modes.  I've attached a copy for your reference. If the AD1940 is a slave, then all sample rates (48, 96, and 192 kHz) are possible with TDM8 and TDM16 modes.

    f) I will develop the controller firmware using C (ARM7). Does anyone has an SDK to control the IC's 1940 and 1939 (using SPI) ?

    SigmaStudio includes tools for generating code and header files for microcontrollers. After compiling your project, click the "Export System Files" button on the toolbar to generate these output files.

  • Hi BrettG

    d) I need to put audio compressor on all inputs and I saw that the curve has 32 points, but I dont know how to map an HMI user interface

    to control all points of this block. My boss suggest me annotate several curves and list them to user choose (its a simple manner but ....)

    The compressor table actually has 33 points. The easiest solution is to create some example curves and save the table data as presets. You could also derive the table point calculations for a simple threshold/ratio compressor and include those in your system controller, which would give you greater flexibility.

    The SigmaStudio software engineers are currently developing a more traditional compressor interface that has a user interface similar to that of pro audio equipment: threshold, ratio, attack, decay...

    Question:

    Yes, the table has 33 points, and the sigma software sends 34 ones, I suppose that following rules:

    0) xdb = input in db

    1) ydb = output in db

    2) point (xdb , ydb)

    3) transform the point (db) to (v/v) = 10 ^ (point/20) >>>> (x,y)

    first point = (x0, y0), where xdb is minor value from graph, ydb the regarded coordinate

    second point = first point

    remaining points = last point (on right), named by me of (x33, y33)

    I've discovered observing the flat position where all sent points has a 1 as value

    Well how the blue points moves and how to determine how many gray point can be place beetween them ?


    Ratio its a issue ! (I supose)

    Viewing the movement, I suppose that the max value of ratio is 14, and the minor 0,0001, and beetween two blue points

    all xdb needs to be a multiple of 3 dB (ever)

    So, does my approach is correct ?

    Regards

  • Hi Jean,

    The compressor table has 33 points, which matches the 33 points on the GUI. By changing a big blue point, you can change the overall curve. The big blue points are more like "overlays" as they simply alter the curve of the small blue points behind them.

    The calculation is actually done using 34 points stored in RAM. The first point stored in RAM represents the gain reduction value for any input below -90dB.

    Here's an example: A compressor with a threshold of -6dB and a ratio of 2:1.


    The table is as follows:

    Point dB input Output Gain
    1 -90 1
    2 -87 1
    3 -84 1
    4 -81 1
    5 -78 1
    6 -75 1
    7 -72 1
    8 -69 1
    9 -66 1
    10 -63 1
    11 -60 1
    12 -57 1
    13 -54 1
    14 -51 1
    15 -48 1
    16 -45 1
    17 -42 1
    18 -39 1
    19 -36 1
    20 -33 1
    21 -30 1
    22 -27 1
    23 -24 1
    24 -21 1
    25 -18 1
    26 -15 1
    27 -12 1
    28 -9 1
    29 -6 0.99
    30 -3 0.85
    31 0 0.71
    32 3 0.6
    33 6 0.51

    Note that at an input of -6dB (the threshold), the output = input (well, it's 0.99, but close enough).

    At 0dB, the output is 0.707, or -3dB.

    At 6 dB, the output is 0.51, or -6dB.

    You can make your own curves and calculate the parameters in manually if you prefer.

    In the GUI, the maximum ratio achievable is limited. However, you can enter in your own parameter data (or right click on a blue point and choose "Set Point Value" to bypass this limitation.

    You are correct, the x values are always in 3 dB spacings.

    The new "Standard RMS Compressor" has now been released - Check the toolbox under Dynamics Processors > RMS > Standard Resolution > Lower Range.

  • This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.

    Thank you,
    EZ Admin