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.

AIC3254 Programming

All documentation points to using PurePath Studio in order to utilize the miniDSP functionality of the AIC3254.  PPS only interfaces with TI’s EVM.  So, how are customers suppose to access the AIC3254’s miniDSP functions in their own systems?  What am I missing? 

In a different post, a customer asked for a miniDSP instruction set; TI responded by suggesting he contact his local TI sales representative.  How is a local sales rep. able to help?

Incidentally, I tried contacting a local sales rep.  Of course, he had to refer me to an application engineer.  No application engineer has contacted me.      

  • PurePath Studio Graphical Development Environment (GDE) is used in conjunction with a TI AIC3254 EVM to develop applications for the AIC3254 codec. 

    GDE provides a single development and test environment that supports both application design and control of the application execution on an AIC3254 EVM.

    The GDE provides both high level and low level components to support a variety of audio processing applications.  The high level components are operators like echo cancellation, noise reduction, biquads, dynamic range compressors, loudness, 3 D surround, bass boost, (missing fundamental bass enhancement), mixers, and muxes. The low level operators are add, subtract, multiply, divide, sin, cos, ln, ex, |x|, etc.

    The documentation for each component is contained in a help file that is accessed by right clicking on the component when it is placed in the design pallet.

    The AIC3254 requires an external host processor to download the application software and to provide control inputs over an I2C or SPI bus.

    Once the application has been developed, the GDE creates program initialization and configuration scripts for the system controller.  Drivers that use these scripts are presently available for Linux ASOC and WinCE.  These drivers are fairly generic and can be used as a reference for implementations for other embedded control systems. Additional documentation on target system execution and support is contained in the PurePath Studio and driver documentation. 

    The GDE is an application development environment. It does not permit programming of the miniDSP at an assembly level. If you require components or tools not provided by the GDE please contact your sales representative or the product information center.


    I am sorry that you have not had someone contact you. If you will call the Product Information Center  (972) 644-5580 they can  help you get in contact with an AIC3254 applications engineer.

  • Ael,

    PurePath Studio generates its output code as both an .h file and as an output script (.cfg) compatible with our EVM software, either one could be used by the end-system. The EVM allows the user to evaluate PurePath algorithms and code at run-time, allowing coefficient/parameter changes on the fly.

    The .h file can be used as a reference and its structures can be implemented in the end system to generate I2C/SPI commands to program the AIC3254.

    If the .cfg file format is preferred, it could be parsed. See the "Writing Scripts" section of http://focus.ti.com/lit/ug/slau264/slau264.pdf.

    Regards,

    JA

     

     

  • Thank you everyone.  Since my last post, two app. engineers have contacted me via email and offered to talk over the phone.  So, again thanks.

    The .h file can be used as a reference and its structures can be implemented in the end system to generate I2C/SPI commands to program the AIC3254.

    If the .cfg file format is preferred, it could be parsed. See the "Writing Scripts" section of http://focus.ti.com/lit/ug/slau264/slau264.pdf.

    JA, this is the hint I needed.  I can see the potential of parsing the .cfg file to use in our embedded C FW.  I can locate the generated .cfg file in the PPS folders, but I don't see the .h file you mentioned.  Peforming a search on the PPS folders yielded no .h file.  Can further explain where to find the .h file. 

    Best,

    ael 

  • Ael,

    To enable .h file generation, check the "Tools > Options > Build > Generate Device Driver Interface" box. An .h file should appear in the same directory as the .cfg file when compiling.

    Regards,

    JA

  • Hello, 

    I have setup my first test - it compiles and will be downloaded to the EVM. 

    Where can I find the .h File? Addiitionally I'm not clear: Later on I plan to connect the AIC3254 to a Signalprocessor, probably a c55x. Can I download the generated code to the AIC . In this case I'd need something like "write to page 0, reg3, 0x4). But where can I find this pseudo code. I assume, that there is no direct output support (?). I have activated the build option, but can'f find it. Neither I can't find a config file in my work-dir, though it obviously downloads t.

    Thanks in advance.

    Micky

  • Micky,

    The .h and .cfg file is in the same directory as the .pfw file (process flow).

    Attached is sample code for MSP430. Note that IDAC, IADC, Interpolation and Decimation registers must be set to match the properties of the framework.

    In the newest version of PurePath you can edit the Page 0 and Page 1 registers directly on the SystemSettingsCode property on the framework.

    Regards,

    J-

    aic3254_spi.zip
  • Hi J,

    Thanks for these example files. If I look at the main_Rate44_pps_driver.h I notice that all the values are 'const'. How did you get this done? If I compile my project I never have the keyword 'const'. Is there a  project setting I miss? If there is no 'const' it means that my compiler tries to load it into RAM which is not possible as I don't have enough memory. (MSP430). Of coarse I can always manually change it after compilation but it is pretty time consuming at a debug stage.

    Regards,

    jaiv

  • Hello jaiv,

    That is correct. Using const in MSP430 loads it into flash (or ROM). I added the const keyword manually. The output from PurePath is a generic template which could be parsed and modified for each customer system's needs.

    Regards,

    J-