ΣSigmaStudio Ask AI Русский Log in

ADAU1761 safeload

SigmaDSP & SigmaStudio inventis Jan 26, 2010 00:00 8 replies Original on forum ↗
Subscribe
inventis Question
Jan 26, 2010 00:00

Hello,

in the datasheet of adau1761 in the "SOFTWARE SAFELOAD"

there is a table with the address of safeload ram.

I have some trouble to understand the behavior of address 0x0000 " Modulo RAM size"

in the datasheet "Address 0x0000, wich controls the module RAM size is set by SigmaStudio and

is based on the dinamic address generator mode of the project".

in a FW implementation what is the value that I have to write in this register?

What is the procedure to write a safeload parameter in the ram?

Have I to WRITE PARAM and WRITE ADDRESS and WRITE NUMBER OF WORDS ?

Audio Signal Processors

SigmaDSP Audio Processors

adau1761

inventis Reply
Jan 26, 2010 00:00

a little piece of sigmastudio output

/* Module FREQCH1 - DC Input Entry*/
#define MOD_FREQCH1_COUNT 1
#define MOD_FREQCH1_DEVICE "CODEC"
#define MOD_FREQCH1_DCIALG2_ADDR 12
#define MOD_FREQCH1_DCIALG2_FIXPT 0x00053F7C
#define MOD_FREQCH1_DCIALG2_VALUE SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.041)
#define MOD_FREQCH1_DCIALG2_TYPE SIGMASTUDIOTYPE_FIXPOINT

if I understand

address 0x0000 "Modulo RAM Size" ---> 1

address 0x0001 address where to write 0x00053F7C

address 0x0006 Target address ----> (12 - 1)

address 0x0007 Trigger (the last write) ----> 1

Is it correct ?

inventis Reply
Jan 26, 2010 00:00

Last question

in the System implementation section of sigmadsp help file

the packet size is 5 bytes for safeload area.

Have I to send 4 or 5 bytes with adau1761 ?

ADIApproved Reply
Jan 26, 2010 00:00

SigmaStudio's compiler outputs the value that you should be writing to set the modulo RAM size. This will just be the first address in the program RAM data; you do not need to write a special register for this setting.

The safeload procedure for the ADAU1761 is described in the second column on page 48 of the datasheet.

ADIApproved Reply
Jan 26, 2010 00:00

This is correct except for the modulo RAM size. This value does not come from this output block, but rather is just set in the program RAM data. The first word in the program RAM table is written to address 0, which sets the modulo size. Typically, this value will be 0x00, 0x00, 0x00, 0x00, 0x00.

ADIApproved Reply
Jan 26, 2010 00:00

The parameter RAM word length on the ADAU1761 is 4 bytes, so you just need to fill these 4 bytes for safeload. On previous SigmaDSP parts, such as the AD1940, safeload was handled through dedicated registers, which could be 5 bytes wide. This is why the SigmaStudio help file mentions 5 bytes for safeload.

inventis Reply
Jan 27, 2010 00:00

The last doubt:

what is the format I have to use to

write into address 0x0007 TRIGGER register?

if I have 3 data to write I have to write 0x0003 or the number in format 5.3 ?

ADIApproved Reply
Jan 27, 2010 00:00

You should write an integer value to parameter RAM address 0x0007 to trigger the safeload. This means that to safeload one word, you should write 0x00 0x00 0x00 0x01 to address 0x0007, or in your example you would write 0x00 0x00 0x00 0x03 to safeload three words into the parameter RAM.

EZAdministrator Reply
Aug 2, 2018 00:00

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