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.

[参考译文] MSP430FR2311:将 UART 连接到 I2C

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/942594/msp430fr2311-interfacing-uart-to-i2c

器件型号:MSP430FR2311
主题中讨论的其他器件: MSP-FETUNIFLASH

尊敬的 TI 技术支持团队:

我们正在开发无线通信器件、它需要 UART 转 I2C 桥接器来控制系统中的 GPIO。
我们尝试使用 MSP430FR2311将 UART 连接到 I2C。
我们的目标是按照以下配置向 I2C 芯片发送命令。
CPU --> USB 集线器--> USB 转 UART 转换器--> UART 转 I2C 桥接器(MSP430FR2311)--> I2C 扩展器

为了验证芯片、我们购买了独立的 MSP430FR2311PW20芯片和 MSP-FET 调试器。

应用手册 SLAA908介绍了在 UART 和 I2C 协议之间进行转换的程序。
但是、我需要更多详细信息、因为我没有任何背景。
我想在这里提出一些问题。

1。
在简介中、我应该在下面的链接中下载项目文件和代码示例。
www.ti.com/.../slaa908

我安装了 CCS、然后使用下载的文件创建了一个项目、为新项目构建了'debug'、并调试了该项目。
据我所知、现在芯片内部包含了 UART 转 I2C 桥接代码、即使没有 CCS、它也应作为 UART 转 I2C 桥接器工作。
正确吗?

2.
如果是、我们可以通过 UART 接口发送 I2C 命令、并将其转换为 I2C 信号、对吗?
如果没有、我们是否必须为 UART 转 I2C 应用编写新代码?

3.
在 SLAA908的第3页中、可以看到

"使用 PC、通过终端程序打开新的串行连接、然后连接到反向通道
通过选择名为 MSP 应用 UART1的 COM 端口、可访问 MSP-FET 上的 UART 接口。 在中
"Terminal"窗口中、将波特率更改为115200。 以演示 UART 转 I2C 的功能
BRIDGE 中、在终端窗口中输入一个字节字符串、遵循命令格式并发送该字符串。 它将被发送
I2C 从器件、并将显示 I2C 从器件的 TX 缓冲区中的任何值
串行终端中。"

我一直在关注这一点、但我不清楚如何为此配置 MSP-FET。
MSP430FR2311芯片安装在上、MSP-FET 连接到 PC 的 USB 端口、
MSP-FET 的跳线设置如应用手册中所述。
之后、我打开 TeraTerm 终端并选择串行连接选项(MSP 应用 UART1)、将波特率设置为115200。
我只需要这么做吗? 或者、我是否必须打开 CCS 并进入调试模式?

4.
如果我按照 SLAA908第3页中的说明操作、
然后上拉 J4.19和 J4.20 (分别为 I2C_SCL 和 I2C_SDA)
我可以使用示波器查看 I2C_SDA 引脚(MSP-FET 中的 J4.20)的波形、
I2C 命令发送到 UART 接口时的示例。 正确吗?

这些问题可能会变得令人心生、因为我对这一领域比较陌生。
我们衷心感谢您提出任何意见或建议。

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

    您好、Gyuwon、

    对于 Q1:

    您只需通过 UniFlash 或 CCS/IAR 将演示降至 MCU、然后,根据文档中描述的协议、无需始终连接到 CCS 即可实现 UART 转 I2C 桥接器功能。 CCS 只是一个调试和下载软件。

    对于 Q2:

    我们提供了示例代码、可实现该功能(UART 转 I2C 桥接器)、您只需进入 MCU 即可。

    对于 Q3:

    将演示下载到 MCU 后、我们只需使用 MSP-FET 连接并测试该功能、因为 MSP-FET 具有 UART 端口、您可以参阅本文档了解 MSP-FET:的用法

    https://www.ti.com/lit/ug/slau647o/slau647o.pdf

    对于 Q4:

    为了检查数据是否正确、您可以根据示波器波形或通信数据的结果对其进行分析。

    PS: 我是本应用手册(Slaa908)的作者、如果您有任何疑问、可以直接联系我。

    此致

    Johnson

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

    感谢您的评论。

    我已经完成了 UART 转 I2C 的调试并将提供的 IAR 代码下载到芯片中。

    据我了解、现在我可以在 MSP-FET 连接到 PC 的情况下使用 UART 转 I2C 接口功能。

    MSP-FET 与 安装了 MSP430FR2311的 TS430PW20目标开发板相连。

    配置如下:

    PC <---- USB 电缆--- >MSP-FET <--- JTAG 电缆--- > TS430PW20 (MSP430FR2311)。

    但是、当我测量 J4.20 (I2C SDA 引脚)的电压时、它的电压介于0.3-0.4V 之间。

    我认为这些(SDA 和 SCL、J4.20和 J4.19)应使用4.7K 上拉电阻器上拉、因此我进行了相应配置。

    然后、我在 PC 上打开 Tera-Term 终端、通过 MSP 应用 UART3端口打开串行连接、

    并通过 Tera-Term 终端发送键盘输入。

    然后、MSP430FR2311应通过 UART 线路以二进制方式接收一些 ASCII 代码输入、  

    我尝试使用示波器检查 I2C SDA 引脚的逻辑电平波形、但我找不到任何东西。

    只有一个扁平的3.3V 电压...

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

    您好、Gyuwon、

    I2C 的从器件是什么? 您是否已连接?

    在该应用中、MSP430作为 I2C 主设备、当该 MCU 从 UART 接收到某个日期时、如果 它符合规定、它将执行一些标准判断、 然后、通过 I2C 接口读取/写入数据到从器件、因此您需要连接 I2C 从器件并按照规定发送 UART 数据(我在代码中对此进行了说明、您还可以根据自己的需求修改这些数据)。

    谢谢!

    此致

    Johnson