嵌入式系统设计|计算平台

文章目录

  • 基本计算平台
    • 硬件组件
    • 软件组件
  • CPU总线
    • 总线结构和协议
      • 四周期握手协议—最常见的总线协议
      • 典型的总线组件
      • 时序图
      • 总线读、写
        • 总线读
        • 总线写
        • 读操作的等待状态
      • 突发传输(Burst Transfer)
      • 分离式传输(非链接传输)
      • 状态机
      • 小数据束
    • DMA(直接存储器访问)
      • 总线主控器(Bus mastership)
      • DMA控制器
      • DMA操作
      • 系统总线配置
        • 桥的状态图
        • ARM AMBA 总线
  • 存储设备
    • RAM(Random-access memory)
    • 存储器系统结构
      • PC机上的内存
      • 存储器系统和存储器控制器
      • 通道与块
  • 计算平台的设计
    • 平台选择
    • 知识产权(Intellectual property IP)
    • 开发环境
      • 宿主机/目标机设计方法
      • 基于主机的开发工具
      • Watchdog timer(看门狗定时器)
    • 调试技术
      • 断点
        • ARM设置断点
        • 断点处理的动作
      • LED灯
      • 内部仿真器 (ICE)
      • JTAG仿真器
      • 逻辑分析器(Logic analyzers)
  • 系统层的性能分析
    • 带宽与性能
    • 带宽与数据的传输
    • 总线的带宽
    • 突发传输的带宽
    • 内存的带宽问题—内存的长宽比(64M)
    • 内存的访问时间
  • 练习题

基本计算平台

  • 微处理器、I/O设备和存储器
    • CPU总线连接设备
  • 提供实现嵌入式应用的环境
    • 硬件和软件

硬件组件

  • CPU:提供基本的计算能力
  • RAM:用于存储程序和数据
  • ROM:保存引导程序和一些永久的数据
  • DMA:控制器提供直接内存访问功能
  • 计时器:被OS用于各种目的
  • 高速总线:高速设备与其它设备通讯
  • 低速总线:连接较简单的设备

CPU总线

  • 总线(bus)是CPU与存储器、设备通讯的机制
    • 共享通讯介质
  • 总线是:
    • 一束电线
    • 通讯协议
      • 协议通常通过状态机来说明
      • 异步逻辑行为
  • 多种总线的目的:
    • 将设备分配到不同总线,可以减少负载,提高总线的利用率
    • 低速总线相对于高速总线简单成本低,同时低速设备连接到高速总线不能提高性能
  • 数据传输
    • 组件之间的数据传输
      • CPU与存储器之间
      • CPU与I/O设备之间
      • 存储器与存储器之间
      • 存储器与I/O设备之间
    • 采用的方式
      • 基本:CPU执行相关指令
      • 直接存储器存取(DMA)

总线结构和协议

  1. 设备1提出请求
  2. 设备2响应该请求
  3. 一旦数据传送完成,设备2发出接收完数据的信
  4. 设备1结束请求

典型的总线组件

  • C l o c k Clock Clock:时钟,用于同步总线组件
  • R / W  ̄ R/overline{W} R/W:总线的读或写
  • A d d r e s s Address Address:地址总线,一束信 线
  • D a t a Data Data:数据总线,一束信 线
  • D a t a R e a d y DataReady DataReady:数据就绪

时序图

总线读

  • 时钟信 上升沿,设置地址使能信 ,地址线上设置所需值; R / W  ̄ = 0 R/overline{W}=0 R/W=0表示写
  • 在第一个时钟周期后,CPU 将数据传送至数据线,;
  • 外设向相应,在第二个时钟周期末,撤去地址线上的地址,并清除数据线上的数据。

读操作的等待状态

  • 收到一个地址,
  • 增加一根线路:Burst,

分离式传输(非链接传输)

  • 请求和响应是分开的
    • 第一个操作是请求传输
    • 然后总线可以做其它操作
    • 等数据准备好后,传输随后开始

状态机

  • 状态机是对时序图的一个有用的补充
  • 总线主控器(Bus mastership)

    • 总线主控器是能够启动自己总线传输的设备
    • DMA可以成为总线主控器来完成传输
      • DMA 成为总线主控器时,CPU不能使用总线
    • 通过四周期握手协议获得总线主控器
      • 总线请求(Bus request):是CPU的输入信 ,通过它DMA控制器请求总线所有权
      • 总线授权(Bus grant):信 表示总线已经授权给DMA

    DMA控制器

    • CPU通过DMA控制器的寄存器来控制DMA
      • 起始地址寄存器:指明传输从何处开始
      • 长度寄存器:指明将要传输的字的数目
      • 系统总线配置

        • 多条总线允许并行:
          • 慢的设备连到一个总线上.
          • 快的设备连到另一个总线上
        • 通过桥(bridge)将它们连接起来.
          • 速度接近,通过状态机连接
          • 速度相差大,需要寄存器暂存数据
        • 使用多总线和桥的原因:
          • 越高速的总线通常提供越宽的数据连接
          • 高速总线通常要更昂贵的电路和连接器。使用较慢、较便宜的总线可以降低设备成本
          • ,这样在I/O操作中可以提供某些并行性

        • 上半部分从快速总线到低速总线写入
        • 下半部分从低速总线读取,并写入快速总线

        ARM AMBA 总线

        • 类型:
          • DRAM:动态随机存储器.
          • SRAM:静态随机存储器.
          • Flash:闪存,为ROM,但允许芯片在标准系统内部再编程.
        • 存储器的变化:
          • 基本结构简单.
          • 二维阵列,行地址和列地址

        RAM(Random-access memory)

        • RAM可以被读和写。它们被称为随机存取是因为它们可以按照任意顺序访问。

        • 动态RAM,DRAM,密度大、定期刷新

          • SDRAM: 同步 DRAM.
          • EDO DRAM: 扩展数据输出.
          • FPM DRAM: 快速页面模式.
          • DDR DRAM: 双倍数据速率.
        • SRAM(Static RAM )快速、密度小,消耗更多的能量.

        • SDRAM 读操作:

          • SDRAM 使用RAS 和 CAS信 将地址分成两部分,从而选择正确的行和列

        通道与块

    基于主机的开发工具

    • 交叉编译器(Cross compiler):
      • 交叉编译:在一类机器上运行,却为另一类机器生成代码
    • 交叉调试:
      • 在主机上显示目标机的状态,允许主机控制目标机.

    Watchdog timer(看门狗定时器)

    • 看门狗定时器监控软件的正确运行
    • 看门狗被系统时钟周期性的复位
    • 断点处理的动作

      • 保存寄存器
      • 允许用户检查CPU的状态
      • 返回前,必须恢复系统的状态
        • 删除断点,原先的指令被简单的恢复
        • 若断点保留,原来的指令被恢复的同时会将一个新的临时断点放在下一条指令处。

      LED灯

      • 在调式中的重要性。
      • 在串行端口,LED指示系统的状态。

      内部仿真器 (ICE)

      • 专用的硬件工具,帮助调试软件
      • 微处理器的一个特殊版本
      • 当它停止时,其内部寄存器的内容可以被读出

      JTAG仿真器

      • JTAG 仿真器也称为 JTAG 调试器,是通过 ARM 芯片的 JTAG 边界扫描口进行调试的设备。
      • JTAG 仿真器比较便宜,连接比较方便,无需目标存储器,不占用目标系统的任何端口,而这些是驻留监控软件所必需的。
      • JTAG 调试的目标程序是在目标板上执行,仿真更接近于目标硬件。
      • 使用集成开发环境配合 JTAG 仿真器进行开发是目前采用最多的一种调试方式。

      逻辑分析器(Logic analyzers)

      • 可以看成是一组低成本的示波器:
        • 同时采样多个信
        • 把信 上的值纪录,并在显示器上显示
        • 2种模式:
          • 状态模式:面向过程问题中的调试,系统自带时钟,每个时钟周期采用一个信
          • 定时模式:采用内部时钟,频率高,每个时钟阶段抽取多个样本

带宽与性能

  • 带宽:数据传输的速率
  • 带宽应用到下面的部件:
    • 内存.
    • Bus.
    • CPU .
  • 系统的不同部件应用到不同的时钟频率上.
  • 不同的部件有不同的带宽 (bus, memory).

带宽与数据的传输

  • 视频一帧: 320 x 240 x 3 = 230,400 bytes.
    • 在 1/30 秒=0.033 秒通过一帧.
  • 若传输速度 1 b y t e / 1 byte/ 1byte/ μ mu μ s s s, 则0.23 秒每帧.
    • 太慢.
  • 增加带宽:
    • 增加总线的宽度.
    • 增加总线时钟的频率.

总线的带宽

  • T: 总线的周期数.
  • P: 总线时钟周期time/bus_cycle.
  • 总的传输时间:
    • t = TP.
  • W:基本总线宽度,字节单位.
  • N:传送的字节数
  • B: 一次突发传送连续执行了B次传输.
  • D: 传输W字节宽的数据消耗D个时钟周期.
  • 额外消耗:O=O1 + O2

内存的带宽问题—内存的长宽比(64M)

  1. 绘制时序图
    a.设备成为总线主控的过程。
    b.设备将总线控制权返回给CPU的过程

  1. 单字传输时间为1,单字传输开销为O = 1,一次突发传输开销为 O = 3, 总的传输量为两字节。

故两次单字传输时间为:T = 2*2 = 4
一次突发传输时间为:T = ( 2 * 1 + 3 ) * ( 2 / 2 ) = 5
因此选择两次单字传输更为快捷。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年4月26日
下一篇 2021年4月26日

相关推荐