《第6章(1)ppt.ppt》由会员分享,可在线阅读,更多相关《第6章(1)ppt.ppt(144页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第6章章 总线接口技术总线接口技术前言前言6 6.1 .1 串行通信基本概念串行通信基本概念 6 6.2 .2 串行通信标准总线(串行通信标准总线(RS-232-CRS-232-C)6.3 SPI6.3 SPI总线总线第第6章章 总线接口技术总线接口技术 随着微型计算机控制技术的不断发展,现在已经生产出多种专用工业控制机。这些控制机大都采用模块式结构,具有通用性强,系统组态灵活等特点,因而具有广泛的适用性。在这些工业控制机中,除了主机板之外,还有大量的用途各异的I/O接口板,如A/D和D/A转换板、步进电机控制板、电机控制板、内存扩展板,串/并行通信扩展板、开关量输入/输出板等。为了使这些功
2、能板能够方便地连接在一起,必须采用统一的总线。微机控制技术第第6章章 总线接口技术总线接口技术总线有并行和串行两种。在这一章里,主要介绍几种工业过程控制中常用的串行总线,如RS-232-C、RS-422、RS-485、SPI总线、I2C总线以及现场总线等。微机控制技术第第6章章 总线接口技术总线接口技术总线有并行总线和串行总线两种。(1)并行总线 N位数据一次传送,因此传送速度快。需要N条传输线,故价格较高。主要用于模块与模块之间的连接。(2)串行总线 一位一位地传送,因此传送速度较慢。只需一条传输线,所以价格低。该总线主要用于远距离通信。主要介绍几种工业过程控制中常用的串/并行总线。微机控制
3、技术6.1 串行通信基本概念串行通信基本概念 随着微型计算机技术的发展,微型机的应用正在从单机向多机过渡。多机应用的关键是相互通信。特别在远距离通信中,并行通信已显得无能为力,通常大都须采用串行通信方法。在这一节里,首先介绍串行通信的基本概念,然后介绍几种常用的串行通信总线,如RS-232-C,RS-485等。此外,还介绍几种单片机专用总线,如SPI总线,I2C总线等。最后,讲一下现场总线。它的出现,使微型计算机控制系统正经历着一场新的革命。微机控制技术6.1 串行通信基本概念串行通信基本概念6.1.1 6.1.1 数据传送方式数据传送方式6.1.2 6.1.2 异步通信和同步通信异步通信和同
4、步通信6.1.1 数据传送方式数据传送方式 在微型计算机系统中,处理器与外部设备之间的数据传送方法有两种:(1)并行通信数据各位同时传送;(2)串行通信数据一位一位地按顺序传送。如图6.1所示就是这两种传送方式的示意图。微机控制技术图图 6.1 并行通信与串口通信的数据传送方式并行通信与串口通信的数据传送方式微机控制技术6.1.1 数据传送方式数据传送方式 如图6.1所示可以看出,在并行通信中,数据有多少位就需要有多少根传输线,而串行通信无论数据有多少位只需要一对传输线。因此,串行通信在远距离和多位数据传送时,有着明显的优越性。但它的不足之处在于数据传送的速度比较慢。本节主要介绍有关串行通信的
5、基本概念。在串行通信中,数据传送有3种方式:单工方式、半双工方式和全双工方式。微机控制技术6.1.1 数据传送方式数据传送方式 1.单工方式(Simplex Mode)在这种方式中,只允许数据按一个固定的方向传送,如图6.2(a)所示。图中A只能发送数据,称为发送器(Transfer);B只能接收数据,叫做接收器(Receiver)。而数据不能从B向A传送。微机控制技术6.1.1 数据传送方式数据传送方式2.半双工方式(Half-Duplex Mode)半双工方式如图6.2(b)所示。在这种方式下,数据既可以从A传向B,也可以从B向A传输。因此,A,B既可作为发送器,又可作为接收器,通常称为收
6、发器(Transceiver)。从这个意义上讲,这种方式似乎为双向工作方式。但是,由于A,B之间只有一根传输线,所以信号只能分时传送。微机控制技术6.1.1 数据传送方式数据传送方式即在同一时刻,只能进行一个方向传送,不能双向同时传输。因此,将其称为“半双工”方式。在这种工作方式下,要么A发送,B接收;要么B发送,A接收。当不工作时,令A,B均处于接收方式,以便随时响应对方的呼叫。微机控制技术6.1.1 数据传送方式数据传送方式3.全双工方式(Full-Duplex Mode)虽然半双工方式比单工方式灵活,但它的效率依然比较低。主要原因是从发送方式切换到接收方式需要一定的时间,大约为数毫秒。重
7、复线路切换所引起的延迟积累时间是相当可观的。另一方面,也是更重要的,就是在同一时刻只能工作在某一种方式下,这是半双工效率不高的根本原因所在。微机控制技术6.1.1 数据传送方式数据传送方式解决的方法是增加一条线,使A,B两端均可同时工作在收发方式,如图6.2(c)所示。将图6.2(c)与图6.2(b)相比,虽然对每个站来讲,都有发送器和接收器,但由于图(c)中有两条传输线,用不着收发切换,因而传送速率可成倍增长。微机控制技术图图6.2 串行数据传送方式示意图串行数据传送方式示意图 微机控制技术6.1.1 数据传送方式数据传送方式 值得说明的是,全双工与半双工方式比较,虽然信号传送速度大增,但它
8、的线路也要增加一条,因此系统成本将增加。在实际应用中,特别是在异步通信中,大多数情况都采用半双工方式。这样,虽然发送效率较低,但线路简单、实用,对于一般系统也基本够用。微机控制技术6.1.2 异步通信和同步通信异步通信和同步通信 根据在串行通信中数据定时、同步的不同,串行通信的基本方式有两种:异步通信(Asynchronous Communication)和同步通信(Synchronous Communication)。微机控制技术6.1.2 异步通信和同步通信异步通信和同步通信1.异步通信 异步通信是字符的同步传输技术。数据以字符为单位传输。当发送一个字符代码时,字符前面要加一个“起始”信号
9、,其长度为一位,极性为“0”,即空号(Space)状态;规定在线路不传送数据时全部为“1”,即传号(Mark)状态。字符后边要加一个“停止”信号,其长度为1,1.5或2位,极性为“1”。字符本身的长度为58位数据,视传输的数据格式而定。例如,当传送的数字(或字符)用ASCII码表示时,其长度为7位。在某些传输中,为了减少误码率,经常在数据之后还加一位“校验位”。微机控制技术6.1.2 异步通信和同步通信异步通信和同步通信 由此可见,一个字符由起始位(0)开始,到停止位(1)结束,其长度为712位。起始位和停止位用来区分字符。传送时,字符可以连续发送,也可以断续发送。不发送字符时线路保持“1”状
10、态。字符发送的顺序为先低位后高位。综上所述,异步串行通信的帧格式,如图6.3所示。微机控制技术 图图6-3 异步串行通信格式异步串行通信格式微机控制技术6.1.2 异步通信和同步通信异步通信和同步通信 异步通信的优点是收/发双方不需要严格的位同步。也就是说,在这种通信方式下,每个字符作为独立的信息单元,可以随机地出现在数据流中,而每个字符出现在数据流中的相对时间是随机的。然而一个字符一旦发送开始,字符的每一位就必须连续地发送出去。由此可见,在异步串行通信中,“异步”是指字符与字符之间的异步,而在字符内部,仍然是同步传送。在异步通信中,由于大量增加了起始停止和校验位,所以,这种通信方式的效率比较
11、低。其最高效率(传送8bit数据,1bit停止位,1bit校验位)也只有8/(8+3)=73%。微机控制技术 6.1.2 异步通信和同步通信异步通信和同步通信 2.同步通信 同步通信的特点是不仅字符内部保持同步,而且,字符与字符之间也是同步的。在这种通信方式下,收/发双方必须建立准确的位定时信号,也就是说收收/发发时钟的频率必须严格地一致时钟的频率必须严格地一致。同步通信在数据格式上也与异步通信不同,每个字符不增加任何附加位,而是连续发送。但是在传送中,数据要分成组(帧),一组含多个字符代码或若干个独立的码元。微机控制技术 6.1.2 异步通信和同步通信异步通信和同步通信 为使收/发双方建立和
12、保持同步,在每组的开始处应加上规定的码元序列,作为标志序列。在发送数据之前,必须先发送此标志序列,接收端通过检测该标志序列实现同步。微机控制技术6.1.2 异步通信和同步通信异步通信和同步通信 标志序列的格式因传输规程不同而异。例如,在基本型传输规程中,利用国际NO.5代码中的“SYN”控制系统,可实现收/发双方同步。又如在高级数据链路规程(HDLC)中,是按帧格式传送的,利用帧标志符“01111110”来实现收/发双方的同步的。两种传送方法如图6.4所示。微机控制技术图图6.4 两种同步传送格式两种同步传送格式微机控制技术6.1.2 异步通信和同步通信异步通信和同步通信 同步通信方式适合24
13、00 bps以上速率的数据传输。由于不必加起始位和停止位,所以,传输效率比较高。其缺点是硬件设备较为复杂,因为它要求有时钟来实现发送端和接收端之间的严格同步,因此还要用锁相技术等来加以保证。微机控制技术6.1.2 异步通信和同步通信异步通信和同步通信例如,一种很常见的数据链路结构是HDLC,一般包含48bit的控制信息、前同步码和后同步码。因此,对于一个1000个字符的数据块,每个帧包括48bit的额外开销,以及10008=8000bit的数据,由此可求出其额外开销仅占48/(8000+48)100%=0.6%。微机控制技术6.1.2 异步通信和同步通信异步通信和同步通信 同步通信用于计算机到
14、计算机之间的通信以及计算机到CRT或外设之间的通信等。微机控制技术 62 串行通信标准总线串行通信标准总线(RS-232-C)1、在进行串行通信接口设计时,主要考虑:接口方法传输介质电平转换。2、标准总线及配套接口芯片标准总线 RS-232-C,RS-422、RS-485和20mA电流环等。接口芯片 为串行接口设计带来极大的方便。串行接口的设计主要是确定一种串行标准总线,其次是选择接口控制及电平转换芯片。微机控制技术62 串行通信标准总线串行通信标准总线(RS-232-C)6.2.1 RS-232-C6.2.1 RS-232-C6.2.2 RS-4856.2.2 RS-4856.2.3 6.2
15、.3 多机通信多机通信 6.2.1 RS-232-C RS-232-CRS-232-C美国电子工业协会(美国电子工业协会(E I AE I A)19621962年公布,年公布,19691969年最后一次修订而成。年最后一次修订而成。主要用途主要用途 定义计算机系统的一些数据终端设备(定义计算机系统的一些数据终端设备(DTEDTE)和数据通信设备(和数据通信设备(DCEDCE)之间)之间 接口的电气特性。接口的电气特性。如如 CRTCRT、打印机、打印机 与与 CPU CPU 的通信大都采用的通信大都采用 RS-232-CRS-232-C 总线。总线。MCS-51MCS-51系列单片机使用系列单
16、片机使用RS-232-CRS-232-C串行总线极为方便。串行总线极为方便。微机控制技术6.2.1 RS-232-C1.RS-232-C1.RS-232-C的电气特性的电气特性 RS-232-C RS-232-C 标准标准(1 1)规定高电平为)规定高电平为+3V+3V+15V+15V,低电平为低电平为-3V-3V-15V-15V(高、低电平要求对称)。(高、低电平要求对称)。(2 2)RS-232-C RS-232-C 数据线数据线 TxDTxD、RxDRxD 的电平使用负逻辑:的电平使用负逻辑:低电平表示逻辑低电平表示逻辑 1 1,高电平表示逻辑,高电平表示逻辑 0 0。(3 3)控制线均
17、采用正逻辑,)控制线均采用正逻辑,最高能承受最高能承受 30V 30V 的信号电平的信号电平。微机控制技术6.2.1 RS-232-C RS-232-C RS-232-C 不能直接与不能直接与 TTL TTL 电路连接电路连接 使用时必须加上适当的电平转换电路:使用时必须加上适当的电平转换电路:如:如:MC1488 MC1488(TTL电平 RS-232-CRS-232-C电平)(电源电压为15V或12V)MC1489MC1489(RS-232-CRS-232-C电平 TTL电平)(电源电压为5V)微机控制技术特特别说明明补充补充 RS-232-C电平转换电路电平转换电路微机控制技术功能更强的
18、功能更强的 RS-232-C 的接口芯片的接口芯片适用于手提电脑的适用于手提电脑的 RS-232-C RS-232-C 的接口芯片:的接口芯片:电源(电源(3.33.35V5V)传输速率传输速率 几十几十Kbps Kbps 1 Mbps1 Mbps。接收和发送功能集成在一块芯片上。接收和发送功能集成在一块芯片上。一片包含多个线路驱动器(一片包含多个线路驱动器(TXTX)和接收器()和接收器(RXRX)。)。带带 P P(微处理器)监控系统。(微处理器)监控系统。含含 15kV 15kV 的静电放电保护(的静电放电保护(ESDESD)功能)功能 及及IEC-1000-4-2IEC-1000-4-
19、2空隙放电保护。空隙放电保护。自动关断功能的芯片。自动关断功能的芯片。多种封装形式,如多种封装形式,如DIPDIP(双列直插封装)、(双列直插封装)、SOSO(小型表贴)、(小型表贴)、SSOPSSOP(紧缩的小型表贴)、(紧缩的小型表贴)、MaxMax(微型(微型MaxMax)等。)等。微机控制技术6.2.1 RS-232-C工业级 RS-232-C 标准接口芯片 MAX232。接收/发送一体化接口 两个线路驱动器(TX)两个接收器(RX)16脚 DIP/SO 封装型。由 4 部分组成:电压倍增器、电压反向器、发送器、接收器。RS-232只需用+5V 单电源即可 微机控制技术图图6.5 MA
20、X220/232/232A管脚分配及应用电路管脚分配及应用电路微机控制技术6.2.1 RS-232-C。这些芯片其收发性能与1488/1489基本相同,只是收发器路数不同。微机控制技术6.2.1 RS-232-C 2.RS-232-C的应用MCS-51单片机内部设有串行接口,可直接利用串行接口和 RS-232-C 电平转换芯片实现串行通信。串口输出和输入均为 TTL 电平,需要接RS-232-C的电平转换芯片。(1)简单的RS-232电路(补充)采用 MAX232 作为电平转换。微机控制技术图图6.7 8051单片机串行接口电路图单片机串行接口电路图 微机控制技术TTL TTL 电平平CMOS
21、 CMOS 电平平6.2.1 RS-232-C 设计:实现单片机设计:实现单片机 8031 8031 与主机之间进行通信与主机之间进行通信,设单片机的时钟频率是设单片机的时钟频率是 11 MHz11 MHz。要求要求 :通信速率为通信速率为 4800 4800 波特。波特。思路:选用串行口工作在方式思路:选用串行口工作在方式 1 1。数据格式:数据格式:通信速率:通信速率:取决于定时计数器取决于定时计数器 T1 T1 的溢出速率和的溢出速率和 波特率控制位波特率控制位 SMOD SMOD 有关。有关。计算公式:计算公式:波特率波特率 =(2 /32)(=(2 /32)(定时器定时器T1T1的溢
22、出率的溢出率)(5-15-1)X=2X=28 8 2 20 0/11MHz /384/11MHz /384 4800=250=0FAH4800=250=0FAH 微机控制技术 SMODSMODT1 T1 的溢出率的溢出率 =foscfosc/12 (2/12 (2N N X X)方式方式 2 2波特率波特率 =f f/64/646.2.1 RS-232-C;主程序 ORG 2000HORG 2000H STARTSTART:MOV TMODMOV TMOD,#20H#20H ;定时器;定时器T1T1为方式为方式2 2 MOV MOV THlTHl,#0FAH#0FAH MOV MOV TLlT
23、Ll,#0FAH#0FAH ;波特率为4800 MOV PCON MOV PCON,#00H#00H ;置SMOD=0 SETB SETB TRlTRl ;启动T1计数开始 MOV SCONMOV SCON,#50H#50H ;串口方式1 CLR RICLR RI ;清接收标志 CLR TICLR TI ;清发送标志 HERE:AJMP HEREHERE:AJMP HERE ;模拟主程序功功 能能 程程 序序微机控制技术6.2.1 RS-232-C;数据发送程序 SEDATASEDATA:MOV R0MOV R0,#20H#20H WAIT WAIT:JNB TIJNB TI,$;等待发送完一
24、个字符;等待发送完一个字符 MOVX AMOVX A,R0 R0 ;取一个字符;取一个字符 MOV SBUFMOV SBUF,A A ;送串口;送串口 INC R0INC R0 CLR TICLR TI CJNE ACJNE A,#0AH#0AH,WAITWAIT RETRET微机控制技术将将外存中地址外存中地址为 20H 20H 开开始的始的 10 10 个个单元的元的数数据以据以查询方式方式输出出6.2.1 RS-232-C;接收子程序;接收子程序RVDATARVDATA:MOV R0,#20HMOV R0,#20HRXDWRXDW:JNB RIJNB RI,$CLR RI CLR RI
25、MOV AMOV A SBUFSBUF MOVX RoMOVX Ro,A A INC R0INC R0 CJNE ACJNE A,#0AH#0AH,RXDW RXDW RETRET微机控制技术6.2.1 RS-232-C 在实际工程中:发送子程序是可以实际应用的 只要数据准备好后即可调用。接收子程序来说,概念上可以理解,但并不实用。原因是通信对方何时发来数据是不可知的。在实时性要求不高的应用中,发送采用查询方式而接收采用中断方式工作。在要求高的场合发和收都要采用中断工作。微机控制技术关关于上述程序的于上述程序的说明明(2)单片机双机通信 参数计算波特率(2SMOD/32)(定时器T1的溢出率)
26、定时器T1的溢出率 fOSC/12 (2nX)计数器T1的初值:X2n2SMODfOSC/384波特率设SMOD0,fOSC为11MHz,波特率为4800b/s,则可计算出初值X250FAH 程序设计;主程序;主程序ORGORG2000H2000HSTARTSTART:MOVMOVTMODTMOD,#20H#20H;定时器;定时器T1T1为方式为方式2 2MOVMOVTHlTHl,#0FAH#0FAH MOVMOVTLlTLl,#0FAH#0FAH ;波特率为;波特率为48004800MOVMOVPCONPCON,#00H#00H;置;置SMODSMOD 0 0SETBSETBTRlTRl;启
27、动;启动T1T1计数开始计数开始MOVMOVSCONSCON,#50H#50H ;串口方式;串口方式1 1MOVMOVR0,#20HR0,#20H ;发送缓冲区首址发送缓冲区首址MOVMOVR1,#40HR1,#40H ;接收缓冲区首址接收缓冲区首址SETBSETBEAEA;开中断;开中断SETBSETBESES;允许串行口中断;允许串行口中断LCALLLCALLSOUTSOUT;先输出一个字符;先输出一个字符HERE:HERE:AJMP HEREAJMP HERE;模拟主程序;模拟主程序;中断服务程序ORG0023H ;串行中断入口LJMP SBR1 ;转至中断服务程序ORG0100HSBR
28、1:JNB RI,SEDATA ;不是接收则转发送LCALLSINDATA ;转接收SJMP NEXT ;转至程序出口;数据发送程序;数据发送程序SEDATASEDATA:MOVMOV R0R0,#20H#20HWAITWAIT:JNBJNBTITI,$;等待发送完一个字符;等待发送完一个字符MOVXMOVXA A,R0R0;取一个字符;取一个字符MOVMOV SBUFSBUF,A A;送串口;送串口INCINCR0R0CLRCLRTITICJNECJNE A A,#0AH#0AH,WAITWAITRETRET;接收子程序RVDATA:MOVR0,#20HRXDW:JNB RI,$CLRRIM
29、OVA,SBUFMOVXR0,AINCR0CJNE A,#0AH,RXDW RET(2 2)单片机与)单片机与PCPC机之间的通信机之间的通信单片机AT89S52的主要工作于方式1,通过查询接收中断位RI和发送完毕中断位TI实现数据的可靠传输。串行中断服务程序用于接收数据。如果接收到0FFH,表示上位机需要联机信号,单片机发送0FFH作为应答信号;如果接收到数字1n,表示相应的功能。假设收到1,单片机向PC机发送字符a;如果收到2,单片机向PC机发送字符k;如果收到其他数据,单片机向PC机发送字符m。ORG 0000HLJMP MAINORG 0023H;串行中断服务程序LJMP SINTOR
30、G 0100HMAIN:MOVSP,#60H;设置堆栈MOVTMOD,#20H;设置T1工作方式2MOVTH1,#0F3H;定时器重装值MOVTL1,#0F3H;定时器初值,波特率2400MOVPCON,#00H;波特率不倍增 MOV SCON,#50H;设置串口工作方式1,REN=1允许接收SETBES;允许串行中断 SETBEA;允许总的中断 SETBTR1;定时器开始工作HERE:SJMP HERE;模拟主程序;串行中断服务程序;串行中断服务程序SINTSINT:CLRCLRESES;禁止串行中断;禁止串行中断CLRCLRRIRI;清除接收标志位;清除接收标志位MOVMOV A A,SB
31、UFSBUF;从缓冲区取出数据;从缓冲区取出数据MOVMOV DPTRDPTR,#TABLE#TABLECJNECJNE A A,#0FFH#0FFH,IN1IN1;检查数据;检查数据MOVMOV SBUFSBUF,#0FFH#0FFH ;收到;收到0FFH0FFH,发送联机信,发送联机信号号JNBJNBTITI,$;等待发送完毕;等待发送完毕CLRCLRTITI;清除发送标志;清除发送标志SETBSETBESES;允许串行中断;允许串行中断RETIRETI;发送“a”IN1:CJNEA,#01H,IN2;如果收到1MOVCA+DPTRMOVSBUF,A;发送aJNB TI,$;等待发送完毕C
32、LRTI ;清除发送标志SETB ES;允许串行中断RETI;发送“k”IN2:CJNE A,#02H,IN3;如果收到2MOVCA+DPTRMOVSBUF,A;发送kJNB TI,$;等待发送完毕CLRTI;清除发送标志SETB ES;允许串行中断RETI;发送;发送“m”m”IN3IN3:MOVMOVA A,#03H#03H;如果收到如果收到3 3MOVCMOVCA+DPTRA+DPTRMOVMOV SBUFSBUF,A A;发送;发送mmJNBJNBTITI,$;等待发送完毕;等待发送完毕CLRCLRTITI;清除发送标志;清除发送标志SETBSETBESES;允许串行中断;允许串行中断
33、RETIRETITABLETABLE:DBDB2,a,k,m2,a,k,mENDEND6.2.1 RS-232-C3.3.RS-232-C RS-232-C 机械特性及引脚的功能机械特性及引脚的功能 RS-232-C RS-232-C 标准总线为标准总线为 25 25 条线,条线,分为两类分为两类 :信息:信息:TxDTxD 和和 RxDRxD;联络信号。联络信号。微机控制技术6.2.1 RS-232-C(1)传送信息信号 2 发送数据TxD(Transmitting Data)3 接受数据RxD(Receive Data)(2)联络信号这类信号共有6个:4请求传送信号RTS(Request
34、To Send)5清除发送CTS(Clear To Send)数据准备就绪DSR(Data Set Ready)数据终端就绪信号DTR(Data Terminal Ready)数据载波检测信号DCD(Data Carrier Detect)振铃指示信号RI(Ring Indication)微机控制技术6.22 RS-422/RS-485 RS-232-C虽然使用很广,但由于推出时间比较早,所以在现代通信网络中已暴露出明显的缺点,主要表现在:(1)传送速率不够快。(2)传送距离不够远,一般不超过15m。(3)RS-232-C未明确规定连接器,因而出现了互不兼容的25芯连接器。(4)接口使用非平衡
35、发送器,电器性能不佳。(5)接口处各信号间容易产生串扰。微机控制技术6.22 RS-422/RS-485所以,近几年EIA作了部分改进,于1977年,制定了新标准RS-449,与RS-449一起推出的还有RS-423-A和RS-422-A。实际上,它们都是RS-449标准的子集。下边主要介绍RS-423-A和RS-422-A 微机控制技术1.RS-423-A/RS-422-A 与RS-232-C类似,RS-423-A也是一个单端的、双极性电源的电路标准但它提高了传送设备的传送数据速率。在速率为1000波特时,距离可达1200m,在速率为100 k波特时,距离可达90m。RS-423-A/RS-
36、422-A也是负逻辑且参考电平为地,但不同的是RS-232-C规定为-5+15V,而这两个标准规定为-6+6V。微机控制技术RS-422-A规定了差分平衡的电气接口,它能够在较长距离明显地提高数据传送速率,传输速率 1200m 100 k波特,12m 10M波特。微机控制技术6.22 RS-422/RS-485 (a)为RS-232-C,单端驱动单端接收电路,只用一根导线,是最简单的连接结构。但无法区分有用信号及干扰信号。(b)RS-423-A,差分电路接收器,接受器的另一端接发送端的信号地,(因而大大地减少了地线的干扰。(c)RS-422-A,平衡驱动和差分接收方法,从根本上消除了地线干扰。
37、RS-423-A/RS-422-A的另一个优点是允许传送线上连接多个接收器。微机控制技术6.22 RS-422/RS-485 RS-423-A/RS-422-A的另一个优点是允许传送线上连接多个接收器。虽然在RS-232-C系统中可以使用多个接收器循环工作,但它每一时刻只允许一个接收器工作。而RS-423-A/RS-422-A可允许10个以上接收器同时工作。关于多站连接方法将在下一小节讲述。微机控制技术2.RS-485RS-485与RS-422总线的的区别:RS-422为全双工,而RS-485为半双工;RS-422采用两对平衡差分信号线,RS-485只需其中的一对。RS-485更适合于多站互连
38、,一个发送驱动器最多可连接32个负载设备。微机控制技术6.22 RS-422/RS-485 负载设备可以是被动发送器、接收器和收发器。此电负载设备可以是被动发送器、接收器和收发器。此电路结构在平衡连接电缆两端有终端电阻,在平衡电缆路结构在平衡连接电缆两端有终端电阻,在平衡电缆上挂发送器、接收器或组合收发器。上挂发送器、接收器或组合收发器。两种总线的连接方法如图两种总线的连接方法如图6-96-9所示。所示。微机控制技术 图图6-8 RS-485/RS-422接口连接方法接口连接方法微机控制技术6.22 RS-422/RS-485 图(图(a a)为)为RS-485RS-485连接电路。在此电路中
39、,某一时刻连接电路。在此电路中,某一时刻只能有一个站可以发送数据,而另一个站只能接收。只能有一个站可以发送数据,而另一个站只能接收。因此,其发送电路必须由使能站加以控制。因此,其发送电路必须由使能站加以控制。图(图(b b)由于是双工连接方式,故任一时刻两站都可)由于是双工连接方式,故任一时刻两站都可以同时发送和接收。以同时发送和接收。微机控制技术对于一个通信子站来讲,RS-422和RS-485的驱动/接收电路没有多大差别,详见表6.1。和RS-232-C标准总线一样,RS-422和RS-485两种总线也需要专用的接口芯片完成电平转换。下边介绍一种典型RS-485/RS-422接口芯片。微机控
40、制技术表表6.1 RS-422与与RS-485的比较的比较RS-422 RS-485动作方式差动方式差动方式可连接的台数1台驱动器10台接收器 32台驱动器32台接收器 最大距离1200m 1200m 传送速率的最大值12m 10Mbps 10Mbps 120m 1Mbps 1Mbps 1200m 100Mbps 100Mbps 同相电压的最大值+6V -0.25V+12V -7V同相电压的最大值无负载时 5V 5V 有负载时 2V1.5V 接 口 项 目 微机控制技术表表6.1 RS-422与与RS-485的比较的比较(续续)驱动器的输出阻抗POWER-ON没有规定 100A最大-7VVco
41、m12V(高阻抗状态)POWER-OFF100A最大-0.25VVcom6V100A最大-7VVcom12V 接收器输入电压范围-7V+7V-7V+12V 接收器输入敏感度200mV200mV接收器输入阻抗4k12k微机控制技术6.22 RS-422/RS-485 MAX481E/MAX488E是低电源(只有+5V)RS-485/RS-422收发器。每一个芯片内都含有一个驱动器和一个接收器,采用8脚DIP/SO封装。除了上述两种芯片外,和MAX481E相同的系列芯片还有MAX483E/485E/487E/1487E等等,和MAX488E相同的有MAX490E。这两种芯片的主要区别是前者为半双工
42、,后者为全双工。它们的管脚分配及原理如图6-10所示。微机控制技术 图图6-9 MAX481E/488E结构及管脚图结构及管脚图微机控制技术6.22 RS-422/RS-485 从图6-10可以看出,(a)、(b)两种电路共同点是都有一个接收输出端RO,和一个驱动输入端DI。不同的是,图(a)中只有两个信号线,A和B。A为同相接收器输入和同相驱动器输出;B为反相接收器输入和反相驱动器输出。而在(b)图中,由于是双工的,所以信号线分开,为A、B、Z、Y。这两种芯片由于内部都含有接收器和驱动器,所以每个站只用一片即可完成收发任务。其接口电路如图6-10所示。微机控制技术6.22 RS-422/RS
43、-485MAX481E/483E/485E/487E/491E和MAX1487E是为多点双向总线数据通讯而设计的。如图6-12和5-13所示,也可以把它们作为线路中继站,其传送距离超过1200m。微机控制技术图图 6.11 MAX481E/MAX488E连接电路图连接电路图a微机控制技术图图 6.10 MAX481E/MAX488E连接电路图连接电路图b微机控制技术 图图6-11 MAX481E/483E/485E/487E/1487E典型的典型的RS-485半双工网络半双工网络微机控制技术 图图6-12 MAX488E/489E/490E/MAX491E全双工全双工RS-485网络网络微机控
44、制技术6.2.3 多机通信多机通信多机通信设单片机工作于方式2或3,该方式发送数据格式每一帧是11位,如图6.14所示。1位是起始位(0),8位数据位(低位在前),1位可设置的第9位数据和1位停止位。其中,第9位可识别发送的前8位数据是数据帧还是地址帧,该位为1为地址帧,为0则为数据帧,此位可通过对SCON寄存器的TB8位赋值来置位。当TB8为1时,单片机发出的一帧数据中第9位为1,否则为0。作为接收方(本例为从机)的串行口也同样工作在工作方式2和方式3状态,它的SM2和RB8(接收到的第9位)的组合是:(1)若从机的控制位SM2设为1,则当接收数据的第9位为1时,即地址帧时,数据装入SBUF
45、,并置RI为1,向CPU发出中断申请;则当接收数据的第9位为0时,即数据帧时,不会产生中断,信息被丢弃。(2)若从机的控制位SM2设为0,则无论是地址帧还是数据帧都将产生RI=1的中断标志,8位数据均装入SBUF。1系统硬件设计 单片机P1口的低5位作为地址译码线,因此,可以译出32个地址,其二进制数为0000011111。每个从机的地址可以通过拨动拨码开关的位置来设定。2 2系统软件设计系统软件设计通信过程:通信过程:(1 1)主机处于发送状态。由于是发送状态,所以)主机处于发送状态。由于是发送状态,所以SM2=0SM2=0或或SM2=1SM2=1均可,首先发送的是地址帧,此时均可,首先发送
46、的是地址帧,此时SCONSCON中的中的TB8=1TB8=1,表示发送的是地址标识。,表示发送的是地址标识。(2 2)主机发送地址标识后,设置)主机发送地址标识后,设置SM2=1SM2=1,主机处于接收,主机处于接收地址的状态,等待从机的应答。地址的状态,等待从机的应答。(3 3)所有的从机都处于接收状态,他们会同时收到主机)所有的从机都处于接收状态,他们会同时收到主机发来的地址码,分别与各自的地址码比较后,只有与主机发送发来的地址码,分别与各自的地址码比较后,只有与主机发送的地址相符的的从机才进行下一步的应答处理,其余各从机仍的地址相符的的从机才进行下一步的应答处理,其余各从机仍处于接收状态
47、。处于接收状态。(4 4)地址相符的的从机进行应答,使自己的)地址相符的的从机进行应答,使自己的SCONSCON中的中的TB8=1TB8=1,向主机发送自己的标识码,然后置,向主机发送自己的标识码,然后置SCONSCON中的中的SM2=0SM2=0,进入数据接受状态。,进入数据接受状态。(5 5)主机收到从机发送的地址标识码,至此,通信双方)主机收到从机发送的地址标识码,至此,通信双方握手成功。握手成功。(6 6)主机设置)主机设置SM0=0SM0=0,主机开始发送数据或数据块,发,主机开始发送数据或数据块,发送结束后,主机返回到初始状态。送结束后,主机返回到初始状态。(7 7)因为只有和主机
48、地址标识符相符的从机才能接收到)因为只有和主机地址标识符相符的从机才能接收到数据,接收完后,将根据最后的校验结果判断数据接收是否正数据,接收完后,将根据最后的校验结果判断数据接收是否正确,若正确,则向主机发送数据正确信号。然后,从机也返回确,若正确,则向主机发送数据正确信号。然后,从机也返回初始状态。此时,一次通信完成。初始状态。此时,一次通信完成。图图6.16 6.16 主机程序主机程序流程图流程图 图图6.17 6.17 从机程序从机程序流程图流程图 6.3 SPI总线总线 串行总线系统依靠一定的通信协议,只用很少几根线,就串行总线系统依靠一定的通信协议,只用很少几根线,就 能完成有效的数
49、据传送。能完成有效的数据传送。微机控制技术 常见的常见的串行接口总线串行接口总线 Motorola Motorola 公司的公司的 SPISPI(Serial Peripheral InterfaceSerial Peripheral Interface)总)总线、线、PHILIPSPHILIPS公司的公司的 I I2 2C C总线、总线、国家半导体公司的国家半导体公司的 NS8085UNS8085U,MicrowireMicrowire 、Intel Intel 和和 Duracell Duracell 公司提出的公司提出的SMBusSMBus (System Management BusS
50、ystem Management Bus)等。)等。在这一节里,主要介绍在这一节里,主要介绍 SPISPI 总线。总线。系系统处理理6.3 SPI总线总线SPI SPI 是是 增强型单片机增强型单片机MC68HC70508AMC68HC70508A(MotorolaMotorola)的上的串行接口。的上的串行接口。能与外部设备进行全双工、同步串行通信。能与外部设备进行全双工、同步串行通信。其功能类似其功能类似MCS-51MCS-51系列单片机串行口中的方式系列单片机串行口中的方式0 0。关于关于MC68HC70508AMC68HC70508A单片机的详细内容请参看单片机的详细内容请参看 Mot