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.

[参考译文] MSP430FR6989:使用 FT232R 调用 MSP430FR6989 BSL

Guru**** 2512965 points
Other Parts Discussed in Thread: MSP430FR6989, MSP-FET

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/778994/msp430fr6989-msp430fr6989-bsl-invocation-with-ft232r

器件型号:MSP430FR6989
主题中讨论的其他器件: MSP-FET

大家好、

我正在尝试使用 UART 通信通过 BSL Scripter 使用 FT232R 来调用 MSP430FR6989的 BSL。 所有组件都连接在各自 的引脚上、以便能够进行调用。 但当我尝试在 BSL Scripter 中执行 txt 文件时、反相的 DTR 和 RTS 引脚似乎无法很好地生成调用序列。

生成的序列如下所示:

(NB.1是反相 DTR 信号、而 NB.2是反相 RTS 信号)

它必须如下所示:

我尝试运行的 txt 文件是位于 BSL Scripter 的 instalIation 文件夹中的一个示例。

//脚本示例 FRxx UART BSL
//
//设备:MSP430FR6989
//通信桥接器:MSP-BSL Rocket
//
//通过下载 Blink 应用程序
FRAM 器件中的//UART BSL
//
日志
模式 FRxx UART 9600 COM11
//提供错误的密码进行批量擦除
RX_PASSWORD pass32_wrong.txt
//
//输入错误的密码后添加延迟
//因为器件不提供
//应用错误密码后的任何响应
//
延迟2000
RX_PASSWORD pass32_default.txt
RX_DATA_BLOCK blinkLED_FR6989.txt
CRC_CHECK 0x4400 0x0020
SET_PC 0x4400

我不知道为什么无法正确启动 BSL 序列。 这可能是 FT232R 的问题吗?

 非常感谢您的帮助。

此致

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

    尊敬的 Christian:

    您的示波器上的分辨率为10ms。上升沿的区域内是否有任何其他边沿?

    您能否发布原理图的快照、了解如何在 MSP 器件上连接测试和 RST?

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

    BSL-Scripter 不会在 DTR 和 RTS 上生成 BSL 调用序列。  当波特率更改为9601时、它依靠一个经批准的硬件接口来实现这一目的。  认可的接口是 Rocket 和 MSP-FET。  我的 Github repo 使用与 FT232类似的接口可能有用:

    https://github.com/gbhug5a/CP2102-with-BSL-Scripter-for-MSP430

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

    您好、Dietmar、

    感谢您的支持。 我忘记将此图片的分辨率更改为较低的分辨率、但问题仍然存在、并且尽管存在此分辨率、但仍然保持不变。  

    这些连接包括:

    反转 DTR FT232R -->   反转电路板的 RST

    反相 RTS FT232R --> 测试/SBWTCK  

    GND FT232R --> GND 板

    3.3V FT232R --> 3.3V 电路板

    DIN FT232R ->P2.1 (BSLRX)板

    DOUT FT232R --> P2.0 (BSLTX)板

    FT 的 DTR 和 RTS 已被软件反转。

    此致

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

    George 的注释完全正确 BSL_scripter SW 仅适用于 BSL_Rocket 等专用硬件。
    如果您使用不同的硬件、则需要自行实现调用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Christian、我想我对您的工作感到困惑。 从图片中可以看到、您使用的是6989 Launchpad、因此我不明白为什么他不能仅使用 JTAG 通过 USB 进行闪存。

    您说您在软件中反向 DTR。 您是否修改了 Scripter 或其他程序? 从第一个示波器跟踪中、DTR 和 RTS 看起来都是以某种方式反转的。 当我使用 USB 适配器运行 Scripter 时、两条线路都处于低电平。

    我无法从图中看出、但如果您直接从 FT 为6989供电、则需要移除所有"虚线"跳线以保护 Launchpad 的未供电仿真部分。

    最后、它取决于标记方式、但通常 USB 适配器的 TXD 连接到目标的 RxD。 因此、您可能需要跨越数据线。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    再说一次、

    BSL 脚本编写器仅适用于专用硬件、因此我希望您能将其与您的解决方案相媲美吗? 除此之外、我不确定连接是否正确、另请按照 George 的建议移除跳线。

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

    尊敬的乔治:

    我使用外部硬件作为 FT232来通过 其序列调用引导加载程序、这就是我不使用 JTAG 的原因。

    为了同时反转 DTR 和 RTS、我使用了 FT_Prog 程序来实现反转。

    然后、没有跳线连接 eZ-FET 和微控制器、反之亦然。 该组件只允许将电线单独连接到每个引脚。

    最后、目标的 TX 和 RX 分别连接到 DIN 和 DOUT、这将是正确的配置。  我意识到我在前一个回答中写错了。

    感谢您的支持。

    此致

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

    您好、Dietmar、

    感谢您的关注。 由于 BSL 脚本编写器仅使用专用硬件、因此之前使用与 FT232类似组件的链接 George 非常有用。 现在我正在使用它、但 我仍然无法正确访问引导加载程序。

    最后、已检查所有连接并连接良好。

    此致。

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

    克里斯蒂安,我仍然不清楚你在做什么。  我从未使用过 F_Prog、也不明白为什么需要它。  Github 链接中包含的用于 Windows 的 Invoke.EXE 程序应在标准、未修改的 FT 适配器(设置为3.3V)上在 DTR 和 RTS 上生成正确的序列 、就像在 CP2102上一样。  该序列如 SLAU550S.PDF 的图2 (第3.3.2节)所示。  运行 invoke.EXE 时,您应该会在范围上看到该模式。  但是、如果您可以使用 F-Prog 生成该图案、这是可以的。

    然后、您必须在生成调用模式后运行 Scripter。  但 Scripter 所做的第一件事是将 DTR 置为低电平、这会取消 FR6989中的 BSL 会话、并将其置于复位状态、这不是我们想要发生的情况。  因此、在生成调用模式后、必须在运行脚本编写器之前断开 DTR 与 FR6989的连接。  一种方法是使用运行调用的批处理文件、然后是"暂停"、再运行脚本解释器。  在暂停期间、您只需手动断开 DTR 跳线。 (FR6989上的复位引脚应具有上拉电阻器。在 Launchpad 上、但我不知道放置虚线的哪一侧、因此您可能需要添加一个。)

    还请记住、您必须在脚本文本的模式行中包含奇偶校验选项。

    我已经使用 CP2102和 FR2311测试了此过程、它确实起作用。

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

    Christian、

    您是否能够根据 Gitub 链接中的 Geroge 信息生成所需的调用序列?

    因此、我通常始终使用 BSL-Rocket 来生成 BSL 序列、但您将使用的是生成正确的 BSL 进入序列以通过 UART 进行通信、并防止在这两者之间进行额外的复位。

    因此、请告诉我们您的站点是否正常工作、您还需要什么其他资源才能使其正常工作。 否则、我将在本周结束时关闭此主题。

    谢谢。

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

    我开始使用 FT_prog、以便能够反转 FT232的 DTR 和 RTS 引脚。 现在、我不需要它、因为 INVOKE.txt 生成了正确的序列、将 DTR 和 RTS 本身反相、不是吗? 因此、我禁用了在 FT_prog 中更改的所有参数、以便 INVOKE.exe 单独反转这些引脚。

    因此、当我运行 invert.exe 时、现在我正在获取看起来正确的序列、但完全反转、 即使我尝试 通过 FT_prog 再次反转这些信号。

    问题应该是什么?

    万分感谢。

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

    克里斯蒂安,恐怕我给了你不好的建议。  我最初使用 CP2102适配器测试了调用、并成功地对 FR2311进行了编程。  但当时我没有 FT232或 CH340适配器可供测试。  我假设通用适配器及其驱动程序都以相同的方式工作、但事实并非如此。

    今天上午、我借用了 CH340G 适配器和 FT232RL 适配器进行测试。  当我将其中任何一个插入计算机 USB、但在另一端未连接任何设备、并且运行调用时、我的作用域显示它会生成模式、但最终将两条线路返回高电平。  我认为 RTS 必须保持低电平才能使我的方法正常工作、因此这意味着 CH 或 FT 都不能使用调用。

    当我第一次插入 FT 适配器时、我在 DTR 和 RTS 上获得几秒钟的无意义脉冲、两条线路都处于高电平。  然后、当我运行调用时、它的行为奇怪、但随后生成模式、最后两条线都处于高电平。  这两条线的极性看起来与示波器显示的极性相反。  我将附上一张图片。

    如图所示、在生成图形之前、两条线路上都有一个长的低脉冲、这不应发生、并且 CP2102也不会发生。  我将尝试修改调用、以便不会发生这种情况、 但即使成功、我也不知道如何在结束时阻止 RTS 变为高电平、因为这是一个驱动程序问题。  现在、我的方法似乎仅适用于 CP2102。  我不知道如何使用 FT 适配器对 FR6989进行编程。  很抱歉、我走了这个路。

    编辑: 不、我第一次是对的。  不管用。  请参阅我的下一篇文章。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    克里斯蒂安,我说得太快了。 它毕竟起作用。 我能够使用 FT232RL 适配器刷写 FR2311。 我的批处理文件如下:

    invoke.exe COM6
    暂停
    BSL-Scripter.exe script.txt

    脚本中的模式行包括奇偶校验选项。

    在暂停期间、您必须从 FR6989断开 DTR 和 RTS。 (我假设您在/Reset 引脚上有一个上拉电阻器。) 然后按任意键运行 BSL-Scripter。

    在生成调用序列后、只要在通信开始前再次变为低电平、RTS 似乎可以变为高电平。 由于测试引脚具有内部下拉电阻器、因此将其从 RTS 断开将使其恢复为低电平。 然后、当脚本编写器运行时、它在 DTR 上没有做任何操作、RTS 将传递到 MCU、但 TX 和 RX 通信仍然有效。

    使用 MOSFET 电路并删除暂停的替代方法仅适用于 CP2102。

    我仍然需要测试 CH340G、并使用 FT232进行更多测试、但到目前为止、它看起来很有希望。 关键是使极性正确、如我上一篇文章中的图片所示、并在暂停期间断开 DTR 和 RTS。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    非常感谢 George! 我仍在尝试正确地反转信号、如果我获得信号、我将尝试按您所说的那样进行转换。 如果不能、我将为另一个更改 FT232。

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

    George、非常感谢您的支持和宝贵意见。

    Christian、
    您是否能够利用他的意见解决您的挑战? 如果是、请将此主题标记为已解决。
    如果没有更激烈的活动、我将关闭此主题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Dietmar、请将此主题再开放几天。 我认为不久将会有消息提供解决方案。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,乔治,因为我无法解决这个问题,我最终决定购买火箭,现在我没有问题。 因此、我会将该线程视为已完成。

    尽管如此,我还是要感谢你们的帮助。  

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉我没能帮你,克里斯蒂安。 但在修改脚本解释器方面已经取得了进展、因此它将直接生成调用序列。 我希望在今后几天在这里公布这一解决方案。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="George Hug">抱歉、我无法帮助您、克里斯蒂安。 但在修改脚本解释器方面已经取得了进展、因此它将直接生成调用序列。 我希望在今后几天在这里公布这一解决方案。

    [/报价]

    如预期:

    https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/785580

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

    完美! 我要看一下。 非常感谢。