《计算机接口技术》课件第7章 (2).ppt

上传人(卖家):momomo 文档编号:7862257 上传时间:2024-08-28 格式:PPT 页数:157 大小:2.60MB
下载 相关 举报
《计算机接口技术》课件第7章 (2).ppt_第1页
第1页 / 共157页
《计算机接口技术》课件第7章 (2).ppt_第2页
第2页 / 共157页
《计算机接口技术》课件第7章 (2).ppt_第3页
第3页 / 共157页
《计算机接口技术》课件第7章 (2).ppt_第4页
第4页 / 共157页
《计算机接口技术》课件第7章 (2).ppt_第5页
第5页 / 共157页
点击查看更多>>
资源描述

1、第7章 总线技术7.1 总线技术概论7.2 串行通信标准总线(RS-232C)7.3 SPI总线7.4 I2C总线7.5 现场总线技术第第7 7章章 总线技术总线技术第7章 总线技术7.1.1 总线的定义及分类总线的定义及分类总线是一种描述电子信号传输线路的结构形式,是一类信号线的集合,是子系统间传输信息的公共通道。通俗来讲,总线是信息传送的通道,是各部件之间的实际互联线。通过总线能实现整个系统内各部件之间的信息传输、交换、共享和逻辑控制等功能。总线分类的方式有许多,如分为外部和内部总线,系统总线和非系统总线等。按照数据的传输方式,总线可分为串行总线和并行总线;按照时钟信号是否独立,可以分为同

2、步总线和异步总线等。7.1 总线技术概论总线技术概论第7章 总线技术微型计算机系统常用的接口总线有并行总线和串行总线两种。所谓并行总线就是N位一次传送的总线,并行总线传送速度快,但需要N条传输线,故造价较高,主要用于模块与模块之间的连接。而串行总线只需要一条传输线,所以价格低。但因其传送方式为一位一位地传送,所以传送速度较慢。串行总线主要用于远距离通信。到目前为止,无论并行总线还是串行总线,都有许多种。在本章中,主要介绍几种工业控制过程中常用的串行总线,像RS-232C、RS-422、RS-485、SPI总线、I2C总线以及现场总线等。第7章 总线技术7.1.2 现场总线综述现场总线综述198

3、4年美国Inter公司提出一种计算机分布式控制系统位总线(BITBUS),它主要是将低速的面向过程的输入输出通道与高速的计算机多总线(MULTIBUS)分离,形成了现场总线的最初概念。第7章 总线技术现场总线设备的工作环境处于过程设备的底层,作为工厂设备级基础通信网络,要求具有协议简单、容错能力强、安全性好、成本低等特点;具有一定的时间确定性和较高的实时性,还要具有网络负载稳定、多数为短帧传送、信息交换频繁等特点。签于上述特点,现场总线系统从网络结构到通讯技术,都具有不同于上层高速数据通信网的特色。第7章 总线技术7.2.1 串行通信基本概念串行通信基本概念1.数据传送方式数据传送方式在微型计

4、算机系统中,处理器与外部设备之间的数据传送方式有两种:并行通信数据各位同时传送;串行通信数据一位一位地按顺序传送。如图7.1所示就是这两种传送方式的示意图。从图7.1所示可以看出,在并行通信中,数据有多少位就需要多少根传输线,而串行通信无论有多少位数据只需要一根传输线。因此,串行通信在远距离和多位数据传送时,有着明显的优越性。但串行通信的不足之处在于数据传送的速度比较慢。本节主要介绍有关串行通信的基本概念。7.2 7.2 串行通信标准总线串行通信标准总线(RS-232C)(RS-232C)第7章 总线技术(a)并行通信 (b)串行通信图7.1 并行通信与串行通信的数据传输方式第7章 总线技术在

5、串行通信中,通信的工作模式是通过单线传输信息。数据通常是在两个站(点对点)之间进行传送,按照数据流的方向可分成3种传送模式:单工、半双工、全双工。1)单工方式(Simplex Mode)通信双方中,一方固定为发送端,另一方则固定为接收端。使用一根传输线,只允许数据按一个固定的方向传送,称为单工方式,如图7.2(a)所示。图中A只能发送数据,称为发送器(Transfer);B只能接收数据,叫做接收器(Receiver)。而数据不能从B向A传送。第7章 总线技术2)半双工方式(HalfDuplex Mode)半双工方式如图7.2(b)所示。在这种方式下,数据既可以从A传向B,也可以从B向A传输。因

6、此,A、B既可作为发送器,又可作为接收器,通常称为收发器(Transceiver)。从这个意义上讲,这种方式似乎为双向工作方式。但是,由于A、B之间只有一根传输线,所以信号只能分时传送。即在同一时刻,只能进行一个方向传送,不能双向同时传输,因此,将其称为“半双工”方式。在这种工作方式下,要么A发送,B接收;要么B发送,A接收。当不工作时,令A、B均处于接收方式,以便随时响应对方的呼叫。第7章 总线技术3)全双工方式(FullDuplex Mode)虽然半双工方式比单工方式灵活,但是半双工通信中每端需有一个收/发切换电子开关,通过切换来决定数据向哪个方向传输。因为有切换,所以会产生时间延迟,信息

7、传输效率就会降低。解决的方法是增加一条传输线,使A、B两端均可同时工作在收发方式,称为全双工方式。全双工数据通信分别由两根可以在两个不同的站点同时发送和接收的传输线进行传送,通信双方都能在同一时刻进行发送和接收操作,如图7.2(c)所示。将图7.2(c)与图7.2(b)相比,虽然对每个站点来讲,都有发送器和接收器,但由于图7.2(c)中有两条传输线,用不着收发切换,因而传送率可成倍增长。且在全双工方式中,每一端都有发送器和接收器,有两条传送线,可在交互式应用和远程监控系统中使用,信息传输效率较高。第7章 总线技术(a)单工方式 (b)半双工方式 (c)全双工方式图7.2 串行数据传送方式示意图

8、 第7章 总线技术2.波特率和接收波特率和接收/发送时钟发送时钟1)波特率在数据传送方式确定后,以多大的速率发送/接收数据,是实现串行通信必须解决的问题。数据传输的速率不但取决于计算机本身的速率,更重要的是取决于串行通信接口芯片的速率。衡量传送数据快慢的物理量叫波特率。所谓波特率是指每秒钟传送的二进制数据的位数,单位是比特每秒(bit/s),常用b/s表示。1波特率=1位每秒(b/s)第7章 总线技术2)接收/发送时钟在串行通信中,无论发送或接收,都必须有时钟脉冲信号对传送的数据进行定位和同步控制。在发送端通常由发送时钟的下降沿使输入移位寄存器的数据串行移位输出。而接收端则在时钟的上升沿作用下

9、,将传输上的数据逐位移入寄存器,收/发时钟与二进制数据的关系如图7.3所示。第7章 总线技术(b)接收图7.3 收/发时钟与收/发数据的关系(a)发送第7章 总线技术从图7.3中可以看出,收/发时钟不仅决定了数据线上传送数据的速率,而且直接关系到收/发双方之间的数据传输的同步问题。为此,一般采用倍频采样方法,以提高采样频率,即收/发时钟频率=n波特率一般n取1,16,32,64等值。对于异步通信,常采用n=16;对于同步通信,则必须取n=1。第7章 总线技术3.信号的调制和解调信号的调制和解调串行通信通常都是数字通信,即传送的数据都是由“0”、“1”序列组成的数字信号。这种数字信号包括从低频到

10、高频极其丰富的谐波信号,因此要求传输线的频率特性很好。但在远距离通信时,为了降低成本,大都采用普通电话线(双绞线)进行传输。这种电话线的频率特性有限,其最高频率一般不超过3000 Hz。若要通过电话线传输数字信号,需要采取一定的措施,即利用调制解调技术。第7章 总线技术具体地说,就是在发送端把数字信号转换成适合电话线传输的模拟信号,此过程被称为调制。能够完成调制任务的设备叫调制器具(Modulator)。在接收端再把被调制成的模拟信号还原成数字信号,这一过程称为解调。完成解调的设备叫解调器(Demodulator)。调制和解调是一个事物的两个不同方面,在一个终端设备上往往既要调制,又要解调(以

11、便完成收/发任务)。因此,两者缺一不可。通常把上述两种功能做在一个设备中,这种设备称为调制解调器(Modulator-Demodulator 缩写为MODEM)。图7.4所示为两台计算机利用MODEM进行通信的原理。第7章 总线技术图7.4 计算机远程通信示意图第7章 总线技术4.异步通信与同步通信异步通信与同步通信1)异步通信异步通信是字符的同步传输技术。在异步通信中,传输的数据以字符(Character)为单位。当发送一个字符代码时,字符前面要加一个“起始”信号,其长度为一位,极性为“0”,即空号(Space)状态;规定在线路不传送数据时全部为“1”,即传号(Mark)状态。字符后面要加一

12、个“停止”信号,其长度为1位、1.5位或2位,极性为“1”。字符本身的长度为58位数据,视传输的数据格式而定。综上所述,异步串行通信的帧格式,如图7.5所示。第7章 总线技术图7.5 异步串行通信的帧格式第7章 总线技术2)同步通信同步通信的特点是不仅字符内部保持同步,而且,字符与字符之间也是同步的。在这种通信方式下,接收/发送双方必须建立准确的位定时信号,也就是说收/发时钟频率必须严格地一致。同步通信在数据格式上与异步通信也不同,每个字符不增加任何附加位,而是连续发送。但是在传送中,数据要分成组(帧),每一组包含多个字符代码或若干个独立的码元。为使收/发双方建立和保持同步,在每组的开始处加上

13、规定的码元序列,作为标志序列。在发送数据之前,必须先发送此标志序列,接收端通过检测该标志序列实现同步。第7章 总线技术5.差错控制技术差错控制技术1)差错控制方法(1)自动要求重发。自动要求重发ARQ(Automatic Repeat Request)方式的工作原理是:发送端对发送序列进行纠错编码,得到可以检测出错误的校验序列,接收端根据校验序列的编码规则判决是否出错,并把判决结果通过反馈信号传回给发送端。若无错,接收端确认接收,同时发送端缓冲器清除序列;若有误,接收端拒收,同时通知发送端重新发送该序列,直到接收端收到正确的信息为止。这种发送方式的原理如图7.6所示。第7章 总线技术图7.6

14、自动请求重发方式原理图第7章 总线技术在微型计算机通信中,自动请求重发纠错系统一般采用两种方式工作,一种是采用半双工通信方式的系统,该系统中发送端只有在接收到反馈应答的判决信号后,才能决定是否继续发送下一组数据。因此,这种系统也被称为停止等待系统,一般应用于面向字符的传送控制规程中。另一种是采用全双工通信方式的系统,该系统中把需要应答的判决信号插到双方传送的信息帧中,这种系统被称为连续发送系统,在面向位的传输规程中应用的较多。第7章 总线技术图7.7 前向纠错方式原理图第7章 总线技术(2)前向纠错方式。前向纠错FEC(Forward Error Correction)方式中,发送端对数据进行

15、纠错和纠错编码,接收端收到这些编码后,进行译码。译码不但能发现错误,而且能自动地纠正错误,因而不需要反馈信道。这种方式的缺点是译码设备复杂,而且纠错码的冗余码元多,效率低。前向纠错方式如图7.7所示。第7章 总线技术图7.8 混合纠错方式原理图第7章 总线技术(3)混合纠错方式。混合纠错HEC(Hybird Error Correction)方式是上述前向纠错和自动请求重发两种纠错方式的结合。在这种纠错方式中,发送端编码具有一定的纠错能力,接收端对收到的数据进行检测。若发现有错且未超过纠错能力,则能自动纠错;若超过纠错能力则发出反馈信息,命令发送端重发。混合纠错方式在一定程度上弥补了自动请求重

16、发纠错和前向纠错两种方式的缺点。混合纠错方式如图7.8所示。第7章 总线技术2)纠错编码(1)奇偶校验(Parity Check)。奇偶校验是一种最简单的也是应用最多的纠错编码方法。奇偶校验的方法是在信息码组之后加一位监督码元,即奇偶校验位。具体有两种:一种叫奇校验码,另一种称为偶校验码。奇校验码的编码方法是使整个码组中“1”的个数为奇数。具体来讲,就是若信息码组中“1”的个数为奇数,则监督位为“0”,否则为“1”。例如传送的数据信息为4(ASCII码为34H),则奇校验编码的校验位应为“0”,而偶校验编码的校验位为“1”,如图7.9所示的是利用RS232C接口的奇偶校验码的波形图。第7章 总

17、线技术图7.9 数据“4”的奇偶校验码第7章 总线技术(2)循环冗余校验CRC(Cyclic Redundancy Chrck)。循环冗余校验CRC与奇偶校验不同,后者是一个字符校验一次,而前者是一个数据块校验一次。在同步串行通信中,几乎都使用这种方法,例如对磁盘信息的读/写等。CRC校验利用线性编码理论,在发送端根据要传送的二进制码序列,以一定的规则产生一个校验用的监督码(也叫CRC码),附加在信息之后,构成一个新的二进制码序列发送出去。在接收端,则根据信息码和监督码之间所遵循的规则进行检测,确定传送中是否出错。第7章 总线技术7.2.2 串行通信标准总线串行通信标准总线(RS-232C)1

18、.RS-232C的电气特性的电气特性RS-232C标准规定高电平为+3 V+15 V,低电平为-3 V15 V。需特别指出,RS-232C数据线TxD,RxD的电平使用负逻辑:低电平表示逻辑1,高电平表示逻辑0;其他控制线均采用正逻辑,最高能表示30 V的信号电平。因此,RS-232C不能直接与TTL电路连接,使用时必须加上适当的电平转换电路,否则将使TTL电路烧毁。这一点使用时一定要特别注意。市售的专用集成电路芯片,如MC1488和MC1489是专门用于计算机(终端)与RS-232C总线间进行电平转换的接口芯片。MC1488和MC1489的原理电路,如图7.10所示。第7章 总线技术图7.1

19、0 RS-232C电平转换电路第7章 总线技术MAX232是有两个线路驱动器(Tx)和两个接收器(Rx)的16脚DIP/SO封装的工业级RS-232C标准接口芯片。MAX232系列收发器引脚及原理,如图7.11所示。第7章 总线技术图7.11 MAX220/232/232A管脚分配及应用电路第7章 总线技术2.RS-232C机械特性及引脚功能机械特性及引脚功能RS-232C标准总线有25条信号线,对其机械特性并未做严格规定。不过现在都习惯采用25针D型插头和插座,只要将插头及插座插紧即可实现连接。各引脚的排列顺序如图7.12所示(图中所示为插座)。第7章 总线技术图7.12 RS-232C引脚

20、排列图第7章 总线技术信号分为两类,一类是DTE与DCE交换的信息:TxD和 RxD;另一类是为了正确无误地传输上述信息而设计的联络信号。下面介绍这两类信号。1)传送信息的信号(1)发送数据TxD(Transmitting Data),是由发送端(DTE)向接收端(DCE)发送的信息,按串行数据格式,及以先低位后高位的顺序发出。正信号是一个空号(Space)(二进制0),负信号是一个传号(Mark)(二进制1)。当没有数据发送时,DTE应将此条线置为传号状态。(2)接收数据RxD(Receiving Data),用来接收发送端DTE(或调制解调器)输出的数据,当收不到载波信号时(管脚8为负电平

21、),这条线会迫使信号进入传号状态。第7章 总线技术2)联络信号这类信号共有6个:(1)请求传送信号RTS(Request To Send):DTE向DCE发出的联络信号,当RTS=1时,表示DTE请求向DCE发送数据。(2)清除发送CTS(Clear To Send):DCE向DTE发出的联络信号,当CTS=1时,表示本地DCE响应DTE向DCE发出的RTS信号,且本地DCE准备向远程DCE发送数据。(3)数据准备就绪DSR(Data Set Ready),是DCE向DTE发出的联络信号,DSR指出本地DCE的工作状态。当DSR=1时,表示DCE处于测试通话状态,这时DCE可以与远程DCE建立

22、通道。第7章 总线技术(4)数据终端就绪信号DTR(Data Terminal Ready):DTE向DCE发送的联络信号。DTR=1时,表示DTE处于就绪状态,本地DCE和远程DCE之间建立通信通道;而DTR=0时,将迫使DCE终止通信工作。(5)数据载波检测信号DCD(Data Carrier Detect):DCE向DTE发出的状态信息。当DCD=1时,表示本地DCE接收到远程DCE发出来的载波信号。(6)振铃指示信号RI(Ring Indication):DCE向DTE发出的状态信息。当RI=1时,表示本地DCE接收到DCE振铃信号。第7章 总线技术3)RS-232C的实际应用在一般的

23、串行通信接口中,即使主信道,也不是所有的信号线都一定要用,最常用的也就是其中的几条最基本的信号线。根据应用场合的不同,有以下几种连接方式。(1)使用MODEM连接法。计算机MODEM或其他数据通信设备(DCE)使用一条电话线进行通信时,一般只需要插座上的1号8号插针这8条线,如图7.13所示。第7章 总线技术图7.13 使用MODEM时RS-232C引脚的连线示意图第7章 总线技术(2)直接连接法。当计算机和终端之间不使用MODEM或其他通信设备(DCE)而直接通过RS-232C接口连接时,一般只需要5根线(不包括保护地线以及本地4,5号插针之间的连线),但其中多数应采用反馈与交叉相结合的连接

24、法,如图7.14所示。第7章 总线技术图7.14 使用RS-232C的直接连接法第7章 总线技术(3)三线连接法。这是一种最简单的RS-232C连线方式,只需23交叉连接线以及信号地线,而将各自的RTS和DTR分别接到自己的CTS和DSR端即可,如图7.15所示。第7章 总线技术图7.15 最简单的RS-232C连接方法第7章 总线技术7.2.3 RS-423/RS-422/RS-485RS-232C虽然使用很广,但由于推出时间比较早,所以在现代通信网络中已暴露出某些缺点,主要表现如下。(1)传送速率不够快。RS-232C规定为2 kb/s,虽然这种传送速率在异步通信中可以满足要求(通常异步通

25、信限制19 200 b/s或更少),但对于某些同步系统,其传送速率却显得不够高。(2)传送距离不够远。根据RS-232C标准,各装置之间电缆长度不超过15 m,即使在较好的信号通信中,电缆长度也不超过60 m。因此,难以满足现代工业控制的要求。第7章 总线技术(3)RS-232C未表明规定连接器,因而出现了互不兼容的25芯连接器。(4)接口使用非平衡发送器,电器性能不佳。(5)接口处各信号间容易产生串扰。由于RS-232C有上述一些缺点,所以近几年EIA对它做了部分改进,于1977年制订出新标准RS-449;1980年SC-449成为美国标准。在制订新标准时,除了保留与RS-232C兼容的特点

26、外,还在提高传输速率,增加传输距离,改进电器特性等方面做了很多努力。RS-449增加了RS-232C所没有的环测功能,明确规定了连接器,解决了机械接口问题。第7章 总线技术1.RS-423A/RS-422A与RS-232C类似,RS-423A也是一种单端的、双极性电源的电路标准,但它提高了传送设备的传送数据速率。在速率为1000 b/s时,距离可达1200 m,在速率为100 kb/s时,距离可达90 m。RS-423A/RS-422A是负逻辑控制且参考电平为地,但不同的是RS-232C规定为-15 V+15 V,而这两个标准规定为-6 V+6 V。第7章 总线技术RS-422A规定了差分平衡

27、的电气接口,能够在较长距离传输时提高数据传送速率,如在1200 m距离内把速率提高到100 kb/s,或在较近距离(12 m)内提高到10 Mb/s。这种性能的改善源于平衡结构的优点,这种差分平衡结构能从地线的干扰中分离出有效信号。实际上,差分接收器可以区分0.2 V以上的电位差,因此,可不受地参考电平波动及共模电磁干扰的影响。图7.16所示为RS-232C/RS-423A/RS-422A的电气接口电路示意图。第7章 总线技术(b)单端驱动差分接收电路(a)单端驱动非差分接收电路第7章 总线技术图7.16 RS-232C/RS-423A/RS-422A接口电路(c)平衡驱动差分接收电路第7章

28、总线技术2.RS-485在许多工业过程控制中,要求用最少的信号线来完成通信任务。目前广泛应用的RS-485串行接口总线就是针对这种需要应运而生的,它实际上就是RS-422总线的变型。两者不同之处在于:RS-422为全双工的,而RS-485是半双工;RS-422采用两对平衡差分信号线,RS-485只需其中的一对。RS-485更适合多站互连,一个发送驱动器最多可连接32个负载设备,负载设备可以是被动发送器、接收器或收发器。此电路结构在平衡连接电缆两端有终端电阻,在平衡电缆上挂发送器、接收器或组合收发器。两种总线的连接方法如图7.17所示。第7章 总线技术图7.17 RS-485/RS-422接口电

29、路连接方式(b)RS-422连接电路(a)RS-485连接电路第7章 总线技术对于一个通信子站来讲,RS-422和RS-485的驱动/接收电路没有多大差别,详见表7.1。表表7.1 RS-422与与RS-485的比较的比较第7章 总线技术第7章 总线技术MAX481E/488E的管脚分配及原理如图7.18所示。(a)MAX481E (b)MAX488E图7.18 MAX481E/488E结构与管脚图第7章 总线技术MAX481E/483E/485E/487R/491E都是为多点双向总线数据通信而设计的,如图7.19和图7.20所示分别给出RS-485半双工和全双工网络连接方式,也可以把它们作为

30、中继站,其传送距离超过1200 m。第7章 总线技术图7.19 MAX481E/483E/485E/487E/1487E典型的RS-485半双工网络第7章 总线技术图7.20 MAX488E/489E/490E/MAX491E全双工RS-485网络第7章 总线技术7.3.1 SPI总线概述总线概述1.SPI功能特点功能特点SPI总线的主要功能特点有:全双工操作 主从方式 有4种可编程主方式频率(最大为1.05 MHz)最大从方式频率为2.1 MHz 具有可编程极性和相位的串行时钟 有传送结束中断标志 有写冲突出错标志 有总线冲突出错标志7.3 SPI 7.3 SPI 总总 线线第7章 总线技术

31、2.SPI技术性能技术性能SPI接口是Motorola 首先提出的全双工三线同步串行外围接口,采用主/从模式(Master/Slave)架构;支持多Slave模式应用,一般仅支持单Master模式。时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后(MSB first);SPI接口有两根单向数据线,为全双工通信,目前应用中的数据速率可达数兆位每秒的水平。第7章 总线技术3.SPI接口定义接口定义图7.21所示为SPI接口定义方法。共有4根信号线,分别为设备选择线、时钟线、串行输出数据线、串行输入数据线。(1)MOSI:主器件数据输出,从器件数据输入;(2)MISO:主器

32、件数据输入,从器件数据输出;(3)SCK:时钟信号,由主器件产生;(4):从器件使能信号,由主器件控制;SPI接口内部结构如图7.22所示。SS第7章 总线技术图7.21 SPI接口定义方法第7章 总线技术图7.22 SPI接口内部结构第7章 总线技术图7.23 SPI内部寄存器第7章 总线技术7.3.2 SPI的工作原理的工作原理从SPI在主SPI时钟控制下进入移位寄存器,当一个字节进入从SPI之后,被传送到SPDR。为了防止越限,从机的软件必须在另一个字节进入移位寄存器之前,先读SPDR中的字节,并准备传送到SPDR中。如图7.24所示为主SPI如何与从SPI交换数据。第7章 总线技术图7

33、.24 主/从机数据传送方法第7章 总线技术1.主方式下的管脚功能主方式下的管脚功能设SPI控制寄存器(SPCR)中的MSTR位为SPI主方式。在主方式下SPI管脚功能如下:PD4/SCLK(串行时钟):在主方式下,PD4/SCK管脚同步输出。PD3/MOSI(主输出,从输入):在主方式下,PD3/MOSI管脚串行输出。PD2/MISO(主输入,从输出):在主方式下,PD2/MISO管脚串行输入。PD5/(从选择):在主方式下,PD5/管脚用来保护在主方式下两个SPI同时操作时所引起的冲突。主机PD5/管脚上的逻辑0禁止SPI,清除MSTR位,并产生方式错误标志。SSSSSS第7章 总线技术2

34、.从方式下的管脚功能从方式下的管脚功能清除SPCR中的MSTR位,使SPI工作于从方式。在从方式下SPI管脚功能如下:PD4/SCK(串行时钟):在从方式下,PD4/SCK管脚是从主机SPIG来的同步时钟信号输入端。PD3/MOSI(主输出,从输入):在从方式下,PD3/MOSI管脚是串行输入端。PD2/MISO(主输入,从输出):在从方式下,PD2/MISO管脚是串行输出端。第7章 总线技术PD5/(从选择):在从方式下,PD5/管脚用做来自主SPI的数据和串行时钟接收的使能端。当CPHA=0时,移位时钟是与SCK相或,在此时钟相位方式下,必须在SPI信息中的两个有效字符之间为高电平。当CP

35、HA=1时,线在有效的传输之间保持低电平。这一格式多出现在有一个单独的、固有的主机和一个单独的从驱动MISO数据线的系统中。SSSSSSSSSS第7章 总线技术7.3.3 SPI总线协议总线协议1.SPI通信方式通信方式SPI总线是一种4根信号线协议,SPI是微控制器4线的外部总线(相对于内部总线)。对于有经验的数字电子工程师来说,用SPI互联两支数字设备是相当直观的。SPI是单主设备(Single-Master)通信协议,即总线中只有一支中心设备能发起通信。当SPI主设备想读/写从设备时,它首先拉低从设备对应的线(是低电平有效),接着开始发送工作脉冲到时钟线上,在相应的脉冲时间上,主设备把信

36、号发到MOSI实现“写”,同时可对MISO采样而实现“读”,它的通信方式如7.25所示。SSSS第7章 总线技术图7.25 简单的SPI通信方式第7章 总线技术2.SPI工作模式工作模式SPI总线有4种工作模式(SP0,SP1,SP2,SP3),其中使用最为广泛的是SP0和SP3方式,它们的区别是定义了在时钟脉冲的哪条边沿转换(Toggles)输出信号,哪条边沿采样输入信号,还有就是时钟信号无效时,稳定电平值是高还是低。每种模式由一对参数描述,它们称为时钟极(Clock Polarity)CPOL与时钟期(Clock Phase)CPHA,如图7.26所示。第7章 总线技术图7.26 CPOL

37、与CPHA表示的SPI模式第7章 总线技术3.SPI数据传输时序数据传输时序SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主设备产生的从设备使能信号和移位脉冲下,按位传输,高位在前,低位在后。SPI数据传输时序如图7.27所示,在SCK的下降沿上数据改变,上升沿一位数据被存入移位寄存器。第7章 总线技术图7.27 SPI数据传输时序图第7章 总线技术实际上,SPI是一个环形总线结构,由、SCK、SDI、SDO构成,其时序较简单,主要是在SCK的控制下,两个双向移位寄存器进行数据交换。在上升沿发送、下降沿接收、高位先发送。当上升沿到来的时候,SDO上的电平将被发送到从设备

38、的寄存器中;当下降沿到来的时候,SDI上的电平将被接收到主设备的寄存器中。例如:设主机和从机初始化就绪:并且主机的Sbuff=0 xaa(10101010),从机的Sbuff=0 x55(01010101),下面分步讨论SPI的8个时钟周期的数据情况(假设上升沿发送数据)。SS第7章 总线技术第7章 总线技术第7章 总线技术4.串行时钟的极性和相位串行时钟的极性和相位SPI模块为了和外部设备进行数据交换,根据外部设备不同串行通信的工作要求,其输出串行同步时钟极性和相位可以用软件进行配置,SPCR中时钟的极性位(CPOL)和时钟的相位位(CPHA)用来控制串行时钟和传送数据的时间关系。时钟极性(

39、CPOL)对传输协议没有重大的影响。如果CPOL=0,串行同步时钟的空闲状态为低电平;如果CPOL=1,串行同步时钟的空闲状态为高电平。第7章 总线技术时钟相位(CPHA)能够配置用于选择两种不同的传输协议之中的一种进行数据传输。如果 CPHA=0,在串行同步时钟的第一个跳变沿(上升沿或下降沿)数据被采样;如果CPHA=1,在串行同步时钟的第二个跳变沿(上升沿或下降沿)数据被采样。SPI主设备和与其通信的外设备时钟相位和极性应该一致。SPI总线有4种不同的数据传输时序,取决于CPOL和CPHA这两位的组合。图7.28所示为CPOL和CPHA位与时钟/数据之间的关系。第7章 总线技术图7.28

40、SPI时钟/数据时序图第7章 总线技术7.3.4 SPI的应用的应用MC68HC70508中的SPI总线数据格式一般为8位,但不是所有的外设都是8位,如串行A/D或D/A转换器除了8位外,还有10、12、14或16位,因此,在SPI串行通信系统中,一定要注意串行通信的格式。图7.29所示为SPI接口与单个外设连接示意图。图中(a)为与A/D转换器的连接图;图7.29(b)为与D/A转换器连接的接线图。要特别注意的是,图中数据线MISO和MOSI的连接,MAX 1242/1243为10位串行A/D转换器,MAX 5150/5151为13位电压输出型D/A转换器。第7章 总线技术(a)SPI接口与

41、A/D转换器的连接线第7章 总线技术图7.29 SPI与单个外设连接系统图(b)SPI接口与D/A转换器的连接线第7章 总线技术在同一个SPI系统中,有时需要多个设备,此时可以采用总线式或采用菊花链式结构,图7.30和图7.31所示为一个主机和3个从机(D/A)分别采用两种不同连接方法的示意图。图7.30 SPI与MAX 5150/5151总线链式连接示意图第7章 总线技术图7.31 SPI与MAX 5150/5151菊花链式连接示意图第7章 总线技术7.4.1 I2C总线概述总线概述I2C总线是同步通信的一种特殊形式,支持所有的NMOS、CMOS、I2C等工艺制造的器件。具有接口线少,控制方

42、式简单,器件封装形式小,通信速率较高等优点。I2C总线连接如图7.32所示。7.4 I7.4 I2 2C C总线总线第7章 总线技术图7.32 I2C总线连接图第7章 总线技术1.I2C总线硬件结构和重要术语I2C串行总线有两根信号线:一根双向的数据线SDA;另一根是时钟线SCL。所有接到I2C总线上的设备的串行数据都接到总线的SDA线上,各设备的时钟线SCL接到总线的SCL上。典型的I2C总线结构如图7.33所示。第7章 总线技术图7.33 I2C总线结构图第7章 总线技术为了避免总线信号的混乱,要求各设备连接到总线的输出端必须是开漏输出或集电极开路输出的结构。设备与总线的接口电路如图7.3

43、4所示。设备上的串行数据线SDA接口电路应该是双向的,输出电路用于向总线上发数据,输入电路用于接收总线上的数据。串行时钟线也应是双向的,作为控制总线数据传送的主机要通过SCL输出电路发送时钟信号,同时要检测总线上SCL的电平以决定什么时候发下一个时钟脉冲电平;作为接收主机命令的从机,要按总线上的SCL的信号发出或接收SDA的信号,也可以向SCL线发出低电平信号以延长总线时钟信号周期。总线空闲时,因各设备都是开漏输出,上拉电阻RP使SDA和SCL线都保持高电平。任一设备输出的低电平都使相应的总线信号线变低,也就是说各设备的SDA是“与”关系,SCL也是“与”关系。第7章 总线技术图7.34 设备

44、与I2C总线接口电路第7章 总线技术2.I2C总线特征总线特征I2C总线有以下几个重要特点。(1)只要求两条总线线路:一条串行数据线SDA,一条串行时钟线SCL;(2)每个连接到总线的设备都可以通过唯一的地址和一直存在的简单的主机/从机关系软件设定地址,主机可以作为主机发送器或主机接收器;第7章 总线技术(3)I2C总线是一个真正的多主机总线,如果两个或更多主机同时初始化,数据传输可以通过冲突检测和仲裁防止数据被破坏;(4)串行的8 位双向数据传输位速率在标准模式下可达100 kb/s,快速模式下可达400 kb/s,高速模式下可达3.4 Mb/s;(5)连接到相同总线的I2C 数量只受到总线

45、的最大电容400 pF 限制。第7章 总线技术7.4.2 I2C总线协议总线协议1.I2C总线位数据的传输总线位数据的传输由于连接到I2C 总线的器件有不同种类的工艺(CMOS、NMOS、双极性),逻辑0(低)和逻辑1(高)的电平不是固定的,它由电源VCC的相关电平决定,每传输一个数据位就产生一个时钟脉冲。I2C总线规定时钟线SCL上一个周期只能传送一位数据,而且要求串行数据线SDA上的数据必须在时钟的高电平周期保持稳定。数据线的高或低电平状态只有在SCL 线的时钟信号是低电平时才能改变,如图7.35所示。第7章 总线技术图7.35 I2C总线位传输数据有效性第7章 总线技术2.起始和停止条件

46、起始和停止条件根据I2C总线协议,在I2C总线传送过程中,规定当SCL线为高电平时,SDA线从高电平向低电平切换,这个情况表示起始条件;当SCL线为低电平时,SDA线由低电平向高电平切换,这个情况表示停止条件,如图7.36所示。第7章 总线技术图7.36 起始和停止条件第7章 总线技术3.I2C总线数据字节的传输与应答总线数据字节的传输与应答发送到SDA 线上的每个字节必须为8 位,每次传输可以发送的字节数量不受限制。每个字节后必须跟一个响应位。首先传输的是数据的最高位(MSB),如图7.37所示。如果从机要完成一些其他功能后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以

47、使时钟线SCL保持低电平,迫使主机进入等待状态,当从机准备好接收下一个数据字节并释放时钟线SCL后数据传输继续。第7章 总线技术图7.37 I2C总线上数据的传输第7章 总线技术I2C总线协议规定,数据传输必须带响应,相关的响应时钟脉冲由主机产生。在响应的时钟脉冲期间发送器释放SDA 线(高)。在响应的时钟脉冲期间,接收器必须将SDA 线拉低,使它在这个时钟脉冲的高电平期间保持稳定的低电平,如图7.38所示。第7章 总线技术图7.38 I2C总线上的应答位第7章 总线技术4.I2C总线寻址总线寻址 串行总线和并行总线不同,并行总线中有专门的地址总线,CPU通过地址总线送出所要选择的设备地址,由

48、地址译码器产生设备的选通信号;I2C只有一根数据线,不另附地址和外设选通线,而是利用启动信号后的头几个字节数据传送地址信息及控制信息。常用的主要有7位寻址和10位寻址。合法的数据传输格式如表7.2所示。第7章 总线技术表表7.2 数据传输格式数据传输格式第7章 总线技术1)7位地址格式 启动信号后,主机至少要发送一个字节数据。第一个字节的头7 位组成了从机地址,最低位(LSB)是第8 位,它决定了传输的方向。第一个字节的最低位是“0”,表示主机会写信息到被选中的从机;“1”表示主机会向从机读信息,当发送了一个地址后,系统中的每个器件都在起始条件后将头7 位与它自己的地址比较,如果相同,该器件会

49、判定自己被主机寻址,至于是从机接收器还是从机发送器,则由R/W 位决定。I2C总线7位地址格式如图7.39所示。第7章 总线技术图7.39 I2C总线7位地址格式(b)带重复开始条件的I2C总线7位地址格式(a)普通I2C总线7位地址格式第7章 总线技术2)10位地址格式10位地址是近年来在7位地址格式基础上发展起来的,它和7 位寻址兼容,而且可以结合使用。10位寻址采用了保留的1111XXX 作为起始条件(S),或重复起始条件(Sr)的后第一个字节的头7位。10 位地址格式并未改变I2C总线原有协议,不会影响已有的7 位寻址,所以,采用10 位地址的设备和7 位地址的设备可以连接到相同的I2

50、C总线,它们都能用于标准模式(F/S)和高速模式(HS)系统。第7章 总线技术保留地址位1111XXX有8个组合,但是只有4个组合11110XX用于10位寻址,剩下的4个组合11111XX保留给后续增强的I2C总线。10位从机地址是由在起始条件(S)或重复起始条件(Sr)后的头两个字节组成。第一个字节的头7位是11110XX的组合,其中最后两位(XX)是10位地址的两个最高位(MSB)。第一个字节的第8位是R/W位,决定了传输的方向,第一个字节的最低位是“0”表示主机将写信息到选中的从机,“1”表示主机将向从机读信息。如果R/W 位是“0”,则第二个字节是10 位从机地址剩下的8 位;如果R/

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《计算机接口技术》课件第7章 (2).ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|