基于labview串口助手设计.doc
《基于labview串口助手设计.doc》由会员分享,可在线阅读,更多相关《基于labview串口助手设计.doc(14页珍藏版)》请在冰豆网上搜索。
华东交通大学课程设计
虚拟仪器课程设计
题目:
串口调试助手设计
学院:
华东交通大学机电工程学院
班级:
2012xxxxxx
学号:
2012xxxxxxxx
姓名:
xxxx
目录
《虚拟仪器设计》课程设计任务书 2
1.引言 4
2.labview及串口通信简介 4
2.1Labview 4
2.2串口通信简介 5
3.串口相关节点介绍 6
3.1VISA配置串口 6
3.2设置缓冲区大小 7
3.3visa写入 7
3.4VISA读取 7
4.程序框图设计 8
4.1串口初始化输入模块 8
4.2数据发送程序 8
4.3数据接收 9
4.4字节数显示 10
4.5属性节点设置 10
5.前面板设计 10
6.结语 11
7.心得体会 12
8.参考文献 13
12
华东交通大学机电工程学院
《虚拟仪器设计》课程设计任务书
学生姓名:
高俊须学号:
20120310110212
一、设计题目
串口调试助手设计
二、设计目的和要求
通过对虚拟仪器的设计,了解虚拟仪器设计的基本原理及常用的对象使用方法;通过设计一台虚拟式数据采集系统、图形识别系统、通过串口、并口控制、测温系统、转速测量系统等,了解虚拟仪器数据采集卡的使用及设置,并口或串口的数据传输,了解虚拟编程中如何使用非NI公司的数据采集卡或电脑中常用的声卡,如何配置DAQ助手等,学会把外界物理信号采集到计算机并进行简单分析或者通过虚拟仪器产生符合要求的信号并通过声卡输出或者学会利用NI的ELVIS系统设计简单的测量软件。
加深虚拟仪器知识、单片机的了解,培养学生运用虚拟仪器思想解决工程实际问题的能力。
二、设计内容
A.详细要求:
(1)串口可选;
(2)波特率可调;(3)串口通讯方式可调(9位还是11位);
(4)校验方式可选(奇校验偶校验);(5)设计界面要标准
B.前面板上要设置必要的控件对象以设置相应参数。
C.设计界面要美观,程序可读性好。
三、设计进度安排
设计时间总计2周
课程设计任务及要求讲解(0.5天)
设计任务分析及查找资料(1.5天)
程序编制及调试(5.5天)
设计说明书撰写(2天)
答辩(0.5天)
四、设计任务书应包括的主要内容
目录设计题目任务分析实现过程程序前面板及流程图
结束语心得体会参考文献
五、考核方法
考核方式由三部分组成:
平时学习态度(含考勤)、设计完成情况(含方案、程序质量、界面、说明书等)及答辩情况确定。
六、教师评语及成绩
指导教师:
1.引言
这学期我们系统的学习了虚拟仪器设计,对于虚拟仪器有了比较深刻的认识。
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:
其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
LabVIEW软件是NI设计平台的核心,也是开发测量或控制系统的理想选择。
LabVIEW开发环境集成了工程师和科学家快速构建各种应用所需的所有工具,旨在帮助工程师和科学家解决问题、提高生产力和不断创新。
这次课程设计的任务就是根据一个学期对labview的学习以及对G编程的了解设计出一款类似串口调试助手的软件。
串口调试助手是串口调试相关工具,支持9600,19200等常用各种波特率及自定义波特率,可以手动调节串口,能设置校验、数据位和停止位,能以ASCII码或十六进制接收或发送任何数据或字符,可以任意设定发送周期,并能将接收数据保存成文本文件,能发送任意大小的文本文件,也可以计算已发送和接收的字节数。
2labview及串口通信简介
2.1Labview
LabVIEW是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。
LabVIEW[2] 集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。
它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。
这是一个功能强大且灵活的软件。
利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。
图形化的程序语言,又称为“G”语言。
使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。
它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。
它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。
使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。
2.2串口通信简介
串口通信的概念非常简单,串口按位(bit)发送和接收字节。
尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
它很简单并且能够实现远距离通信。
比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。
典型地,串口用于ASCII码字符的传输。
通信使用3根线完成,分别是地线、发送、接收。
由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。
其他线用于握手,但不是必须的。
串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。
对于两个进行通信的端口,这些参数必须匹配。
a.波特率:
这是一个衡量符号传输速率的参数。
指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数,如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为240Bd,比特率为10位*240个/秒=2400bps。
一般调制速率大于波特率,比如曼彻斯特编码)。
通常电话线的波特率为14400,28800和36600。
波特率可以远远大于这些值,但是波特率和距离成反比。
高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。
b.数据位:
这是衡量通信中实际数据位的参数。
当计算机发送一个信息包,实际的数据往往不会是8位的,标准的值是6、7和8位。
如何设置取决于你想传送的信息。
比如,标准的ASCII码是0~127(7位)。
扩展的ASCII码是0~255(8位)。
如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。
每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。
由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。
[1]
c.停止位:
用于表示单个包的最后一位。
典型的值为1,1.5和2位。
由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。
因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。
适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。
d.奇偶校验位:
在串口通信中一种简单的检错方式。
有四种检错方式:
偶、奇、高和低。
当然没有校验位也是可以的。
对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。
例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。
如果是奇校验,校验位为1,这样就有3个逻辑高位。
高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。
这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。
串口通信是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式。
这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。
串口是计算机上一种非常通用的设备通信协议。
大多数计算机(不包括笔记本电脑)包含两个基于RS-232的串口。
串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。
同时,串口通信协议也可以用于获取远程采集设备的数据。
图1程序框图
RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。
可用于许多用途,比如连接鼠标、打印机或者Modem,同时也可以接工业仪器仪表。
用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。
RS-232只限于PC串口和设备间点对点的通信。
3串口相关节点介绍
3.1VISA配置串口
该节点的主要功能是初始化、配置串口,如图1
图2VISA配置串口
VISA资源名称:
指PC的串口名,例:
COMl,COM2等。
波特率:
串口速率,默认为9600bps。
数据比特:
一帧信息中的位数,LabVIEW 中允许5~8位数据,默认为8。
奇偶:
奇偶校验位,可选为无校验、奇校验或偶校验,默认为无校验。
停止位:
一帧信息中的停止位的位数,可选为1位、1.5位或2位。
流控制:
设置传输机制使用的控制类型,可选为None、XON/XOFF软件流控或RTS/CTS硬件流控,默认为None。
根据此节点的特征:
输入数字“0”代表为无校验,输入数字“1”为奇校验,输入数字“2”为偶校验。
对于停止位则输入数字“10”代表选择的停止位为1位,输入数字“15”代表选择停止位为1.5位,输入数字“20”代表选择停止位为2位。
握手控制(流控制)一般设为不使用,即输入数字“0”
3.2设置缓冲区大小
该节点主要用来在初始化阶段设置缓冲区大小
图3设置缓冲区大小
其中屏蔽指明要设置大小的缓冲区。
大小指明I/O缓冲区的大小,以字节为单位。
大小应略大于要传输或接收的数据数量。
如在未指定缓冲区大小的情况下调用该函数,函数可设置缓冲区大小为4096字节。
如未调用该函数,缓冲区大小取决于VISA和操作系统的设置。
3.3visa写入
图4VISA写入
该节点的主要功能:
将把写入缓冲端口输入的数据写入由VISA资源名称端口指定的设备中。
可用于将字符串写入串口的输出缓存,将字符串从串口发送出去。
3.4VISA读取
VISA读取的作用是从VISA资源名称指定的设备或接口中读取指定数量的字节,并使数据返回至读取缓冲区。
如图5
图5VISA读取
4.程序框图设计
根据串口调试助手需要的功能,添加不同的条件结构和不同的节点,以此达到设计功能的完善,程序框图分为以下几个模块。
4.1串口初始化输入模块
图6是串口初始化输入模块的程序框图,其功能是实现对串口的打开、选择以及波特率的选择,除此之外还有对数据位的初始化。
图6串口初始化
该程序框图输入端是由下拉列表节点构成,在下拉列表中预设串口号、波特率、数据位。
再根据设置的串口号或者波特率触发后面的条件结构,对输入进行处理,比如串口选择COM3时,触发条件2并使条件结构输出COM3并输入到VISA配置端口,波特率的设置和选择与此类似。
VISA打开串口由打开串口按钮控制,当按钮按下条件结构执行真