跳转至

第 8 章:综合实战与模拟测试

场景: 学完了全部 7 章,现在是检验学习成果的时候。本章通过综合案例分析和模拟测试,帮助你巩固知识、查漏补缺。


8.1 综合案例分析

案例:智能农业环境监测系统

背景: 设计一套智能农业环境监测系统,要求:

  • 在 100 亩农田中部署 50 个传感器节点
  • 每个节点采集土壤温度、湿度、光照强度
  • 数据通过无线方式上传到云平台
  • 节点使用电池供电,需工作 1 年以上
  • 系统需在手机 App 上实时查看数据

问题 1: 传感器节点应选用哪种嵌入式处理器?为什么?

参考答案

应选用 ARM Cortex-M 系列 MCU (如 STM32L 系列低功耗 MCU)。

理由: - 传感器节点功能简单(采集+上传),不需要高性能 MPU - 电池供电要求极低功耗,Cortex-M 支持多种低功耗模式 - 成本敏感(50 个节点),MCU 成本远低于 MPU - 集成度高,片内包含 ADC(采集模拟传感器)、SPI/I2C(数字传感器)、UART(无线模块)

问题 2: 节点间无线通信应选用哪种技术?说明理由。

参考答案

应选用 LoRaZigbee 技术。

方案 优势 劣势
LoRa 距离远(数 km)、功耗极低 速率低、需自建网关
Zigbee 自组网、功耗低、Mesh 网络 距离较短(~100m)

100 亩 ≈ 66667m²,边长约 260m。如果使用 Zigbee,需要 Mesh 中继;如果使用 LoRa,一个网关即可覆盖。推荐 LoRa + 单网关方案,更简单可靠。

问题 3: 设计节点的低功耗工作策略。

参考答案
工作周期:每 15 分钟唤醒一次

1. 唤醒(~100μs)
2. 采集传感器数据(~10ms,运行模式)
3. 通过 LoRa 发送数据(~50ms,运行模式)
4. 等待 ACK(~100ms,运行模式)
5. 进入待机模式(~15 分钟,<1μA)

占空比 ≈ 160ms / 900s ≈ 0.018%
平均功耗 ≈ 运行功耗 × 0.018% + 待机功耗 × 99.98%
          ≈ 10mA × 0.018% + 1μA × 99.98%
          ≈ 1.8μA + 1μA ≈ 2.8μA

2000mAh 电池理论寿命 ≈ 2000mAh / 0.0028mA ≈ 81 年
(实际考虑电池自放电,可达 3~5 年)

问题 4: 云平台与手机 App 之间应使用什么通信协议?

参考答案

使用 MQTT 协议

  • 传感器节点 → LoRa 网关 → 云平台 MQTT Broker
  • 手机 App 订阅相关 Topic,实时接收数据
  • MQTT 轻量级、支持 QoS、发布/订阅模式天然适合物联网场景

8.2 模拟测试

一、单选题(每题 2 分,共 20 分)

1. ARM Cortex-M3 是( )位处理器。

A. 8  B. 16  C. 32  D. 64

查看答案

答案:C —— ARM Cortex-M 系列都是 32 位处理器。

2. 以下属于实时操作系统的是( )。

A. Windows  B. Linux  C. FreeRTOS  D. macOS

查看答案

答案:C —— FreeRTOS 是嵌入式实时操作系统(RTOS)。Windows、Linux、macOS 是通用操作系统。

3. I2C 总线的信号线包括( )。

A. TX 和 RX  B. SDA 和 SCL  C. MOSI 和 MISO  D. A 和 B

查看答案

答案:B —— I2C 使用 SDA(数据线)和 SCL(时钟线)。TX/RX 是 UART 的,MOSI/MISO 是 SPI 的。

4. 交叉编译是指( )。

A. 在 ARM 上编译 x86 程序  B. 在一种平台上编译出另一种平台的可执行程序  C. 同时编译多个文件  D. 使用多种编译器

查看答案

答案:B —— 交叉编译是在一种平台(如 x86 PC)上生成另一种平台(如 ARM)可执行程序。

5. 看门狗定时器检测到程序跑飞后,会执行( )。

A. 忽略错误继续运行  B. 系统复位  C. 进入睡眠模式  D. 关闭外设

查看答案

答案:B —— 看门狗计数器溢出后触发系统复位,使系统从异常状态恢复。


二、填空题(每题 2 分,共 10 分)

6. 嵌入式系统通常由硬件层、(  )和应用软件层组成。

查看答案

答案:系统软件层

7. ARM Cortex-M 系列处理器采用(  )结构,程序和数据分开存储。

查看答案

答案:哈佛

8. RTOS 中,高优先级任务就绪时立即抢占 CPU 的调度方式称为(  )。

查看答案

答案:抢占式调度

9. SPI 通信需要(  )根信号线。

查看答案

答案:4 (SCLK、MOSI、MISO、SS/CS)

10. MQTT 协议采用(  )通信模式。

查看答案

答案:发布/订阅


三、简答题(每题 5 分,共 10 分)

11. 比较 UART、SPI 和 I2C 三种通信接口的主要区别。

参考答案
维度 UART SPI I2C
线数 2~3 4 2
通信方式 全双工 全双工 半双工
同步方式 异步 同步 同步
速度 中等
多从机 不支持 支持(多 SS) 支持(地址)

12. 解释嵌入式系统启动过程中 .data 段和 .bss 段的处理方式及原因。

参考答案
  • .data :存储已初始化的全局/静态变量。启动时从 Flash 复制到 RAM,因为 Flash 只读而变量需要在 RAM 中读写。
  • .bss :存储未初始化的全局/静态变量。启动时清零,因为 C 标准规定未初始化全局变量默认值为 0。不需要占用 Flash 空间,只需记录起始地址和大小。

四、设计题(10 分)

13. 设计一个智能门锁系统,要求: - 支持指纹和密码两种开锁方式 - 开锁记录通过 Wi-Fi 上传到云端 - 电池供电,续航 6 个月以上 - 非法开锁时本地报警 + 远程通知

请回答: (1)选择什么嵌入式处理器?为什么?(3 分) (2)需要哪些外设接口?(3 分) (3)设计低功耗策略。(4 分)

参考答案

(1)选用 ARM Cortex-M4 MCU (如 STM32F4 系列),理由: - 需要处理指纹算法(DSP 指令加速) - 需要 Wi-Fi 通信(通过 UART/SPI 连接 Wi-Fi 模块) - 需要多种低功耗模式(电池供电) - 成本适中,适合消费电子产品

(2)外设接口: - SPI:连接指纹传感器 - UART:连接 Wi-Fi 模块 - GPIO:控制电机驱动(开锁)、蜂鸣器(报警)、LED 指示 - ADC:电池电量检测 - I2C:连接 RTC 时钟芯片(记录开锁时间)

(3)低功耗策略: - 大部分时间处于 停止模式 (数 μA) - 指纹触摸或按键按下时通过 外部中断 唤醒 - 开锁操作完成后立即进入低功耗模式 - Wi-Fi 模块仅在需要上传数据时上电,平时断电 - 电池电压低时通过 App 提醒用户更换


要点总结

  • 综合案例覆盖了处理器选型、无线技术选型、低功耗设计、通信协议
  • 模拟测试覆盖了全部 7 章的核心知识点
  • 设计题考察了实际嵌入式系统的综合设计能力

🎉 恭喜你完成了计算机三级·嵌入式系统全部 8 章的学习!

建议你: 1. 回顾各章的"要点总结"和"课后练习" 2. 重点掌握 ARM Cortex-M 架构、RTOS 任务调度、通信接口对比 3. 理解嵌入式开发的完整流程:交叉编译→启动→RTOS→外设驱动→低功耗 4. 做 3~5 套历年真题,检验学习效果

返回教程首页 →