![微机原理15-总线技术_第1页](http://file4.renrendoc.com/view/b537da53b8ebe1f60b9fbc134a08ec1f/b537da53b8ebe1f60b9fbc134a08ec1f1.gif)
![微机原理15-总线技术_第2页](http://file4.renrendoc.com/view/b537da53b8ebe1f60b9fbc134a08ec1f/b537da53b8ebe1f60b9fbc134a08ec1f2.gif)
![微机原理15-总线技术_第3页](http://file4.renrendoc.com/view/b537da53b8ebe1f60b9fbc134a08ec1f/b537da53b8ebe1f60b9fbc134a08ec1f3.gif)
![微机原理15-总线技术_第4页](http://file4.renrendoc.com/view/b537da53b8ebe1f60b9fbc134a08ec1f/b537da53b8ebe1f60b9fbc134a08ec1f4.gif)
![微机原理15-总线技术_第5页](http://file4.renrendoc.com/view/b537da53b8ebe1f60b9fbc134a08ec1f/b537da53b8ebe1f60b9fbc134a08ec1f5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十五章 总线(zn xin)技术15.1 总线(zn xin)的概念和分类15.2 ISA总线15.3 PCI总线15.4 I2C总线15.5 1-wire 单总线15.6 SPI总线15.7 USB接口共一百二十九页15.1 总线(zn xin)的概念和分类总线:一组传送同类信号导线(doxin)的集合。 系统与系统之间或系统内部各部件之间进行信息传输所必需的全部信号线的总和。共一百二十九页例:内部(nib)总线8位队列总线总线控制逻辑内部总线16位地址加法器20位地址总线16位数据总线总线接口部件BIU1 2 3 4 5 6指令队列CSDSSSESEU控制器ALU暂 存 器标志寄存器执行
2、部件EU通用寄存器AX AH ALBX BH BLCX CH CLDX DH DL SP BP DI SI80888086IP暂存器8086总线共一百二十九页例:系统总线MPURAMROMI/O接口外设ABDBCB共一百二十九页例:系统结构中的总线(zn xin)共一百二十九页例:总线(zn xin)实体PCI总线(zn xin)外设接口总线共一百二十九页总线(zn xin)同步(tngb)并行总线 高速、高效 通信距离短并行总线串行总线异步并行总线半同步并行总线同步串行总线异步串行总线 距离远、简单 速度慢15.1.2 总线的分类共一百二十九页按数据(shj)传输方式分类并行接口芯片(xn
3、pin) 将数据的各位同时在多根并行传输线上进行传输,适于短距离、高速通信。 D0D1D2D3D4D5D6D7目的D0D1D2D3D4D5D6D7源01010110串行接口芯片 将数据的各位按时间顺序依次在一根传输线上传输,适于长距离、中低速通信。RD目的TD源0 1 1 0 1 0 1 0共一百二十九页CPU数据总线地址译码读出信号写入信号复位准备好中断请求地址输入设备输出设备控制寄存器输入缓冲寄存器输出缓冲寄存器状态寄存器片选A0A1数据输入准备好数据输入数据输入回答数据输出数据输出准备好数据输出回答并行接口连接(linji)外设示意图共一百二十九页总线(zn xin)片内总线(zn xi
4、n)(In Chip Bus)芯片总线(Component-Level Bus)内总线(Board-Level Bus)外总线(Communication Bus)按所处位置分类总线标准总线非标准总线按通用性、兼容性分类共一百二十九页(系统(xtng)外总线如并口、串口(系统(xtng)内总线如ISA、PCI片(间)总线 三总线形式片内总线 单总线形式微 机 总 线 结 构运算器寄存器控制器CPU存储芯片I/O芯片主板扩展接口板扩展接口板微机系统其 他 微 机系 统其 他 仪 器系 统微机系统的四级总线示意图共一百二十九页MPURAMROMI/O接口外设ABDBCB一、并行(bngxng)总线
5、的构成典型的三总线结构地址总线AB、数据总线DB、控制(kngzh)总线CB15.1.3 并行总线共一百二十九页1、同步(tngb)并行总线时序 同步时钟(shzhng)频率和数据总线宽度确定了数据传输速度。数据传输与时钟同步。要求各个设备的速度相当。二、并行总线的时序共一百二十九页通过联络应答信号实现(shxin)握手。握手信号2、异步并行总线(zn xin)时序读数据握手信号写数据适应能力强,速度取决于较慢的设备。共一百二十九页三、并行总线(zn xin)标准名 称PC-XTISA(PC-AT)EISASTDVESA(VL)MCAPCI适应机型8086 PC286、386、486 PC38
6、6、486、586 PC工控机486、586系列PCIBM PS/2与工作站奔腾系列PC、工作站最大传输率4MB/s16MB/s33MB/s2MB/s266MB/s40MB/s133MB/s总线宽度8位16位32位8位32位32位32位总线时钟4MHz8MHz8.33MHz2MHz66MHz10MHz33MHz名 称PC-XTISA(PC-AT)EISASTDVESA(VL)MCAPCI同步方式同步异步同步仲裁方式集中集中集中集中集中逻辑时序边缘敏感边缘敏感边缘敏感电平敏感边缘敏感地址宽度2024322032/64负载能力886无限制6无限制3信号线数143901094964位扩展不可不可无规
7、定不可可可可自动配置无无无可可并发工作可可发方式可引脚复用非非非非非是共一百二十九页15.1.4 串行总线一、串行总线的构成(guchng)只有数据总线,没有地址总线和控制总线总线上信息(xnx)(数据、地址)按位传输总线规模小,特别适用于远距离通信。也可作为系统内部通信和近距离通信。COM口 RS-232、RS-485串行通信接口USB接口SPI/QSPI常用串行扩展接口I2C1-wire 单总线共一百二十九页 采用了平衡差分传输技术,提高了共模(n m)抑制能力,大大减小了地线电位差引起的麻烦。2、RS-422/423标准(biozhn) 为RS-422标准的改进增强版本,并兼容RS-42
8、2标准。 逻辑电平与传统数字逻辑TTL兼容,且对物理层没有任何严格要求。3、RS-485标准:二、串行总线标准1、RS-232标准(已讲过)共一百二十九页 由Philips公司推出的用于IC之间的一种二线(r xin)制全双向同步串行扩展总线。串行数据线SDA、串行时钟线SCL。4、I2C总线(zn xin)标准共一百二十九页 USB(Universal Serial Bus)是外设与计算机连接的接口总线。 简化(jinhu)外设的连接过程,具备即插即用、热插拔、接口体积小、节省系统资源、传输可靠、良好的兼容性、共享式通信、低成本。5、USB标准(biozhn)鼠标U盘打印机摄像头共一百二十九
9、页 其前身是1996年由苹果公司起草的,称之为火线(Fire Wire)并注册(zhc)为其商标。6、1394标准(biozhn)速度高400Mbps 800Mbps 1.6GbpsIEEE 1394接口有6针和4针两种类型。可提供840V最大1.5A电流供物理层使用。 作为一个工业标准的高速串行总线,已广泛用于数字摄像机、机顶盒、计算机及其外设等。共一百二十九页PC总线(zn xin)或XT总线(zn xin) 15.2 ISA总线(zn xin) 数据宽度为8位的ISA总线由62根信号线组成,分A,B面。 AT总线 PC总线的基础上增加了36根信号线 ,增加了C,D面。共一百二十九页15.
10、2.1 ISA总线(zn xin)的特点特点一: 1K字节的I/O地址空间(0000H03FFH) 24位存储器地址 8位或16位数据存取 15级硬件中断 7级DMA通道 产生(chnshng)I/O等待状态 特点二: 它是一种多主控(MultiMaster)总线,除主CPU 外,DMA控制器、DRAM刷新控制器和带处理器的智 能接口控制卡都可以成为ISA总线的主控设备。 共一百二十九页15.2.1 ISA总线(zn xin)的特点特点三:可支持8种类型的总线周期(zhuq) 8位或16位的存储器读周期 8位或16位的存储器写周期 8位或16位的I/O读周期 8位或16位的I/O写周期 中断请
11、求和中断响应周期 DMA 周期 存储器刷新周期 总线仲裁周期共一百二十九页ISA总线(zn xin)信号元 件 面焊 接 面管脚号信号名称管脚号信号名称A1B1GNDA2D7B2RESET DRVA3D6B3+5VA4D5B4IRQ2A5D4B55VA6D3B6DRQ2A7D2B712VA8D1B8A9D0B9+12VA10I/O CHRDYB10GNDA11AENB11A12A19B12A13A18B13A14A17B14A15A16B15A16A15B16DRQ3A17A14B17A18A13B18DRQ1A19A12B19A20A11B20CLKA21A10B21IRQ7A22A9B22
12、IRQ6A23A8B23IRQ5A24A7B24IRQ4A25A6B25IRQ3A26A5B26共一百二十九页ISA总线(zn xin)信号元 件 面焊 接 面管脚号信号名称管脚号信号名称A27A4B27T/CA28A3B28ALEA29A2B29+5VA30A1B30OSCA31A0B31GNDC1D1C2LA23D2C3LA22D3IRQ10C4LA21D4IRQ11C5LA20D5IRQ12C6LA19D6IRQ13C7LA18D7IRQ14C8LA17D8C9D9DRQ0C10D10C11D8D11DRQ5C12D9D12C13D10D13DRQ6C14D11D14C15D12D15D
13、RQ7C16D13D16+5VC17D14D17C18D15D18GND共一百二十九页15.2.2 ISA信号(xnho)说明1)数据线D0-D15:双向三态2)低位地址(dzh)线A0-A19:输出,可寻址1MB3)高位低线LA17-LA23:输出,寻址范围16MB,A19A17不复用,提高数据传输率4)地址锁存允许信号ALE:输出,高电平有效5)中断请求信号IRQ2-IRQ7、IRQ10-IRQ14:输入,上升沿有效7)I/O写信号 :输出,低电平有效6)I/O读信号 :输出,低电平有效共一百二十九页10)地址使能信号AEN:输出,高电平有效(yuxio)。高电平表示DMA周期。CPU控制
14、总线时,该信号保持低电平ISA信号(xnho)说明8)存储器读 :输出,低电平有效9)存储器写 :输出,低电平有效12)16位I/O片选信号 :输入,低电平有效13)16位存储器片选 :输入,低电平有效11)数据总线高字节使能 :输出,低电平有效共一百二十九页15.2.3 ISA总线的电源(dinyun)规格总线电源电压(V)电流最大值(A)最小测量电压(V)峰/峰噪声最大值保护槽电流(A)最小值最大值8位最大值16位最小值+12V 5%11.412.61.51.510.8120mV2.02V 10%10.813.20.30.310.2120mV2.0+5V 5%4.55.253.04.54.
15、550mV2.05V 10%4.55.50.20.24.350mV2.0共一百二十九页ISA总线(zn xin)机械尺寸 共一百二十九页15.2.4 ISA总线的典型操作(cozu)时序 8位存储器读/写时序(sh x) 共一百二十九页8位IO读/写周期(zhuq)时序共一百二十九页16位存储器读/写周期(zhuq)时序共一百二十九页16位IO读/写周期(zhuq)时序共一百二十九页DMA启动存储器读I/O写周期(zhuq)时序共一百二十九页DMA启动(qdng)I/O读存储器写周期时序共一百二十九页中断(zhngdun)响应周期时序共一百二十九页15.3 PCI总线(zn xin)PCI总线
16、(Peripheral Component Interconnect Special Interest Group),缩略语为PCISIG。即外围部件互连总线,是一种先进的高性能32/64位地址数据(shj)复用局部总线 。支持33MHz和66MHz时钟频率的同步总线操作,传输速率: 132MB/S(数据宽度32位, 33MHz时钟) 528MB/S(数据宽度64位, 66MHz时钟)数据总线32位,可扩充到64位。共一百二十九页15.3.1 PCI总线(zn xin)的特点预留扩展空间,具有自动配置功能: PCI卡内有设备(shbi)信息寄存器组为系统提供卡的信息,从而可以动态、智能化的全自
17、动配置、分配资源,实现即插即用(PNP)功能。线性突发(burst)传输:支持突发数据传输周期,确保总线满载数据。成组连续数据传输时,第一个数据用2个时钟周期,第一时钟给出地址,第二时钟传送数据,以后一个时钟传送一个数据,不必每次都给出地址。中央集中式总线仲裁不受制于处理器:可同时支持多组外围设备 。 PCI设备可以完全作为主控设备控制总线,允许任何PCI主设备和从设备之间实现点到点的对等存取。共一百二十九页采用总线主控和同步操作:总线操作与处理器-存储器子系统操作并行(bngxng)。PCI总线规范独立于微处理器,通用性好,具有广泛兼容性: 与ISA、EISA及MCA总线完全兼容,适用于便携
18、式计算机、服务器等各种机型。共一百二十九页基于PCI总线(zn xin)的微机系统典型结构共一百二十九页PCI总线(zn xin)引线示意图地址和 数据 AD31AD0C/BE#3BE#0 接口控制 FRAME# TRDY# IRTY# STOP# DEVSEL# IDSEL REQ# GNT# PERR# SERR# CLK RST#64位扩充PAR64REQ64#ACK64#INTA#INTB#INTC#INTD#TD1TD0TCKTMSTRST#出错总线仲裁系统AD63AD32C/BE#7BE#4LOCK#接口控制中断JTAG PARPCI卡PCI总线(zn xin)信号 (详见P387
19、-391)共一百二十九页PCI总线(zn xin)连接器PCI总线规范定义了5V和3.3V两种工作电源电压。高密度接插件,分基本插座(32位)及扩充插座(64位),连接器有32位和64位两种。5V的连接器用于3.3V时,需要旋转180度。PCI接口卡的金手指根据(gnj)需要可设计成5V通用、5V/32位、5V/64位以及3.3V通用、3.3V/32位、3.3V/64位等多种形式。共一百二十九页32位PCI总线(zn xin)连接器共一百二十九页32位PCI总线(zn xin)连接器引脚序号5V/32位连接器引脚排列(pili)3.3V/32位连接器引脚排列共一百二十九页15.3.2 PCI总
20、线(zn xin)引脚信号系统引脚 :CLK:输入,系统时钟。RST#:输入,异步复位信号。( #表示低有效)地址及数据引脚 :AD31:0:双向三态,地址数据复用引脚。FRAME#开始变为有效的那个时钟周期内AD31:0上传输的是地址。对于配置空间和存储空间,这是一个双字节地址,对于I/O空间,这个一个单字节地址。传输数据时,AD7:0为最低字节数据。C/BE3:0#:双向三态,总线命令和字节允许复用引脚。在AD31:0上传输地址的时候,C3:0上传输的是总线命令,AD31:0上传输数据的时候,BE3:0#用作字节允许,表示哪些通道(tngdo)上的数据是有效的。BE0#对应最低字节。 共一
21、百二十九页PAR:双向三态,AD31:0和C/BE3:0#上的数据偶效验。PAR与AD31:0有相同的时序,但延迟一个时钟,在地址段后一个时钟,PAR稳定并有效;对于数据段,在写传输中,PAR在IRDT#有效一个时钟稳定并有效,而在读传输中,PAR在TRDY#有效后一个时钟周期稳定并有效。一旦PAR有效,它必须保持有效直到当前数据段完成后一个时钟。在地址段和写数据段,主PCI设备驱动PAR,在读数据段,目标从PCI设备驱动PAR。接口控制引脚 :FRAME#:持续三态,帧开始信号。由当前总线主设备驱动,以说明一个操作的开始和延续。FRAME#有效,说明总线开始传输,当FRAME#维持有效时,说
22、明总线传输继续(jx)进行,当FRAME#无效时,说明传送的最后一个字节正在进行。共一百二十九页IRDY#:持续三态,启动者准备好信号(Initiator Ready)。说明传输(chun sh)的启动者完成当前数据传输(chun sh)的准备。在读操作中,IRDY#有效说明总线主设备已准备好接收收据。在写操作中,它说明AD3:0上已有有效数据。TRDY#:持续三态,目标设备准备就绪(Target Ready)。说明传输的目标设备完成当前的数据传输准备。在写操作中,TRDY#有效说明目标设备已经准备好接收数据。在读操作中,它说明AD31:0上已有有效数据。 在IRDY#和TRDY#都有效的时钟
23、周期完成数据传输。在IRDY#和TRDY#都有效之前,需要插入等待状态。STOP#:持续三态,停止信号。说明当前的目标设备要求总线主设备停止当前传输。共一百二十九页IDSEL:输入,初始化设备选择(Initialization Device Select)。在配置空间读写操作中,用作片选。DEVSEL#:持续三态,设备选择。当驱动有效时,说明驱动它的设备已将其地址解码为当前操作的目标设备。仲裁引脚:REQ#:双向三态,总线申请。向仲裁器说明该单元想使用总线。这是一个点对点的信号(xnho),每个总线主设备都有自己的REQ#。GNT#:双向三态,允许。仲裁器向申请单元说明其对总线的操作已被允许。
24、这是一个点对点信号,每个总线主设备都有自己的GNT#。共一百二十九页错误反馈引脚:PERR#:持续三态,奇偶校验错误(Parity Error)。该引脚用于反馈在除特殊周期外的其他传送过程中的数据奇偶校验错误。PERR#维持三态,在检测到奇偶校验错误后,在数据结束后两个时钟周期,由接收数据的单元驱动PERR#有效。并至少持续一个时钟周期。只有发出DEVSEL#的单元才能发出PERR#。SERR#:漏极开路输出,系统错误(System Error)。用于反馈地址(dzh)奇偶校验错误、特殊周期命令中的数据奇偶校验错误和将引起重大事故的其他灾难性系统错误。中断引脚:INTA#, INTB#, IN
25、TC#, INTD#:漏极开路输出(Open Drain) ,中断输出。共一百二十九页 高速缓存支持引脚:一个能高速缓存的PCI存储器必须利用这两条高速缓存支持引脚作为输入,以支持写通(write-through)和回写(write-back)。如果可高速缓存的存储器是位于PCI上,则连接回写高速缓存到PCI的桥路必须利用这两条引脚,且作为输出(shch)。连接写通高速缓存的桥路可以只使用一条引脚SDONE。SBO#:in/out,监视补偿。当其有效时,说明对某条变化线的一次命中。当SBO#无效而SDONE有效时,说明了一次“干净”的监视结果。SDONE: in/out,监视进行。表明对当前操
26、作的监视状态。当其无效时,说明监视结果仍未定。当有效时,说明监视已有结果。共一百二十九页64位总线扩充引脚:AD63:32:双向三态,地址数据复用引脚提供32个附加位。在一个地址段,传送64位地址的高32位。在数据段,传送64位中的高32位。C/BE7:4#:双向三态,总线命令和字节允许复用引脚。REQ64#:持续三态,请求(qngqi)64位传输。当其被当前总线主设备有效驱动时,说明总线主设备想作64位传输。ACK#:持续三态,应答64位传送。在当前操作所寻址的目标设备有效驱动该信号时,说明目标设备能够进行64位传输,ACK#和DEVSEL#有相同的时序。PAR64:双向三态,高双字偶校验。
27、共一百二十九页15.3.3 PCI总线(zn xin)原理PCI设备(shbi)的配置空间每个PCI设备内都有一个256字节的配置存储器,用来存放PCI配置文件,其中文件头标识区占64字节,为系统提供本设备的信息及申请系统存储空间所必需的参数。 PCI主要设备信息:制造商标识(Vendor ID):用来区别每个PCI设备生产商,由PCI-SIG组织分配,0 xFFFF表示无效。设备标识(Device ID):按产品分类给本卡的编号。命令寄存器:为发出PCI和响应PCI总线命令提供粗略控制。 状态寄存器:用于记录PCI总线的事件状态信息。共一百二十九页PCI设备配置空间(kngjin)分配共一百
28、二十九页PCI设备的配置(pizh)空间PCI主要设备信息:版本标识:标识PCI设备的版本。分类代码:用来表示(biosh)PCI设备的功能分类和特定的编程接口,为只读存储器。如显示卡、解压卡等。Cache行大小:指定系统中高速缓存cache一行的长度,以Dword为单位,可读写。 持有定时器:指定PCI总线主设备的延时计时值,以PCI总线的时钟为单位。 配置类型:表示头标区类型,以及是否为多功能设备。自测能力BIST:Built-In self test,支持自测的PCI设备为1,不支持的为0。 共一百二十九页PCI设备(shbi)的配置空间PCI主要设备信息:基地址05:实现PCI设备所有
29、使用地址空间的再定位。 扩展ROM基地址:表示ROM再内存中的起始地址,执行其中代码完成PCI初始化。中断线(dun xin):报告PCI设备与系统中断连接情况。 中断引脚:表示PCI设备使用了哪些中断引脚。 最短获准时间:指定PCI设备对延时计数器的设定值。 最大等待时间:指定PCI设备对延时计数器的设定值。 共一百二十九页PCI卡内有存储器、以存储器编址的寄存器和I/O空间,为使驱动程序和应用程序能访问它们,需申请一段存储区域将它们定位。申请存储器空间:配置空间的基地址寄存器是专门用于申请存储器空间的。申请I/O空间:配置空间的基地址寄存器也用来进行系统I/O空间的申请。中断(zhngdu
30、n)资源申请:配置空间中的中断(zhngdun)引脚和中断(zhngdun)线用来向系统申请中断(zhngdun)资源。共一百二十九页15.3.4 PCI总线(zn xin)传输C/BE3: 0#命令类型说明0 0 0 0中断应答(中断识别)0 0 0 1特殊周期(总线简单广播)0 0 1 0I/O读(从I/O口地址中读数据)0 0 1 1I/O写(向I/O口地址中写数据)0 1 0 0保留0 1 0 1保留0 1 1 0存储器读(从内存空间映象读数据)0 1 1 1存储器写(向内存空间映象写数据)一、总线(zn xin)操作命令 共一百二十九页总线(zn xin)操作命令(续)C/BE3:
31、0#命令类型说明1 0 0 0保留1 0 0 1保留1 0 1 0读配置(读每一个主控器的配置空间)1 0 1 1写配置(写每一个主控器的配置空间)1 1 0 0存储器重复读(只要FRAME#有效,就保持流水线的连续,以便传送大量数据)1 1 0 1双地址节拍(传送64位地址到某一设备1 1 1 0高速缓存读(用于多于两个32位的数据期1 1 1 1高速缓存写共一百二十九页二、PCI总线(zn xin)协议PCI的基本总线传输机制是突发传输,包括一个地址相位和一个或多个数据相位,支持存储器和I/O。突发传输是指主桥电路(位于主处理器和PCI总线之间)可将针对(zhndu)存储器的多次访问在不影
32、响正常操作的前提下合并为一次传输。置位基地址寄存器的预取位,可将数据预取与写合并。并可区分哪些空间可合并,哪些不能合并。遇到不可预取或任意范围的读操作时,停止合并。I/O访问一般只有一个数据相位,因此不能突发访问。 共一百二十九页三、PCI总线的传输(chun sh)控制数据传输控制信号线FRAME,主设备驱动,传输起始和结束IRDY,主设备驱动,允许插入等待周期TRDY,从设备驱动,允许插入等待周期无论主/从设备,一旦启动数据传输,就必须完成最后一次数据传输完成时,FRAME和IRDY信号均被撤消,接口(ji ku)信号回到空闲状态FRAME无效、而IRDY有效时,总线忙;都无效时,总线空闲
33、一旦设置了IRDY信号,直到当前数据相位结束为止,主设备不能改变IRDY信号和FRAME信号的状态共一百二十九页四、PCI总线(zn xin)的寻址三种地址空间:内存地址空间、I/O地址空间和配置地址空间PCI总线的每个设备都有自己的地址译码逻辑支持正向、负向两种地址译码方式正向译码:每个设备都监视地址总线上的访问地址是否落在它的地址范围内负向译码:未被其他设备在正向译码中接受的所有译码要等总线上其他所有设备都拒绝之后才能确定,总线上只能(zh nn)有一个设备采用此种方式。如标准扩展总线共一百二十九页1)I/O地址(dzh)空间采用全部译码在I/O访问中,AD1:0一方面用来产生DEVSEL
34、信号,另一方面说明(shumng)传输的有效字节AD1AD0C/BE3#C/BE2#C/BE1#C/BE0#00XXX001XX0110X011110111共一百二十九页2)内存地址空间(kngjin)AD31:02译码得到双字边界对齐的起始地址,每个数据周期过后地址加4,直到传输过程结束AD1:000时,突发传输顺序(shnx)为地址递增方式AD1:001时,为Cache行切换方式AD1:01X时,保留共一百二十九页3)配置地址(dzh)空间IDSEL信号有效且AD1:000,则该设备被选为访问的从设备AD1:001,且译码符合某桥电路的编号,则说明配置访问是针对(zhndu)该桥电路后面的
35、设备AD7:2用于选择每个设备配置空间的双字寄存器(共64个)AD10:8用于选择某个功能设备AD31:11无意义共一百二十九页五、PCI总线(zn xin)数据传输过程PCI总线访问:以读操作为例。 PCI总线是半同步方式操作,信号是否有效由时钟CLK的上升边采样来确定。主设备启动总线周期:首先发出FRAME#信号,表明一次访问(总线周期)开始,地址(dzh)及操作命令字信号出现在AD与C/BE#线上。从设备响应:对地址和命令字译码后通过发出DEVSEL#有效信号进行响应,通知主设备,从设备已经被选中。数据读取:主设备与从设备都准备好即IRDY#及TRDY#均有效,主设备将数据取走。共一百二
36、十九页共一百二十九页共一百二十九页PCI总线访问(fngwn):多数据传送周期:PCI支持突发访问方式。主模块占用一次总线可实现多个周期的数据访问。第一数据地址由地址周期给出。以后地址在此基础上按AD1、AD0的编码规定变化,如AD1、AD0为 00 时地址线性增加(每次加4)。错误校验及报告:PCI总线对AD线的有效信息都进行奇偶校验操作。PAR为校验位,发送方为AD与C/BE#线(共36位)配好校验值。接收方在地址周期用SERR#报告校验结果,用PERR#报告数据周期校验结果。共一百二十九页PCI总线上的突发(t f)读操作共一百二十九页PCI总线上的突发(t f)写操作共一百二十九页PC
37、I总线访问:配置空间访问: 配置空间的访问决定于命令字编码,在IDSEL线上发出有效(yuxio)信号,地址线低8位用于访问配置空间的256字节存储器。总线仲裁: PCI总线主设备通过REQ#与GNT#信号向总线仲裁器申请占用总线并得到确认。共一百二十九页可编程逻辑(lu j)器件实现PCI总线接口CPLD(复杂可编程逻辑(lu j)器件 )或FPGA (现场可编程门阵列 )的优点是具有灵活的可编程性PCI接口可以依据插卡功能进行最优化,而不必实现所有的PCI功能,这样可以节约系统的逻辑资源可以将PCI插卡上的其他用户逻辑与PCI接口逻辑集成在一个芯片上,实现紧凑的系统设计。当系统升级时,只需
38、对可编程器件重新进行逻辑设计,而无需更新PCB共一百二十九页FPGA实现(shxin)的PCI接口应用共一百二十九页PCI接口专用(zhunyng)芯片专用PCI接口芯片可以实现完整的PCI主控模块和目标模块接口功能,将复杂的PCI总线接口转换为相对简单的用户接口厂商对PCI总线接口已经进行了严格的测试,用户只要设计转换后的总线接口即可。用户可集中于应用设计,而不是调试PCI总线接口,缩短(sudun)开发时间应用比较普遍的主要有AMCC公司的S5920(从)、 S5933(主),PLX公司的PCI9050、 PCI9054及PCI9080等芯片共一百二十九页PCI应用(yngyng)系统共一
39、百二十九页对于我们的TPC-2003A接口实验箱,使用TPC卡将PCI总线转换为ISA总线用于实验。 TPC卡使用的是美国PLX公司推出的低成本PCI总线接口芯片 PCI9054。系统启动时,检测到PCI设备后,就读取PCI配置空间的相关信息,从而知道设备的需求,并为这些设备分配相应的存储器空间, I/O地址空间,中断资源在集成环境(hunjng)下可测试到:15.3.5 接口(ji ku)实验箱上的PCI总线共一百二十九页TPC卡9054芯片I/O基地址 : TPC pci card 9054 Chip I/O Base Address : TPC卡I/O基地址 : TPC pci card
40、 I/O Base Address : TPC卡MEMORY基地址: TPC pci card Memory Base Address : TPC卡中断号 : TPC pci card Interrupt Line : 事实上,系统将上述资源统一管理,合理分配(fnpi)给每个PCI设备(通过地址映射方法进行分配(fnpi)和管理,确保无冲突) 。而每个PCI设备则具有并使用自己申请的资源。共一百二十九页对接口实验和中断(zhngdun)编程的有关问题说明如下:1、PC机用户可使用的硬件中断只有可屏蔽中断,由8259中断控制器管理。所使用PC机中断控制器为两片8259级联系统,相关知识、连接电
41、路、初始化参数等均为课程讲授内容,可直接使用。需要特别注意的是:弄清楚用户可用资源及使用方法。2、由于PCI卡上9054的驱动程序影响直接写9054芯片的控制寄存器,汇编中断实验需要在win98的纯DOS环境中才能正常进行( windows xp不行)。共一百二十九页3、由于TPC实验台使用(shyng)了PCI总线,在BIOS启动扫描系统分配资源时,要根据各台微机的不同情况,动态分配中断号,每台微机分配到所用PCI转接卡的中断号可能都不同,所以编程时需要获取当前微机使用(shyng)的是哪个中断号(方法同I/O基地址的读取),再根据此中断号确定TPC卡的中断请求接到8259中断系统的那根中断
42、申请线上,由此确定编程中使用(shyng)的中断类型号,确定对应的中断屏蔽字(一般分配到的中断类型号多是属于从片的,这就需要同时确定主片和从片的中断屏蔽字),并在中断实验程序中正确使用(shyng),才能实现硬件中断功能。共一百二十九页4、由于(yuy)PCI卡使用9054芯片连接微机,所以在编程使用中断前需要开通9054的中断功能。方法是设置PCI卡上的16位寄存器INTCSR(68H)的第8位和第11位:Bit8 1 开放PCI中断, 0 禁止产生PCI中断Bit11 1 允许送LOCAL端中断请求到PCI端, 0 禁止LOCAL端中断请求到PCI端开通9054中断的代码为:Mov dx,
43、ioport_cent+68h ; ioport_cent是9054芯片寄存器组的I/O起始地址。In ax,dx ; 读入原设置参数Or ax,0900h ; 置D8,D11为1,开放PCI中断,允许Out dx,ax ; 送LOCAL端中断请求到PCI端共一百二十九页程序退出前关闭9054中断的代码为:Mov dx,ioport_cent+68hIn ax,dx ; 读入原设置参数and ax,0f7ffh ; 置D11为0,禁止LOCAL端中断请求到Out dx,ax ; PCI端5、PC机中断控制器主片8259 的地址为20H、21H, 从片8259 的地址为A0H、A1H,编程时要根
44、据中断类型号设置中断矢量,8259中断屏蔽寄存器IMR对应位要清零(允许中断),中断服务(fw)结束返回前要使用中断结束命令通知8259结束本次中断:MOV AL,20H ;20H为普通中断结束EOI操作命令字OUT 20H,ALOUT A0H,AL6、中断结束返回DOS时应将IMR对应位置1,以关闭中断 。共一百二十九页;纯dos下才能使用(shyng);*实验22中断 *;data segment int_vect EQU 071H;中断0-7的向量为:08h-0fh,中断8-15的向量为:70h-77h irq_mask_2_7 equ 011111011b;中断掩码,中断0-7时从低至
45、高相应位为零,中断8-15时第2位为零 irq_mask_9_15 equ 011111101b;中断0-7时全一,中断8-15时从低至高相应位为零 ioport_cent equ 0d800h;tpc 卡中9054芯片的io地址 csregdw? ipregdw?;旧中断向量保存空间 irq_timesdw00h;中断计数 msg1 db 0dh,0ah,TPC pci card Interrupt,0dh,0ah,$ msg2 db 0dh,0ah,Press any key to exit!,0dh,0ah,$ msg3 db 0dh,0ah,Press DMC to interrupt
46、 10 times and exit!,0dh,0ah,$data endsstacks segmentdb 100 dup (?)stacks ends共一百二十九页code segment assume cs:code,ds:data,ss:stacks,es:datastart:;Enable Local Interrupt Input cli mov ax,data mov ds,ax mov es,ax mov ax,stacks mov ss,ax mov dx,ioport_cent+68h ;设置 tpc 卡中9054芯片(xn pin)io口,使能中断 in ax,dx or
47、 ax,0900h out dx,ax共一百二十九页 mov al,int_vect ;保存(bocn)原中断向量mov ah,35h int 21hmov ax,esmov csreg,axmov ipreg,bx mov ax,cs ;设置新中断向量mov ds,axmov dx,offset int_procmov al,int_vectmov ah,25h int 21h in al, 21h ;设置中断掩码 and al, irq_mask_2_7 ;使al 中对应irq_mask_2_7为0的位清0 out 21h, al in al, 0a1h and al, irq_mask_
48、9_15 ;使al 中对应irq_mask_9_15为0的位清0 out 0a1h, al共一百二十九页 mov ax,data mov ds,ax mov dx,offset msg2mov ah,09hint 21h mov dx,offset msg3mov ah,09hint 21hmov irq_times,0ahstiloop1: cmp irq_times,0;等待中断并判断(pndun)中断10次后退出 jz exitmov ah,1int 16h jnz exit;按任意键退出 jmp loop1共一百二十九页exit: cli mov bl, irq_mask_2_7 ;恢
49、复(huf)中断掩码notblinal, 21horal, blout21h, almovbl, irq_mask_9_15notblinal, 0a1horal, blout0a1h, al mov dx,ipreg ;恢复原中断向量mov ax,csregmov ds,axmov ah,25hmov al,int_vect int 21h共一百二十九页 mov dx,ioport_cent+68h ;设置 tpc 卡中9054芯片io口,关闭中断(zhngdun)in ax,dx and ax,0f7ffhout dx,axmov ax,4c00hint 21hint_proc proc
50、far cli push ax push dx push ds dec irq_times ;中断次数减1 mov ax,data ;Interrupt to do mov ds,ax mov dx,offset msg1 mov ah,09h int 21h共一百二十九页 mov al,20h ;Send EOI out 0a0h,al out 20h,al pop ds pop dx pop ax sti iretint_proc endpcode endsend start共一百二十九页15.4.1 I2C串行总线概述(i sh) I2C总线是PHLIPS公司推出的一种串行总线,是具备多
51、主机系统所需的包括总线裁决和高低速器件(qjin)同步功能的高性能串行总线。 I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。15.4 I2C总线共一百二十九页 I2C总线通过上拉电阻(dinz)接正电源。当总线空闲时,两根线均为高电平。连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系。共一百二十九页 每个接到I2C总线上的器件都有唯一的地址。主机与其它(qt)器件间的数据传送可以是由主机发送数据到其它(qt)器件,这时主机即为发送器。由总线上接收数据的器件则为接收器。 在多主机系统中,可能同时(tngsh)有几个主机企图
52、启动总线传送数据。为了避免混乱, I2C总线要通过总线仲裁,以决定由哪一台主机控制总线。 在8051、PIC单片机应用系统的串行总线扩展中,我们经常遇到的是以单片机为主机,其它接口器件为从机的单主机情况。 共一百二十九页一、数据位的有效性规定 I2C总线进行数据(shj)传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。15.4.2 I2C总线的数据(shj)传送共一百二十九页二、起始和终止(zhngzh)信号 SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电
53、平向高电平的变化表示终止(zhngzh)信号。 共一百二十九页 起始和终止信号(xnho)都是由主机发出的,在起始信号(xnho)产生后,总线就处于被占用的状态;在终止信号(xnho)产生后,总线就处于空闲状态。 连接到I2C总线上的器件,若具有I2C总线的硬件接口,则很容易检测到起始和终止信号。对于不具备I2C总线硬件接口的有些单片机来说,为了检测起始和终止信号,必须保证在每个时钟(shzhng)周期内对数据线SDA采样两次。 接收器件收到一个完整的数据字节后,有可能需要完成一些其它工作,如处理内部中断服务等,可能无法立刻接收下一个字节,这时接收器件可以将SCL线拉成低电平,从而使主机处于等
54、待状态。直到接收器件准备好接收下一个字节时,再释放SCL线使之为高电平,从而使数据传送可以继续进行。 共一百二十九页三、数据(shj)传送格式(1)字节传送与应答 每一个字节必须保证是8位长度。数据传送时,先传送最高位(MSB),每一个被传送的字节后面(hu mian)都必须跟随一位应答位(即一帧共有9位)。 共一百二十九页 由于某种原因从机不对主机寻址信号应答时(如从机正在进行实时性的处理工作而无法接收总线上的数据),它必须将数据线置于高电平,而由主机产生一个终止信号以结束(jish)总线的数据传送。 如果从机对主机进行了应答,但在数据传送一段时间后无法继续(jx)接收更多的数据时,从机可以
55、通过对无法接收的第一个数据字节的“非应答”通知主机,主机则应发出终止信号以结束数据的继续(jx)传送。 当主机接收数据时,它收到最后一个数据字节后,必须向从机发出一个结束传送的信号。这个信号是由对从机的“非应答”来实现的。然后,从机释放SDA线,以允许主机产生终止信号。共一百二十九页(2)数据帧格式 I2C总线上传送的数据信号是广义的,既包括地址(dzh)信号,又包括真正的数据信号。 在总线的一次数据传送过程中,可以有以下几种组合(zh)方式: 在起始信号后必须传送一个从机的地址(7位),第8位是数据的传送方向位(R/),用“0”表示主机发送数据(T),“1”表示主机接收数据(R)。每次数据传
56、送总是由主机产生的终止信号结束。但是,若主机希望继续占用总线进行新的数据传送,则可以不产生终止信号,马上再次发出起始信号对另一从机进行寻址。 共一百二十九页a、主机向从机发送数据,数据传送方向在整个(zhngg)传送过程中不变:注:有阴影部分表示数据(shj)由主机向从机传送,无阴影部分则表示数据(shj)由从机向主机传送。 A表示应答, A/表示非应答(高电平)。S表示起始信号,P表示终止信号。共一百二十九页b、主机在第一个字节(z ji)后,立即由从机读数据c、在传送过程中,当需要改变传送方向时,起始信号和从机地址(dzh)都被重复产生一次,但两次读/写方向位正好反相。共一百二十九页四、总
57、线(zn xin)的寻址 I2C总线协议有明确的规定:采用7位的寻址字节(z ji)(寻址字节(z ji)是起始信号后的第一个字节(z ji))。 (1)寻址字节的位定义 D7D1位组成从机的地址。D0位是数据传送方向位,为“0”时表示主机向从机写数据,为“1”时表示主机由从机读数据。共一百二十九页主机发送地址时,总线上的每个从机都将这7位地址码与自己的地址进行比较,如果相同(xin tn),则认为自己正被主机寻址,根据R/位将自己确定为发送器或接收器。从机的地址由固定部分和可编程部分组成。在一个系统中可能希望接入多个相同的从机,从机地址中可编程部分决定了可接入总线该类器件的最大数目。如一个从
58、机的7位寻址位有4位是固定位,3位是可编程位,这时仅能寻址8个同样的器件,即可以有8个同样的器件接入到该I2C总线系统中。共一百二十九页(2)寻址字节中的特殊(tsh)地址 固定地址编号0000和1111已被保留作为特殊用途。共一百二十九页 起始信号后的第一字节的8位为“0000 0000”时,称为通用呼叫地址。通用呼叫地址的用意在第二(d r)字节中加以说明。格式为: 第二字节(z ji)为 06H时,所有能响应通用呼叫地址的从机器件复位,并由硬件装入从机地址的可编程部分。能响应命令的从机器件复位时不拉低SDA和SCL线,以免堵塞总线。 第二字节为 04H时,所有能响应通用呼叫地址并通过硬件
59、来定义其可编程地址的从机器件将锁定地址中的可编程位,但不进行复位。共一百二十九页 如果第二字节(z ji)的方向位B为“1”,则这两个字节(z ji)命令称为硬件通用呼叫命令。 在这第二字节的高7位说明自己的地址。接在总线上的智能器件,如单片机或其他微处理器能识别这个地址,并与之传送数据。硬件主器件作为从机使用时,也用这个地址作为从机地址。格式为: 在系统中另一种选择可能是系统复位时硬件主机器件工作在从机接收器方式,这时由系统中的主机先告诉硬件主机器件数据应送往(sn wn)的从机器件地址,当硬件主机器件要发送数据时就可以直接向指定从机器件发送数据了。共一百二十九页(3)起始(q sh)字节
60、不具备I2C总线接口的单片机,则必须通过软件不断地检测总线,以便及时地响应(xingyng)总线的请求。单片机的速度与硬件接口器件的速度就出现了较大的差别,为此,I2C总线上的数据传送要由一个较长的起始过程加以引导。 起始字节是提供给没有I2C总线接口的单片机查询I2C总线时使用的特殊字节。 共一百二十九页 引导过程由起始信号、起始字节、应答(yngd)位、重复起始信号(Sr)组成。 请求访问总线的主机发出起始信号后,发送起始字节(0000 0001),另一个单片机可以用一个比较低的速率采样SDA线,直到检测到起始字节中的7个“0”中的一个为止(wizh)。在检测到SDA线上的高电平后,单片机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 提高响应速度与客户满意度计划
- 探秘小宇宙幼儿园教学工作计划文档
- 寓教于乐的品牌推广方法计划
- 2025年独立运行风力发电机组控制器及逆变器项目合作计划书
- 会议纪要与决策执行要点梳理
- 2025年体外诊断仪器产品项目合作计划书
- 办公室日常行为规范及规章制度解读
- Zinc-sulfide-生命科学试剂-MCE
- racemic-Dunnione-SL-11010-生命科学试剂-MCE
- 新员工入职流程与职责说明
- 【历史】秦汉时期:统一多民族国家的建立和巩固复习课件-2024-2025学年统编版七年级历史上册
- 四年级上册科学教科版课件四年级科学开学第一课
- 社区中心及卫生院65岁及以上老年人健康体检分析报告模板
- 化工过程安全管理导则AQT 3034-2022知识培训
- 部编版语文六年级下亮点给力大试卷(2023年春)(一到三单元)
- 肿瘤中医中药治疗护理
- 2024电力建设工程质量问题通病防止手册
- 大学生就业指导教学-大学生就业形势与政策
- 第五讲铸牢中华民族共同体意识-2024年形势与政策
- 安检服务课件教学课件
- 隧道危险源清单
评论
0/150
提交评论