STM32开发板原理图分析(部分4)
通过 MAX3485 芯片实现 TTL 电平与 RS485 差分信号的转换,用于工业级远距离、抗干扰通信。引脚控制,用于掉电后仍能保存的小容量数据存储(如配置参数、运行计数等)。的 M24C02 非易失性存储电路,由 STM32 的。驱动电路,通过三极管放大驱动,实现不同频率的蜂鸣效果。这是一个由 STM32 的 USART2 外设控制的。
开发板原理图如下

无源蜂鸣器部分

🔊 无源蜂鸣器驱动电路解析
这是一个由 STM32 PB3 引脚 控制的无源蜂鸣器驱动电路,通过三极管放大驱动,实现不同频率的蜂鸣效果。
🔌 各器件作用
-
无源蜂鸣器 (BUZZER1)
- 这是一个额定频率为 2.7kHz 的无源蜂鸣器,它本身不具备振荡源,需要外部提供一定频率的脉冲信号才能发声。
- 引脚 1 接 +5V 电源,引脚 2 接三极管集电极。
-
NPN 三极管 (Q2, SS8050)
- 作为开关 / 放大器件,用于放大来自 MCU 的控制信号,驱动蜂鸣器。
- 基极 (B):接收来自 MCU 的控制信号。
- 集电极 (C):连接蜂鸣器。
- 发射极 (E):接地。
-
限流电阻 (R8, 1kΩ)
- 串联在 MCU 引脚与三极管基极之间,限制基极电流,防止三极管因过流损坏。
-
下拉电阻 (R9, 10kΩ)
- 连接在三极管基极与地之间,确保在 MCU 引脚未输出高电平时,三极管基极处于低电平,可靠关断,避免蜂鸣器误触发。
-
续流二极管 (D1, 1N4148W)
- 与蜂鸣器反向并联。当三极管关断时,蜂鸣器作为感性元件会产生反向电动势,二极管为其提供泄放回路,保护三极管不被击穿。
-
去耦电容 (C6, 100nF)
- 并联在 +5V 电源与地之间,用于滤除电源线上的高频噪声,保证电路工作稳定。
-
控制引脚 (PB3)
- STM32 的 PB3 引脚通过排针 H11 连接到驱动电路,输出一定频率的 PWM 信号来控制蜂鸣器发声。
🔄 工作流程
- 待机状态:当 PB3 输出低电平时,三极管 Q2 基极无电流,处于关断状态,蜂鸣器两端无电压差,不发声。
- 驱动发声:当 PB3 输出高电平时,三极管 Q2 导通,蜂鸣器两端获得 +5V 电压。
- 产生音调:通过让 PB3 输出特定频率(如 2.7kHz)的高低电平脉冲(PWM 信号),使三极管不断导通和关断,蜂鸣器内部的压电片随之振动,从而发出对应频率的声音。
- 保护机制:当三极管由导通变为关断瞬间,蜂鸣器的感性特性会产生高压,二极管 D1 导通,将此高压泄放,保护电路安全。
💡 关键要点
- 无源 vs 有源:有源蜂鸣器只要通直流电就会响,而无源蜂鸣器需要一定频率的交流信号驱动,因此可以通过改变 PWM 频率来播放不同音调的音乐。
- 频率匹配:为了获得最佳发声效果,驱动频率应尽量接近蜂鸣器的额定频率 2.7kHz。
- 驱动方式:通常使用定时器输出 PWM 来驱动,这样可以精确控制频率和占空比,实现丰富的音效。
M24C02部分

📀 M24C02 EEPROM 存储电路解析
该电路是基于 I2C 通信协议的 M24C02 非易失性存储电路,由 STM32 的 PB6 (SCL) 和 PB7 (SDA) 引脚控制,用于掉电后仍能保存的小容量数据存储(如配置参数、运行计数等)。
🔌 各器件核心作用
-
M24C02-WMN6TP (U7) 存储芯片
- 核心功能:256 字节(2K bit)的 I2C 接口 EEPROM,非易失性存储,掉电后数据不丢失。
- 引脚功能:
- E0/E1/E2 (1/2/3 脚):I2C 从机地址配置脚,图中均接地,确定芯片在 I2C 总线上的地址为
0xA0(二进制1010000)。 - VSS (4 脚):电源地,接系统地。
- SDA (5 脚):I2C 数据引脚,双向传输数据。
- SCL (6 脚):I2C 时钟引脚,接收主控端(STM32)的时钟信号。
- VCC (8 脚):电源正极,接 3.3V 供电。
- WC# (7 脚):写保护引脚,图中接 3.3V(高电平),此时芯片仅可读、不可写;若接地,可同时读写。
- E0/E1/E2 (1/2/3 脚):I2C 从机地址配置脚,图中均接地,确定芯片在 I2C 总线上的地址为
-
上拉电阻(R14、R15,4.7kΩ)
- I2C 总线的 SDA、SCL 引脚为开漏输出特性,本身无法输出高电平。
- 作用:将引脚拉至 3.3V,保证总线在空闲时为高电平,实现可靠的双向通信,避免信号失真。
-
去耦电容(C7,100nF)
- 并联在 M24C02 的 VCC 与 GND 之间。
- 作用:滤除电源中的高频噪声,稳定芯片供电电压,防止电压波动导致数据读写错误。
-
I2C 接口排针(H14、H15)
- H14 对应 PB6 (SCL),H15 对应 PB7 (SDA)。
- 作用:一方面连接 STM32 引脚,另一方面可外接其他 I2C 设备(需注意地址冲突),或引出用于调试。
-
控制引脚(PB6、PB7)
- STM32 的两个通用引脚,配置为 I2C 功能(或软件模拟 I2C),分别作为时钟线和数据线,与 M24C02 进行数据交互。
🔄 工作流程(以 “读数据” 为例,写流程逻辑一致)
- 总线初始化:STM32 配置 PB6、PB7 为 I2C 模式(或推挽输出模拟 I2C),上拉电阻使 SDA、SCL 空闲时保持高电平。
- 启动通信:STM32 发送 I2C 启动信号(SCL 高电平时,SDA 由高变低),宣告总线占用。
- 发送地址:STM32 发送 M24C02 的从机地址 + 读位(
0xA1),M24C02 匹配地址后,向 STM32 发送 “应答信号”(SDA 拉低)。 - 数据传输:M24C02 按时钟节拍,将指定存储地址的字节数据通过 SDA 引脚发送给 STM32,STM32 接收后发送 “应答”(连续读)或 “非应答”(单次读结束)。
- 停止通信:STM32 发送 I2C 停止信号(SCL 高电平时,SDA 由低变高),释放总线,通信结束。
💡 关键注意事项
- 写保护状态:图中 WC# 接 3.3V,此时芯片处于写保护状态,调试时若需写入数据,需将 WC# 引脚接地,或通过跳线切换电平。
- 通信方式:STM32 可通过硬件 I2C(效率高)或软件模拟 I2C(引脚灵活)驱动,两种方式均兼容该电路。
- 地址冲突:若总线上外接其他 I2C 设备,需确保其从机地址与 M24C02(
0xA0)不重复,或通过修改 E0/E1/E2 引脚电平调整 M24C02 地址。
USART转RS485部分

USART 转 RS485 电路解析
这是一个由 STM32 的 USART2 外设控制的 RS485 半双工通信电路,通过 MAX3485 芯片实现 TTL 电平与 RS485 差分信号的转换,用于工业级远距离、抗干扰通信。
🔌 各器件核心作用
-
MAX3485ESA-TD (U9) 收发器芯片
- 核心功能:实现 TTL 电平(STM32)与 RS485 差分信号(总线)之间的转换,支持半双工通信。
- 引脚功能:
- DI (Pin4):数据输入,连接 STM32 的 USART2_TX (PA2),接收 MCU 发送的数据。
- RO (Pin1):数据输出,连接 STM32 的 USART2_RX (PA3),向 MCU 发送从总线接收的数据。
- DE (Pin3):发送使能,高电平有效,控制芯片进入发送模式。
- RE# (Pin2):接收使能,低电平有效,控制芯片进入接收模式。
- A (Pin6):RS485 总线正端。
- B (Pin7):RS485 总线负端。
- VCC (Pin8):3.3V 电源输入。
- GND (Pin5):电源地。
-
上拉 / 下拉电阻(R17、R18、R19、R20,4.7kΩ)
- R17:RO 上拉电阻,确保空闲时 RX 为高电平。
- R18:DI 上拉电阻,确保空闲时 TX 为高电平。
- R19:B 端上拉电阻,配合 R20 稳定总线空闲电平。
- R20:A 端下拉电阻,配合 R19 稳定总线空闲电平,防止干扰。
-
终端匹配电阻(R21,120Ω)
- 并联在 RS485 总线 A、B 两端,用于匹配传输线特性阻抗,减少信号反射,保证远距离通信的信号完整性。
-
去耦电容(C12,100nF)
- 并联在 MAX3485 的 VCC 与 GND 之间,滤除电源噪声,稳定芯片供电。
-
控制与通信引脚
- PA2 (USART2_TX):STM32 发送数据引脚,连接 MAX3485 的 DI。
- PA3 (USART2_RX):STM32 接收数据引脚,连接 MAX3485 的 RO。
- PA4 (USART2_EN):STM32 控制引脚,连接 MAX3485 的 DE 和 RE#,用于切换收发模式。
-
接口排针(H18、H19、H20、CN1)
- H18/H19/H20:连接 STM32 引脚,方便调试或扩展。
- CN1:RS485 总线接口,用于连接外部 RS485 设备。
🔄 工作流程
-
模式切换:
- 发送模式:PA4 输出高电平 → DE=1, RE#=1 → 芯片使能发送,禁止接收。STM32 通过 USART2_TX 发送数据,经 MAX3485 转换为 RS485 差分信号(A、B)输出到总线。
- 接收模式:PA4 输出低电平 → DE=0, RE#=0 → 芯片使能接收,禁止发送。MAX3485 将总线上的差分信号转换为 TTL 电平,通过 RO 引脚发送给 STM32 的 USART2_RX。
-
数据传输:
- 发送:STM32 配置 USART2 波特率等参数,将数据写入发送寄存器,芯片自动发送至 MAX3485,再转换为 RS485 信号。
- 接收:RS485 总线上的信号经 MAX3485 转换后,通过 USART2_RX 进入 STM32,触发接收中断或 DMA 传输。
-
总线稳定:
- 空闲时,上拉 / 下拉电阻使 A 端电平高于 B 端,总线保持稳定,避免噪声干扰导致误码。
💡 关键注意事项
- 半双工限制:同一时刻只能进行发送或接收,不能双向同时通信,需严格控制 DE/RE# 引脚的电平切换时机。
- 终端电阻:在长距离通信(>10 米)或高速通信时,必须在总线两端各接一个 120Ω 终端电阻,否则信号反射会导致通信失败。
- 电平兼容:MAX3485 支持 3.3V 供电,与 STM32 的 3.3V 电平直接兼容,无需额外电平转换。
更多推荐



所有评论(0)