ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术

文章目录

  • 0互联结构
    • 总线优点
  • 1总线技术
    • 1.1 总线基础
      • 1.1.1 要素(介质、协议)
        • (1)线路介质
        • (2)协议
      • 1.1.2 分类
        • 1 结构层次(位置)
          • 片内(上)总线
            • ARM的AMBA
          • 片间总线
          • 系统内总线
          • 通信总线
          • ps 局部总线
        • 2 总线功能/信号类型
        • 3 数据传输方式(时序)
      • 1.1.3 性能
    • 1.2 仲裁体系结构
      • 1.2.1 总线控制器
      • 1.2.2 分类
        • (1)集中/分布
          • 分布式(对等式)仲裁
          • 集中式(主从式)仲裁
        • (2)串行/并行
          • 串行
        • (3) 串并行二维仲裁
    • 1.3 总线操作与时序
      • 1.3.1 总线操作
        • 总线周期
      • 1.3.2 总线时序
        • 同步
        • 异步
        • 半同步
  • 2 总线标准
    • 2.1基本含义
      • 特性
    • 2.2 并行总线标准
      • (1)AMBA
        • AHB
        • APB
      • (2)PCI
    • 2.3 串行总线标准
      • 串行数据的通信方式
      • 传输速率
      • 距离
      • 差错控制
        • 常见错误
        • 方式
      • 串行总线时序
        • 对比
        • 1 同步串行通信
        • 数据格式
        • 2 异步串行通信
          • 数据帧格式
          • 通信仲裁
      • 典型总线和接口
        • USB
          • 硬件组成
          • 软件组成
          • 数据格式
        • RS232 422 485
        • SPI
        • I2C
        • CAN

0互联结构

互联结构(interconnection structure)指计算机系统中连接各子系统的通路集合。
而总线(bus)是使用最普遍的互连结构。

  • 非总线结构
    ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第1张图片在这里插入图片描述
  • 总线结构
    ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第2张图片ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第3张图片

总线优点

  • 低耦合,减少部件间连线的数量
  • 扩展性好,便于构建系统
  • 便于产品的更新换代

1总线技术

总线是计算机系统中模块与模块之间、部件与部件之间、设备与设备之间传送信息的一组公用信号传输线。

1.1 总线基础

1.1.1 要素(介质、协议)

(1)线路介质

  1. 种类:有线(电缆、光缆)、无线(电磁波)
  2. 特性:
    原始数据传输率、带宽
    对噪声、失真、衰减的敏感性等

(2)协议

  • 电气性能:
    总线信号:有效电平、传输方向/速率/格式等
    总线时序:规定通信双方的联络方式
    总线仲裁:规定解决总线冲突的方式
    其它:如差错控制等
  • 机械性能:如接口尺寸、形状等
    ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第4张图片

1.1.2 分类

ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第5张图片

1 结构层次(位置)

ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第6张图片

片内(上)总线

ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第7张图片

  • 简单高效
    • 结构简单:占用较少的逻辑单元
    • 时序简单:提供较高的速度
    • 接口简单:降低IP核连接的复杂性
  • 灵活,具有可复用性
    • 地址/数据宽度、互联结构、仲裁机制可变
  • 功耗低
    • 信号尽量不变、单向信号线功耗低、时序简单

ARM的AMBA 、IBM的CoreConnect、Silicore的Wishbone、Altera的Avalon

ARM的AMBA

ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第8张图片

  • 先进高性能总线AHB (Advanced Highperformance Bus)
    • 适用于高性能和高吞吐设备之间的连接,如CPU、片上存储器、DMA设备、DSP等
  • 先进系统总线ASB(Advanced System Bus)
    • 适用于高性能系统模块。与AHB的主要不同是读写数据采用了一条双向数据总线
  • 先进外设总线APB Advanced Peripheral Bus)
    • 适用于低功耗外设,经优化减少了功耗和接口复杂度
片间总线

ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第9张图片

系统内总线

PCI ISA 插板级总线
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第10张图片

通信总线

ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第11张图片

ps 局部总线

指的是PCI
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第12张图片
计算机总线结构
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第13张图片

2 总线功能/信号类型

ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第14张图片

ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第15张图片ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第16张图片
现代计算机总线结构
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第17张图片

3 数据传输方式(时序)

数据格式:串行和并行

串行数据传输时,数据是一位一位地在通信线上传输的
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第18张图片
时序:同步和异步
单步和突发

1.1.3 性能

总线带宽=总线速率x(总线宽度/8)

总线负载能力

1.2 仲裁体系结构

总线仲裁也称总线判决,其目的是合理地控制和管理系统中多个主设备的总线请求,以避免总线冲突。

1.2.1 总线控制器

作用

  • 总线系统的资源分配与管理
  • 提供总线定时信号脉冲
  • 负责总线使用权的仲裁
  • 不同总线协议的转换
  • 不同总线间数据传输的缓冲

1.2.2 分类

集中/分布,串行/并行

(1)集中/分布

分布式(对等式)仲裁

任意一个请求后,总线置为忙,其他等待
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第19张图片
控制逻辑分散在连接于总线上的各个部件或设备中

集中式(主从式)仲裁

采用专门的控制器或仲裁器
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第20张图片

  • 特点
    各主控模块有独立的请求信号线BR和允许信号线BG 其优先级别由总线仲裁器内部模块判定;
  • 优点:总线请求响应的速度快;
  • 缺点:扩充性较差;

总线控制器或仲裁器可以是独立的模块或集成在CPU

(2)串行/并行

串行

特点:各主控模块共用请求信号线BR和忙信号线BB, 其优先级别由其在链式允许信号线上的位置决定;
主控模块数目较多时,总线请求响应速度较慢;
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第21张图片

(3) 串并行二维仲裁

ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第22张图片
综合了前两种仲裁方式的优点和缺点

1.3 总线操作与时序

1.3.1 总线操作

通过总线进行信息交换的过程。

总线周期

总线设备完成一次信息交换的时间,如存储器读/写周期、I/O口读/写周期、DMA周期、中断周期等。

  • 多主控制器系统的总线操作周期一般分为四个阶段:总线请求及仲裁阶段、寻址阶段、传数阶段和结束阶段
  • 单主控制器系统的总线操作周期一般只需要寻址和传数两个阶段
    -ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第23张图片

1.3.2 总线时序

总线事件的协调方式,目的是实现可靠的寻址和数据传送。

  • 同步:所有设备采用统一时钟信号进行收发定时
  • 异步:依靠==握手(handshake)==信号实现收发控制
  • 半同步:具有同步总线的高速和异步总线的适应性

同步

地址、数据及读/写等控制信号可在时钟沿处改变
数据传输速率快
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第24张图片

异步

系统中可以没有统一的时钟源,模块之间依靠各种联络(握手)信号进行通信
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第25张图片

半同步

同时使用主模块的时钟信号和从模块的联络信号
兼有同步总线的速度和异步总线的可靠性与适应性
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第26张图片

2 总线标准

2.1基本含义

ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第27张图片
与接口标准(通信总线)对比
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第28张图片

特性

ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第29张图片

  • 机械
  • 电气
  • 时序
  • 逻辑 信号电平
  • 通信协议

2.2 并行总线标准

AMBA(片内总线)、PCI(系统内总线)、VXI (系统外总线)
传输速率用带宽(MB/s)
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第30张图片

(1)AMBA

AHB

AHB总线的基本传输周期
1.地址传送阶段:传送地址与控制信号。
只持续一个时钟周期,在HCLK 的上升沿数据有效,所有的从模块都在这个上升沿采样地址信息。
2.数据传送阶段:传送数据和响应信号。
可以持续一个或几个时钟周期(HREADY 信号为低电平时加入等待周期)。
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第31张图片

APB

  • APB 桥是唯一的主模块(系统总线上的从模块)

    • 锁存地址并在地址译码后生成唯一的PSELx
    • 触发使能信号PENABLE
    • 驱动数据信号
  • 主要用于低带宽外设的连接
    ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第32张图片

(2)PCI

集中式同步仲裁
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第33张图片
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第34张图片

ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第35张图片
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第36张图片
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第37张图片
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第38张图片
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第39张图片

2.3 串行总线标准

RS232rs232介绍、USB、SPI、现场总线CAN
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第40张图片

ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第41张图片
USB异步

串行数据的通信方式

ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第42张图片

传输速率

并行通信中,传输速率是以每秒传送多少字节(B / S)来表示。
串行通信中,传输速率在基波传输的情况下(不加调制,以其固有的频率传送)是用每秒钟传送的位数(bit/s)即波特率来表示。
ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第43张图片
波特率因子接收时钟和发送时钟与波特率有如下关系:F=n×B

这里F是发送时钟或接收时钟的频率;B是数据传输的波特率;n称为波特率因子

距离

串行数据在基波传送方式下(指信号按原样传输),通常只能传输几十米至几百米,并且传输速率越大,传输距离越短。通常采用载波传送。
如:可将数字信号利用MODEM调制到300 ~ 3300Hz频段以利用公用电话线进行传输。

差错控制

在串行数据长距离的传送过程中,很容易由于突发性干扰(电气干扰、天电干扰等)而引起误码,所以差
错控制能力是衡量串行通信系统性能的一个重要指标。
差错控制通常包括两方面的内容:

  • 检错:如何发现传输中的错误。奇偶校验
  • 纠错:发现错误后,如何消除和纠正错误 。CRC

常见错误

ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第44张图片

方式

1.检错重发ARQ 奇偶校验
奇校验:加上奇偶校验位一共有奇数个1
在这里插入图片描述
2.前向纠错FEC CRC
ref
CRC原理介绍及verilog
在这里插入图片描述
3.混合纠错HEC

串行总线时序

根据通讯类型,通讯时序可分类:异步和同步

对比

  • 同步通信中除数据外还必须传送时钟,系统较复杂
  • 同步通信中附加的信息量少,传送效率较高; (同步通信中每个数据块会增加一些冗余信息, 而异步通信中每个字符都会有一些附加信息位。)
  • 同步通信每次传送一个数据块,块中各字符间不允许有间隔(如遇上有字符未准备好的情况应填入同步字符);而异步通信每次传送一个字符,字符间间隔任意;

因此,同步串行通信适合较快地传送大批数据的场合,一般用于网络通信中;而异步串行通信适合较慢地传送间断性的数据,一般用于点对点通信中。

1 同步串行通信

同步串行通信以数据块为基本单位,传输时字节与字节之间、位与位之间都需要严格同步,因此收发双方需要使用(传送)同一时钟信号
同步串行通信通常采用CRC校验方法进行数据的检错和纠错。

数据格式

ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第45张图片

2 异步串行通信

异步串行通信以字符(帧)为基本单位,传输时帧与帧之间无时序关系,收发双方只需保证接收时钟和发送时钟在误差范围内同频率,而无需使用(传送)同一时钟源。

收发双方的本地时钟=波特率因子n×波特率

帧内各位按固定时序和顺序传送。

数据帧格式

异步串行通信传送的数据格式可如下定义:

  • 首先传送1位起始位(固定是低电平)。
  • 再从最低位(b0)开始传送7位信息位,
  • 然后是1位奇偶校验位,
  • 最后是1位(或1.5位、2位)停止位(一般是高电平)。
    ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第46张图片

可能的错误类型:奇偶校验错,帧格式错,溢出错

通信仲裁

ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第47张图片

典型总线和接口

USB

串行,大多异步

  • 连接简单,支持P&P及热拔插,无需电源
  • 接口体积小,兼容性好,支持多连接
  • 3种传送速度、4种传送模式适用各种外设
  • 半双工异步串行总线,具有主从结构
硬件组成

USB HOST
USB DEVICE
USB HUB

软件组成
  • 主控制器驱动程序(Host Controller Driver)
    安装在主机(计算机中),通过HUB完成初始化,在主控制器与USB设备之间建立通信信道,并完成对USB交换的调度。
  • 设备驱动程序(USB Device Driver)
    安装在主机(计算机中),通常由操作系统或USB设备制造商提供。
  • USB芯片驱动程序(USB Driver)
    固化在USB设备内部,在设备上电时进行初始化,并根据设备特征在请求发生时组织数据传输。
数据格式

ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术_第48张图片

由于连线不能过长(5 m),所以通常最多只能级连5级。
https://wenku.baidu.com/view/c4950a68af1ffc4ffe47acb5.html

RS232 422 485

串行异步

SPI

串行同步

I2C

串行同步

CAN

Controller Area Network
现场总线也称现场网络,是一种工业数据总线,指安装在制造或过程区域的现场装置与控制室内的自动装置之间的数字式、串行、多点通信的数据总线。

ref
PCI
https://wenku.baidu.com/view/66dfb897a76e58fafab003b5.html

你可能感兴趣的:(ARM CORTEX A9 微处理器与嵌入式设计(五)总线技术)