描述

计算机及其接口技术的发展和传统测试测量仪器系统暴露出来的不足,使得基于计算机的虚拟仪器设备越来越成为测试测量仪器的主导。虚拟仪器系统以其平台通用性、可扩充、易升级和高度的智能性获得了广泛的工业应用。在PC和工业控制计算机中插入基于PC总线(ISA,PCI)的数采板卡构成硬件系统,编写Windows系统平台的驱动程序和软面板实现软件功能,成为业界的主要解决方案。

但是在野战和恶劣环境下测试任务的实践过程中,我们发现基于PC或工控机的虚拟仪器暴露出很多问题,如:体积大,不便于携行;插卡式结构,接触易松动、不紧固;以机械硬盘为主要存储介质,抗震性能差等等。

以32位嵌入式微处理器和嵌入式操作系统为特征的嵌入式计算平台使计算进入了后PC时代。嵌入式系统的小体积、高可靠能够满足实现野战和恶劣环境下的便携虚拟仪器的需要。基于嵌入式计算平台,设计虚拟仪器系统成为构建测试系统的新思路。

通过构建基于PC104总线嵌入式计算平台,加入仪器卡及其功能程序,我们实现了针对雷达电子装备的多种测试仪器。构建基于嵌入式系统的虚拟仪器需要解决的技术问题集中在系统平台的构建、接口和驱动程序的设计以及软面板设计等方面。

硬件系统组成

硬件系统包括嵌入式主板、仪器功能板、Flash存储介质(DOC或CF卡)、液晶显示屏、触摸屏和信号接口等。如图1所示。其中液晶显示屏、触摸屏实现人机交互,信号接口用于耦合测试信号、嵌入式主板作为控制和计算单元,仪器功能板实现具体仪器的功能。

图1. 系统硬件组成图

图1中部件按叠放的顺序依次为触摸屏、液晶显示屏、PC104主板、示波器卡、万用表卡

功能板卡和嵌入式主板之间通过PC104总线以叠栈的方式实现机械和电气的互连。采用这种方式有如下好处:

1. 电气接触高度紧密。电路板之间通过多排插针深入连接,比ISA和PCI的插槽连接要紧密得多。

2. 机械结构牢固。电路板之间用四个螺柱紧紧相连,使得板卡之间的机械连接非常牢固,不会存在晃动现象。

3. PC104插针的电气特性与ISA完全兼容,PC104 Plus插针的电气特性与PCI完全兼容,使得基于ISA或PCI总线设计的功能板卡可以从电原理上重用,有利于系统改造过程的平稳过渡。

摈弃硬盘而采用DOC或CF卡作为外存储介质也能大大提高系统抗震动和冲击能力。

采用如上所述的硬件系统能为小型、可靠的虚拟仪器系统提供硬件保障,但由此带来的系统存储容量小和资源受限等问题为软件系统的设计带来了困难。必须采用嵌入式操作系统,软件编程必须考虑体积小,效率高。

软件系统设计

我们采用嵌入式linux作为操作系统,在linux平台下编写仪器的驱动程序。利用Tiny X 和GTK+作为图形界面解决方案实现仪器软面板。系统的软件结构如图2所示:

图2. 系统软件件组成图

打开APP精彩内容

点击阅读全文

linux 虚拟仪器,linux平台下编写虚拟仪器系统设计相关推荐

  1. Hough(霍夫变换) 基于Opencv2.4.9 和VS2012平台下编写

    霍夫变换(Hough Transform)是图像处理中的一种特征提取技术,它通过一种投票算法检测具有特定形状的物体.该过程在一个参数空间中通过计算累计结果的局部最大值得到一个符合该特定形状的集合作为霍 ...

  2. g++ linux 编译开栈_Linux下编写C++服务器(配置C++编译调试环境)

    Linux下编写C++服务器(配置C++编译调试环境) 安装好linux虚拟机,确定能上网后,我们可以开始编写C++程序了,但在这之前我们需要下载编译器和调试器 下载gcc 1.在终端输入yum se ...

  3. 运动控制算法c语言,VC平台下机器人虚拟运动控制及3D运动仿真的有效实现方法...

    摘要: 提出了一种在VC(visual C)平台下实现机器人虚拟运动控制及3维运动仿真的有效方法.该方法建立了一个开放性的体系,能够直接移植或嵌入其它C语言算法程序,能导入SolidWorks,Pro ...

  4. 在windows上模拟linux环境,MSYS2——Windows平台下模拟linux环境的搭建-Go语言中文社区...

    最近从MSYS1.0迁移到了MSYS2.0,简单讲,MSYS2.0功能更强大,其环境模拟更加符合linux.虽然本身来自cygwin,但其集成了pacman软件管理工具,很有linux范,并且可以直接 ...

  5. qtdll在linux系统运行,在QT下编写带DLL的程序

    注:我的工作目录是: D:\My Documents\MyProject 一.运行QtCreator 1.新建工程/选择C++ Library  这里设计被调用的DLL 下一步: 然后输入类名:它会生 ...

  6. 虚拟主机的服务器配置在哪,配置Apache服务器下的虚拟主机设置有什么要求?景安...

    什么是apache虚拟主机?apache虚拟主机就是在apache服务器上配置多个虚拟主机,从而把一个服务器提供多站点的服务实现.用通俗的话来说就是对同一个服务器上的不同目录进行访问.那么如何在Apa ...

  7. linux平台实现USB虚拟总线驱动一(原理以及开发流程)

    by fanxiushu 2019-11-07 转载或引用请注明原始作者. 之前的文章阐述过在windows平台下,如何实现USB虚拟总线驱动, 以及如何在windows平台采集真实USB设备的数据, ...

  8. Linux下Apache虚拟主机配置

    说明: Apache版本:httpd-2.2.31 Apache安装目录:/usr/local/apache 目的: 配置Apache虚拟主机 具体操作: 1.修改Apache主配置文件 cp /us ...

  9. 【Linux 内核】Linux 内核特性 ( 组织形式 | 进程调度 | 内核线程 | 多平台虚拟内存管理 | 虚拟文件系统 | 内核模块机制 | 定制系统调用 | 网络模块架构 )

    文章目录 一.Linux 内核特性 1.Linux 内核组织形式 2.Linux 进程调度 3.Linux 内核线程 4.Linux 内核多平台虚拟内存管理 5.Linux 虚拟文件系统 6.Linu ...

最新文章

  1. 微服务是否使SOA变得无关紧要?
  2. 听说你想去大厂看妹子,带你看看字节跳动技术中台后端面试长啥样?
  3. python做动态相册_动感网页相册 python编写简单文件夹内图片浏览工具
  4. ie禁止html复制元素,JavaScript_禁止选中文字兼容IE、Chrome、FF等,复制代码 代码如下: $(el).attr('u - phpStudy...
  5. java数组深拷贝和浅拷贝_java List复制:浅拷贝与深拷贝
  6. nuxt 全局css_解决nuxt 自定义全局方法,全局属性,全局变量的问题
  7. 7.让网站支持http和https的访问方式
  8. 英特尔逆天原型机:在 Android 上跑 Debian
  9. python lambda函数 与 函数式编程
  10. Axure 8.1.0.3388授权码
  11. c2c网上商店管理与推广
  12. 九月十月百度人搜,阿里巴巴,腾讯华为笔试面试八十题(第331-410题)
  13. 线性代数 抽象非齐次方程解的问题
  14. IOS开发百度地图API
  15. h.265/HEVC解码器verilog实现
  16. FontMetrics的相关函数
  17. 怎么能快速的把pdf转换为word格式
  18. 在Docker中安装Home Assistant系统(以群晖系统为例)【Home Assistant入门安装篇1-2】
  19. AR发展简史(未完待续)
  20. uniapp保存图片_uni-app处理图片乱码

热门文章

  1. JMS Java消息服务(Java Message Service)
  2. 最长回文子串 hihocode 1032 hdu 3068
  3. Linux 终端部分重要快捷键
  4. 八种方法防止数据库被下载
  5. List Tuple Dictionary 区别
  6. 脑与神经科学3 脑神经影像上
  7. .Net Core 环境安装
  8. centos7中安装、配置、验证、卸载redis
  9. python 文件 IO 操作
  10. IDEA2017注册码