




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式接口技术第嵌入式接口技术第9章章总线技术总线技术 北京农学院计算机与北京农学院计算机与信息工程学院信息工程学院王玉洁第第9 9章总线技术章总线技术 知识点:总线的基本概念及标准、常用总线介绍知识点:总线的基本概念及标准、常用总线介绍 重点:总线的基本概念及常用总线重点:总线的基本概念及常用总线 9.1 9.1 总线概述总线概述 9.2 9.2 PCPC领域常用的系统总线领域常用的系统总线 9.3 9.3 常用的通信总线常用的通信总线9.1 总线概述总线概述 9.1.1 总线的概念总线的概念 1.总线总线 是指计算机中连接多个部件并传送信息的一组公用是指计算机中连接多个部件并传送信息的一组
2、公用连线,是若干互连信号线的集合,由它构成系统的插连线,是若干互连信号线的集合,由它构成系统的插件间、件间、 插件的芯片间或系统间的标准信息通路。插件的芯片间或系统间的标准信息通路。 嵌入式微型计算机广泛采用总线技术,用以简化嵌入式微型计算机广泛采用总线技术,用以简化硬件、软件的系统设计。从硬件角度看,接口设计者硬件、软件的系统设计。从硬件角度看,接口设计者只需按总线规范设计插件板,保证它们具有互换性与只需按总线规范设计插件板,保证它们具有互换性与通用性,以便大批量生产,支持计算机系统的性能及通用性,以便大批量生产,支持计算机系统的性能及系列产品的开发。系列产品的开发。 从软件角度看,接插件的
3、硬件结构带来了软件从软件角度看,接插件的硬件结构带来了软件设计的模块化。用总线连接的系统,结构简单清晰设计的模块化。用总线连接的系统,结构简单清晰,便于扩充与更新。,便于扩充与更新。 例如在规模上扩充时,只需往例如在规模上扩充时,只需往总线上多插几块同类型的插件;总线上多插几块同类型的插件; 在功能扩充时,只在功能扩充时,只需插入符合该总线标准的所需插件;在系统更新时需插入符合该总线标准的所需插件;在系统更新时,一般只需要更换新的插件或系统板。借助于总线,一般只需要更换新的插件或系统板。借助于总线标准,可以帮助用户按其具体需要选择和获得适合标准,可以帮助用户按其具体需要选择和获得适合自己需求的
4、产品。自己需求的产品。 2.面向总线的结构优点面向总线的结构优点 简化系统结构,减少连线数目,便于系统设计制简化系统结构,减少连线数目,便于系统设计制造造 ; 便于布线,减小体积,降低了成本便于布线,减小体积,降低了成本,提高系统的可提高系统的可靠性;靠性; 所有与总线连接的设备均采用类似的接口,便于所有与总线连接的设备均采用类似的接口,便于系统的扩充、更新与灵活配置,易于实现系统的系统的扩充、更新与灵活配置,易于实现系统的模块化模块化 便于设备的软件设计,所有接口的软件就是对不便于设备的软件设计,所有接口的软件就是对不同的口地址进行操作同的口地址进行操作 3.总线上的信息传送方式总线上的信息
5、传送方式 一般情况下,同一时刻总线最多只能有一个模块发一般情况下,同一时刻总线最多只能有一个模块发送信息,当有多个模块要使用总线进行信息传输送信息,当有多个模块要使用总线进行信息传输时,只能采用分时方式,每个模块交替使用总线。时,只能采用分时方式,每个模块交替使用总线。这就涉及到总线的使用权问题。每个总线协议均这就涉及到总线的使用权问题。每个总线协议均要处理总线的使用权分配问题,即总线仲裁技术要处理总线的使用权分配问题,即总线仲裁技术. 4.总线的分类总线的分类 按所处位置按所处位置片内总线片内总线片总线片总线系统总线系统总线外总线外总线l按功能分按功能分数据总线数据总线地址总线地址总线控制总
6、线控制总线9.1.2 总线的标准化总线的标准化 总线标准化为连接到总线的各个部件提供了标准的信息通总线标准化为连接到总线的各个部件提供了标准的信息通路。路。 芯片总线的标准化问题目前尚未得到妥善解决,这主要芯片总线的标准化问题目前尚未得到妥善解决,这主要是由于不同厂家生产的大规模集成电路芯片没有一个标准化是由于不同厂家生产的大规模集成电路芯片没有一个标准化的规范,因而很难通过简单的连接提供芯片之间的标准信息的规范,因而很难通过简单的连接提供芯片之间的标准信息通路。通路。 随着微机应用的日益广泛,用户要求不同厂家生产的硬随着微机应用的日益广泛,用户要求不同厂家生产的硬件模块能实现简单方便互连的愿
7、望越来越迫切。芯片级不能件模块能实现简单方便互连的愿望越来越迫切。芯片级不能做到这一点,就要在插件级和系统级设法解决,因而形成了做到这一点,就要在插件级和系统级设法解决,因而形成了插件级和系统级的各种标准总线。插件级和系统级的各种标准总线。 标准总线不仅在电气上规定了各种信号的标准标准总线不仅在电气上规定了各种信号的标准电平、负载能力和定时关系,而且在结构上规定了电平、负载能力和定时关系,而且在结构上规定了插件的尺寸规格和各引脚的定义。通过严格的电气插件的尺寸规格和各引脚的定义。通过严格的电气和结构规定,各种模块可实现标准连接。各生产厂和结构规定,各种模块可实现标准连接。各生产厂家可以根据这些
8、标准规范生产各种插件或系统,用家可以根据这些标准规范生产各种插件或系统,用户可以根据自己的需要购买这些插件或系统来构成户可以根据自己的需要购买这些插件或系统来构成所希望的应用系统或者扩充原来的系统。所希望的应用系统或者扩充原来的系统。 制定一个合理的、便于以后扩充的总线标准制定一个合理的、便于以后扩充的总线标准是一件很复杂的工作,是一件很复杂的工作, 但从用户使用的角度看,只但从用户使用的角度看,只要了解常用标准总线的种类、特点和使用方法就行要了解常用标准总线的种类、特点和使用方法就行了。了。 目前总线标准有两类:目前总线标准有两类: 一类是一类是IEEE(美国电气及电子工程师协会美国电气及电
9、子工程师协会)标准标准委员会定义与解释的标准,如委员会定义与解释的标准,如IEEE-488总线和总线和RS-232C串行接口标准等,串行接口标准等, 这类标准现已有这类标准现已有20多个。多个。 另一类是因广泛应用而被大家接受与公认的标另一类是因广泛应用而被大家接受与公认的标准,如准,如S-100总线、总线、IBMPC总线、总线、ISA总线、总线、EISA总线、总线、STD总线和串行电流回路接口标准等。总线和串行电流回路接口标准等。 不同的总线标准可以用于不同的微机系统或者同不同的总线标准可以用于不同的微机系统或者同一微机系统的不同位置。一微机系统的不同位置。 9.2 PC领域常用的系统总线领
10、域常用的系统总线 9.2.1 ISA总线总线(Industry standard architecture) 16位位ISA总线频率为总线频率为8MHz左右。左右。 1) 8位位 ISA(即即XT)总线定义总线定义 8位位 ISA总线插槽定义如表所示,总线插槽定义如表所示, 共有共有62条引条引脚信号。脚信号。 2) 16位位ISA(即即AT)总线定义总线定义 AT总线在总线在XT总线基础上增加了一个总线基础上增加了一个36引脚的引脚的插槽,插槽, 这样也就构成了这样也就构成了16位位ISA总线总线8位位ISA总线信号定义总线信号定义ISA总线新增引脚总线新增引脚 9.2.2 PCI总线总线
11、PCI是是Intel公司开发的一套局部公司开发的一套局部总线系统,它支持总线系统,它支持32位或位或64位位的总线宽度,频率通常是的总线宽度,频率通常是33MHz。 PCI 总线是独立于总线是独立于CPU 的系统的系统总线,采用了独特的中间缓冲总线,采用了独特的中间缓冲器设计器设计PCI (Peripheral Component Interconnect, 外部组外部组件互连件互连), 是目前最为高级的系统总线,是目前最为高级的系统总线, 也是当前惟也是当前惟一发挥了一发挥了Pentium或或Pentium以上系统优势的总线以上系统优势的总线(有有些些486类型的微机也使用类型的微机也使用P
12、CI)。 PCI总线为局部总线。总线为局部总线。 PCI(外部设备互连外部设备互连)是高速外设与是高速外设与CPU间的桥梁间的桥梁。它在。它在CPU 与外设间插入了一个复杂的管理层,以与外设间插入了一个复杂的管理层,以协调数据传输,并提供了一个标准的总线接口。该协调数据传输,并提供了一个标准的总线接口。该管理层提供信号的缓冲,使管理层提供信号的缓冲,使PCI能支持能支持10种外设,种外设,并在高时钟频率下保持高性能。如图所示。并在高时钟频率下保持高性能。如图所示。 1. PCI的主要特点的主要特点 支持总线主控技术,允许智能设备在适当的时支持总线主控技术,允许智能设备在适当的时候取得总线控制权
13、以加速数据传输和对高度专门化候取得总线控制权以加速数据传输和对高度专门化任务的支持。任务的支持。PCI系统结构示意图系统结构示意图CPU存储控制器存储器PCI桥路标准总线桥路设备设备设备PCI桥路CPU总线设备标准总线 (ISA, EISA ) 支持突发传输模式。在这种模式下,支持突发传输模式。在这种模式下,PCI 能能在极短时间内发送大量数据,特别适合于高分辨率在极短时间内发送大量数据,特别适合于高分辨率且多达数百万种颜色的图像快速显示。且多达数百万种颜色的图像快速显示。 与与ISA/EISA/MCA总线兼容。总线兼容。 扩展性好。预留扩展空间,扩展性好。预留扩展空间, 支持支持64位数据和
14、位数据和地址。地址。 即插即用即插即用, 支持自动配置功能。支持自动配置功能。2. PCI总线的主要信号总线的主要信号 PCI总线信号分为地址线、数据线、接口控制线总线信号分为地址线、数据线、接口控制线、仲裁线、系统线、中断请求线、仲裁线、系统线、中断请求线、 高速缓存支持、高速缓存支持、出错报告等信号线,出错报告等信号线, 共共188根。根。 具体情况如表所示具体情况如表所示。 PCI总线引脚PCI总线信号总线信号PCI总线设备AD32 AD63C/BE4 C/BE7PAR64REQ64ACK64LOCKINTAINTBINTCINTDSBOSDONETDITDOTCKTMSTRSTAD0
15、AD31C/BE0 C/BE3PARFRAMETRDYIRDYSTOPDEVSELIDSELPERRSERRREQGNTCLKRST系统信号仲裁信号错误报告信号接口控制信号地址/数据线64位总线扩展信号接口控制中断信号支持 Cache的信号边界扫描信号必需的可选的 系统信号线有时钟信号线系统信号线有时钟信号线CLK和复位信号线和复位信号线RST。 地址数据总线地址数据总线AD0AD31是时分复用的信号线。是时分复用的信号线。 CBE0CBE3称为称为“命令字节使能命令字节使能”信号,信号,也为复用线。在传输数据阶段,它们指明所传输数据的各个也为复用线。在传输数据阶段,它们指明所传输数据的各个字
16、节的通路;在传送地址阶段,这四条线决定了总线操作的字节的通路;在传送地址阶段,这四条线决定了总线操作的类型,这些类型包括类型,这些类型包括IO读、读、IO写、存储器读、存储器写写、存储器读、存储器写、存储器多重写、中断响应、配置读、配置写和双地址周期、存储器多重写、中断响应、配置读、配置写和双地址周期等等。等等。 为了实现即插即用(为了实现即插即用(PnP)功能,)功能,PCI部件内都置有配部件内都置有配置寄存器,配置读和配置写命令就是用于在系统初始化时置寄存器,配置读和配置写命令就是用于在系统初始化时,对这些寄存器进行读写操作。,对这些寄存器进行读写操作。 接口控制信号有成帧信号接口控制信号
17、有成帧信号FRAME、目标设备就绪信、目标设备就绪信号号TDRY、 始发设备就绪信号始发设备就绪信号IRDY、停止传输、停止传输STOP、初始化设备选择、初始化设备选择IDSEL、资源封锁、资源封锁LOCK和设备和设备选择选择DEVSEL。 PCI总线采用独立请求的仲裁方式。每一个总线采用独立请求的仲裁方式。每一个PCI始发设备始发设备都有一对总线仲裁线都有一对总线仲裁线REQ和和GNT直接连到直接连到PCI总线仲总线仲裁器。裁器。 当各始发设备使用总线时,分别独立地向当各始发设备使用总线时,分别独立地向PCI总线总线仲裁器发出总线请求信号仲裁器发出总线请求信号REQ,由总线仲裁器根据系统,由
18、总线仲裁器根据系统规定的判决规则决定把总线使用权赋给哪一个设备。规定的判决规则决定把总线使用权赋给哪一个设备。 9.2.3 AGP接口接口 AGP叫做图形加速接口,是叫做图形加速接口,是Intel公司推出的新一代图形显示卡专公司推出的新一代图形显示卡专用数据通道,它只能安装用数据通道,它只能安装AGP的的显示卡显示卡PCI插槽插槽内存以及插槽内存以及插槽CPU并行并行接口并行并行接口IDE硬盘接口硬盘接口BIOS芯片芯片USB接口接口鼠标、鼠标、键盘接口键盘接口主板电源主板电源AGP接口接口软驱接口软驱接口供电电路供电电路9.3 9.3 常用的通信总线常用的通信总线 CAN总线总线 USB总线
19、总线 I2C总线总线 9.3.1 CAN总线总线 CAN,全称为全称为“Controller Area Network”,即控制即控制器局域网器局域网,是国际上应用最广泛的现场总线之一。是国际上应用最广泛的现场总线之一。 CAN总线通信接口中集成了总线通信接口中集成了CAN协议的物理层和协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。级判别等项工作。 CAN总线总线 9.3.2 USB总线总线 USB(Universal Serial Bus
20、)即通用串行总线即通用串行总线 USB系统的组成包括硬件和软件两部分。系统的组成包括硬件和软件两部分。 USB硬件部分硬件部分,包括包括USB主机、主机、USB设备设备(Hub和功能设备)和连接电缆。和功能设备)和连接电缆。USB软件部分:软件部分:USB设备驱动程序,通过设备驱动程序,通过I/O请求包(请求包(IRPs)发出给)发出给USB设备的请求。设备的请求。USB驱动程序,在设备设置时读取描述寄存器以获取驱动程序,在设备设置时读取描述寄存器以获取USB设备的特征。设备的特征。主控制器驱动程序,完成对主控制器驱动程序,完成对USB交换的调度,并通过交换的调度,并通过根根Hub或其他的或其
21、他的Hub完成对交换的初始化。完成对交换的初始化。 USB总线总线 USB主机是一个带有主机是一个带有USB主控制器的主控制器的PC机,在机,在USB系统中,只有一个主机。系统中,只有一个主机。 USB主控制器主控制器/根根Hub分别完成对传输的初始化分别完成对传输的初始化和设备的接入。和设备的接入。 USB Hubs除了根除了根Hub 外,为了接入更多的设外,为了接入更多的设备,需要其他备,需要其他USB Hubs。 连接电缆有两种,用于全速通信的包有防护物的连接电缆有两种,用于全速通信的包有防护物的双绞线和用于低速通信的不带防护物的非双绞线。双绞线和用于低速通信的不带防护物的非双绞线。9.
22、3.3 I2C总线总线 I2C(InterIntegrated Circuit)总线是由)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高少,控制方式简单,器件封装形式小,通信速率较高等优点。等优点。 I2C总线协议只使用总线协议只使用2条线:条线:串行数据线串行数据线SDA,串行时串行时钟线钟线SCL
23、 SDASCL 可发可收可发可收可发可收可发可收主机从机 I2C总线信号类型总线信号类型: 开始条件:开始条件:SCL为高电平时,为高电平时,SDA由高电平向由高电平向低电平跳变,开始传送数据低电平跳变,开始传送数据 结束条件:结束条件:SCL为高电平时,为高电平时,SDA由低电平向由低电平向高电平跳变,结束传送数据高电平跳变,结束传送数据 响应:接收方收到响应:接收方收到8bit数据后,在响应的时钟数据后,在响应的时钟脉冲期间必须将脉冲期间必须将SDA线拉低,表示已收到数据线拉低,表示已收到数据 I2C总线基本操作:总线基本操作: 总线必须由主器件(通常为微控制器)控制,所总线必须由主器件(
24、通常为微控制器)控制,所有操作均由主器件发起有操作均由主器件发起 主器件产生串行时钟(主器件产生串行时钟(SCL) 寻址从机寻址从机 控制总线的传输方向,控制总线的传输方向, 并产生起始和停止条件并产生起始和停止条件 从机有以下权力从机有以下权力 不响应,不响应,从机必须使数据线保持高电平从机必须使数据线保持高电平 使时钟线使时钟线SCL 保持低电平,迫使主机进入等待保持低电平,迫使主机进入等待状态状态 I2C总线基本操作:总线基本操作: I2C总线基本操作:总线基本操作: 当进行传输时,主机先发出一个起始条件,然后当进行传输时,主机先发出一个起始条件,然后发出地址信息和方向信息发出地址信息和
25、方向信息 发送到发送到SDA 线上的每个字节必须为线上的每个字节必须为8位位 , 比如比如7位地址位地址+1位读位读/写控制信息写控制信息 从机收到地址信息,应当给出响应从机收到地址信息,应当给出响应 然后主机发送从机接收,或从机发送主机接收,然后主机发送从机接收,或从机发送主机接收,每次传输的字节数量不受限制,但是每个字节后每次传输的字节数量不受限制,但是每个字节后必须跟一个响应位(接收方给出)必须跟一个响应位(接收方给出) 主机发出结束主机发出结束 STR710提供:提供: 2个个I2C接口接口 支持多主机和从机模式支持多主机和从机模式 自动识别自动识别7比特或比特或10比特地址寻址模式比
26、特地址寻址模式 可以工作在主机的发送或接收、从机的发送或可以工作在主机的发送或接收、从机的发送或接收四个模式接收四个模式 可以编程设置:标准模式可以编程设置:标准模式0-100KHz 或或 快速模快速模式式100-400KHz STR710 I2C的控制寄存器的控制寄存器 I2C Control Register (I2Cn_CR) STR710 I2C状态寄存器状态寄存器1 I2C Status Register 1 (I2Cn_SR1) STR710 I2C状态寄存器状态寄存器2 I2C Status Register 2 (I2Cn_SR2) STR710 I2C时钟控制寄存器时钟控制寄
27、存器 I2C Clock Control Register (I2Cn_CCR) STR710 I2C扩展时钟控制寄存器扩展时钟控制寄存器 I2C Extended Clock Control Register (I2Cn_ECCR) 1) 标准模式下标准模式下(fSCL 100kHz) fSCL = fPCLK1/ (2 x CC11-.CC0+7) CC11-.CC0 = (fPCLK1 / fSCL) - 7) / 2 2) 快速模式下快速模式下(100kHz fSCL 400kHz) fSCL = fPCLK1/ (3 x CC11-.CC0+9) CC11-.CC0 = (fPCLK
28、1 / fSCL) - 9) /3 STR710 I2C地址寄存器地址寄存器1 I2C Own Address Register 1 (I2Cn_OAR1) STR710 I2C地址寄存器地址寄存器2 I2C Own Address Register 2 (I2Cn_OAR2) STR710 I2C数据寄存器数据寄存器 I2C Data Register (I2Cn_DR) EV1:EVF=1,ADSL=1,读取,读取SR1寄存器清除该位。寄存器清除该位。EV2:EVF=1,BTF=1,读取数据寄存器清除该位。,读取数据寄存器清除该位。EV3:EVF=1,BTF=1,读取,读取SR1寄存器,再
29、向数据寄存器写入,清除该寄存器,再向数据寄存器写入,清除该位。位。EV3-1:EVF=1,AF=1,BTF=1,AF位通过读取位通过读取SR2寄存器清除,寄存器清除,BTF通过释放总线通过释放总线(STOP1,STOP0)或向数据寄存器写入或向数据寄存器写入0 xFF清除。清除。EV4:EVF=1,STOPF=1,读取,读取SR2寄存器清除。寄存器清除。EV5:EVF=1,SB=1,读取,读取I2Cn_SR1寄存器,再向数据寄存器写入,清寄存器,再向数据寄存器写入,清除该位。除该位。EV6:EVF=1,ENDAD=1,读取,读取SR2寄存器,再向寄存器,再向CR寄存器写入,清除寄存器写入,清除
30、该位该位(例如例如PE=1)。EV7:EVF=1,BTF=1,读取数据寄存器,清除该位。,读取数据寄存器,清除该位。EV8:EVF=1,BTF=1,向数据寄存器写入,清除该位。,向数据寄存器写入,清除该位。EV9:EVF=1,ADD10=1,读取,读取SR1寄存器,再向数据寄存器写入,清除寄存器,再向数据寄存器写入,清除该位。该位。 菲利普公司的菲利普公司的LM75A I2C串行温度传感器串行温度传感器 void Main(void) u8 TempH,TempL; u16 Temp; u32 dig;u8 LED_DATA6; /配置配置 led 引脚引脚GPIO_Config(GPIO2,
31、0 xF000,GPIO_IN_TRI_CMOS);GPIO_Config(GPIO2,0 x0FFF,GPIO_AF_PP);/配置配置 SDA & SCL 引脚为引脚为 alternate function Open DrainGPIO_Config(GPIO1, 0 x6000, GPIO_AF_OD);/Configure I2C0I2C_Init(I2C0);I2C_OnOffConfig(I2C0, ENABLE);I2C_SpeedConfig(I2C0, 100000);I2C_AcknowledgeConfig(I2C0, ENABLE);while(1)/Enabl
32、e Start generationI2C_STARTGenerate(I2C0, ENABLE);while(!(I2Cn_SR1(I2C0) & I2C_SB);/Send the slave addressI2C_AddressSend(I2C0,0 x90,I2C_Mode7,I2C_TX);while(!(I2Cn_SR2(I2C0) & 0 x20);I2Cn_CR(I2C0) |= 0 x20;/ Set PE/Send Data to the slavewhile(!(I2Cn_SR1(I2C0) & I2C_BTF);I2Cn_DR(I2C0) = 0 x00;while(!(I2Cn_SR1(I2C0) & I2C_BTF); /ReStart generationI2C_STARTGenerate(I2C0, ENABLE);while(!(I2Cn_SR1(I2C0) & I2C_SB); I2C_AddressSend(I2C0,0 x90,I2C_Mode7,I2C_RX); /Send the slave addressw
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论