第2章 嵌入式系统基础:定义、架构与选型

各位同学,咱们今天聊聊嵌入式系统的基础。说实话,这章内容看起来有点「理论」,但你别急着跳过。我做了十几年继电保护开发,踩过的坑有一半都跟基础不牢有关。

2.1 嵌入式系统定义与特点

什么叫嵌入式系统?说白了,就是「藏在设备里的计算机」。它不像你桌上的PC,能装Windows打游戏。它专为特定任务而生——比如你家里的智能电表、变电站里的保护装置。

我习惯这么定义:嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。

它的特点,我总结为四点:

  • 专用性强:一个系统只干一件事。继电保护装置不会去处理视频流。
  • 资源受限:RAM可能只有几十KB,Flash几百KB。你得精打细算。
  • 实时性要求高:电力系统故障时,保护动作必须在几毫秒内完成。慢了,设备就烧了。
  • 可靠性第一:嵌入式系统往往在无人值守的环境下运行。我见过变电站里温度50度,湿度90%,设备照样得跑。

核心要点:嵌入式系统不是「弱化版」的PC,它是为特定场景量身定做的。选型时别拿PC的思维去套。

2.2 ARM Cortex-M系列处理器架构

ARM Cortex-M系列,是嵌入式领域当之无愧的「主力军」。为什么?因为它专为微控制器设计,功耗低、中断响应快、性价比高。

我最早接触的是Cortex-M3,那时候还在做老式的8位机升级。说实话,第一次看到M3的中断响应速度,我有点惊讶——硬件自动压栈、向量表直接跳转,比软件模拟快了一个数量级。

2.2.1 架构演进

内核 特点 典型应用
Cortex-M0/M0+ 超低功耗、极小面积 传感器、简单控制
Cortex-M3 平衡性能与功耗 工业控制、继电保护
Cortex-M4 带FPU和DSP指令 数字信号处理、电机控制
Cortex-M7 高性能、缓存架构 复杂算法、人机界面

你想想看,继电保护需要什么?快速采样、实时计算、可靠输出。M3和M4是主流选择。M0太弱,M7又有点浪费。

2.2.2 关键特性

ARM Cortex-M有几个设计,我觉得特别适合电力保护:

  • 嵌套向量中断控制器(NVIC):支持256级中断优先级。我在项目中遇到过中断冲突的问题,后来靠合理分配优先级解决了。
  • 硬件除法与单周期乘法:做傅里叶变换时,乘法运算很频繁。硬件支持能省不少时间。
  • 位带操作:可以像操作内存一样操作单个GPIO位。嗯,这个在控制继电器时特别方便。

个人经验:选型时别只看主频。中断延迟、总线架构、外设DMA能力,这些往往更关键。我曾经用了一颗主频很高的芯片,结果中断响应慢,保护动作时间超标——白费功夫。

2.3 STM32微控制器选型与资源介绍

STM32,可以说是ARM Cortex-M系列里最成功的产品线之一。意法半导体把ARM内核和丰富的外设整合在一起,开发起来很方便。

我建议初学者从STM32F1或F4系列入手。为什么?资料多、社区活跃、坑都被人踩过了。

2.3.1 选型要点

选型时,我一般会问自己三个问题:

  1. 需要多少计算能力? 简单的IO控制,F1就够了。要做FFT、谐波分析,得上F4或H7。
  2. 需要哪些外设? 继电保护至少需要:ADC(采样)、定时器(PWM、捕获)、UART/SPI(通信)、GPIO(控制继电器)。
  3. 成本预算多少? 工业级芯片比商业级贵,但可靠性高。别为了省几块钱,换来现场维护的麻烦。
系列 内核 主频 Flash SRAM 典型价格
STM32F103 M3 72MHz 64-512KB 20-64KB ¥10-30
STM32F407 M4F 168MHz 512KB-1MB 192KB ¥30-60
STM32H743 M7 480MHz 2MB 1MB ¥80-150

2.3.2 资源介绍

以STM32F407为例,我简单说说它的「家底」:

  • ADC:3个12位ADC,最多支持16个通道。采样率最高2.4Msps。做电力采样,每周期采64点,绰绰有余。
  • 定时器:14个定时器,包括高级定时器、通用定时器、基本定时器。我用高级定时器生成PWM波控制IGBT,用通用定时器做输入捕获测频率。
  • 通信接口:UART、SPI、I2C、CAN、USB。继电保护装置一般需要和上位机通信,UART和CAN用得最多。
  • DMA:直接内存访问。采样数据从ADC搬到内存,不占CPU。这个功能在保护装置里是必须的——CPU得腾出手来做算法。

避坑指南:我曾经在项目里用了STM32F103的ADC,发现采样结果有波动。后来查手册才知道,F103的ADC输入阻抗有限,需要加运放做缓冲。嗯,这个坑我替你们踩过了。

2.4 小结

这一章我们聊了嵌入式系统的定义、ARM Cortex-M的架构特点,以及STM32的选型思路。说实话,这些内容看起来有点「干」,但它们是后续所有实战的基础。

下一章,我们会真正动手搭建开发环境。到时候,我会带着你们从零开始配置一个继电保护的最小系统。准备好了吗?

课后思考:如果你要设计一个简单的过流保护装置,你会选哪款STM32?为什么?试着从采样率、计算能力、成本三个角度分析一下。


公众号:蓝海资料掘金营,微信deep3321