系统分析师-第五章(嵌入式系统)

嵌入式系统概论

  • 特点
    • 系统专用性强
    • 软、硬件依赖强
    • 系统实时性强
    • 处理器专用
    • 多种技术紧密结合
    • 系统透明性
    • 系统资源受限
  • 嵌入式系统I/O 工作方式:查询方式,实现上简单
  • 实时系统 RTES(实时嵌入式系统[Real-Time Embedded System])
    • 兼容 实时性 和 嵌入式的称为 实时嵌入式系统
    • 特点
      • 逻辑正确:能产生预计的结果
      • 时间正确:处理时间必须在预计时间内完成
      • Deadline:系统必须在 deadline 前完成计算
      • 实时系统:时间正确功能正确
    • 不同场景对 deadline 的容忍度不同,将 RTES 分为
      • 硬RTES deadline 必须满足不允许出现,否则价值为零
      • 软RTES deadline 必须满足,可容忍出现,需要自动尝试恢复
    • RTES 的开始时间和完成时间一样重要,当任务缺少必要资源(CPU、内存)会阻碍任务的启动,造成deadline,这时候问题演变为资源调度问题
  • 硬件体系结构
    • 微处理器(负责控制系统)
    • 外部设备
    • 存储器(RAM/ROM/混合存储器)
    • 分类
    • 嵌入式微处理器:和RAM、ROM、总线安装在一个主板上
    • 嵌入式微控制器(单片机):集成了CPU等等,单片化
    • 嵌入式数字信号处理器:提供特殊的DSP(Digital Signal Processor)指令,包括 数字滤波、快速傅里叶变化和 频谱分析
    • 嵌入式片上系统
  • 软件体系结构
    • 应用软件
    • 支撑软件 窗口软件、Java虚拟机、数据库系统、网络系统
    • 嵌入式操作系统(EOS)
  • 嵌入式操作系统 EOS
    • 特点
      • 微型化 没有外存,主存很少,资源占用小,精简
      • 代码质量高 存储空间小,代码精简且高效
      • 专业
      • 实时性强
      • 可裁剪可配置
    • 分类
      • 实时嵌入式操作系统(RTOS)
        • 影响实时性能
          • 上下文切换时间
          • 最大中断延迟时间
          • 任务调度算法
        • 优先级反转
          • 由于 RTOS 中 高优先级任务 需要的共享资源被 低优先级任务阻塞,导致高优先级任务的耗时不可预测
          • 采用 优先级继承 解决,释放资源顺序与获取资源书序相反
          • 拥有多个共享资源的任务 优先级提高多次当有高优先任务的等待低优先任务释放资源时,可以临时提高低优先级任务的优先级,尽快的释放共享资源
          • 由 RTOS 执行完成
          • 良好的系统设计
      • 非实时嵌入式操作系统
    • 结构
      • 调度器 核心 分配器、调度算法
      • 内核对象 任务、信号量
      • 内核服务 内存管理
    • 多任务调度机制
      • 任务之间是不公平的对于 RTOS 调度器来说
      • 任务、任务对象、多任务、调度器、可调度实体
      • 上下文切换 每个任务都有自己的上下文状态,将状态保存在寄存器
      • 可重入性 有此特性的代码都支持中断
      • 分发器 经过三个区域之一:应用程序、ISR(Interrupt Service Routines 中断程序)或内核
    • 内核提供 任务管理服务 允许任务操作有:任务创建、删除,任务调度控制、任务信息获取
    • 内核算法
      • 基于优先级抢占的时间片轮转调度 为每个任务提供确定份额的CPU执行时间
      • 基于优先级的抢占调度
        • 静态优先级 固定好优先级
        • 动态优先级 执行过程中优先级会变动,单调执行速率调度发(Rate Mornitonic Scheduling RMS)
系统分析师-第五章(嵌入式系统)_第1张图片
4E377427-F983-4856-8C87-4F76758BF0CF.png
  • 内核对象
    • 信号量 相当于锁,达到同步和异步
      • 二值信号量 全局信号,0不可用,1可用
      • 计数信号量 全局信号,0不可用,大于0可用,释放信号量+1,获取信号量-1
      • 互斥信号量 局部信号 初始为开锁、获取闭锁,释放开锁
    • 消息队列 任务除了同步状态,还需要交换信息,将交换数据存放在 数据通道中 实现 任务和 ISR的交换。
    • 管道 类似一个 队列提供两端,一端是Read,一端是Write,中间传输的是非结构化字节流
      • 命名管道 类似于一个文件名,使用名字即可访问
      • 非命名管道 必须使用创建后返回的描述符才可用
    • 事件
    • 信号 事件发生时产生的软中断
    • 条件变量 当一个任务等待其他任务创建共享资源需要的条件,经常与互斥信号一起使用
  • 内核服务
    • 异常
      • 同步异常 程序与指令执行相关事件引起的异常
        • 精确异常
        • 不精确异常 流水线和指令预取处理机不能精准判断
      • 异步异常 外部时间异常,系统复位异常等
        • 屏蔽异常 可以被软件阻塞或开放的
        • 不可屏蔽异常
      • 异常的优先级高过 内核对象:任务、信号量、队列
    • 中断 属于异常的一种,关中断时长 是实时内核的重要指标
    • 计数器
      • 实时时钟
      • 系统时钟
      • 时钟节拍
      • 可编程计时器
      • 软件计时器
    • I/O管理
  • 常见嵌入式系统
    • VxWorks 持续性、高性能,试用面广
    • Palm 强开放
    • Windows CE
    • Linux

嵌入式系统数据库

  • 环境特点
    • 设备随时移动性、网络频繁断接、网络条件多样化、通信能力不对称
  • 完整嵌入式数据库系统
    • 移动设备端:嵌入式DBMS
      • 安全性
      • 事务性
      • 一致性 -> 乐观复制
      • 同步数据
      • 微结构、标准SQL支持
      • 多种协议支持 串行通信、TCP/IP
      • 支持多种 EOS:palm、windows ce
      • 嵌入式数据库管理功能
    • 连接网络
    • 服务端:同步服务器,数据服务器[主备]

嵌入式系统网络

  • 现场总线(FieldBus)控制器 工业标准
    • 全数字化、全分布、双向传输
    • 自诊断、节省布线和控制器空间、多功能
    • 开放性、互操作性、智能化与自治性
    • 可靠性
  • 嵌入式Internet
    • 接入方式
      • 直连因特网 需要耗费IP资源,IPv6可以考虑
      • 通过网关接入 需要一个额外的接入设备
    • TCP/IP协议栈
      • 与普通协议栈不同,不同厂家做了修改
      • 可裁剪性、平台兼容性、高效性

嵌入式系统开发

  • 开发方法:交叉平台开发法(Cross Platform Development CPD),软件在一个通用平台开发,在另一个嵌入式目标平台运行
    • 工具:交叉编译器、交叉链路器、源代码调试器
  • 调试方法
    • 直接调试:在目标平台直接调试
    • 调式监控法(插桩法):通过 在目标平台装有监控程序
      • 通过 串口、并口、以太网、ICE、ROM仿真器等 相连 宿主机和目标机
      • 目标机 启动一个 模块 监控和控制被调程序
      • 宿主机通过 连接线路 向调式监控器发送请求
      • 宿主机 与 目标主机需要建立的是一组连接,包括了逻辑连接
      • ROM仿真器 实现了监控模块
    • 在线仿真法(ICE) 好用贵
    • 片上调式法(ICD) 性能不如ICE,使用范围受限
    • 模拟器法

能耗问题

  • 动态电源管理(Dynamic Power Manager DPM) 根据系统的负载和工作情况动态改变管理策略
    • 休眠状态 设定一个极限T 作为进入休眠的系统空闲时间
    • 动态速度缩放
    • 算法
      • 基于阈值
      • 预测算法 通过动态分析以往空闲时间间隔,得出间隔时间(研究发现、学习树、回归等式法)
      • 随机法

你可能感兴趣的:(系统分析师-第五章(嵌入式系统))