ADAU1442 96kHz GPIO and EQ issue
Dear sir or madame,
I ran into some issues when running my board of the ADAU1442 in self boot configuration at 96kHz when generating code with SigmaStudio.
Now my problem is, that I can´t get any of the GPIO´s working as an output for e.g. limiter-active-flags or others like the "running-average-example" to drive led´s. The hardware registers could be set to any setting for an output (driven by core/controlport with/without pullup) and the GPIO´s are not working. When set as "driven by core with pullup" the led´s are on all the time but don´t react on changes made by the program.
They are working when they´re set to ADC.
I´m curious what problem this might be...
Another issue is the EQ-problem. When running at 96kHz the centerfrequency of the eq is only half the working frequency of it. E.g. when I type in +3dB@1400Hz centerfrequency the eq does +3dB@700Hz.
Are there any solutions for this problems?
Thank you very much!
Julius
Audio Signal Processors
adau1442
SigmaDSP Audio Processors
Hi Julius,
I'm not certain about the GPIO issues, but the EQ problem you're experiencing suggests that you need to set your ADAU1442's HW Configuration to actually run the core at 96 KHz -- this is in addition to setting SigmaStudio's sample rate in the box atop the schematic window. For more info, please see this FAQ:
FAQ: How do I change the sample rate of my SigmaStudio system?
Once this is fixed, we can have a look at the GPIO problem.
Best regards,
Bob
Hi Bob,
Thank you for your fast reply.
I´m pretty sure my core runs on 96kHz, as the AD/DA converters as well as the SPDIF I/O show a flat frequency response up to the Nyquist frequency of around 48 kHz.
FIR-Filter also work as expected when calculated for 96kHz.
Best regards
Julius
Hi Julius,
You've got quite a sophisticated project going there! When troubleshooting via EZ we often suggest the simplest possibilities first -- but you're already past these. This being the weekend, perhaps you'll need to wait for one of AD's application engineers to pick up your post. They likely will start by asking about your SigmaStudio version as well as some more details about your project -- such as its resource usage reported by the compiler. In extreme cases they could test your project on their hardware.
The fact that your FIR and IIR filters behave differently is quite fascinating. One additional generic idea I could offer -- try saving your project with a new name, then go simplifying it until it's just a few EQ filters, your FIR, and some digital GPIO outputs fed directly by DC sources you can change. This exercise may provide some insight into what's happening inside your "real" project.
Best regards,
Bob
Hi Bob, Hi everybody,
Thank you for your reply Bob.
It is already a very simple project and saving under a different name unfortunately does not help.
I stripped it down only to the running average example with a oscillator source without luck.
I´ll try to explain my setup in detail perhaps it helps.
- Sigma Studio 3.11
- Win7 64pro
- ADAU 1442 selfboot via eeprom
- resource usage under 20 percent in my project
- output registers driven by core/control port with/without pullup do not work
- output registers driven by core with pullup triggers leds high permanently
- led´s are equiped with transistor so they´re active high
- GPIO´s used are 3,8,11 as outputs, 0,1 as Aux ADC
- every supply voltage of the chip is done via seperate linear regulator
- reset is triggered by a circuit watching the 3.3 voltages, so 1.8v comes first
- everything else runs nicely at 96kHz, FIR filter, mixers, splitters
- crystal: 12,288MHz
- PLL2 low, PLL1 high, PLL0 low (Datasheet page 22 table 9) Dual rate 128x fsdual
- Clockmode1 high, Clockmode 0 low (Datasheet page 23 table 10) 256x fsnormal
I´ve got the same eq issues with an ADAU1701, perhaps this helps.
Thank you very much for your help!
Best regards
Julius
Hi Julius:
Is it likely that you are simply running out of instructions. I have seen in the past that a filter doing 1/2 it's center frequency is are artifact of the user running out of MIPS. What happens is that samples simply get skipped while the output is still running. When using subroutines with user selectable routines / loops. The compiler could not estimate MIPS utilization.
Start by removing other blocks to see if the filter at some point starts behaving correctly. If so, this will be the problem.
Let me know if this is clear.
Miguel
Hi Miguel,
Thank you for your answer.
As I mentioned above this happens even if only the running average example is loaded.
- one source (ADC or sine-generator)
- one volume slider
- one RMS envelope
- one tolerance block
- one gpio block
or
- one input (ADC or sine-generator)
- Limiter
- active-flag to GPIO
- Output to DAC
- Limiter ratio left open
Is it possible that this behavior is caused by the kind of generating the code?
I always do it the following way:
- generate a SigmaStudio project and set up the schematic and hardware configuration
- link compile and download
- write last compilation to e2prom
- display e2prom file
- copy values (using strg+c) into Hex editor (using strg+v)
- save file
- program file onto e2prom using rs232 and keeprog
Thanks again!
Best regards
Julius
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
Please log in to reply.