Post Go back to editing

DSP Readback is not working

Category: Software
Product Number: ADAU1452
Software Version: SigmaStudio 4.7

I have a problem with the USBi 1.5, EVAL-ADAU1452REVBZ, and SigmaStudio 4.7 on Windows 10 Pro (22H2) where none of the DSP Readback blocks in my setup read anything but FFFFFFFF.

Power (6V) is applied to the board, and various LEDs light up in response to actions.

DSP address is "SPI 0x1 ADR0"

USBi is recognized because the SigmaStudio Communications Channel changes from red to green when plugging in.

When I execute Link-Compile-Download, the LEDs for MP5 MP9 MP11 go dark for a brief moment and then light up again.

If I press the reset button, I see the reset LED light briefly, then MP5,9,11 go dark and stay dark until the next Download.

The SELFBOOT switch is turned off and the corresponding LED is off (it changes when I move the switch, but I left it off).

I created a brand new Project and Schematic, following the tutorial, just in case my older project files had some register programmed incorrectly. I assume that the ADAU1452 evaluation board should be the easiest to get communications working, using the USBi, but no such luck

What else do I look for?

  • Hello SoundConsulting,

    Based on what you mentioned, it appears that the ADAU1466 is being programmed correctly. The only remaining concern seems to be the readback function.

    For further confirmation, I will share a simple LED blink project. If the LEDs [D3,D4,D5] blink as expected, that will confirm that the DSP is programmed successfully.

    If the issue is only with readback, please check the ribbon cable, especially the MISO line, as this can affect readback communication.

    Please try this and let me know whether the DSP is getting programmed correctly.    

    The attached project is for ADAU1466, but it runs fine with your hardware.

    ADAU1466_LED_.dspproj

    Regards,

    Harish

  • Thanks Harish,

    The LED project runs just fine, and all three LED indicators pulse on a regular basis. Worked the first time.

    My USBi is brand new, and so is the ribbon cable. The EVAL_ADAU1452REVBZ has been used by my client, so perhaps it was damaged.

    Is there any other reason that a DSP Readback would not work? I tried connecting the outputs of the Readback modules, just in case they don't work if they only have input, but that didn't seem to change anything.

    By the way, I experimented with the continuous readback mode as well as the single readback mode where you have to manually push the 'read' button. Neither mode receives anything but FF FF FF FF.

    Also of note is that I connected the ADC input to a DSP Readback, using a left-shift of 14 bits, and another DSP Readback. Rotating the pots on the EVAL board do not change the values readback - they're all FF FF FF FF.

    Brian

  • Can anyone help me to get DSP Readback working?

    So far, the partial response from Harish (thanks) helped confirm that the USBi is communicating properly with the EVAL_ADAU1452REVBZ, but the more important resolution that I need is a way to get DSP Readback working.

    For additional context, I am also bringing up my own PCB designed around the ADAU1463 plus several peripherals. Currently, that board is also unresponsive, but I need more tools to diagnose the situation. So far, I fixed an issue where the assembly shop installed an electrolytic capacitor backwards, which was causing the 5V supply to slowly drop as things heated up. I've fixed that, and my supplies are now all steady, but I still can't get an ADAU1463 project to load and respond.

    My approach is to use the EVAL_ADAU1452REVBZ in parallel, to confirm the various building blocks independently of my PCB, so that I can break the problem into smaller tasks. However, the fact that a DSP Readback is not even working on the evaluation board means that I'm basically flying blind with my own PCB diagnostics. I believe that if we can get DSP Readback working on the evaluation board, then I can use the same solution to get some information from my PCB with its ADAU1463.

  • Hello Brian,

    To further debug the readback not working issue, the ADAU1452 also supports I²C protocol for programming the device.

    The USBi supports both SPI and I²C protocols to program the ADAU1452. However, to use I²C, a few hardware modifications are required on the board. Please follow the steps below:

    Step 1: I²C Pull-Up Resistors

    Add 2 kΩ pull-up resistors on both SDA and SCL lines:

    • MISO / SDA
    • SCLK / SCL

    The evaluation board does not include these pull-up resistors, so they must be added externally.

    Step 2: Slave Address Selection

    • The ADDR0 (SS) pin already has a pull-up resistor, so no change is required.
    • Connect the ADDR1 pin to GND.

    With this configuration, the I²C slave address will be 0x72.

    Ensure that the same slave address is selected in the SigmaStudio configuration window.

    Please refer to the diagram below for reference.

    Step 3: Connection Diagram

    Refer to the diagram below for the correct USBi-to-ADAU1452 I²C connection.

    You can use jumper wires to make this connection. Just connect the jumper wires between the USBi header and slave control port (add pull up on the I2C lines)

    Additionally, I have attached an example SigmaStudio project for reference.
    Please apply the required hardware modifications, load the project, and let me know whether the readback functionality works after these changes.

     ADAU1452_I2C_0X72_ADDR.dspproj

    We can debug further about why the SPI mode is not working, you are reading all 0xFF, which means the MISO line is sitting high and USBi reads it as all 1's. You can connect the scope on the port and see what's happening. Let's discuss that later, before that let's try with I2C once to verify proper reading between the USBi and the DSP.

    Regards 

    Harish 

  • Before I heat up the soldering iron and modify my brand-new hardware from Analog Devices, can anyone verify whether DSP Readback works in the standard USBi SPI mode with the EVAL_ADAU1452REVBZ?

    Considering that the hardware correctly functions with SPI to download code to the DSP, including programming the EEPROM, I'm not sure how modifying my hardware to use I2C instead would help. For one thing, I don't believe that I connected the I2C wires on my own PCB, so I would not be able to use the modified USBi (unless I'm missing something).

    I need a way to use these hardware tools in the standard mode that they were designed for, and then compare the evaluation board to my custom board. I started with the assumption that Analog Device's own hardware was compatible with each other, and designed my PCB to match. If the AD hardware doesn't work together as provided, then I might have to spin my custom PCB to get things working.

  • Hello  Brian , 

    Yes, the readback works with the standard USBi in SPI mode on the EVAL_ADAU1452REVBZ board. 

    On your hardware side, the key objective is to identify the root cause of the issue, which is why I recommended testing the I²C interface. On your evaluation board, the readback functionality does not work over SPI. If the readback works correctly when using I²C, we can confirm that the issue is specific to the SPI interface.

    If the readback fails with both SPI and I²C, then it would indicate that the USBi could be the source of the problem.

    Additionally, no soldering modifications are required. You can use jumper wires to connect between the USBi header and slave control port (J1), and a breadboard can be used to add the necessary pull-up resistors for the I²C lines.  

    This issue is really simple, but we have to figure out what fails in the system.

    If your self-boot switch is ON, then turn that OFF and try.

    Regards,

    Harish

  • I downloaded SigmaStudio+ 2.4.0 and DSP Readback is working fine with my hardware. I connected both ADC_0 and ADC_1 with readbacks before and after the 14-bit shift and turned on continuous read. The values each tracked the potentiometers on the REVBZ.

    I was also able to verify my custom PCB using a Pulse oscillator and continuous DSP Readback. I only have one LED on my board, and I need to figure out how to drive it from an MPx pin, but at least the readback shows life.

    I do not see any utility to trying I2C mode with SigmaStudio 4.7 after verifying that my hardware works. There is either something wrong with SigmaStudio 4.7, or perhaps I wired things incorrectly in that project.

    Note that SigmaStudio+ 2.4.0 does not have a template for the REVBZ, so I used the MINIZ, and it obviously worked fine. My board is based on the ADAU1463, and 2.4.0 only has the ADAU1466, but it seems to work fine. I assume that the newer version of SS+ 3.3.0 has the information for the ADAU1463 and REVBZ, but I'll start another Q&A for support on that.

  • Hello Brian,

    I do not see any utility to trying I2C mode with SigmaStudio 4.7 after verifying that my hardware works. There is either something wrong with SigmaStudio 4.7, or perhaps I wired things incorrectly in that project.

    Yes, if your hardware is working fine with SS+ then the problem earlier should either a wiring problem or project corruption in SS4.7.

    I was also able to verify my custom PCB using a Pulse oscillator and continuous DSP Readback. I only have one LED on my board, and I need to figure out how to drive it from an MPx pin, but at least the readback shows life.

    please see in the hardware schematics that which MP pin is connected to the LED, and go to register section>MULTIPURPOSE>MPx tab and config it as MP pin and set it as output.

    Note that SigmaStudio+ 2.4.0 does not have a template for the REVBZ, so I used the MINIZ, and it obviously worked fine. My board is based on the ADAU1463, and 2.4.0 only has the ADAU1466, but it seems to work fine. I assume that the newer version of SS+ 3.3.0 has the information for the ADAU1463 and REVBZ, but I'll start another Q&A for support on that.

    The REVBZ and MINIZ are just hardware revisions, and sigma studio DLL for 1452 is common for all. For configuring MP pins, etc. you have to look at the hardware schematics and config it accordingly in the software. Choosing REVBZ/MINIZ/ADAU1467Z/1466Z in the SS will NOT pre-config anything for that particular hardware revision, the software is just the same as the fresh custom project with the same chip.

    ADAU1463 DLL is available in 2.4.0 and previous versions.

    Regards,

    Harish