成绩评定表学生姓名**班级学号1203专业通信工程课程设计题目基于Labview的串口通讯设计评语组长签字:成绩日期2015年7月13日课程设计任务书学院信息科学与工程专业通信工程学生姓名**班级学号1203课程设计题目基于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目的及基本要求········································································12系统方框图与工作原理·······························································12.1系统方框图·························································································12.2工作原理····························································································23LabVIEW基础编程····································································43.1任务1:建立新VI程序········································································53.2任务2:在前面板摆放控件····································································53.3任务3:框图程序设计——连线······························································64串口通讯的设计和仿真·······························································74.1总体程序设计·····················································································74.2各功能模块详细设计············································································85结果及性能分析·······································································115.1运行结果···························································································115.2性能分析···························································································11参考文献···················································································12摘要虚拟仪器是现代计算机技术同仪器技术深层次结合的全新概念仪器,实质是利用计算机显示器的显示功能模拟传统仪器的控制面板,以多种形式表达输出测量结果,利用计算机强大的软件功能实现信号数据的运算、分析和处理,完成各种测试功能的一种计算机仪器系统。本文介绍了利用LabVIEW语言来实现上、下位机之间通信的方法,并从软、硬件两个方面阐述了设计思想。从实现PC机PC机之间的串口通信出发,先实现双PC机之间的数据发送、返还和接收,进而设计了以PC机作为上位机,以飞思卡尔8位单片机作为下位机的基于labview软件的串口通信系统。经过实验调试,系统达到了预期的通信目标。应用先进的虚拟仪器软件LABVIEW,大大降低了串口通讯复杂程度,减小了软件设计的工作量,能够大大降低投资成本。在实际应用中有巨大的使用价值。关键词:虚拟仪器Labview串口通信1123456789123456789COM1串口线PC机APC机BCOM11目的及基本要求目的:熟悉LabVIEW开发环境,掌握基于LabVIEW的虚拟仪器原理、设计方法和实现技巧,运用专业课程中的基本理论和实践知识,采用LabVIEW开发工具,实现PC与PC串口通讯设计和仿真。基本要求:两台计算机互发字符并自动接收,如一台计算机输入字符串“收到信息请回字符“abc123”,单击“发送字符”命令,另一台计算机若收到,就输入字符串“收到,abc123”,单击“发送字符”命令,信息返回到第一组的计算机。2系统方框图与工作原理2.1系统方框图图1串口通信线的制作图2PC与PC串口通信线路22.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函数修改,以满足具体需要。这些3参数的使用方法由接收方发送的字符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串口的基本区别是什么?解答:下面的表格比较了:工作方式,驱动器和接收器的总数,电缆的最大长度4及最大传输速率。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以及