毕业设计(论文)-基于QT的串口通信工具的设计与实现.docx_第1页
毕业设计(论文)-基于QT的串口通信工具的设计与实现.docx_第2页
毕业设计(论文)-基于QT的串口通信工具的设计与实现.docx_第3页
毕业设计(论文)-基于QT的串口通信工具的设计与实现.docx_第4页
毕业设计(论文)-基于QT的串口通信工具的设计与实现.docx_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

太原理工大学毕业设计(论文)用纸基于 QT 的串口通信工具的设计与实现摘 要串口通信是一种应用广泛且稳定可靠的串口与计算机通信的方法,基于 QT 的第三方串口类 qextserialport 类使得在 QT 平台上开发串口通信工具大大节省了工作量,并且统一了相关的命名方法,参数设定等。本文详细介绍了串口的工作原理,串口的概念,串口规范等串口通信程序设计的相关基本知识,分析了串口通信工具应用程序的设计思路,阐述了基于 QT 的串口通信工具软件具体实现方法,探讨了如何使用第三方串口类进行串口通信程序的实现以及如何进行串口通信涉及到的参数设置。借助第三方开发的串口类完成了基于 QT 的串口通信工具的实现,实现了串口之间、串口与计算机之间的文件传输。证明了基于 QT 的串口通信工具实现的可能性,通过实际的运行结果证明借助第三方串口类 qextserial 类开发的串口通信应用程序可靠稳定。关键词:串口通信;QT;第三方串口类全套设计加扣 3012250582i太原理工大学毕业设计(论文)用纸Design and Achieve based on Tool of SerialCommunicationAbstractSerial communication is a widely used and reliable method ,which is a communication between the computer and the serial port . The “qextserialport” class that based on the QT platform is provided by a third organization.It does greatly reduces the workload of serial communication and unifies associated methods naming, parameter setting at the same time.This paper thoroughly introduces the basic knowledge of the serial port program designing,such as the work principle of serial port, the concept of serial port , the standard of serial port communication , and analyses the way of how to design a serial communication application tool, introduces the realization method of serial port communication based on QT software, discusses how to implement serial port communication program using a serial port class that is provided by third organization and how to set the related parameters of serial communication .With the aid of the third organization,we implement serial communication tool based on QT, accomplish the communication between the serial port and computer ,also fulfill the task of file transmission.Demonstrate the possibility of serial communication tool QT based implementation.With the actual operating results,we show that with the help of third organizations serial class ,the development of serial communication program is reliable and stable.Key words: Serial communication ;QT;Class exploited by third party.ii太原理工大学毕业设计(论文)用纸目录摘要.iAbstract.ii1绪 论.11.1研究背景.11.2课题研究的目的和意义.21.2.1串口通信工具的发展状况.21.2.2实际工作中存在的问题.41.2.3课题研究的目的.51.3课题研究的主要内容.52 串口通信相关技术分析.62.1串口通信接口定义.62.1.1数据发送.72.1.2信号定义.72.2串口通信接口类型.72.2.1RS-232.72.2.2RS-422.82.2.3RS-485.82.3串口的应用.92.4串口通信协议.102.4.1同步串行.112.4.2异步串行通信.122.4.3串口通信握手协议.132.5串口通信的基本参数.142.5.1波特率.142.5.2数据位.142.5.3奇偶校验位.152.5.4停止位.152.5.5数据流控制.153串口通信工具设计需求分析.163.1产品概述.163.2一般约束.163.3功能需求.183.4性能需求.194串口通信工具概要设计.204.1上位机编译平台选择.204.2下位机程序设计方法研究.22太原理工大学毕业设计(论文)用纸5串口通信工具详细设计.235.1win32 下串口通信的主要方法.235.1.1打开串口.235.1.2配置串口.245.1.3读写串口.275.1.4关闭串口.335.2MSCCom 控件.335.2.1事件驱动.335.2.2查询方式.345.3下位机程序设计相关.345.3.1下位机程序.345.3.2笔记本电脑 USB 口转串口.345.3.3下位机程序烧写软件 Progisp.366串口通信工具测试.376.1软件测试.376.1.1测试原则.376.1.2测试目标.376.1.3测试内容.386.1.4测试方法.386.2软件测试结果.41结论.42参考文献.43致谢.44附录串口通信工具设计上位机软件代码实现.45外文文献.55中文译文.65太原理工大学毕业设计(论文)用纸1 绪 论1.1 研究背景在今天这个科技迅速发展的时代,不论是传统工业还是新兴的电子加工产业,都越来越依靠机电一体化技术,将人们从繁琐而单一的劳动中解放出来。种类繁多的单片机,微处理器正是这一趋势下提高生产效率的核心部件,它们不知疲倦且精确的指挥着生产设备,高效的完成了诸如精密仪器加工,产线流程处理,错误预警等各种各样的生产任务。单片机和微处理器的工作机制是将外部指令输入到内部,通过计算处理,再将计算得出的控制指令输出到外部。由此看来,数据交换就是单片机,微处理器工作的重要组成环节,如果不能进行数据交换,那么单片机,微处理器的所有功能也就失去了基础。计算机和计算机终端之间的数据传输,可以采用串行通信、并行通信和网卡通信等多种方式。由于串口通信使用的线路较少、成本较低,因此在远程监控、工业自动化控制和数据采集领域被广泛使用。串口是单片机,微处理器中承担数据交换的重要部件之一。串口叫做串行接口,也成为串行通信接口,是计算机的一种应用广泛的接口,几乎在每种操作系统以及需要进行数据传送的装置上都支持串口操作。串口也广泛的应用在各行各业的各种设备上,比如传播中设备的相互通讯,医院化验中的验血、验尿等各种化验设备、工业控制中的上位机与 8031 或 8051、PLC 等的通讯。随着人类社会的进步与科学技术的发展,计算机技术在民用和工业控制领域被广泛应用。标准的 RS232 接口已经成为了计算机、外设、交换机和许多通讯设备的标准接口。虽然近年来随着 USB 接口的日趋流行,RS232 接口作为一种传统的串行通信接口有被取代的趋势。但它的较高的性价比和可靠的传输稳定性,使得人们在传输速率要求不是很高的情况下,依旧使用串口通信接口作为使用的工具。因此,串口通信仍然具有其自身的优势,是计算机之间或者计算机与外部设备之间传送数据的常用方法。因为串口通信工具使用的是计算机内建串口,用户不需要再花费任何额外的费用用于购买其他特设的硬件设备用于进行串口通讯,只要一根串口线就可以达到发送或者接受数据的目的,而且不影响串口通信时的测试准确性。为了完成更远距离的数据传输,获得更为强力的抗干扰能力和更快的传输速率,我们可以采用 RS485 接口标准。所以串口通信现在仍然被广泛应用于数据采集、检测监控以及仪表控制等。在嵌入式 Linux 系统的开发中,串口通讯的实现虽然通过串口驱动可以满足很多系统的需要,但是图形化界面以其直观、方便、应用广泛的特点,使得研究开发图形化界面成为了一个十分必要的课题。1太原理工大学毕业设计(论文)用纸1.2 课题研究的目的和意义计算机之间或计算机终端之间的数据传输可以采用串行通信、并行通信和网卡通信等方式,由于串口通信使用的线路少、成本低,因此在远程监控、工业自动控制和数据采集领域广泛采用串口通信。与任何一个自动化设备进行联机,最好是先对该系统的通信功能先进行测试,通过串行通信的控制,通常可以讲产品内部开放的功能做一个贤妻的测试工作,然后在对系统进行程序的实现。因此串口通信的调试是十分重要的。本课题的研究目的就是要开发在 Windows 系统下,基于 QT 的串口通信工具应用软件。1.2.1 串口通信工具的发展状况串口通信已经在控制类应用中相当的普遍,串口调试软件为串口的调试带来了极大的方便。目前在国内外也有许多串口调试软件,这些软件各有特点,有些操作简单方便,但是功能方面也许有所潜血,比较适应入门级的用户,也有功能比较强大操作比较复杂的适合专业人员使用的软件,总的来说目前常用的只能串口软件种类繁多,国内外都拥有比较完善的成型软件。串口调试工:SSCOMSSCOM v4.2 绿色最新版是一款专业的串口调试软件,能够支持 110-256000bps 波特率,设置数据位(5678),校验(odd,even,mark,space)、停止位(1,1.5,2),并发送任意的字符串。对于 dtr,rts 信号线也能自由控制输出状态。软件功能:(1)接收从串口进来的数据并在窗口显示.显示流畅,可以保持接收大量数据不死机.(2)所接收到的数据数据显示方式可以选择为字符方式或者 HEX 方式(3)中文显示无乱码,且不影响速度(4)串口波特率可以选择为 110bps-256000bps.(波特率115200 时需要硬件支持)(5)可以即时显示存在的串口号.如果您增加了 usb 转串口等设备,串口号也会在列表中出现.(6)可以选择“5、6、7、8”四种数据长度.(7)可以选择为“1、1.5、2”三种停止位.(1.5 停止位需要硬件支持)(8)可以自由选择校验方式.(9)可以自由选择流控方式.(某些计算机不能选择硬流控)(10)串口设置和字符串操作等设置在程序关闭时自动保存,打开时自动载入.(11)可以在接收窗口按键即发送该键值.(12)可以在字符串输入框输入您想发送的字符串,并发送.软件界面如图 1-1 所示。2太原理工大学毕业设计(论文)用纸图 1-1 SSCOM 软件界面串口调试助手串口调试助手本工具是在实际工程应用中,根据实际的普遍的需求而开发的串口调试工具。界面精致美观,实用性强。支持各种串口设置,如波特率,校验位、数据位和停止位等等。支持 ASCII/Hex 发送,发送和接收的数据可以在 16 进制和 AscII 码之间任意转换。可以自动在发送的数据尾增加校验位,支持多种校验格式。支持间隔发送,循环发送,批处理发送,输入数据可以从外部文件导入,并且能够自动将接收到的数据保存到磁盘文件。串口调试助手是一个非常不错的串口调试软件,但是对于在单片机开发过程中常会用到的.hex 和.bin 文件,串口调试助手不能正确的发送。串口调试助手主界面如图 1-2 所示。3太原理工大学毕业设计(论文)用纸图 1-2 串口调试助手主界面国外的串口调试工具也有很多,其中比较著名的是 Docklight。Docklight 是一个测试、串行通信协议的分析和仿真工具(RS232,RS485422 等)。它允许你监控通信的两个串行设备之间或测试单个设备的串行通信。Docklight 显着增加在一个范围广泛的行业的生产力,包括自动化和控制,通讯,汽车,设备制造商,以及嵌入式/消费产品。Docklight 是易于使用和运行在几乎任何标准的 PC 上使用Windows 8,Windows 7,Windows Vista 或 Windows XP 操作系统。1.2.2 实际工作中存在的问题自动化设备在各个行业都得到了普遍的应用,随着计算机分析控制技术的法杖,作为生产设备中最为主要的串行通信得到了广泛的应用,设备与计算机间的各种通信协议也层出不穷,但是,由于没有相关的技术标准,不同的公司各自建立各自的设备通信标准,目前,各种设备的生产数据格式不统一、各自独立,因此无法对大量设备的生产和通信数据进行有效统一的管理,也无法通过先进的数据融合方法进行各种数据的分析,4太原理工大学毕业设计(论文)用纸因此限制了生产设备管理维护水平的提高。另外,在大多数的情况下,设备的供应商并不提供与数据传输接口相关的技术资料,而且许多进口设备仪器之间的串行通信也不附带相关的技术资料。由于市场变化的原因,很多设备附带的技术资料已经无法查找,因此,想充分利用这些设备进行二次开发或者自行编制数据处理收集程序变得十分的困难,造成大量设备不能充分开发利用甚至完全不能满足实际使用环境的需要。处于各种技术和商业上的考虑,为多个不同设备提供通信协议的解析和建立通用的数据接口管理软件等工作进展缓慢。一般只有由多种设备的用户来进行相关的二次开发工作来适应自己企业的生产需求。没有相关的技术标准。特别是没有设备通信标准。各种设备之间存在的不同通信协议和接口模块,既不利于进行统一的分析和设备管理,也不利于串行通信的调试工作。虽然都是利用计算机计算机进行数据交换的测试,但由于这些设备的生产厂家不同,所使用的通信接口和通信协议也都不同,因此,在具体测试这些设备时操作人员不仅需要熟悉这些设备的现场使用方法,而且还要能够分别使用各自的调试软件进行不同操作方式的数据通信传输和数据综合分析,给使用带来了很大的麻烦。目前,由于穿心通信数据链路层协议林林总总,难以逐一的进行分心,这也给串口调试软件设计带来了一定的困扰。现在设计串口调试软件都是基于某个具体的通信协议,根据设备的实际情况来进行设计的,还没有一种可以仿真串行通信中几乎所有情况的软件。因此,对于串口调试软件方面的工作需要进一步的研究。1.2.3 课题研究的目的本课题的目的在于利用第三方开发的串口类完成基于 QT 的串口通信工具的实现。并在开发过程中深入理解串口通信的原理,串口通信协议的具体内容,串口通信的参数的作用、含义以及串口通信的一般参数配置。1.3 课题研究的主要内容首先要了解串口通信涉及到基本概念,包括串口的概念,串口通信的接口,接口的型号,串口通信协议等等,然后开始进行串口通信上位机软件的编写,串口通信实现的步骤,串口通信参数设置等,在完成了上位机软件功能实现后,开始进行下位机的研究,包括单片机基本概念的了解,引脚的作用,下位机功能实现所需硬件,以及实现功能的电路设计,下位机上的程序设计等等。最后进行调试,完成上位机与下位机之间的实时串口通信,并通过上位机与下位机之间的交互来确认通信成功。本课程设计中,开发上位机程序使用的开发环境是 WIN7 系统下用 Qt Creator 开发环境,所用语言为 C+。主要任务是界面设计和串口通信的实现,以及由下位机串口缓冲区中数据反馈的显示。下位机部分,开发所使用的集成环境为 keil4,使用编程语言为 C 语言。下位机主要实现的功能是收发数据,即与上位机进行通信。5太原理工大学毕业设计(论文)用纸2 串口通信相关技术分析2.1 串口通信接口定义串口的出现是在 1980 年前后,数据传输率是 115kbps230kbps。串口出现的初期是为了实现连接计算机外设的目的,初期串口一般用来连接鼠标和外置 Modem 以及老式摄像头和写字板等设备。串口也可以应用于两台计算机(或设备)之间的互联及数据传输。由于串口(COM)不支持热插拔及传输速率较低,目前部分新主板和大部分便携电脑已开始取消该接口。目前串口多用于工控和测量设备以及部分通信设备中。串口线如图 2-1 所示。图 2-1 串口线串行接口 (Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。 一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。串行通讯的特点是:数据位的传送,按位顺序进行,最少只需一根传输线即可完成;成本低但传送速度慢。串行通讯的距离可以从几米到几千米;根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。串行通信接口,按电气标准及协议来分包括:RS232、RS422、RS485、USB 等。RS232、RS422 与 RS485 标准只对接口的电气特性做出决定,不涉及插件、电缆或协议。 USB 是近几年发展起来的新型接口标准,主要应用与高速数据传输领域。串口的技术6太原理工大学毕业设计(论文)用纸简单成熟、性能可靠、价格低廉,所以要求的软硬件环境或者条件都很低,广泛应用在与计算机及其相关的领域内,遍及调制解调器、串行打印机、各种监控模块、PLC、数控机床。单片机以及智能设备,甚至路由器也不例外。2.1.1 数据发送通信的主要目的是将数据从一端发送到另一端,以实现数据的交换。计算机与设备间的数据交换,计算机之间的数据传输都属于通信的范畴。一个完整的通信系统包括发送端、接受端、转换数据的接口以及发送数据的实际信道或媒介。一般情况下,发送与接受的节点成为 DTE(Data Terminal Equipment,数据终端设备)。数据在到达正确目的地之前,可能需要经过一系列的中间节点,它们负责数据的转送工作,以送达目的地,这些中间节点称为 DSE(Data Switching Equipment,数据转送设备)。终端设备发送数据时,必须先将数据转换为电气信号,以便在线路上传递,而负责数据与电气信号转换的设备称为 DCE(Data Communication Equipment,数据通信设备)。DTE 与 DCE 见的数据传输线路通常使用 RS232 串行通信,而 DCE 与 DSE 之间的媒介则包括了双绞线、同轴电缆、光纤或无线电等。2.1.2 信号定义在计算机内部的记录中所有的数据都是 0 和 1,任何数据都是这两个数字的组合。所有电子仪器的基础均来自“开”、“关”两个状态的改变,可以将它们表示为 0 与 1 或表示为“高电位”、“低电位”,不管表示方法如何,目的在于造成“状态的改变”,将很多的 0 与 1 组合成为一大串数字序列后,就可以定义它们所代表的意义了。传输过程就是在传输线上不断的产生高低电位的变化,发送端造成传输线上电位变化,而接收端则是解读此高低电位变化而还原出原始的信息。2.2 串口通信接口类型串行接口按电气标准及协议来分包括 RS-232-C、RS-422、RS485 等。RS-232-C、 RS-422 与 RS-485 标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。2.2.1 RS-232也称标准串口,最常用的一种串行通讯接口。它是在 1970 年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”。传统的 RS-232-C 接口标准有 22 根线,采用标准 25 芯 D 型插头座(DB25),后来使用简化为 9 芯 D 型插座(DB9),现在应用中 25 芯插头座已7太原理工大学毕业设计(论文)用纸很少采用。RS-232 采取不平衡传输方式,即所谓单端通讯。由于其发送电平与接收电平的差仅为 2V 至 3V 左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约 15 米,最高速率为 20kb/s。RS-232 是为点对点(即只用一对收、发设备)通讯而设计的,其驱动器负载为 37k。所以 RS-232 适合本地设备之间的通信。2.2.2 RS-422标准全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性。典型的 RS-422 是四线接口。实际上还有一根信号地线,共 5 根线。其 DB9 连接器引脚定义。由于接收器采用高输入阻抗和发送驱动器比 RS232 更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接 10 个节点。即一个主设备(Master),其余为从设备(Slave),从设备之间不能通信,所以 RS-422 支持点对多的双向通信。接收器输入阻抗为 4k,故发端最大负载能力是 104k+100(终接电阻)。RS-422 四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必须的信号交换均可以按软件方式(XON/XOFF 握手)或硬件方式(一对单独的双绞线)实现。RS-422 的最大传输距离为 1219 米,最大传输速率为 10Mb/s。其平衡双绞线的长度与传输速率成反比,在 100kb/s 速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。一般 100 米长的双绞线上所能获得的最大传输速率仅为1Mb/s。2.2.3 RS-485是从 RS-422 基础上发展而来的,所以 RS-485 许多电气规定与 RS-422 相仿。如都采用平衡传输方式、都需要在传输线上接终接电阻等。RS-485 可以采用二线与四线方式,二线制可实现真正的多点双向通信,而采用四线连接时,与 RS-422 一样只能实现点对多的通信,即只能有一个主(Master)设备,其余为从设备,但它比 RS-422 有改进,无论四线还是二线连接方式总线上可多接到 32 个设备。RS-485 与 RS-422 的不同还在于其共模输出电压是不同的,RS-485 是-7V 至+12V之间,而 RS-422 在-7V 至+7V 之间,RS-485 接收器最小输入阻抗为 12k、RS-422 是4k;由于 RS-485 满足所有 RS-422 的规范,所以 RS-485 的驱动器可以用在 RS-422 网络中应用。RS-485 与 RS-422 一样,其最大传输距离约为 1219 米,最大传输速率为 10Mb/s。平衡双绞线的长度与传输速率成反比,在 100kb/s 速率以下,才可能使用规定最长的电缆长度。只有在很短的距离下才能获得最高速率传输。一般 100 米长双绞线最大传输速率仅为 1Mb/s。8太原理工大学毕业设计(论文)用纸2.3 串口的应用交换机的串口的英文就是 trunk;是用来做下一跳路由转换用的。每个 VLAN 只有通过与 TRUNK 的路由指向后才能上外网。引脚说明如表 2-1 所示。表 2-1引脚说明PinNameDir Description1CDCarrier Detect2RXDReceive Data3TXDTransmit Data4DTRData Terminal Ready5GNDSystem Ground6DSRData Set Ready7RTSRequest to Send8CTSClear to Send9RIRing Indicator目前较为常用的串口有 9 针串口(DB9)和 25 针串口(DB25),通信距离较近时(12m),可以用电缆线直接连接标准 RS232 端口(RS422,RS485 较远),若距离较远,需附加调制解调器(MODEM)或其他相关设备。最为简单且常用的是三线制接法,即地、接收数据和发送数据三脚相连,下面涉及到最为基本的接法,且直接用 RS232 相连, DB9 和 DB25 的常用信号脚说明如表 2-2 所示。表 2-2 DB9 和 DB25 的常用信号脚说明pinfunction namepin function name1数据载波检测DCD 82接收数据RXD 33发送数据TXD 24数据终端准备DTR 205信号地GND 76数据设备准备好DSR 67请求发送RTS 48清除发送CTS 59振铃指示RI 22RS232C 串口通信接线方法(三线制)首先,串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连9太原理工大学毕业设计(论文)用纸同一个串口的接收脚和发送脚直接用线相连对 9 针串口和 25 针串口,均是 2 与 3 直接相连两个不同串口(不论是同一台计算机的两个串口或分别是不同计算机的串口)串口连机线DB9-DB92-3,3-2,5-5DB25-DB252-3,3-2,7-7DB9-DB252-3,3-2,5-7DB9-DB25 串口转接线2-3,3-2,5-7上面是对微机标准串行口而言的,还有许多非标准设备,如接收 GPS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论