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.

TAS5782M: Getting distorted audio output of EVM board when sourcing I2S input from my target system.

Part Number: TAS5782M


I'm using the PurePath Console V3.2.1 along with the PurePath Motherboard AIP006G.  I've hardwired the I2S signal out of my development target into J4 in order to debug register settings.  The signal is running at 48K 32Bit precision.  I'm running the TAS5782 as an I2S slave and providing MCLK, BCLK, LRCLK, and SDATA IN from my target design system.  The amp chip in my system was not producing any audio so I back tracked to trying to insure the registers are set appropriately using the Purepath Console and hardware where the audio signal I'm getting at the speaker can be recognized but is badly distorted.

So in going through the registers I'm seeing defines for registers (for example Register 14 (0x0E) in the data sheet with Field descriptions, yet in the software it is all greyed out and marked as reserved.  I've seen several registers that fall into this.  Why does the software not match the datasheet?

PurePath Console: 

Data Sheet: 

Any thoughts on the audio distortion?

As for programming the amp chip on in my target system, I've taken the header file and converted the register define to Intel Hex format and programmed it into a E2Prom.  I'm using a Pic processor to read out the eprom a page at a time, then sending the data to the amp chip in Reg, Value format through the I2C.

  • Here's another odd thing.  In the following snap shot you can see where I've set up the I2S configuration register 0x28 for 32 bit precision.   

    But in the header file the software generated, I don't see where that information ended up.

    typedef unsigned char cfg_u8;
    typedef union {
    struct {
    cfg_u8 offset;
    cfg_u8 value;
    };
    struct {
    cfg_u8 command;
    cfg_u8 param;
    };
    } cfg_reg;

    #define CFG_META_SWITCH (255)
    #define CFG_META_DELAY (254)
    #define CFG_META_BURST (253)

    /* Example C code */
    /*
    // Externally implemented function that can write n-bytes to the device
    // PCM51xx and TAS5766 targets require the high bit (0x80) of the I2C register to be set on multiple writes.
    // Refer to the device data sheet for more information.
    extern int i2c_write(unsigned char *data, int n);
    // Externally implemented function that delays execution by n milliseconds
    extern int delay(int n);
    // Example implementation. Call like:
    // transmit_registers(registers, sizeof(registers)/sizeof(registers[0]));
    void transmit_registers(cfg_reg *r, int n)
    {
    int i = 0;
    while (i < n) {
    switch (r[i].command) {
    case CFG_META_SWITCH:
    // Used in legacy applications. Ignored here.
    break;
    case CFG_META_DELAY:
    delay(r[i].param);
    break;
    case CFG_META_BURST:
    i2c_write((unsigned char *)&r[i+1], r[i].param);
    i += (r[i].param + 1)/2;
    break;
    default:
    i2c_write((unsigned char *)&r[i], 2);
    break;
    }
    i++;
    }
    }
    */

    cfg_reg registers[] = {
    //program memory
    { 0x00, 0x00 },
    { 0x7f, 0x00 },
    { 0x02, 0x11 },
    { 0x01, 0x11 },
    { 0x00, 0x00 },
    { 0x00, 0x00 },
    { 0x00, 0x00 },
    { 0x00, 0x00 },
    { 0x03, 0x11 },
    { 0x2a, 0x00 },
    { 0x25, 0x18 },
    { 0x0d, 0x10 },
    { 0x02, 0x00 },

    //Sample rate update
    { 0x00, 0x00 },
    { 0x7f, 0x00 },
    { 0x02, 0x80 },

    { 0x00, 0x00 },
    { 0x7f, 0x00 },

    // speed 03-48k 04-96k
    //dynamically reading speed
    { 0x22, 0x03 },

    { 0x00, 0x00 },
    { 0x7f, 0x00 },
    { 0x02, 0x00 },

    //write coefficients of various components
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x1c, 0x00 },
    { 0x1d, 0x00 },
    { 0x1e, 0x00 },
    { 0x1f, 0x00 },
    { 0x28, 0x00 },
    { 0x29, 0x00 },
    { 0x2a, 0x00 },
    { 0x2b, 0x00 },
    { 0x34, 0x00 },
    { 0x35, 0x00 },
    { 0x36, 0x00 },
    { 0x37, 0x00 },
    { 0x40, 0x00 },
    { 0x41, 0x00 },
    { 0x42, 0x00 },
    { 0x43, 0x00 },
    { 0x00, 0x1f },
    { 0x24, 0x00 },
    { 0x25, 0x20 },
    { 0x26, 0xc4 },
    { 0x27, 0x9c },
    { 0x30, 0x7f },
    { 0x31, 0xff },
    { 0x32, 0xff },
    { 0x33, 0xff },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x11 },
    { 0x58, 0x7b },
    { 0x59, 0x1e },
    { 0x5a, 0x22 },
    { 0x5b, 0x70 },
    { 0x5c, 0x84 },
    { 0x5d, 0xe1 },
    { 0x5e, 0xdd },
    { 0x5f, 0x90 },
    { 0x60, 0x7b },
    { 0x61, 0x1e },
    { 0x62, 0x22 },
    { 0x63, 0x70 },
    { 0x64, 0x7b },
    { 0x65, 0x11 },
    { 0x66, 0xfb },
    { 0x67, 0xb9 },
    { 0x68, 0x89 },
    { 0x69, 0xab },
    { 0x6a, 0x6d },
    { 0x6b, 0xb2 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x12 },
    { 0x44, 0xff },
    { 0x45, 0xf3 },
    { 0x46, 0xd9 },
    { 0x47, 0x49 },
    { 0x48, 0xff },
    { 0x49, 0xf3 },
    { 0x4a, 0xd9 },
    { 0x4b, 0x49 },
    { 0x4c, 0xff },
    { 0x4d, 0xf3 },
    { 0x4e, 0xd9 },
    { 0x4f, 0x49 },
    { 0x50, 0x7b },
    { 0x51, 0x11 },
    { 0x52, 0xfb },
    { 0x53, 0xb9 },
    { 0x54, 0x89 },
    { 0x55, 0xab },
    { 0x56, 0x6d },
    { 0x57, 0xb2 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x13 },
    { 0x30, 0x00 },
    { 0x31, 0x08 },
    { 0x32, 0x7e },
    { 0x33, 0x89 },
    { 0x34, 0x00 },
    { 0x35, 0x08 },
    { 0x36, 0x7e },
    { 0x37, 0x89 },
    { 0x38, 0x00 },
    { 0x39, 0x08 },
    { 0x3a, 0x7e },
    { 0x3b, 0x89 },
    { 0x3c, 0x7b },
    { 0x3d, 0xe0 },
    { 0x3e, 0xd7 },
    { 0x3f, 0x2d },
    { 0x40, 0x88 },
    { 0x41, 0x1c },
    { 0x42, 0x57 },
    { 0x43, 0x82 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x13 },
    { 0x58, 0x6a },
    { 0x59, 0x13 },
    { 0x5a, 0x6c },
    { 0x5b, 0xe3 },
    { 0x5c, 0x95 },
    { 0x5d, 0xec },
    { 0x5e, 0x93 },
    { 0x5f, 0x1d },
    { 0x60, 0x6a },
    { 0x61, 0x13 },
    { 0x62, 0x6c },
    { 0x63, 0xe3 },
    { 0x64, 0x69 },
    { 0x65, 0x0c },
    { 0x66, 0x00 },
    { 0x67, 0xab },
    { 0x68, 0xa9 },
    { 0x69, 0xca },
    { 0x6a, 0x4d },
    { 0x6b, 0xc7 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x14 },
    { 0x08, 0x7b },
    { 0x09, 0xe9 },
    { 0x0a, 0x55 },
    { 0x0b, 0xb6 },
    { 0x0c, 0x84 },
    { 0x0d, 0x16 },
    { 0x0e, 0xaa },
    { 0x0f, 0x4a },
    { 0x10, 0x7b },
    { 0x11, 0xe9 },
    { 0x12, 0x55 },
    { 0x13, 0xb6 },
    { 0x14, 0x7b },
    { 0x15, 0xe0 },
    { 0x16, 0xd7 },
    { 0x17, 0x2d },
    { 0x18, 0x88 },
    { 0x19, 0x1c },
    { 0x1a, 0x57 },
    { 0x1b, 0x82 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x14 },
    { 0x1c, 0x01 },
    { 0x1d, 0x07 },
    { 0x1e, 0x6c },
    { 0x1f, 0x39 },
    { 0x20, 0x01 },
    { 0x21, 0x07 },
    { 0x22, 0x6c },
    { 0x23, 0x39 },
    { 0x24, 0x01 },
    { 0x25, 0x07 },
    { 0x26, 0x6c },
    { 0x27, 0x39 },
    { 0x28, 0x69 },
    { 0x29, 0x0c },
    { 0x2a, 0x00 },
    { 0x2b, 0xab },
    { 0x2c, 0xa9 },
    { 0x2d, 0xca },
    { 0x2e, 0x4d },
    { 0x2f, 0xc7 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x14 },
    { 0x58, 0x7f },
    { 0x59, 0xff },
    { 0x5a, 0xff },
    { 0x5b, 0xff },
    { 0x5c, 0x00 },
    { 0x5d, 0x00 },
    { 0x5e, 0x00 },
    { 0x5f, 0x00 },
    { 0x60, 0x00 },
    { 0x61, 0x00 },
    { 0x62, 0x00 },
    { 0x63, 0x00 },
    { 0x64, 0x00 },
    { 0x65, 0x00 },
    { 0x66, 0x00 },
    { 0x67, 0x00 },
    { 0x68, 0x00 },
    { 0x69, 0x00 },
    { 0x6a, 0x00 },
    { 0x6b, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x14 },
    { 0x6c, 0x7f },
    { 0x6d, 0xff },
    { 0x6e, 0xff },
    { 0x6f, 0xff },
    { 0x70, 0x00 },
    { 0x71, 0x00 },
    { 0x72, 0x00 },
    { 0x73, 0x00 },
    { 0x74, 0x00 },
    { 0x75, 0x00 },
    { 0x76, 0x00 },
    { 0x77, 0x00 },
    { 0x78, 0x00 },
    { 0x79, 0x00 },
    { 0x7a, 0x00 },
    { 0x7b, 0x00 },
    { 0x7c, 0x00 },
    { 0x7d, 0x00 },
    { 0x7e, 0x00 },
    { 0x7f, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x15 },
    { 0x08, 0x7f },
    { 0x09, 0xff },
    { 0x0a, 0xff },
    { 0x0b, 0xff },
    { 0x0c, 0x00 },
    { 0x0d, 0x00 },
    { 0x0e, 0x00 },
    { 0x0f, 0x00 },
    { 0x10, 0x00 },
    { 0x11, 0x00 },
    { 0x12, 0x00 },
    { 0x13, 0x00 },
    { 0x14, 0x00 },
    { 0x15, 0x00 },
    { 0x16, 0x00 },
    { 0x17, 0x00 },
    { 0x18, 0x00 },
    { 0x19, 0x00 },
    { 0x1a, 0x00 },
    { 0x1b, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x15 },
    { 0x1c, 0x7f },
    { 0x1d, 0xff },
    { 0x1e, 0xff },
    { 0x1f, 0xff },
    { 0x20, 0x00 },
    { 0x21, 0x00 },
    { 0x22, 0x00 },
    { 0x23, 0x00 },
    { 0x24, 0x00 },
    { 0x25, 0x00 },
    { 0x26, 0x00 },
    { 0x27, 0x00 },
    { 0x28, 0x00 },
    { 0x29, 0x00 },
    { 0x2a, 0x00 },
    { 0x2b, 0x00 },
    { 0x2c, 0x00 },
    { 0x2d, 0x00 },
    { 0x2e, 0x00 },
    { 0x2f, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x15 },
    { 0x30, 0x7f },
    { 0x31, 0xff },
    { 0x32, 0xff },
    { 0x33, 0xff },
    { 0x34, 0x00 },
    { 0x35, 0x00 },
    { 0x36, 0x00 },
    { 0x37, 0x00 },
    { 0x38, 0x00 },
    { 0x39, 0x00 },
    { 0x3a, 0x00 },
    { 0x3b, 0x00 },
    { 0x3c, 0x00 },
    { 0x3d, 0x00 },
    { 0x3e, 0x00 },
    { 0x3f, 0x00 },
    { 0x40, 0x00 },
    { 0x41, 0x00 },
    { 0x42, 0x00 },
    { 0x43, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x15 },
    { 0x44, 0x7f },
    { 0x45, 0xff },
    { 0x46, 0xff },
    { 0x47, 0xff },
    { 0x48, 0x00 },
    { 0x49, 0x00 },
    { 0x4a, 0x00 },
    { 0x4b, 0x00 },
    { 0x4c, 0x00 },
    { 0x4d, 0x00 },
    { 0x4e, 0x00 },
    { 0x4f, 0x00 },
    { 0x50, 0x00 },
    { 0x51, 0x00 },
    { 0x52, 0x00 },
    { 0x53, 0x00 },
    { 0x54, 0x00 },
    { 0x55, 0x00 },
    { 0x56, 0x00 },
    { 0x57, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x15 },
    { 0x58, 0x7f },
    { 0x59, 0x59 },
    { 0x5a, 0x9b },
    { 0x5b, 0xc2 },
    { 0x5c, 0x80 },
    { 0x5d, 0xa6 },
    { 0x5e, 0x64 },
    { 0x5f, 0x3e },
    { 0x60, 0x7f },
    { 0x61, 0x59 },
    { 0x62, 0x9b },
    { 0x63, 0xc2 },
    { 0x64, 0x7f },
    { 0x65, 0x59 },
    { 0x66, 0x2f },
    { 0x67, 0x9c },
    { 0x68, 0x81 },
    { 0x69, 0x4b },
    { 0x6a, 0xf0 },
    { 0x6b, 0x2e },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x15 },
    { 0x6c, 0x7f },
    { 0x6d, 0xff },
    { 0x6e, 0xff },
    { 0x6f, 0xff },
    { 0x70, 0x87 },
    { 0x71, 0x19 },
    { 0x72, 0xd3 },
    { 0x73, 0x67 },
    { 0x74, 0x72 },
    { 0x75, 0x8b },
    { 0x76, 0xc1 },
    { 0x77, 0xb1 },
    { 0x78, 0x7a },
    { 0x79, 0xc8 },
    { 0x7a, 0xa1 },
    { 0x7b, 0x73 },
    { 0x7c, 0x89 },
    { 0x7d, 0xac },
    { 0x7e, 0x58 },
    { 0x7f, 0xc8 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x16 },
    { 0x08, 0x7f },
    { 0x09, 0xff },
    { 0x0a, 0xff },
    { 0x0b, 0xff },
    { 0x0c, 0x80 },
    { 0x0d, 0x8b },
    { 0x0e, 0x25 },
    { 0x0f, 0x40 },
    { 0x10, 0x7e },
    { 0x11, 0xec },
    { 0x12, 0x9b },
    { 0x13, 0x7f },
    { 0x14, 0x7f },
    { 0x15, 0xc0 },
    { 0x16, 0xe5 },
    { 0x17, 0xbb },
    { 0x18, 0x80 },
    { 0x19, 0x7b },
    { 0x1a, 0x4c },
    { 0x1b, 0xd0 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x16 },
    { 0x1c, 0x7f },
    { 0x1d, 0xa8 },
    { 0x1e, 0x55 },
    { 0x1f, 0xcc },
    { 0x20, 0x81 },
    { 0x21, 0x37 },
    { 0x22, 0x4a },
    { 0x23, 0xd0 },
    { 0x24, 0x7d },
    { 0x25, 0xff },
    { 0x26, 0x55 },
    { 0x27, 0x0b },
    { 0x28, 0x7e },
    { 0x29, 0xc8 },
    { 0x2a, 0xb5 },
    { 0x2b, 0x30 },
    { 0x2c, 0x82 },
    { 0x2d, 0x58 },
    { 0x2e, 0x55 },
    { 0x2f, 0x28 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x16 },
    { 0x30, 0x7f },
    { 0x31, 0xff },
    { 0x32, 0xff },
    { 0x33, 0xff },
    { 0x34, 0x00 },
    { 0x35, 0x00 },
    { 0x36, 0x00 },
    { 0x37, 0x00 },
    { 0x38, 0x00 },
    { 0x39, 0x00 },
    { 0x3a, 0x00 },
    { 0x3b, 0x00 },
    { 0x3c, 0x00 },
    { 0x3d, 0x00 },
    { 0x3e, 0x00 },
    { 0x3f, 0x00 },
    { 0x40, 0x00 },
    { 0x41, 0x00 },
    { 0x42, 0x00 },
    { 0x43, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x16 },
    { 0x44, 0x7b },
    { 0x45, 0x02 },
    { 0x46, 0x49 },
    { 0x47, 0x67 },
    { 0x48, 0xa8 },
    { 0x49, 0x02 },
    { 0x4a, 0x40 },
    { 0x4b, 0xec },
    { 0x4c, 0x62 },
    { 0x4d, 0xcf },
    { 0x4e, 0xe0 },
    { 0x4f, 0x8e },
    { 0x50, 0x57 },
    { 0x51, 0xfd },
    { 0x52, 0xbf },
    { 0x53, 0x14 },
    { 0x54, 0xa2 },
    { 0x55, 0x2d },
    { 0x56, 0xd6 },
    { 0x57, 0x0a },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x16 },
    { 0x58, 0x7d },
    { 0x59, 0x1d },
    { 0x5a, 0x31 },
    { 0x5b, 0x86 },
    { 0x5c, 0x87 },
    { 0x5d, 0x1a },
    { 0x5e, 0x78 },
    { 0x5f, 0x8e },
    { 0x60, 0x75 },
    { 0x61, 0xb2 },
    { 0x62, 0xa1 },
    { 0x63, 0x33 },
    { 0x64, 0x78 },
    { 0x65, 0xe5 },
    { 0x66, 0x87 },
    { 0x67, 0x72 },
    { 0x68, 0x8d },
    { 0x69, 0x30 },
    { 0x6a, 0x2d },
    { 0x6b, 0x46 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x16 },
    { 0x6c, 0x7a },
    { 0x6d, 0xdb },
    { 0x6e, 0x7d },
    { 0x6f, 0xdf },
    { 0x70, 0x8b },
    { 0x71, 0x49 },
    { 0x72, 0x82 },
    { 0x73, 0xc7 },
    { 0x74, 0x75 },
    { 0x75, 0x33 },
    { 0x76, 0x7e },
    { 0x77, 0x24 },
    { 0x78, 0x74 },
    { 0x79, 0xb6 },
    { 0x7a, 0x7d },
    { 0x7b, 0x39 },
    { 0x7c, 0x8f },
    { 0x7d, 0xf1 },
    { 0x7e, 0x03 },
    { 0x7f, 0xfc },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x17 },
    { 0x08, 0x7f },
    { 0x09, 0xff },
    { 0x0a, 0xff },
    { 0x0b, 0xff },
    { 0x0c, 0x00 },
    { 0x0d, 0x00 },
    { 0x0e, 0x00 },
    { 0x0f, 0x00 },
    { 0x10, 0x16 },
    { 0x11, 0xe4 },
    { 0x12, 0x62 },
    { 0x13, 0xd0 },
    { 0x14, 0x00 },
    { 0x15, 0x00 },
    { 0x16, 0x00 },
    { 0x17, 0x00 },
    { 0x18, 0xb5 },
    { 0x19, 0x1d },
    { 0x1a, 0x79 },
    { 0x1b, 0x69 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x17 },
    { 0x1c, 0x74 },
    { 0x1d, 0xca },
    { 0x1e, 0x57 },
    { 0x1f, 0x99 },
    { 0x20, 0xc0 },
    { 0x21, 0x4a },
    { 0x22, 0x76 },
    { 0x23, 0x72 },
    { 0x24, 0x65 },
    { 0x25, 0xf6 },
    { 0x26, 0x36 },
    { 0x27, 0xa1 },
    { 0x28, 0x3f },
    { 0x29, 0xb5 },
    { 0x2a, 0x89 },
    { 0x2b, 0x8e },
    { 0x2c, 0xa5 },
    { 0x2d, 0x3f },
    { 0x2e, 0x71 },
    { 0x2f, 0xc4 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x17 },
    { 0x30, 0x7f },
    { 0x31, 0xff },
    { 0x32, 0xff },
    { 0x33, 0xff },
    { 0x34, 0x00 },
    { 0x35, 0x00 },
    { 0x36, 0x00 },
    { 0x37, 0x00 },
    { 0x38, 0x00 },
    { 0x39, 0x00 },
    { 0x3a, 0x00 },
    { 0x3b, 0x00 },
    { 0x3c, 0x00 },
    { 0x3d, 0x00 },
    { 0x3e, 0x00 },
    { 0x3f, 0x00 },
    { 0x40, 0x00 },
    { 0x41, 0x00 },
    { 0x42, 0x00 },
    { 0x43, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x17 },
    { 0x44, 0x78 },
    { 0x45, 0xa0 },
    { 0x46, 0x0c },
    { 0x47, 0x12 },
    { 0x48, 0x8f },
    { 0x49, 0xc0 },
    { 0x4a, 0xd8 },
    { 0x4b, 0xe7 },
    { 0x4c, 0x69 },
    { 0x4d, 0xce },
    { 0x4e, 0x2a },
    { 0x4f, 0xd4 },
    { 0x50, 0x70 },
    { 0x51, 0x3f },
    { 0x52, 0x27 },
    { 0x53, 0x19 },
    { 0x54, 0x9d },
    { 0x55, 0x91 },
    { 0x56, 0xc9 },
    { 0x57, 0x19 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x17 },
    { 0x58, 0x7f },
    { 0x59, 0xff },
    { 0x5a, 0xff },
    { 0x5b, 0xff },
    { 0x5c, 0x8f },
    { 0x5d, 0x96 },
    { 0x5e, 0x9f },
    { 0x5f, 0xb3 },
    { 0x60, 0x73 },
    { 0x61, 0x58 },
    { 0x62, 0xd0 },
    { 0x63, 0xa8 },
    { 0x64, 0x70 },
    { 0x65, 0xb9 },
    { 0x66, 0x29 },
    { 0x67, 0x71 },
    { 0x68, 0x8b },
    { 0x69, 0xfa },
    { 0x6a, 0x77 },
    { 0x6b, 0x52 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x17 },
    { 0x6c, 0x7f },
    { 0x6d, 0xff },
    { 0x6e, 0xff },
    { 0x6f, 0xff },
    { 0x70, 0x00 },
    { 0x71, 0x00 },
    { 0x72, 0x00 },
    { 0x73, 0x00 },
    { 0x74, 0x00 },
    { 0x75, 0x00 },
    { 0x76, 0x00 },
    { 0x77, 0x00 },
    { 0x78, 0x00 },
    { 0x79, 0x00 },
    { 0x7a, 0x00 },
    { 0x7b, 0x00 },
    { 0x7c, 0x00 },
    { 0x7d, 0x00 },
    { 0x7e, 0x00 },
    { 0x7f, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x18 },
    { 0x08, 0x0a },
    { 0x09, 0xfa },
    { 0x0a, 0xe4 },
    { 0x0b, 0x21 },
    { 0x0c, 0x00 },
    { 0x0d, 0x00 },
    { 0x0e, 0x00 },
    { 0x0f, 0x00 },
    { 0x10, 0x00 },
    { 0x11, 0x00 },
    { 0x12, 0x00 },
    { 0x13, 0x00 },
    { 0x14, 0x00 },
    { 0x15, 0x00 },
    { 0x16, 0x00 },
    { 0x17, 0x00 },
    { 0x18, 0x00 },
    { 0x19, 0x00 },
    { 0x1a, 0x00 },
    { 0x1b, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x18 },
    { 0x1c, 0x7f },
    { 0x1d, 0xff },
    { 0x1e, 0xff },
    { 0x1f, 0xff },
    { 0x20, 0x00 },
    { 0x21, 0x00 },
    { 0x22, 0x00 },
    { 0x23, 0x00 },
    { 0x24, 0x00 },
    { 0x25, 0x00 },
    { 0x26, 0x00 },
    { 0x27, 0x00 },
    { 0x28, 0x00 },
    { 0x29, 0x00 },
    { 0x2a, 0x00 },
    { 0x2b, 0x00 },
    { 0x2c, 0x00 },
    { 0x2d, 0x00 },
    { 0x2e, 0x00 },
    { 0x2f, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x18 },
    { 0x30, 0x7f },
    { 0x31, 0xff },
    { 0x32, 0xff },
    { 0x33, 0xff },
    { 0x34, 0x00 },
    { 0x35, 0x00 },
    { 0x36, 0x00 },
    { 0x37, 0x00 },
    { 0x38, 0x00 },
    { 0x39, 0x00 },
    { 0x3a, 0x00 },
    { 0x3b, 0x00 },
    { 0x3c, 0x00 },
    { 0x3d, 0x00 },
    { 0x3e, 0x00 },
    { 0x3f, 0x00 },
    { 0x40, 0x00 },
    { 0x41, 0x00 },
    { 0x42, 0x00 },
    { 0x43, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x18 },
    { 0x44, 0x7f },
    { 0x45, 0xff },
    { 0x46, 0xff },
    { 0x47, 0xff },
    { 0x48, 0x00 },
    { 0x49, 0x00 },
    { 0x4a, 0x00 },
    { 0x4b, 0x00 },
    { 0x4c, 0x00 },
    { 0x4d, 0x00 },
    { 0x4e, 0x00 },
    { 0x4f, 0x00 },
    { 0x50, 0x00 },
    { 0x51, 0x00 },
    { 0x52, 0x00 },
    { 0x53, 0x00 },
    { 0x54, 0x00 },
    { 0x55, 0x00 },
    { 0x56, 0x00 },
    { 0x57, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x18 },
    { 0x58, 0x7f },
    { 0x59, 0xff },
    { 0x5a, 0xff },
    { 0x5b, 0xff },
    { 0x5c, 0x00 },
    { 0x5d, 0x00 },
    { 0x5e, 0x00 },
    { 0x5f, 0x00 },
    { 0x60, 0x00 },
    { 0x61, 0x00 },
    { 0x62, 0x00 },
    { 0x63, 0x00 },
    { 0x64, 0x00 },
    { 0x65, 0x00 },
    { 0x66, 0x00 },
    { 0x67, 0x00 },
    { 0x68, 0x00 },
    { 0x69, 0x00 },
    { 0x6a, 0x00 },
    { 0x6b, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x18 },
    { 0x6c, 0x7f },
    { 0x6d, 0xff },
    { 0x6e, 0xff },
    { 0x6f, 0xff },
    { 0x70, 0x00 },
    { 0x71, 0x00 },
    { 0x72, 0x00 },
    { 0x73, 0x00 },
    { 0x74, 0x00 },
    { 0x75, 0x00 },
    { 0x76, 0x00 },
    { 0x77, 0x00 },
    { 0x78, 0x00 },
    { 0x79, 0x00 },
    { 0x7a, 0x00 },
    { 0x7b, 0x00 },
    { 0x7c, 0x00 },
    { 0x7d, 0x00 },
    { 0x7e, 0x00 },
    { 0x7f, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x19 },
    { 0x08, 0x7f },
    { 0x09, 0xff },
    { 0x0a, 0xff },
    { 0x0b, 0xff },
    { 0x0c, 0x00 },
    { 0x0d, 0x00 },
    { 0x0e, 0x00 },
    { 0x0f, 0x00 },
    { 0x10, 0x00 },
    { 0x11, 0x00 },
    { 0x12, 0x00 },
    { 0x13, 0x00 },
    { 0x14, 0x00 },
    { 0x15, 0x00 },
    { 0x16, 0x00 },
    { 0x17, 0x00 },
    { 0x18, 0x00 },
    { 0x19, 0x00 },
    { 0x1a, 0x00 },
    { 0x1b, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x19 },
    { 0x1c, 0x7f },
    { 0x1d, 0xff },
    { 0x1e, 0xff },
    { 0x1f, 0xff },
    { 0x20, 0x00 },
    { 0x21, 0x00 },
    { 0x22, 0x00 },
    { 0x23, 0x00 },
    { 0x24, 0x00 },
    { 0x25, 0x00 },
    { 0x26, 0x00 },
    { 0x27, 0x00 },
    { 0x28, 0x00 },
    { 0x29, 0x00 },
    { 0x2a, 0x00 },
    { 0x2b, 0x00 },
    { 0x2c, 0x00 },
    { 0x2d, 0x00 },
    { 0x2e, 0x00 },
    { 0x2f, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x19 },
    { 0x30, 0x7f },
    { 0x31, 0xff },
    { 0x32, 0xff },
    { 0x33, 0xff },
    { 0x34, 0x00 },
    { 0x35, 0x00 },
    { 0x36, 0x00 },
    { 0x37, 0x00 },
    { 0x38, 0x00 },
    { 0x39, 0x00 },
    { 0x3a, 0x00 },
    { 0x3b, 0x00 },
    { 0x3c, 0x00 },
    { 0x3d, 0x00 },
    { 0x3e, 0x00 },
    { 0x3f, 0x00 },
    { 0x40, 0x00 },
    { 0x41, 0x00 },
    { 0x42, 0x00 },
    { 0x43, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x19 },
    { 0x44, 0x7f },
    { 0x45, 0xff },
    { 0x46, 0xff },
    { 0x47, 0xff },
    { 0x48, 0x00 },
    { 0x49, 0x00 },
    { 0x4a, 0x00 },
    { 0x4b, 0x00 },
    { 0x4c, 0x00 },
    { 0x4d, 0x00 },
    { 0x4e, 0x00 },
    { 0x4f, 0x00 },
    { 0x50, 0x00 },
    { 0x51, 0x00 },
    { 0x52, 0x00 },
    { 0x53, 0x00 },
    { 0x54, 0x00 },
    { 0x55, 0x00 },
    { 0x56, 0x00 },
    { 0x57, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x19 },
    { 0x58, 0x7f },
    { 0x59, 0xff },
    { 0x5a, 0xff },
    { 0x5b, 0xff },
    { 0x5c, 0x00 },
    { 0x5d, 0x00 },
    { 0x5e, 0x00 },
    { 0x5f, 0x00 },
    { 0x60, 0x00 },
    { 0x61, 0x00 },
    { 0x62, 0x00 },
    { 0x63, 0x00 },
    { 0x64, 0x00 },
    { 0x65, 0x00 },
    { 0x66, 0x00 },
    { 0x67, 0x00 },
    { 0x68, 0x00 },
    { 0x69, 0x00 },
    { 0x6a, 0x00 },
    { 0x6b, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x19 },
    { 0x6c, 0x7f },
    { 0x6d, 0xff },
    { 0x6e, 0xff },
    { 0x6f, 0xff },
    { 0x70, 0x00 },
    { 0x71, 0x00 },
    { 0x72, 0x00 },
    { 0x73, 0x00 },
    { 0x74, 0x00 },
    { 0x75, 0x00 },
    { 0x76, 0x00 },
    { 0x77, 0x00 },
    { 0x78, 0x00 },
    { 0x79, 0x00 },
    { 0x7a, 0x00 },
    { 0x7b, 0x00 },
    { 0x7c, 0x00 },
    { 0x7d, 0x00 },
    { 0x7e, 0x00 },
    { 0x7f, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1a },
    { 0x08, 0x7f },
    { 0x09, 0xff },
    { 0x0a, 0xff },
    { 0x0b, 0xff },
    { 0x0c, 0x00 },
    { 0x0d, 0x00 },
    { 0x0e, 0x00 },
    { 0x0f, 0x00 },
    { 0x10, 0x00 },
    { 0x11, 0x00 },
    { 0x12, 0x00 },
    { 0x13, 0x00 },
    { 0x14, 0x00 },
    { 0x15, 0x00 },
    { 0x16, 0x00 },
    { 0x17, 0x00 },
    { 0x18, 0x00 },
    { 0x19, 0x00 },
    { 0x1a, 0x00 },
    { 0x1b, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1a },
    { 0x1c, 0x7f },
    { 0x1d, 0xff },
    { 0x1e, 0xff },
    { 0x1f, 0xff },
    { 0x20, 0x00 },
    { 0x21, 0x00 },
    { 0x22, 0x00 },
    { 0x23, 0x00 },
    { 0x24, 0x00 },
    { 0x25, 0x00 },
    { 0x26, 0x00 },
    { 0x27, 0x00 },
    { 0x28, 0x00 },
    { 0x29, 0x00 },
    { 0x2a, 0x00 },
    { 0x2b, 0x00 },
    { 0x2c, 0x00 },
    { 0x2d, 0x00 },
    { 0x2e, 0x00 },
    { 0x2f, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1a },
    { 0x30, 0x7f },
    { 0x31, 0xff },
    { 0x32, 0xff },
    { 0x33, 0xff },
    { 0x34, 0x00 },
    { 0x35, 0x00 },
    { 0x36, 0x00 },
    { 0x37, 0x00 },
    { 0x38, 0x00 },
    { 0x39, 0x00 },
    { 0x3a, 0x00 },
    { 0x3b, 0x00 },
    { 0x3c, 0x00 },
    { 0x3d, 0x00 },
    { 0x3e, 0x00 },
    { 0x3f, 0x00 },
    { 0x40, 0x00 },
    { 0x41, 0x00 },
    { 0x42, 0x00 },
    { 0x43, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1a },
    { 0x44, 0x08 },
    { 0x45, 0x00 },
    { 0x46, 0x00 },
    { 0x47, 0x00 },
    { 0x48, 0x00 },
    { 0x49, 0x00 },
    { 0x4a, 0x00 },
    { 0x4b, 0x00 },
    { 0x4c, 0x00 },
    { 0x4d, 0x00 },
    { 0x4e, 0x00 },
    { 0x4f, 0x00 },
    { 0x50, 0x00 },
    { 0x51, 0x00 },
    { 0x52, 0x00 },
    { 0x53, 0x00 },
    { 0x54, 0x00 },
    { 0x55, 0x00 },
    { 0x56, 0x00 },
    { 0x57, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1a },
    { 0x58, 0x00 },
    { 0x59, 0xe2 },
    { 0x5a, 0xc4 },
    { 0x5b, 0x6b },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1a },
    { 0x6c, 0x02 },
    { 0x6d, 0xa3 },
    { 0x6e, 0x9a },
    { 0x6f, 0xcc },
    { 0x70, 0x00 },
    { 0x71, 0xaa },
    { 0x72, 0x39 },
    { 0x73, 0x16 },
    { 0x74, 0x00 },
    { 0x75, 0x01 },
    { 0x76, 0x23 },
    { 0x77, 0x44 },
    { 0x78, 0x00 },
    { 0x79, 0x00 },
    { 0x7a, 0x00 },
    { 0x7b, 0x00 },
    { 0x7c, 0x00 },
    { 0x7d, 0x00 },
    { 0x7e, 0x00 },
    { 0x7f, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1b },
    { 0x08, 0xff },
    { 0x09, 0x81 },
    { 0x0a, 0x47 },
    { 0x0b, 0xae },
    { 0x0c, 0xf9 },
    { 0x0d, 0xda },
    { 0x0e, 0xbc },
    { 0x0f, 0x21 },
    { 0x10, 0xfd },
    { 0x11, 0x4d },
    { 0x12, 0x09 },
    { 0x13, 0xfa },
    { 0x14, 0x00 },
    { 0x15, 0x00 },
    { 0x16, 0x00 },
    { 0x17, 0x00 },
    { 0x18, 0x00 },
    { 0x19, 0x00 },
    { 0x1a, 0x00 },
    { 0x1b, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1b },
    { 0x1c, 0x02 },
    { 0x1d, 0xa3 },
    { 0x1e, 0x9a },
    { 0x1f, 0xcc },
    { 0x20, 0x00 },
    { 0x21, 0xaa },
    { 0x22, 0x39 },
    { 0x23, 0x16 },
    { 0x24, 0x00 },
    { 0x25, 0x01 },
    { 0x26, 0xb4 },
    { 0x27, 0xe5 },
    { 0x28, 0x00 },
    { 0x29, 0x00 },
    { 0x2a, 0x00 },
    { 0x2b, 0x00 },
    { 0x2c, 0x00 },
    { 0x2d, 0x07 },
    { 0x2e, 0x1c },
    { 0x2f, 0x72 },
    { 0x30, 0xff },
    { 0x31, 0x82 },
    { 0x32, 0x8f },
    { 0x33, 0x5c },
    { 0x34, 0xf9 },
    { 0x35, 0xda },
    { 0x36, 0xbc },
    { 0x37, 0x21 },
    { 0x38, 0xfc },
    { 0x39, 0xd8 },
    { 0x3a, 0x1b },
    { 0x3b, 0x6b },
    { 0x3c, 0x00 },
    { 0x3d, 0x00 },
    { 0x3e, 0x00 },
    { 0x3f, 0x00 },
    { 0x40, 0x00 },
    { 0x41, 0x2a },
    { 0x42, 0x85 },
    { 0x43, 0x4b },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1b },
    { 0x44, 0x0a },
    { 0x45, 0x3b },
    { 0x46, 0xfc },
    { 0x47, 0x10 },
    { 0x48, 0x00 },
    { 0x49, 0xaa },
    { 0x4a, 0x39 },
    { 0x4b, 0x16 },
    { 0x4c, 0x00 },
    { 0x4d, 0x01 },
    { 0x4e, 0xb4 },
    { 0x4f, 0xe5 },
    { 0x50, 0x00 },
    { 0x51, 0x00 },
    { 0x52, 0x00 },
    { 0x53, 0x00 },
    { 0x54, 0x00 },
    { 0x55, 0x00 },
    { 0x56, 0x00 },
    { 0x57, 0x00 },
    { 0x58, 0xff },
    { 0x59, 0x82 },
    { 0x5a, 0x8f },
    { 0x5b, 0x5c },
    { 0x5c, 0xf9 },
    { 0x5d, 0xda },
    { 0x5e, 0xbc },
    { 0x5f, 0x21 },
    { 0x60, 0xfd },
    { 0x61, 0x22 },
    { 0x62, 0x84 },
    { 0x63, 0xae },
    { 0x64, 0x00 },
    { 0x65, 0x00 },
    { 0x66, 0x00 },
    { 0x67, 0x00 },
    { 0x68, 0x00 },
    { 0x69, 0x00 },
    { 0x6a, 0x00 },
    { 0x6b, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1c },
    { 0x6c, 0x7f },
    { 0x6d, 0xff },
    { 0x6e, 0xff },
    { 0x6f, 0xff },
    { 0x70, 0x00 },
    { 0x71, 0x00 },
    { 0x72, 0x00 },
    { 0x73, 0x00 },
    { 0x74, 0x00 },
    { 0x75, 0x00 },
    { 0x76, 0x00 },
    { 0x77, 0x00 },
    { 0x78, 0x00 },
    { 0x79, 0x00 },
    { 0x7a, 0x00 },
    { 0x7b, 0x00 },
    { 0x7c, 0x00 },
    { 0x7d, 0x00 },
    { 0x7e, 0x00 },
    { 0x7f, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1d },
    { 0x08, 0x7f },
    { 0x09, 0xff },
    { 0x0a, 0xff },
    { 0x0b, 0xff },
    { 0x0c, 0x00 },
    { 0x0d, 0x00 },
    { 0x0e, 0x00 },
    { 0x0f, 0x00 },
    { 0x10, 0x00 },
    { 0x11, 0x00 },
    { 0x12, 0x00 },
    { 0x13, 0x00 },
    { 0x14, 0x00 },
    { 0x15, 0x00 },
    { 0x16, 0x00 },
    { 0x17, 0x00 },
    { 0x18, 0x00 },
    { 0x19, 0x00 },
    { 0x1a, 0x00 },
    { 0x1b, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1d },
    { 0x1c, 0x00 },
    { 0x1d, 0x22 },
    { 0x1e, 0x1d },
    { 0x1f, 0x95 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1d },
    { 0x20, 0x23 },
    { 0x21, 0x63 },
    { 0x22, 0x26 },
    { 0x23, 0x5c },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1d },
    { 0x24, 0x03 },
    { 0x25, 0x37 },
    { 0x26, 0x18 },
    { 0x27, 0x4e },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1d },
    { 0x2c, 0x00 },
    { 0x2d, 0x80 },
    { 0x2e, 0x00 },
    { 0x2f, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1d },
    { 0x34, 0x40 },
    { 0x35, 0x00 },
    { 0x36, 0x00 },
    { 0x37, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1d },
    { 0x38, 0x40 },
    { 0x39, 0x00 },
    { 0x3a, 0x00 },
    { 0x3b, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1d },
    { 0x40, 0x00 },
    { 0x41, 0x80 },
    { 0x42, 0x00 },
    { 0x43, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1d },
    { 0x44, 0xff },
    { 0x45, 0x80 },
    { 0x46, 0x00 },
    { 0x47, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1d },
    { 0x48, 0x00 },
    { 0x49, 0x80 },
    { 0x4a, 0x00 },
    { 0x4b, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1d },
    { 0x58, 0x00 },
    { 0x59, 0x00 },
    { 0x5a, 0x00 },
    { 0x5b, 0x01 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1d },
    { 0x5c, 0x00 },
    { 0x5d, 0x80 },
    { 0x5e, 0x00 },
    { 0x5f, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1d },
    { 0x60, 0x00 },
    { 0x61, 0x00 },
    { 0x62, 0x00 },
    { 0x63, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1d },
    { 0x64, 0x00 },
    { 0x65, 0x00 },
    { 0x66, 0x00 },
    { 0x67, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1d },
    { 0x68, 0x00 },
    { 0x69, 0x80 },
    { 0x6a, 0x00 },
    { 0x6b, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1d },
    { 0x74, 0x00 },
    { 0x75, 0x40 },
    { 0x76, 0x00 },
    { 0x77, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1d },
    { 0x78, 0x00 },
    { 0x79, 0x40 },
    { 0x7a, 0x00 },
    { 0x7b, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1d },
    { 0x7c, 0x00 },
    { 0x7d, 0x80 },
    { 0x7e, 0x00 },
    { 0x7f, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x08, 0x00 },
    { 0x09, 0x80 },
    { 0x0a, 0x00 },
    { 0x0b, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x0c, 0x00 },
    { 0x0d, 0x80 },
    { 0x0e, 0x00 },
    { 0x0f, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x10, 0x00 },
    { 0x11, 0x00 },
    { 0x12, 0x00 },
    { 0x13, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x14, 0x00 },
    { 0x15, 0x80 },
    { 0x16, 0x00 },
    { 0x17, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x18, 0x00 },
    { 0x19, 0x00 },
    { 0x1a, 0x00 },
    { 0x1b, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x1c, 0x00 },
    { 0x1d, 0x00 },
    { 0x1e, 0x00 },
    { 0x1f, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x20, 0x00 },
    { 0x21, 0x00 },
    { 0x22, 0x00 },
    { 0x23, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x24, 0x00 },
    { 0x25, 0x80 },
    { 0x26, 0x00 },
    { 0x27, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x28, 0x00 },
    { 0x29, 0x00 },
    { 0x2a, 0x00 },
    { 0x2b, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x2c, 0x00 },
    { 0x2d, 0x80 },
    { 0x2e, 0x00 },
    { 0x2f, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x30, 0x00 },
    { 0x31, 0x00 },
    { 0x32, 0x00 },
    { 0x33, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x34, 0x00 },
    { 0x35, 0x00 },
    { 0x36, 0x00 },
    { 0x37, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x38, 0x00 },
    { 0x39, 0x00 },
    { 0x3a, 0x00 },
    { 0x3b, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x3c, 0x00 },
    { 0x3d, 0x80 },
    { 0x3e, 0x00 },
    { 0x3f, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x40, 0x00 },
    { 0x41, 0x00 },
    { 0x42, 0x00 },
    { 0x43, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x44, 0x00 },
    { 0x45, 0x80 },
    { 0x46, 0x00 },
    { 0x47, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x48, 0x00 },
    { 0x49, 0x80 },
    { 0x4a, 0x00 },
    { 0x4b, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x50, 0x40 },
    { 0x51, 0x00 },
    { 0x52, 0x00 },
    { 0x53, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x54, 0x04 },
    { 0x55, 0x00 },
    { 0x56, 0x00 },
    { 0x57, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1e },
    { 0x58, 0x04 },
    { 0x59, 0x00 },
    { 0x5a, 0x00 },
    { 0x5b, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1f },
    { 0x14, 0x00 },
    { 0x15, 0xce },
    { 0x16, 0xc0 },
    { 0x17, 0x8a },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1f },
    { 0x18, 0x0a },
    { 0x19, 0x0a },
    { 0x1a, 0xae },
    { 0x1b, 0xd2 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1f },
    { 0x1c, 0x00 },
    { 0x1d, 0x03 },
    { 0x1e, 0x69 },
    { 0x1f, 0xd0 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1f },
    { 0x20, 0x40 },
    { 0x21, 0x00 },
    { 0x22, 0x00 },
    { 0x23, 0x00 },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1f },
    { 0x28, 0x75 },
    { 0x29, 0xf5 },
    { 0x2a, 0x51 },
    { 0x2b, 0x2e },
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x1f },
    { 0x2c, 0x00 },
    { 0x2d, 0x00 },
    { 0x2e, 0x57 },
    { 0x2f, 0x62 },

    //swap command
    { 0x00, 0x00 },
    { 0x7f, 0x8c },
    { 0x00, 0x23 },
    { 0x14, 0x00 },
    { 0x15, 0x00 },
    { 0x16, 0x00 },
    { 0x17, 0x01 },


    //register tuning
    { 0x00, 0x00 },
    { 0x7f, 0x00 },
    { 0x00, 0x00 },
    { 0x07, 0x00 },
    { 0x08, 0x20 },
    { 0x55, 0x07 },
    { 0x00, 0x00 },
    { 0x7f, 0x00 },
    { 0x00, 0x00 },
    { 0x3d, 0x30 },
    { 0x3e, 0x30 },
    { 0x00, 0x00 },
    { 0x7f, 0x00 },
    { 0x00, 0x01 },
    { 0x02, 0x00 },


    //Unmute the device
    { 0x00, 0x00 },
    { 0x7f, 0x00 },
    { 0x03, 0x00 },
    { 0x2a, 0x11 },

    };

  • Hi Michael

        The dumped codes will contain the information inside of the Tuning and Audio Processing. If you change in the Register Map, the information can't be connected together.

        Let me check with your test method first. You mean you send I2S signal directly to TAS5782 EVM and do the test right? What do you set in Audio I/O?

      

       Also is there a way for you to check whether your I2S signal is already distorted or not?   

      

  • Well that's not clearly defined anywhere.  One would think that the software does as it states

    but ok, so I have to manually modify the dump record to actually configure the part.  Got it.  So I actually connect the audio to J4 header on the Purepath Mother board that is itself connected to the TAS5782MEVM board.  At the moment the only change to the configuration I've made is to set the data precision to 32 bits.  As for determining if the I2S signal is distorted coming in, I have no other means to debug that.  I have placed a help request with the BT module manufacturer asking for some help though.

  • Ok, I'd like to revisit your comment about "The dumped codes will contain the information inside of the Tuning and Audio Processing. If you change in the Register Map, the information can't be connected together.".  In looking through the dump file, I see that it does write out register 34 (0x22) changing the sampling rate to 48KBaud from the default (Register value of 03).  So it appears some registers are exported and some aren't?  Can you provide a list of registers I will need to manually update in the dump file so I can avoid having to search for each and every register setting?

  • Hi Michael

        I really don't suggest you changing anything in the dumped file. Needn't to check the file's content, it will work as PPC3 settings. Let's focus on your output distortion problem. I suggest to use USB port to play some music or sine wave, and check if there will be a distorted results. If you have any other EVM on your hands, you can also use other EVM to play the I2S signal you get from your system, check whether the results are good.

  • I've already fixed the distortion issue.  I successfully sent I2S signal information to the PPC3 and had clean audio out the EVM board.  I could change audio settings.  The only issue I have is that when I take the file created from PurePath, and load it to the eeprom on my target, load the code to the on board TAS5782M there is no audio output.  In the file it doesn't set the data precision, so tell me, How can I NOT modify the file?  You stated that it did not export the full register map, only tuning.  How do I set this up to load properly on my target?  I have to deliver working prototypes next week to our customer, and the amps are mute.

  • Ok, update.  I now have sound!  I found a miss index in the writing out to the chip on the information.  I'm still uneasy about not all the registers being ported out.  The image I am running now, I hand modified to add setting the precision (reg 0x28), but I would like to insure as that I'm loading everything properly.  This product is going to actually have two separate DSP tunings that the user can switch between.  So again, the PurePath software states that the header is intended to be used for the boot process.

     

    Why aren't all the registers exported then?

  • Hi Michael

        You are correct it is better to include all the settings in the PPC3. But for the recent design, it include all the music tuning registers, that is in the Tuning and Audio Processing block. The registers in the Audio I/O, which is on book0 page0, not included.

        Most of our customer will choose to use the default settings for registers on book0 page0, only need to change some of the registers if they needed. I think that maybe one of the reasons, can save some codes size. But maybe it is more coinvent if we can offer a choice here.   

        We will consider it in the future. Thank you.

  • If it were the case that none of the book0 page0 settings were included I'd be more at ease, but obviously some of those settings are included.  The Header file has a sections as follows:

    //Sample rate update
    { 0x00, 0x00 },
    { 0x7f, 0x00 },
    { 0x02, 0x80 },

    { 0x00, 0x00 },
    { 0x7f, 0x00 },

    // speed 03-48k 04-96k
    //dynamically reading speed
    { 0x22, 0x03 },
    { 0x00, 0x00 },
    { 0x7f, 0x00 },
    { 0x02, 0x00 },

    So apparently only some of the Book0 Page0 settings were thought to be important enough to export, while others weren't.  I have it running now with my mod, I'll keep it at that for now.