仪器信息网APP
选仪器、听讲座、看资讯
立即体验
APP内打开
回版面
1
收藏
点赞
拍砖
举报
取消
发布
当前位置:
仪器社区
>
其他仪器
>
其他仪器综合讨论
>
帖子详情
【资料】嵌入式系统的虚拟仪器成测试系统新思路
huanankeyi
2011/05/20
私聊
其他仪器综合讨论
1引言
计算机及其接口技术的发展和传统测试测量仪器系统暴露出来的不足,使得基于计算机的虚拟仪器设备越来越成为测试测量仪器的主导。虚拟仪器系统以其平台通用性、可扩充、易升级和高度的智能性获得了广泛的工业应用。在PC和工业控制计算机中插入基于PC总线(ISA,PCI)的数采板卡构成硬件系统,编写Windows系统平台的驱动程序和软面板实现软件功能,成为业界的主要解决方案。
但是在野战和恶劣环境下测试任务的实践过程中,我们发现基于PC或工控机的虚拟仪器暴露出很多问题,如:体积大,不便于携行;插卡式结构,接触易松动、不紧固;以机械硬盘为主要存储介质,抗震性能差等等。
以32位嵌入式微处理器和嵌入式操作系统为特征的嵌入式计算平台使计算进入了后PC时代。嵌入式系统的小体积、高可靠能够满足实现野战和恶劣环境下的便携虚拟仪器的需要。基于嵌入式计算平台,设计虚拟仪器系统成为构建测试系统的新思路。
通过构建基于PC104总线嵌入式计算平台,加入仪器卡及其功能程序,我们实现了针对雷达电子装备的多种测试仪器。构建基于嵌入式系统的虚拟仪器需要解决的技术问题集中在系统平台的构建、接口和驱动程序的设计以及软面板设计等方面。
2硬件系统组成
硬件系统包括嵌入式主板、仪器功能板、Flash存储介质(DOC或CF卡)、液晶显示屏、触摸屏和信号接口等。如图1所示。其中液晶显示屏、触摸屏实现人机交互,信号接口用于耦合测试信号、嵌入式主板作为控制和计算单元,仪器功能板实现具体仪器的功能。
部件按叠放的顺序依次为触摸屏、液晶显示屏、PC104主板、示波器卡、万用表卡功能板卡和嵌入式主板之间通过PC104总线以叠栈的方式实现机械和电气的互连。采用这种方式有如下好处:
1.电气接触高度紧密。电路板之间通过多排插针深入连接,比ISA和PCI的插槽连接要紧密得多。
2.机械结构牢固。电路板之间用四个螺柱紧紧相连,使得板卡之间的机械连接非常牢固,不会存在晃动现象。
3.PC104插针的电气特性与ISA完全兼容,PC104Plus插针的电气特性与PCI完全兼容,使得基于ISA或PCI总线设计的功能板卡可以从电原理上重用,有利于系统改造过程的平稳过渡。
摈弃硬盘而采用DOC或CF卡作为外存储介质也能大大提高系统抗震动和冲击能力。
采用如上所述的硬件系统能为小型、可靠的虚拟仪器系统提供硬件保障,但由此带来的系统存储容量小和资源受限等问题为软件系统的设计带来了困难。必须采用嵌入式操作系统,软件编程必须考虑体积小,效率高。
3软件系统设计
我们采用嵌入式Linux作为操作系统,在linux平台下编写仪器的驱动程序。利用TinyX和GTK+作为图形界面解决方案实现仪器软面板。
3.1.嵌入式linux系统
采用开源的linux系统,并通过编译选项裁减不需要的功能模块,得到大小为500K左右的内核模块。用busybox取代shell,在系统中加入glibc.o等库构建一个4M的Linux运行系统。关于嵌入式Linux系统的构建文献[1]有详细的介绍和指导。
3.2.linux下的io编程
仪器卡的驱动程序采用端口读写来实现。Linux下对端口的操作方法在usr/include/asm/io.h中。由于端口读写函数是一些inline宏,所以在编写端口读写程序时只需要加入:#include不需要包含任何附加的库文件。另外由于gcc编译器的一个限制,在编写包含端口读写代码的程序时,要么打开编译器优化选项(使用gcc?O1或更高选项),要么在#include之前加上:#defineexternstatic
在读写端口之前,必须首先通过ioperm()函数取得对该端口读写的权限。该函数的使用如下:
ioperm(from,num,turn_on)
如果turn_on=1,则表示要获取从from开始的共num个端口的读写权限。如ioperm(0x300,5,1)就表示获取从端口0x300到0x304共5个端口的读写权。最后一个参数turn_on表示是否获取读写权(turn_on=1表示获取,turn_on=0表示释放)。一般在程序的硬件初始化阶段调用ioperm()函数。
ioperm()函数需要以root身份运行或使用seuid赋予该程序root权限。
端口的读取使用inb(port)和inw(port)函数来完成,其中inb(port)读取8位端口,inw(port)读取16位端口。
对8位和16位端口的写操作分别用函数outb(value,port)和outw(value,port)来完成。其中各函数的第一个参数表示要写的数值,第二个参数表示端口地址。
宏inb_p(),outb_p(),inw_p()和outw_p()的作用与对应的上述四个端口读写函数一样,只是在端口操作后附加一定时间的延时以保证读写可靠。可以通过在#include前加上:#defineREALLY_SLOW_IO获得约4微秒的延时。
3.3.基于TinyX和Gtk+的软面板编程
仪器软面板的设计涉及linux下GUI的选择和编程,考虑到XWindows的成熟性和与桌面系统的一致性,我们选用精简的XWindows系统TinyX作为底层GUI解决方案。使用Gtk+1.2库作为控件集来开发仪器软面板程序。
基于TinyX和Gtk+库的图形界面开发方案使得软面板的开发与桌面环境下基于Gnome的开发比较接近,很多的桌面环境下的linux工具可以直接使用。
Gtk+图形库是GNOME桌面系统的底层基础,它包含比较完整的GUI控件集合(GtkWidgets)。基于面向对象的方法,GTK+用C语言实现了一套对象系统和消息及回调机制,并将整个图形控件集纳于对象框架中,使得控件集的扩充比较方便。
针对虚拟仪器领域的应用需求,可以构建常见的GUI单元的控件集。我们以GtkWidgets的形式开发了示波器,信号源等仪器的面板控件和一些关键的GUI单元控件。这些都有利于用户的二次开发和软件单元的重用。
4结论
基于嵌入式主板和嵌入式软件环境,我们给出一个构造虚拟仪器的通用解决方案。同时,通过构建基于TinyX和Gtk+库的GUI环境,再加上我们自主开发的一系列面板单元控件,我们提供了对虚拟仪器软面板开发的支持。
基于以上的方案,我们开发了集示波器、万用表和微波信号源等仪器功能于一体的雷达故障检测仪。
部队野战环境下的实践表明该系统机械结构牢固、可靠性高,携带使用方便。
分
该帖子已被
版主-chenboyou
加2积分,加2经验;加分理由:是各类仪器发展新动向!
相关话题
1
【资料】选用电阻器时应留意那些指标
2
【求助】请问分析仪器比较大的展会有哪些呢,哪些是国内外的比较知名的?
3
【求助】辛醇(正辛醇)检测方法
4
【分享】音频检漏仪定位原理
5
【资料】示波器基础使用说明和功能
+关注
私聊
莞城.XiShui
第1楼
2011/05/23
编写Windows系统平台的驱动程序和软面板实现软件功能
0
发表回复
近期热榜
仪器信息网“仪友会”招募令
科学仪器品牌联合“仪器心得”征文活动
【生活中的仪器检测】有奖征文
LC-MS实验瓶颈的突破与优化
热门活动
宝藏核磁实验室的得力助手征文活动
【售后专场--招聘会】
猜你喜欢
最新推荐
热门推荐
更多推荐
各位专家 你们好,请教用气相色谱检测毒强时,用什么检测器?又用什么型号的毛细管柱? 谢谢各位专家! E-mail jswlg@163.com
2004/01/16
接着马来酸酐的那个问题,我用的柱子和标准差不多,就是他的是10um,而我用的是5um,这个有影响吗?流动相用的是1000ml水中加0.1ml磷酸,和标准一
2005/01/21
请教有机氟化物(如POF3)会损害气相色谱柱寿命吗?
2006/02/16
刚买来的一根新柱子怎样鉴别它是否是新的?
2004/01/14
FID检测器,检测不到什么类型的物资? TCD呢,两者在应用时该怎么进行选择? 谢谢!
2003/05/18
如何选择仪器的主控制器?
原创
2013/09/02
智慧城市建设标准
原创
2023/05/31
紫外传感器在UV镜透光率检测方面的应用
分享
2018/11/30
电缆故障测试仪使用细节大揭秘,助你事半功倍!
分享
2024/11/05
精确测量动作时间的窍门!继电保护测试仪使用指南
分享
2024/11/05
电缆故障排查技巧大公开:轻松避免故障
分享
2024/11/05
喷涂流水线鉴定
分享
2024/11/05
自己的仪器
分享
2024/11/05
充分准备:继电保护测试仪使用前的必备检查清单
分享
2024/11/04
法国SAINT GOBAIN FURON PFD1-210F控流泵波纹管泵/PFA和PTFE/可输送
分享
2024/11/04
法国SAINT GOBAIN圣戈班8392BV3波纹管泵光导传感器 硅/光导纤维/波纹管泵备件
分享
2024/11/04
【仪器检测】石墨炉原子吸收法测定酱油中的铅
第十七届原创
2024/10/28
又遇气相色谱GC-2014新出问题,求大神们指导解决
已应助
2024/10/28
我的小电驴,为什么打开电源开关后,要过2~3分钟才能得到电?
已应助
2024/11/01
【仪器检测】洗涤剂中磷含量测定方法探究
第十七届原创
2024/11/01
记录的修改是不是必须写名字全称,能用名字的首字母代替吗?
讨论
2024/10/30
原始记录和检测报告的空白单元格是否有必要填“/”
求助
2024/11/01
天美GC7900严重拖尾
求助
2024/10/31
求助!GB23200.121的液质方法
求助
2024/10/30
【求助】关于13X柱峰无法分离的问题
2011/05/20
【系统公告】Vip用户 zyt1986421 在 综合仪器采购版 被禁止发帖 7 天
2011/05/20
【分享】2011中国国际生物技术和仪器设备博览会
2011/05/20
【资料】为什么使用渗漏检测仪?
2011/05/20
【求助】样品定量分析问题,谢谢!!!
2011/05/20
【求助】请教:样品含量测定相关问题!!
2011/05/20
【资料】超声波测厚仪的工作原理和设计方案
2011/05/20
【求助】ICP仪器样品测定发现问题了??
2011/05/20
品牌合作伙伴
岛津
日立科学仪器
珀金埃尔默仪器(上海)有限公司(PerkinElmer)
日本电子株式会社
丹纳赫
安捷伦
赛默飞世尔科技
普析通用
欧波同
天美
天瑞仪器
德国耶拿
海能技术
马尔文帕纳科
磐诺科技
上海仪电科仪
梅特勒托利多
聚光科技
莱伯泰科
盛瀚
多宁生物
丹东百特
科哲
卓立汉光
屹尧科技
华谱科仪
宝德仪器
优莱博
HORIBA
布鲁克核磁
举报帖子
执行举报
点赞用户
好友列表
加载中...
正在为您切换请稍后...