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.

[参考译文] RTOS/TMDSIDK437X:板载 LED 的 I2C 控制

Guru**** 2539540 points
Other Parts Discussed in Thread: TMDSIDK437X, TPIC2810, AM4379

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/573436/rtos-tmdsidk437x-i2c-control-of-onboard-leds

器件型号:TMDSIDK437X
主题中讨论的其他器件: TPIC2810AM4379

工具/软件:TI-RTOS

您好-  
我的评估板是 TI  TMDSIDK437X   (http://www.ti.com/tool/tmdsidk437x)。 我只是尝试使用 I2C2外设与板上的 I2C 转 GPIO 设备通信,以便打开一些 LED。

从 I2C0的示例项目开始、该项目与板载 EEPROM 连接–该示例工作正常。 我在转换该代码以与另一台设备通信的尝试中缺少一些内容。

代码构建正常、但在等待传输完成时卡住。 在 SCL 和 SDA 线路上放置一个 SCOP 总是会显示它们被上拉为高电平-完全没有活动。  我可以看到代码正在执行

但我不知道引脚多路复用器是否正确地将引脚配置为 I2C 引脚。 如果有人在此板上使用 I2C2的工作示例、那将会很好。

谢谢。

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

    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    对于 AM437x IDK EVM、I2C0连接到 EEPROM。 I2C2连接到工业 LED、 processors.wiki.ti.com/.../AM437x_IDK_EVM_HW_User_Guide。

    我们只有 I2C0 EEPROM 的 I2C 驱动程序示例、您已经过测试。 对于 I2C2、在\pdk_AM437X_1_0_5\packages/ti\board\diag\led_industrial_industried 下有测试代码、但尚未涵盖 AM437x IDK EVM。 测试源代码很常见、需要在 MLO/次级引导加载程序中选择正确的 I2C 实例并进行正确的 PINMUX 配置。

    从原理图 www.ti.com/.../tidrc79.pdf 中、I2C2_SCL 为引脚 AC21、I2C2_SDA 为引脚 AB20、并连接到 TPIC2810以控制 LED。 要为 I2C2选择 AC21和 AB20、对于 AM4379 ZDN 封装、引脚模式需要为 AM4379数据表表表表4-10中的0x3。

    在使用 PINMUX 文件进行检查时:pdk_AM437X_1_0_5\packages/ti\starterware\board\am43xx\am43xx_idkevm_pinmux_data.c

    静态 pinmuxModuleCfg_t gI2cPinCfg[]=

    {0、true、gI2c0PinCfg}、
    {2、true、gI2c2PinCfg}、
    {CHIPDB_INVALID_Instance_NUM}
    };

    静态 pinmuxPerCfg_t gI2c2pinCfg[]=


    /* My I2C 2 -> I2C2_SCL -> AC21 */
    PIN_CAM1_Data1、0、\
    (\
    PIN_MODE (3)|\
    ((PIN_PULL_UD_DIS | PIN_PULL_UP_EN | PIN_RX_ACTIVE | PIN_DS_value_overrid_EN | PIN_DS_OP_DIS | PIN_DS_PULL_UP_EN)和\
    (~PIN_DS_OP_VAL_1 &~PIN_DS_PULL_UD_EN &~PIN_WAKE_UP_EN)
    )\
    }、

    /*我的 I2C 2 -> I2C2_SDA -> AB20 */
    PIN_CAM1_DATA0、\
    (\
    PIN_MODE (3)|\
    ((PIN_PULL_UD_DIS | PIN_PULL_UP_EN | PIN_RX_ACTIVE | PIN_DS_value_overrid_EN | PIN_DS_OP_DIS | PIN_DS_PULL_UP_EN)和\
    (~PIN_DS_OP_VAL_1 &~PIN_DS_PULL_UD_EN &~PIN_WAKE_UP_EN)
    )\
    }、
    {PINMUX_INVALID_PIN}
    };

    I2C2已设置、这看起来是正确的。

    您可以根据 pdk_AM437X_1_0_5\packages/ti\board\diag\led_industrial\src\led_industrial_test.c 检查测试代码、以查看是否可以使其正常工作。

    此致、Eric