智能串口调试软件.docx

上传人:b****5 文档编号:8027346 上传时间:2023-01-28 格式:DOCX 页数:36 大小:162.33KB
下载 相关 举报
智能串口调试软件.docx_第1页
第1页 / 共36页
智能串口调试软件.docx_第2页
第2页 / 共36页
智能串口调试软件.docx_第3页
第3页 / 共36页
智能串口调试软件.docx_第4页
第4页 / 共36页
智能串口调试软件.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

智能串口调试软件.docx

《智能串口调试软件.docx》由会员分享,可在线阅读,更多相关《智能串口调试软件.docx(36页珍藏版)》请在冰豆网上搜索。

智能串口调试软件.docx

智能串口调试软件

毕业设计(论文)

题目

姓名

学号

专业班级

所在学院

指导教师(职称)

 

二○一○年五月十日

智能串口调试软件

【摘要】串行通信是一种广泛使用且实用的通信方式,在控制类应用中相当普遍,.NETFramework2.0类库中的SerialPort类为串行通信提供了强大的工具。

本文详细介绍了串口的工作原理和通信协议等串行通信相关的基本知识,分析了串口通信程序的设计思路,阐述了在VisualStudio2005编程环境下串口调试软件的具体实现方法。

探讨了如何利用C#SerialPort类进行串行通信程序的设计,分析了C#串行类的应用特点,证明了采用C#SerialPort类可以使串行通信程序设计具有更大的灵活性,可以提高串口传输数据的可靠性。

实际运行结果表明这种编程方法稳定、可靠,实用性强。

【关键词】串行通信,串口调试,SerialPort类

IntelligentSerialPortDebugSoftware

【Abstract】Serialcommunicationisawidelyusedandpracticalmethodofcommunicationwhichisappliedinthecontrolclassquitecommon,andtheclassSerialPortof.NETFramework2.0hasprovidedapowerfultoolfortheserialcommunication.Thispaperdescribestheworkingprincipleofserialportsandserialcommunicationprotocolssuchasthebasicknowledgerelatedtoserialcommunication,andanalysesthethreadofthedesignoftheserialcommunicationprogram.TheconcretemethodforrealizingtheserialportdebugsoftwareundertheenvironmentofVisualStudio2005isalsoexplained.HowtouseC#.SerialPortclasstodesigntheserialcommunicationprocedureisdiscussed.ThecharacteristicofC#.SerialPortclassisanalyzed.ItprovedthattheserialcommunicationproceduredesigncouldbemoreflexiblebyusingC#.SerialPortclassandtheSerialPort’sreliabilityofdatetransferringalsocanbeimproved.Theapplicationresultsshowthathisproceduredesignmethodcanstable,reliableandhighpracticable.

【KeyWords】SerialCommunication,Serialportdebugging,C#SerialPortClass

图目录

表目录

第1章绪论

1.1研究背景

在现代工业社会中,随着电子产业的迅猛发展,电子技术与传统工业相结合的机电一体化技术在现代工业中占据着越来越大的主导地位。

各种各样的单片机,微处理器无处不在的发挥着巨大的作用。

它就像是人的大脑一样,精确的指挥着每一部机器、每一台设备的运作,可以说,电子芯片的出现直接影响了工业社会的进程,是工业现代化的重要里程碑。

不仅如此,就在人们的日常生活中,电子技术带来的影响也是翻天覆地的,以至于我们无时无刻的在与电子芯片打交道,试想一下,如果我们失去了电子芯片,我们退回到的应该不仅是农业社会,而是石器时代了。

探讨单片机、微处理器能够发挥巨大作用的机理,就是它可以将外界的指令输入到自身内部,经过计算,转换成控制信息传送给外界。

因此,数据的交流是单片机、微处理器工作的重要意义所在,而串口则是单片机、微处理器内部担负数据传送任务的重要部件之一[1]。

串口叫做串行接口,也称串行通信接口,是计算机的一种应用广泛的接口,几乎在每种操作系统以及需要进行数据传送的装置上都支持串口操作。

串口也广泛用于各行各业的各种设备中,如船舶中设备的互相通讯,医院验血、验尿等各种化验设备、工业控制中上位机与8031或8051、PLC等的通讯。

随着人类社会的进步与科学技术的发展,计算机技术在民用和工业控制领域的作用越来越显示出其魅力,特别是串行通信技术在通讯领域被广泛应用。

标准的RS232接口已成为计算机、外设、交换机和许多通讯设备的标准接口。

虽然近年来随着USB口的日趋流行,RS232接口作为一种传统的串行通信接口有被取代的趋势。

然而由于它具有较高的性价比和传输的可靠性,在传输速率要求不是很高的情况下,串口通信仍然具有其自身的优势,是在计算机与计算机之间或者计算机与外设之间传送数据的常用方法。

由于串口通信使用计算机的内建串口,用户无需再购买任何特殊硬件,只要一根串口线就可以达到发送或者接收数据的目的,而且不失测试的准确性。

采用RS485接口标准可以实现更远的传输距离、更强的抗干扰能力和更快的传输速率。

所以串口通信现在仍然广泛应用于数据采集、监测监控以及仪表控制等场合。

串口通信的广泛应用决定了串口调试软件开发的必要性,而且为了保证各设备间的正常通讯以及让计算机控制、管理这些设备并与它们交换数据,串口的调试和相关的串口调试软件的开发也是实际应用中所必须的。

1.2课题研究的目的和意义

现在的产品若要自动化,一定要提供通道与计算机进行通信,而最简单的方式就是在产品内部少上一颗单芯片,利用单芯片上的串行通信功能进行自动化的工作,由于计算机中的串口是必备的通道,且以价格及技术上来说是最能被厂商所接受的,因此,市面上很多自动化产品也都加上了串行通信的功能,从而扩大产品的使用领域,使实现技术变得简单化。

与任何一个自动化设备进行联机,最好是先对该系统的通信功能先进行测试。

通过串行通信的控制,通常可以将产品内部开放的功能做一个先期的测试工作,确定没有问题了,然后再对系统进行程序的实现,这是一个比较保险的做法,免得在系统设计到设计到一半的时候发现最重要的通信功能有问题,浪费了大量的宝贵时间。

1.2.1串口调试软件的发展现状

在自动控制领域,经常要实现上位机和下位机之间的通信,串口通信是上、下位机常用的通信手段。

串口通信已经在控制类应用中相当普遍,串口调试软件为串口的调试带来了极大方便。

目前在国内外也有许多的串口调试软件,这些软件各有特点,有些操作简单方便,但功能也许有所欠缺,比较适应入门级的人,也有功能比较强大操作比较复杂的适合专业人员使用的软件,总的来说目前常用的智能串口调试软件主要:

串口调试软件SSCOM、串口调试助手和BOAST串口调试工具等。

1.串口调试软件SSCOM

串口调试软件SSCOM是一个功能较强的串口调试软件[2],它可以在Win95/98、Win2000、WinNT、WinXP系统下运行,该软件主要特点有:

接收从串口进来的数据并在窗口显示;所接收到的数据的显示方式可以选择为字符方式或者HEX方式;串口波特率可以选择为110bps-256000bps;可以即时显示存在的串口号;可以在字符串输入框输入想要发送的字符串,字符串输入框可以输入HEX数据串进行发送,数据的值从00到FF,没有任何限制;可以打开一个文本文件和一个二进制文件并以当前的波特率发送到串口;可以保存窗口内容到一个文本文件,文件名取自当前时间,保存在当前目录。

2.串口调试助手

串口调试助手(SComAssistant)是一个功能比较全面而又小巧的串口调试软件[3],它支持常用的300-115200bps波特率,能设置校验、数据位和停止位,能以ASCII码或十六进制接收或发送任何数据或字符(包括中文),可以任意设定自动发送周期,并能将接收数据保存成文本文件,能发送任意大小的文本文件。

串口调试助手是一个非常不错的串口调试软件,但是对于在单片机开发过程中常会用到的.hex和.bin文件,串口调试助手不能正确发送。

3.BOAST串口调试工具

BOAST串口调试工具可以作为通用的串口调试工具,也可以作为以BOAST为首的,国内数字称重传感器通讯调试工具。

该软件作者在上位机软件开发过程中,根据自己的实际需要编写了这款工具软件。

为串口通讯调试带来了方便。

软件编写过程中,参考SSCOM的几项典型功能,并作了一些改进。

该软件为绿色、免安装、完全免费软件。

主要功能有:

自动搜索串口,并打开串口;接收数据可以进行十六进制和ASCII切换;接收数据时,光标始终显示在最后一行等。

1.2.2实际工作中存在的问题

自动化设备在各个行业都得到了普遍的应用,随着计算机分析控制技术的发展,作为生产设备中最主要的串行通信得到了广泛的应用,设备与计算机间的各种通信协议也层出不穷,但是,由于没有相关的技术标准,不同公司各自建立自己的设备通信标准,目前,各种设备的生产数据格式不统一、各自独立,因此无法对大量设备的生产和通信数据进行有效和统一的管理,也无法通过先进的数据融合方法进行各种数据的分析,因此限制了生产设备管理维护水平的提高。

另一方面,在大多数情况下,设备的供应商并不提供与数据传输接口相关的技术资料,而且许多进口的设备仪器之间的串行通信也不附带相关的技术资料,另外,由于市场变化的原因,很多设备附带的技术资料已经无法查找,因此,想充分利用这些设备进行二次开发或者自行编制数据处理程序收集数据变得非常困难,造成大量设备不能充分开发利用甚至完全不能满足实际使用环境的需要。

出于各种技术和商业上的考虑,为多个不同设备提供通信协议的解析和建立通用的数据接口管理软件等工作进展缓慢。

一般只有由多种设备的用户来进行相关的二次开发工作,来适应自己企业的生产需求。

没有相关的技术标准特别是设备通信标准,各种设备之间存在的不同通信协议和接口模块,既不利于进行统一分析和管理,也不利串行通信的调试工作。

虽然都是利用计算机进行数据交换的测试,但由于这些设备的生产厂家不同,所使用的通信接口和通信协议也都不同,因此,在具体测试这些设备时操作人员不仅需要熟悉这些设备的现场使用方法,而且还要分别能够使用各自的调试软件进行不同操作方式的数据通信传输和数据综合分析,给使用带来了很大的麻烦。

目前,由于串行通信数据链路层协议林林总总不可胜数,难以逐一进行分析,这也给串口调试软件设计带来一定的困扰,现在设计串口调试软件时都是基于某种具体的通信协议,根据设备的实际情况来进行设计的,还没有一种可以仿真串行通信中几乎所有情况的软件。

因此,对于串口调试软件设计方面的工作需要作进一步地研究。

1.2.3课题研究的目的

在嵌入式硬件系统中,串口是一个非常重要的硬件组成部分。

嵌入式硬件系统通过串口可以与上位机(如计算机,工控机等)进行连接,从而实现上位机和下位嵌入式系统之间的通信,完成数据交换、参数设置,组网等功能。

调试就是定位程序中的错误并修正其错误的过程[4],在软件开发环境中,测试工具可以说是衡量开发环境优劣的重要因素。

在嵌入式系统软件开发环境中,调试尤其显其重要性,因为开发者所面对的硬件往往就一块裸板,没有输入输出设备,操作和应用也往往是绑定在一起的,如何“导出”调试信息也是软硬件开发者必须考虑的一个问题。

最早期的调试方法基本上采取的是“crashandburn”的方式,即把编译好的目标代码“烧”到目标板上,让它跑起来,如果未得到预期结果,仔细检查源代码,猜测出问题可能出现的地方,尝试修改源代码,再重新“烧”到目标板上,再运行,一直重复这个过程,直到结果正确为止。

使用这种方法,犹如在暗室中维修精密仪器,可想而知程序调试的难度有多大。

为了方便嵌入式系统中代码的调试,在硬件上,出现了各式各样的具有调试功能的调试板。

如增加了串口、并口,网口使之通过串、并口线或网线并借助另外一台有输入输出设备的计算机对目标板上的软件进行调试和控制。

在软件上,可以利用串口调试软件直观的测试通信协议,参数等。

为了能够提高操作人员的工作效率,以及能够记录历史工作数据,并利用这些数据进行计算机的智能分析和管理,我们不仅需要将这些设备的数据收集起来进行分析,而且该系统有一个智能的通信接口,能够与所有这些现场设备进行通信,以收集现场采集的测试数据。

操作人员只需要掌握串口调试软件的使用方法,就可以对所有生产设备的数据进行传输、管理和分析操作。

随着串口应用领域越来越广泛,运用的复杂程度也越来越高,实际应用中对串口通信的调试要求也越来越高。

本课题的目的在于深入剖析不同设备和它们与上位机之间通信时采用的传输协议,在这一基础上,为整个系统与计算机之间的通信编写驱动程序。

期望能通过对多种设备和协议的研究,分析和比较不同系统通信的长处和不足,并建立一种相对比较完善的生产设备串行通信协议,编写对所研究的大多数设备适用的串口调试程序,使该程序尽可能的能够仿真串行通信中的所有情况。

1.3课题的主要研究内容

本课题旨在研究串口的工作原理以及串口调试的实现算法,并介绍以一些常用的串口调试软件,比较它们的优缺点,再在VisualStudio2005环境中使用C#语言编写完成一个串口调试程序的设计。

本设计是在WINDOWSXP操作系统下,设计自己的通信协议,借助C#语言编程环境,使用C#serialport类,实现串口通信。

论文一共有六个章节组成:

第一章序论,介绍了课题研究的背景,串口调试软件发展现状以及其中存在的问题,提出本课题的研究目的和意义。

第二章串行通信接口,介绍了串口的分类以及串口的工作原理。

第三章串行通信协议,介绍了串行通信的实现过程及标准,串行通信技术的原理和规范。

第四章串口通信程序设计研究,主要介绍串行通信驱动程序设计的方法,通过串行通信SerialPort类的研究及相关串行通信组建的建立,学习串行通信驱动程序设计的方法。

第五章串口调试软件的实现,介绍了串口调试软件的开发语言和开发环境,阐述了在VisualStudio2005编程环境下串口调试软件的具体实现方法。

最后是结论,对课题研究工作和论文的总结和评价,以及对后续工作的展望。

第2章串行通信接口

2.1串行通信接口定义

串行总线是一种久远但目前仍常用的通信方式,早期的仪器、单片机、PLC等均使用串口是计算机进行通信,最初多用于数据通信上,但随着工业测控行业的发展,许多测量仪器都带有串口总线接口,因此了解掌握串口通信技术及其编程是非常有必要的[10]。

串行通信接口,按电气标准及协议来分包括:

RS232、RS422、RS485,USB等。

RS232、RS422与RS485标准只对接口的电气特性做出决定,不涉及插件、电缆或协议。

USB是近几年发展起来的新型接口标准,主要应用于高速数据传输领域。

串口的技术简单成熟、性能可靠、价格低廉,所以要求的软硬件环境或者条件都很低,广泛应用与计算机及相关领域,遍及调制解调器、串行打印机、各种监控模块、PLC、数控机床、单片机及相关智能设备,甚至路由器也不例外(通过串口设置参数)。

2.1.1数据发送

通信的主要目的是将数据从一端发送到另一端,以实现数据的交换。

计算机与设备问的数据交换,计算机与计算机问的数据传输都属于通信的范畴。

一个完整的通信系统包括发送端、接收端、转换数据的接口及发送数据的实际信道或媒质。

一般情况下,发送与接收的节点称为DTE(DataTerminalEquipment,数据终端设备)。

数据在到达正确目的地之前,可能需要经过一系列中间节点,它们负责数据的转送工作,以送达目的地,这些中间节点称为DSE(DataSwitchingEquipment,数据交换设备)。

终端设备发送数据时,必须先将数据转换为电气信号,以便在线路上传递,而负责数据与电气信号转换的设备称为DCE(DataCommunicationEquipment,数据通信设备)。

DTE与DCE间的数据传输线路通常使用RS232串行通信,而DCE与DSE间的媒质则包括了双绞线、同轴电缆、光纤或无线电等。

2.1.2信号定义

在计算机内部的记录中所有的数据都是0与l,任何数据都是这两个数字的组合。

所有电子仪器的基础均来自“开”、“关”两个状态的改变,可以将它们表示为0与l或表示为“高电位”、“低电位”,不管表示方法如何,目的在于造成“状态的改变”,将很多的0与l组合成一大串的数字序列后,就可以定义它们所代表的意义了。

传输过程就是在传输线上不断地产生高低电位的变化,发送端造成传输线上的电位变化,而接收端则是解读此高低电位变化而还原出原始的信息。

2.2RS232串行通信接口

串行通信端口在系统控制的范畴中一直占据了极其重要的地位,它不仅没有因为时代的进步而被淘汰,反而在规格上越来越完善,应用也越来越广泛。

为了不同厂商的计算机和各种外围设备串行连接的需要,已经制定了一些串行物理接口的标准。

其中,最著名和广泛采用的是EIA-RS-232C,现在,串行通信端口RS232是计算机上的标准配置,既可以用于计算机和设备之间近距离连接的直接通信,也可以用于连接调制解调器来进行远距离的串行数据传输[11]。

1.物理接口特性

EIA-RS-232C是由美国电子工业协会EIA制订的一种串行物理接口标准,EIA-RS-232C关于机械特性的要求,规定使用一个25针的标准连接器,对该连接器的尺寸及每个插针的排列位置等都有明确的规定。

随着使用的不断发展,演化出9针接口的RS232端口,计算机上通常配备COM1端口,即以9针脚引出的RS232通信端口。

表2.1给出了9针RS232端口引脚说明。

2.电气特性

数字电路和计算机接口中大部分为5v的TTL或3.3v的CMOS电平,而RS-232的电平定义则不相同,它采用的是负逻辑。

信号要被发送,一定要定义所谓的0或1的状态。

在RS-232的标准中,电压在+3v.+15v(一般使用+6V)之间称为0或Space,一般用途是作为011,电压在-3-15v(一般使用-6v)之间称为1或Mark,一般用途是作为Off。

有时候以High和Low更能表现出其实际状态。

表2.1RS232端口引脚缩写功能说明

引脚(9针)

信号

类型源

类型

描述

1

CD

DCE

控制

接收信号检出,高电平有效。

当CD=1,表示已经收到通信线路另一端Modem送来的信号。

2

RD

DCE

控制

将远程的串行数据接收进来

3

TD

DTE

控制

将计算机的数据发送出去

4

DTR

DTE

控制

此引脚有计算机控制,当DTR=1时,表明可以传输数据。

5

GND

控制

接地端,信号地和保护地信号

6

DSR

DCE

控制

数据装置准备准备好,当它为高电平时,Modem将通知计算机准备就绪,可以发送数据。

7

RTS

DTE

控制

请求发送,用来表示DTE请求DCE发送数据,当它为高电平时,计算机向Modem请求发送数据。

8

CTS

DTE

控制

清除发送,用来表示DCE准备好接收DTE发来的数据,是对请求发送信号RTS的响应信号。

9

RI

DCE

控制

响铃指示,RI=1时,表明Modem收到了交换台送来的振铃信号,用它来通知终端。

2.3RS485串行通信接口

由于串行通信的简单易用,使工业领域大量使用串行通信来进行数据传输,可是工业环境通常会有噪声干扰传输线路,在以RS232进行传输时经常会受到外界的电气干扰而使信号发生错误,RS485串行通信标准就是为了解决这个问题出现的。

RS-485标准是RS-422标准的改进增强版本,因其技术性能先进,得到了广泛应用。

RS485不仅传输距离远,通信可靠,而且使用单一+5V电源或+3V电源,逻辑电平与传统的TTL兼容。

此外,它对传输介质没有任何严格的要求,只需将普通双绞线捆绑在一起即可简便地组成网络,除了点对点与广播通信方式外,还具有多点通信方式。

RS-485标准的共模电压最大与最小值为+12V、-7v,差分输入电压范围为-7V~+12V,接受器输入灵敏度为200mV。

其特点是抗干扰能力强,传输速率高,距离远。

在采用双绞线,不使用MODEM的情况下,在l00Kb/s的传输速率时,可以传送1200m,若速率为9600b/s,则传送距离可达1500m,它允许的最大速率为10Mb/s,传输距离为15m。

RS485采用差分平衡输入模式,对共模信号有极好的抑制能力。

信号将被发送出去时先分成正负两条线路,到达接收端之后,再将信号相减还原成原来的信号,保证了与原始信号的一致性。

使用RS485网络可以有效的抑制噪声信号干扰。

也因为这种特性,此种串行通信方式比较适合工业上的应用。

2.4其他串行通信接口

2.4.1USB接口

由于时代的进步,串行通信也朝向高速化发展。

近年来个人计算机的快速发展,使串行通信技术发展出了通用串行总线(UniversalSerialBus,USB)接口。

此种规格的目的在于集成一般计算机所使用的外围设备连接方式,而且其所采用的信号传输方式也是串行通信。

到目前为止,USB接口已经有两种规范:

1996年1月推出的标准版本USB1.0,最高传输速率为12Mb/s;1998年9月又推出USB1.1版本,全面修改了1.0版本.2000年4月推出高速的USB2.0,数据传输速率可达480Mb/s。

当前低速是指1.5Mb/s以下,1.5Mb/s以上至12Mb/s的设备称为全速设备。

USB总线由VBUS(USB电源)、D+(数据)、D-(数据)和GND(USB地)4根线组成,用于传送信号和提供电源,线缆的最大长度不超过5m。

按照USB1.0/1.1标准,USB的标准脉冲时钟频率为12MHz,而其总线脉冲时钟为1ms(1kHz),即每隔1ms,USB设备应为USB总线产生1个时钟脉冲序列,这个脉冲序列称为帧开始数据包(SOF)。

高速外设长度为每帧12Kbit,而低速外设长度为每帧1.5Kbit,1个USB数据包可包含0-1023字节数据,每个数据包的传送都以1个同步字段开始。

USB主控制器时钟产生每帧1ms的时间片,它是通过以1ms的间隔发送帧开始(SOF)的方法来建立帧的。

SOF令牌是一个帧周期内第一个被传输的内容,在发送一个SOF令牌之后,帧周期所剩余的时间内,主控制器可以自由地发送其他处理操作。

当主控制器处于正常工作状态时,不管有没有其他的总线操作,SOF令牌必须以1ms的周期连续产生。

如果主控制器进入了一个它不能在总线上提供电源供应的状态,它就不能产生SOF,而且,如果主控制器不再生成SOF,它可以进入一个低功耗状态。

SOF令牌具有访问总线的最高优先权,集线器中的串扰电路在帧结束(EOF)期间,从电气上对任意一个有效的发送器进行隔离,为SOF的传输提供一条空闲的总线。

主机在每一个SOF令牌传输中会传送当前帧标号的低11bit,当主控制器发出请求时,当前的帧标号就是在该请求完成时已经存在的帧标号.由主机(主控制器或HCD)所返回的当前帧标号

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 药学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1