Hello!
I'm working on interfacing an ADAU1701 processor (KABD250 board) with a Teensy 4.1 Microcontroller via I2C. I'm using the example microcontroller project provided by analog devices to get started: teensy_sigmadsp_example_project_1.1.0.zip. It seems to be going alright, but when I try to pass in negative coefficients to the FIR filters, the microcontroller seems to write incorrect values to the DSP. For example, when I pass in -.01, the actual value written to the DSP would be 31.9. Interestingly enough, I'm able to use the same exact example project with an ADAU1467 processor (evaluation board) over SPI and I was able to get correct DSP values.
I've asked around and done some digging and found out it may be related to the fact that the ADAU1701 is a 28bit core (instead of a 32 bit like the 1467) and uses a 5.23 data format. I created a forum post a few days ago if this gives more additional information: https://ez.analog.com/dsp/sigmadsp/...values-adau1467-vs-adau1701-comparison/537657. However, looking at the example project, I think that there are conditional statements that already convert the data format in this case. I did find a peculiar comment stating "NOTE: 5.23 not supported quite yet." in the SigmaStudioFW.h file. I checked the history of the example project and found out that it hasn't been updated in 2 years. I'm wondering if this comment is a cause for concern and whether there is a way to correctly pass in negative coefficients to the 1701. Also wondering if it's a DSP processor issue or the way the microcontroller is written for the 1701.
Any sort of help and ideas would be appreciated. Thank you very much!
I'm working on interfacing an ADAU1701 processor (KABD250 board) with a Teensy 4.1 Microcontroller via I2C. I'm using the example microcontroller project provided by analog devices to get started: teensy_sigmadsp_example_project_1.1.0.zip. It seems to be going alright, but when I try to pass in negative coefficients to the FIR filters, the microcontroller seems to write incorrect values to the DSP. For example, when I pass in -.01, the actual value written to the DSP would be 31.9. Interestingly enough, I'm able to use the same exact example project with an ADAU1467 processor (evaluation board) over SPI and I was able to get correct DSP values.
I've asked around and done some digging and found out it may be related to the fact that the ADAU1701 is a 28bit core (instead of a 32 bit like the 1467) and uses a 5.23 data format. I created a forum post a few days ago if this gives more additional information: https://ez.analog.com/dsp/sigmadsp/...values-adau1467-vs-adau1701-comparison/537657. However, looking at the example project, I think that there are conditional statements that already convert the data format in this case. I did find a peculiar comment stating "NOTE: 5.23 not supported quite yet." in the SigmaStudioFW.h file. I checked the history of the example project and found out that it hasn't been updated in 2 years. I'm wondering if this comment is a cause for concern and whether there is a way to correctly pass in negative coefficients to the 1701. Also wondering if it's a DSP processor issue or the way the microcontroller is written for the 1701.
Any sort of help and ideas would be appreciated. Thank you very much!