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.

[参考译文] MSP430FR2355:通过 RS485使用基于 MSP430 ROM 的引导加载程序 BSL。 半双工。 有可能吗? 实用?

Guru**** 2519050 points
Other Parts Discussed in Thread: MSPBSL, MSP-FET

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/946036/msp430fr2355-using-msp430-rom-based-bootloader-bsl-through-rs485-half-duplex-is-it-possible-practical

器件型号:MSP430FR2355
主题中讨论的其他器件:MSPBSLMSP-FET

我正在设计一款产品、该产品一旦生产、将只能访问半双工 RS485引脚以进行固件更新。
预计固件更新将是罕见的、可能永远不会发生。  RS485线路将被适当偏置、并且可以进行双向通信。

  • 是否可以通过 RS485使用 MSP430 ROM BSL?
    • 我将如何进行基准测试?
    • 在 RS485总线上控制方向时、μ~RE 和 DE 引脚会发生什么情况?

  • 对于基于 ROM 的 BSL、是否有自定义初始化例程来正确设置端口引脚?
    如果我从代码跳转基于 ROM 的 BSL、引脚是重新配置还是单独保留?

  • 忽略基于 ROM 的 BSL 并编译自定义 RS485支持版本需要多少 FRAM 空间
  • BSL Rocket 是否能够执行 MSP430EXP 板无法执行的任何操作?

  • 如何批量擦除有砖砌的器件?


参考资料: https://www.ti.com/lit/an/slaa450g/slaa450g.pdf

参考资料: https://www.ti.com/tool/MSPBSL#step3

430FR2355似乎有一个基于 ROM 的 BSL、支持 UART 并从软件调用 BSL。

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

    嗨、Bryce、

    SP430FR2355 ROM BSL 确实支持通过 UART 进行更新、但它假定采用全双工系统并使用硬件 USCI 模块、该模块对于半双工系统没有任何内置功能。   

    由于 BSL 位于 ROM 中、因此您无法自定义现有的 BSL、但可以绕过它并在 FRAM 中实现客户 BSL。  您链接的 MSPBSL 页面包含所有相关信息和文档。  要自定义 FRAM 器件、您需要从 MSP430FRBoot 开始。  它包含用于 MSP430FRxx 系列中少数器件的基于 UART 的 BSL 的示例项目 BSL、您可以从此处进行修改。  在这里、您还可以了解存储器大小。  我只是随机打开其中一个 FR2433 UART MSPboot 示例的映射文件、看起来它略低于 FRAM 的1.5kB。   

    要通过 BSL 进行编程、您需要调用它、然后处理数据传输。  这可以通过使用 BSL Rocket 以及 MSP-FET 的 PC 来实现。  在应用中、它通常也是电路板上的另一个主机端 MCU/MPU。   但是、我认为使用 MSP430 Launchpad 上的 eZ-FET 编程器是不可能的。   

    希望这能有所帮助。   

    JD

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

    [引用用户="JD Crutchfield]Hey Bryce、

    SP430FR2355 ROM BSL 确实支持通过 UART 进行更新、但它假定采用全双工系统并使用硬件 USCI 模块、该模块不具有半双工系统的任何内置功能。[/QUERP]

    我已经了解了协议和注释、很明显、它是一种半双工协议。
    如果确实如此、则可以控制 RE 和 DE 线路(半双工总线上的开关方向、此处为 RS485)。

    是否有任何社区成员这样做?  我很高兴重新编译目标端以匹配我的特定硬件、但我不必重新设计 PC 端滚轮。 可能吗?  行进路线?
    ----------

    如果没有、如果使用串行端口、大多数项目如何处理现场固件更新?

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

    如何自定义 RS485链路的 PC 端。

    两侧都需要控制 RS485总线的数据方向。

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

    这取决于您的硬件。 我有一个 SparkFun 板、上面有 FTDI USB 转串行芯片。 我必须做一些工作来连接来自该芯片的信号、以控制 RS485发送器。 但是、一旦我这么做、它就会起作用。

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

    [引用 user="Bryce Nesbitt">双方都需要控制 RS485总线的数据方向。进一步了解 David 的评论:

    USB 转 RS485串行转换器电缆数据表 是预制的 USB 转 RS485电缆、其中显示了连接到 FT232R 的 RS485收发器、其中 FT232R TXDEN 信号用于控制数据方向。

     FT232R USB UART IC 产品说明书 描述 了 TXDEN 信号:

    [引用]请注意、TXDEN 在 START 位之前的1个位周期被激活。 TXDEN 与停止位同时被禁用。 这是不可配置的。

     由于 FT232R TXDEN 信号由硬件控制、这将是自动的、而不是 PC 中的软件、必须显式控制 RS485总线的数据方向。

      USB 转 RS485串行转换器电缆数据表中的本地回波部分还说明 、可以在 FT232R EEPROM 中更改 A 位、以选择传输的 RS485数据是否回传到 PC。

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

    [引用 user="Chester Gillon">进一步了解 David 的评论:

    USB 转 RS485串行转换器电缆数据表 I

    [/报价]

    好的、好的。
    它是否与 BSL 配合使用?
    目标(而不是 PC)如何在 RS485上控制方向?
    BSL 协议半双工是否就绪?

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

    我没有尝试使用基于 RS485的 BSL、因此无法回答所有问题。

    [引用 user="Bryce Nesbitt"]《BSL 协议半双工就绪吗?》[/引用]用户指南《MSP430Tm闪存器件引导加载程序(BSL) 》具有以下内容:

    [引用 user="Bryce Nesbitt">目标(而不是 PC)如何控制 RS485上的方向?我不知道 eUSCI_A 中是否有任何硬件支持、从而使引脚自动控制 RS485发送器使能。 您可能需要修改的 BSL、它使用 GPIO 在软件控制下启用发送器。 例如、在写入 UCAxTXBUF 前启用发送、在发送缓冲区为空后禁用发送。

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

    [引用 USER="Chester Gillon">我不知道 eUSCI_A 中是否有任何硬件支持、即是否有引脚自动控制 RS485发送器使能。 您可能需要修改的 BSL、它使用 GPIO 在软件控制下启用发送器。 例如、在写入 UCAxTXBUF 前启用发送、在发送缓冲区为空后禁用发送。[/QUERP]

    这正是问题所在。  在软件中对目标执行方向控制非常重要、只不过引导加载程序位于 ROM 中。

    可以在部件外部进行自动方向控制、但存在风险:

    https://www.electronicdesign.com/technologies/embedded-revolution/article/21806514/how-to-create-automatic-direction-control-for-rs485-interfaces

    《如何为 RS-485接口创建自动方向控制》
    本文探讨了通过实施自动方向控制将 RS-485功能添加到 PC RS-232串行端口的方法。 Ward Brown、Microchip 2018年5月16日"

    或使用 TI 应用手册 TIDUBW6中的555。

    这两种方法都要求 ROM 引导加载程序和 PC 端在每个半双工事务处理后、在发送之前延迟一个位。