基于LABVIEW的串口通讯设计说明_第1页
基于LABVIEW的串口通讯设计说明_第2页
基于LABVIEW的串口通讯设计说明_第3页
基于LABVIEW的串口通讯设计说明_第4页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、.成绩评定表学生姓名xxx班级学号专业通信工程课程设计题目基于 Labview 的串口通讯设计评语组长签字 :成绩日期2016年7月9日.专业资料 .专业资料 .课程设计任务书学院信息科学与工程专 业通信工程学生姓名班级学号课程设计题目基于 Labview 的串口通讯设计实践教学要求与任务 :1学习 LabVIEW 的虚拟仪器原理 、设计方法和实现技巧 ;2掌握简单 LabVIEW 程序的编程实现 ;3掌握简单通信系统设计和分析方法;4采用 LabVIEW 语言,实现 PC 与 PC 串口通讯 。( 1)通过检索 、查资料、调查研究 、确定方案 、画出组成系统结构方框图 ;( 2)采用 Lab

2、VIEW 实现 PC 与 PC 串口通讯系统 ;( 3)系统调试与改进 ,调整系统参数 ,分析系统运行结果 ;( 4)写出设计总结报告 。工作计划与进度安排 :19周 ( 上 ):学习 LabVIEW 虚拟仪器原理 、设计方法和实现技巧,掌握简单LabVIEW 程序的编程实现 ,掌握简单通信系统设计和分析方法 。19周 (下):采用 LabVIEW 语言,实现 PC 与 PC 串口通讯 ,并对系统进行性能分析。指导教师 :专业负责人 :学院教学副院长 :.专业资料 .2015 年7 月5 日2015 年 7 月5 日2015 年7月 5 日目 录1 目的及基本要求 12 系统方框图与工作原理

3、12.1 系统方框图 12.2 工作原理 23 LabVIEW 基础编程 53.1 任务 1:建立新 VI 程序 53.2 任务 2:在前面板摆放控件63.3 任务 3:框图程序设计 连线 74串口通讯的设计和仿真74.1 总体程序设计 84.2 各功能模块详细设计95 结果及性能分析 115.1 运行结果 115.2 性能分析 11参考文献 12.专业资料 .专业资料 .摘要虚拟仪器是现代计算机技术同仪器技术深层次结合的全新概念仪器,实质是利用计算机显示器的显示功能模拟传统仪器的控制面板 ,以多种形式表达输出测量结果 ,利用计算机强大的软件功能实现信号数据的运算 、分析和处理 ,完成各种测试

4、功能的一种计算机仪器系统 。本文介绍了利用 LabVIEW 语言来实现上 、下位机之间通信的方法 ,并从软、硬件两个方面阐述了设计思想 。从实现 PC 机 PC 机之间的串口通信出发 ,先实现双 PC 机之间的数据发送 、返还和接收 ,进而设计了以 PC 机作为上位机 ,以飞思卡尔 8 位单片机作为下位机的基于 labview 软件的串口通信系统 。经过实验调试 ,系统达到了预期的通信目标 。应用先进的虚拟仪器软件 LABVIEW,大大降低了串口通讯复杂程度 ,减小了软件设计的工作量 ,能够大大降低投资成本 。在实际应用中有巨大的使用价值 。关键词: 虚拟仪器Labview串口通信.专业资料

5、.专业资料 .1 目的及基本要求目的:熟悉 LabVIEW 开发环境 ,掌握基于 LabVIEW 的虚拟仪器原理 、设计方法和实现技巧 ,运用专业课程中的基本理论和实践知识,采用LabVIEW 开发工具 ,实现PC 与 PC 串口通讯设计和仿真 。基本要求 :两台计算机互发字符并自动接收,如一台计算机输入字符串“收到信息请回字符 “abc123 ”,单击 “发送字符 ”命令 ,另一台计算机若收到 ,就输入字符串 “收到,abc123 ”,单击 “发送字符 ”命令 ,信息返回到第一组的计算机 。2 系统方框图与工作原理2 .1 系统方框图543215432198769876图 1串口通信线的制作

6、PC机 APC机B串口线COM1COM1图 2PC 与 PC 串口通信线路.专业资料 .2 .2 工作原理PC 与 PC 串口通信硬件线路:当两台 RS-232 串口设备通信距离较近时( 15m )时,需附加调制解调器 (Modem )。在 RS-232 的应用中 ,很少严格按照 RS-232 标准 。其主要原因是因为许多定义的信号在大多数的应用中并没有用上。 在许多应用中 ,例如 Modem ,只用了9 个信号(两条数据线 、6 条控制线 、一条地线 );在其他一些应用中 ,可能只需要5 个信号(两条数据线 、两条握手线 、一条地线 );还有一些应用 ,可能只需要数据线 ,而不需要握手线,即

7、只需要3 个信号线 。 因为在控制领域,在近距离通信时常采用RS-232,所以这里只对近距离通信的线路连接进行讨论。当通信距离较近时,通信双方不需要Modem ,可以直接连接 ,这种情况下 ,只需使用少数几根信号线 。最简单的情况 ,在通信中根本不需要RS-232C 的控制联络信号,只需三根线 (发送线、接收线、信号地线 )便可实现全双工异步串行通信。在实际使用中常使用串口通信线将两个串口设备连接起来。串口线的制作方法非常简单:准备两个9 针的串口接线端子(因为计算机上的串口为公头,因此连接线为母头),准备 3 根导线 (最好采用3 芯屏蔽线 ),按图所示将导线焊接到接线端子上。当 PC 发送

8、数据 :RS-232 库必须检测 CTS线高后才能发送数据 。当 PC 接收数据 :如果端口打开 ,且输入队列有空接收数据 ,库函数置高 RTS 和DTR。如果输入队列 90满,库函数置低 RTS,但使 DTR 维持高电平 。如果端口队列近乎空了,哭喊数置高 RTS,但使 DRT 维持高电平 。 如果端口关闭 ,库函数置低 RTS 和DTR。XModem 握手:最后讨论的握手叫做 XModem 文件传输协议 。 这个协议在 Modem 通信中非常通用 。尽管它通常使用在 Modem 通信中, XModem 协议能够直接在其他遵循这个协议的设备通信中使用。 在 LabWindows 中,实际的

9、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 函数修改 ,以满足具

10、体需要 。 这些参数的使用方法由接收方发送的字符neg_ack 确定 。这通知发送方其准备接收数据 。它开始尝试发送 ,有一个超时参数start_delay ;当超时的尝试超过max_ties 次数,或者收到接收方发送的 start_of_data ,发送方停止尝试 。如果从发送方收到 start_of_data ,接收方将读取后继信息数据包 。 包中含有包的数目 、包数目的补码作为错误校验 、 packet_size 字节大小的实际数据包 ,和进一步错误检查的求和校验值。在读取数据后 ,接收方会调用wait_delay ,然后想发送方发送响应。如果发送方没有收到响应,它会重新发送数据包,直到

11、收到响应或者超过重发次数的最大值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 、pack

12、et_size 。 这些参数需要通信双方认定,标准的 XModem有一个标准的定义 :然而,可以通过 XModemConfig函数修改 ,以满足具体需要 。 这些参数的使用方法由接收方发送的字符neg_ack 确定 。这通知发送方其准备接收数据 。它开始尝试发送 ,有一个超时参数 start_delay ;当超时的尝试超过 max_ties 次数,或者收到接收方发送的 start_of_data ,发送方停止尝试 。如果从发送方收到 start_of_data ,接收方将读取后继信息数据包 。 包中含有包的数目 、包数目的补码作为错误校验 、 packet_size 字节大小的实际数据包 ,和

13、进一步错误检查的求和校验值 。 在读取数据后 ,接收方会调用 wait_delay ,然后想发送方发送响应 。 如果发送方没有收到响应 ,它会重新发送数据包 ,直到收到响应或者超过重发次数的最大值 max_tries 。 如果一直没有收到响应 ,发送方通知用户传输数据失败 。由于数据必须以 pack_size 个字节按包发送 ,当最后一个数据包发送时 ,如果数据不够放满一个数据包 ,后面会填充 ASCII 码 NULL(0)字节 。这导致接收的数据比原数据多 。在 XModem 情况下一定不要使用 XON/XOFF ,因为 XModem 发送方发出包.专业资料 .的数目很可能增加到XON/OF

14、F 控制字符的值 ,从而导致通信故障 。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 的一种改进 ,在工业中更普遍 。所有

15、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程序 ,

16、选择新建( New )选项中 的VI项,建立一个新 VI 程序 。 串口 VI 介绍如下 。LabVIEW 的串口通讯 VI 位于 Instrument I/O Platte的Serial 中,包括:表 2.专业资料 .3.2任务2 :在前面板摆放控件要求 :根据实验设计在前面板摆放合适的控件并修改其属性图3 所需控件及功能.专业资料 .图 4修改各控件属性3.3 任务 3 :框图程序设计 连线要求:使用连线工具 ,将所有函数连接起来 ,如图(5)所示 。图 5程序数据流图4 串口通讯的设计和仿真每一个异步串行系统的核心都是一个 UART(通用异步接收机 / 发送机)。 UART 不仅控制传输

17、的数据 ,相应的电平 ,同时也控制通讯的速度 。UART 能够存储足够的信息,所以保证了在电脑忙得时候 ,数据流也能连续传输 。这对于同时处理大量任务的操作系统非常有帮助 。下面附图是理想串行通讯的示意 。我们大部分的串行卡都有一个输入输出的 FIFO(查看目录了解详细信息 )。 FIFO 的数据可以通过串行驱动获取 。.专业资料 .串行驱动会自动地把FIFO 的数据传输到软件的缓存,这个缓存是可以在应用软件由用户配置的 (比如,在 LabVIEW 您可以使用 Serial Port Init VI来设置缓存去大小 )。读接口的数据实际上包含从软件缓存读的过程。4.1 总体程序设计(1)主程序

18、前面板图 6主程序前面板(2)主程序.专业资料 .图7主程序4 .2 各功能模块详细设计(1)在 LabVIEW 环境中使用串口与在其它开发环境中开发过程类似,基本的流程框图如下 。图 8 串口操作数据流图( 2)首先需要调用 VISA Configure Serial Port 完成串口参数的设置 ,包括串口资源分配、波特率、数据位、停止位、校验位和流控等等 。图 9初始化串口.专业资料 .( 3)如果初始化没有问题 ,就可以使用这个串口进行数据收发 。 发送数据使用 VISA Write ,接收数据使用 VISA Read。 在接收数据之前需要使用 VISA Bytes at Serial Port 查询当前串口接收缓冲区中的数据字节数 ,如果 VISA Read 要读取的字节数大于缓冲区中的数据字节数 ,VISA Read 操作将一直等待 ,直至 Timeout 或者缓冲区中的数据字节数达到要求的字节数 。 当然也可以分批读取接收缓冲区或者只从中读取一定字节的数据 。图 10 从串口发送数据图 11 从串口接收数据( 4 )在某些特殊情况下,需要设置串口接收/ 发送缓冲区的大小,此时可以使用VISA Set I/O Buffer Size ;而使用 VISA F

温馨提示

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

评论

0/150

提交评论