版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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) 串行总线 一位一位地传送,因此传送速度较慢。 只需一条传输线,所以价格低。该总线主要用于远距离通信。 主要介绍几种工业过程控制中常用的串/并行总线。微机控制技术6.1 串行
3、通信基本概概念 随着微型计算机技术的发展,微型机的应用正在从单机向多机过渡。多机应用的关键是相互通信。特别在远距离通信中,并行通信已显得无能为力,通常大都须采用串行通信方法。在这一节里,首先介绍串行通信的基本概念,然后介绍几种常用的串行通信总线,如RS-232-C,RS-485等。此外,还介绍几种单片机专用总线,如SPI总线,I2C总线等。最后,讲一下现场总线。它的出现,使微型计算机控制系统正经历着一场新的革命。微机控制技术6.1 串行通信基本概概念6.1.1 6.1.1 数据传送方式数据传送方式6.1.2 6.1.2 异步通信和同步通信异步通信和同步通信6.1.1 数数据传传送方式 在微型计
4、算机系统中,处理器与外部设备之间的数据传送方法有两种:(1)并行通信数据各位同时传送;(2)串行通信数据一位一位地按顺序传送。如图6.1所示就是这两种传送方式的示意图。微机控制技术图图 6.1 并行通信与串口通信的数据传送方式并行通信与串口通信的数据传送方式微机控制技术6.1.1 数数据传传送方式 如图6.1所示可以看出,在并行通信中,数据有多少位就需要有多少根传输线,而串行通信无论数据有多少位只需要一对传输线。因此,串行通信在远距离和多位数据传送时,有着明显的优越性。但它的不足之处在于数据传送的速度比较慢。本节主要介绍有关串行通信的基本概念。 在串行通信中,数据传送有3种方式:单工方式、半双
5、工方式和全双工方式。微机控制技术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既可作为发送器,又可作为接收器,通常称为收发器(Transceiver)。从这个意义上讲,这种方式似乎为双
6、向工作方式。但是,由于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. 异步通信 异步通信是字符的同步传输技术。 数据以字符为单位传输。当发送一个字符代码时,字符前面要加一个“起始”信号,其长度为一位,极性为“0”,即空号(Space)状态;规定在线路不传送数据时全部为“1”,即传号(Mark)状态。字
9、符后边要加一个“停止”信号,其长度为1,1.5或2位,极性为“1”。字符本身的长度为58位数据,视传输的数据格式而定。例如,当传送的数字(或字符)用ASCII码表示时,其长度为7位。在某些传输中,为了减少误码率,经常在数据之后还加一位“校验位”。 微机控制技术6.1.2 异异步通信和同步通信 由此可见,一个字符由起始位(0)开始,到停止位(1)结束,其长度为712位。起始位和停止位用来区分字符。传送时,字符可以连续发送,也可以断续发送。不发送字符时线路保持“1”状态。字符发送的顺序为先低位后高位。 综上所述,异步串行通信的帧格式,如图6.3所示。 微机控制技术 图图6-3 异步串行通信格式异步
10、串行通信格式微机控制技术6.1.2 异异步通信和同步通信 异步通信的优点是收/发双方不需要严格的位同步。也就是说,在这种通信方式下,每个字符作为独立的信息单元,可以随机地出现在数据流中,而每个字符出现在数据流中的相对时间是随机的。然而一个字符一旦发送开始,字符的每一位就必须连续地发送出去。由此可见,在异步串行通信中,“异步”是指字符与字符之间的异步,而在字符内部,仍然是同步传送。在异步通信中,由于大量增加了起始停止和校验位,所以,这种通信方式的效率比较低。其最高效率(传送8bit数据,1bit停止位,1bit校验位)也只有8/(8+3)=73%。微机控制技术 6.1.2 异异步通信和同步通信
11、2. 同步通信 同步通信的特点是不仅字符内部保持同步,而且,字符与字符之间也是同步的。在这种通信方式下,收/发双方必须建立准确的位定时信号,也就是说收收/ /发发时钟的频率必须严格地一致时钟的频率必须严格地一致。同步通信在数据格式上也与异步通信不同,每个字符不增加任何附加位,而是连续发送。但是在传送中,数据要分成组(帧),一组含多个字符代码或若干个独立的码元。微机控制技术 6.1.2 异异步通信和同步通信 为使收/发双方建立和保持同步,在每组的开始处应加上规定的码元序列,作为标志序列。在发送数据之前,必须先发送此标志序列,接收端通过检测该标志序列实现同步。 微机控制技术6.1.2 异异步通信和
12、同步通信 标志序列的格式因传输规程不同而异。例如,在基本型传输规程中,利用国际NO.5代码中的“SYN”控制系统,可实现收/发双方同步。又如在高级数据链路规程(HDLC)中,是按帧格式传送的,利用帧标志符“01111110”来实现收/发双方的同步的。两种传送方法如图6.4所示。微机控制技术图图6.4 两种同步传送格式两种同步传送格式微机控制技术6.1.2 异异步通信和同步通信 同步通信方式适合2400 bps以上速率的数据传输。由于不必加起始位和停止位,所以,传输效率比较高。其缺点是硬件设备较为复杂,因为它要求有时钟来实现发送端和接收端之间的严格同步,因此还要用锁相技术等来加以保证。 微机控制
13、技术6.1.2 异异步通信和同步通信例如,一种很常见的数据链路结构是HDLC,一般包含48bit的控制信息、前同步码和后同步码。因此,对于一个1000个字符的数据块,每个帧包括48bit的额外开销,以及10008=8000bit的数据,由此可求出其额外开销仅占48/(8000+48)100%=0.6%。 微机控制技术6.1.2 异异步通信和同步通信 同步通信用于计算机到计算机之间的通信以及计算机到CRT或外设之间的通信等。微机控制技术 62 串行通信标标准总线总线(RS-232-C) 1、在进行串行通信接口设计时,主要考虑: 接口方法 传输介质 电平转换。2、标准总线及配套接口芯片 标准总线
14、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.3 多机通信多机通信 6.2.1 RS-232-C RS-232-CRS-232-C 美国电子工业协会(美国电子工业协会(E I AE I A)19621962年公布,年公布, 19691969年最后一次修订而成。年最后一次修订而
15、成。 主要用途主要用途 定义计算机系统的一些数据终端设备(定义计算机系统的一些数据终端设备(DTEDTE) 和数据通信设备(和数据通信设备(DCEDCE)之间)之间 接口的电气特性。接口的电气特性。 如如 CRTCRT、打印机、打印机 与与 CPU CPU 的通信大都采用的通信大都采用 RS-232-CRS-232-C 总线。总线。 MCS-51MCS-51系列单片机使用系列单片机使用RS-232-CRS-232-C串行总线极为方便。串行总线极为方便。微机控制技术6.2.1 RS-232-C1. RS-232-C1. RS-232-C的电气特性的电气特性 RS-232-C RS-232-C 标
16、准标准(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)控制线均采用正逻辑,)控制线均采用正逻辑, 最高能承受最高能承受 30V 30V 的信号电平的信号电平。微机控制技术6.2.1 RS-232-C RS-232-C RS-232-C 不能直接与不能直接与 TTL TTL
17、电路连接电路连接 使用时必须加上适当的电平转换电路:使用时必须加上适当的电平转换电路: 如:如: MC1488 MC1488 ( TTL电平 RS-232-CRS-232-C电平) ( 电源电压为15V或12V ) MC1489MC1489 ( RS-232-CRS-232-C电平 TTL电平) (电源电压为5V)微机控制技术特特别说别说明明补充补充 RS-232-C电平转换电路电平转换电路微机控制技术功能更强的 RS-232-C 的接口芯片 适用于手提电脑的适用于手提电脑的 RS-232-C RS-232-C 的接口芯片:的接口芯片: 电源(电源(3.33.35V5V) 传输速率传输速率 几
18、十几十Kbps Kbps 1 Mbps1 Mbps。 接收和发送功能集成在一块芯片上。接收和发送功能集成在一块芯片上。 一片包含多个线路驱动器(一片包含多个线路驱动器(TXTX)和接收器()和接收器(RXRX)。)。 带带 P P(微处理器)监控系统。(微处理器)监控系统。 含含 15kV 15kV 的静电放电保护(的静电放电保护(ESDESD)功能)功能 及及IEC-1000-4-2IEC-1000-4-2空隙放电保护。空隙放电保护。 自动关断功能的芯片。自动关断功能的芯片。 多种封装形式,如多种封装形式,如DIPDIP(双列直插封装)、(双列直插封装)、SOSO(小型表贴)、(小型表贴)、
19、SSOPSSOP(紧缩的小型表贴)、(紧缩的小型表贴)、 MaxMax(微型(微型MaxMax)等。)等。微机控制技术6.2.1 RS-232-C工业级 RS-232-C 标准接口芯片 MAX232。 接收/发送一体化接口 两个线路驱动器(TX) 两个接收器(RX) 16脚 DIP/SO 封装型。 由 4 部分组成:电压倍增器、电压反向器、 发送器、接收器。 RS-232只需用 +5V 单电源即可 微机控制技术图图6.5 MAX220/232/232A管脚分配及应用电路管脚分配及应用电路微机控制技术6.2.1 RS-232-C。这些芯片其收发性能与1488/1489基本相同,只是收发器路数不同
20、。微机控制技术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 CMOS 电电平平6.2.1 RS-232-C 设计:实现单片机设计:实现单片机 8031 8031 与主机之间进行通信与主机之间进行通信, , 设单片机的时
21、钟频率是设单片机的时钟频率是 11 MHz11 MHz。 。 要求要求 : : 通信速率为通信速率为 4800 4800 波特。波特。 思路:选用串行口工作在方式思路:选用串行口工作在方式 1 1。数据格式:数据格式:通信速率:通信速率: 取决于定时计数器取决于定时计数器 T1 T1 的溢出速率和的溢出速率和 波特率控制位波特率控制位 SMOD SMOD 有关。有关。 计算公式:计算公式: 波特率波特率 = (2 /32)= (2 /32)( (定时器定时器T1T1的溢出率的溢出率) ) (5-15-1) X = 2X = 28 8 2 20 0 / 11MHz / 384/ 11MHz /
22、384 4800 = 250 = 0FAH4800 = 250 = 0FAH 微机控制技术 SMODSMODT1 T1 的溢出率的溢出率 = fosc= fosc / 12 / 12 ( 2 ( 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 THl MOV THl, #0FAH#0FAH MOV TLl MOV TLl, #0FAH#0FAH ;波特率
23、为4800 MOV PCON MOV PCON,#00H#00H ;置SMOD=0 SETB TRlSETB TRl ;启动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 R
25、I 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)(
26、定时器T1的溢出率) 定时器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 0
27、SETBSETBTRlTRl;启动;启动T1T1计数开始计数开始MOVMOVSCONSCON,#50H#50H ;串口方式;串口方式1 1MOVMOVR0,#20HR0,#20H ; ;发送缓冲区首址发送缓冲区首址MOVMOVR1,#40HR1,#40H ; ;接收缓冲区首址接收缓冲区首址SETBSETBEAEA;开中断;开中断SETBSETBESES;允许串行口中断;允许串行口中断LCALLLCALLSOUTSOUT;先输出一个字符;先输出一个字符HERE:HERE:AJMP HEREAJMP HERE;模拟主程序;模拟主程序 ;中断服务程序ORG0023H ;串行中断入口LJMP SBR1
28、 ;转至中断服务程序ORG0100H SBR1:JNB RI,SEDATA ;不是接收则转发送LCALLSINDATA ;转接收SJMP NEXT ;转至程序出口 ;数据发送程序;数据发送程序 SEDATASEDATA: MOVMOV R0R0,#20H#20H WAITWAIT:JNBJNBTITI,$ $;等待发送完一个字符;等待发送完一个字符MOVXMOVXA A,R0R0;取一个字符;取一个字符MOVMOV SBUFSBUF,A A;送串口;送串口INCINCR0R0CLRCLRTITICJNECJNE A A,#0AH#0AH,WAITWAITRETRET ;接收子程序 RVDATA
29、:MOVR0,#20H RXDW:JNB RI,$ CLRRIMOVA,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 0000HLJ
30、MP MAINORG 0023H;串行中断服务程序LJMP SINTORG 0100H MAIN: 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;禁止串行中断;禁止
31、串行中断CLRCLRRIRI;清除接收标志位;清除接收标志位MOVMOV A A,SBUFSBUF;从缓冲区取出数据;从缓冲区取出数据MOVMOV DPTRDPTR,#TABLE#TABLECJNECJNE A A,#0FFH#0FFH,IN1IN1;检查数据;检查数据MOVMOV SBUFSBUF,#0FFH#0FFH ;收到;收到0FFH0FFH,发送联机信,发送联机信号号JNBJNBTITI,$ $;等待发送完毕;等待发送完毕CLRCLRTITI;清除发送标志;清除发送标志SETBSETBESES;允许串行中断;允许串行中断RETIRETI ;发送“a” IN1:CJNEA,#01H,I
32、N2;如果收到1MOVCA+DPTRMOVSBUF,A;发送aJNB TI,$ ;等待发送完毕CLRTI ;清除发送标志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,$ $;等待发送完毕;等
33、待发送完毕CLRCLRTITI;清除发送标志;清除发送标志SETBSETBESES;允许串行中断;允许串行中断RETIRETI TABLETABLE: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 Da
34、ta) 3 接受数据RxD(Receive Data)(2)联络信号这类信号共有6个: 4请求传送信号RTS(Request 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)传送速率不够
35、快。(2)传送距离不够远,一般不超过15m。(3)RS-232-C未明确规定连接器,因而出现了互不兼容的25芯连接器。(4)接口使用非平衡发送器,电器性能不佳。(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也是一个单端的、双极性电源的电路标准
36、但它提高了传送设备的传送数据速率。在速率为1000波特时,距离可达1200m,在速率为100 k波特时,距离可达90m。 RS-423-A/RS-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
37、-A,差分电路接收器,接受器的另一端接发送端的信号地,(因而大大地减少了地线的干扰。 (c) RS-422-A,平衡驱动和差分接收方法,从根本上消除了地线干扰。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与R
38、S-422总线的的区别:RS-422为全双工,而RS-485为半双工;RS-422采用两对平衡差分信号线,RS-485只需其中的一对。 RS-485更适合于多站互连,一个发送驱动器最多可连接32个负载设备。 微机控制技术6.22 RS-422/RS-485 负载设备可以是被动发送器、接收器和收发器。此电负载设备可以是被动发送器、接收器和收发器。此电路结构在平衡连接电缆两端有终端电阻,在平衡电缆路结构在平衡连接电缆两端有终端电阻,在平衡电缆上挂发送器、接收器或组合收发器。上挂发送器、接收器或组合收发器。 两种总线的连接方法如图两种总线的连接方法如图6-96-9所示。所示。微机控制技术 图图6-8
39、 RS-485/RS-422接口连接方法接口连接方法微机控制技术6.22 RS-422/RS-485 图(图(a a)为)为RS-485RS-485连接电路。在此电路中,某一时刻连接电路。在此电路中,某一时刻只能有一个站可以发送数据,而另一个站只能接收。只能有一个站可以发送数据,而另一个站只能接收。因此,其发送电路必须由使能站加以控制。因此,其发送电路必须由使能站加以控制。 图(图(b b)由于是双工连接方式,故任一时刻两站都可)由于是双工连接方式,故任一时刻两站都可以同时发送和接收。以同时发送和接收。 微机控制技术对于一个通信子站来讲,RS-422和RS-485的驱动/接收电路没有多大差别,
40、详见表6.1。 和RS-232-C标准总线一样,RS-422和RS-485两种总线也需要专用的接口芯片完成电平转换。下边介绍一种典型RS-485/RS-422接口芯片。微机控制技术表表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 有负
41、载时 2V1.5V 接 口 项 目 微机控制技术表表6.1 RS-422与与RS-485的比较的比较(续续)驱动器的输出阻抗POWER-ON没有规定 100A最大-7VVcom12V (高阻抗状态)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封装。除
42、了上述两种芯片外,和MAX481E相同的系列芯片还有MAX483E/485E/487E/1487E等等,和MAX488E相同的有MAX490E。这两种芯片的主要区别是前者为半双工,后者为全双工。它们的管脚分配及原理如图6-10所示。微机控制技术 图图6-9 MAX481E/488E结构及管脚图结构及管脚图微机控制技术6.22 RS-422/RS-485 从图6-10可以看出,(a)、(b)两种电路共同点是都有一个接收输出端RO,和一个驱动输入端DI。不同的是,图(a)中只有两个信号线,A和B 。A为同相接收器输入和同相驱动器输出;B为反相接收器输入和反相驱动器输出。而在 (b)图中,由于是双工
43、的,所以信号线分开,为A、B、Z、Y。这两种芯片由于内部都含有接收器和驱动器,所以每个站只用一片即可完成收发任务。其接口电路如图6-10所示。 微机控制技术6.22 RS-422/RS-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/485
44、E/487E/1487E典典型的型的RS-485半双工网络半双工网络微机控制技术 图图6-12 MAX488E/489E/490E/MAX491E全双全双工工RS-485网络网络微机控制技术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。 作为接收方(本例为从机)
45、的串行口也同样工作在工作方式2和方式3状态,它的SM2和RB8(接收到的第9位)的组合是: (1)若从机的控制位SM2设为1,则当接收数据的第9位为1时,即地址帧时,数据装入SBUF,并置RI为1,向CPU发出中断申请;则当接收数据的第9位为0时,即数据帧时,不会产生中断,信息被丢弃。 (2)若从机的控制位SM2设为0,则无论是地址帧还是数据帧都将产生RI=1的中断标志,8位数据均装入SBUF。 1系统硬件设计 单片机P1口的低5位作为地址译码线,因此,可以译出32个地址,其二进制数为0000011111。每个从机的地址可以通过拨动拨码开关的位置来设定。 2 2系统软件设计系统软件设计通信过程
46、:通信过程:(1 1)主机处于发送状态。由于是发送状态,所以)主机处于发送状态。由于是发送状态,所以SM2=0SM2=0或或SM2=1SM2=1均可,首先发送的是地址帧,此时均可,首先发送的是地址帧,此时SCONSCON中的中的TB8=1TB8=1,表示发送的是地址标识。表示发送的是地址标识。(2 2)主机发送地址标识后,设置)主机发送地址标识后,设置SM2=1SM2=1,主机处于接收,主机处于接收地址的状态,等待从机的应答。地址的状态,等待从机的应答。(3 3)所有的从机都处于接收状态,他们会同时收到主机)所有的从机都处于接收状态,他们会同时收到主机发来的地址码,分别与各自的地址码比较后,只
47、有与主机发发来的地址码,分别与各自的地址码比较后,只有与主机发送的地址相符的的从机才进行下一步的应答处理,其余各从送的地址相符的的从机才进行下一步的应答处理,其余各从机仍处于接收状态。机仍处于接收状态。 (4 4)地址相符的的从机进行应答,使自己的)地址相符的的从机进行应答,使自己的SCONSCON中的中的TB8TB8=1=1,向主机发送自己的标识码,然后置,向主机发送自己的标识码,然后置SCONSCON中的中的SM2=0SM2=0,进入数据接受状态。进入数据接受状态。(5 5)主机收到从机发送的地址标识码,至此,通信双方)主机收到从机发送的地址标识码,至此,通信双方握手成功。握手成功。(6
48、6)主机设置)主机设置SM0=0SM0=0,主机开始发送数据或数据块,发,主机开始发送数据或数据块,发送结束后,主机返回到初始状态。送结束后,主机返回到初始状态。(7 7)因为只有和主机地址标识符相符的从机才能接收到)因为只有和主机地址标识符相符的从机才能接收到数据,接收完后,将根据最后的校验结果判断数据接收是否数据,接收完后,将根据最后的校验结果判断数据接收是否正确,若正确,则向主机发送数据正确信号。然后,从机也正确,若正确,则向主机发送数据正确信号。然后,从机也返回初始状态。此时,一次通信完成。返回初始状态。此时,一次通信完成。图图6.16 6.16 主机程序主机程序流程图流程图 图图6.
49、17 6.17 从机程序从机程序流程图流程图 6. 3 SPI总线总线 串行总线系统依靠一定的通信协议,只用很少几根线,就串行总线系统依靠一定的通信协议,只用很少几根线,就 能完成有效的数据传送。能完成有效的数据传送。微机控制技术 常见的常见的串行接口总线串行接口总线 Motorola Motorola 公司的公司的 SPISPI(Serial Peripheral InterfaceSerial Peripheral Interface)总)总线、线、 PHILIPSPHILIPS公司的公司的 I I2 2C C总线、总线、 国家半导体公司的国家半导体公司的 NS8085UNS8085U,
50、MicrowireMicrowire 、Intel Intel 和和 Duracell Duracell 公司提出的公司提出的SMBusSMBus (System Management BusSystem Management Bus)等。)等。 在这一节里,主要介绍在这一节里,主要介绍 SPISPI 总线。总线。系系统处统处理理6. 3 SPI总线总线 SPI SPI 是是 增强型单片机增强型单片机MC68HC70508AMC68HC70508A( MotorolaMotorola)的上的串行接口。的上的串行接口。 能与外部设备进行全双工、同步串行通信。能与外部设备进行全双工、同步串行通信。
51、 其功能类似其功能类似MCS-51MCS-51系列单片机串行口中的方式系列单片机串行口中的方式0 0。 关于关于MC68HC70508AMC68HC70508A单片机的详细内容请参看单片机的详细内容请参看 MotorolaMotorola公司的有关资料。公司的有关资料。微机控制技术6. 3 SPI总线总线SPISPI具有如下特点:具有如下特点:1. 1.全双工操作全双工操作2.2. 主从方式主从方式3.3. 有有 4 4 种可编程主方式频率(最大为种可编程主方式频率(最大为1.05MHz1.05MHz)4.4. 最大从方式频率为最大从方式频率为 2.1 MHz2.1 MHz5.5. 具有可编程
52、极性和相位的串行时钟具有可编程极性和相位的串行时钟6. 6. 有传送结束中断标志有传送结束中断标志7. 7. 有写冲突出错标志有写冲突出错标志8.8. 有总线冲突出错标志有总线冲突出错标志 不为低。不为低。微机控制技术6. 3 SPI总线总线6.3.1 SPI6.3.1 SPI的内部结构的内部结构6.3.2 SPI6.3.2 SPI的工作原理的工作原理6.3.3 6.3.3 多机多机SPISPI系统系统6.3.4 6.3.4 串行时钟的极性和相位串行时钟的极性和相位6.3.5 SPI6.3.5 SPI中断中断6.3.6 6.3.6 直接采用直接采用SPISPI总线接口芯片的应用总线接口芯片的应
53、用6.3.7 SPI6.3.7 SPI总线模拟程序设计总线模拟程序设计6.3.1 SPI的内部结构图6.14 SPI接口内部结构SPI接口的内部结构图如6.18所示。微机控制技术6.3.1 SPI的内部结构 从图6.14中可以看出,SPI接口由SPI移位寄存器、SPI控制电路、管脚控制逻辑、除法器、时钟逻辑以及控制寄存器(SPCR)、状态寄存器(SPSR)、数据寄存器(SPDR)等组成。SPI 移位寄存器主要完成串/并数据之间的转换;管脚控制逻辑主要控制PD2/MISO,PD3/MOSI,PD4/SCK以及PD5/ 4个管脚的工作方式;除法器则是系统时钟的分频器,由程序控制选择4种不同的时钟频
54、率;SPI控制电路用来控制串行工作状态及错误信息;3个SPI寄存器SPCR,SPSR和SPDR,主要用来保存各种状态信息及数据。微机控制技术6.3.1 SPI的内部结构1SPI数据寄存器(SPDR) 图6.15所示的SPDR是用于SPI所接收字符的读缓冲器。写一个字节到SPDR中,就是把该字节直接放入SPI移位寄存器。微机控制技术6.3.1 SPI的内部结构2SPI控制寄存器(SPCR) SPCR各位的功能如图6.16所示。 SPCR具有下列功能: 允许SPI中断请求; 允许SPI; 设置SPI为主或从方式; 选择串行时钟极性、相位和频率。微机控制技术图图6.15 SPI数数据寄存器(SPDR
55、)图图6.16 SPI控制寄存器(控制寄存器(SPCR)图图6.19 SPI6.19 SPI数据寄存器(数据寄存器(SPDRSPDR)图图6.20 SPI6.20 SPI控制寄存器(控制寄存器(SPCRSPCR)微机控制技术6.3.1 SPI的内部结构 图6.20所示的SPCR寄存器各位的功能: SPIESPI中断允许位,该读/写位允许SPI中断。复位时该位被清零。该位置“1”,表示允许SPI中断;置“0”表示禁止SPI中断。 SPESPI复位允许位,该读/写位允许SPI复位。复位时该位将被清零。该位为1时,允许SPI复位;为0时禁止SPI复位。 MSTR主机位,该位用来选择主/从工作方式。复
56、位时为零。该位为1时,选择主方式;为0时,选择 从方式。微机控制技术6.3.1 SPI的内部结构 CPOL时钟极性位,该读/写位决定各发送数据之间PD4/SCK管脚的状态。为了在SPI总线上传送数据,各SPI必须有相同的CPOL位,复位不影响CPOL位。该位为1时表示传送数据间PD4/SCK管脚为逻辑1,为0时表示传送数据间PD4/SCK管脚为逻辑0。 CPHA时钟相位位。该读/写位用来控制串行时钟和数据之间的时序关系。微机控制技术6.3.1 SPI的内部结构为了在SPI总线上传送数据,各SPI之间必须有相同CPHA位。复位时对该位没有影响。 该位等于1时,表示PD4/SCK上第一个有效沿后的
57、下一个有效沿锁存数据。该位为0时,表示PD4/SCK上第一个有效沿锁存数据。微机控制技术6.3.1 SPI的内部结构 SPR1和SPR0 SPI时钟速率位。这些读/写位用来选择主方式的串行时钟速率,如表6.2所示。从SPI的这两位对串行时钟无影响。微机控制技术表表6.2 SPI时钟速率选择表时钟速率选择表 SPR1 SPR0 时钟因子 传输速率 位时间00内部时钟2 1MHz 1s 01内部时钟4 500kHz 2s 10内部时钟16 125kMHz 8s 11内部时钟32 62.5kHz 16s 微机控制技术6.3.1 SPI的内部结构3SPI状态寄存器(SPSR)图6.17所示为SPSR中
58、的标志位。在下列条件下,将产生置位信号:u SPI发送完毕u 写冲突u 方式错图6.21 SPI状态标志寄存器(SPSR)微机控制技术6.3.1 SPI的内部结构其中: SPIFSPI标志位。该位是可清除的位,并且只能读,不能写。每当移出或移入到移位寄存器中一个字节时,该位被置位。如果SPCR中的SPIE也是置位状态,则SPIF产生一个中断请求。当SPIF置位时通过读SPSR可以清除SPIF,然后读(或写)SPDR。复位时该位被清除。该位为1时,表示传送完毕。该位为0时,表示传送未完。微机控制技术6.3.1 SPI的内部结构 WCOL写冲突位。和SPIF一样,该位也是可清除的位,并且只能读,不
59、能写。在传送过程中,软件对SPDR进行写时,该位置位。当WCOL置位时,可以用读SPSR的方法清除这一位;可以读和写SPDR,复位也将清除该位。该位置1,表示写SPDR无效。该位置0,表示写SPDR有效。微机控制技术6.3.1 SPI的内部结构 MODF方式错位。该位也是只读并可清除位。当MSTR位置位时,在PD5/管脚上产生逻辑0时,MODF被置位。如果此时SPIF位也被置位,则MODF产生一个中断请求。清除及复位对它的影响同WCOL位。 该位置1,当MSTR位置位时,PD5/为低;该位置0,当MSTR位置位时,PD5/不为低。微机控制技术6.3.2 SPI的工作原理 主主/ /从式从式 S
60、PI SPI 允许在主机与外围设备(包括允许在主机与外围设备(包括CPU CPU )之)之间进行串行通信。间进行串行通信。 当主机的当主机的 SPI 8SPI 8位移位寄存器把一个字节传送到另一位移位寄存器把一个字节传送到另一设备时,来自接收设备的一个字节也被送到主机设备时,来自接收设备的一个字节也被送到主机 SPI SPI 的移位寄存器。的移位寄存器。 主主 SPI SPI 的时钟信号与数据传送是同步的。的时钟信号与数据传送是同步的。微机控制技术6.3.2 SPI的工作原理 只有主SPI可以对传送过程初始化。 软件通过写入SPI数据寄存器(SPDR)的方法开始从主 SPI 传送数据。 在 S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机供品报关清关专员岗位招聘考试试卷及答案
- 工业污水处理厂沉淀池施工方案
- 风力发电场工程施工组织方案
- 历来HSE试题及答案
- 抽水蓄能电站施工风险控制方案
- 《构网型独立储能电站安全验收评价方案》
- 运动场草坪铺设工程施工组织方案
- 排水管网建设项目运营管理方案
- 旧房电路接地系统完善方案
- 建筑垃圾远程监控运行方案
- 2026年广西真龙彩印包装有限公司笔试题及答案
- 河南资本集团笔试题库
- 2026湖北神农架林区公安局招聘辅警22人笔试备考试题及答案解析
- 2026菏泽特殊教育职业学校公开招聘人员(2人)考试模拟试题及答案解析
- 全国数据资源调查报告(2025年)
- 2026年ESG(可持续发展)考试题及答案
- 2026年防治碘缺乏病日宣传课件
- 身骑白马 SSA 三声部合唱谱
- 2026年高级社会工作师押题宝典题库及1套完整答案详解
- 2026年辅警转正考试时事政治试题及答案
- 2025年中国医学科学院基础医学研究所高等学校应届毕业生招聘工作人员6人笔试历年典型考题及考点剖析附带答案详解
评论
0/150
提交评论