SigmaStudio+ does not apply the “PLL Input Clock Divider” setting to the hex file, so it is not written to the EEPROM
Hello,
I have again found a bug in SigmaStudio+2.3.0:
SigmaStudio+ does not apply the “PLL Input Clock Divider” setting to the hex file, so it is not written to the EEPROM! Divide by 4” is always written to the EEPROM (hex file).
If you use “Link Compile Download”, the “PLL Input Clock Divider” is set correctly in the ADAU register!
But after the self-boot from the EEPROM, “PLL Input Clock Divider” is always set to 4!
This can also be seen in the output of the hex files. No change to the “PLL Input Clock Divider” setting.
I noticed the problem because I use a clock with 24.576MHz on my DAC-DSP board and have to set the “PLL Input Clock Divider” to 8...
I use the ADAU1466.
SigmaStudio 4.7 does not have this error.
Best regards
Ralph
Audio Signal Processors
software
SigmaStudio+2.3.0
eeprom
SigmaDSP Audio Processors
PLL Input Clock Divider
adau1466
Show More
Hello Ralph,
Thank you for the report on this. I will pass it along to the team.
Dave T
Hello Ralph,
This issue has been fixed and will be included in the next revision.
Dave T
Hi Dave,
when can we expect the next revision?
Will there be a patch (2.3.0.3) or will we have to wait for the next major update to version 2.4.0?
Best regards
Mirco
Hello Mirco,
I asked and heard back but it is not great news. It looks like the new revision will most likely be out by the end of April. There is a chance it may come out sooner. It is quite a process to test and prepare for release.
Dave T
Hello Dave,
thanks for the reply. I was hoping that this bug fix would be made available as a small update via the Update Manager. Of course, if it isn't published until the next major release, that could take a while.
We will probably have to go back to SigmaStudio 4.7.
Best regards
Mirco
Hello Mirco,
There is somewhat of a work-around... You can go into the hex file and add it to the header. The header format is listed in the datasheet. The problem is that the checksum will be wrong. So either you write a program of some sort that would figure out the new checksum and change it in the hex file (I have not done that) Or you can zero out the checksum. When the program loads in and the checksum is zero, the state machine for the selfboot will just start up the program and continue. It will basically not use the checksum feature. This is how you defeat the checksum. I have seen some customers do this because they change things like calibrations in the factory and do not recalculate the checksum.
There is a software checksum feature but you would need to have a system controller for that to work. Although the program could check it on its own but it would do that every sample period which is wasteful of instructions.
Dave T
Hello Dave,
thanks for your suggestion. Of course you can do that. You can also start the "Write Lastest Compilation Through DSP" function, copy the Capture Window into the Sequence Window and adjust the EEPROM data there. Then you can run the sequence and the EEPROM will be programmed correctly.
Unfortunately, this is relatively time-consuming. Therefore, it is unsuitable for the development process.
It's a shame, but I'll have to go back to SigmaStudio 4.7 for now and then maybe port my program to SS+ when the bugs are fixed.
Best Regards
Mirco
Please log in to reply.