总线结构与分类总线时序总线标准:片内AMBA总线总线标准:PCI总线现代串行总线4.1总线技术总线要素——实现计算机互联线路介质种类电缆(双绞线、同轴线),光缆,无线特性数据传输率(MB/s,Mb/s)带宽,噪声、失真、衰减特性等总线是计算机系统中的信息传输通道,由系统中各个部件所共享。总线的特点在于公用性,总线由多条通信线路(线缆)组成计算机系统通常包含不同种类的总线,在不同层次上为计算机组件之间提供通信通路总线协议总线参与者必须遵守的规则和约定MPUMI/O总线单总线MPUI/OM存储器总线I/O总线双总线MPU局部I/O局部M缓冲器总线控制逻辑全局全局MI/ODMA控制器双重总线局部总线全局总线总线组织多级总线高速设备和低速设备分开提高总线利用率暂存器ALU寄存器控制器片内总线(主板)片总线ABCBDB(插槽)内总线(系统间连接)外总线MPURAMROMI/O接口外设ABDBCB一般控制信号包括M/IO写M/IO读中断请求中断响应时钟复位总线请求总线请求允许总线传输确认……总线分类片内总线芯片总线(片间总线、元件级总线)系统内总线(插板级总线)系统外总线(通信总线)地址总线控制总线数据总线并行总线串行总线同步异步半同步同步异步位置范围功能数据格式时序总线隔离总线驱动(缓冲器)数据锁存(锁存器)总线隔离(三态门)设备抗干扰(光电耦合)T操作00B→A10A→Bx1高阻OEAiTOEBi双向三态缓冲器STBDiDCLKDoOE三态锁存/缓冲DiSTBOEDo例8086微处理器中的总线复用8086采用地址总线与数据总线、地址总线与控制总线合用引脚的方式节约引脚数量。这种复用技术的基础是时间分隔和总线锁存技术。数据缓冲器地址锁存器ABDBALEDEN8086AB/DBAB/DBALEDENVcc8282OESTB8282OESTB8282OESTB8286OET8286OETALEDENRDT/AD15-0BHEA19/S6~A16/S3ABCS译码器RAMABCSRAMMN/MXRDWRD0-D15D0-D158284ACLKREADYRESET8086CPUVccDIDOABBADODIDIDO总线带宽——单位时间总线能传送的最大数据(bit)量)Hz()(bit时钟频率传输周期数总线位宽例总线位宽16bit,传输需要2个周期,时钟频率33MHz。总线带宽=16*33/2=264Mbps=33MBps提高总线带宽提高时钟频率增加位宽减少传输周期数例PCI总线位宽32bit,时钟33MHz,带宽=32X33/8=132MB/s总线仲裁管理系统中多个主设备的总线请求,避免总线冲突当多个设备同时提出请求时按优先级裁决使用权分布式(对等式)仲裁控制逻辑分散在连接于总线上的各个部件或设备中协议复杂且昂贵,效率高集中式(主从式)仲裁采用专门的控制器或仲裁器总线控制器或仲裁器可以是独立的模块或集成在CPU中协议简单而有效,但总体系统性能较低模块1模块2模块N……仲裁器串行仲裁模块1模块2模块N……仲裁器并行仲裁总线请求BR总线忙BB总线允许BGBRBGBB集中式仲裁优先级由模块在BG线的位置决定灵活、易扩展模块数量多会减慢总线响应速度优先级别由总线仲裁器内部模块判定;总线请求响应的速度快;扩充性较差分布式仲裁inout主设备1inout主设备2inout主设备3inout主设备n+5V使用总线的主设备必须in端为高,且将out置低无中央仲裁器,主设备自带控制逻辑请分析仲裁逻辑?仲裁线总线忙总线请求总线操作与时序通过总线进行数据传送称为总线操作总线设备完成一次完整信息交换的时间称为总线周期总线时序是指总线事件的协调方式——为实现可靠的数据传送,收发双方必须遵守的定时关系•读/写存储器周期•读/写IO端口周期•DMA周期•中断周期总线请求和仲裁阶段寻址阶段传送阶段结束阶段总线时序同步总线时序总线上所有信号之间的时间关系以同一个时钟为参考CLKABRD*DBCLK上升沿发出地址,下降沿读/写协调总线设备的步骤和配合,实现可靠的寻址和数据传输电路简单,传输率高TADTDSTRSTRHTDHT地址建立时间数据建立时间数据维持时间读信号维持时间读信号建立时间异步总线时序DBAB①②③④RD/MasterSlave读写③④②①无绝对时间关系,采用握手方式保证数据传输同步互锁联系,可靠性好,控制复杂,速度降低;适用于收发速率差异较大的总线操作WR准备好接收了(M线变高)ok,收到了(M线变低)知道,开始发送(S线变高)(DB有数据,RD/WR=1读)那就结束了。(S线变低)(DB数据撤销)半同步总线时序共有时钟,可插入等待周期协调主控、受控设备同步TWWAITDBRD/CLKAB写读受控设备提出等待请求,主控设备延长数据保持时间兼有同步总线简洁高速和异步总线可靠灵活的优点WR逻辑规范信号有效电平,格式,传输方向……定时规范传输时序,收发同步……差错控制检错和纠错方法机械规范连接器的物理尺寸与标准电气规范总线元件的电气性能和约束通信协议总线参与者必须遵从的规定和约定4.2总线标准片内AMBA总线AMBAAdvancedMicrocontrollerBusArchitecture先进高性能总线AHB(AdvancedHigh-performanceBus)适用于高性能和高吞吐设备之间的连接,如CPU、片上存储器、DMA设备、DSP等先进系统总线ASB(AdvancedSystemBus)适用于高性能系统模块。与AHB的主要不同是读写数据采用了一条双向数据总线先进外设总线APB(AdvancedPeripheralBus)适用于低功耗外部设备,经优化减少了功耗和接口复杂度。适合较复杂的应用,需要遵守较简单的操作协议;拥有众多的第三方支持AHB总线AHB主要用于高性能模块(如CPU、DMA和DSP等)之间的连接单个时钟边沿操作;非三态的实现方式;支持突发传输;支持分段传输;支持多个主控制器;可配置32位~128位总线宽度高带宽外部存储器接口高性能ARM处理器高带宽片上RAMDMAC桥接器UARTTimerkeypadPIOAMBA总线微处理器系统AHB/ASBAPBAHB主机总线主机能够通过提供地址和控制信息发起读写操作。任何时候只允许一个总线主机处于有效状态并能使用总线。AHB从机总线从机在给定的地址空间范围内响应读写操作。总线从机将成功、失败或者等待数据传输的信号返回给有效的主机。AHB仲裁器总线仲裁器确保每次只有一个总线主机被允许发起数据传输。AHB译码器用来对每次传输进行地址译码并且在传输中包含一个从机选择信号。所有AHB执行都必须仅要求有一个中央译码器。典型的AMBAAHB系统设计包含以下的成分:AHB互连AHB总线的接口信号AHB主模块接口AHBmaster仲裁器授予HGRANTxHREADYHRSEP[1:0]HRSETnHCLKHRDATA[31:0]HBUSREQxHLOCKxHADDR[31:0]HSIZE[2:0]HPROT[3:0]HBURST[2:0]HWDATA[31:0]HTRANS[1:0]HWRITE传输完成复位时钟读数据写数据地址总线请求总线锁定传输类型读写控制传输大小突发类型保护控制传输响应AHB从模块接口AHBslaveHREADYHRSEP[1:0]HRSETnHCLKHRDATA[31:0]HADDR[31:0]HSIZE[2:0]HBURST[2:0]HWDATA[31:0]HTRANS[1:0]HWRITE传输完成复位时钟读数据写数据地址传输类型读写控制传输大小突发类型传输响应HSELxHMASTER[3:0]HMASTLOCKHSPLITx[15:0]Split-capableslave主机号锁定序列从机选择分块完成请求每个从机的最大地址空间1kBAHB基本传输时序在AHB总线上,一次完整的传输可以分成两个阶段:地址传送阶段与数据传送阶段。数据传送阶段传送的是读或写的数据和响应信号AddressphaseDataphaseHCLKHADDR[31:0]ControlHWDATA[31:0]HRDATA[31:0]HREADYDataDataATovaTovctlTovwdTohwdTisrdyTihrdTisrd地址有效时间写数据有效时间写数据保持时间准备信号有效时间读数据有效时间读数据维持时间控制信号有效时间HWRITEHSIZEHBURSTHPROTControl传输过程主机传输发起从机传输响应分块传输1主机发起传输2从机给出SPLIT传输响应,并记录主机号3仲裁器移交总线至其他主机4从机准备好后,由HSPLITx指示仲裁器哪个主机应重获总线5仲裁器授予该主机总线6传输开始,从机以“OKAY”响应结束HRESP[1]HRESP[1]响应00OKAY01Error10RETRY11SPLITHREADY与HRESP[1:0]配合APB总线APB主要用于低带宽的周边外设之间的连接APBslavePENABLEPRSETnPCLKPRDATA[31:0]PADDR[31:0]PWRITE读数据PSELxPWDATA[31:0]写数据地址读写控制从机选择复位时钟选通◇低速、低功耗外部总线;◇单个总线主设备控制器;◇非常简单,加上CLOCK和RESET,总共只有4个控制信号;◇锁存地址和控制;APB从模块接口APB桥既是APB总线上唯一的主模块,也是AHB系统总线上的从模块。其主要功能是锁存来自AHB系统总线的地址、数据和控制信号,并提供二级译码以产生APB外围设备的选择信号,从而实现AHB协议到APB协议的转换。桥接器UARTTimerkeypadPIOAPBAHB•锁存地址使之在整个传输期有效;•译码地址并产生外设选择信号PSELx,在一次传输期间只有一个选择信号有效;•写传输,驱动数据到APB总线上;•读传输,驱动APB数据到系统总线上;•为传输产生选通信号PENABLE。APBBRIDGEPENABLEPRSETnPCLKPRDATA[31:0]PADDR[31:0]PWRITEPSEL1~nPWDATA[31:0]系统总线从机接口…AHBAPBAPBslavePENABLEPRSETnPCLKPADDR[31:0]PWRITEPSELxPWDATA[31:0]PWDATA[31:0]HCLKA1T1T2T3T4T5D1D1A1HADDRHRDATAHWRITEHREADYPADDRPRDATAPWRITEPSELPENABLE从APB读HCLKHADDRHWDATAHWRITEHREADYPADDRPWDATAPWRITEPSELPENABLEA1T1T2T3T4T5D1D1A1T6来自AHB写IDELPSELx=0PENABLE=0SETUPPSELx=1PENABLE=0ENABLEPSELx=1PENABLE=1TransferNotransferTransferNotransferAPB传送状态PCI总线(PeripheralComponentInterconnection外围组件互连)独立于CPU构造,支持多种外设,为PC广泛采用同步总线,33/66MHz时钟,32位传输(可扩展64位);突发传输模式,基本传输率132MBps地址/数据总线复用,减小总线规模AD[31:0]地址/数据C/BE[3:0]控制命令/数据位允许PAR奇偶校验信号FRAME帧周期IRDY主设备准备好TRDY从设备准备好STOP从设备要求主设备停止当前数据传输IDSEL初始化设备选择DEVSEL设备选择PERR数据奇偶检验错SERR系统出错REQ总线请求GNT总线允许CLK时钟RST复位12345678CLKADFRAMEC/BEIRDYTRDYDEVEL字节使能CMDADDRESSDATA1DATA2DATA3PCI总线读操作有效,代表总线周期开始FRAMET1AD输出地址,输出总线命令码T2AD输出高阻,有效,从机响应DEVELIRDYC/BET3AD