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.

[参考译文] TMS320F280049C:当给出 START 条件命令时、Tms320f280049m I2C SDA 和 SCL 引脚会下拉

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1129949/tms320f280049c-tms320f280049m-i2c-sda-and-scl-pins-go-pull-down-when-start-condition-command-is-given

器件型号:TMS320F280049C
主题中讨论的其他器件:TMS320F280049MC2000WARE

你(们)好。

使用 TMS320F280049m 微控制器实现 I2C 时遇到问题。

控制器正在尝试与温度传感器通信。

完成 I2C 初始化之后。 我已给予足够的延迟使巴士繁忙标志趋稳(以读取正确的 BB 标志)。

初始化后、我通过在发送非重复模式中生成从地址0x48的起始条件来开始通信。 发出此命令后 、SCL 和 SDA 引脚立即变为0v、总线忙标志卡在1。 它会一直保持在那里、在重置 I2C 并尝试开始通信后、同样的事情也会重复。 我想知道发生了什么。

在 Schematic Pull Restore 中,值为:10k 欧姆,Vcc 为3.3V。 请告诉我是怎么出错的。

 (笑声)

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

    您的温度传感器在传输目标(从器件)地址时是否确认? 这是第一步。

    此外、我建议您查看 I2C 示例的 driverlib 版本。

    C:\ti\c2000\C2000Ware_4_01_00_00\driverlib\f28004x\examples\i2c

    示例:I2C_ex4_EEPROM_POLLING

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

    您好、Manoj、

    感谢您的回复。

    我尝试了以下示例代码。 我遇到了相同的问题。

    在这里、我的系统时钟是92.16MHz。 我希望 GPIO0&1作为 I2C 控制信号。 我将 SCL 时钟设置为256kHz。

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    //#############################################################################
    //
    // FILE: i2c_ex2_eeprom.c
    //
    // TITLE: I2C EEPROM
    //
    //! \addtogroup driver_example_list
    //! <h1>I2C EEPROM</h1>
    //!
    //! This program will write 1-14 words to EEPROM and read them back. The data
    //! written and the EEPROM address written to are contained in the message
    //! structure, i2cMsgOut. The data read back will be contained in the message
    //! structure i2cMsgIn.
    //!
    //! \b External \b Connections on Control card\n
    //! - Connect external I2C EEPROM at address 0x50
    //! - Connect GPIO32/SDAA on controlCARD to external EEPROM SDA (serial data) pin
    //! - Connect GPIO33/SCLA on controlCARD to external EEPROM SCL (serial clock) pin
    //!
    //! \b External \b Connections on Launchpad\n
    //! - Connect external I2C EEPROM at address 0x50
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

    在给出启动条件后、SCL 和 SDA 引脚立即变为0V。 我 甚至没有在 SCL 引脚上的 CRO 中看到单个时钟脉冲。

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

    请尝试我建议的 driverlib 示例。

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

    正如您所说、我尝试了以下操作。 我得到了相同的结果。

    在 BusScan 函数中  ,在以下例程“I2C_sendStartCondition (base);”之后。 I2C 寄存器访问位未设置(I2C_STS_REG_ACCESS_RDY)。

    //设置从地址
    I2C_setSlaveAddress (base、probeSlaveAddress);


    I2C_sendStartCondition (base);

    //等待从机地址被发送
    while (!(I2C_getStatus (base)& I2C_STS_REG_ACCESS_RDY));

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    //#############################################################################
    //
    // FILE: i2c_ex4_eeprom_polling.c
    //
    // TITLE: I2C EEPROM Write / Read using polling
    //
    //! \addtogroup driver_example_list
    //! <h1>I2C EEPROM</h1>
    //!
    //! This program will shows how to perform different EEPROM write and read
    //! commands using I2C polling method
    //! EEPROM used for this example is AT24C256
    //!
    //! \b External \b Connections \n
    //! - Connect external I2C EEPROM at address 0x50
    //! --------------------------------
    //! Signal | I2CA | EEPROM
    //! --------------------------------
    //! SCL | GPIO37 | SCL
    //! SDA | GPIO35 | SDA
    //! Make sure to connect GND pins if EEPROM and C2000 device are in different board.
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

    库鲁瓦、

    您是否更改了示例代码中的任何内容? 您能给我发送示波器快照吗?

    我感觉存在导致此问题的潜在硬件问题。

    此致、

    曼诺伊