19-嵌入式系统架构设计实践

19-嵌入式系统架构设计实践(第19小时)

软考-系统架构设计师 | 第4篇 架构设计实践知识 出题形式:下午案例分析题(25 分) 分值占比:约 25 分


0. 考点分析

  • 嵌入式系统发展历程:SCM → MCU → SoC → 互联网嵌入式 → 智能化嵌入式
  • 嵌入式处理器 5 大类:MPU / MCU / DSP / GPU / SoC
  • 存储器分类:RAM(18 种)/ ROM(5 种)
  • 总线分类:数据/地址/控制 总线,片内/系统/局部/通信 总线
  • 看门狗:系统恢复能力
  • 嵌入式操作系统内核架构:宏内核 vs 微内核
  • 任务调度算法:RMS(最优)/ EDF / LLF
  • 嵌入式数据库:eXtremeDB / SQLite
  • 鸿蒙 OS 4 层架构:内核层/系统服务层/应用框架层/应用层
  • GENESYS 架构:3 组服务、6 大特征
  • ABSD / ADD / DARTS 设计方法

1. 核心架构知识

1.1 嵌入式系统发展历程(5 阶段)

阶段硬件软件主要特点
SCM(单片微型计算机)单片机无操作系统,汇编语言结构和功能相对单一,处理效率低,存储容量十分有限
MCU(微控制器)单片机+嵌入式微处理器+外围电路+接口电路简单操作系统种类繁多,通用性弱,系统开销小,智能化控制突出
SoC(片上系统)嵌入式微处理器嵌入式操作系统兼容性好,内核小,处理效率高
互联网嵌入式系统微处理器+网络接口嵌入式操作系统集成网络接口,应用于网络环境
智能化嵌入式微型传感器+智能服务设备低能耗、高速度、高集成、高可信

1.2 嵌入式系统硬件

1.2.1 传统嵌入式系统硬件组成

  1. 微处理器(MCU/MPU)
  2. 存储器(RAM、ROM)
  3. 总线(内总线、外总线)
  4. 定时器/计数器(Timer)
  5. 看门狗(WatchDog)
  6. I/O 接口(串口、网络、USB、JTAG)
  7. 外部设备(UART、LED)

1.2.2 嵌入式处理器 5 大类

类别全称特点
MPUMicro Processor Unit(微处理器)体积小、重量轻、成本低、可靠性高,但技术保密性差
MCUMicro Control Unit(微控制器)单片化、体积小、功耗低、成本低、可靠性更高
DSPDigital Signal Processor(信号处理器)哈佛结构、编译效率高、指令执行速度高
GPUGraphics Processing Unit(图形处理器)专注浮点运算,弥补 CPU 运算速度不足
SoCSystem on Chip(片上系统)片内再编程技术,使硬件功能可像软件一样编程配置

1.2.3 存储器分类

RAM 18 种(节选重点):

  • DRAM、SRAM、VRAM
  • FPM DRAM、EDO DRAM、BEDO DRAM
  • MDRAM、WRAM、RDRAM
  • SDRAM、SGRAM、SB SRAM、PB SRAM
  • DDR SDRAM、SLDRAM、CDRAM、DDRII、DRDRAM

ROM 5 种

  • MASK ROM(掩模型)
  • PROM(可编程)
  • EPROM(可擦可编程)
  • EEPROM(电可擦可编程)
  • Flash Memory(快闪存储器)

1.2.4 总线分类

按信息种类说明
数据总线处理器与 RAM 间传输待处理和待存储的数据
地址总线传输 RAM 中存储数据的地址
控制总线传输处理器控制单元信号到周边设备
按连接部件说明
片内总线内部总线,连接 ALU、寄存器、指令部件等芯片内部元件
系统总线内部总线,又称板级总线,连接微控制器/处理器、主存、I/O
局部总线内部总线,连接少量组件用于交换数据
通信总线外部总线,又称外设总线,连接外部设备或外部系统

总线拓扑结构:星型、树状、环型、总线型、交叉开关型(5 种)

1.2.5 看门狗(WatchDog)

作用:嵌入式系统提供必需的系统恢复能力,在系统发生软件问题和程序跑飞时重新启动系统。

基本原理

  • 计数器自动计数
  • 程序定期将其重置
  • 如果系统卡死或程序跑飞,计数器溢出,进入中断处理
  • 在设定时间间隔内,系统保留状态后复位重启

1.3 嵌入式系统软件

1.3.1 嵌入式操作系统(EOS)特点

  • 可剪裁性、可移植性
  • 强实时性、强紧凑性
  • 高质量代码、强定制性
  • 标准接口、强稳定性
  • 弱交互性、强确定性
  • 操作简捷、方便
  • 较强的硬件适应性、可固化性

1.3.2 内核架构

类型含义
宏内核用户服务和内核服务在同一空间中实现,代码耦合度非常高
微内核用户服务和内核服务在不同空间中实现,系统结构清晰,代码量少

1.3.3 任务管理

任务 3 种工作状态

  • 执行状态:任务获得处理机,程序在处理机中执行
  • 就绪状态:任务已获得处理机以外资源,待获得处理机即可执行
  • 阻塞状态:执行状态任务因等待事件发生无法执行而放弃处理机

调度算法

类别描述
离线调度系统运行前确定调度信息(如时间驱动)
在线调度系统运行中动态获得调度信息(如优先级驱动)
抢占调度运行任务可能被打断
非抢占调度运行任务不被打断
静态调度任务优先级在设计时确定,不变化
动态调度任务优先级在运行中确定,不断变化

3 大实时调度算法

算法原理备注
EDF(最早截止时间优先)截止时间越早,优先级越高
LLF(最低松弛度优先)紧急程度越高,优先级越高
RMS(单调速率)周期越短,优先级越高被认为是最优的

1.3.4 嵌入式数据库特点

嵌入式、实时性、移动性、伸缩性

3 种分类

  1. 按嵌入对象:软件嵌入、设备嵌入、内存数据库
  2. 按系统结构:嵌入数据库、移动数据库、小型 C/S 结构
  3. 按存储位置:基于内存、基于文件、基于网络

典型产品

  • eXtremeDB(基于内存):最小化资源消耗、极小堆空间、动态数据结构本地支持
  • SQLite(基于文件):开源、内嵌式、服务器客户端同进程
  • C/S、B/S、云数据库(基于网络)

DBMS vs 嵌入式数据库

对比项数据库管理系统嵌入式数据库
操作用户允许非开发人员操作只允许应用程序访问和控制
访问控制数据与程序分离应用程序负责访问控制
发布部署独立安装、部署、管理与应用程序一同发布

1.3.5 嵌入式中间件

嵌入式应用和操作系统之间的中间软件,作用是屏蔽底层操作系统的异构性

常见功能:网络通信、内存管理、数据处理

典型嵌入式中间件:消息中间件、分布式对象中间件

1.4 嵌入式系统软件架构设计方法

方法全称关键点
ABSDArchitecture-Based Software Design基于架构的软件设计开发方法(见第9小时)
ADDAttribute-Driven Design属性驱动的软件设计方法
DARTSDesign Approach for Real-Time System实时系统设计方法

1.4.1 ADD 方法

输入:一组质量属性(可用性、性能、安全性等)场景 方法:利用对质量属性实现与架构设计之间的关系的了解(体系结构风格、质量战术等) 目标:在满足质量属性的基础上建立模块分解过程

7 个阶段

  1. 评审
  2. 选择驱动因子
  3. 选择系统元素
  4. 选择设计概念
  5. 实体化元素和定义接口
  6. 草拟视图
  7. 分析评价

1.4.2 DARTS 方法

5 个部分

  1. 用实时结构化分析方法开发系统规范
  2. 将系统划分为多个并发任务
  3. 定义任务间接口
  4. 设计每个任务
  5. 设计过程的成果

优势

  1. 强调将系统分解为并发任务,并提供确认任务的标准
  2. 提供定义任务间接口的指南
  3. 强调用任务架构图的重要性
  4. 提供从实时结构化分析规格到实时结构化设计的转换

不足

  1. DARTS 使用信息隐藏技术封装数据存储,封装性不好
  2. 如果实时结构化分析阶段完成得不好,任务的结构化工作就会更加困难

1.5 嵌入式系统软件架构实践

1.5.1 鸿蒙操作系统(HarmonyOS)

架构理念:分布式设计,实现 4 种分布式能力:

  1. 分布式软总线
  2. 分布式设备系统的虚拟化
  3. 分布式数据管理
  4. 分布式任务调度

4 层架构(自下而上):

  • 内核层(微内核设计):内核抽象层 KAL 屏蔽多内核差异
  • 系统服务层:核心能力集合
  • 应用框架层:多语言用户程序框架、能力框架、各种硬件服务 API
  • 应用层:系统应用 + 第三方应用

4 大技术特性

  1. 分布式架构用于终端操作系统,实现跨终端无缝协同体验
  2. 确定时延引擎和高性能进程间通信技术,实现系统的流畅
  3. 基于微内核架构,重塑终端设备的可信安全
  4. 统一集成开发环境,一次开发,多端部署,实现跨终端生态共享

1.5.2 GENESYS(跨领域嵌入式架构)

跨领域的通用嵌入式架构平台。采用消息交换方式实现软硬件构件的抽象级别提升。

GENESYS 3 组服务

  • 领域无关服务:核心服务(全局时间、消息传输)+ 选择服务(信息安全、外部存储、网关)
  • 领域专用服务:领域特有的服务子集 + 特定服务组合
  • 应用专用服务:包含中间件

6 大特征及优势

  1. 精确的构件定位:简单化、跨领域重用、规模经济型、健壮性、降低系统集成工作量
  2. 开放性:可集成、可升级、可扩展、遗产系统集成、降低成本
  3. 三级集成:芯片级、设备级、系统级
  4. 分层的服务:可重用性、领域定位、工效经济型
  5. 确定的核心:及时性、降低复杂性、可测试性、认证、故障掩蔽
  6. 标准的互联集成:对远程访问的保护、降低集成工作难度、常规人机交互、安全性

解决 3 大挑战:复杂性管理、系统健壮性、能量有效使用

1.5.3 物联网操作系统软件架构

主要软件技术

  • 开源操作系统:FreeRTOS
  • 公共服务组件:网络协议、外设支持、POSIX
  • 定制性服务组件:MQTTHTTPSPKCS #11、安全套件

5 大特征

  • 内核实时性
  • 内核尺寸伸缩性
  • 架构可扩展性
  • 高可靠性
  • 低功耗

1.6 实践案例

案例 1:智能家居中鸿蒙 OS 的应用

  • 分布式软总线:手机+智能音箱+智能门锁无缝协同
  • 一次开发,多端部署:同一 App 在手机/平板/智慧屏运行
  • 微内核:低时延、高安全

案例 2:工业控制系统中的 GENESYS 应用

  • 芯片级集成:传感器节点
  • 设备级集成:PLC、SCADA
  • 系统级集成:MES、ERP

2. 关键概念速查

概念定义/说明常见考点
SCM单片微型计算机第一代嵌入式系统
MCU微控制器单片化
SoC片上系统片内可编程
MPU微处理器嵌入式处理器
DSP数字信号处理器哈佛结构
GPU图形处理器浮点运算
看门狗WatchDog系统跑飞时复位
宏内核Monolithic同一地址空间
微内核Microkernel不同地址空间
RMS单调速率调度周期短优先级高
EDF最早截止时间优先截止早优先
LLF最低松弛度优先紧急程度优先
ACID数据库事务原子、一致、隔离、持久
eXtremeDB内存数据库嵌入式场景
SQLite文件数据库嵌入式场景
ABSD基于架构的设计第9小时也讲
ADD属性驱动设计7 阶段
DARTS实时系统设计5 部分
鸿蒙 OSHarmonyOS4 层架构、4 大特性
GENESYS跨领域通用嵌入式架构3 组服务、6 大特征
FreeRTOS开源 RTOS物联网操作系统
MQTT消息队列遥测传输协议IoT 协议
POSIX可移植操作系统接口UNIX 标准
PKCS#11加密消息标准密码接口
HDFHarmonyOS 驱动框架鸿蒙特有

3. 典型例题(案例分析题)

例题 1:选择题

题目:以下关于鸿蒙操作系统的叙述中,不正确的是( )。

A. 鸿蒙整体架构采用分层的层次化设计,从下向上依次为:内核层、系统服务层、框架层和应用层 B. 鸿蒙内核层采用宏内核设计,拥有更强的安全特性和低时延特点 C. 鸿蒙采用了分布式设计理念,实现了 4 种分布式能力 D. 架构的系统安全性主要体现在搭载 HarmonyOS 的分布式终端上,可以保证"正确的人,通过正确的设备,正确地使用数据"

参考答案B 解析:鸿蒙采用微内核架构,不是宏内核


例题 2:简答题

题目:GENESYS 架构的主要特征及优势是什么?

参考答案: GENESYS 架构的主要特征及优势包括:

  1. 精确的构件定位:简单化、跨领域重用、规模经济型、健壮性、降低系统集成工作量(5 个特征)
  2. 开放性:可集成、可升级、可扩展、遗产系统集成、降低成本(5 个特征)
  3. 三级集成:芯片级集成、设备级集成、系统级集成
  4. 分层的服务:可重用性、领域定位、工效经济型
  5. 确定的核心:及时性、降低复杂性、可测试性、认证、故障掩蔽
  6. 标准的互联集成:对远程访问的保护、降低集成工作难度、常规人机交互、安全性(4 个方面)

例题 3:简答题

题目:鸿蒙操作系统架构具有哪几个技术特性?

参考答案

  1. 分布式架构用于终端操作系统,实现跨终端无缝协同体验
  2. 确定时延引擎和高性能进程间通信技术,实现系统的流畅
  3. 基于微内核架构,重塑终端设备的可信安全
  4. 统一集成开发环境,一次开发,多端部署,实现跨终端生态共享

例题 4:简答题

题目:嵌入式系统软件架构设计方法中的实时系统设计方法(DARTS)具有哪些优势和不足?

参考答案

优势

  1. 强调将系统分解为并发任务,并提供确认任务的标准
  2. 提供定义任务间接口的指南
  3. 强调用任务架构图的重要性
  4. 提供从实时结构化分析规格到实时结构化设计的转换

不足

  1. DARTS 使用信息隐藏技术封装数据存储,封装性不好
  2. 如果实时结构化分析阶段完成得不好,任务的结构化工作就会更加困难

4. 论文素材

本章是论文题出题范围,以下 3 个题目方向可以重点准备:

  1. 论鸿蒙操作系统的分布式架构设计

    • 写作要点:4 层架构、4 大特性、4 种分布式能力
    • 实战案例:智能家居跨设备协同
  2. 论嵌入式系统的实时调度算法选择

    • 写作要点:RMS/EDF/LLF 对比、抢占 vs 非抢占
    • 实战案例:工业控制实时系统
  3. 论嵌入式数据库在物联网终端的应用

    • 写作要点:eXtremeDB/SQLite 对比、内存 vs 文件
    • 实战案例:智能水电气表数据采集

5. 高频考点

  1. 嵌入式发展 5 阶段:必背
  2. 处理器 5 大类:MPU/MCU/DSP/GPU/SoC
  3. 宏内核 vs 微内核:鸿蒙是微内核
  4. RMS 是最优调度算法:高频陷阱题
  5. 3 大实时调度算法:EDF/LLF/RMS
  6. 鸿蒙 OS 4 层架构 + 4 大技术特性:必出
  7. GENESYS 6 大特征:简答题常考
  8. DARTS 优势 4 条、不足 2 条:背熟
使用 Hugo 构建
主题 StackJimmy 设计