基于LABVIEW的串口通讯设计沈阳理工大学课设.docx
- 文档编号:896610
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:10
- 大小:50.85KB
基于LABVIEW的串口通讯设计沈阳理工大学课设.docx
《基于LABVIEW的串口通讯设计沈阳理工大学课设.docx》由会员分享,可在线阅读,更多相关《基于LABVIEW的串口通讯设计沈阳理工大学课设.docx(10页珍藏版)》请在冰豆网上搜索。
基于LABVIEW的串口通讯设计沈阳理工大学课设
成绩评定表
学生
xxx
班级学号
专业
通信工程
课程设计题目
基于Labview的串口通讯设计
评
语
组长签字:
成绩
日期
2016年7月9日
课程设计任务书
学院
信息科学与工程
专业
通信工程
学生
班级学号
课程设计题目
基于Labview的串口通讯设计
实践教学要求与任务:
1.学习LabVIEW的虚拟仪器原理、设计方法和实现技巧;
2.掌握简单LabVIEW程序的编程实现;
3.掌握简单通信系统设计和分析方法;
4.采用LabVIEW语言,实现PC与PC串口通讯。
(1)通过检索、查资料、调查研究、确定方案、画出组成系统结构方框图;
(2)采用LabVIEW实现PC与PC串口通讯系统;
(3)系统调试与改进,调整系统参数,分析系统运行结果;
(4)写出设计总结报告。
工作计划与进度安排:
19周(上):
学习LabVIEW虚拟仪器原理、设计方法和实现技巧,掌握简单LabVIEW程序的编程实现,掌握简单通信系统设计和分析方法。
19周(下):
采用LabVIEW语言,实现PC与PC串口通讯,并对系统进行性能分析。
指导教师:
2015年7月5日
专业负责人:
2015年7月5日
学院教学副院长:
2015年7月5日
1目的及基本要求1
2系统方框图与工作原理1
2.1系统方框图1
2.2工作原理2
3LabVIEW基础编程4
3.1任务1:
建立新VI程序4
3.2任务2:
在前面板摆放控件5
3.3任务3:
框图程序设计——连线6
4串口通讯的设计和仿真6
4.1总体程序设计7
4.2各功能模块详细设计8
5结果及性能分析10
5.1运行结果10
5.2性能分析10
参考文献11
摘要
虚拟仪器是现代计算机技术同仪器技术深层次结合的全新概念仪器,实质是利用计算机显示器的显示功能模拟传统仪器的控制面板,以多种形式表达输出测量结果,利用计算机强大的软件功能实现信号数据的运算、分析和处理,完成各种测试功能的一种计算机仪器系统。
本文介绍了利用LabVIEW语言来实现上、下位机之间通信的方法,并从软、硬件两个方面阐述了设计思想。
从实现PC机PC机之间的串口通信出发,先实现双PC机之间的数据发送、返还和接收,进而设计了以PC机作为上位机,以飞思卡尔8位单片机作为下位机的基于labview软件的串口通信系统。
经过实验调试,系统达到了预期的通信目标。
应用先进的虚拟仪器软件LABVIEW,大大降低了串口通讯复杂程度,减小了软件设计的工作量,能够大大降低投资成本。
在实际应用中有巨大的使用价值。
关键词:
虚拟仪器Labview 串口通信
1目的及基本要求
目的:
熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器原理、设计方法和实现技巧,运用专业课程中的基本理论和实践知识,采用LabVIEW开发工具,实现PC与PC串口通讯设计和仿真。
基本要求:
两台计算机互发字符并自动接收,如一台计算机输入字符串“收到信息请回字符“abc123”,单击“发送字符”命令,另一台计算机若收到,就输入字符串“收到,abc123”,单击“发送字符”命令,信息返回到第一组的计算机。
2系统方框图与工作原理
2.1系统方框图
图1串口通信线的制作
图2PC与PC串口通信线路
2.2工作原理
PC与PC串口通信硬件线路:
当两台RS-232串口设备通信距离较近时(<15m),可以用电缆线直接将两台设备的RS-232端口连接;若通信距离较远(>15m)时,需附加调制解调器(Modem)。
在RS-232的应用中,很少严格按照RS-232标准。
其主要原因是因为许多定义的信号在大多数的应用中并没有用上。
在许多应用中,例如Modem,只用了9个信号(两条数据线、6条控制线、一条地线);在其他一些应用中,可能只需要5个信号(两条数据线、两条握手线、一条地线);还有一些应用,可能只需要数据线,而不需要握手线,即只需要3个信号线。
因为在控制领域,在近距离通信时常采用RS-232,所以这里只对近距离通信的线路连接进行讨论。
当通信距离较近时,通信双方不需要Modem,可以直接连接,这种情况下,只需使用少数几根信号线。
最简单的情况,在通信中根本不需要RS-232C的控制联络信号,只需三根线(发送线、接收线、信号地线)便可实现全双工异步串行通信。
在实际使用中常使用串口通信线将两个串口设备连接起来。
串口线的制作方法非常简单:
准备两个9针的串口接线端子(因为计算机上的串口为公头,因此连接线为母头),准备3根导线(最好采用3芯屏蔽线),按图所示将导线焊接到接线端子上。
当PC发送数据:
RS-232库必须检测CTS线高后才能发送数据。
当PC接收数据:
如果端口打开,且输入队列有空接收数据,库函数置高RTS和DTR。
如果输入队列90%满,库函数置低RTS,但使DTR维持高电平。
如果端口队列近乎空了,哭喊数置高RTS,但使DRT维持高电平。
如果端口关闭,库函数置低RTS和DTR。
XModem握手:
最后讨论的握手叫做XModem文件传输协议。
这个协议在Modem通信中非常通用。
尽管它通常使用在Modem通信中,XModem协议能够直接在其他遵循这个协议的设备通信中使用。
在LabWindows中,实际的XModem应用对用户隐藏了。
只要PC和其他设备使用XModem协议,在文件传输中就使用LabWindows的XModem函数。
函数是XModemConfig,XModemSend和XModemReceive。
XModem使用介于如下参数的协议:
start_of_data、end_of_data、neg_ack、wait_delay、start_delay、max_tries、packet_size。
这些参数需要通信双方认定,标准的XModem有一个标准的定义:
然而,可以通过XModemConfig函数修改,以满足具体需要。
这些参数的使用方法由接收方发送的字符neg_ack确定。
这通知发送方其准备接收数据。
它开始尝试发送,有一个超时参数start_delay;当超时的尝试超过max_ties次数,或者收到接收方发送的start_of_data,发送方停止尝试。
如果从发送方收到start_of_data,接收方将读取后继信息数据包。
包中含有包的数目、包数目的补码作为错误校验、packet_size字节大小的实际数据包,和进一步错误检查的求和校验值。
在读取数据后,接收方会调用wait_delay,然后想发送方发送响应。
如果发送方没有收到响应,它会重新发送数据包,直到收到响应或者超过重发次数的最大值max_tries。
由于数据必须以pack_size个字节按包发送,当最后一个数据包发送时,如果数据不够放满一个数据包,后面会填充ASCII码NULL(0)字节。
这导致接收的数据比原数据多。
在XModem情况下一定不要使用XON/XOFF,因为XModem发送方发出包的数目很可能增加到XON/OFF控制字符的值,从而导致通信故障。
XModem使用介于如下参数的协议:
start_of_data、end_of_data、neg_ack、wait_delay、start_delay、max_tries、packet_size。
这些参数需要通信双方认定,标准的XModem有一个标准的定义:
然而,可以通过XModemConfig函数修改,以满足具体需要。
这些参数的使用方法由接收方发送的字符neg_ack确定。
这通知发送方其准备接收数据。
它开始尝试发送,有一个超时参数start_delay;当超时的尝试超过max_ties次数,或者收到接收方发送的start_of_data,发送方停止尝试。
如果从发送方收到start_of_data,接收方将读取后继信息数据包。
包中含有包的数目、包数目的补码作为错误校验、packet_size字节大小的实际数据包,和进一步错误检查的求和校验值。
在读取数据后,接收方会调用wait_delay,然后想发送方发送响应。
如果发送方没有收到响应,它会重新发送数据包,直到收到响应或者超过重发次数的最大值max_tries。
如果一直没有收到响应,发送方通知用户传输数据失败。
由于数据必须以pack_size个字节按包发送,当最后一个数据包发送时,如果数据不够放满一个数据包,后面会填充ASCII码NULL(0)字节。
这导致接收的数据比原数据多。
在XModem情况下一定不要使用XON/XOFF,因为XModem发送方发出包的数目很可能增加到XON/OFF控制字符的值,从而导致通信故障。
RS-232,RS-422和RS-485串口通讯接口的快速比较
(1)RS-232,RS-422以及RS-485串口的基本区别是什么?
解答:
下面的表格比较了:
工作方式,驱动器和接收器的总数,电缆的最大长度及最大传输速率。
RS-232是大多数计算机通用的接口,比如COM1和COM2。
注意,大多数计算机的接口COM1以及COM2并不是RS-422/RS-485。
然而,RS-422是苹果Macintosh计算机的标准接口。
RS-485是基于RS-422的一种改进,在工业中更普遍。
所有NI的RS-485板卡都支持RS-422标准。
下面的表格比较了:
工作方式,驱动器和接收器的总数,电缆的最大长度及最大传输速率。
RS-232是大多数计算机通用的接口,比如COM1和COM2。
注意,大多数计算机的接口COM1以及COM2并不是RS-422/RS-485。
然而,RS-422是苹果Macintosh计算机的标准接口。
RS-485是基于RS-422的一种改进,在工业中更普遍。
所有NI的RS-485板卡支持的标准如下表:
表1
3LabVIEW基础编程
3.1任务1:
建立新VI程序
要求:
启动NILabVIEW程序,选择新建(New)选项中的VI项,建立一个新VI程序。
串口VI介绍如下。
LabVIEW的串口通讯VI位于InstrumentI/OPlatte的Serial中,包括:
表2
3.2任务2:
在前面板摆放控件
要求:
根据实验设计在前面板摆放合适的控件并修改其属性
图3所需控件及功能
图4修改各控件属性
3.3任务3:
框图程序设计——连线
要求:
使用连线工具,将所有函数连接起来,如图(5)所示。
图5程序数据流图
4串口通讯的设计和仿真
每一个异步串行系统的核心都是一个UART(通用异步接收机/发送机)。
UART不仅控制传输的数据,相应的电平,同时也控制通讯的速度。
UART能够存储足够的信息,所以保证了在电脑忙得时候,数据流也能连续传输。
这对于同时处理大量任务的操作系统非常有帮助。
下面附图是理想串行通讯的示意。
我们大部分的串行卡都有一个输入输出的FIFO(查看目录了解详细信息)。
FIFO的数据可以通过串行驱动获取。
串行驱动会自动地把FIFO的数据传输到软件的缓存,这个缓存是可以在应用软件由用户配置的(比如,在LabVIEW您可以使用SerialPortInitVI来设置缓存去大小)。
读接口的数据实际上包含从软件缓存读的过程。
4.1总体程序设计
(1)主程序前面板
图6主程序前面板
(2)主程序
图7主程序
4.2各功能模块详细设计
(1)在LabVIEW环境中使用串口与在其它开发环境中开发
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 LABVIEW 串口 通讯 设计 沈阳 理工大学
![提示](https://static.bdocx.com/images/bang_tan.gif)