This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TAS3308EVM-LC "generic_init" ignored by the hardware

 

Hello to everybody !

I bought a TAS3308EVM-LC two weeks ago and I'm now trying to evaluate some simple tone generators.

I have this problem:
I use the GDE "generic-init" block to set several 3308 internal registers,
but the board seems to ignore the resulting "dsp_init_cmds.object" file.

For sure this file is properly prepared by the GDE builder (I see the right stuff opening it with a text editor)

but for some reason it is not able to initialize the 3308, even if it appears correctly embedded into the .image hex file.

I can initialize the chip only by sending the same registers values using the GDE "I2C Command Tool".

According to the init.c code, in the "generic-init" properties I set always "handler = 1" to invoke the I2C_write_32bit function,

"priority = 4" for the last instance I would like to send to the 3308 and "priority = 1" for all the other instances.

Is there anybody that face the same problem or has a solution ?

I'm using GDE 1.82 build 5.




Thank you.
Kind regards,
Marco Rampin

  • Marco, please try the attached files which show how to use the generic init component to do the same thing as the I2C commands. Note that there is a double table index so that the handler number you are using is wrong.

    Neil Quarmby

    www.milton-electronics.com

  • Hi Neil.

     

    Thank you very much for your reply.

    Unfortunately I'm not able to download your attached file.

    I can see only its name, but it is not clickable and there is no any zipped folder icon to download.

     

    (I can download without problem the similar file you attached few days ago in reply to Markus,

    the other guy I've seen had problems starting to work with the 3308EVM...)

     

    Marco

  • Sorry, something went wrong with attaching the file. Please try again...

    Neil Quarmby

  • Hi Neil.

    I get your file now.

     

    I don't yet test it with the hardware (I don't have the EVM now with me)

    but I already see some things I can not understand because I'm not able to find suitable documentation about them.

     

    In your example you use 4 different generic_init bloc to load 4 different 3308 I2C registers.

    For each init block you use a different Init1_Handler value.

    For each init block you put always 0 as Init1_DspAddress.

     

    Q1 - how do you choose the right number to assign to each Handler ?

    Q2- if you specify always 0 as DspAddress how can the system load the data in the right registers ?

     

    Thank you.

    Kind regards.

    Marco

  • Marco, please read the TAS3x0x MCU Programmer's Reference Guide. In section 5.5 it goes into more details. I also suggest you look at the source code for the 8051 in the TAS3x0x_Microcode folder in the PPS program files folder. If you have the ComponentSDK then you can also read the whitepaper on advanced topics.

    You should find that the table on page 17 of the MCU Programmer's Reference Guide answers Q1.

    Some of the handlers do not need an address as their target register is fixed so this answers Q2.

    Neil.

  • YES !

    I've just found the relationship between Handlers and 3308 registers in the "data.c" Microcode file.

    Now the init process is much more clear, and I feel to be able to go ahead with my test.

     

    Thank you for your suggestions.

    Ciao,

    Marco