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.

[参考译文] 编译器/EK-TM4C123GXL:与 TS0108E (电平转换器)进行 I2C 通信

Guru**** 2579325 points
Other Parts Discussed in Thread: EK-TM4C123GXL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/874886/compiler-ek-tm4c123gxl-i2c-communication-with-ts0108e-level-converter

器件型号:EK-TM4C123GXL
主题中讨论的其他器件: TM4C123

工具/软件:TI C/C++编译器

我正在尝试  使用 PCF8547 (I/O 扩展器模块)构建 I2C 主接口。 当我使用电平转换器 MH 构建电路时,它工作正常,使用 TS0108E (TI -电平转换器) SDA,SCL 线路不工作。

当我使用逻辑分析仪进行检查时,低端端获得数据,而高端端却没有收到数据,因此我认为这可能是我在使用电平转换器时遇到的问题。  

下面是初始化例程:

空 initI2C0 (空)

   //此函数用于 eewiki,将进行更新以处理任何端口

   //启用 I2C 模块
   SysCtlPeripheralEnable (SYSCTL_Periph_I2C0);

   //复位 I2C 模块
   SysCtlPeripheralReset (SYSCTL_Periph_I2C0);

   //启用包含 I2C 的 GPIO 外设
   SysCtlPeripheralEnable (SYSCTL_Periph_GPIOB);

   //为端口 B2和 B3上的 I2C0功能配置引脚复用。
   GPIOPinConfigure (GPIO_PB2_I2C0SCL);
   GPIOPinConfigure (GPIO_PB3_I2C0SDA);

   //为这些引脚选择 I2C 功能。
   GPIOPinTypeI2CSCL (GPIO_PORTB_BASE、GPIO_PIN_2);
   GPIOPinTypeI2C (GPIO_PORTB_BASE、GPIO_PIN_3);

   //启用和初始化 I2C0主机模块。  使用的系统时钟
   // I2C0模块。  最后一个参数设置 I2C 数据传输速率。
   //如果为 false,则数据速率设置为100kbps,如果为 true,则数据速率将设置为
   //设置为400kbps。
   I2CMasterInitExpClk (I2C0_BASE、SysCtlClockGet ()、false);

   //清除 I2C FIFO
   HWREG (I2C0_BASE + I2C_O_FIFOCTL)= 80008000;

我已经完成了 TSTS0108E、

1.OE 线路-高电平(3.3V)

已检查模块是否工作正常

TM4C123GXL

降低了 I2C 时钟频率。

使用了外部上拉电阻器。

有什么想法、我可能会犯错吗?

谢谢;)
任何

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

    您好!

    您报告了在部署 I2C 电平转换器时"困难"(无法提升 I2C 电平)、"TSTS0108E"

    稍后您会注意到:

    我已经完成了 TSTS0108E、

    1.OE 线路-高电平(3.3V)

    OE 被驱动为低电平(~GND)以启用输出比正常/习俗要多得多。   确实-尝试一下。   如果该更改失败-向 SDA 和 SCL 添加上拉电阻器(~10K)(在电平升压器的两个"标准"上)并再次测试...

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

     您将为 PCF8547使用什么电压? 您能否提供显示 PCF8547、 TS0108E、EK-TM4C123GXL 和任何外部上拉电阻器的 I2C 线路连接原理图?

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

    我的连接

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

    感谢您的观看。 几个澄清问题。 从图中可以看到、UC SCL 线路上有两个上拉电阻。 我怀疑这只是一个绘图错误、其中一个位于 SCL 上、另一个位于 SDA 上。 是这样吗? 您提到 "当我使用逻辑分析仪进行检查时、低端会获取数据、而高端会不会接收数据 "。  B (5V)侧的 SCL 和 SDA 线路是卡在高电平还是低电平? 如果您可以在3.3V 侧和5V 侧发布 SCL 和 SDA 的示波器快照或逻辑分析仪快照、那将会很有帮助。  

    话虽如此、我想指出、TM4C123器件上的 I2C I/O 可耐受5V 电压。 由于 SCL 和 SDA 信号是漏极开路、因此您可以将它们直接连接到 PCF8547并使用5V 上拉电阻器。 无需电平转换器。