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.

[参考译文] CCS/PCM1862:PCM1862 I2C 参考代码

Guru**** 2378720 points
Other Parts Discussed in Thread: PCM1862
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/897364/ccs-pcm1862-pcm1862-i2c-reference-code

器件型号:PCM1862

工具/软件:Code Composer Studio

是否有 PCM1862 I2C 软件配置参考程序可用?如果没有、是否有可用的文档?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    软件配置完全通过 I2C 写入来完成、您是否正在寻找一种实现 I2C 写入的方法或为特定应用配置器件的示例?

    虽然我认为我们没有任何特定的代码可共享、但您可以通过在.h 文件中输出寄存器配置、使用 EVM 和 GUI 生成此代码。 下面是一个默认寄存器配置的示例:

    typedef unsigned char cfg_u8;
    typedef union{
    结构{
    CFG_u8偏移;
    CFG_u8值;
    };
    结构{
    cfg_u8命令;
    CFG_u8参数;
    };
    } cfg_reg;

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

    /*示例 C 代码*/
    /*
    //可将 n 个字节写入器件的外部实现的函数
    // PCM51xx 和 TAS5766目标需要在多次写入时设置 I2C 寄存器的 HIGH 位(0x80)。
    //有关更多信息,请参阅器件数据表。
    extern int i2c_write (unsigned char * data、int n);
    //外部实现的函数将执行延迟 n 毫秒
    extern int delay (int n);
    //实现示例。 呼叫方式:
    // transmit 寄存器(寄存器、sizeof (寄存器)/sizeof (寄存器[0]));
    void transmit 寄存器(cfg_reg *r、int n)

    int i = 0;
    while (i < n){
    switch (r[i].command){
    CFG_META_SWITCHCH 案例:
    //用于传统应用程序。 被忽略。
    中断;
    案例 CFG_META_DELAY:
    延迟(r[i].param);
    中断;
    案例 CFG_META_BURST:
    I2C_WRITE ((unsigned char *)&r[i+1]、r[i].param);
    i += r[i].param/2 +1;
    中断;
    默认值:
    I2C_WRITE ((unsigned char *)&r[i]、2);
    中断;

    i++;


    *

    CFG_reg 寄存器[]={
    { 0x00、0x00 }、
    { 0x01、0x00 }、
    {0x02、0x00}、
    { 0x03、0x00 }、
    {0x04、0x00}、
    {0x05、0x86}、
    {0x06、0x41}、
    {0x07、0x41}、
    {0x08、0x42}、
    {0x09、0x42}、
    { 0x0a、0x00 }、
    {0x0B、0x44}、
    { 0x0c、0x00 }、
    { 0x0d、0x00 }、
    { 0x0E、0x00 }、
    { 0x0F、0x00 }、
    { 0x10、0x01 }、
    {0x11、0x20}、
    {0x12、0x00}、
    { 0x13、0x00 }、
    { 0x14、0x00 }、
    { 0x15、0x00 }、
    { 0x16、0x00 }、
    {0x17、0x00}、
    {0x18、0x00}、
    {0x19、0x00}、
    { 0x1a、0x00 }、
    { 0x1b、0x00 }、
    { 0x1c、0x00 }、
    { 0x1d、0x00 }、
    { 0x1E、0x00 }、
    { 0x1f、0x00 }、
    {0x20、0x03}、
    {0x21、0x03}、
    {0x22、0x00}、
    {0x23、0x01}、
    {0x24、0x50}、
    {0x25、0x07}、
    {0x26、0x03}、
    { 0x27、0x3f}、
    {0x28、0x11}、
    {0x29、0x01}、
    { 0x2a、0x01 }、
    {0x2b、0x08}、
    { 0x2C、0x00 }、
    { 0x2D、0x00 }、
    {0x2e、0x00}、
    { 0x2F、0x00 }、
    { 0x30、0x00 }、
    {0x31、0x00}、
    { 0x32、0x00 }、
    { 0x33、0x01}、
    {0x34、0x00}、
    {0x35、0x00}、
    {0x36、0x01}、
    {0x37、0x00}、
    {0x38、0x00}、
    {0x39、0x00}、
    {0x3a、0x00}、
    { 0x3b、0x00 }、
    { 0x3c、0x00 }、
    {0x3D、0x00}、
    {0x3E、0x00}、
    { 0x3f、0x00 }、
    {0x40、0x80}、
    {0x41、0x7f}、
    {0x42、0x00}、
    {0x43、0x80}、
    {0x44、0x7f}、
    {0x45、0x00}、
    {0x46、0x80}、
    {0x47、0x7f}、
    {0x48、0x00}、
    {0x49、0x80}、
    {0x4a、0x7f}、
    {0x4b、0x00}、
    {0x4c、0x80}、
    {0x4d、0x7f}、
    {0x4e、0x00}、
    {0x4f、0x80}、
    {0x50、0x7f}、
    {0x51、0x00}、
    {0x52、0x80}、
    {0x53、0x7f}、
    {0x54、0x00}、
    {0x55、0x80}、
    {0x56、0x7f}、
    {0x57、0x00}、
    {0x58、0x80}、
    {0x59、0x00}、
    {0x5a、0x00}、
    {0x5b、0x00}、
    {0x5c、0x00}、
    {0x5d、0x00}、
    { 0x5e、0x00 },
    {0x5f、0x00}、
    {0x60、0x11}、
    {0x61、0x00}、
    {0x62、0x10}、
    {0x63、0x00}、
    { 0x64、0x00 }、
    {0x65、0x00}、
    {0x66、0x00}、
    {0x67、0x00}、
    {0x68、0x00}、
    {0x69、0x00}、
    {0x6a、0x00}、
    {0x6b、0x00}、
    { 0x6c、0x00 }、
    {0x6d、0x00}、
    {0x6e、0x00}、
    { 0x6f、0x00 }、
    {0x70、0x70}、
    {0x71、0x10}、
    { 0x72、0x0F }、
    {0x73、0x03}、
    {0x74、0x32}、
    {0x75、0x00}、
    {0x76、0x11}、
    {0x77、0x44}、
    {0x78、0x07}、
    {0x79、0x00}、
    { 0x7a、0x00 }、
    {0x7B、0x00}、
    { 0x7c、0x00 }、
    { 0x7d、0x00 }、
    {0x7E、0x00}、
    { 0x7f、0x00 }、
    { 0x00、0x01 }、
    { 0x01、0x00 }、
    {0x02、0x2D}、
    { 0x03、0x00 }、
    {0x04、0x00}、
    {0x05、0x00}、
    { 0x06、0x00 }、
    { 0x07、0x00 }、
    { 0x08、0x00 }、
    {0x09、0x3a}、
    {0x0a、0x45}、
    { 0x0B、0x00 }、
    { 0x0c、0x00 }、
    { 0x0d、0x00 }、
    { 0x0E、0x00 }、
    { 0x0F、0x00 }、
    };

    希望这对您有所帮助!

    Zak