====== 第九章:嵌入式系统 ======
* [[#9.1 嵌入式系统概述|9.1 嵌入式系统概述]]
* [[#9.2 嵌入式处理器|9.2 嵌入式处理器]]
* [[#9.3 嵌入式操作系统|9.3 嵌入式操作系统]]
* [[#9.4 嵌入式系统开发|9.4 嵌入式系统开发]]
* [[#9.5 物联网|9.5 物联网]]
* [[#9.6 嵌入式应用案例|9.6 嵌入式应用案例]]
* [[#9.7 练习题|9.7 练习题]]
----
===== 章节概述 =====
本章介绍嵌入式系统的基本概念、嵌入式处理器、嵌入式操作系统、开发方法、物联网技术以及典型应用案例。通过本章学习,了解嵌入式系统的特点、架构和应用领域。
**学习目标**:
* 理解嵌入式系统的定义和特点
* 掌握常见嵌入式处理器的类型和特点
* 了解嵌入式操作系统的分类和选择
* 理解嵌入式系统开发流程
* 掌握物联网的基本概念和架构
* 了解嵌入式系统的典型应用
**本章重点**:
- 嵌入式系统的特点
- 常见的嵌入式处理器(ARM、MCU等)
- 嵌入式操作系统(RTOS、Linux)
- 嵌入式系统开发流程
**本章难点**:
- 实时操作系统的概念和调度算法
- 嵌入式系统开发环境的搭建
- 交叉编译和调试
----
===== 9.1 嵌入式系统概述 =====
====== 9.1.1 嵌入式系统的定义 ======
**嵌入式系统**是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
**嵌入式系统的本质特征**:
* **专用性**:为特定应用而设计,不同于通用计算机
* **嵌入性**:通常嵌入到更大的机械或电子系统中
* **计算机系统**:以微处理器为核心,包含硬件和软件
**与通用计算机系统的区别**:
| 特性 | 通用计算机 | 嵌入式系统 |
|------|-----------|-----------|
| 设计目标 | 通用计算 | 专用功能 |
| 用户交互 | 丰富(键盘、鼠标、显示器) | 有限或没有 |
| 资源 | 丰富(大内存、大存储) | 受限 |
| 实时性 | 通常无要求 | 常有实时要求 |
| 功耗 | 不太敏感 | 敏感(常电池供电) |
| 可靠性 | 一般 | 要求高 |
| 成本 | 相对较高 | 要求低 |
| 体积 | 不太敏感 | 要求小 |
嵌入式系统示例:
┌─────────────────────────────────────────────────┐
│ 汽车系统 │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ 发动机控制 │ │ ABS控制器 │ │
│ │ (ECU) │ │ (嵌入式) │ │
│ └─────────────┘ └─────────────┘ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ 导航系统 │ │ 娱乐系统 │ │
│ │ (嵌入式) │ │ (嵌入式) │ │
│ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────┘
一辆现代汽车可能包含50-100个嵌入式系统
====== 9.1.2 嵌入式系统的特点 ======
**主要特点**:
* **专用性**:针对特定应用设计,功能固定或可配置
* **实时性**:通常有实时要求,需要在规定时间内响应
* **资源受限**:处理器性能、内存、存储空间有限
* **高可靠性**:长期稳定运行,故障率低
* **低功耗**:电池供电场景多,功耗要求严格
* **小体积**:集成度高,物理尺寸小
* **低成本**:大规模应用,成本敏感
**实时性要求**:
* **硬实时**:必须在截止时间前完成,否则产生严重后果
- 如:汽车安全气囊、飞机控制系统
* **软实时**:偶尔错过截止时间可接受
- 如:视频播放、音频播放
实时系统响应时间示例:
应用 响应时间要求
────────────────────────────────
汽车安全气囊 < 10ms
飞机飞行控制 < 1ms
工业机器人 < 1ms
音频播放 < 100ms(可容忍偶尔延迟)
视频播放 < 50ms(可容忍偶尔延迟)
====== 9.1.3 嵌入式系统的组成 ======
嵌入式系统组成层次:
┌─────────────────────────────────────────┐
│ 应用层 │
│ 用户界面、业务逻辑 │
├─────────────────────────────────────────┤
│ 软件层 │
│ 应用程序、中间件、操作系统 │
├─────────────────────────────────────────┤
│ 硬件抽象层(BSP) │
│ 板级支持包、驱动程序 │
├─────────────────────────────────────────┤
│ 硬件层 │
│ ┌─────────┐ ┌─────────┐ │
│ │ 处理器 │ │ 存储器 │ │
│ │ (MCU/MPU│ │(RAM/ROM/│ │
│ │ /DSP) │ │ Flash) │ │
│ └─────────┘ └─────────┘ │
│ ┌─────────┐ ┌─────────┐ │
│ │ 输入设备│ │ 输出设备│ │
│ │传感器/ │ │执行器/ │ │
│ │按键 │ │显示器 │ │
│ └─────────┘ └─────────┘ │
└─────────────────────────────────────────┘
**嵌入式处理器**:系统的核心,执行程序指令
**存储器**:存储程序和数据(RAM、ROM、Flash)
**输入设备**:传感器、按键、触摸屏等
**输出设备**:显示器、执行器、蜂鸣器等
**通信接口**:串口、网口、CAN总线、无线等
**应用领域**:
* 消费电子(智能手机、电视、相机、可穿戴设备)
* 汽车电子(ECU、导航、ADAS)
* 工业控制(PLC、DCS、机器人)
* 医疗设备(监护仪、CT、MRI)
* 智能家居(智能音箱、智能门锁、智能家电)
* 通信设备(路由器、交换机、基站)
* 航空航天(飞行控制、导航系统)
----
===== 9.2 嵌入式处理器 =====
====== 9.2.1 嵌入式处理器类型 ======
**微控制器(MCU - Microcontroller Unit)**:
* 将CPU、存储器(RAM/ROM)、I/O接口集成在单芯片
* 成本低、功耗低、体积小
* 适合简单控制任务
* 代表:8051、STM32、Arduino(ATmega)、ESP8266/ESP32
**微处理器(MPU - Microprocessor Unit)**:
* 功能较强的处理器,需要外部存储器
* 运行完整的操作系统
* 适合复杂应用
* 代表:ARM Cortex-A系列、Intel Atom
**数字信号处理器(DSP - Digital Signal Processor)**:
* 专门用于数字信号处理
* 强大的乘加运算能力(MAC)
* 哈佛架构、硬件循环缓冲
* 代表:TI TMS320系列、ADI SHARC系列
**可编程逻辑器件(FPGA - Field Programmable Gate Array)**:
* 硬件可编程,可重构数字逻辑
* 并行处理能力强
* 适合定制加速和原型开发
* 代表:Xilinx、Intel(Altera)
嵌入式处理器类型对比:
特性 MCU MPU DSP FPGA
────────────────────────────────────────────────────────
复杂度 低 高 中 很高
成本 低 高 中 高
功耗 极低 较高 中 高
开发难度 低 中 中 高
运算能力 低 高 很高 很高
灵活性 低 中 低 很高
操作系统 无/简单 完整 无/简单 无
典型应用 传感器 智能手机 音频处理 加速计算
====== 9.2.2 ARM处理器 ======
**ARM架构**是目前最流行的嵌入式处理器架构,占据嵌入式市场绝大部分份额。
**ARM Cortex系列**:
ARM Cortex系列分类:
┌─────────────────────────────────────────────────┐
│ ARM Cortex系列 │
├─────────────────────────────────────────────────┤
│ │
│ Cortex-M系列(微控制器) │
│ ├─ M0/M0+:极低功耗,基础功能 │
│ ├─ M3:主流微控制器 │
│ ├─ M4:带FPU和DSP指令 │
│ ├─ M7:高性能微控制器 │
│ └─ M33:带TrustZone安全 │
│ 应用:传感器、可穿戴、工业控制 │
│ │
│ Cortex-R系列(实时处理器) │
│ ├─ R4/R5:硬实时 │
│ └─ R8:高性能实时 │
│ 应用:汽车ECU、硬盘控制器、网络设备 │
│ │
│ Cortex-A系列(应用处理器) │
│ ├─ A35:高能效 │
│ ├─ A53:主流64位 │
│ ├─ A55:高能效64位 │
│ ├─ A72/A73/A75:高性能 │
│ ├─ A76/A77/A78:高性能 │
│ └─ X1/X2:高性能大核 │
│ 应用:智能手机、平板、嵌入式Linux系统 │
│ │
└─────────────────────────────────────────────────┘
**ARM Cortex-M系列对比**:
| 特性 | M0 | M0+ | M3 | M4 | M7 |
|------|-----|-----|-----|-----|-----|
| 架构 | ARMv6-M | ARMv6-M | ARMv7-M | ARMv7E-M | ARMv7E-M |
| 流水线 | 3级 | 2级 | 3级 | 3级 | 6级超标量 |
| DMIPS/MHz | 0.9 | 0.9 | 1.25 | 1.25 | 2.14 |
| 浮点单元 | 无 | 无 | 无 | 单精度 | 双精度 |
| DSP指令 | 无 | 无 | 部分 | 有 | 有 |
| 功耗 | 极低 | 极低 | 低 | 中 | 较高 |
| 应用 | 简单传感器 | 传感器 | 通用控制 | 音频 | 图形 |
**ARM特点**:
* RISC架构,指令集精简
* 低功耗设计
* 可授权模式(IP授权给其他厂商生产)
* 丰富的生态系统
====== 9.2.3 典型嵌入式处理器产品 ======
**STM32(意法半导体)**:
* 基于ARM Cortex-M内核
* 丰富的外设接口
* 完善的开发工具
* 广泛应用于工业控制、消费电子
**ESP32(乐鑫)**:
* 集成Wi-Fi和蓝牙
* 双核处理器
* 低功耗
* 广泛用于物联网
**树莓派(Raspberry Pi)**:
* 基于ARM Cortex-A系列
* 运行完整Linux系统
* 丰富的接口
* 教育、原型开发、轻量级服务器
STM32系列分类:
┌─────────────────────────────────────┐
│ STM32系列 │
├─────────────────────────────────────┤
│ 主流系列 │
│ ├─ F0:Cortex-M0,入门级 │
│ ├─ F1:Cortex-M3,经典系列 │
│ ├─ F4:Cortex-M4,高性能 │
│ └─ F7:Cortex-M7,超高性能 │
│ │
│ 低功耗系列 │
│ ├─ L0:Cortex-M0+,超低功耗 │
│ ├─ L1:Cortex-M3,低功耗 │
│ └─ L4/L4+:Cortex-M4/M4+,超低功耗 │
│ │
│ 无线系列 │
│ └─ WB:双核(Cortex-M4+M0+),蓝牙 │
│ │
└─────────────────────────────────────┘
----
===== 9.3 嵌入式操作系统 =====
====== 9.3.1 实时操作系统(RTOS) ======
**实时操作系统**(RTOS):能在确定的时间内完成系统功能和对外部异步事件作出响应的操作系统。
**实时性指标**:
* **响应时间**:从事件发生到系统响应的时间
* **截止时间(Deadline)**:任务必须完成的时间限制
* **抖动(Jitter)**:响应时间的变化范围
**硬实时 vs 软实时**:
| 特性 | 硬实时 | 软实时 |
|------|--------|--------|
| 截止时间要求 | 必须满足 | 尽量满足 |
| 错过截止时间的后果 | 系统失效/危险 | 性能下降 |
| 确定性 | 高度确定性 | 统计性满足 |
| 典型应用 | 飞控、汽车安全系统 | 多媒体、游戏 |
**RTOS特点**:
* **确定性**:响应时间可预测
* **抢占式调度**:高优先级任务可立即抢占CPU
* **低延迟中断响应**:通常在微秒级
* **资源占用小**:适合资源受限系统
* **内核可裁剪**:按需配置功能
**调度算法**:
* **优先级调度**:按任务优先级分配CPU
* **时间片轮转**:同优先级任务轮流执行
* **最早截止时间优先(EDF)**:动态优先级
抢占式调度示例:
时间 →
任务高 ├──────────────────────────
│ ↑抢占 ↑抢占
任务低 ├────────┘────────────┘────
│
│←── 低优先级执行 ──→
被高优先级打断
====== 9.3.2 常见的嵌入式操作系统 ======
**FreeRTOS**:
* 开源、轻量、可移植
* 内核仅4-9KB ROM
* 支持多种处理器架构
* 广泛应用于工业控制、消费电子
**μC/OS(Micrium OS)**:
* 抢占式多任务RTOS
* 可裁剪、可固化
* 广泛应用于嵌入式设备
**VxWorks**:
* 商业RTOS,高可靠性
* 硬实时支持
* 应用于航空航天、军事、通信
* 火星探测器使用VxWorks
**RT-Linux(PREEMPT_RT)**:
* Linux实时扩展
* 保持Linux完整功能的同时提供实时性
* 应用于工业控制
**Zephyr**:
* 开源RTOS,Linux基金会项目
* 面向物联网
* 安全性好
**嵌入式Linux**:
* 完整的Linux系统
* 适合资源较丰富的嵌入式设备
* Android、Ubuntu Core等基于Linux
**鸿蒙(HarmonyOS)**:
* 华为开发的分布式操作系统
* 微内核设计
* 面向物联网和智能终端
* 支持多种设备形态
嵌入式操作系统对比:
操作系统 内核大小 实时性 许可证 典型应用
────────────────────────────────────────────────────────────
FreeRTOS 4-9KB 软实时 MIT 通用嵌入式
μC/OS 6-24KB 软/硬实时 商业 工业设备
VxWorks 较大 硬实时 商业 航空航天
RT-Linux 较大 硬实时 GPL 工业控制
Zephyr 8-15KB 软实时 Apache 2.0 IoT
嵌入式Linux 较大 软实时 GPL 智能终端
鸿蒙 中等 软/硬实时 开源 IoT、手机
----
===== 9.4 嵌入式系统开发 =====
====== 9.4.1 开发流程 ======
嵌入式系统开发流程:
需求分析 → 系统设计 → 硬件设计 → 软件设计 → 系统集成 → 测试调试 → 生产维护
│ │ │ │ │ │
└──────────┴──────────┴──────────┴──────────┴──────────┘
各阶段工作内容:
需求分析:功能需求、性能需求、成本约束、时间要求
系统设计:架构设计、软硬件划分、技术选型
硬件设计:原理图设计、PCB设计、元器件选型
软件设计:架构设计、模块划分、接口定义
系统集成:软硬件联合调试
测试调试:功能测试、性能测试、可靠性测试
生产维护:量产、固件更新、故障维护
**开发工具链**:
* **交叉编译器**:在PC上生成目标机代码(如arm-gcc)
* **调试器**:GDB、JTAG调试器
* **集成开发环境(IDE)**:Keil、IAR、Eclipse、VS Code
* **烧录工具**:将程序写入目标板
* **仿真器/调试器**:JTAG、SWD、串口调试
====== 9.4.2 交叉开发 ======
**交叉开发**:在PC(宿主机)上开发,在目标板(目标机)上运行。
交叉开发环境:
┌─────────────────────────────────────────────────┐
│ 宿主机(PC) │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ IDE │ │ 交叉编译器│ │ 调试器 │ │
│ │ (Keil/ │ │(arm-gcc)│ │ (GDB) │ │
│ │ VS Code)│ └────┬────┘ └────┬────┘ │
│ └────┬────┘ │ │ │
│ └─────────────┴────────────┘ │
│ │ │
│ ┌────┴────┐ │
│ │ 可执行文件 │ │
│ └────┬────┘ │
└─────────────────────┼───────────────────────────┘
│ 下载/调试
┌───────┴───────┐
│ JTAG / 串口 │
│ / 网络 │
└───────┬───────┘
│
┌─────────────────────┼───────────────────────────┐
│ 目标板 │
│ ┌──────┴──────┐ │
│ │ 嵌入式处理器 │ │
│ │ (目标机) │ │
│ └─────────────┘ │
│ │ │
│ ┌──────┴──────┐ │
│ │ 外围设备 │ │
│ └─────────────┘ │
└─────────────────────────────────────────────────┘
**交叉编译**:
* 宿主机生成目标机可执行代码
* 使用交叉编译器(如arm-none-eabi-gcc)
* 目标机通常无法运行编译器(资源受限)
**调试方法**:
* **JTAG调试**:硬件级调试,功能强大
* **串口调试**:打印调试信息
* **LED调试**:最原始的调试方式
* **仿真器**:软件仿真目标处理器
JTAG接口引脚:
TDI (Test Data In) ───── 数据输入
TDO (Test Data Out) ───── 数据输出
TMS (Test Mode Select) ───── 模式选择
TCK (Test Clock) ───── 时钟
TRST (Test Reset) ───── 复位(可选)
GND ───── 地
**固件烧录方式**:
* **ISP(在系统编程)**:通过串口、USB等烧录
* **ICP(在电路编程)**:通过JTAG/SWD烧录
* **Bootloader**:通过SD卡、网络等升级固件
* **离线烧录**:使用编程器烧录Flash芯片
----
===== 9.5 物联网 ======
====== 9.5.1 物联网概述 ======
**物联网**(IoT,Internet of Things):通过各种信息传感设备,按约定的协议,把任何物品与互联网相连接,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的一种网络。
**物联网的本质**:
* 物与物相连(M2M - Machine to Machine)
* 物与人相连
* 万物互联
物联网三层架构:
┌─────────────────────────────────────────────────┐
│ 应用层 │
│ 智慧城市、智能家居、工业4.0、智慧医疗 │
│ 数据存储、分析、可视化、业务应用 │
├─────────────────────────────────────────────────┤
│ 网络层 │
│ 互联网、移动通信网(4G/5G)、卫星网 │
│ Wi-Fi、蓝牙、ZigBee、LoRa、NB-IoT │
├─────────────────────────────────────────────────┤
│ 感知层 │
│ 传感器(温度、湿度、压力、光照等) │
│ RFID、摄像头、GPS、二维码 │
│ 嵌入式系统、微控制器 │
└─────────────────────────────────────────────────┘
**物联网的特点**:
* **全面感知**:通过各种传感器获取信息
* **可靠传输**:通过各种网络传输数据
* **智能处理**:云端或边缘计算分析数据
====== 9.5.2 物联网通信技术 ======
**短距离通信**:
| 技术 | 速率 | 距离 | 功耗 | 应用 |
|------|------|------|------|------|
| Wi-Fi | 高(Mbps-Gbps) | 100m | 高 | 智能家居、监控 |
| 蓝牙(BLE) | 中(1-2Mbps) | 10-100m | 低 | 可穿戴、传感器 |
| ZigBee | 低(250kbps) | 10-100m | 极低 | 工业控制、智能家居 |
| NFC | 低(424kbps) | <10cm | 极低 | 支付、门禁 |
**广域网通信**:
| 技术 | 特点 | 应用 |
|------|------|------|
| LoRa | 远距离(数km)、低功耗、非授权频段 | 农业、环境监测 |
| NB-IoT | 窄带物联网,蜂窝网络,深度覆盖 | 智能表计、智慧城市 |
| 4G/5G | 高速、低延迟、大容量 | 车联网、视频监控 |
| SigFox | 超窄带,极低功耗 | 简单传感器 |
物联网协议栈:
应用层:MQTT、CoAP、HTTP
传输层:TCP、UDP
网络层:IPv6、6LoWPAN、RPL
链路层:Wi-Fi、蓝牙、ZigBee、LoRa
物理层:各种射频技术
**MQTT协议**:
* 轻量级消息协议
* 发布/订阅模式
* 适合低带宽、高延迟、不可靠网络
* 物联网常用协议
----
===== 9.6 嵌入式应用案例 =====
====== 9.6.1 智能家居系统 ======
智能家居系统架构:
┌─────────────────────────────────────────────────┐
│ 云平台/手机APP │
│ (远程控制、数据分析) │
└────────────────────┬────────────────────────────┘
│ Wi-Fi/4G
┌────────────────────┴────────────────────────────┐
│ 家庭网关 │
│ (协议转换、本地控制) │
└──────┬──────┬──────┬──────┬─────────────────────┘
│ │ │ │
┌──┴──┐ ┌─┴─┐ ┌──┴──┐ ┌─┴─┐
│智能灯│ │空调│ │门锁 │ │窗帘│
│ZigBee│ │Wi-Fi│ │蓝牙│ │ZigBee│
└─────┘ └───┘ └─────┘ └───┘
传感器:温度、湿度、光照、人体感应
执行器:灯光、空调、窗帘、门锁
通信:ZigBee、Wi-Fi、蓝牙
**系统组成**:
* **传感器节点**:温湿度传感器、人体感应器、门窗磁
* **执行节点**:智能开关、智能插座、窗帘电机
* **控制节点**:智能音箱、手机APP、场景面板
* **网关**:连接互联网和本地设备
====== 9.6.2 汽车电子控制系统 ======
汽车电子系统:
┌─────────────────────────────────────────────────┐
│ 车载网络(CAN总线) │
├─────────────────────────────────────────────────┤
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 发动机 │ │ 变速箱 │ │ ABS │ │
│ │控制单元 │ │控制单元 │ │控制单元 │ │
│ │ (ECU) │ │ (TCU) │ │ │ │
│ └─────────┘ └─────────┘ └─────────┘ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 气囊 │ │ 仪表 │ │ 导航 │ │
│ │控制单元 │ │ 板 │ │ 系统 │ │
│ └─────────┘ └─────────┘ └─────────┘ │
└─────────────────────────────────────────────────┘
**关键系统**:
* **发动机控制(ECU)**:燃油喷射、点火控制
* **变速箱控制(TCU)**:换挡控制
* **ABS/ESP**:防抱死、车身稳定
* **ADAS**:自适应巡航、车道保持、自动紧急制动
* **车身控制**:车窗、门锁、灯光
**汽车电子特点**:
* 高可靠性要求(-40°C到85°C)
* 实时性要求
* 功能安全标准(ISO 26262)
* CAN/LIN总线通信
------
===== 9.7 练习题 =====
==== 一、选择题 ====
1. 嵌入式系统的特点不包括( )
A. 专用性 B. 通用性 C. 实时性 D. 资源受限
2. 以下属于微控制器的是( )
A. Intel Core i7 B. STM32 C. NVIDIA GPU D. FPGA
3. FreeRTOS是一种( )
A. 通用操作系统 B. 实时操作系统 C. 分时操作系统 D. 批处理系统
4. 物联网的三层架构不包括( )
A. 感知层 B. 网络层 C. 应用层 D. 传输层
5. 嵌入式开发中的"交叉编译"是指( )
A. 在目标机上编译 B. 在宿主机上编译生成目标机代码
C. 同时编译多个文件 D. 编译并链接
6. ARM Cortex-M系列主要用于( )
A. 高性能服务器 B. 微控制器 C. 图形处理 D. 网络通信
7. 硬实时系统的要求是( )
A. 尽量满足截止时间 B. 必须满足截止时间
C. 没有截止时间要求 D. 偶尔错过截止时间可以
8. 以下哪个通信技术适合低功耗广域物联网( )
A. Wi-Fi B. 蓝牙 C. LoRa D. USB
9. JTAG调试接口不包括( )
A. TDI B. TDO C. USB D. TCK
10. 以下哪个不是嵌入式处理器的特点( )
A. 低功耗 B. 高可靠性 C. 高性能(单线程) D. 低成本
==== 二、填空题 ====
1. 嵌入式系统的特点包括_______、_______、_______和_______。
2. 常见的嵌入式处理器类型有_______、_______、_______和_______。
3. ARM Cortex系列分为_______、_______和_______三个系列。
4. 物联网的三层架构是_______、_______和_______。
5. RTOS的两个重要指标是_______和_______。
6. 嵌入式开发中,_______用于硬件级调试,_______用于打印调试信息。
7. MQTT是一种_______协议,采用_______模式。
8. 物联网短距离通信技术包括_______、_______和_______。
9. 硬实时系统错过截止时间会导致_______。
10. 交叉开发中,程序在_______上编译,在_______上运行。
==== 三、简答题 ====
1. 简述嵌入式系统与通用计算机系统的区别。
2. 什么是实时操作系统?硬实时和软实时有什么区别?
3. 简述物联网的概念和三层架构。
4. 简述交叉开发的概念和主要步骤。
5. 比较MCU、MPU、DSP和FPGA的特点。
6. 简述嵌入式系统开发的一般流程。
==== 四、设计题 ====
1. 设计一个基于物联网的智能温湿度监测系统,包括:
- 系统架构
- 硬件选型(处理器、传感器、通信模块)
- 软件设计思路
----
**参考答案**:
一、选择题:1.B 2.B 3.B 4.D 5.B 6.B 7.B 8.C 9.C 10.C
二、填空题:
1. 专用性、实时性、资源受限、可靠性高(或低功耗、小体积)
2. MCU、MPU、DSP、FPGA
3. Cortex-M、Cortex-R、Cortex-A
4. 感知层、网络层、应用层
5. 响应时间、截止时间(或抖动)
6. JTAG、串口
7. 物联网通信、发布/订阅
8. Wi-Fi、蓝牙、ZigBee(或NFC)
9. 系统失效/严重后果
10. 宿主机、目标机
三、简答题:
1. 嵌入式系统专用性强、资源受限、实时性要求高、低功耗、高可靠性;通用计算机通用性强、资源丰富、通常无实时要求、功耗不敏感、可靠性一般。
2. 实时操作系统能在确定时间内响应事件和完成任务。硬实时必须满足截止时间,错过会导致严重后果;软实时尽量满足截止时间,偶尔错过可接受。
3. 物联网是将物品通过互联网连接进行信息交换的网络。三层架构:感知层(传感器、RFID等采集数据)、网络层(传输数据)、应用层(数据分析和应用)。
4. 交叉开发是在PC(宿主机)上开发,在目标板上运行。步骤:编写代码、交叉编译、下载到目标板、调试运行。
5. MCU集成度高、成本低、适合简单控制;MPU性能强、运行操作系统、适合复杂应用;DSP擅长数字信号处理;FPGA可编程、并行能力强、适合定制加速。
6. 需求分析→系统设计→硬件设计→软件设计→系统集成→测试调试→生产维护。
四、设计题:
1. 参考答案要点:
- 架构:传感器节点→网关→云平台→手机APP
- 硬件:ESP32(MCU+Wi-Fi)、DHT11温湿度传感器
- 软件:FreeRTOS、MQTT协议、数据库存储、Web可视化