• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Data Converters » Audio Converters » Audio Converters Forum » PurePath Volume control question
Share
Audio Converters
  • Forum
  • E2E Wiki
Options
  • Subscribe via RSS
Check out
Analog Wire blog
  • $core_v2_blog.Current.Name

    Cable equalization 101 – Automating your design

    Posted 2 days ago
    by Hooman Hashemi
    Judging by the number of views on a post related to numerical...
  • $core_v2_blog.Current.Name

    RS-485 - Who says you can't teach an old dog new tricks?

    Posted 6 days ago
    by Neel Seshan
    Would you agree that RS-485 has turned out to be one of the most...
  • $core_v2_blog.Current.Name

    Filter for thought

    Posted 7 days ago
    by Soufiane Bendaoud
    Have you ever wondered how engineers designed active filters...

PurePath Volume control question

PurePath Volume control question

This question is answered
Bruce12833
Posted by Bruce12833
on Oct 05 2009 09:10 AM
Prodigy80 points

I am have trouble understanding exactly what needs to be written to the
volume component to change the volume. I am using an aic3254 as an SPI
device. The closest I come to making this work is by writing a 24 bit
coefficient to addresses 24, 25 and 26 (page 44). This changes the volume
on the first write but not after. I have attempted (among other things)
to write an index to address 27, this has no effect. Am I having this
problem because I am not setting up adaptive filtering buffers correctly?

The driver created by PurePath has the following:

typedef struct {
            u8 control_page;           //coefficient page location
            u8 control_base;           //coefficient base address within page
            u8 control_mute_flag;      //non-zero means muting required
            u8 control_string_index;   //string table index
} control;

static control VOLUME_controls[] = {
{44,24,0,0}
};

The PurePath help has this:

Component Interface 1         {Coef=4}
  DSPCoefBlockStartLength      1
  I2CPage                      44
  I2CRegister                  24

AIC3254 PurePath
Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • J Arbona
    Posted by J Arbona
    on Oct 05 2009 20:45 PM
    Mastermind21240 points

    Hello Bruce,

    See Appendix B.1 of http://focus.ti.com/lit/an/slaa404b/slaa404b.pdf for an example on how to write coefficient memory addresses. Specifically, refer to the last code block in page 22 which applies to switching coefficients on-the-fly.

    For this case:

    1. Write Page 44 / Registers 24-26 with the gain value (0x40 00 00 is 0dB).
    2. Switch buffers by writing 0x05 to Page 44 / Register 1.
    3. Wait for Page 44 / Register 1, Bit D0 to clear to ensure buffers have been switched. This can be replaced with a delay for testing purposes.
    4. Write Page 44 / Registers 24-26 with the exact same values as in step 1.

    Regards,

    J-

     

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Bruce12833
    Posted by Bruce12833
    on Oct 06 2009 08:00 AM
    Prodigy80 points

    Thanks,

    There seems to be two interfaces. From the volume help:

    "The volume level can be set using the Runtime Properties. If you use db values (6db to -110db) write it to the Volume property. The GDE will convert it to volume coefficient values and show it as a VolumeCoefficient property; if you directly use coefficient values (positive integer), write it to the VolumeCoefficient property."

    Do I need to use a Data to Coef component?

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • J Arbona
    Posted by J Arbona
    on Oct 06 2009 20:11 PM
    Mastermind21240 points

    Bruce,

    What the document refers to is that there are two runtime properties than can be modified. The second property, VolumeCoefficient, derives its value from the Volume property. So if you type 6 (dB) on Volume, you will get close to 0x7FFFFF on the VolumeCoefficient. Alternatively, the coefficient value can be entered manually.

    When it comes to programming the coefficient memory, the VolumeCoefficient value is the one that is written into the registers.

    This is not related to the Data to Coef component.

    Regards,

    J-

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mort
    Posted by Mort
    on Dec 14 2009 14:56 PM
    Prodigy10 points

    Does that mean to change the volume again I would need to write to the other buffer (Buffer B in this case)? So I would write the new values to page 62 registers 24-26?

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • J Arbona
    Posted by J Arbona
    on Dec 14 2009 16:42 PM
    Verified Answer
    Verified by J Arbona
    Mastermind21240 points

    Hello Mort,

    If the AIC3254 is set in adaptive mode, then you need to rewrite the same data again to the location of Buffer A after switching buffers. You could also write to the Buffer B location instead, although the location of Buffer A could be used -- basically, both banks of pages point to the same buffer. See attachment below. This eliminates the need to keep track of buffer location.

    2146.DAC C-RAM Access.pdf

    The document below also has sample scripts in the Appendix section for both adaptive and non-adaptive modes:

    http://focus.ti.com/lit/an/slaa404b/slaa404b.pdf

    Regards,

    J-

    AIC3254 Buffer
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use