串行异步通信程序设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

*******************实践教学*******************兰州理工大学计算机与通信学院2014年秋季学期《通信系统综合训练》课程设计题目:串行异步通信程序设计专业班级:通信工程(1)班姓名:李银环学号:11250134指导教师:王惠琴成绩:摘要在Windows环境下实现通信的方法主要有利用MSComm控件和直接用WindowsAPI编程,软件采用MicrosoftVisualC++6.0,利用MSComm控件编程相对来说更简单一些,而直接使用WindowsAPI编程更灵活一些。本次课程设计分析了串行异步通信的基本原理,在VC++6.0的环境下利用MSComm控件实现了两个PC机的COM口间的数据发送和接收。本文通过对COM1口进行初始化编程,以及对建立的工程中的每个对话框和按钮分别进行编程和设置,成功的实现了利用PC机的两个COM口进行异步通信,并能根据设置调整异步传行通信参数。关键词:VC++6.0;MSComm控件;串行异步通信1目录前言...........................................................................1第1章串行异步通信基本原理...................................................21.1串行通信协议...........................................................21.2串口通信的基本概念.....................................................31.3RS-232简介............................................................4第2章VC++软件简介...........................................................52.1VC++6.0简介...........................................................52.2MicrosoftCommunicationsControl控件.................................6第3章串行异步通信系统分析...................................................7第4章串行异步通信系统设计...................................................84.1建立工程...............................................................84.2在程序中添加MSComm控件................................................94.3初始化串口:设置MSComm控件的属性.....................................114.4发送数据..............................................................12第5章串行异步通信程序调试..................................................185.1计算机串口设置........................................................185.2程序运行结果..........................................................18参考文献......................................................................20附录..........................................................................21致谢..........................................................................291前言随着现代信息技术的发展以及计算机网络的广泛应用,计算机通信技术已经日趋成熟,串口通信作为一种灵活、方便、可靠的通信方式,被广泛应用于工业控制中。同时串行通信还应用于交通控制、分布数据采集系统、通信距离扩展、电力系统数据采集与控制系统、高速公路收费系统、远程控制、保密通信系统和教学实验等等。在数据通信、计算机网络以及工业上的分布式控制系统中,经常需要采用串行通信来达到远程信息交换的目的。当控制计算机与各数控机床相距较远时,一般采用串行通信方式而不采用并行通信方式。这是因为并行通信系统的造价较高、众多的连线不仅容易引入干扰,也容易发生线路故障。串行通信由于接线少、成本低,在数据采集和控制系统中得到了广泛的应用,控制系统中常用的串行通信一般采用RS-232串行总线标准,RS-232是PC机与通信工业中应用最广泛的一种串行接口。WINDOWS下双机点到点的串行通信系统是一个典型的通信系统,它是我们为了实现计算机底层的工作,以及为了用户更好地和系统能够直接相连而提出来的。经过分析我使用了RS-232C为接口线路以及Microsoft公司的VisualC++6.0作为开发工具,利用其提供的各种面向对象的开发工具来开发的系统。论述了采用自顶向下的设计方法,模块化设计思路,以及总体设计编码和调试,其开发主要包括数据的发送与接收等方面。在本次课程设计中,讨论了使用VC++的开发环境实现两台PC机间的串口通信。就是通过一个MSComm控件,用一个RS-232串口线将两台机子间的串口连接起来,从而进行数据收发。而使用WinAPI进行串口通信不像使用MSComm控件那么容易,需要设置多个参数。2第1章串行异步通信基本原理1.1串行通信协议串行传输可采用以下两种方法:异步传输和同步传输。1.1.1异步传输协议在异步传输方式中,数据传输单位是字符。在通信的数据流中,字符间异步,字符内部各位间同步。异步通信方式的“异步”主要体现在字符与字符之间通信没有严格的定时要求。异步传输中,字符可以是连续地、一个个地发送,也可以是不连续地、随机地进行单独发送。在一个字符格式的停止位之后,立即发送下一个字符的起始位,开始一个新的字符的传输,这叫做连续的串行数据发送,即帧与帧之间是连续的。断续的串行数据传送是指在一帧结束之后维持数据线的“空闲”状态,新的起始位可在任何时刻开始。一旦传送开始,组成这个字符的各个数据位将被连续发送,并且每个数据位持续的时间是相等的。接收端根据这个特点与数据发送端保持同步,从而正确地恢复数据。收/发双方则以预先约定的传输速率,在时钟的作用下,传送这个字符中的每一位。起止式异步协议的特点是一个字符一个字符传输,并且传送一个字符总是以起始位开始,以停止位结束,字符之间没有固定的时间间隔要求。每一个字符的前面都有一位起始位(低电平,逻辑值0),字符本身有5~7位数据位组成,接着字符后面是一位校验位(也可以没有校验位),最后是一位,或意味半,或二位停止位,停止位后面是不定长度的空闲位。停止位和空闲位都规定为高电平(逻辑值),这样就保证起始位开始处一定有一个下跳沿。异步串行通信的可靠性高,但由于要在每个字符的前后加上起始位和停止位这样一些附加位,使得传输效率变低了,只有约80%。因此,起止协议一般用在数据速率较慢的场合(小于19.2kbit/s)。在高速传送时,一般要采用同步协议。1.1.2同步传输协议在同步传输方式中,以帧为数据传输单位,每个帧中含有多个字符代码,而且字符代码与字符代码之间没有间隙以及起始位和停止位。和异步传输相比,数据传输单位的加长容易引起时钟漂移。为了保证接收端能够正确地区分数据流中的每个数据位,收发双方必须通过某种方法建立起同步的时钟。可以在发送器和接收器之间提供一条独立的时钟线路,由线路的一端(发送器或者接收器)定期地在每个比特时间中向线路发送一个短脉冲信号,另一端则将这些有规律的脉冲作为时钟。这种技术在短距离传输时表现良好,但在长距离传输中,定时脉冲可能会和信息信号一样受到破坏,从而出现定时误差。另一种方法是通过采用嵌有3时钟信息的数据编码位向接收端提供同步信息。(1)面向字符的同步协议这种协议的特点是一次传送由若干个字符组成的数据块,而不是只传送一个字符,并规定了10个字符作为这个数据块的开头与结束标志以及整个传输过程的控制信息,它们也叫做通信控制字。由于被传送的数据块是由字符组成,故被称作面向字符的协议。(2)面向比特的同步协议该协议的特点是所传输的一帧数据可以是任意位,而且它是靠约定的位组合模式,而不是靠特定字符来标志帧的开始和结束,故称“面向比特”的协议。1.2串口通信的基本概念1.2.1串行通信串行通信数据传送的特点是:数据传送按位顺序进行,最少只需要一根传输线即可完成,节省传输线。与并行通信相比,串行通信还有较为显著的优点:传输距离长,可以从几米到几千米;在长距离内串行数据传送速率会比并行数据传送速率快;串行通信的通信时钟频率容易提高;串行通信的抗干扰能力十分强,其信号间的互相干扰完全可以忽略。但是串行通信传送速度比并行通信慢得多,并行通信时间为T,则串行时间为NT。1.2.2串行通信的工作模式串行数据通信的基础是单线传输信息,数据通常是在两个站(点对点)之间进行传送,按照数据流的方向可分成3种传送模式:单工形式、半双工形式和全双工形式。(1)单工形式:在单工形式中数据传送是单向的。通信双方中,一方固定为发送端,另一方则固定为接收端。信息只能沿一个方向传送,使用一根传输线,例如,计算机与打印机之间的通信是单工形式,因为只有计算机向打印机传送数据,而没有相反的数据传送。还有在某些通信信道中,如单工无线发送等。(2)半双工形式:半双工通信使用同一根传输线,既可发送数据又可接收数据,但不能同时发送和接收。在任何时刻只能由其中的一方发送数据,另一方接收数据。因此半双工形式既可以使用一条数据线,也可以使用两条数据线。半双工通信中每端需有一个收/发切换电子开关,通过切换来决定数据向哪个方向传输。因为有切换,所以会产生时间延迟。但是对于像打印机这样单方向传输的外围设备,用半双工方式就能满足要求了,不必采用全双工方式,可节省一根传输线。(3)全双工形式:全双工数据通信分别由两根可以在两个不同的站点同时发送和接收的传输线进行传送,通信双方都能在同一时刻进行发送和接收操作,在全双工方式中,每一端都有发送器和接收器,有两条传送线,可在交互式应用和远程监控系统中使用,信息传4输效率较高。1.3RS-232简介在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯.本次课程设计采用RS-232接口。RS-232-C接口(又称EIARS-232-C)是目前最常用的一种串行通讯接口.(RS-232-C中的-C只不过表示RS-232的版本,所以与RS-232简称是一样的)它是在1970年由美国电子工业协会(EIA)联合贝尔系统,调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准.它的全名是数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准该标准规定采用一个25个脚的DB-25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定.后来IBM的PC机将RS232简化成了DB-9连接器,从而成为事实标准.而工业控制的RS-232口一般只使用RXD,TXD,GND三条线.它适合于数据传输速率在0~20000b/s范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。在TxD和RxD上:逻辑1(MARK)=-3V~-

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功