FAQs
AD1941 - FAQ
After I link-compile-download my project, the bar at the bottom of SigmaStudio turns green. Does this mean my program downloaded to the DSP successfully?
Not necessarily. The green download bar simply means that the program compiled correctly and that the program and parameter information was sent from SigmaStudio to the communications driver. SigmaStudio does not actively do a RAM Verify check on the target DSP.
I can't use the maximum delay memory in my project. What's happening?
Many algorithms, like filters, use the data memory. When more of these algorithms are used in the signal flow, there will be less available data RAM for simple delay blocks.
How do I change the sampling rate of my design in SigmaStudio?
If you have a new design (empty schematic), then you just need to set the sampling rate in the drop-down box at the top of the SigmaStudio window. Then, every block placed in the design after that has been set will use that sample rate for its calculations. If you have already placed blocks in your design, you still need to first set the drop-down box for any future blocks that may be added. Also, you will need to right-click on all input blocks (inputs, tone generators, etc.), select "Set Sampling rate," and enter the appropriate frequency.
How do I protect my SigmaDSP design against power supply overvoltage and ESD?
Although SigmaDSP devices contain robust internal ESD protection, an external transient voltage suppressor provides an extra level of protection against IC damage due to power supply voltage spikes. Application note AN-311 addresses this issue.
I already have a copy of SigmaStudio. How can I get the latest version?
You can download the latest version of SigmaStudio at http://www.analog.com/sigmastudiodownload. The download key is provided with your evaluation board.
What advanced algorithms are available for SigmaDSP?
There are a wide range of advanced algorithms available from 3rd-parties and directly from Analog Devices. These are not in the standard installation of SigmaStudio and are provided as plug-ins. These algorithms include:
ADI
ADI Surround
ADI Virtual
Enhanced Automotive Surround (EAS)
Super Bass
Wind Noise Reduction
AM3D
PowerBass
BBE
BBE
BBE MP
BBE ViVA
SRS
CircleSurround Automotive
CircleSurround II
TruBass
TruSurroundXT
Wow
WowHD
DTS
SurroundSensation
EmbracingSound
TH4
In order to get these plug-ins, you must first have an evaluation agreement with the IP supplier, who will then let us know that we can send the plug-in to you.
What evaluation boards are available for the AD1940 and AD1941?
The full evaluation board EVAL-AD1940AZ includes very flexible signal routing, a full array of settings using jumpers and switches, and a large selection of I/O options, including analog, digital (I2S & TDM), and S/PDIF. The PCBs for these are 7"x5". The EVAL-AD1940MINIB is a 3"x3" PCB that includes stereo analog input and 6-channel analog output. Both evaluation kits include a full version of SigmaStudio and an USBi interface board. For most evaluation needs, the mini board is the best choice and is easiest to set up. The full evaluation board is $699 and the mini board is $399.
What are the PC requirements for SigmaStudio?
The PC requirements for SigmaStudio are the following:
What is needed to boot a SigmaDSP processor?
Any of the SigmaDSPs can be booted from a system's host microcontroller.
The ADAU1701, ADAU1702, ADAU1401, ADAU1442, ADAU1445, and ADAU1446 also have a selfboot feature that allows them to boot from an EEPROM without a microcontroller being present in the system.
What documentation is available for SigmaStudio?
SigmaStudio has an extensive Help file included with the installation. This explains the operation of all of the software's features and signal processing blocks. Documentation is also available online. (Wiki Site)
What evaluation boards are available for the SigmaDSP processors?
A full list of SigmaDSP evaluation boards is available.
What is the difference between the AD1940 and AD1941?
The AD1940 has an SPI control interface and the AD1941 has an I2C control port. Otherwise, the parts are identical.
My signal flow is running out of instructions. What can I do to save resources?
First, make sure that you are using double precision filters only where necessary. Also, some static gain blocks can be incorporated into other blocks that you might already have in the system, such as filters.
My application requires that I use multiple blocks that generate many addresses that I then have to map to my microcontroller code. Can I fix specific memory addresses for specific blocks to avoid all this mapping overhead?
SigmaStudio requires memory mapping flexibility in order to link blocks at compile time, therefore it does not allow you to set fixed memory addresses. However, when you generate the parameter memory map (by clicking on the "Generate Parameter File" button), a .h (header) file is also generated. This file has unique names for all parameters in the design. By using these header files in your microcontroller you will not have to manually map microcontroller parameters to addresses. Simply use the header file names in the microcontroller code to indirectly assign the required memory address.
When the signal input to my compressor is above 6 dB, the compression stops and my signal starts increasing. What's happening?
Some of the dynamics processors with a lower instruction count continue the gain from the last point in the lookup table (+6 dB), which could result in the output signal increasing in gain or clipping. In order to avoid this situation, make sure that your maximum input levels do not exceed the selected block's limits. If you need your dynamics processors to operate with signals larger than +6 dB, consider using the Full Range dynamics processor or completely limiting the signal output from the dynamics processor by using the limiter.
When should I use double precision and when should I use single precision filters?
For most filters in your design, you probably will not see a difference between single and double precision processing. Double precision becomes necessary when using low-frequency filters (center frequency approximately 0.005*fs and below), especially ones with high Q.
Which SigmaDSP is right for my application?
For a comparison of different features, view the SigmaDSP selection guide.
Where can I get further support for the SigmaDSP?
Analog Devices' EngineerZone forum has a section dedicated to SigmaDSP. Here, you can discuss SigmaDSP, SigmaStudio, your applications, and ask questions of other users and Analog Devices engineers. If you have a technical question that you would prefer not to post in a public forum, then you can send your question to sigmadsp@analog.com.
Why are the safeload registers five bytes long, while I'm loading four-byte parameters into the RAM using these registers?
The safeload registers are also used to load the slew RAM data, which is five bytes long. For parameter RAM writes using safeload, the first byte of the safeload register can be set to 0x00.
Where can I find a description of the changes made in the latest version of SigmaStudio?
The changelog is included in the SigmaStudio install directory. The filename is "readme.rtf." By default, this directory is C:\Program Files\Analog Devices Inc\SigmaStudio 3.1.
Where can I see how much of the SigmaDSP resources my project consumes?
Every time you compile your project, SigmaStudio creates a folder called IC1 within the folder in which you've saved the project. In this folder, you will find a file called compiler_output.txt. This file details the amount of program, parameter, data, and slew (where applicable) RAM that has been used by your design.
What is the processing power and RAM sizes of the different SigmaDSPs?
The table below shows the RAM sizes for all SigmaDSP ICs. The numbers below are all listed in kwords.
IC | Program RAM | Parameter RAM | Data RAM |
---|---|---|---|
AD1953 | 0.5 | 0.5 | 0.7 |
AD1940/AD1941 | 1.5 | 1 | 6 |
ADAU1701/ADAU1401 | 1 | 1 | 2 |
ADAU1702 | 1 | 1 | 0.5 |
ADAU1761 | 1 | 1 | 4 |
ADAU1442/ADAU1445/ADAU1446 | 3.5 | 4 | 8 |
How can I write my own algorithms in SigmaStudio?
SigmaStudio includes a library of low-level signal processing functions, such as adders, multipliers, feedback, and delays. These can be wired together to create a custom algorithm within SigmaStudio without having to write line-level code.
How can I check that I have proper communication between SigmaStudio and the SigmaDSP hardware?
The easiest way to do this is to try downloading a program, and then reading back a register with known contents. For example, the DSP core control register:
AD1940/AD1941: address=0x2642, contents=0x42 0x00
ADAU1701/ADAU1702: address=0x2076, contents=0x00 0x1C
ADAU144x: address = 0xE228, data = 0x00, 0x01
If this fails, check that the communications link has properly been established in the Hardware Configuration Window. When SigmaStudio is plugged into the hardware and properly recognizes the driver, the Communications Channel block in the design will turn from red to white. If this block is orange, then you may have one processor properly connected, but another may still be disconnected.
How can I program and tune my target application using SigmaStudio?
A USB interface board (USBi) is included with all SigmaDSP evaluation boards. The USBi connects to a PC via USB and outputs SPI and/or I2C signals. This can be used to interface SigmaStudio both to the evaluation board and to your target hardware. See AN-1006: Using the EVAL-ADUSB2EBZ.
How can I tune my own hardware design using SigmaStudio?
The application note AN-923 is available to address this issue.
How can I eliminate pops when changing the delay parameter at run-time?
The delay block will always pop if you change its parameter at run-time. However, if you need to dynamically change the delay time in your application you can use the voltage controlled delay block. This allows you to you to enter the delay value as an input to the algorithm and it will smoothly change the delay.
How can I see exactly what SigmaStudio is writing to the target hardware?
SigmaStudio provides a Capture Window (enabled under the "View" menu) that shows exactly what bytes it is sending over the I2C or SPI control interface. This Capture Window shows the type of write, address, data, and total bytes written for each transfer.
Can I use SigmaStudio without hardware connected?
Yes, you can design and compile a signal flow without being connected to an evaluation board or other target hardware. You can use the link-compile-connect function to compile your design and view the resources that have been used.