嵌入式系统设计:步骤、原则与现实应用
嵌入式系统集成专用硬件和软件以执行特定功能。其核心通常围绕微控制器或微处理器,因架构、功耗包络和面积限制而选用。微处理器基于冯·诺依曼模型,拥有独立的程序和数据存储器,常见于个人电脑。微控制器基于哈佛架构,将处理器、存储器和I/O集成在单一封装中,具备低功耗和小尺寸优势,适用于MP3播放器、洗衣机等家电。
什么是嵌入式系统设计?
定义:嵌入式系统设计是打造紧耦合软硬件解决方案的学科,旨在满足特定功能性和非功能性需求。其核心是微控制器,协调数据流、控制逻辑和外设交互。
嵌入式系统类型
- 独立嵌入式系统
- 实时嵌入式系统
- 网络化家电
- 移动设备
核心要素
- 处理器(微处理器或微控制器)
- 数字信号处理器(DSP)
- 存储器(RAM/ROM/Flash)
- I/O接口和外设
设计流程概览
嵌入式系统设计流程包含以下关键阶段:
抽象
识别并抽象问题域,定义高层系统目标和约束。
软硬件架构
明确硬件与软件的职责划分,确保架构平衡高效。
功能增强
确定扩展核心功能的额外特性,并在早期集成到架构中。
参考设计家族
利用成熟的设计家族和先前架构降低风险、加速开发。
模块化设计
将系统分解为可复用模块,便于维护和未来升级。
映射
将软件模块与硬件资源对齐,映射数据和控制流以实现最优性能。
用户界面设计
设计满足用户需求、环境约束和功耗预算的界面——对移动和穿戴设备至关重要。
细化
迭代细化组件,确保软件团队理解清晰,并与架构描述语言对齐。
- 控制层级
- 结构分区
- 数据结构与层级
- 软件过程
设计指标与参数
高效嵌入式系统需满足以下指标:
| 设计指标 | 期望 |
| 功耗 | 尽可能降低 |
| 性能 | 高吞吐、低延迟 |
| 进程截止期限 | 满足所有时序约束 |
| 制造成本 | 在不妥协质量前提下最小化 |
| 工程成本 | 控制设计、测试和调试费用 |
| 尺寸 | 以内存、物理占地和功耗包络定义 |
| 原型时间 | 快速迭代验证 |
| 安全性 | 实施安全锁定和故障安全机制 |
| 可维护性 | 设计便于更新和故障隔离 |
| 上市时间 | 缩短从概念到发布的交付周期 |
嵌入式软件开发活动
嵌入式系统软件开发遵循结构化方法:
规格说明
定义清晰的功能性和非功能性需求,指导软硬件设计。
架构
建模硬件、固件和应用软件间的分层交互。
组件
设计和选择处理器核心、存储器、总线和外设接口。
系统集成
集成所有组件并针对规格验证系统级行为。
常见设计挑战
- 环境适应性
- 功耗限制
- 物理尺寸
- 封装与集成复杂性
- 软硬件更新路径
- 安全漏洞
- 验证、确认和可维护性测试
嵌入式系统设计案例
- 自动巧克力售货机(ACVM)
- 数码相机
- 智能卡
- 手机
- 移动电脑
案例研究:自动巧克力售货机(ACVM)
ACVM根据投币和图形界面选择向用户出售巧克力。
设计步骤
- 需求捕获
- 规格起草
- 硬件和软件功能划分
需求
机器接受投币,允许选择巧克力,并出售所选商品或退还超额付款。
输入
- 硬币(通过专用端口)
- 用户选择(键盘/触摸屏)
- 硬币检测产生的中断
输出
- 巧克力出货
- 退款机制
- LCD消息(日期、时间、欢迎语)
系统功能
- 用户通过触控LCD选择所需巧克力。
- 付款充足时系统出货;否则退还超额金额。
- 可选USB无线调制解调器记录交易供远程监控。
设计指标
功耗:优化显示尺寸和机械执行器以提高能效。
进程截止期限:机器必须在投币后10秒内完成交易处理。
规格说明
硬币通过端口1、2、5路由;每个端口触发中断以增加支付计数器。
LCD显示价格、时间和欢迎消息;出货口将巧克力输送给用户。
硬件架构
- 微控制器:8051
- 64 KB RAM,8 MB ROM,64 KB Flash
- 键盘和机械硬币分拣器
- 巧克力和硬币通道
- USB无线调制解调器用于连接
- 电源供应
软件架构
软件模块包括价格更新、LCD消息处理和交易逻辑,均可在RAM/ROM中更新。
典型固件更新涉及价格调整、消息变更或功能增强,确保ACVM无需硬件修改即可保持最新。
总之,嵌入式系统设计融合软硬件,在严苛约束下交付专用功能。掌握设计流程、指标及ACVM等现实案例,助力工程师创建可靠、高效、以用户为中心的产品。
嵌入式