多平台设备端可互换引擎研究
发布时间:2017-10-14 11:04
本文关键词:多平台设备端可互换引擎研究
【摘要】:随着电子测量技术的快速发展,测试仪器的种类也日益繁多,但不同厂商开发同类仪器标准不一,使得仪器开发周期较长、仪器界面的可重用性较低。为了减少同类仪器上层界面的开发周期、成本以及提高软件后期修改和维护的便利性,统一各个厂商同类仪器开发的标准,实现仪器底层驱动和硬件的可互换具有重要意义。本文借鉴IVI(可互换虚拟仪器)思想,提取同类仪器的共同属性和功能形成可互换引擎模块。并对可互换引擎接口的设计与实现进行了详细地分析,最后形成不同厂商开发同类仪器的统一标准。本文主要研究内容如下:1.整体架构分层设计。给出了仪器开发的分层结构,分析了上层界面、中间层、底层驱动、硬件层各个层次的功能和作用。详细给出了本文设计重点中间层可互换引擎模块的结构,该结构包括了类驱动和属性引擎模块。采用分层设计思想,提高了各个模块之间的独立性,降低了各个模块之间的耦合性。2.可互换引擎各个模块详细设计与实现。类驱动只完成底层驱动库的加载和类函数的实现,不涉及到对硬件的具体操作,分离了上层界面和底层驱动。属性引擎利用哈希表键值对应的特点来存储属性,提高了查找属性的速度;利用双向循环链表动态存储的特点来存储仪器的物理通道名和通道索引,分析了虚拟通道名和物理通道名的转换方法,给出了获取通道索引的方法;结合回调函数原理,利用回调机制通过同一操作属性的函数实现不同属性回调的功能;利用范围检查机制来实现了属性的范围检查,提高了操作属性的可靠性;利用多线程同步方法互斥锁来保证多线程运行过程中数据的安全性;通过错误处理方法checkErr宏来判断函数返回值是否发生异常,提升了程序运行的安全性。3.跨平台设计与实现。结合条件编译的原理,利用Windows平台下的内置宏_WIN32和Linux平台下的内置宏linux来区分不同平台的编译和应用,分析了不同平台对于动态链接库的加载和释放,给出了某些函数因平台不同的实现。最后,利用Windows编译环境的工具链和Linux下的GCC命令生成属性引擎库和类驱动库。经过测试,对于同一厂商开发的同类仪器来说,本文设计的可互换引擎可在界面程序不作大幅度修改的情况下实现底层驱动和硬件的可互换。
【关键词】:分层架构 类驱动 属性引擎 跨平台 可互换
【学位授予单位】:电子科技大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TH703
【目录】:
- 摘要5-6
- ABSTRACT6-10
- 第一章 绪论10-15
- 1.1 课题研究背景意义10-12
- 1.2 国内外研究状况12-13
- 1.3 本文的主要内容与结构安排13-15
- 第二章 软件需求分析及总体方案设计15-23
- 2.1 可互换引擎与IVI的联系与区别15
- 2.2 分层架构设计15-16
- 2.3 设备端可互换引擎的需求分析16-21
- 2.3.1 属性引擎模块设计分析17-19
- 2.3.2 类驱动模块设计分析19-21
- 2.4 软件总体方案设计21-22
- 2.5 本章小结22-23
- 第三章 设备端可互换引擎的设计23-45
- 3.1 可互换引擎的功能23-25
- 3.2 属性引擎模块设计25-39
- 3.2.1 属性分类25
- 3.2.2 属性的数据结构25-27
- 3.2.3 属性的标记27
- 3.2.4 属性接.设计27-39
- 3.3 类驱动模块设计39-44
- 3.3.1 接.设计40-43
- 3.3.2 数据结构设计43-44
- 3.4 本章小结44-45
- 第四章 设备端可互换引擎的实现45-72
- 4.1 开发方案的选择45
- 4.1.1 开发环境45
- 4.1.2 模块化开发方法45
- 4.2 属性引擎模块实现45-63
- 4.2.1 属性的定义45-47
- 4.2.2 属性的性质47-48
- 4.2.3 属性接.的实现48-63
- 4.3 类驱动模块实现63-70
- 4.3.1 动态链接库的调用63-64
- 4.3.2 类初始化64-66
- 4.3.3 类接.实现66-70
- 4.4 可互换引擎的封装70
- 4.5 跨平台的设计与实现70-71
- 4.6 本章小结71-72
- 第五章 软件测试与验证72-90
- 5.1 设备端可互换引擎接.测试与验证72-84
- 5.1.1 属性引擎功能测试72-78
- 5.1.2 多线程安全测试78-79
- 5.1.3 类驱动接.测试79-81
- 5.1.4 程序内存检测81-83
- 5.1.5 程序可扩展性83-84
- 5.2 可互换性测试84-85
- 5.3 跨平台测试85-86
- 5.4 整机测试86-89
- 5.5 本章小结89-90
- 第六章 总结和展望90-92
- 致谢92-93
- 参考文献93-95
- 攻硕期间的研究成果95-96
【共引文献】
中国期刊全文数据库 前3条
1 李庆伟;;论软件开发中需求分析的优化措施[J];电子制作;2013年15期
2 苏晓伟;;基于C/S的项目信息管理系统设计与实现[J];电脑知识与技术;2015年13期
3 李宥谋;赵梦屹;王萌;;基于IVI引擎技术的虚拟仪器互换管理系统[J];西安邮电大学学报;2015年02期
,本文编号:1030667
本文链接:https://www.wllwen.com/kejilunwen/yiqiyibiao/1030667.html