开题报告舵机通讯测试软件研制.docx
- 文档编号:7632317
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:15
- 大小:333.50KB
开题报告舵机通讯测试软件研制.docx
《开题报告舵机通讯测试软件研制.docx》由会员分享,可在线阅读,更多相关《开题报告舵机通讯测试软件研制.docx(15页珍藏版)》请在冰豆网上搜索。
开题报告舵机通讯测试软件研制
毕业设计(论文)开题报告
题目:
舵机通讯测试软件研制
院(系)电气工程及自动化学院
专业测控技术与仪器
学生曹聪
学号1090110108
班号0901101
指导教师刘大同
开题报告日期2013年3月28日
哈尔滨工业大学教务处制
2013年3月
说明
一、开题报告应包括下列主要内容:
1.课题来源及研究的目的和意义;
2.国内外在该方向的研究现状及分析;
3.主要研究内容;
4.研究方案及进度安排,预期达到的目标;
5.为完成课题已具备和所需的条件和经费;
6.预计研究过程中可能遇到的困难和问题,以及解决的措施;
7.主要参考文献。
二、对开题报告的要求
1.开题报告的字数应在3000字以上;
2.阅读的主要参考文献应在10篇以上,其中外文资料应不少于三分之一。
本学科的基础和专业课教材一般不应列为参考资料。
3.参考文献按在开题报告中出现的次序列出;
4.参考文献书写顺序:
序号作者.文章名.学术刊物名.年,卷(期):
引用起止页。
三、如学生首次开题报告未通过,需在一周内再进行一次。
四、开题报告由指导教师填写意见、签字后,统一交所在院(系)保存,以备检查。
指导教师评语:
指导教师签字:
检查日期:
目录
1课题来源及研究的目的和意义1
2国内外在该方向的研究现状及分析1
2.1舵机控制和测试接口技术发展现状分析1
2.2串行通讯技术现状分析2
2.2.1RS-485通讯方式2
2.2.2HDLC通讯协议4
2.3Labwindows/CVI开发环境4
3主要研究内容5
3.1主要技术要求5
3.2主要研究内容6
4研究方案及进度安排,预期达到的目标7
4.1研究方案7
4.1.1硬件板卡介绍7
4.1.2PCI驱动开发方案8
4.1.3CVI程序开发方案10
4.2进度安排12
4.3预期达到的目标12
5为完成课题已具备和所需的条件和经费13
6研究过程中可能遇到的困难和问题,解决的措施13
7主要参考文献14
1课题来源及研究的目的和意义
本课题属技术研发类,来源于某实际工程项目。
舵机通讯测试系统,主要是完成对飞行器舵叶控制电机(舵机)的性能测试,功能一个是给出相应舵机动作指令,同时查看舵机是否正确完成动作,另一个功能是对舵机工作时的状态进行监控,给出动态的实时图像,以监测舵机工作的稳定性。
即设计RS-485通讯接口的舵机测试系统软件,实现测试系统与舵机控制系统的数据交互,并完成对舵机的性能测试和功能验证,开发可视化图形显示界面,通过对数据的解析和运算处理,显示出舵机实际运行特征曲线,实际的系统软件开发,将应用于实际的舵机测试系统,具有一定的应用价值。
本课题即利用Labwindows/CVI开发环境完成PC机控制舵机的指令,通过RS85串口通讯完成数据的传输,加深对通讯协议的理解。
通过后续数据处理等全套工作的完成锻炼对工程项目整体的把握,具有重要的科研意义。
通过本课题的设计工作,使学生学习和理解串行通讯的基本概念,了解RS-485通讯接口、HDLC协议等概念和实现方法、串行数据的收发控制及Labwindows/CVI软件开发方法。
本课题的成果将应用于舵机性能的测试与控制,能够极大的锻炼学生软件开发的能力,以及掌握一定的系统软件调试能力。
2国内外在该方向的研究现状及分析
2.1舵机控制和测试接口技术发展现状分析
舵机作为飞行器最基本的输出执行机构广泛应用于各种飞行器的姿态控制中。
舵机控制系统是典型的位置伺服控制系统,其性能的好坏直接影响飞行器飞行过程中的动态品质[1]。
传统的舵机控制系统主要采用模拟控制方法或者单片机、DSP构成的数字控制器。
模拟控制器体积大、重量大,易受干扰,难以调试,检验测试也不直观,制约着电动舵机的综合性能。
而采用单片机、DSP构成的数字控制器,同样也存在着体积较大,控制通道有限,控制周期较长,难以实现对多台电机的控制,因此在体积狭小的空间内同样受到制约。
现代舵机控制系统普遍向小型化、全数字、多通道方向发展,针对实际项目需求,对该类型的舵机控制系统的关键技术进行研究,研制出满足工程应用的超小型、全数字舵机控制系统。
作为飞行器中最主要的执行部件,能否快速、准确地完成对舵机的控制直接关系到飞行器的自主控制效果。
因此,舵控系统成为自主飞行控制系统中最重要的组成部分之一,它的主要功能是接收机载计算机发出的控制指令,实现对控制指令的采集、分析和处理,并根据控制指令向舵机输出连续可调的舵控信号,操纵飞行器上各舵机完成预定动作[2]。
本课题中,由于舵机是被测对象,原来大多都是模拟信号接口,现在转换成为串行通讯控制接口(即485接口),所以,本次实现对于舵机的测试,也采用串行通讯测试的方式。
图2-1串/并行通讯方式
一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。
串行通讯的特点是:
数据位传送,传按位顺序进行,最少只需一根传输线即可完成,成本低但送速度慢。
串行通讯的距离可以从几米到几千米。
根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。
信息只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。
串行通讯又分为异步通讯和同步通讯两种方式。
在单片机中,主要使用异步通讯方式。
串行通信使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。
其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。
而并行通讯是一组数据的各数据位在多条线上同时被传输的传输方式。
并行通信时数据的各个位同时传送,可以字或字节为单位并行进行。
并行通信速度快,但用的通信线多、成本高,故不宜进行远距离通信。
2.2串行通讯技术现状分析
2.2.1RS-485通讯方式
在串行通讯的技术标准中,最被人们熟悉的便是EIA-232、EIA-422和EIA-485,也就是以前所称的RS-232、RS-422和RS-485。
由于EIA提出的建议标准都是以“RS”作为前缀,所以在工业通信领域,仍然习惯将上述标准以RS作前缀称谓。
目前EIA-232是PC机与通信工业中应用最广泛的一种串行接口。
EIA-232被定义为一种在低速率串行通信中增加通信距离的单端标准。
EIA-232采取不平衡传输方式,即所谓单端通信。
标准规定,EIA-232的传送距离要求可达50英尺(约15米),最高速率为20kbps。
图2-2RS-232接口
由于EIA-232存在传输距离有限等不足,于是EIA-422诞生了。
EIA-422标准全称是“平衡电压数字接口电路的电气特性”,它定义了一种平衡通信接口,将传输速率提高到10Mbps,传输距离延长到4000英尺(约1219米),并允许在一条平衡总线上连接最多10个接收器。
当然,EIA-422也有缺陷:
因为其平衡双绞线的长度与传输速率成反比,所以在100kbps速率以内,传输距离才可能达到最大值,也就是说,只有在很短的距离下才能获得最高传输速率。
一般在100米长的双绞线上所能获得的最大传输速率仅为1Mbps。
另外有一点必须指出,在EIA-422通信中,只有一个主设备(Master),其余为从设备(Slave),从设备之间不能进行通信,所以EIA-422支持的是点对多点的双向通信。
为扩展应用范围,EIA于1983年在EIA-422基础上制定了EIA-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。
由于EIA-485是从EIA-422基础上发展而来的,所以EIA-485许多电气规定与EIA-422相仿,如都采用平衡传输方式、都需要在传输线上接终接电阻、最大传输距离约为1219米、最大传输速率为10Mbps等。
但是,EIA-485可以采用二线与四线方式,采用二线制时可实现真正的多点双向通信,而采用四线连接时,与EIA-422一样只能实现点对多点通信,但它比EIA-422有改进,无论四线还是二线连接方式总线上可接多达32个设备。
RS-485(其后均已RS-485代替EIA-485)接口具有高数据传输速率,强抗干扰性,长距离传输和多站能力,能够多点、双向通信,即同一条总线上允许连接多达128个收发器,因此目前在银行、通信、军工等领域得到越来越广泛的使用。
另外,RS485采用差分信号负逻辑,+2V~+6V表示“0”,-6V~-2V表示“1”。
RS485有两线制和四线制两种接线,四线制是全双工通讯方式,两线制是半双工通讯方式。
在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。
很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。
而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大的隐患,这有二个原因:
(1)共模干扰问题:
RS-485接口采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。
但人们往往忽视了收发器有一定的共模电压范围,RS-485收发器共模电压范围为-7~+12V,只有满足上述条件,整个网络才能正常工作。
当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。
(2)EMI问题:
发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。
表2-1两种基本接口的硬件标准及电气特性
类型
传输方式
最多驱动和接收器数量
最高传输速率
最大传输距离
RS-232
非平衡传输
1
20Kbit/s
15m
RS-485
差分平衡
32
10Mbit/s
1200m(100Kbit/s)
2.2.2HDLC通讯协议
HDLC——面向比特的同步协议:
HighLevelDataLinkControl(高级数据链路控制规程)。
HDLC是面向比特的数据链路控制协议的典型代表,该协议不依赖于任何一种字符编码集;数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现;全双工通信,有较高的数据链路传输效率;所有帧采用CRC检验,对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高;传输控制功能与处理功能分离,具有较大灵活性[3]。
HDLC协议是通信领域应用最为广泛的协议之一,具有差错检错功能强、同步传输等特点。
HDLC协议的帧的一般形式如图3,各段的意义如下:
F(帧间隔标志)为01111110;A(地址字段)为通信双方的地址;C(控制字段)为帧的类型,比如数据帧、控制帧;I(信息字段)指高层用户的数据,任意的二进制字符串;FCS(校验码)为对A、C、I字段进行循环冗余校验。
图2-3HDLC协议的帧的一般形式
为保证帧间隔标志的唯一性,在后续的字段中采用“0”比特插入/删除技术,发送时,帧间隔标志之外的所有信息,只要出现连续的5个“1”,则自动插入一个0;同样,接收方在接收数据时,只要遇到连续的5个“1”,则自动将其后的“0”删除掉[4]。
2.3Labwindows/CVI开发环境
本课题选用Labwindovs/CVI开发环境完成上位机控制界面的开发,软件的调试,从而实现单通道自收发、接收数据存储并保存文件的功能。
Labwindows/CVI是NationalInstruments公司(美国国家仪器公司,简称NI公司)推出的交互式C语言开发平台。
Labwindows/CVI将功能强大、使用灵活的C语言平台与用于数据采集分析和显示的测控专业工具有机地结合起来,利用它的集成化开发环境、交互式编程方法、函数面板和丰富的库函数大大增强了C语言的功能,为熟悉C语言的开发设计人员编写检测系统、自动测试环境、数据采集系统、过程监控系统等应用软件提供了一个理想的软件开发环境。
2009年12月——美国国家仪器有限公司(NationalInstruments,简称NI)宣布推出Labwindows/CVI2009,这是最新版本的ANSIC开发环境,用于构建可靠的测试与测量解决方案。
该软件支持包括可连接LabVIEWFPGA的C接口在内的PC新技术,能够实现与基于现场可编程门阵列(FPGA)的硬件、微软Windows7和64位操作系统的连接,以简化开发和部署Labwindows/CVI的应用程序。
工程师和科学家们可以通过使用新的软件执行分析工具包,来分析和优化标有图示的应用源代码运行时的性能,而这些图示会显示运行该应用程序的每个阶段所需的时间,以此可以进一步提高应用程序的可靠性和生产效率。
此外,Labwindows/CVI2009通过运用最新的属性浏览器提高生产效率,方便了自定义用户界面的快速设计和调试性能的改善。
和其他虚拟仪器开发工具相比,Labwindovs/CVI具有如下特点:
(l)基于标准C语言,编程技术主要采用事件驱动方式与回调函数方式,简单易学。
(2)是可视化、交互式的开发工具。
具有人机交互界面编辑器,运用可视化交互技术实现“所见即所得”,使人机界面的实现直观简单。
这种交互式编程技术大大提高了工程设计的效率和可靠性。
(3)具有程序自动生成的能力,可减少软件开发过程中代码编写的工作量。
(4)有大量与外部代码或软件进行连接的机制,如D玩(动态链接库)、DDE(共享库)、ActiveX等。
(5)具有齐全的软件工具包及功能强大的函数库,包含DAQ、RS-232/485等的各种仪器通讯总线标准的所有功能函数,使不懂总线标准的开发者也能驱动不同总线标准的接口设备与仪器。
(6)具有多种灵活的函数调用手段[5]。
3主要研究内容
3.1主要技术要求
(1)RS-485接口技术指标为:
四路独立RS-485接口,支持HDLC/SDLC通讯协议;通讯速率800kbps、1Mbps或2Mbps可设置;具有发送并接收数据的功能;
(2)软件功能指标要求:
实现四路舵机反馈数据的实时图形显示;配置舵机的动作频谱类型:
正弦波、三角波、方波和锯齿波;提供硬件板卡的自检和复位功能;人机界面友好,便于操作;
(3)完成通讯协议设计和开发;
(4)完成PCI驱动开发和及CVI程序开发。
3.2主要研究内容
(1)了解HDLC通讯协议的概念和设计方法,根据任务要求,明确设计内容和相关测试流程;
(2)实现RS-485通讯协议的设计开发,完成数据自收发测试,能够存储通讯接收到的数据并实现数据存文件;
(3)开发上位机控制软面板,按照要求完成对舵机的功能测试;
(4)完成设计开发说明、使用说明、技术说明等文档的编写工作;
(5)对课题工作进行总结,形成研究工作总结和论文。
4研究方案及进度安排,预期达到的目标
4.1研究方案
4.1.1硬件板卡介绍
由于PC机默认的只带有RS232接口,有两种方法可以得到PC上位机的RS485电路:
(1)通过RS232/RS485转换电路将PC机串口RS232信号转换成RS485信号,对于情况比较复杂的工业环境最好是选用防浪涌带隔离栅的产品。
(2)通过设计PCI多功能串口卡,实现输出信号为RS485类型的扩展卡。
因本课题来源于实际工程项目,为便于操作方后期自由利用驱动包完成其他工作,在此选用PCI多功能串口卡,通过我方的设计来实现输出信号为RS485的扩展卡,并对编写的驱动及软件程序进行装包处理,以便后续相关工程的扩展性应用[6]。
图4-1舵机通讯系统组成
综上所述,PCI多功能串口卡内部硬件可由如下几大模块组成:
1)485通讯模块:
完成485信号电平转换
2)FPGA数据处理模块:
完成数据收发控制
3)PCI接口模块:
通过PCI协议芯片9030与上位机进行通信
图4-2PCI多功能卡硬件组成框图
4.1.2PCI驱动开发方案
驱动程序是直接工作在各种硬件设备上的软件,其“驱动”这个名称也十分形象的指明了它的功能。
正是通过驱动程序,各种硬件设备才能正常运行,达到既定的工作效果。
硬件如果缺少了驱动程序的“驱动”,那么本来性能非常强大的硬件就无法根据软件发出的指令进行工作,硬件就是空有一身本领都无从发挥,毫无用武之地。
软件测试中,自底向上,要编写称为测试驱动的模块调用正在测试的模块。
测试驱动模块以和将来真正模块同样的方式挂接,向处于测试的模块发送测试用例数据,接受返回结果,验证结果是否正确。
所以程序都要驱动程序不然像打印机,音响电脑都无法识别。
图4-3驱动结构
在WINDOWS系统下,外设欲与主机进行数据交换,必须有自己的设备驱动程序。
设备驱动程序的编写,也是对设计者要求较高的一部分。
现在比较流行的驱动开发工具有DDK、WinDriver、DriverStudio、Labwindows/CVI等。
ØDDK
许多VMM服务都使用寄存器的调用方式,使用起来不是很方便,没有深厚的汇编语言和硬件基础很难在短时间里开发出设备驱动程序。
于是Microsoft公司提供了设备驱动程序工具箱(DDK),它是基于汇编语言的编程方式。
DDK的优点是可以开发核心态的真正意义上驱动程序,开发出来的驱动程序效率是最高的。
ØWinDriver
WinDriver是一套PCI驱动程序开发包。
它改变了传统驱动程序开发的方法和思路,极大的简化了驱动程序的编制;同时,又没有牺牲驱动程序的性能,是一套高效、快捷的PCI驱动程序开发软件包。
特别适合专业硬件人员的使用。
利用WinDriver开发驱动程序,不需要熟悉操作系统的内核,整个驱动程序中的所有函数都是工作在用户态下的,通过与WinDriver的.Vxd或者.Sys文件交互来达到驱动硬件的目的。
由于是一个用户态程序,效率的高低也就成了人们选择WinDriver时关心的一个问题。
大量实践数据表明,WinDriver并没有通过大量牺牲系统性能来换取驱动程序的快速开发,的确是一个高效的开发工具。
但是使用WinDriver对于理解真正Windows的核心态驱动不太有利。
ØDriverStudio
DriverStudio是一个驱动程序集成开发包,把那些每个驱动程序都需要的代码都封装成类库。
库代码自动地处理例行的操作,这极大地简小了任务的复杂度。
由于WindowsNT和WDM驱动程序接口为面向对象方法的应用提供了良好的条件。
而DriverWorks充分利用操作系统面向对象的优良特性,与微软的DDK相比,它为设计基于WindowsNT和WDM(驱动程序设计模型)的驱动程序提供了更加友好的方式[7]。
使用DriverWorks,设计人员能以更快的速度开发NT和WDM驱动程序。
在大多数情况下,DriverWorks函数库的使用,可以大大减少驱动程序的代码长度。
DriverWizard——DriverWorks的代码向导,与微软的VisualC++紧密的集成。
超过1500行的驱动程序源代码框架只需几次鼠标点击就可完成。
这些代码还包含了详细的注释[8]。
ØLabwindows/CVI
用Labwindows/CVI软件可以开发出仪器的驱动程序。
这主要是因为Labwindows/CVI具有一部分通用的仪器设备驱动库VISA(VirtualInstrumentSoftwareArchitecture,以下简称为“VISA”)。
有了它们,用户可以比较容易地开发出几个系列的总线兼容设备驱动程序。
如RS-232仪器驱动系列、GPIB仪器驱动系列、VXI总线系列驱动程序。
在Labwindows/CVI环境下,通过NI-VISA中的DriverWizard可以生成PCI的驱动程序。
打开DriverWizard,在HardwareBusSelect中选择PXI/PCI,在下一步中设置ManufacturerID和ModelCode,生成对应于PCI多功能板卡的驱动[9]。
Labwindows/CVI中设备的驱动程序是比传统概念中的驱动程序更高一层的概念。
他们免去了编程人员频繁地同I/O端口打交道。
它是放入用户应用程序的一种高层的软件功能。
它不仅完全适用于目前各种标准的仪器设备,而且可对一大批老的仪器设备提供支持。
所有的Labwindows/CVI应用的驱动程序,传递时在可能的情况下都伴有源码,并且很多都有完整的帮助文件。
它们都是在的标准开发环境下开发的,用户可以根据具体情况改造自己的程序,使它们更加强大并对自己的应用程序有更大的弹性。
Labwindows/CVI
由于Labwindows/CVI具有以上的优点,本设计选择Labwindows/CVI作为驱动的开发工具。
在Labwindows/CVI中VISALibrary下,调用相应的函数,即可完成PCI多功能板卡的识别和操作。
VISA的使用方法包括如下几点:
(1)打开VISA资源管理器句柄。
用到的函数为viOpenDefaultRM。
函数的功能是打开与VISA的通信通道。
(2)搜寻并列出仪器系统中仪器的句柄。
用到的函数为viFindRsrc、viFindNext。
函数的功能是寻找系统中的设备,并返回设备的地址。
(3)打开仪器句柄。
用到的函数为viOpen。
函数的功能是打开与设备的通信通道。
(4)设置仪器的状态,控制仪器的操作,读取测量数据等。
用到的函数为viPrintf、viScan等。
函数的功能是对仪器的缓冲区的读和写。
(5)释放所需仪器的句柄。
用到的函数为viClose,其功能为释放仪器资源。
(6)释放VISA资源管理器句柄。
用到的函数为viClose,其功能为释放和VISA的通信通道[10]。
对应代码如下:
viOpenDefaultRM(&RM_Handle);//初始化VISA系统;
viFindRsrc(RM_Handle,"PXI?
*INSTR",&FindHandle,VI_NULL,InsDisp);
//搜索PXI/PCI接口设备;
viOpen(RM_Handle,InsDisp,VI_NULL,VI_NULL,&Ins_Handle);
//打开相应的PCI设备(资源);
viGetAttribute(Ins_Handle,VI_ATTR_MANF_ID,&SUB_VENDORID);
//得到PCI设备的VendorID
viGetAttribute(Ins_Handle,VI_ATTR_MODEL_CODE,SUB_DEVICEID);
//得到PCI设备的DeviceID
4.1.3CVI程序开发方案
根据课题对软件功能的指标要求,需要实现四路舵机反馈数据的实时图形显示;配置舵机的动作频谱类型:
正弦波、三角波、方波和锯齿波;提供硬件板卡的自检和复位功能;人机界面友好,便于操作。
虚拟仪器软面板的开发在Labwindows/CVI提供的CVI环境下完成的。
这种图形开发环境比其它高级语言(C和VC)开发的图形界面不仅容易而且效果更好。
并且这个工具提供了许多信号处理算法的功能模块。
用户可以在应用控制面板上自由组合所需要的信号处理功能。
能够实现数据处理和信号较正确的实时显示的效果[11]。
根据课题要求,涉及面板如下:
表4-1CVI面板设计
面板数量
面板名称
执行功能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 开题 报告 舵机 通讯 测试 软件 研制
![提示](https://static.bdocx.com/images/bang_tan.gif)