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.

TAS5822M: Interpreting the PPC3 output .h file

Part Number: TAS5822M

Hi, I am working on integrating the PPC3 output file into a set of code for an Atmel ATTiny814.  Most of the items make sense, but there are a few that are difficult to interpret or not called out in the datasheet:

  1. What is register 0x46?  It’s not called out in PPC3 or the datasheet, but is one of the first commands in the h file://RESET
    { 0x00, 0x00 },
    { 0x7f, 0x00 },
    { 0x01, 0x11 },
    { 0x46, 0x11 },
    { 0x03, 0x02 },
    { CFG_META_DELAY, 5 },
  2. The section on page/book is a little confusing.  It says basically the two commands are:
    1. { 0x00, 0x00 }, //Set page to 0x00
    2. { 0x7f, 0xaa }, //Set book to 0xaa

But in the code section we find several instances like { 0x7e, 0x91 }, followed by { 0x7f, 0xa2 },.  It looks like this instance is just setting a register 0x7f to value 0xa2, instead of changing a book/page.  Is that correct?  The only reason this is a concern is if we do some dynamic EQ changes such as changing BQ6 on the fly.  In the commented file it looks like it spans two pages starting at page 0x24 value 0x7c and then finishes on page 0x25 with value 0x17.  So for example if I wanted to change BQ6 on the fly I’d need to issue a:

{ 0x00, 0x00 }, //Set page to 0x00

{ 0x7f, 0xaa }, //Set book to 0xaa

{ 0x00, 0x24 }, //Set page to 0x24

{0x7c, 0x0a}, //start setting biquad 6

…..

{ 0x7f, 0xa2 }, //Last register on page 0x24

{ 0x00, 0x25 }, //Set page to 0x25

{ 0x08, 0xfd }, //continue with biquad 6

….

{ 0x17, 0x5f }, //finish up biquad 6

Is the above set of registers accurate?

  1. Is there an issue with the command { 0x66, 0x06 },?  This is shown as “DSP Miscellaneous control’ in PPC3 and 0x06 shows as writing to a “reserved bit” in the datasheet.  It appears to be 0x00 until I turn on the main 15 band biquad filter block.  If this is a “normal” output from PPC3 then we can just send the command as is.
  2. Right after the command { 0x66, 0x06 }, is { 0x7f, 0x8c },.  Per the above this might just be the initial configuration and we’re just confused because if looks like the 0x7f book change command.

Thanks for your help, I've attached a generic 2.1 mode output file for reference.

TAS5822 test firmware barebones 2.1.h

  • Hi Todd

    1. register 0x46 is some default for the DSP. you can just let them there in the code.

    2. yes, your understanding is right. if there is no {0x00, 0x00} before book change command, it means setting register values. {0x00,0x00} is more like a sign that tells DSP the next code will change book. you can trust the output from ppc3 after you finish setting in the ppc3.

    thanks.

    Jesse