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.

[参考译文] BOOSTXL-PGA460:带 STM32微控制器和 PGA460的障碍物检测系统

Guru**** 2614265 points
Other Parts Discussed in Thread: BOOSTXL-PGA460, ENERGIA, PGA460, PGA460-Q1

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/673395/boostxl-pga460-obstacle-detection-system-with-stm32-microcontroller-and-pga460

器件型号:BOOSTXL-PGA460
主题中讨论的其他器件: EnergiaPGA460PGA460-Q1

尊敬的 TI:

我目前正在开发 AGV 的障碍物检测原型。 我必须使用基于 ARM 的微控制器。 如果原型系统成功、则将设计专用 PCB。

我想使用4块 BOOSTXL-PGA460板、它们通过4个独立的 UART 通道连接到微控制器。 我能否使用软件开发指南中的代码并删除所有 TCI、SPI 和 OWI related.in 订单要实现这一点、我必须将 MEM_HOLD 和 MEM_CS 设置为高电平、并将 COM_PD 和 COM_SEL 设置为低电平? 是否需要更多设置才能在没有总线的情况下使用两线通信?

我计划将 EVM 封装与 GUI 一起使用以进行测试、并找到所需的设置并将其放入微控制器程序中。 这似乎是一个好计划、还是我忽略了一些事情?

此致、

格伦

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

    您正朝着正确的方向发展:如果您只关心使用异步 UART 模式(TXD 和 RXD)、则可以删除所有 TCI、SPI 和 OWI 相关代码。 具体而言、在 BOOSTXL-PGA460上、COM_PD 和 COM_SEL 必须为低电平才能使用 UART 通信模式。 由于 Energia / UART 代码未使用外部 SRAM 存储器、因此 MEM_HOLD 和 MEM_CS 设置为何种状态无关紧要。 但是、为了获得最佳实践、MEM_HOLD 一个 MEM_CS 应该被设定为高电平来从技术上禁用外部存储器。 该外部存储器仅供 GUI 在直接数据突发模式下通过 USART 同步模式使用。

    请注意、您可以使用单个 UART 总线/端口来连接所有四个 PGA460器件。 在将所有器件连接到总线之前、您需要将 UART_ADDR 位更新为不同的位、但这将允许您堆叠全部四个 BOOSTXL-PGA460主板。 注意:请勿使用 USB 升压电路为多个 BOOSTXL-PGA460供电、除非您使用的外部5V 电源能够提供>=500mA 输出。 只有当您需要以更快的并行速度读取数据、而不是通过总线按顺序读取数据时、才会使用四个独立的 UART 通道。

    购买四个 BOOSTXL-PGA460似乎成本高昂。 如果您想节省一点资金、构建四个小型(SFF)模块可能更可行。 您可以在设计文件部分中看到 SFF 模块列表、网址为 :www.ti.com/.../technicaldocuments。 请勿使用 Ultra-SFF (USFF)、因为它们仅提供对 IO 通信引脚的访问。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Akeem:

    我正在努力处理 ARM 微控制器上的串行通信。 发送命令似乎正常、但接收任何内容似乎是问题所在。 使用 STM32微控制器的 UART 串行通信是否有模板? 我一定会使用 ARM 平台、但我的知识是在 AVR 方面。 使您的库非常可读、但难以转换。 我看到一些论坛用户使用了 STM32 HAL 库、因此如果没有、我希望其他人也能提供帮助。

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

    我们仅提供 PGA460 Energia/C++库和代码示例( www.ti.com/.../slac741 );没有专门针对 STM32 MCU 的内容。

    需要考虑的几个事项有助于调试 UART 模式:

    1) 1)您的主器件在哪个逻辑电平上运行(3.3或5V)? 默认情况下、PGA460以3.3V 逻辑电平运行。 如果需要使用5V 电压、则必须在 TEST 引脚上放置一个连接到3.3或5V 电压的100kOhm 上拉电阻器。
    ----------------------
    2) 2) 2)您能否提供主机发送序列的真实串行示例?
    以下是 PGA460数据表中"7.5.1 UART 和 USART 通信示例"部分的工作示例:
    •示例1–读取寄存器0x1B、其中 PGA460-Q1地址为0x0:
    主器件到 PGA460-Q1:0x55、0x09、0x1B、0xDB…
    PGA460-Q1至主器件:… 0xDiag、0xData、0xChecksum
    •示例2–写入寄存器0x40、数据0x80、其中 PGA460-Q1地址为0x0:
    主器件到 PGA460-Q1:0x55、0x0A、0x40、0x80、0x35
    PGA460-Q1至主器件:无响应、空闲(0xFF)
    有关其他异步 UART 示例,或要计算任何命令序列的校验和,请参阅 GUI 的 Interface Mode --> UART 页面的命令选择。 从下拉列表中选择所需的命令、并使用相应的 UART Addr (默认为0)、然后单击 Run Command (运行命令)以查看在 UART 终端上以十六进制格式打印附加校验和的原始串行序列。 您无需连接 EVM 即可使用 GUI 的此功能。
    ----------------------
    3) 3)确保主 MCU 使用 PGA460所需的 UART 帧结构:
    •8个数据位
    •1起始位
    •2个停止位
    •无奇偶校验位
    •无流量控制
    •域间等待时间(仅在使用1个停止位时才需要)
    注意:大多数 MCU 默认为1个停止位、因此请确保已将主器件的 UART 端口配置为2个停止位。
    ----------------------
    4) 4) PGA460仅支持2.4k 至115.2k 波特之间的波特率。
    ----------------------
    5) 5) VPWR 的价值是什么? PGA460需要6-28V 才能正常运行。 基于5V USB 的电源不足以为 PGA460供电。
    ----------------------
    6) 6)启动后、必须至少写入阈值一次、以清除初始化时始终标记为高电平的阈值 CRC 错误。 在允许 PGA460-Q1执行突发和监听或仅监听命令之前、必须清除阈值 CRC 误差。