在审查我的定制STM32原理图设计时,建议采取哪些步骤?

在这篇由两部分组成的文章中,我们将介绍对自定义STM32原理图进行自我审查时关注的几个主要领域,并分享一些硬件调试技巧。
如果您还没有复习本文的第一部分,我们强烈建议您从这里开始。你可以找到第一部分
在这里
在进行STM32原理图审查时,总共需要考虑七个关键领域:
  1. 引出线/备用功能
  2. 权力
  3. 时钟
  4. 调试
  5. 靴子
  6. 重置
  7. 5V公差引脚
在第二部分中,我们将通过涵盖第五节到第七节来结束STM32自评系列,并在最后分享一些调试技巧。


5.靴子

在审查过程中,检查是否选择了正确的引导配置非常重要。我们将以STM32F746为例,该特定设备的引导模式表可在参考手册中找到。使用此表,我们可以看到BOOT0引脚的配置和在boot_ADD0或boot_ADD1中编程的引导基址将决定设备是从内部闪存引导还是从系统引导加载程序引导。如果选择从系统引导程序引导,则我们需要参考AN2606来查看支持的外围设备列表,这些外围设备可用于在从系统引导器引导时更新内部闪存。

每个STM32系列都是唯一的,可能对系统内存有不同的映射,因此最好仔细检查您是否为系统内存使用了正确的IO。需要考虑的另一点是,一些STM32设备可能具有BOOT1引脚和固定的引导地址。例如,STM32F103同时具有BOOT0和BOOT1引脚。这两个引脚的状态组合将决定STM32是从主闪存、系统内存还是嵌入式SRAM引导。根据经验,请始终参考您各自的STM32设备参考手册和相应的AN2606部分以了解更多详细信息。

6.复位

这是STM32内部复位电路的简化图,但较新的部件可能已经修改了该内部电路,因此请务必仔细检查STM32的数据表。
NRST引脚是双向引脚;这意味着您可以选择从外部源重置STM32,或者每当发生内部重置时,此引脚也可以生成结果脉冲输出。考虑到这一点,以下是需要考虑的几点:
  • 通常,不需要外部上拉电阻器,因为已经嵌入了内部上拉电阻器。有关电阻值,请参阅STM32数据表中的NRST引脚特性表。
  • 如果有任何复位引脚驱动,请确保以漏极开路的方式进行,而不是由于内部复位源而导致的推挽式驱动。一个常见的问题是,外部设备或重置控制器被配置为推挽式,这导致NRST无法被调试器或STM32断言
  • NRST引脚上的电容通常不应超过0.1 uF。过多的电容将阻止STM32内部产生的复位将线路拉低到足以复位部件的程度。

7.5V公差引脚

STM32s具有支持5V容差引脚的能力。由于每个设备都是唯一的,我们始终建议您仔细检查计划与任何外部5V逻辑接口的引脚上的5V耐受能力。
首先定位用于指示引脚5V容差的缩写。这些信息可以作为脚注出现在引脚定义表的数据表中,也可以单独出现在图例和缩写表中。在这里,我们看到FT代表5V容差。查看引脚定义表,有一个I/O级别列可以帮助我们确定引脚是否具有5V容差。

当STM32与外部组件和5V逻辑接口时,请记住考虑以下几点。
  • 注意STM32数据表中提供的绝对最大额定值表,特别是每个引脚和整个微控制器的最大电压和电流限制。
  • 将STM32上的GPIO配置为开漏,并在与外部5V逻辑接口时禁用内部上拉/下拉电阻器。

硬件调试技巧

  • 微控制器时钟输出(MCO)
    • 在调试时,将微控制器的时钟输出信号带到插头引脚有助于确定您选择的时钟频率。
    • 这也有助于确定何时实际进入低功率模式(时钟关闭)以及何时退出低功率模式。这可以帮助提供与振荡器启动相关的一些额外的定时相关信息。请注意,使用此方法在定时方面可能稍微更可靠,因为与运行代码切换引脚相比,此振荡器启动的时间稍早,但您可以考虑实现这两种方法。
  • 国家统计局
    • 将信号输出到插头引脚有助于判断设备是外部重置还是内部重置(请注意,这取决于将内部生成的重置信号输出到引脚的设备)
  • UART发送/接收
    • 为UART发出信号有助于提供调试或状态消息
  • 未使用的GPIO
    • 在易于访问的头引脚上有几个未使用的GPIO信号可以帮助调试某些问题,包括但不限于定时、代码中的位置和低功耗模式。
  • 电流测量值
    • 只能测量微控制器的电流,这就省去了确定是否是板上其他设备的STM32消耗电流的一些猜测工作。在添加或调试低功率模式时,有一个单独测量STM32电流的地方会有很大帮助。
    • 一些推荐的电流测量工具包括:
      • STM32电源屏蔽(X-NUCLEO-LPM01A)作为一个独立的
      • STM32电源屏蔽(X-NUCLEO-LPM01A)STM32管道电源 应用
      • 电流表
  • SWV(串行线查看器)
    • 大多数设备都支持SWV功能,在调试器中启用此功能可以在需要时提供额外的调试信息。
    • 这个主题将在我们的六个部分中进一步讨论和演示STM32CubeIDE高级调试功能系列
  • 嵌入式跟踪宏单元
    • 如果出现棘手的功能问题,将ETM信号输出到连接器的焊盘可能会很有用。可以填充此连接器,从而允许使用ETM跟踪设备,这将大大有助于减少调试所花费的时间。

    相关链接和文档:

    • AN4899(用于硬件设置和低功耗的STM32微控制器GPIO配置)
    • STSW-STM32103(STM32 SWV和ETM功能-示例和技术说明)