The ADAU1772 has two separate filter coefficient banks. Here are the steps to create an EEPROM image that has different values in each bank using SigmaStudio.
For this example, I will create a simple schematic with a single biquad that puts coefficients for a LPF in bank A and coefficients for a HPF in bank B.
- In SigmaStudio, drag a USBI, ADAU1772, and E2PROM cell into the Hardware Configuration tab. Connect them as shown.
- Create your schematic in SigmaStudio. Here I am using the stereo analog input on the EVAL-ADAU1772Z and routing the audio to the DACs. Create a LPF (or any type of filter for that matter).
- Navigate to the Hardware Configuration tab and then to the Bank Select section of the Read/Write tab. Choose ‘Bank Switch via Register Control’. Then select ‘Bank A’.
- Go to the Capture Window on the bottom of the screen (If you can’t see the capture window go to view/capture window). Then click the ‘Display Sequence Window’ button on the top right to open up the sequence window.
- Click the red ‘X’ in the top left corner of the window to clear all output data. Now, click the Link/Compile/Download button. You will see the download sequence appear in the Capture window on the bottom of the screen. Highlight all of the writes and drag them into the sequencer window. Once completed it will look like this.
- Now, go back to the schematic and change the value of the filter to a HPF.
- Navigate to the Hardware Configuration tab, Read/Write tab, and Bank Select section again. Select Bank B.
- Click the Link/Compile/Download button. In the capture window, you will see a write under the parameter name Bank B Parameters toward the bottom of the list.
- Highlight this write. In the sequence window, locate the write for Bank A Parameters. Drag the Bank B Parameter write in the Capture window to the sequence window and place it directly below the Bank A Parameter write.
- Save your sequence as an XML file by clicking on the ‘save’ button in the sequence window.
- In the Hardware Configuration Tab, right click on the ADAU1772 cell and select “Create E2PROM image from sequence file”. This will write the sequence file to the EEPROM. Enable Selfboot and each power cycle will load up the schematic with the different coefficients in Bank A and Bank B.
This FAQ was generated from the following discussion: How to create an EEPROM image for the ADAU1772 that has different filter coefficients in Bank A and Bank B
This clumsy method is only needed for the ADAU1772.
With the ADAU1777 and SigmaStudio 3.17 The method by Bill J is almost correct as long as you switch the button "Zero State During Bank Switch" on (green). In the Capture window the Bank A or Bank B line is seen at the bottom.
With the ADAU 1772 this line is still not visible, hence is not copied to the xml file. This is still a bug in SigmaStudio.
It appears that my solution is still not fully OK. For reason that it is necessary to put the settings in SigmaStudio on "Automatic Bank Switch" the CORE_CONTROL setting in the XML file is not correct and you should change that manually by means of a simple program like Notepad.
There are three CORE_CONTROL lines in the code and each of them should be changed so that the first number of the Hex parameter becomes an 8, so f.i. 24 ==> 84 and 25 ==> 85 etc. In binary this causes the first bit to be one, thereby enabling "Zero State during Bank Switch"
Although it is rather late. I found the solution to the problem/error of this report by Bill J.
It is a mix of answers to two tasks:
1: How to load two different datasets in the banks of the DSP
2: How to load two different datasets in the eprom for selfboot
Ad 1: For loading two different datasets in the DSP you indeed first need to navigate to the Hardware Configuration tab, Read/Write tab, and Bank Select section. Select Bank A, set the right settings in the schematic and click the Link/Compile/Download button after which the data is loaded in bank A only.
Then you repeat this for bank B with a different setting, so:
Navigate to the Hardware Configuration tab, Read/Write tab, and Bank Select section. Now select Bank B, set the right settings for bank B in the schematic and click the Link/Compile/Download button after which the data is loaded in bank A only.
Then to operate with the MP buttons you need to again navigate to the Hardware Configuration tab, Read/Write tab, and Bank Select section.
Now select "Automatic bank Switch" and the banks are switched if you assigned the right function to one of the MP pins.
As this will only work as long as the DSP remains powered on, it is important to also load these setting in the eprom for selfboot.
Ad2: For loading the settings in the eprom you have to act differently as described in the document. The difference is that you leave the settings to "Automatic bank Switch" (as you already found out, which helped me to work the problem further!) and go directly to the actions described after " Go to the capture window......
Then set the right settings in the schematic for bank A and click the Link/Compile/Download button after which the data is loaded in bank A and B simultaneously.
The capture window will show as follows:
Now do as Bill J writes and highlight all of the writes and drag them into the sequencer window. You only should not copy the line with Bank B parameters as they are still identical to the data of bank A. You can do that by selecting all but that line or deleting it afterwards from the sequencer and replacing it with the right data, which is done as follows.
To load the data for bank B you do exactly the same as for bank A with changed parameters in the schematic, but don't change the setting of bankswitching, which remains on "Automatic bank Switch" .
After clicking the Link/Compile/Download button you get the same output in the capture window as shown above, however both the Bank A data as the bank B data now contain the settings for bank B.
As a last step you do exactly as BillJ says and copy the Bank B data to the sequencer below the Bank A data line. In fact you replace the earlier Bank B data with the settings for Bank A with the settings for bank B.
Then you further follow the instructions with saving the sequencer file and loading it in the eprom, as described by BillJ
This worked for me.
When I configured the 'Bank Select 'section I met a problem that I can not download the parameters into each bank.
I can not find the bank write information in the capture window. If I choose the 'Automatic Bank Switch' that will go well.
I did this step by step followed your instruction. I can not find anything wrong in the configuration. Could you give me some
more instruction about the bank switch.