当前位置:首页 > 嵌入式 > 嵌入式硬件

TheChallenge:

  在飞行中测量固定翼飞机推进装置的压力。

TheSolution:

  利用嵌入式张力测量装置、GPIB接口的自定义调理与数字化电路、以及LabVIEW控制的PCMCIA-GPIB板卡,构建一个基于PC的系统。

  "为解决这一问题,我们使用了队列,这是LabVIEW的一个新的特性,您可以利用它在RAM中存储大量的数据,而不必使用占用大量存储空间的数组或字符串操作。为解决第二个问题,我们使用了LabVIEW的另一个特性——多线程。"

  福克斯软件有限公司与传感器开发有限公司,共同开发了一项在飞行中测量飞机推进装置所承受压力的应用。传感器开发有限公司开发了定制的数据采集硬件——该硬件测量螺旋推进装置所承受的压力,并通过GPIB将数据回传至便携式电脑。然后,福克斯软件有限公司利用LabVIEW进行了软件开发——该软件对硬件进行配置,利用一个PCMCIA-GPIB板卡读入和解码GPIB采样点,并使用后续处理,以ASCII或DaDisp兼容的格式导出数据。

硬件设计

  由于该项测试的特殊性,传感器开发有限公司从对来自推进装置上所附着的32个张力测量装置的数据进行量化处理的螺旋电路装配开始,设计并构建了自定义的信号调理和数据采集硬件。由于螺旋系统以“管线”的方式传输通过飞机引擎内部的现有除冰滑环,因此不存在遥感勘测的需求。所以,在许多不同类型的飞机上快速安装该系统将非常方便。来自螺旋电路的数据通过滑环传递至固定电路,该固定电路将这些数据转换为GPIB格式并将其传送至便携式电脑。该便携式电脑运行LabVIEW,并采用PCMCIA-GPIB板卡读入数据流。为使数据传输尽可能有效,LabVIEW程序直接接收来自14-位模数转换器的二进制数值,并在其后将数据转换为工程单位。

  由于这是飞行中测试,因此该团队需要在测试设计中牢记导航安全。我们提供了一个附着于飞行操纵杆的简单的遥控吊件,使得导航员可以对测试序列进行控制。通过该遥控吊件,导航员可以通过视线外的便携式电脑显示器安全地启动和停止测试。该吊件还带有一系列LED以便为导航员指示测试状态以及错误状态。该遥控吊件与一个DAQ板卡-DIO24板卡相接口。

软件设计挑战

  在进行软件设计时,福克斯软件公司面临的最大挑战便是GPIB总线的吞吐速率。总的来看,共有41条通道,每通道的数据采样率为6000S/s。我们还在每次数据扫描之间使用了一个2-字节的间隔符。每个采样点包含2字节的数据,这就意味着我们需要以504kB/s的速率通过GPIB线路读入数据。硬件使用32KB输出缓存,这需要软件以高于20Hz的速率读取硬件。我们发现,将数据以数据流的方式直接导入便携式电脑的硬盘,会导致两个问题:

  ●程序运行过慢

  ●输出缓存溢出,并伴有数据丢失

  对于第一个问题,我们利用了便携式电脑上的192MBRAM——将所有数据存储在RAM中直至测试完成,然后将其写入硬盘。但是,在内存中移动(伴有字符串连接和数组创建等操作)超过30MB的数据(来自一个60秒长的测试)会严重降低程序的运行速度。为了杜绝这一问题,我们采用了队列,这是LabVIEW的一个新特性,您可以利用它在RAM中存储大量的数据,而不必使用占用大量存储空间的数组或字符串操作。

  为解决第二个问题,我们利用LabVIEW的另一个特性——多线程。通过在其自身线程上运行GPIB硬件调用,我们实现了获取高速所有数据而不造成硬件缓存的溢出。数据文件管理是我们面临的另一个挑战。将原始数据字节转换为ASCII或DaDisp格式,要求我们将文件分解为若干个小段。将整个30MB文件读入存储器并进行转换,需要奔腾II266MHzPC运行约五分钟。然而,将该文件分解成若干个小段,其转化时间可以减少至20秒左右。

结果

  系统测试非常成功。LabVIEW的特性对于该项应用提供了极大的帮助。利用多线程和队列,我们快速并有效地从GPIB硬件读入数据。利用NIPC板卡,我们在一台安放于导航员座位后面的便携式电脑上实现该应用。PCMCIA-GPIB与DAQ板卡-DIO24板卡完美协同工作。

  如果您有任何问题,请留言给NI工程师,我们会尽快给您回电!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用

嵌入式开发是一种专门针对特定硬件平台设计和实现软件系统的工程实践,它涵盖了从需求分析、系统设计、编程实现、调试测试直到产品部署及维护的全过程。本文将深入探讨嵌入式开发的主要阶段,分解其流程并阐述每个步骤的关键要点,以便于...

关键字: 嵌入式开发 嵌入式软件
关闭
关闭