1 / 144

第 6 章 总线接口技术

第 6 章 总线接口技术. 前言 6 .1 串行通信基本概念 6 .2 串行通信标准总线( RS-232-C ) 6.3 SPI 总线. 第 6 章 总线接口技术. 随着微型计算机控制技术的不断发展,现在已经生产出多种专用工业控制机。这些控制机大都采用模块式结构,具有通用性强,系统组态灵活等特点,因而具有广泛的适用性。

kineks
Download Presentation

第 6 章 总线接口技术

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第6章 总线接口技术 • 前言 • 6.1 串行通信基本概念 • 6.2 串行通信标准总线(RS-232-C) • 6.3 SPI总线

  2. 第6章 总线接口技术 随着微型计算机控制技术的不断发展,现在已经生产出多种专用工业控制机。这些控制机大都采用模块式结构,具有通用性强,系统组态灵活等特点,因而具有广泛的适用性。 在这些工业控制机中,除了主机板之外,还有大量的用途各异的I/O接口板,如A/D和D/A转换板、步进电机控制板、电机控制板、内存扩展板,串/并行通信扩展板、开关量输入/输出板等。为了使这些功能板能够方便地连接在一起,必须采用统一的总线。 微机控制技术

  3. 第6章 总线接口技术 总线有并行和串行两种。在这一章里,主要介绍几种工业过程控制中常用的串行总线,如RS-232-C、RS-422、RS-485、SPI总线、I2C总线以及现场总线等。 微机控制技术

  4. 第6章 总线接口技术 总线有并行总线和串行总线两种。 (1)并行总线 ·N位数据一次传送,因此传送速度快。 ·需要N条传输线,故价格较高。 主要用于模块与模块之间的连接。 (2) 串行总线 ·一位一位地传送,因此传送速度较慢。 ·只需一条传输线,所以价格低。该总线主要用于远距离通信。 主要介绍几种工业过程控制中常用的串/并行总线。 微机控制技术

  5. 6.1 串行通信基本概念 随着微型计算机技术的发展,微型机的应用正在从单机向多机过渡。多机应用的关键是相互通信。特别在远距离通信中,并行通信已显得无能为力,通常大都须采用串行通信方法。在这一节里,首先介绍串行通信的基本概念,然后介绍几种常用的串行通信总线,如RS-232-C,RS-485等。此外,还介绍几种单片机专用总线,如SPI总线,I2C总线等。最后,讲一下现场总线。它的出现,使微型计算机控制系统正经历着一场新的革命。 微机控制技术

  6. 6.1 串行通信基本概念 6.1.1 数据传送方式 6.1.2 异步通信和同步通信

  7. 6.1.1 数据传送方式 在微型计算机系统中,处理器与外部设备之间的数据传送方法有两种: (1)并行通信——数据各位同时传送; (2)串行通信——数据一位一位地按顺序传送。 如图6.1所示就是这两种传送方式的示意图。 微机控制技术

  8. 图 6.1 并行通信与串口通信的数据传送方式 微机控制技术

  9. 6.1.1 数据传送方式 如图6.1所示可以看出,在并行通信中,数据有多少位就需要有多少根传输线,而串行通信无论数据有多少位只需要一对传输线。因此,串行通信在远距离和多位数据传送时,有着明显的优越性。但它的不足之处在于数据传送的速度比较慢。本节主要介绍有关串行通信的基本概念。 在串行通信中,数据传送有3种方式:单工方式、半双工方式和全双工方式。 微机控制技术

  10. 6.1.1 数据传送方式 1. 单工方式(SimplexMode) 在这种方式中,只允许数据按一个固定的方向传送,如图6.2(a)所示。图中A只能发送数据,称为发送器(Transfer);B只能接收数据,叫做接收器(Receiver)。而数据不能从B向A传送。 微机控制技术

  11. 6.1.1 数据传送方式 2. 半双工方式(Half-DuplexMode) 半双工方式如图6.2(b)所示。在这种方式下,数据既可以从A传向B,也可以从B向A传输。因此,A,B既可作为发送器,又可作为接收器,通常称为收发器(Transceiver)。从这个意义上讲,这种方式似乎为双向工作方式。但是,由于A,B之间只有一根传输线,所以信号只能分时传送。 微机控制技术

  12. 6.1.1 数据传送方式 即在同一时刻,只能进行一个方向传送,不能双向同时传输。因此,将其称为“半双工”方式。在这种工作方式下,要么A发送,B接收;要么B发送,A接收。当不工作时,令A,B均处于接收方式,以便随时响应对方的呼叫。 微机控制技术

  13. 6.1.1 数据传送方式 3. 全双工方式(Full-DuplexMode) 虽然半双工方式比单工方式灵活,但它的效率依然比较低。主要原因是从发送方式切换到接收方式需要一定的时间,大约为数毫秒。重复线路切换所引起的延迟积累时间是相当可观的。另一方面,也是更重要的,就是在同一时刻只能工作在某一种方式下,这是半双工效率不高的根本原因所在。 微机控制技术

  14. 6.1.1 数据传送方式 解决的方法是增加一条线,使A,B两端均可同时工作在收发方式,如图6.2(c)所示。将图6.2(c)与图6.2(b)相比,虽然对每个站来讲,都有发送器和接收器,但由于图(c)中有两条传输线,用不着收发切换,因而传送速率可成倍增长。 微机控制技术

  15. 图6.2 串行数据传送方式示意图 微机控制技术

  16. 6.1.1 数据传送方式 值得说明的是,全双工与半双工方式比较,虽然信号传送速度大增,但它的线路也要增加一条,因此系统成本将增加。在实际应用中,特别是在异步通信中,大多数情况都采用半双工方式。这样,虽然发送效率较低,但线路简单、实用,对于一般系统也基本够用。 微机控制技术

  17. 6.1.2 异步通信和同步通信 根据在串行通信中数据定时、同步的不同,串行通信的基本方式有两种:异步通信(AsynchronousCommunication)和同步通信(SynchronousCommunication)。 微机控制技术

  18. 6.1.2 异步通信和同步通信 1. 异步通信 异步通信是字符的同步传输技术。 数据以字符为单位传输。当发送一个字符代码时,字符前面要加一个“起始”信号,其长度为一位,极性为“0”,即空号(Space)状态;规定在线路不传送数据时全部为“1”,即传号(Mark)状态。字符后边要加一个“停止”信号,其长度为1,1.5或2位,极性为“1”。字符本身的长度为5~8位数据,视传输的数据格式而定。例如,当传送的数字(或字符)用ASCII码表示时,其长度为7位。在某些传输中,为了减少误码率,经常在数据之后还加一位“校验位”。 微机控制技术

  19. 6.1.2 异步通信和同步通信 由此可见,一个字符由起始位(0)开始,到停止位(1)结束,其长度为7~12位。起始位和停止位用来区分字符。传送时,字符可以连续发送,也可以断续发送。不发送字符时线路保持“1”状态。字符发送的顺序为先低位后高位。 综上所述,异步串行通信的帧格式,如图6.3所示。 微机控制技术

  20. 图6-3 异步串行通信格式 微机控制技术

  21. 6.1.2 异步通信和同步通信 异步通信的优点是收/发双方不需要严格的位同步。也就是说,在这种通信方式下,每个字符作为独立的信息单元,可以随机地出现在数据流中,而每个字符出现在数据流中的相对时间是随机的。然而一个字符一旦发送开始,字符的每一位就必须连续地发送出去。由此可见,在异步串行通信中,“异步”是指字符与字符之间的异步,而在字符内部,仍然是同步传送。在异步通信中,由于大量增加了起始停止和校验位,所以,这种通信方式的效率比较低。其最高效率(传送8bit数据,1bit停止位,1bit校验位)也只有8/(8+3)=73%。 微机控制技术

  22. 6.1.2 异步通信和同步通信 2. 同步通信 同步通信的特点是不仅字符内部保持同步,而且,字符与字符之间也是同步的。在这种通信方式下,收/发双方必须建立准确的位定时信号,也就是说收/发时钟的频率必须严格地一致。同步通信在数据格式上也与异步通信不同,每个字符不增加任何附加位,而是连续发送。但是在传送中,数据要分成组(帧),一组含多个字符代码或若干个独立的码元。 微机控制技术

  23. 6.1.2 异步通信和同步通信 为使收/发双方建立和保持同步,在每组的开始处应加上规定的码元序列,作为标志序列。在发送数据之前,必须先发送此标志序列,接收端通过检测该标志序列实现同步。 微机控制技术

  24. 6.1.2 异步通信和同步通信 标志序列的格式因传输规程不同而异。例如,在基本型传输规程中,利用国际NO.5代码中的“SYN”控制系统,可实现收/发双方同步。又如在高级数据链路规程(HDLC)中,是按帧格式传送的,利用帧标志符“01111110”来实现收/发双方的同步的。两种传送方法如图6.4所示。 微机控制技术

  25. 图6.4 两种同步传送格式 微机控制技术

  26. 6.1.2 异步通信和同步通信 同步通信方式适合2400bps以上速率的数据传输。由于不必加起始位和停止位,所以,传输效率比较高。其缺点是硬件设备较为复杂,因为它要求有时钟来实现发送端和接收端之间的严格同步,因此还要用锁相技术等来加以保证。 微机控制技术

  27. 6.1.2 异步通信和同步通信 例如,一种很常见的数据链路结构是HDLC,一般包含48bit的控制信息、前同步码和后同步码。因此,对于一个1000个字符的数据块,每个帧包括48bit的额外开销,以及1000×8=8000bit的数据,由此可求出其额外开销仅占48/(8000+48)×100%=0.6%。 微机控制技术

  28. 6.1.2 异步通信和同步通信 同步通信用于计算机到计算机之间的通信以及计算机到CRT或外设之间的通信等。 微机控制技术

  29. 6.2 串行通信标准总线(RS-232-C) 1、在进行串行通信接口设计时,主要考虑: • 接口方法 • 传输介质 • 电平转换。 2、标准总线及配套接口芯片 • 标准总线 RS-232-C,RS-422、RS-485和20mA电流环等。 • 接口芯片 为串行接口设计带来极大的方便。 串行接口的设计主要是确定一种串行标准总线,其次是选择接口控制及电平转换芯片。 微机控制技术

  30. 6.2 串行通信标准总线(RS-232-C) 6.2.1 RS-232-C 6.2.2 RS-485 6.2.3 多机通信

  31. 6.2.1 RS-232-C RS-232-C • 美国电子工业协会(E I A)1962年公布, 1969年最后一次修订而成。 • 主要用途 定义计算机系统的一些数据终端设备(DTE) 和数据通信设备(DCE)之间 接口的电气特性。 如 CRT、打印机 与 CPU 的通信大都采用 RS-232-C总线。 • MCS-51系列单片机使用RS-232-C串行总线极为方便。 微机控制技术

  32. 6.2.1 RS-232-C 1. RS-232-C的电气特性 RS-232-C 标准 (1)规定高电平为+3V~+15V, 低电平为-3V~-15V(高、低电平要求对称)。 (2)RS-232-C 数据线 TxD、RxD 的电平使用负逻辑: 低电平表示逻辑 1,高电平表示逻辑 0。 (3)控制线均采用正逻辑, 最高能承受 ±30V 的信号电平。 微机控制技术

  33. 6.2.1 RS-232-C RS-232-C 不能直接与 TTL 电路连接 使用时必须加上适当的电平转换电路: 如: MC1488 ( TTL电平→ RS-232-C电平) ( 电源电压为±15V或±12V ) MC1489( RS-232-C电平→ TTL电平) (电源电压为5V) 特别说明 微机控制技术

  34. 补充 RS-232-C电平转换电路 微机控制技术

  35. 功能更强的 RS-232-C 的接口芯片 • 适用于手提电脑的 RS-232-C 的接口芯片: 电源(3.3~5V) 传输速率 几十Kbps ~1 Mbps。 • 接收和发送功能集成在一块芯片上。 • 一片包含多个线路驱动器(TX)和接收器(RX)。 • 带 P(微处理器)监控系统。 • 含 ±15kV 的静电放电保护(ESD)功能 及IEC-1000-4-2空隙放电保护。 • 自动关断功能的芯片。 • 多种封装形式,如DIP(双列直插封装)、SO(小型表贴)、SSOP(紧缩的小型表贴)、Max(微型Max)等。 微机控制技术

  36. 6.2.1 RS-232-C 工业级 RS-232-C 标准接口芯片 MAX232。 • 接收/发送一体化接口 两个线路驱动器(TX) 两个接收器(RX) • 16脚 DIP/SO 封装型。 • 由 4 部分组成:电压倍增器、电压反向器、 发送器、接收器。 • RS-232只需用 +5V 单电源即可 微机控制技术

  37. 图6.5 MAX220/232/232A管脚分配及应用电路 微机控制技术

  38. 6.2.1 RS-232-C 。这些芯片其收发性能与1488/1489基本相同,只是收发器路数不同。 微机控制技术

  39. 6.2.1 RS-232-C 2. RS-232-C的应用 • MCS-51单片机内部设有串行接口,可直接利用串行接口和 RS-232-C 电平转换芯片实现串行通信。 • 串口输出和输入均为 TTL 电平,需要接RS-232-C的电平转换芯片。 (1)简单的RS-232电路(补充) 采用 MAX232 作为电平转换。 微机控制技术

  40. 图6.7 8051单片机串行接口电路图 TTL 电平 CMOS 电平 微机控制技术

  41. 6.2.1 RS-232-C 设计:实现单片机 8031 与主机之间进行通信, 设单片机的时钟频率是 11 MHz。 。 要求 : 通信速率为 4800 波特。 思路:选用串行口工作在方式 1。 • 数据格式: • 通信速率: 取决于定时计数器 T1 的溢出速率和 波特率控制位 SMOD 有关。 计算公式: 波特率 = (2 /32)×(定时器T1的溢出率)(5-1) X = 28– 20 / 11MHz / 384×4800 = 250 = 0FAH SMOD 方式 2 T1 的溢出率 = fosc / 12 × ( 2N– X ) 波特率 = f / 64 微机控制技术

  42. 6.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;模拟主程序 微机控制技术

  43. 6.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 将外存中地址为 20H 开始的 10 个单元的数据以查询方式输出 微机控制技术

  44. 6.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 微机控制技术

  45. 6.2.1 RS-232-C 关于上述程序的说明 在实际工程中: ① 发送子程序是可以实际应用的 只要数据准备好后即可调用。 ② 接收子程序来说,概念上可以理解,但并不实用。 原因是通信对方何时发来数据是不可知的。 ③ 在实时性要求不高的应用中, 发送采用查询方式而接收采用中断方式工作。 ④ 在要求高的场合发和收都要采用中断工作。 微机控制技术

  46. (2)单片机双机通信

  47. ① 参数计算 波特率(2SMOD/32)(定时器T1的溢出率) 定时器T1的溢出率 fOSC/12  (2nX) • 计数器T1的初值: • X2n2SMODfOSC/384波特率 • 设SMOD0,fOSC为11MHz,波特率为4800b/s,则可计算出初值X250FAH

  48. ② 程序设计 • ;主程序 • 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 • MOV R0,#20H ;发送缓冲区首址 MOV R1,#40H ;接收缓冲区首址 • SETB EA ;开中断 • SETB ES ;允许串行口中断 • LCALL SOUT ;先输出一个字符 • HERE: AJMP HERE ;模拟主程序

  49. ;中断服务程序 • ORG 0023H ;串行中断入口 • LJMP SBR1 ;转至中断服务程序 • ORG 0100H • SBR1: JNB RI,SEDATA ;不是接收则转发送 • LCALL SINDATA ;转接收 • SJMP NEXT ;转至程序出口

  50. ;数据发送程序 • SEDATA: MOV R0,#20H • WAIT: JNB TI,$ ;等待发送完一个字符 • MOVX A,@R0 ;取一个字符 • MOV SBUF,A ;送串口 • INC R0 • CLR TI • CJNE A,#0AH,WAIT • RET

More Related