STM32自己从零开始实操08:STM32主控原理图

由于老师使用的各引脚分门别类的单片机原理图我没有找到,我使用是引脚按顺序摆放的,不方便一个模块一个模块截图展示,所以这部分使用老师的原理图。

一、电源

1.1电源的介绍

1.1.1数字电源和地(VDD和VSS)

数字电源引脚提供电压给所有的数字电路部分。这些数字电路包括:

  • 处理器核心: 执行指令、处理数据。
  • 存储器: 包括 Flash 和 SRAM,用于存储程序和数据。
  • 数字外设: 包括 GPIO、UART、SPI、I2C、TIMERS 等,用于各种数字通信和控制。
  • 内部振荡器: 产生时钟信号以驱动处理器和其他外设。

数字地引脚提供了所有数字电路部分的接地参考点,有:

  • 所有通过 VDD 供电的电流最终都会返回 VSS,以形成一个完整的电流回路。
  • 在 PCB 设计中,所有的 VSS 引脚通常都连接到一个共同的地平面,以减少电噪声和干扰。

1.1.2模拟电源和地(VDDA和VSSA)

模拟电源引脚提供电压给所有的模拟电路部分。主要包括:

  • ADC(模数转换器): 将模拟信号转换为数字信号。
  • DAC(数模转换器): 将数字信号转换为模拟信号。
  • 内部参考电压源: 提供一个稳定的参考电压给 ADC 和 DAC ,确保转换精度。

模拟地引脚提供了所有模拟电路部分的接地参考点,有:

  • 与 VSS 相同,所有通过 VDDA 供电的电流最终都会返回 VSSA,以形成一个完整的电流回路。

1.1.3两电源的区别与联系

数字电路通常会产生高频开关噪声,这些噪声如果直接干扰到模拟电路,会导致模拟信号的不稳定和精度下降。因此,使用独立的模拟电源和接地可以减少这种干扰。

模拟电路需要一个非常干净、稳定的电源,以确保精确的信号处理,因此 VDDA 通常通过额外的滤波电路进行去耦。

为了减少数字电路产生的高频噪声对模拟电路的干扰,VSSA 和 VSS 通常在 PCB 设计中被单独处理,只有在一个单点连接,通常是靠近电源入口的地方。

1.2滤波介绍

将 3.3V 的电源引入供单片机使用。

(1)120R 磁珠

  • 作用: 磁珠是一种高频阻抗元件,串联在电源线上,阻止高频噪声沿电源线传播。
  • 原理: 磁珠在直流和低频交流信号下表现为低阻抗,但在高频下表现为高阻抗,从而滤除高频噪声。
  • 选择: 120Ω 的磁珠通常用于中等频率范围的噪声抑制。它在高频范围内提供足够的阻抗来衰减噪声。

(2)10µF 电容

  • 作用: 10µF 电容用于低频滤波,平滑直流电压,消除较低频率的电源波动。
  • 原理: 较大电容值在低频下有较小的阻抗,可以有效地平滑直流电压和滤除低频噪声。
  • 位置: 10µF 电容通常放置在电源入口处,以平滑整个电源网络的电压。

(3)0.1µF 电容

  • 作用: 0.1µF 电容用于高频滤波,抑制高频噪声和尖峰干扰。
  • 原理: 较小电容值在高频下有较小的阻抗,可以有效地滤除高频噪声和尖峰干扰。
  • 位置: 0.1µF 电容通常放置在每个 VDD/VDDA 引脚附近,尽量靠近 IC,以提供最有效的高频噪声滤波。 

(4)10nF 电容

  • 补充滤波频段: 与其他滤波电容(10µF、0.1µF)结合使用,可以覆盖更宽的频率范围,为模拟电源提供全频段的电源噪声抑制(上面也说了模拟电源需要非常的纯净)。

1.3电路图

1.4陈氏理解(可能只有我自己能看懂)

数字信号(数字电源供电)比如信号线上的差分信号,1 就是 1 , 0 就是 0 ,差别还是挺大的,不容易混淆,但是变化快,存在对其他形式信号的干扰(此处就是指模拟信号),所以将数字信号和模拟信号区分开了。

再其次,模拟信号不像数字信号那样 1 就是 1 ,0 就是 0 ,它的值是多少会换算成相应的二进制数字,所以更要准确,滤波也更严格。

二、复位

2.1工作过程

  1. 正常工作状态: 当复位按钮未按下时,上拉电阻将 RST 引脚维持在高电平。此时,微控制器处于正常工作状态。
  2. 按下复位按钮: 当按下复位按钮时,RST 引脚被直接拉低到地。这触发了微控制器的复位过程。
  3. 释放复位按钮: 当释放复位按钮时,RST 引脚通过上拉电阻恢复到高电平。需要去耦电容帮助滤除任何在恢复过程中的瞬态噪声(也有按下过程的去耦),确保 RST 引脚稳定地返回高电平,从而使微控制器从复位状态中正常启动。

2.2特殊情况

  • 外部干扰: 在有较强电磁干扰的环境中,复位引脚可能会受到干扰,导致误复位。适当的滤波电路(如更大的电容或更低的上拉电阻)可以进一步增强抗干扰能力。
  • 复位时间: 去耦电容的值决定了复位信号的时间常数。较大的电容会导致较长的复位时间,但可以更好地滤除低频噪声。需要根据实际应用进行选择。

2.3我有一个愚蠢的问题

问:为什么上拉到的电源是数字电源 VDD 而不是模拟电源 VDDA ?

答:

1. 电源稳定性

VDD 稳定性: VDD 是数字电源,通常由稳压器直接供电,电压相对稳定,且开机时能快速达到稳定值。复位电路需要一个稳定的电压源来保证复位信号的可靠性。

VDDA 依赖 VDD: VDDA 是模拟电源,虽然也很稳定,但它通常依赖于 VDD 的供电,在一些设计中,VDDA 可能会经过滤波和调节以满足模拟电路的需求,启动速度和稳定性可能稍微慢于 VDD。

2. 复位电路对数字电路的作用

复位电路主要针对数字电路: 复位信号主要用于重置 STM32 内部的数字电路(包括 CPU 和外设)。数字电路的工作电压是 VDD,因此复位引脚上拉到 VDD 更为合适。

3. 电源电流负载考虑

VDD 电流能力强: VDD 电源的电流供应能力通常大于 VDDA,因为它要供电给整个数字部分,包括处理器、内存和外设等。上拉电阻的电流负载对 VDD 的影响微乎其微。

VDDA负载要求高: VDDA 电源主要供电给模拟部分(如 ADC、DAC 等),这些电路对电源的纹波和噪声要求更高。将上拉电阻连接到 VDDA 可能会引入不必要的负载和噪声,影响模拟电路的性能。

2.4电路图

三、BOOT 启动

3.1介绍

BOOT 引脚( BOOT0 和 BOOT1 )用于选择微控制器的启动模式。通过不同的引脚电平组合,可以选择不同的启动模式,如下图所示:

3.2电路

将单片机的 BOOT0 和 BOOT1 引脚引出,通过 2×3 的公排针,可以通过跳线帽向上选择VDD_MCU (1),向下选择 GND (0),来配置单片机的启动模式。老师选择的启动方式为:从内置 SRAM 启动,如下图。

四、晶体电路

4.1 为什么STM32需要两个晶振电路?

STM32微控制器通常使用两个晶振电路是为了满足不同的时钟需求:

  • 主晶振电路(8MHz): 用于提供主系统时钟(HSE, High-Speed External Clock)。这个时钟源通常用于微控制器的核心处理单元、高速外设(如USB、CAN等),以及需要高精度、高速时钟的功能。
  • 副晶振电路(32.768kHz): 用于提供低功耗时钟(LSE, Low-Speed External Clock)。这个时钟源通常用于实时时钟(RTC, Real-Time Clock)和低功耗模式下的计时功能。32.768kHz的频率正好适合计时,因为它可以方便地用于生成1秒的时钟周期(32,768是2的15次方,适合二进制计数)。

4.2 为什么这两个晶振电路的频率是那样?

选择不同频率和规格的晶振主要基于以下原因:

  • 8MHz晶振(主晶振):

    • 频率选择: 8MHz是一个常用的高频率,能够满足STM32核心和高速外设的时钟需求。
    • 负载电容(22pF): 确保晶振在该频率下的稳定性和可靠性。22pF是常见的负载电容值,用于匹配晶振的负载要求。
  • 32.768kHz晶振(副晶振):

    • 频率选择: 32.768kHz是标准的RTC晶振频率,适用于低功耗时钟应用。
    • 负载电容(10pF): 这种低值电容适合低频率晶振,确保其在低频下的稳定振荡。

4.3 晶振电路是怎么运作的?(更容易理解4.4和4.5的问题)

(1)晶振起振

  • 当电源接通时,晶振开始产生微弱的振荡信号。
  • 该信号通过OSC_IN引脚进入STM32内部振荡器电路。

(2)负载电容调节

  • C1和C2电容与晶振一起工作,确保晶振以其标称频率振荡。
  • 负载电容值通常选取在10pF到22pF范围内,但实际值应根据晶振的规格书和电路板的寄生电容进行调整。

(3)信号放大

  • STM32内部的振荡器电路对输入的微弱振荡信号进行放大,生成一个稳定的时钟信号。
  • 这个稳定的时钟信号通过OSC_OUT引脚输出,并作为系统时钟供STM32使用。

(4)信号反馈

  • 振荡器电路将放大的振荡信号通过OSC_OUT引脚反馈回晶振电路,继续维持晶振的振荡。
  • 这个反馈环路确保晶振能够持续产生稳定的振荡信号。

(现在你就清楚了晶振电路中存在的一个回路了。)

4.4 为什么主晶振电路OSC有大电阻?有什么作用吗?

主晶振电路中包含一个1MΩ的大电阻(通常连接在OSC_IN和OSC_OUT之间),其主要作用如下:

  • 防止启动困难: 大电阻提供了一个初始反馈路径,有助于晶振在上电时快速启动,避免由于初始状态不稳定导致的启动困难。
  • 稳定振荡: 大电阻能够稳定振荡器的启动过程,确保振荡器能够在启动后快速进入稳定状态。

(说的通俗一点就是快一点形成4.3中说的电流回路。)

4.5 为什么副晶振电路OSC32没有大电阻?

副晶振电路通常不需要大电阻的原因包括:

  • 频率和功率低: 32.768kHz的晶振工作在非常低的频率和功率下,启动相对容易,不需要额外的电阻来帮助启动。
  • 低功耗设计: 副晶振电路通常用于RTC和低功耗应用,添加大电阻会增加功耗,不符合低功耗设计的要求。

4.6电路图

五、RTC 实时时钟

5.1 VBAT 引脚的功能

VBAT 引脚用于为 RTC 和备份寄存器供电,以便在主电源断开时,RTC 仍能继续运行。

5.2设计原理

  1. 主电源供电(VDD_MCU): 当主电源(VDD_MCU)供电时,BAT54-C 二极管正向偏置,VBAT 引脚通过二极管获得 VDD_MCU 的电压,RTC 和备份寄存器正常工作。
  2. 备用电源供电: 当主电源断开时,BAT54-C 二极管防止电流反向流动,RTC 和备份寄存器可以通过 ZH1.25-2A 连接器从备用电源(如纽扣电池)继续供电,确保 RTC 的时间和备份数据不会丢失。

5.3原理图

5.3.1BAT54-C二极管的作用

  1. 保证供电: 当主电源存在时,二极管正向偏置,保证 VBAT 引脚获得稳定的电压供电;当主电源断开时,二极管反向偏置,备用电源立即接替供电,保证 RTC 持续运行。
  2. 防止反向电流: 确保在主电源断开时,备用电源电流不会流回到主电源电路,避免不必要的电能消耗和可能的电路损坏。同时也保证在主电源正常供电时,芯片的电流不会回流到备用电池中,造成损害。

5.3.2 ZH1.25-2A连接器的作用

  1. 备用电源接口: 提供一个连接备用电源的接口,可以方便地连接和更换电池或其他备用电源。
  2. 确保供电路径: 通过 ZH1.25-2A 连接器,备用电源可以可靠地提供电压给 VBAT 引脚,确保RTC的供电不中断。

六、Flash 芯片

6.1芯片功能

在 STM32 微控制器中,外部 Flash 存储器(如本项目使用的 W25Q64JVSSIQ)通常用于存储固件、数据日志或其他需要非易失性存储的应用。

6.1引脚介绍和电路设计理念

1. CS# (Chip Select):
  • 设计: CS# 引脚通过 PA15 引脚控制。低电平激活芯片,高电平关闭芯片。
  • 原理: 当 CS# 为低电平时,Flash 芯片被选中,STM32 可以与其通信;当 CS# 为高电平时,Flash 芯片处于非活动状态,由于多个 SPI 设备可以共享同一条 SPI 总线,此时其他设备可以进行通信。
2. SO (Serial Output):
  • 设计: SO 引脚通过 PB4 引脚(MISO,Master In Slave Out)连接到 STM32。
  • 原理: 用于在 SPI 通信中将数据从 Flash 芯片发送到 STM32。
3. WP# (Write Protect):
  • 设计: WP# 引脚直接连接到 3.3V 电源。
  • 原理: 将 WP# 连接到高电平(3.3V)禁用写保护功能,使能写操作。
4. GND (Ground):
  • 设计: GND 引脚连接到地。
  • 原理: 提供芯片的电源回路。
5. SI (Serial Input):
  • 设计: SI 引脚通过 PB5 引脚(MOSI,Master Out Slave In)连接到 STM32。
  • 原理: 用于在 SPI 通信中将数据从 STM32 发送到 Flash 芯片。
6. CLK (Clock):
  • 设计: CLK 引脚通过 PB3 引脚连接到 STM32。
  • 原理: 提供 SPI 通信的时钟信号,由 STM32 生成并控制。
7. HOLD3#:
  • 设计: HOLD3# 引脚连接到 3.3V 电源。
  • 原理: 将 HOLD3# 连接到高电平(3.3V)禁用暂停功能,使 Flash 芯片正常工作。
8. VCC (Power Supply):
  • 设计: VCC 引脚连接 3.3V 电源。
  • 原理: 为 Flash 芯片提供工作电压。
9、电源滤波电路
  • 设计: 3.3V 电源通过 0.1uF 电容连接到地。
  • 原理: 去耦电容用于滤除电源线上的高频噪声,稳定供电,确保 Flash 芯片正常工作。

6.2电路运行

  1. 上电: 3.3V 电源为 Flash 芯片提供电源,电容滤除电源噪声。
  2. SPI 通信: STM32 通过 SPI 接口(PA15, PB3, PB4, PB5引脚)与 Flash 芯片通信:
    • PA15 控制 CS#,选择芯片。
    • PB3 提供时钟信号(CLK)。
    • PB5 发送数据到 Flash 芯片(MOSI)。
    • PB4 接收 Flash 芯片的数据(MISO)。
  3. 写保护: WP#(就是下图中的 IO2) 连接到高电平,确保写操作不被禁用,方便数据写入。
  4. 暂停功能: HOLD3# (就是下图中的 IO3)连接到高电平,禁用暂停功能,确保正常操作。

6.3其他设计方法

  1. 硬件写保护: 如果需要硬件写保护功能,可以将 WP# 引脚连接到 STM32 的一个 GPIO 引脚,通过软件控制写保护状态。
  2. 使用较大电容: 在电源滤波电路中,可以根据实际情况使用更大容量的电容(如 1uF 或10uF )进一步平滑电源电压。
  3. 增加缓冲电路: 在噪声较大的环境中,可以在 SPI 信号线上增加缓冲电路,提高通信可靠性。(具体方法:使用缓冲芯片、串联电阻、电容滤波、使用屏蔽电缆。)

七、SWD 调试接口

SWD(Serial Wire Debug)是一种调试和编程接口,广泛应用于 ARM Cortex-M 系列微控制器。它通过两条数据线(SWDIO 和 SWCLK)实现高效的调试和编程,其功能如下:

  • 调试和编程: SWD 接口是用于调试和编程微控制器的标准接口。通过它可以进行固件下载、调试、断点设置、变量查看等操作。
  • 简化连接: 通过标准化的引脚和接口,可以方便地连接调试器,简化调试和编程过程。
  • 可靠通信: 通过上拉和下拉电阻,确保信号线在空闲状态下处于稳定的电平,避免噪声干扰。

在本项目中这部分电路包括三部分:

  1. HDR-M-2.54 1x5
  2. XYXH2.54-5A11
  3. 简牛 2.54mm 2x10 直

这三部分都提供了 SWD 接口,但形式和连接方式略有不同。

7.1 HDR-M-2.54 1x5

7.1.1电路图

7.1.2功能和原理

  • VCC 和 GND: 提供电源和地线,确保调试器和 STM32 有共同的电源参考。
  • NRST : 用于外部复位 STM32。调试器可以控制 NRST 引脚复位 STM32
  • SWDIO(Serial Wire Debug Input/Output): 双向数据线,用于传输调试和编程数据。
  • SWCLK(Serial Wire Clock): 时钟信号,由调试器生成,为 SWD 通信提供时序参考。

7.2 XYXH2.54-5A11

7.2.1电路图

7.2.2功能和原理

此部分与 HDR-M-2.54 1x5 功能相同,只是引脚和连接形式有所不同。

7.3上下拉电阻

至于为什么前者有上下拉电阻,而后者没有,解释如下:

(1)选择上拉和下拉电阻的考虑因素

  1. 环境噪声: 如果系统工作在高噪声环境中,建议加入上拉和下拉电阻。
  2. 引脚稳定性: 需要确保引脚在调试器未连接或未启用时保持稳定状态。
  3. 调试器特性: 有些调试器内部已经集成了上拉和下拉电阻,可以省略外部电阻。

(2)为什么HDR-M-2.54 1x5 有上拉和下拉电阻?

  • 适用性: HDR-M-2.54 1x5 设计中加入上拉和下拉电阻,确保在调试器未连接或未启用时,引脚状态稳定。
  • 提高可靠性: 通过上拉和下拉电阻,避免在未连接调试器或调试器未驱动时,因噪声导致的误动作,提高系统的可靠性。

       具体连接

  • SWDIO(上拉): 10kΩ电阻上拉到3.3V,确保在未连接调试器时,SWDIO引脚保持高电平,避免悬空状态。
  • SWCLK(下拉): 10kΩ电阻下拉到地,确保在未连接调试器时,SWCLK引脚保持低电平,避免悬空状态。

(3)为什么XYXH2.54-5A11 没有上拉和下拉电阻?

  • 设计简化: XYXH2.54-5A11 是为了设计简化,省略了上拉和下拉电阻,以便更灵活地使用不同的调试器。
  • 依赖外部电路: 在一些设计中,可能依赖于调试器或开发板上的上拉和下拉电阻,而不在接口电路中直接配置。
  • 环境不同: 在一些应用环境中,可能认为外部干扰较小,上拉和下拉电阻的需求不强,因此省略。

7.4 简牛 2.54mm 2x10 直

这里不得不提到调试有两种调试的模式了JTAG 模式和 SWD 模式,前者接口多,更适合复杂的硬件设计,后者信号线少,适合有限的嵌入式系统。这里保留了 JTAG 的接口(方便后续改进)但是只使用了 SWD 模式。

7.4.1电路图

7.4.2功能和原理

同上。

7.4.3拓展

此部分提供了一个标准的 JTAG 接口形式,但只使用了 SWD 所需的引脚,其余未使用的引脚被标记为无连接或被叉掉。

(1)被叉掉的引脚
  1. TRST(引脚3):

    • 功能: JTAG 复位信号,用于复位 JTAG 调试逻辑。
    • 为什么叉掉: 在 SWD 模式下,TRST 引脚不使用,因为 SWD 模式不需要单独的 JTAG复位信号。
  2. TDI(引脚5):

    • 功能: JTAG 测试数据输入,用于输入测试数据。
    • 为什么叉掉: 在 SWD 模式下,TDI 引脚不使用,因为 SWD 模式不需要单独的数据输入引脚。
  3. TDO/SWO(引脚13):

    • 功能:
      • TDO(Test Data Out): JTAG 测试数据输出,用于输出测试数据。
      • SWO(Serial Wire Output): 在 SWD 模式下,作为串行输出,用于调试信息输出。
    • 为什么叉掉: 在一些简化设计中,SWO 引脚未使用或未连接。
  4. NC(引脚9, 11, 15, 17):

    • 功能: 无连接(Not Connected),没有分配特定功能。
    • 为什么叉掉: 这些引脚在特定设计中未被使用。
(2)复用引脚的解释

复用引脚(TMS/SWDIO, TCK/SWCLK)具有双重功能,支持 JTAG 和 SWD 两种调试协议。具体功能如下:

  1. TMS/SWDIO(引脚7):

    • TMS(Test Mode Select): 在 JTAG 模式下,用于选择测试模式。
    • SWDIO(Serial Wire Debug Input/Output): 在 SWD 模式下,作为双向数据线,传输调试和编程数据。
  2. TCK/SWCLK(引脚9):

    • TCK(Test Clock): 在 JTAG 模式下,用于提供测试时钟信号。
    • SWCLK(Serial Wire Clock): 在 SWD 模式下,用于提供串行时钟信号。
(3)复用功能的使用

在实际使用中,调试器和微控制器会根据配置选择合适的调试协议和引脚功能。例如:

  • 当选择 SWD 模式时,TMS/SWDIO 引脚配置为 SWDIO,TCK/SWCLK 引脚配置为SWCLK。
  • 当选择 JTAG 模式时,TMS/SWDIO 引脚配置为TMS,TCK/SWCLK 引脚配置为 TCK,且可能使用 TDI 和 TDO 引脚。
(4)其他硬件设计方案

除了上述设计方案,还有其他设计可以考虑:

  1. 仅 SWD 接口: 如果只需要 SWD 调试功能,可以仅保留 SWDIO 和 SWCLK 引脚,省去不必要的 JTAG 引脚。
  2. 多功能接口: 设计一个多功能调试接口,可以同时支持 JTAG 和 SWD,并根据需要切换使用。
  3. 板载调试器: 设计一个板载调试器,如 ST-LINK,直接集成到开发板上,提供更方便的调试和编程接口。
(5)其他调试模式

除了SWD和JTAG模式,还有其他一些调试和编程模式:ISP、UART、I2C、SPI 等。

八、STM32

本部分我实在是不知道怎么记成系统的、有条理的笔记,故只能分成以下两个部分:

  1. 原理图总览
  2. 我问我答

8.1原理图总览

之前一直都在看原理图的各个部分,忽略了其中一张名为“原理图总览”的图,现在进行到 STM32 主控部分原理图才发现,这张图的重要性,经过详细的标注,大作下图所示。

8.2我问我答

其实这部分的问题大多都是 STM32 上通信协议的问题。

8.2.1两个跳线帽

WIFI_TXD、WIFI_RXD 和 GPRS_TXD、GPRS_RXD 和  USB_TXD、USB_RXD 和 HMI_TXD、HMI_RXD 这些信号线是用 UART (通用异步收发传输器)通信的。

UART(通用异步收发传输器)是一种通信方式,它定义了数据传输的基本技术(比如波特率、数据位、停止位和校验位)。但是,UART 本身并不规定数据的内容和格式。这就引出了不同的通信协议,即使它们都使用 UART 作为底层传输机制。

故上面的信号线根据具体的设备和应用,它们可能采用不同的通信协议。在电路设计中,要确保这些引脚连接到适当的 MCU 接口,并根据需要配置通信方式。

本项目采用跳线帽通信的地方,应该采用了相同的通信协议,只有波特率不一样。

注意跳线帽的连接特点:只能选择其中一条信号线联通,另一条就是断开的。

(1)H10 

WIFI_TXD、WIFI_RXD 和 GPRS_TXD、GPRS_RXD 都是采用 UART 通信方式,且两者作为无线通讯的两种方式,在单片机运行过程中只需要选择其中一种,故采用跳线帽的方式选择谁接到单片机的引脚上。

(2)H11

USB_TXD、USB_RXD 和 HMI_TXD、HMI_RXD 都是采用 UART 通信方式,故采用跳线帽的方式选择谁接到单片机的引脚上。

注意:即使选择了 HMI 智能串口屏连接到单片机上,连接上的 USB 虽不能通信,但是供电的那一条线路仍在,即只断了通信线而已。

8.2.2 共用单片机引脚

这里是共用单片机引脚,复用单片机引脚另有定义。

复用单片机是由单片机内部串口通过控制内部“开关”通断来决定的。

共用单片机引脚和跳线帽是不一样的,跳线帽是在两条线路中只能选择其中一条进行联通,但是单片机的处理、选择速率极快,可以实现在肉眼看来的“都联通”。

(1)IIS 接口 和 TFT 触摸屏

IIS 接口、TFT 触摸屏均有属于自己的 ID ,当软件程序中出现自己 ID ,才需要执行相关指令,不是自己的 ID 就直接抛开。

(2)显示屏和无刷电机

IIS 接口、TFT 触摸屏均有属于自己的 ID ,当软件程序中出现自己 ID ,才需要执行相关指令,不是自己的 ID 就直接抛开。

(3)OLED 屏和旋转编码器

TFT 显示屏、无刷电机均有属于自己的 ID ,当软件程序中出现自己 ID ,才需要执行相关指令,不是自己的 ID 就直接抛开。

8.2.3两个 USB

就是为了使用两种不同的头都可以接入到板子中。

注意:单片机只有一个 USB 的接口。USB1.0 是将 TTL(USB 信号)转换成串口(USB_TXD,USB_RXD)连接到单片机上。

8.2.4两个 SPI 

本项目中有两处均使用 SPI 通信协议,为了区别才在总览图中标注为 SPI1 ,SPI2。

8.2.5 MCU_X(X=1,2,3)

这是 MCU 中存在串口通信的地方的标注,一共有 3 处(两个跳线帽和一处 485),其他的通信协议不可以用这个标注出来。

8.2.6 FSMC

FSMC(Flexible Static Memory Controller)是 STM32 微控制器中用于与外部存储器和外部设备通信的控制器。通过 FSMC,外部设备可以像内部存储器一样被访问,从而简化了数据传输过程和硬件设计。

将 LCD 显示屏信号名称改为 FSMC 信号是为了与 FSMC 控制器的标准信号名称相匹配。这不仅使硬件设计更加规范化,还可以确保软件配置和硬件接口的一致性,从而简化调试和维护。

FSMC 是一个灵活的静态存储控制器,可以简化 STM32 微控制器与外部设备(如 LCD 模块)的接口设计。将 LCD 的信号名称改为 FSMC 信号名称,是为了确保与 FSMC 控制器的标准信号一致,从而简化硬件设计和软件配置。

8.2.9智能串口屏

此处在原理图中有插座和排针都是一样的作用,如果有和插座匹配的接头,就使用插头,没有就使用连接更为通用的排针,两者地位并列,并非谁辅助谁。

九、怎么就物联网了?

项目进行到这里,我对每一个部分的每一个电路设计还算了解,但是总体大功能一知半解,经过调研和对软件部分的初步了解,用通话的话总结如下:

9.1无线部分的作用

9.1.1WIFI

ESP 器件上如下图中的铜皮就是接收和发射无线信号的。

举例实现的功能1:在手机页面(需要软件工程师写界面)上点击电机的转速如达到 2000 ,相应的信号发送给阿里云,阿里云将无线信号发送给 ESP 器件, ESP 器件接受后发送给 STM32 单片机,单片机实现转速达到 2000 的动作。

举例实现的功能2:当温湿度传感器接收到温度信号时,发送给 STM32 ,单片机接收到后经过处理等操作发送给 ESP 能识别的信号,ESP 再发送到阿里云,阿里云发送给手机,显示在手机的界面上当时的温度的信息。

9.1.2 GPRS

只要是用于向卫星发送板子所处的经纬度位置信息,可以理解成手机中的定位功能。

后续可以用来查看板子出售的地方分布、召回物品、新建地图等。

9.2其他部分

除了无线之外,本项目展示在用户眼前的部分应该就是电机和屏幕,其他部分的电机可以作为电机和屏幕的辅助。如按键辅助电机,如下图:

注:软件部分的课程我没有学习,我也不知道最后是怎么用硬件具体实现各个功能,我是经过我的调研形成一些文字笔记,如果后面我学习了,再来继续分享。

  • 20
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值