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.

[参考译文] 66AK2H14:数据表中的 I2C 引导参数表中可能出现错误、SPRS866G

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1194785/66ak2h14-potential-error-in-i2c-boot-parameter-table-in-datasheet-sprs866g

器件型号:66AK2H14
Thread:TMS320C6678中讨论的其他器件

您好!  

查看 SPRS866G 中的第10.1.2.5节、我在 I2C 引导参数表(10.1.2.5.5)中注意到了一个潜在的错误。

所有字段均为2个字节、但4字节的"本地地址"字段除外。 在查看 KeyStone I 器件的数据表时、例如 TMS320C6678 (SPRS691E)、I2C 引导参数表(第2.5.3.5节)同样包含一个"本地地址"字段、但为2个字节。

 KeyStone I 表还包含字段"器件频率"、但 KeyStone II 器件缺少该字段。 在我看来、似乎有人在从表中删除该字段后忘记了调整字节偏移(它现在作为"系统/内核频率"存在于公共表中)

KeyStone II I2C 引导参数表中的字段是4字节(=>表总大小为42)、还是 KeyStone I (=>表总大小为40)是2字节?

谢谢。

卢卡斯

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

    卢卡斯

    欢迎使用 E2E。

    让我看看它,然后回来。

    感谢您的耐心等待。

    此致

    Shankari G

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

    卢卡斯

    我已查看 C6678和 K2H 的数据表。

    我没有看到任何差异。

    让我们尽量查看这些器件的数据表,除非勘误表中另有说明。。

    ——

    in c6678、 https://www.ti.com/lit/ds/symlink/tms320c6678.pdf

    页码:35,  

    a)  偏移字节20 --> I2C 地址  

    b)  偏移字节22 --> DSP 内核频率--即设备频率

    c)  偏移字节24 --> I2C 时钟频率  

    ---

    在 K2H 中 为 https://www.ti.com/lit/ds/symlink/66ak2h14.pdf

    第201页  

    a)  偏移字节30 --> I2C 地址  

        (请注意、DSP 内核频率不可用)

    b)  偏移字节34 --> I2C 时钟频率  

    表的总大小当然为"40"。

    ——

    此致

    Shankari G

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

    您好!  

    进一步测试后、我可以在我的部件上确认以下表10-21起作用。 当将"总线频率"的偏移量更改为32时、引导工作正常。

    根据上图中的表10-21、表的总大小为42、因为我假设"地址延迟"是2个字节?

    此外、我在此处找到了一些示例代码:
    https://git.ti.com/cgit/keystone2_boot_examples/keystone2_boot_examples/diff/examples/k2e/cfg/paramTables.h

    请注意、"本地地址"和"总线频率"之间未添加2字节字段。 "本地地址"似乎是一个2字节整数、因此"总线频率"的偏移量将为32。

    在我看来、它在数据表中仍然像一个错误。

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

    卢卡斯

    我正在尝试连接 K2H 的勘误使用说明5中提供的信息--- >添加到关于删除数据表中 I2C 引导参数表内的 DSP 内核频率的决定。

    我同意、包括字段的大小、地址延迟、是42。

    --

    但是、我会尽量通知内部团队并与您联系。

    此致

    Shankari G

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

    卢卡斯

    对、甚至我也注意到了 Keystone I 和 II 器件中的 I2C 引导参数结构。

    ——

    1.在的一些引导示例中 K2H 、如 Processor SDK... 等、器件内核频率被移除并且 I2C 总线频率的偏移被上移并放置在 I2C 地址旁边。 (见下文)  

    2.是和事实上、对于 C6657、C6678等 Keystone I 器件、器件内核频率位于 I2C 地址之后。  (下文提供)  

    ----------------

    "有了这个信息,"是的",数据表中似乎有一个错误的 Keystone II。 表的总大小应为40。  

    我已经通知了团队。 让我们等待他们的答复。

    ===========================================================

    用于 K2H

    =========

    typedef 结构 boot_params_i2c_s{

    /*引导参数的公共部分*/
    uint16长度;
    UINT16校验和;
    Uint16 boot_mode;
    uint16端口 num;

    uint16 swPllCfg_msw;/* CPU PLL 配置、msw */
    uint16 swPllCfg_LSW;/* CPU PLL 配置、LSW */

    uint16 swPll2Cfg_msw;/* CPU PLL 配置、msw */
    uint16 swPll2Cfg_LSW;/* CPU PLL 配置、LSW */

    Uint16 sysFreqMhz;/*系统时钟频率、MHz */
    Uint16 coreFreqMhz;/*内核时钟频率、MHz */

    bool bootMaster;/*如果内核是引导主控方、则为 True */

    /*引导参数的 I2C 特定部分*/
    UINT16选项;
    /*
    *特定于 I2C 的选项
    *第02-00位:BT:
    * 000 -启动参数模式
    * 001 -引导表模式
    * 010 -引导配置模式
    * 011 - GP 接头模式
    * 100 -从机接收选项
    *其他位:保留
    */
    ...

    ...

    /*要用于引导的设备地址*/
    uint16 dev_addr;/* 16位器件地址(低电平)*/
    Uint16 dev_addr_ext;/* 16位扩展器件地址(高电平)
    *如果不使用、则设为零
    *注:某些 I2C 设备需要32位
    *地址
    */
    uint16 multi_i2c_id;/*多器件主器件写引导 ID */
    uint16 my_i2c_id;/*这部分 I2C 地址*/

    uint16 i2c_clk_freq_kHz;/*所需的 I2C 时钟频率、kHz */

    uint16 next_dev_addr;/*仅用于引导配置模式。 */
    uint16 next_dev_addr_ext;/*在配置完成后复制到 dev_addr*。*

    uint16 address_delay;/*地址写入之间的粗略周期数延迟
    *并读取到 i2c EEPROM */


    }boot_params_I2C_T;

    ===================================================================

    用于 Keystone - I 器件、C6657和 C6678

    ===================================

    typedef 结构 boot_params_i2c_s{

    /*引导参数的公共部分*/
    uint16长度;
    UINT16校验和;
    Uint16 boot_mode;

    /*引导参数的 I2C 特定部分*/
    UINT16选项;
    /*
    *特定于 I2C 的选项
    *第01-00位:BT:
    * 00 -引导参数模式
    * 01 -引导表模式
    * 10 -引导配置模式
    * 11-从器件接收引导配置
    *第04-02位:EETYPE:EEPROM 类型
    *其他位:保留
    */

    …………

    …………


    /*要用于引导的设备地址*/
    uint16 dev_addr;/* 16位器件地址(低电平)*/
    Uint16 dev_addr_ext;/* 16位扩展器件地址(高电平)
    *如果不使用、则设为零
    *注:某些 I2C 设备需要32位
    *地址
    */
    uint16 multi_i2c_id;/*多器件主器件写引导 ID */
    uint16 my_i2c_id;/*这部分 I2C 地址*/

    uint16 core_freq_Mhz;/*内核频率、MHz */
    uint16 i2c_clk_freq_kHz;/*所需的 I2C 时钟频率、kHz */

    uint16 next_dev_addr;/*仅用于引导配置模式。 */
    uint16 next_dev_addr_ext;/*在配置完成后复制到 dev_addr*。*

    uint16 address_delay;/*地址写入之间的粗略周期数延迟
    *并读取到 i2c EEPROM */


    }boot_params_I2C_T;

    ===================================================================

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

    卢卡斯

     我可以得到相关团队的确认。

    "总线频率"的偏移是32而不是34。

    I2C 表的总大小为40。

    此致

    Shankari G

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

    卢卡斯

    删除了 K2H 数据表中的校正、 https://www.ti.com/lit/ds/symlink/66ak2h14.pdf

    为未来客户创建了一个常见问题解答:- https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1201776/faq-66ak2h14-i2c-boot-parameter-table-correction-in-datasheet-sprs866g

    感谢您对此事的关注。 这将对论坛社区大有裨益。

    请通知我们,如果有类似的..

    此致

    Shankari G