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.

TAS5825M: Programming using I2C Master in FPGA and external Flash

Part Number: TAS5825M


Dear Ladies and Gentlemen,

we are planning to use a TAS5825M for our future product line. We don't want to use an EEPROM connected to the Amp, but instead have a large Flash connected to an FPGA. The FPGA is supposed to load the configuration from the Flash and send it to the Amp via I2C. Now, I already generated a .eeprom and .cfg file using the PPC3 software. Unfortunately these files are not binary. How can I convert the .cfg files to the binary format? I would really like to avoid to implement a script decoder in hardware. Thank you very much in advance.

Sincerely,

M. Werner

  • Hi Martin,

    If the FPGA is supposed to download the configuration to TAS5825M via i2c, I suggest you generate one entire cfg / header file instead of the EEPROM image an then convert the cfg / header file into the VHDL or verilog code. Bascially, the FPGA should act like a microcontroller to initialize TAS5825M via i2c.

    Andy
  • Dear Andy,

    thank you very much for your answer. Unfortunately, we only have a very small FPGA available and we actually need several DSP configs, from which the user can choose one to load to the DSP at runtime.

    My idea was to convert the CFG files into a binary format that I can write to the EEPROM and the FPGA just reads those commands and translates them to register write operations. This way the content of the CFG can be changed during runtime and is dynamic and the FPGA only needs to translate the commands, which is what we need. I just thought there was a tool from Texas that could generate this binary code instead of the ASCII CFG files. I am not quiet sure how the *.eeprom files correspond to the CFG. I expected them to be binary, but they seem to be ASCII as well and the values don't correspond with the CFG files. Does anyone have a clue how to interpret the *.eeprom files?

    Best regards,
    Martin
  • Hi Martin,

    Have you ever read the app note?
    www.ti.com/.../slaa847.pdf.

    Basically, the EEPROM will be accessed by TAS5825M automatically via SPI (NOT i2c!!) and therefore the *.eeprom binary file is particularly designed for your application.

    I think the header file is probably what you are looking for. You just need to figure out a way to put the header file into the EEPROM or Flash, read those configurations and translates them into i2c operations.

    Andy
  • Yes ofc I read all application notes and documents available on this topic. Otherwise I would not be asking this question in the forums.

    As I mentioned above, we DO NOT intend to use the eeprom which can be connected to the device. We need way more space for up to 16 DSP images. A C-Header file has no use at all for our application since there is no direct connection between a CPU and the Amplifier. Besides a header file has way too much overhead as does an ASCII file. The CFG ASCII file has 11 Bytes for every byte written. That is not ok. Why there is no binary format with a command structure like: "Byte 0: CMD | Byte 1: ADDR | Byte 2: VALUE" like the cfg file provides?