欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    [信息与通信]微型计算机控制技术 第5章 总线接口技术.ppt

    • 资源ID:2000841       资源大小:3.29MB        全文页数:113页
    • 资源格式: PPT        下载积分:10
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要10
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [信息与通信]微型计算机控制技术 第5章 总线接口技术.ppt

    第五章 总线接口技术,5.1 串行通信基本概念 5.2 串行通信标准总线(RS-232-C) 5.3 SPI总线 5.4 I C总线 5.5 现场总线技术,2,第5章 总线接口技术,随着微型计算机控制技术的不断发展,现在已经生产出多种专用工业控制机。这些控制机大都采用模块式结构,具有通用性强,系统组态灵活等特点,因而具有广泛的适用性。 在这些工业控制机中,除了主机板之外,还有大量的用途各异的I/O接口板,如A/D和D/A转换板、步进电机控制板、电机控制板、内存扩展板,串/并行通信扩展板、开关量输入/输出板等。为了使这些功能板能够方便地连接在一起,必须采用统一的总线。,微机控制技术,第5章 总线接口技术,总线有并行和串行两种。在这一章里,主要介绍几种工业过程控制中常用的串行总线,如RS-232-C、RS-422、RS-485、等。,微机控制技术,第五章 总线接口技术,总线有并行总线和串行总线两种。 并行总线就是N位一次传送的总线,因此传送速度 快。但它需要N条传输线,故价格也比较高。主要用于模块与模块之间的连接。 串行总线它只需要一条传输线,所以价格低。但因其传送方式是一位一位地传送,因此传送速度较慢。该总线主要用于远距离通信。,微机控制技术,5.1 串行通信基本概念,随着微型计算机技术的发展,微型机的应用正在从单机向多机过渡。多机应用的关键是相互通信。特别在远距离通信中,并行通信已显得无能为力,通常大都须采用串行通信方法。在这一节里,首先介绍串行通信的基本概念,然后介绍几种常用的串行通信总线,如RS-232-C,RS-485等。此外,还介绍几种单片机专用总线,如SPI总线,I2C总线等。最后,讲一下现场总线。它的出现,使微型计算机控制系统正经历着一场新的革命。,微机控制技术,5.1.1 数据传送方式,在微型计算机系统中,处理器与外部设备之间的数据传送方法有两种: (1)并行通信数据各位同时传送; (2)串行通信数据一位一位地按顺序传送。,微机控制技术,图 5.1 并行通信与串口通信的数据传送方式,微机控制技术,图5.1 并行通信与串行通信的数据传递方式 P146,5.1.1 数据传送方式,在并行通信中,数据有多少位就需要有多少根传输线,而串行通信无论数据有多少位只需要一对传输线。因此,串行通信在远距离和多位数据传送时,有着明显的优越性。但它的不足之处在于数据传送的速度比较慢。 在串行通信中,数据传送有3种方式:单工方式、半双工方式和全双工方式。,微机控制技术,5.1.1 数据传送方式,1. 单工方式(Simplex Mode) 在这种方式中,只允许数据按一个固定的方向传送,图中A只能发送数据,称为发送器(Transfer);B只能接收数据,叫做接收器(Receiver)。而数据不能从B向A传送。,微机控制技术,5.1.1 数据传送方式,2. 半双工方式(Half-Duplex Mode) 在这种方式下,数据既可以从A传向B,也可以从B向A传输。因此,A,B既可作为发送器,又可作为接收器,通常称为收发器(Transceiver)。从这个意义上讲,这种方式似乎为双向工作方式。但是,由于A,B之间只有一根传输线,所以信号只能分时传送。,微机控制技术,5.1.1 数据传送方式,即在同一时刻,只能进行一个方向传送,不能双向同时传输。因此,将其称为“半双工”方式。在这种工作方式下,要么A发送,B接收;要么B发送,A接收。当不工作时,令A,B均处于接收方式,以便随时响应对方的呼叫。,微机控制技术,5.1.1 数据传送方式,3. 全双工方式(Full-Duplex Mode) 虽然半双工方式比单工方式灵活,但它的效率依然比较低。主要原因是从发送方式切换到接收方式需要一定的时间,大约为数毫秒。重复线路切换所引起的延迟积累时间是相当可观的。另一方面,也是更重要的,就是在同一时刻只能工作在某一种方式下,这是半双工效率不高的根本原因所在。,微机控制技术,5.1.1 数据传送方式,解决的方法是增加一条线,使A,B两端均可同时工作在收发方式。,微机控制技术,5.1.1 数据传送方式,值得说明的是,全双工与半双工方式比较,虽然信号传送速度大增,但它的线路也要增加一条,因此系统成本将增加。在实际应用中,特别是在异步通信中,大多数情况都采用半双工方式。这样,虽然发送效率较低,但线路简单、实用,对于一般系统也基本够用。,微机控制技术,5.1.2 异步通信和同步通信,根据在串行通信中数据定时、同步的不同,串行通信的基本方式有两种:异步通信(Asynchronous Communication)和同步通信(Synchronous Communication)。,微机控制技术,5.1.2 异步通信和同步通信,1. 异步通信 异步通信是字符的同步传输技术。在异步通信中,传输的数据以字符(Character)为单位。当发送一个字符代码时,字符前面要加一个“起始”信号,其长度为一位,极性为“0”,即空号(Space)状态;规定在线路不传送数据时全部为“1”,即传号(Mark)状态。字符后边要加一个“停止”信号,其长度为1,1.5或2位,极性为“1”。字符本身的长度为58位数据,视传输的数据格式而定。例如,当传送的数字(或字符)用ASCII码表示时,其长度为7位。在某些传输中,为了减少误码率,经常在数据之后还加一位“校验位”。,微机控制技术,5.1.2 异步通信和同步通信,由此可见,一个字符由起始位(0)开始,到停止位(1)结束,其长度为712位。起始位和停止位用来区分字符。传送时,字符可以连续发送,也可以断续发送。不发送字符时线路保持“1”状态。字符发送的顺序为先低位后高位。,微机控制技术,异步串行通信的帧格式,5.1.2 异步通信和同步通信,异步通信的优点是收/发双方不需要严格的位同步。也就是说,在这种通信方式下,每个字符作为独立的信息单元,可以随机地出现在数据流中,而每个字符出现在数据流中的相对时间是随机的。然而一个字符一旦发送开始,字符的每一位就必须连续地发送出去。由此可见,在异步串行通信中,“异步”是指字符与字符之间的异步,而在字符内部,仍然是同步传送。在异步通信中,由于大量增加了起始停止和校验位,所以,这种通信方式的效率比较低。其最高效率(传送8bit数据,1bit停止位,1bit校验位)也只有8/(8+3)=73%。,微机控制技术,5.1.2 异步通信和同步通信,2. 同步通信 同步通信的特点是不仅字符内部保持同步,而且,字符与字符之间也是同步的。在这种通信方式下,收/发双方必须建立准确的位定时信号,也就是说收/发时钟的频率必须严格地一致。同步通信在数据格式上也与异步通信不同,每个字符不增加任何附加位,而是连续发送。但是在传送中,数据要分成组(帧),一组含多个字符代码或若干个独立的码元。,微机控制技术,5.1.2 异步通信和同步通信,为使收/发双方建立和保持同步,在每组的开始处应加上规定的码元序列,作为标志序列。在发送数据之前,必须先发送此标志序列,接收端通过检测该标志序列实现同步。,微机控制技术,5.1.2 异步通信和同步通信,标志序列的格式因传输规程不同而异。例如,在基本型传输规程中,利用国际NO.5代码中的“SYN”控制系统,可实现收/发双方同步。又如在高级数据链路规程(HDLC)中,是按帧格式传送的,利用帧标志符“01111110”来实现收/发双方的同步的。两种传送方法如图5.4所示。,微机控制技术,图5.4 两种同步传送格式,微机控制技术,(a) 带同步字符的同步传送,(b) 带帧标志符的同步传送,图 5.4 两种同步传送格式 P148,5.1.2 异步通信和同步通信,同步通信方式适合2400 bps以上速率的数据传输。由于不必加起始位和停止位,所以,传输效率比较高。其缺点是硬件设备较为复杂,因为它要求有时钟来实现发送端和接收端之间的严格同步,因此还要用锁相技术等来加以保证。,微机控制技术,5.1.2 异步通信和同步通信,例如,一种很常见的数据链路结构是HDLC,一般包含48bit的控制信息、前同步码和后同步码。因此,对于一个1000个字符的数据块,每个帧包括48bit的额外开销,以及1000×8=8000bit的数据,由此可求出其额外开销仅占48/(8000+48)×100%=0.6%。,微机控制技术,5.1.2 异步通信和同步通信,同步通信用于计算机到计算机之间的通信以及计算机到CRT或外设之间的通信等。,微机控制技术,52 串行通信标准总线(RS-232-C),在进行串行通信接口设计时,主要考虑的问题是接口方法、传输介质及电平转换等。和并行传送一样,现在已经颁布了很多种标准总线,如RS-232-C,RS-422、RS-485和20mA电流环等。与之相配套的,还研制出适合各种标准接口总线使用的芯片,为串行接口设计带来极大的方便。 串行接口的设计主要是确定一种串行标准总线,其次是选择接口控制及电平转换芯片。,微机控制技术,5.2.1 RS-232-C, RS-232-C是使用最早、应用最多的一种异步串行通信总线 它是美国电子工业协会(E I A)1962年公布的,1969年最后一次修订而成。 RS-232-C主要用来定义计算机系统的一些数据终端设备(DTE)和数据通信设备( DCE)之间接口的电气特性。,微机控制技术,由于MCS-51系列单片机本身有一个异步串行通信接口,因此,该系列单片机使用RS-232-C串行总线极为方便。,5.2.1 RS-232-C,RS-232-C的电气特性 RS-232-C标准早于TTL电路的产生,其高、低电平要求对称,规定高电平为+3V+15V,低电平为-3V-15V。需特别指出,RS-232-C数据线TxD,RxD的电平使用负逻辑:低电平表示逻辑1,高电平表示逻辑0;其他控制线均采用正逻辑,最高能承受±30V的信号电平。,微机控制技术,因此,RS-232-C不能直接与TTL电路连接,使用时必须加上适当的电平转换电路,否则将使TTL电路烧毁!这一点使用时一定要特别注意。,5.2.1 RS-232-C,其中: MC1488:输入TTL电平,输出与RS-232-C兼容,电源电压为±15V或±12V; MC1489:输入与RS-232-C兼容,输出为TTL电平,电源电压为5V。 MC1488和MC1489的原理电路,如图5.5所示。,微机控制技术,MC1488和MC1489是专门用于计算机(终端)与RS-232-C总线间进行电平转换的接口芯片。,图5.5 RS-232-C电平转换电路,微机控制技术,图 5.5 RS-232-C 电平转换电路 P149,5.2.1 RS-232-C,下面以MAX232为例介绍一下接收/发送一体化接口芯片。 MAX232是有两个线路驱动器(TX)和两个接收器(RX)的16脚DIP/SO封装型工业级RS-232-C标准接口芯片。,微机控制技术,5.2.1 RS-232-C,微机控制技术,图 5.6 MAX220/232/232A管脚分配及应用电路 P150,5.2.1 RS-232-C,从图中可以看出,MAX232系列芯片由4部分组成:电压倍增器、电压反向器、RS-232发送器和RS-232接收器。电压倍增器利用电荷充电泵原理用电容C1把+5V电压变换成+10V电压,并存放在C3上。第二个电容充电泵用C2将+10V转换成-10V,储存在滤波电容C4上。因此,RS-232只需用+5V单电源即可。这些芯片其收发性能与1488/1489基本相同,只是收发器路数不同。,微机控制技术,5.2.1 RS-232-C,2. RS-232-C的应用 由于MCS-51单片机内部已经集成了串行接口,因此用户不需再扩展串行通信接口芯片,而直接利用MCS-51单片机上的串行接口和RS-232-C电平转换芯片即可实现串行通信。,微机控制技术,5.2.1 RS-232-C,单片机8031的串口已经集成在芯片内部,串口输出和输入分别为TxD和RxD,但它们均为TTL电平。为实现RS-232-C电平要求,还需要接RS-232-C的电平转换芯片。在本例中,采用MAX232作为电平转换。MAX232有两组收发电路,在图中只用了其中的一组。,微机控制技术,5.2.1 RS-232-C,在所设计的串行接口中,要求通信速率为4800波特,实现单片机8031与主机之间进行通信。同时,设单片机的时钟频率是11 MHz。,微机控制技术,在此,选用串行口工作在方式1。其传送数据格式为:1个低电平的启动位,8位数据和1个高电平的停止位。 在方式1的情况下,串行口的通信速率与定时计数器T1的溢出速率和电源控制器PCON中的波特率控制位SMOD有关。此时给出计算公式为: 波特率 = (2SMOD /32)×(定时器T1的溢出率),5.2.1 RS-232-C,而定时器T1的溢出率则和定时器工作方式有关,其计算公式为 定时器T1的溢出率 = f OSC /12×(2n-X) SMOD单片机串行接口中PCON寄存器中的控制位(最高位),当SMOD=1时,波特率 = f OSC/32,当SMOD=0时,波特率 = f OSC /64;,微机控制技术,f OSC 单片机时钟频率,n定时器T1的位数,对于定时器方式0,取n=13,对于定时器方式1,取n=16, 对于定时器方式2、3,取n=8。,5.2.1 RS-232-C,用于串口通信的定时器常选用它的工作方式2的自动装入方式。定时器用的是8位。 根据式(5-1)和(5-2)可求出定时计数器T1的初值 X=2n-2SMOD ×f OSC /384×波特率 设SMOD=0,fosc 为11MHz,波特率为4800bit/s,则可计算出初值X=250=FAH。,微机控制技术,5.2.1 RS-232-C,;主程序 ORG 2000H START: MOV TMOD,#20H ;定时器T1为方式2 MOV THl, #0FAH MOV TLl, #0FAH ;波特率为4800 MOV PCON,#00H ;置SMOD=0 SETB TRl ;启动T1计数开始 MOV SCON,#50H ;串口方式1 CLR RI ;清接收标志 CLR TI ;清发送标志 HERE: AJMP HERE ;模拟主程序,下面是实现上述功能的程序:,微机控制技术,5.2.1 RS-232-C,;数据发送程序 SEDATA: MOV R0,#20H WAIT: JNB TI,$ ;等待发送完一个字符 MOVX A,R0 ;取一个字符 MOV SBUF,A ;送串口 INC R0 CLR TI CJNE A,#0AH,WAIT RET,微机控制技术,5.2.1 RS-232-C,;接收子程序 RVDATA:MOV R0 , #20H RXDW: JNB RI, $ CLR RI MOV A SBUF MOVX Ro,A INC R0 CJNE A,#0AH,RXDW RET,微机控制技术,5.2.1 RS-232-C,前面提到的发送、接收子程序,在实际工程中,发送子程序是可以实际应用的。因为什么时候一个数据块已准备好需要发往对方,程序设计者是知道的。数据准备好后即可调用。而对接收子程序来说,概念上是可以理解的,但是并不实用。原因是通信对方何时发来数据是不可知的,而单片机又不能不做别的事而一直查询等待对方发来的数据。 因此,在实时性要求不高的应用中,发送采用查询工作而接收采用中断工作。在要求高的地方发和收都可以采用中断工作。,微机控制技术,5.2.1 RS-232-C,3. RS-232-C机械特性及引脚的功能 RS-232-C标准总线为25条线,这些信号分为两类,一类是DTE与DCE交换的信息:TxD和RxD;另一类是为了正确无误地传输上述信息而设计的联络信号。下边介绍这两类信号。,微机控制技术,5.2.1 RS-232-C,(1)传送信息信号 发送数据TxD(Transmitting Data) 接受数据RxD(Receive Data) (2)联络信号 这类信号共有6个: 请求传送信号RTS(Request To Send) 清除发送CTS(Clear To Send) 数据准备就绪DSR(Data Set Ready) 数据终端就绪信号DTR(Data Terminal Ready) 数据载波检测信号DCD(Data Carrier Detect) 振铃指示信号RI(Ring Indication),微机控制技术,522 RS-422/RS-485,RS-232-C虽然使用很广,但由于推出时间比较早,所以在现代通信网络中已暴露出明显的缺点,主要表现在: (1)传送速率不够快。 (2)传送距离不够远,一般不超过15m。 (3)RS-232-C未明确规定连接器,因而出现了互不兼容的25芯连接器。 (4)接口使用非平衡发送器,电器性能不佳。 (5) 接口处各信号间容易产生串扰。,微机控制技术,522 RS-422/RS-485,所以,近几年EIA作了部分改进,于1977年,制定了新标准RS-449,与RS-449一起推出的还有RS-423-A和RS-422-A。实际上,它们都是RS-449标准的子集。下边主要介绍RS-423-A和RS-422-A,微机控制技术,522 RS-422/RS-485,1. RS-423-A/RS-422-A 与RS-232-C类似,RS-423-A也是一个单端的、双极性电源的电路标准,但它提高了传送设备的传送数据速率。在速率为1000波特时,距离可达1200m,在速率为100 k波特时,距离可达90m。 RS-423-A/RS-422-A也是负逻辑且参考电平为地,但不同的是RS-232-C规定为-5+15V,而这两个标准规定为-6+6V。,微机控制技术,522 RS-422/RS-485,RS-422-A规定了差分平衡的电气接口,它能够在较长距离明显地提高数据传送速率, 传输速率 1200m 100 k波特, 12m 10M波特。 图5.8所示为RS-232-C/RS-423-A/RS-422-A的电气接口电路示意图。,微机控制技术,微机控制技术,522 RS-422/RS-485,图5-8 RS-232-C/RS-423-A/RS-422-A 接口电路。 P153,522 RS-422/RS-485,(a)为RS-232-C,单端驱动单端接收电路,只用一根导线,是最简单的连接结构。但无法区分有用信号及干扰信号。 (b)RS-423-A,差分电路接收器,接受器的另一端接发送端的信号地,(因而大大地减少了地线的干扰。 (c) RS-422-A,平衡驱动和差分接收方法,从根本上消除了地线干扰。RS-423-A/RS-422-A的另一个优点是允许传送线上连接多个接收器。,微机控制技术,522 RS-422/RS-485,RS-423-A/RS-422-A的另一个优点是允许传送线上连接多个接收器。虽然在RS-232-C系统中可以使用多个接收器循环工作,但它每一时刻只允许一个接收器工作。而RS-423-A/RS-422-A可允许10个以上接收器同时工作。关于多站连接方法将在下一小节讲述。,微机控制技术,2. RS-485,RS-485与RS-422总线的的区别: RS-422为全双工,而RS-485为半双工; RS-422采用两对平衡差分信号线,RS-485只需其中的一对。 RS-485更适合于多站互连,一个发送驱动器最多可连接32个负载设备。 负载设备可以是被动发送器、接收器和收发器。此电路结构在平衡连接电缆两端有终端电阻,在平衡电缆上挂发送器、接收器或组合收发器。,微机控制技术,522 RS-422/RS-485,微机控制技术,RS-485/RS-422接口连接方法,表 RS-422与RS-485的比较,接 口,项 目,微机控制技术,续表 RS-422与RS-485的比较,微机控制技术,522 RS-422/RS-485,MAX481E/MAX488E是低电源(只有+5V)RS-485/RS-422收发器。每一个芯片内都含有一个驱动器和一个接收器,采用8脚DIP/SO封装。除了上述两种芯片外,和MAX481E相同的系列芯片还有MAX483E/485E/487E/1487E等等,和MAX488E相同的有MAX490E。这两种芯片的主要区别是前者为半双工,后者为全双工。它们的管脚分配及原理如图5-10所示。,微机控制技术,522 RS-422/RS-485,微机控制技术,图5-10 MAX481E/488E结构及管脚图 P155,522 RS-422/RS-485,MAX481E/483E/485E/487E/491E和MAX1487E是为多点双向总线数据通讯而设计的。也可以把它们作为线路中继站,其传送距离超过1200m。,微机控制技术,522 RS-422/RS-485,微机控制技术,图 MAX481E/MAX488E连接电路图a,522 RS-422/RS-485,微机控制技术,图 MAX481E/MAX488E连接电路图b,微机控制技术,图 MAX481E/483E/485E/487E/1487E典型的RS-485半双工网络,522 RS-422/RS-485,图 MAX488E/489E/490E/MAX491E全双工RS-485网络,微机控制技术,本章结束!,5. 3 SPI总线,SPI串行外部接口,是Motorola公司生产的增强型MC68HC70508A(单片机)上的串行接口,能与外部设备之间进行全双工、同步串行通信。其功能类似MCS-51系列单片机串行接口中的方式0。,微机控制技术,SPI具有如下特点: 全双工操作 主从方式 有4种可编程主方式频率(最大为1.05MHz) 最大从方式频率为2.1MHz 具有可编程极性和相位的串行时钟 6. 有传送结束中断标志 7. 有写冲突出错标志 8. 有总线冲突出错标志。,5.3.1 SPI的内部结构,图5.14 SPI接口内部结构,微机控制技术,5.3.1 SPI的内部结构,SPI接口组成: SPI移位寄存器:主要完成串/并数据之间的转换 SPI控制电路:用来控制串行工作状态及错误信息 管脚控制逻辑:主要控制PD2/MISO,PD3/MOSI,PD4/SCK以及PD5/SS4个管脚的工作方式 除法器:是系统时钟的分频器,由程序控制选择4种不同的时钟频率 时钟逻辑以及控制寄存器(SPCR): 状态寄存器(SPSR): 数据寄存器(SPDR):,微机控制技术,主要用来保存各种状态信息及数据,5.3.1 SPI的内部结构,1SPI数据寄存器(SPDR) SPDR是用于SPI所接收字符的读缓冲器。 写一个字节到SPDR中,就是把该字节直接放入SPI移位寄存器。,微机控制技术,SPI数据寄存器(SPDR),5.3.1 SPI的内部结构,2SPI控制寄存器(SPCR) SPCR具有下列功能: 允许SPI中断请求; 允许SPI; 设置SPI为主或从方式; 选择串行时钟极性、相位和频率。,微机控制技术,SPI控制寄存器(SPCR),微机控制技术,5.3.1 SPI的内部结构, SPIESPI中断允许位,该位置“1”,表示允许SPI中断;置“0”表示禁止SPI中断。 SPESPI复位允许位,该位为1时,允许SPI复位;为0时禁止SPI复位。 MSTR主机位,该位为1时,选择主方式;为0时,选择 从方式。 CPOL时钟极性位,该位为1时表示传送数据间PD4/SCK管脚为逻辑1,为0时表示传送数据间PD4/SCK管脚为逻辑0。 CPHA时钟相位位。该位等于1时,表示PD4/SCK上第一个有效沿后的下一个有效沿锁存数据。该位为0时,表示PD4/SCK上第一个有效沿锁存数据。 为了在SPI总线上传送数据,各SPI之间必须有相同CPHA位。复位时对该位没有影响。,微机控制技术,5.3.1 SPI的内部结构, SPR1和SPR0 SPI时钟速率位。这些读/写位用来选择主方式的串行时钟速率,从SPI的这两位对串行时钟无影响。,微机控制技术,5.3.1 SPI的内部结构,3SPI状态寄存器(SPSR),SPI状态标志寄存器(SPSR),微机控制技术,SPIF发送完毕位。该位是可清除的位,并且只能读,不能写。每当移出或移入到移位寄存器中一个字节时,该位被置位。如果SPCR中的SPIE也是置位状态,则SPIF产生一个中断请求。当SPIF置位时通过读SPSR可以清除SPIF,然后读(或写)SPDR。复位时该位被清除。该位为1时,表示传送完毕。该位为0时,表示传送未完,5.3.1 SPI的内部结构,WCOL写冲突位。该位是可清除的位,并且只能读,不能写。在传送过程中,软件对SPDR进行写时,该位置位。当WCOL置位时,可以用读SPSR的方法清除这一位;可以读和写SPDR,复位也将清除该位。该位置1,表示写SPDR无效。该位置0,表示写SPDR有效。,微机控制技术,5.3.1 SPI的内部结构,MODF方式错位。该位是只读并可清除位。当MSTR位置位时,在PD5/管脚上产生逻辑0时,MODF被置位。如果此时SPIF位也被置位,则MODF产生一个中断请求。清除及复位对它的影响同WCOL位。 该位置1,当MSTR位置位时,PD5/为低;该位置0,当MSTR位置位时,PD5/不为低。,微机控制技术,5.3.2 SPI的工作原理,主/从式SPI允许在主机与外围设备(包括其他的CPU)之间进行串行通信。当主机的SPI8位移位寄存器把一个字节传送到另一设备时,来自接收设备的一个字节也被送到主机SPI的移位寄存器。主SPI的时钟信号与数据传送是同步的。,微机控制技术,5.3.2 SPI的工作原理,只有主SPI可以对传送过程初始化。软件通过写入SPI数据寄存器(SPDR)的方法开始从主SPI传送数据。在SPI传送过程中,SPDR不能缓冲数据,写到SPI的数据直接进入移位寄存器,并在串行时钟控制下立即开始传送。当经过8个串行时钟脉冲以后,SPI标志(SPIF)开始置位时,传送结束。同时SPIF置位,从接收设备移位到主SPI的数据被传送到SPDR。因此,SPDR所缓冲的数据是SPI所接收的数据。在主SPI传送下一个数据之前,软件必须通过读SPDR清除SPIF标志位,然后再执行。,微机控制技术,5.3.2 SPI的工作原理,在从SPI中,数据在主SPI时钟控制下进入移位寄存器,当一个字节进入从SPI之后,被传送到SPDR。为了防止越限,从机的软件必须在另一个字节进入移位寄存器之前,先读SPDR中的这个字节,并准备传送到SPDR中。,微机控制技术,5.3.2 SPI的工作原理,微机控制技术,图5.18 主机/从机数据传送方法 P161,5.3.2 SPI的工作原理,从图5.18可以看出,实际上可以把两个8位的主、从寄存器看成一个循环的16位的寄存器。在传输时,只需这个16位寄存器循环移位8次,即可完成一次数据交换。,微机控制技术,5.3.2 SPI的工作原理,1. 主方式下的管脚功能 PD4/SCK(串行时钟)在主方式下,PD4/SCK管脚是同步时钟输出。 PD3/MOSI(主输出,从输入)在主方式下,PD3/MOSI管脚是串行输出。 PD2/MISO(主输入,从输出)在主方式下,PD2/MISO管脚为串行输入。,微机控制技术,PD5/ (从选择)在主方式下,PD5/ 管脚用来保护在主方式下两个SPI同时操作时所引起的冲突。主机PD5/ 管脚上的逻辑0禁止SPI,清除MSTR位,并产生方式错误标志(MODF)。,5.3.2 SPI的工作原理,2. 从方式下的管脚功能 PD4/SCK(串行时钟)在从方式下,PD4/SCK管脚是从主机SPI来的同步时钟信号的输入端; PD3/MOSI(主输出,从输入)在从方式下,该管脚为串行输入端; PDI/MIS0(主输入,从输出),在从方式下,该管脚为串行输出端。 PD5/ (从选择)在从方式下,该管脚用做来自主SPI的数据和串行时钟接收的使能端。,微机控制技术,5.3.2 SPI的工作原理,当CPHA=0时,移位时钟是 与SCK相或。在此时钟相位方式下, 必须在SPI信息中的两个有效字符之间为高电平。 当CPHA=1时, 线在有效的传输之间保持低电平。这一格式多出现在有一个单独的、固定的主机和一个单独的从驱动MISO数据线的系统中。,微机控制技术,5.4 I C总线,I2 C总线是PHILIPS公司推出的一种串行总线。它是具备多主机系统所需的包括总线裁决和高低速设备同步等功能的高性能串行总线,是一种近年来应用较多的串行总线。在采用I2 C总线的系统中,不仅要求所用单片机内部集成有I2 C总线接口,而且要求所用外围芯片内部也要有I2 C总线接口。,2,微机控制技术,5.4.1 I C总线概述,I2 C串行总线只有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。 I2 C总线支持所有的NMOS,CMOS, I2 C工艺制造的器件。所有连接到I2 C总线上的设备的串行数据都接到总线的SDA线上,而各设备的时钟均接到总线的SCL上。典型的I2 C总线结构如图,2,微机控制技术,5.4.1 I C总线概述,2,微机控制技术,图5.27 I C总线结构 P167,I2 C总线是一个多主机总线,即一个I2 C总线可以有一个或两个以上的主机,总线运行由主机控制。所谓主机即启动数据的传送(发出启动信号),发出时钟信号,传送结束时发出停止信号的设备。通常主机由微处理器组成。被主机寻访的设备叫从机。它可以是微处理器,也可以是其他的器件,如存储器、LED及LCD驱动器、A/D及D/A转换器等。为了进行通信,每个接到I2 C总线上的设备都有一个惟一的地址,以便于主机寻访。 在多主机系统中,可能同时有几个主机企图启动总线传送数据。为了避免这种情况引起的冲突,保证数据的可靠传送,任一时刻总线只能由某一台主机控制。为此,该总线需要通过总线裁决过程,决定哪一台主机控制总线。,5.4.1 I C总线概述,2,微机控制技术,5.4.1 I C总线概述,2,微机控制技术,图5.28 I C总线各设备的连接 P167,I 2 C总线的SDA和SCL都是双向I/O总线,通过上拉电阻接正电源。每一个I 2 C总线接口电路都有如图中虚线所示的接口电路。当总线空闲时,两根总线均为高电平。连到总线上的器件的输出级必须是漏极开路(或集电极开路),任一设备输出的低电平,都将使总线的信号变低,也就是说各设备的SDA是“与”的关系,SCL也是“与”的关系。在I 2 C总线标准模式下,数据传输速率为100Kbps,在高速模式下可达400Kbps。 I 2 C总线上主-从机之间一次传送的数据称为一帧,由启动信号、若干个数据字节和应答位以及停止信号组成。数据传送的基本单元是一位数据。,5.4.1 I C总线概述,2,微机控制技术,5.4.2 I C总线的数据传送,1. 一位数据的传送 I 2 C总线规定时钟线SCL上一个时钟周期只能传送一位数据,而且要求串行数据线SDA上的信号电平在SCL的高电平期间必须稳定(除启动和停止信号外),数据线上的信号变化只允许在SCL的低电平期间产生。,2,微机控制技术,2. 启动和停止信号 根据I 2 C总线协议,在I 2 C总线传送过程中,规定当SCL线为高电平时,向SDA线上送一个由高到低的电平,表示启动信号;当SCL线为低电平时,向SDA线上送一个由低到高的电平,为停止信号。,5.4.2 I C总线的数据传送,2,微机控制技术,启动和停止信号都是由主机发出的。当总线上出现启动信号后,就认为总线在工作状态;总线上出现停止信号,经过一定时间以后,总线被认为是在不忙或空闲状态。 如果接到总线上的设备具备I 2 C的接口硬件,就可以很容易地检测到启动和停止信号。然而,有时微处理器没有I 2 C接口电路,就必须在每个时钟周期内至少采样两次SDA线,才能检测到启动和停止信号。,5.4.2 I C总线的数据传送,2,微机控制技术,如果,接收设备不能接收下一个字节,例如正在处理一个外部中断,可以把SCL线拉成低电平,迫使主机处于等待状态。当从机准备好接收下一个字节时再释放时钟线SCL,使数据传送继续进行。,5.4.2 I C总线的数据传送,2,微机控制技术,3. 数字字节的传送,送到SDA线上的每个字节必须为8位长度,每次传送的字节数是不受限制的,每个字节后边必须跟一个应答位。数据传送时,先传送最高位,,I 2 C总线协议规定,每一个字节传送完以后,都要有一个应答位。应答位的时钟脉冲也由主机产生。发送设备在应答时钟脉冲高电平期间释放SDA线(高电平),转由接收器控制。接收设备在这个时钟内必须将SDA线拉为低电平,以便产生有效的应答信号。,5.4.2 I C总线的数据传送,2,微机控制技术,4. 应答,通常被寻址的接收设备必须在收到每个字节后产生应答信号。若一个从机正在处理一个实时事件,不能接收(或不能产生应答)时,从机必须使SDA保持高电平。此时主机产生一个结束信号,使传送异常结束。 如果从机对地址做了应答,后来在传送中不能接收更多的数据字节,主机也必须异常结束传送。 当主机接收时,主机对最后一个字节不予应答,以向从机指出数据传送的结束,从发送器释放SDA线,使主机能产生一个结束信号。,5.4.2 I C总线的数据传送,2,微机控制技术,在开始信号以后送出一个从设备地址,地址为7位,第8位为方向位(R/ ),0表示发送(写),“1”表示请求数据(读)。一次数据传送总是由主设备产生的结束信号而终止的。,5.4.2 I C总线的数据传送,2,微机控制技术,5. 一帧完整数据的格式,图5.33 完整的数据传送过程,微机控制技术,如果主设备还希望在总线上通信,它可以产生另一个开始信号和寻址另一个从设备,不需要先产生一个停止信号。在这种传送方式中,就可能有读写方式的组合。,数据位R/ 为0时,表示主机向从机发送(写)数据;数据位R/ 为1时,表示主机从从机接收(读)数据。,5.4.3 寻址,启动信号后,主机至少要发送一个字节数据。该字节的高7位组成从机的地址,最低位是R/ 确定信息的方向。,微机控制技术,1. 第一个字节各位的定义,5.4.3 寻址,信号开始后,系统中各个设备将自己的地址和主设备送到总线上的地址进行比较,如果两者相同,该设备认为被主设备寻址,接收或发送由R/ 确定。设备的从地址由固定位和可编程位两部分组成。如果希望在系统中使用1个以上相同的设备,从地址的可编程部分确定了在I 2 C总线上可接的这种设备的最多数目。1个设备从地址的可编程位数取决于该设备可用来编程的引脚数。例如,如果1个设备从地址有4个固定位和3个可编程位,在总线上可以接8个相同的这种设备。 I 2 C总线约定可以调整I 2 C地址的分配。,微机控制技术,5.4.3 寻址

    注意事项

    本文([信息与通信]微型计算机控制技术 第5章 总线接口技术.ppt)为本站会员(音乐台)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开