《监控篇之串口通信解读课件.ppt》由会员分享,可在线阅读,更多相关《监控篇之串口通信解读课件.ppt(66页珍藏版)》请在三一办公上搜索。
1、组态控制技术监控篇,串口通信,目前计算机的串口通信应用十分广泛,串口已成为计算机的必需部件和接口之一。串行接口技术简单成熟,性能可靠,价格低廉,所要求的软硬件环境或条件都很低,广泛应用于计算机控制相关领域,遍及调制解调器(Modem)、串行打印机、各种监控模块、PLC、摄像头云台、数控机床、单片机及相关智能设备。在计算机控制系统中,主控机一般采用工控机,通过串口与监控模块相连,监控模块再连接相应的传感器和执行器,如此形成一个简单的双层结构的计算机监控系统。,通信与通信方式,什么是通信?简单地说,通信就是两个人之间的沟通,也可以说是两个设备之间的数据交换。人类之间的通信使用了诸如电话、书信等工具
2、进行;而设备之间的通信则是使用电信号。,最常见的信号传递就是使用电压的改变来达到表示不同状态的目的。以计算机为例,高电位代表了一种状态,而低电位代表了另一种状态,在组合了很多电位状态后就形成了两种设备之间的数据交换。,最简单的信息传送方式,就是使用一条信号线路来传送电压的变化而达到传送信息的目的,只要准备沟通的双方事先定义好何种状态代表什么样的意思,那么通过这一条线就可以让双方进行数据交换。,在计算机内部,所有的数据都是使用位来存储的,每一位都是电位的一个状态(计算机中以0、1表示);计算机内部使用组合在一起的8位数据代表一般所使用的字符、数字及一些符号,例如01000001就表示一个字符。一
3、般来说,必须传递这些字符、数字或符号才能算是数据交换。数据可以通过两种方式进行传输:并行传输和串行传输。,并行通信 如果一组数据的各数据位在多条线上同时被传送,这种传输被称为并行通信。如图所示,使用了8条信号线一次将一个字符11001101全部传送完毕。,采用并行方式传送二进制信息时,每个数据位都需要一条单独的传输线。信息由多少个二进制位组成,机器就需要有多少条传输线,从而让二进制信息(0或1)在不同的线上同时进行传送。,并行数据传送的特点是:各数据位同时传送,传送速度快、效率高,多用在实时、快速的场合。并行传送的数据宽度可以是1位128位,甚至更宽。但是有多少数据位就需要多少根数据线,因此传
4、送的成本高。在集成电路芯片的内部、同一插件板上各部件之间、同一机箱内各插件板之间的数据传送都是并行的。并行数据传送的距离通常小于30m。,串行通信 串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线上,以每次一个二进制的0、1为最小单位逐位进行传输,如图所示。,串行数据传送的特点是:数据传送按位顺序进行,最少只需要一根传输线即可完成,节省传输线。与并行通信相比,串行通信还有较为显著的优点:传输距离长,可达到数千公里;在长距离内串行数据传送速率会比并行数据传送速率快;串行通信的通信时钟频率容易提高;串行通信的抗干扰能力十分强,其信号间的互相干扰完全可以忽略。但是串行通信传送速度比并
5、行通信传送速度慢,并行通信时间为T,则串行时间为nT。,与并行通信相比,串行通信的优势,传输距离长,可达到数千公里,长距离内串行数据传送速率会比并行数据传送速率快,串行通信的通信时钟频率较并行通信容易提高。,抗干扰能力强,串行通信信号间的互相干扰完全可以忽略。,费用低。,常见的串行接口有符合IEEE国际电气化标准的RS-422、RS-485、RS-232 C等;在PC系列的计算机中使用的是符合RS-232C串行传输协议的RS-232C串行接口。,串行通信的工作模式,单工形式 单工(Simplex)形式的数据传送是单向的。通信双方中,一方固定为发送端,另一方则固定为接收端。信息只能沿一个方向传送
6、,使用一根传输线。如图所示。,单工形式一般用在只向一个方向传送数据的场合。例如计算机与打印机之间的通信是单工形式,因为只有计算机向打印机传送数据,而没有相反的数据传送。还有在某些通信信道中,如单工无线发送等。,半双工形式 半双工通信使用同一根传输线,既可发送数据又可接收数据,但不能同时发送和接收。在任何时刻只能由其中的一方发送数据,另一方接收数据。因此半双工形式既可以使用一条数据线,也可以使用两条数据线。,半双工通信中每端需有一个收发切换电子开关,通过切换来决定数据向哪个方向传输。因为有切换,所以会产生时间延迟。信息传输效率低些。但是对于像打印机这样单方向传输的外围设备,只用此半双工方式就能满
7、足要求了,不必采用全双工方式,可省一根传输线。,全双工形式 全双工数据分别由两根可以在两个不同的站点同时发送和接收的传输线进行传送,通信双方都能在同一时刻进行发送和接收操作。,在全双工方式中,每一端都有发送器和接收器,有两条传送线,可在交互式应用和远程监控系统中使用。信息传输效率较高。,串行通信的通信参数,串行端口的通信方式是将字节拆分成一个接着一个的位再传送出去。接到此电位信号的一方再将此一个一个的位组合成原来的字节,如此形成一个字节的完整传送,在数据传送时,应在通信端口的初始化时设置几个通信参数。,1、波特率 串行通信的传输受到通信双方配备性能及通信线路的特性所左右,收、发双方必须按照同样
8、的速率进行串行通信,即收、发双方采用同样的波特率。我们通常将传输速度称为波特率,指的是串行通信中每一秒所传送的数据位数,单位是bps。我们经常可以看到仪器或Modem的规格书上都写着19200bit/s、38400bit/s、,所指的就是传输速度。例如:在某异步串行通信中,每传送一个字符需要8位,如果采用波特率4800bit/s进行传送,则每秒可以传送600个字符。,2、数据位 当接收设备收到起始位后,紧接着就会收到数据位,数据位的个数可以是5、6、7或8位数据。在字符数据传送的过程中,数据位从最低有效位开始传送。,3、起始位 在通信线上,没有数据传送时处于逻辑“1”状态。当发送设备要发送一个
9、字符数据时,首先发出一个逻辑“0”信号,这个逻辑低电平就是起始位。起始位通过通信线传向接收设备,当接收设备检测到这个逻辑低电平后,就开始准备接收数据位信号。因此,起始位所起的作用就是表示字符传送的开始。4、停止位 在奇偶校验位或者数据位(无奇偶校验位时)之后是停止位。它可以是1位、1.5位或2位,停止位是一个字符数据的结束标志。,4、校验位 为了预防错误的产生,使用校验位作为检查的机制。校验位即是用来检查所传送数据的正确性的一种核对码,这之中又分成奇校验与偶校验两种,分别是检查字符码中1的数目是奇数或偶数。,RS-232串行接口,RS-232C接口概述,目前RS-232C是PC机与通信工业中应
10、用最广泛的一种串行接口,在IBM PC机上的COM1、COM2接口,就是RS-232C接口。利用RS-232C串行通信接口可实现两台个人计算机的点对点的通信;通过RS-232C口可与其他外设(如打印机、逻辑分析仪、智能调节仪、PLC等)近距离串行连接连接;通过RS-232C口连接调制解调器可远距离地与其他计算机通信;将RS-232C接口转换为RS-422或RS-485接口,可实现一台个人计算机与多台现场设备之间的通信;,RS-232C接口的电气特性,EIA-RS-232C对电气特性、逻辑电平和各种信号线功能都作了规定。在TXD和RXD上:逻辑1为-3V-15V;逻辑0为+3+15V。在RTS、
11、CTS、DSR、DTR和DCD等控制线上:信号有效(接通,ON状态,正电压)为+3V+15V;信号无效(断开,OFF状态,负电压)为-3V-15V。对于数据(信息码):逻辑“1”的电平低于-3V,逻辑“0”的电平高于+3V。对于控制信号:接通状态(ON)即信号有效的电平高于+3V,断开状态(OFF)即信号无效的电平低于-3V,也就是当传输电平的绝对值大于+3V时,电路可以有效地检查出来,介于-3+3V之间的电压无意义,低于-15V或高于+15V的电压也认为无意义,因此,实际工作时,应保证电平在(315)V之间。,电平转换,RS-232C是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态
12、的规定不同,因此,为了能够同计算机接口或终端的TTL器件连接,必须在RS-232C与TTL电路之间进行电平和逻辑关系的变换,实现这种变换的方法可用分立元件,也可用集成电路芯片。目前较为广泛地使用集成电路转换器件,如MAX232芯片可完成TTL电平到EIA电平的转换。,RS-232C接口连接器,公 头,母 头,RS-232C接口的机械特性,DCD:用来表示DCE已经接收到满足要求的载波信号,已经接通通信链路,告知DTE准备接收数据。RXD:作用是接收DCE发送的串行数据。TXD:作用是将串行数据发送到DCE。在不发送数据时,TXD保持逻辑“1”。DTR:当该信号有效时,表示DTE准备发送数据至D
13、CE,可以使用。GND:作用是为其他信号线提供参考电位。,DSR:当该信号有效时,表示DCE已经与通信的信道接通,可以使用。RTS:该信号用来表示DTE请求向DCE发送信号。当DTE欲发送数据时,将该信号置为有效,向DCE提出发送请求。CTS:该信号是DCE对RTS的响应信号。当DCE已经准备好接收DTE发送的数据时,将该信号置为有效,通知DTE可以通过TXD发送数据。RI:当Modem(DCE)收到交换台送来的振铃呼叫信号时,该信号被置为有效,通知DTE对方已经被呼叫。,常用的RS-232C连接,1.使用MODEM,2.不使用MODEM,3.简单连接,4.近距离通信线路连接,当2台RS-23
14、2串口设备通信距离较近时(15m)时,需附加调制解调器(Modem)。在RS-232的应用中,很少严格按照RS-232标准。其主要原因是因为许多定义的信号在大多数的应用中并没有用上。在许多应用中,例如Modem,只用了9个信号(两条数据线、六条控制线、一条地线);在其它一些应用中,可能只需要5个信号(两条数据线、两条握手线、一条地线);还有一些应用,可能只需要数据线,而不需要握手线,即只需要3个信号线。,当通信距离较近时,通信双方不需要Modem,可以直接连接,这种情况下,只需使用少数几根信号线。最简单的情况,在通信中根本不需要RS-232C的控制联络信号,只需三根线(发送线、接收线、信号地线
15、)便可实现全双工异步串行通信,图中是两台串口通信设备之间的最简单连接(即三线连接),图中的2号接收脚与3号发送脚交叉连接是因为在直连方式时,把通信双方都当作数据终端设备看待,双方都可发也可收。在这种方式下,通信双方的任何一方,只要请求发送RTS有效和数据终端准备好DTR有效就能开始发送和接收。,5.远距离通信线路连接,一般PC采用RS-232通信接口,当PC与串口设备通信距离较远时,二者不能用电缆直接连接,可采用RS-485总线。当PC与多台具有RS-232接口的设备远距离通信时,可使用RS-232/RS-485型通信接口转换器,将计算机上的RS-232通信口转为RS-485通信口,在信号进入
16、设备前再使用RS-485/RS-232转换器将RS-485通信口转为RS-232通信口,再与设备相连,如图所示。,PC与多个RS-232串口设备远距离连接,当PC与多台具有RS-485接口的设备通信时,由于两端设备接口电气特性不一,不能直接相连,因此,也采用RS-232接口到RS-485接口转换器将RS-232接口转换为RS-485信号电平,再与串口设备相连。如果PC直接提供RS-485接口,与多台具有RS-485接口的设备通信时不用转换器可直接相连。RS-485接口只有两根线要连接,有+、-端(或称A、B端)区分,用双绞线将所有串口设备的接口并联在一起即可。,个人计算机中的串行端口,在PC机
17、上,有各种各样的接头,其中有两个9针的接头区,见图5-1,这就是串行通信端口。PC机上的串行接口有多个名称:232口、串口、通信口、COM口、异步口等。,COM1,COM2,查看串行端口信息,1查看设备信息 进入Windows系统“我的电脑”,选择系统属性,在“设备管理器”列表中有端口COM和LPT设备信息,如图所示。,2查看端口属性选择通信端口COM1,单击右键,选择“属性”,可以查看端口的低级设置及其资源。,实训13 PC与PC串口通信,一、学习目标 1、掌握PC与PC串口通信的线路连接方法。2、采用KingView编写PC与PC串口通信程序,实现字符互传和显示。,二、设计任务 两台计算机
18、互发字符并自动接收,如一台计算机输入字符串“我是第一组,收到请回话!”,单击“发送字符”命令,另一台计算机若收到,就输入字符串“收到,我是第2组!”,单击“发送字符”命令,信息返回到第一组的计算机。实际上就是编写一个简单的双机聊天程序。,三、硬件线路1.线路连接 观察所用计算机主机箱后RS-232C串口的数量、位置和几何特征。当两台串口设备通信距离较近时,可以直接连接,最简单的情况,在通信中只需三根线(发送线、接收线、信号地线)便可实现全双工异步串行通信。在实际使用中常使用串口通信线将2个串口设备连接起来。串口线的制作方法非常简单:准备2个9针的串口接线端子(因为计算机上的串口为公头,因此连接
19、线为母头),准备3根导线(最好采用3芯屏蔽线),按图7-1所示将导线焊接到接线端子上。,图7-1中的2号接收脚与3号发送脚交叉连接是因为在直连方式时,把通信双方都当作数据终端设备看待,双方都可发也可收。,在计算机通电前,按图7-2所示将两台PC的COM1口用串口线连接起来。特别注意:连接串口线时,计算机严禁通电,否则极易烧毁串口。,2.串口调试 在进行串口开发之前,一般要进行串口调试,经常使用的工具是“串口调试助手”程序。它是一个适用于Windows平台的串口监视、串口调试程序。它可以在线设置各种通信速率、通信端口等参数,既可以发送字符串命令,也可以发送文件,可以设置自动发送/手动发送方式,可
20、以十六进制显示接收到的数据等,从而提高串口开发效率。,在两台计算机中同时运行“串口调试助手”程序,首先串口号选“COM1”、波特率选“4800”、校验位选“NONE”、数据位选“8”、停止位选“1”等(注意:两台计算机设置的参数必须一致),单击“打开串口”按钮,如图7-3所示。,图7-3“串口调试助手”程序,在发送数据区输入字符,比如“Hello!”,单击“手动发送”按钮,发送区的字符串通过COM1口发送出去;如果联网通信的另一台计算机收到字符,则返回字符串,如“Hello!”,如果通信正常该字符串将显示在接收区中。若选择了“手动发送”,每单击一次可以发送一次;若选中了“自动发送”,则每隔设定的发送周期内发送一次,直到去掉“自动发送”为止。还有一些特殊的字符,如回车换行,则直接敲入回车即可。,下面开始做实训13,