实时应用软件

2024-05-22

实时应用软件(精选十篇)

实时应用软件 篇1

某工程中, 一套基于UNIX操作系统平台上的多进程、多线程大型实时应用软件系统, 运行在中心计算机上, 承担复杂的实时处理任务, 其功能任务包括: 实时接收、加工通过通信服务器传来的外线数据( 相对于本系统而言的外部设备或系统传来的数据); 实时完成数据处理, 解算出用户所需要的结果数据; 实时与其它系统完成信息交换任务, 等等。该软件系统往往是一个规模庞大的实时控制和处理系统, 具有数据处理量大、接口及控制关系复杂等特点, 要求必须满足强实时性、高可靠性等性能指标, 为此在软件系统设计时要充分考虑功能的可行性和系统的可靠性, 并采取一些必要技术手段来保证系统在数据处理任务中一次性成功并圆满完成任务[1]。本文在某实时应用软件系统结构及其功能任务的基础上, 对保证强实时性、高可靠性指标常用的部分关键技术进行了研究, 为研发实时应用软件系统提供了技术保障手段。

2 实时应用软件结构

某实时应用软件系统是一个多进程、多线程实时应用系统。设计多进程、多线程的好处是: 能够有效使用多处理机资源, 提高应用程序的并行响应能力, 并有利于改进程序的结构。进程、线程的划分是根据功能需求、逻辑独立、实时性、可靠性、灵活性等原则进行的。实际工程中, 本实时应用软件设计了人机通信、作业管理、外信号控制、实时数据处理等进程。其中:

人机通信进程提供人机交互通信功能。在操控终端上实现一个图型化的操作界面, 使操作员能安全、快捷地完成整个数据处理过程中系统装订参数的输入、各种作业的操作; 对系统工作的重要时间、状态等信息进行显示, 为操作员操作和了解系统运行情况提供必要监视信息。

作业管理进程用于创建、组织和管理作业, 起核心控制作用。作业是数据处理任务中的若干个独立执行过程。常用的作业包括: 固定码检查作业( 用于信道检查)、综合检查作业( 用于全系统检查)、实时数据处理作业( 用于实时数据处理任务) 等。每个作业都有启动、执行、结束等作业步, 由操作员通过人机界面选择执行。本进程还对人机交互信息进行合理性检验, 以提高人机交互信息的可靠性。

外信号控制进程通过异步访问专用的多功能控制卡, 获取系统控制台提供的时统信号、实时中断控制信号、双工控制信号和应急按键信号, 以保障整个系统实时、有序执行。

实时数据处理进程是系统的核心进程, 用以完成外线输入数据采集与加工、外线输出数据加工与发送、实时数据处理、显示信息加工与发送等任务, 对应这几个任务设计外线数据采集、实时数据处理、输出数据发送、显示信息发送等四个线程, 协作完成整个实时数据处理任务。

3 关键技术

从实时性和可靠性两指标方面对常用的部分关键技术进行探讨。

3.1 实时性设计

实时应用软件系统的核心指标是其强实时性。所谓强实时性, 是指在一个规定的时间周期内必须完成预定的功能任务,必须为应用的正确运行及时响应各种事件,否则就会引起数据非法、数据丢失、甚至严重影响功能任务的完成。本文中涉及的某实时数据处理任务中, 要求该实时应用系统必须在几十个毫秒的时间周期内完成外线数据的接收和处理等工作任务。

3.1.1 实时操作系统

为了使实时应用软件系统的强实时性、高可靠性得到有效保证, 首要基础是中心计算机上安装的操作系统必须是实时操作系统, 实际工程中采用了UNIX实时操作系统。实时操作系统需提供一系列的实时特性来满足实时用户的需求:

1) 标准POSIX接口:UNIX实时操作系统支持POSIX 1003.1c线程标准, 为设计和创建多进程、多线程实时应用程序提供保障; 遵循POSIX 1003.1b实时扩充程序设计接口标准, 提供诸如多线程和进程间通信、优先级调度、存储管理、异步I/O操作、文件同步和实时信号的中断控制等功能。

2) 抢占式内核: 保证具备运行条件的高优先级实时进程/ 线程能够立即抢占被低优先级进程/ 线程使用的处理机资源, 从而提高任务的实时响应能力。

3) 实时调度策略: 控制实时进程对系统资源的使用。

3.1.2 线程运行周期设置

每个线程都有自己的运行周期, 它需要根据线程承担的实际任务要求来合理设置以达到完成相应处理任务的目的。假定任务要求: 实时数据处理周期为20 毫秒,与外线设备间的信息交换频率为50 赫兹, 数据显示的频率为1 赫兹, 则线程的运行周期设置如下: 外线数据采集、输出数据发送、实时数据处理这三个线程为20毫秒, 显示信息发送线程为1 秒。

3.1.3 优先级设置

进程和线程的优先级是用户根据进程和线程所承担任务的性质、重要性和运行周期而划定的,POSIX将实时进程的优先级范围设定在最高范围(32 ~ 63)。实际工程中, 各进程和线程优先级的相对次序设置为: 人机通信进程作为交互进程, 使用缺省的初始优先级即可; 外信号控制进程因获取异步事件控制系统运行, 所以设置其优先级为最高; 以下依次为: 作业管理进程、实时数据处理进程。在实时数据处理进程中, 为了提高I/O效率, 将外线数据采集、输出数据发送线程设置最高, 实时数据处理线程次之, 显示信息发送线程最低。

3.1.4 处理机调度策略

调度策略与进程优先级有直接关系。UNIX实时操作系统支持分时编程接口和实时编程接口, 分别提供分时调度策略和实时调度策略。实时调度策略通常为固定优先级调度策略, 又分为先进先出调度策略和循环轮转调度策略, 两者唯一区别在于是否设置时间片。实际工程中, 根据进程的实时性指标, 人机通信和作业管理两个进程采用分时调度策略, 其它三个实时进程采用先进先出调度策略。这样既满足了实时和非实时进程的调度要求, 又尽量提高了CPU的工作效率。

3.1.5 进程间通信[2,3]

多进程多线程实时应用软件体系结构中, 高效的进程/ 线程间通信机制是保证强实时性指标的关键。POSIX进程间通信(IPC) 方式通常包括: 信号、消息队列、共享存储器等三种。

1) 信号。利用信号异步传递机制可立即将某些事件通知给其它进程, 并在发送信号时包含一些信号附加信息。如果进程间共享的信息" 短小精悍、容易表达( 比如一个整型值)", 而且信息交换频率比较高, 那么利用信号这种特性就能很好完成。例如, 外信号控制进程将获取并加工好的20 毫秒时统信息作为信号的附加信息,通过信号快速传递给实时数据处理进程, 就能实现这两个进程间共享时统信息的目的。

2) 消息队列。消息队列提供了异步通信协议, 消息机制使得协作进程间通过访问消息队列来实现大量随机数据的传递。和信号相比, 消息队列能传递更大的信息。如果信息较多且不易作为信号附加信息发送就可用消息队列。例如, 作业管理和人机通信进程间传递的信息主要是操作命令和操作决策性信息, 这些信息采用消息队列传送比较合适。

3) 共享存储器。对多进程、多线程共同使用的数据,通过建立内存共享区, 可高效地实现对内存资源的共享使用。当多个进程映射同一个共享存储器对象时, 如果某进程向共享区写完数据时, 该数据会立即被存入进程的共享区域, 此时共享该存储区的所有进程都可读到该数据。因为没有额外的与系统调用相关的开销, 所以从操作系统所能实现的所有IPC方法中, 共享存储器是速度最快的。根据实际需要, 本系统设计两个内存共享区:进程共享区和线程共享区, 分别供进程以及进程中的线程使用。

a.进程共享区:本应用系统设计了两段进程共享区。其中, 作业管理与人机通信两个进程共享一段内存区,作业管理进程、数据处理进程以及外信号控制进程共享另一段内存区, 两段共享区各自存放不同进程间需要共享的数据。进程共享区通常和信号一起使用, 即当完成共享数据的写入后, 通过信号通知其它进程从进程共享区中读取相关数据。

b. 线程共享区: 线程共享区实际上就是在进程中开设的全局共享数据, 该进程中的多个线程通过对全局共享数据的访问达到信息交换的目的。比如, 实时数据处理进程中的内存共享区, 包括各类外线设备数据、处理结果数据、显示数据等全局数据结构。外线数据采集线程将接收的各外线设备数据按照系统内部约定的格式加工后分别存放到相应的外线设备数据结构中, 由实时数据处理线程取出进行实时处理, 并将解算的结果数据存放到处理结果数据结构中, 最终由显示信息发送线程从中取出加工成规定信息格式后发送到其它软件系统中,由输出数据发送线程从中取出发送给外线设备。在整个数据处理过程中,各线程在进程的调度控制下有序执行,协作完成实时处理任务。

4) 同步机制。在IPC的使用过程中, 通常采用同步机制来控制对共享数据的访问, 以防止多个进程或线程对共享区中的同一数据同时进行修改。同步机制是有效保护数据对象安全和读写的正确性、实现临界内存资源共享使用的手段, 它包括信号灯、读写锁、互斥锁、条件变量等。其中, 信号灯是控制各协作进程对进程共享区的访问; 对于线程共享区的访问控制, 则需要在每个共享数据结构中设计读写锁对象, 通过互斥锁和条件变量等来实现严格同步。

另外, 系统运行过程中有时会因某种意外而造成线程因" 死等数据" 而破坏线程的时间同步关系, 从而影响系统的实时性。为了防止" 死等" 情况的发生, 各线程在本周期等待数据时增加超时处理功能, 一旦超时就不再继续等待, 这样设计就不会影响到下个周期的正常处理。

3.2 可靠性设计

可靠性是指系统在规定的条件下、规定的时间内完成规定功能的能力, 而实时应用软件系统的可靠性则是指在数据处理任务期间完成实时数据处理的能力, 它是衡量系统性能高低的重要指标之一。

3.2.1 双工双网冗余设计

设计系统的可靠性时, 当其某一分系统的可靠性无法满足要求时, 则采取冗余结构[4]。实际工程中, 实时应用系统的硬件体系结构设计为" 双工双网" 模式, 关键部位进行冗余设计。即: 硬件系统内部连接各分系统的主干网设计为双网结构, 以提高数据传输的可靠性;中心计算机、通信服务器配备两套相同设备, 采用主、副机双工热备份工作模式。比如, 在数据处理任务中,主机和副机均接收外线数据进行实时数据工作, 但在一个数据处理周期内, 只有主机将其处理结果通过主干网发送给其它分系统, 而副机则不发送。如果主机在任务中出现故障, 则通过人工方式将副机切换为主机, 继续完成数据的处理和结果发送。实践证明," 双工双网"模式设计, 能够大大提高系统的可靠性。

3.2.2 启动时刻三级冗余设计

在强实时性的数据处理任务中, 整个系统启动运行需要一个基准时刻, 该基准时刻称为启动时刻或启动T0。如果没有启动T0, 或者启动T0 处理有误, 实时应用软件将无法正确解算出以启动T0 为基准的所有结果数据, 无法对各种结果数据进行实时显示, 工作人员也就无法掌握实时数据状况,从而导致实时处理任务失控,严重时还有可能带来任务失败的后果。

为了提高启动T0 的可靠性指标, 系统对启动T0 采用了两级冗余设计: 数字T0、启动信号QD。但在实际任务中, 常常因为某些原因导致实时应用软件不能正常收到数字T0 或启动信号QD, 或者虽然收到但因没有通过合理性验证和正确性判断而不能使用。为此, 实时应用软件对启动T0 采用三级冗余设计, 即在原有基础上增加一个" 键补T0"。当操作员听到指挥员下达启动口令时, 在操作界面上同时点击一个" 启动" 按钮, 并取点击按钮时的时统时间作为" 键补T0"。实时应用软件按照从高到低的精度顺序依次从数字T0、启动信号QD、键补T0 中选择一个作为启动时刻。

3.2.3 人机交互与实时作业过程相隔离

系统中, 人机通信进程具有交互性和事件驱动的特点, 而数据处理等实时进程则具有周期性、实时性特点。考虑到可能存在由于人工操作而对实时进程有潜在的干扰从而影响系统正常运行的问题, 软件设计上把这两类进程相隔离, 中间用作业管理进程作为" 桥梁进程" 进行耦合, 并对人机交互信息进行合理性检验, 从而避免误操干扰带来的致命错误。作业管理进程的设立, 不仅能排除误操干扰, 提高人机交互信息的可靠性, 而且减少了实时进程中进行作业控制的工作量, 使程序结构和界面变得更加清晰。

3.2.4 采用数据和时间双驱动方式采集数据

工程中为了提高外线数据传输的可靠性, 实时应用采用双工双网模式下同时接收外线来的同步和IP网数据。外线数据种类多、流量大、采集频率高、时间周期严格, 由此带来了实时数据交换与控制的复杂性。为此,系统采用数据驱动和时间驱动相结合的方式采集数据,接收处理模型采用多线程设计模式: 其中一线程采用数据驱动模式负责数据接收, 另一线程采用时间驱动模式负责调度处理, 既保证了系统周期运行的实时性, 又保证了系统采集数据的可靠性。

3.2.5 容错处理机制

实时应用软件系统程序完全依靠程序员设计、编写,存在错误的可能性极大。虽经过严格测试、评审和验收,层层把关, 但也不可能完全将软件故障或漏洞排除, 仍可能存在一些潜在隐患, 比如软件运行中要进行大量运算, 可能出现" 除数为零"、" 浮点数溢出" 等异常事件。一旦软件出现异常, 若无相应的异常处理模块及时处理这些异常事件, 操作系统会中止整个程序的执行而进行程序的核心转储(Core Dump), 发生异常的进程会完全退出而导致系统瘫痪。为防止特殊条件下软件系统产生异常而导致死机, 在各线程( 或独立进程) 中建立容错处理功能机制, 即利用POSIX线程库的异常包技术建立合理的异常范围捕获各种异常, 一旦捕获到异常就调用异常或错误处理功能模块进行处理, 从而规避异常点而继续运行。

在软件研制阶段使用原始的调试方法查找问题, 将耗费大量的精力和时间, 影响软件的研制周期。即使是解决了暴露的问题, 系统可能还存在着其它没有被触发的隐患。因此, 增加容错处理功能是提高软件系统可靠性和容错性的重要手段。容错处理技术的应用, 保证了软件系统中敏感模块发生异常/ 错误时能够有相应程序来处理, 同时也保证了即使线程由于异常/ 错误无法继续执行时, 也不会使整个系统崩溃[6]。

4 结束语

较大规模的实时应用软件系统要运行稳定可靠, 需要许多关键技术来保障其高性能指标。文章结合一个实际工程应用介绍了进程间通信、容错处理等部分关键技术在系统中的应用。结果证明, 应用上述关键技术研发的实时应用软件系统, 其实时性、可靠性指标能够满足特定数据处理任务的需求。目前, 作为类UNIX的Linux是主流的操作系统, 许多的共性使得在UNIX平台上开发的应用以及所运用的关键技术能够比较容易地移植到Linux平台上。因此本文介绍的关键技术无论是对UNIX还是Linux平台上类似的大型实时应用软件系统的研发都具有一定的参考价值。

摘要:基于UNIX操作系统平台上的多进程、多线程大型实时应用软件系统,往往是一个规模庞大的实时控制和处理系统,承担着复杂的实时数据处理任务,其数据处理量大、接口关系复杂,具有强实时性、高可靠性等特点。叙述了某实时应用软件系统结构及其主要功能任务,提出了在UNIX操作系统下研发实时应用软件系统的一些关键技术,如进程间通信、容错处理机制等,为提高实时应用软件系统的性能指标提供了技术保障手段。应用结果表明,所研发系统的功能和性能指标满足了所承担的实时数据处理任务的需求。

关键词:实时应用软件,实时性,可靠性,进程间通信,同步机制,容错

参考文献

[1]郑宗汉.实时系统软件基础[M].北京:清华大学出版社,2003.

[2]翟丽丽.Digital UNIX实时应用指南[M].大连:大连理工大学出版社,2000.

[3](美)W.Richard Stevens.UNIX网络编程第2卷:进程间通信[M].北京:清华大学出版社,2000.

[4]黄学德.导弹测控系统[M].北京:国防工业出版社,2000.

[5]郭剑,李连登.多网环境中实时测量数据接收处理方法研究[J].国防技术基础,2010,(8):187-189.

实时应用软件 篇2

关键词:计算机软件;嵌入式实时软件;实践应用

在嵌入式技术推出之后便得到了人们的高度关注,原因在于嵌入式实时软件应用到计算机软件中可以对计算机系统的硬件和软件有较强的依赖性,并且能够在系统运行的过程中合理控制硬件和软件,保证计算机系统长时间良好运行[1]。由此,可以确定计算机软件设计中嵌入实时软件的应用是非常适合的,不仅能改善计算机软件的应用效果,还说明了计算机软件良好的应用前景。所以,计算机软件设计中嵌入式实时软件的实践应用是非常有意义的。

1计算机软件设计运用嵌入式实时软件概述

1.1特点

嵌入式实时软件可以运用在计算机软件的预测指令执行、动态分配、缓存机制等设计中,以此来提升计算机软件系统设计的科学合理性和实时处理功能。当然,嵌入式实时软件之所以能够在计算机软件中充分发挥作用,主要是其核心嵌入式微处理器可以实时支持软件系统的多任务,且在短时间内快速中断,实现多任务操作及计算机存储区保护。嵌入式实时软件应用到计算机软件设计中,包括软件部分和硬件部分,在嵌入式微处理器的作用下,软件与硬件之间可以交互,促使计算机软件系统具有修复功能、检测功能等,从而大大提高计算机软件系统的应用性[2]。

1.2应用原理

嵌入式实时软件在计算机软件中之所以能够有效应用,主要是计算机科学技术和实时处理技术相融合,如此可以形成CORBA模型,加之嵌入式实时软件在计算机软件中可以远程调节等作用的支持,使得计算机软件设计的过程中可以合理地运用CORBA模型,进而科学、合理地规划计算机软件的个各方面,促使计算机软件充分发挥作用。

1.3嵌入式软件的技术特征

基于以上对计算机软件设计中嵌入式实时软件的概述,确定嵌入式实时软件具有以下技术特征。

1.4可靠性

相对于计算机操作系统来说,嵌入式实时软件是一种操作方式,在计算机软件系统中科学、合理地设计嵌入式实时软件,可以提高计算机软件系统的可靠性。因为计算机软件系统中的嵌入式实时软件可以结合计算机软件系统的实际情况,对系统操作任务进行合理分配与调整,并且有效地强化计算机软件系统,如此可以使计算机软件系统在规定的时间内完成各项任务[3]。

1.5系统可靠性

只有安全的工作环境,嵌入式实时软件系统在计算机运行的过程中,才能保证计算机软件系统安全、可靠;反之,将会影响嵌入式实施软件系统的工作效果。所以,为了保证嵌入式实时软件系统在计算机运行中充分发挥作用,一定要设置安全的、良好的外界环境。

1.6时限性

时限性是嵌入式实时软件非常重要的技术特征之一。主要表现为,在符合时限要求的情况下,嵌入式实时软件系统才能够严格地控制时限,合理地调节软件和硬件,促使两者科学、合理地应用。如若不符合时限要求,那么嵌入式实时软件在处理计算机软件系统任务时将难以严格控制时限,使得计算机软件系统各项任务无法在规定时间内完成。

2计算机软件设计中嵌入式实时软件的应用

基于以上对嵌入式实时软件的了解,在计算机的软件设计的过程中要想科学、合理地应用嵌入式实时软件,就要注意强化设计以下方面。

2.1开发流程

出于保证嵌入式实时软件在计算机软件中充分发挥作用的考虑,在具体设置嵌入式实时软件应用的开发流程时应当基于简易性和优越性出发,科学、合理的规划设计。具体的嵌入式实时软件应用开发流程为:首先是基于计算机软件系统应用要求,分析计算机软件需要具备的功能,进而进一步解析嵌入式实时软件。其次,基于嵌入式实时软件应用需要,科学合理地进行嵌入式软件设计和代码生成。再次,在嵌入式实时软件设计方案完成之后对其应用测试,确定依据此设计方案所设置的嵌入式实时软件的应用效果能否满足计算机软件系统应用需要。最后,在确定嵌入式实时软件设计方案符合应用要求的情况下将嵌入式实时软件有效地应用到计算机软件系统当中。按照以上开发流程来进行计算机软件系统开发,的确能够使嵌入式实时软件有效地应用到计算机软件系统中,并且在系统中充分发挥作用,提高计算机软件系统的应用有效性、可靠性、稳定性[4]。

2.2设计要点

计算机软件设计中嵌入式实时软件的应用是一项比较有难度且容易出现问题的工作。为了保证基于嵌入式实时软件的计算机软件设计方案合理、有效,需要再具体进行计算机软件设计中注意以下设计要点:其一,设计中避免软件和硬件结构相脱离。也就是在计算机软件设计中应当注意嵌入式实时软件的软件部分和硬件部分的有效连接,并且保证后续的设计过程中,都不能将两者拆开,如此才能有效地改善传统计算机软件设计中对硬件依赖过大的情况。其二,在嵌入式实时软件应用设计的过程中,应当注意对嵌入式实时软件的软件部分数据进行初始化处理、数据结构进行格式化处理,保证嵌入式实时软件回归原始状态,达到有效应用的目的[5]。

3计算机软件设计中嵌入式实时软件应用实例分析

为了能够具体地说明计算机软件设计中嵌入式实时软件的应用情况,在此笔者以基于硬件与软件的嵌入式系统开发为例,进行详细说明。其实,基于硬件和软件的嵌入式系统开发,就是利用数字信号处理器、IO设备、C++语言等进行嵌入式实时软件的开发。具体的设计内容是:其一,嵌入式实时软件设计中,因为微处理器是软件的核心,所以先进性微处理器的选择及设置很重要,本次设计中选用的是AT91RM9200型号的微处理器。对此微处理器的设置,重点是外设接口,也就是根据嵌入式实时软件要在计算机软件系统中发挥的作用,合理设置微处理器的功能接口。其二,嵌入式实时软件的开发流程设计中,出于保证嵌入式实时软件应用性的考虑,在进行嵌入式实时软件开发流程设计中,同样是将其分为几个阶段,即分析阶段、设计阶段、代码生成阶段、软件测试固化阶段。为了使嵌入式实时软件满足计算机软件系统的应用需求,设计其开发流程的过程中还要注意将对模块划分及设置放到适合的阶段,以此来保证模块设置合理,能够增强嵌入式实时软件的应用性能[6]。

4结语

在科学技术不断发展的今天,计算机软件系统的应用水平有很大程度的进步。原因就在于嵌入式实时软件的应用。因为在计算机软件设计中,科学、合理的应用嵌入式实时软件,可以提高计算机软件的质量,降低计算机软件的复杂性,使计算机软件应用更加有效、方便、快捷。所以,为了促进计算机软件更加有效地、广泛地应用到各个领域当中,应当致力于嵌入式实时软件的研究,使其在计算机软件设计中获得有效应用,增强计算机软件的应用效果。

[参考文献]

图像实时传输技术在我院中的应用 篇3

关键词:图像的实时传输;图像传输的标准和协议;MPEG-4高清晰视讯

Abstract: Have introduced that the operation image transfers application in working in hospital medical treatment and their principle mainly.

Keywords: Operation image transmission,standard and agreement that the image transfers,MPEG-4 height is limpid look at a message

马鞍山市中心医院是三级医院,其骨科在国内外享有盛名,相关教学和学术交流活动十分频繁,手术观摩和指导是交流的重要内容,手术室的特殊性决定了不可能在现场开展这些活动。采用图像传输系统,将手术图像传到观摩会议室来可以有效解决这一难题。骨科手术属于高精密、高难度手术,对于传输的图像清晰度要求非常高,传统的会议电视系统提供的图像质量远远不能满足需要,经过多次演示和实际检验,发现采用DVISION的基于IP网络的MPEG-4高清晰会议电视终端和多点控制单元(MCU),可提供高质量手术图像的远程传输。

1 图像传输的概述

医院图像传输是现代电信技术在医疗系统的应用,综合了异步传输模式(ATM)、电视、快速以太网和计算机技术的优点,实现图像、声音、数据的高速宽带传输,具有双向的功能。既有可视电话的双向性,又有现场直播的时效性,且容量大、清晰度高。

医院手术图像传输系统有以下功能:手术室的教授通过该设备进行双向交流;一般的学生或医生,可以在资料室通过设备终端进行手术观摩;可进行手术图像的传输和过程监视;主要设备可作为多点控制用;存储服务器可以对视音频码流进行数字存储,存储功能使保存、回放、剪辑和VCD/DVD制作轻易实现。

2 图像传输系统的结构

手术直播特指专家于特定会议室实时观看手术过程,给予手术医生实时指导,同医生就手术情况进行实时交流、讨论和研究的双向交互式视频会议系统。本方案中我院采用了三套终端(其中一套是只接收终端),一台MCU,一台存储服务器。设备汇接在网络交换机上,通过医院的快速以太网的千兆光纤实现互通。

手术室终端视频源包括:PELCO球型摄像头和显微镜,并汇接在1台视频切换矩阵上。PELCO球型摄像头可以水平方向360度旋转,垂直方向90度旋转,放置在手术室的顶角处,摄入角度可以覆盖整个手术室,观察宏观景物活动,也可以进行远端遥控。摄像机是通过无影灯的专用孔中观察,不但可以看到手术部位的手术图像。还可以远程遥控手术室摄像机的切换、摇移、拉伸、聚焦等,可以看到各种仪器的数据、主刀医生的画面、手术全景等画面,并掌握全面情况。而无线麦克风则可放置在医生身上,以便于和远端进行交流。传统远程医疗设备不能提供高清晰的手术画面,只能进行远程的会诊和交流,高清晰会议电视系统应用于远程医疗,不但可以进行一般的会诊和交流,同时可以提供高清晰的手术画面和显微画面。通过采用MPEG-4的4M码流,其高品质的图像,使显微镜下的组织结构也清晰无比。MPEG-4编码器可实现每秒约48000个宏块的吞吐率,提供了对两个逐行SDTV(720×480,60fps)视频流或14个CIF分辨率视频流进行解码的足够吞吐率。音频编码采用MPEG-4 (AAC) ,AAC是一种由MPEG-4标准定义的有损音频压缩格式。

数字化高清晰远程医疗系统不但可以提供高清晰的手术画面、高保真的语音和双向实时交流,而且可以将手术过程同步存储在计算机中,便于教学和点播,并可以作为资料文献记录在光盘上。

3 手术图像传输功能介绍

3.1高清晰图像在网络中的传输

因为采用MPEG-4编解码,在网络中进行广播级质量的视频交流成为现实。手术室传来的手术动态图像可达352x576像素(1CIF),X光片通过图文展示台可达704 x 576像素(4CIF),电脑图像可达1024x768像素(XGA)。两台显示设备分辨率自动动态调整,如CIF+4CIF(手术图像和X光片),CIF+XGA(手术图像+PC图像)等。同样,会议室专家亦可将会议室图像和专家提供的参考资料同时显示在手术室的显示设备上。传统的视讯系统绝大多数采用的视频编码方式的图像分辨率(352x288)就不高,从图像本身来讲比传统产品要高。由于MPEG-4算法本身的优势,可以保证高品质的视频回放质量,即使在对视频质量要求极为苛刻的广电行业,MPEG-4也依然可以提供符合要求的广播级图像,这就是为什么MPEG-4会成为事实上的广电数字化标准的原因。医院由于要传输高质量的手术图像,所以对图像清晰度的要求非常高,尤其是显微镜下的组织图像,MPEG-4产品能够提供从标准质量图像到专业广播级的图像质量,满足了医院对图像质量的高要求。由于采用了4Mbit/s码率,使显微镜下的组织图像清晰,富有层次感。

3.2 实时存储

通过在线存储系统实时将手术全过程图像画面和声音以流媒体格式存储在服务器中,方便术后重新播放,可通过访问存储服务器进行网上的点播或广播,并可制作成资料光盘存档和交流。

3.3 双向、实时的教学功能

医院手术室的主刀大夫可以通过图像和声音同监视点或会议室的人员进行讨论和交流,监视点或会议室的人员可以指导手术和随时提问。

3.4 强大的视频会议控制中心MCU功能

医院使用的视频会议控制中心(MCU),是能够同时支持H.261、H.263、H.264、MPEG-2、MPEG-4编解码方式的多点控制单元,可以同时支持窄带和宽带终端(384Kbit/s-6Mbit/s),具有广泛的适用性和极强的兼容性。

3.5操作简便

该图像传输系统采用WEB方式的操作界面,功能一目了然,设置方便。成功地应用MPEG-4高清晰远程医疗系统进行手术图像的传输,标志着我院在远程图像传输系统已经进入数字化、高清晰、可视化、实用化阶段。MPEG-4高清晰视讯系统也成为现代远程图像传输系统的标志性产品。

4 手术图像传输在医院的应用及发展

手术图像传输系统是远程视频会议系统的有效扩展应用。应用于医疗的实时画面的远距离传输,所传输的效果、质量、画面乃至色差都直接与病人的生命及健康密切相关,系统需对其承担的任务负完全医疗和法律责任。因此,为了保证手术直播和远程医疗的效果,系统必须建立在高端视频传输设备之上。

手术图像传输系统是计算机、网络和多媒体通信技术在医学上的一项具体应用,主要应用在手术室、胃镜室、血管造影(DSA)室等科室的教学和会议中,是国内开展得比较多的一项医学工作。它主要是应用视音频编解码技术,通过一定的通讯手段,使身处异地的医生之间可以相互看到对方的图像及听到对方的声音,可以实现对医学图像的实时讨论,达到模拟面对面交谈的效果,并扩展到远程医疗会诊、远程诊断、远程医疗培训、疫情汇报和学术交流等其他形式的应用。其在医院医疗工作中的应用将越来越多,越来越广,发展前景不可限量。

参考文献

实时应用软件 篇4

关键词:VGA标准,VBE标准,动态图像实时显示

0 引言

PC机的开放体系结构使得有更多的厂商能够参与计算机部件的生产,参加标准的制定。在PC机图形显示领域的早期,IBM推出的VGA标准成为默认的行业标准,但随后一段时期,其他厂商生产的VGA显示卡虽兼容了IBM VGA的BIOS和寄存器,却加入了扩展功能,当时,出现了众多具有更高分辨率、更多色彩甚至附加图形处理功能的显示卡--Super VGA显示卡。

当时,对于Super VGA显示卡的软件开发者而言,他们却要面对非常严重的问题:由于没有硬件设计标准,软件开发者面对着各种完全不同的Super VGA硬件结构,而且,由于没有统一的软件开发界面,在程序开发中必须解决软件兼容不同显示卡的问题,随之而来的是,对于某一具体的Super VGA显示卡,除了一些特定的软件可以得到制造厂家提供的显示驱动程序支持,几乎再没有什么软件包可以利用Super VGA带来的能力和优点。

VBE标准的制定就是要改变这种困境,作为各种Super VGA显示卡的统一软件接口,它可以使应用软件和系统软件在较大的范围内利用扩展VGA可用的优势。

本文先简单介绍VBE标准,然后结合一个具体设计,给出如何利用VBE标准实现遥感图像实时滚动显示。

1 VBE标准

VBE1.0提供了基本信息查询、显示方式信息查询、设置显示方式、返回当前显示方式、保存/恢复视频状态等几项基本功能,定义了有限的几种扩展显示模式。

VBE1.1增加了设置/获取逻辑扫描线长度等功能,并增加5种显示模式和新的显示方式参数。

VBE1.2增加了对调色板设置的接口及更多的显示模式和显示方式参数。

VBE2.0增加了对线性帧缓存和保护模式的支持等。

VBE3.0扩充了过去版本中的许多功能,实现了刷新率、点时钟、硬件帧切换等。由于篇幅所限,这里只对被硬件厂商广泛支持的VBE2.0标准定义的软件接口做简单介绍。

标准VGA的BIOS是通过中断10来调用的,而VBE是通过中断4F,通过设置不同的功能号调用该标准的不同功能:

(1)功能调用00H--基本信息查询

可返回VBE版本号、OEM名字,显示视频环境能力、支持的显示方式、显示存储器数目等信息。

(2)功能调用01H--显示方式信息查询

可返回特定显示方式的具体信息,包括显示方式属性、主机视频窗口属性、功能调用入口地址、分辨率、像素位数、显示存储器分块数、分块长度等。

(3)功能调用02H--设置显示方式设置显示方式。

(4)功能调用03H--返回显示方式返回当前显示方式。

(5)功能调用04H--保存/恢复视频状态保存/恢复视频状态。

(6)功能调用05H--主机视频窗口控制

设置主机视频窗口在显示存储器中的位置。

(7)功能调用06H--设置/获取逻辑扫描线长度

通过对子功能的控制实现设置或获取逻辑扫描线长度。

(8)功能调用07H--设置/获取显示起始地址

通过对子功能的控制实现设置或获取显示的起始地址。

(9)功能调用08H--设置/获取调色板格式

通过对子功能的控制实现设置或获取调色板格式。

(10)功能调用09H--设置/获取调色板数据

通过对子功能的控制实现设置或获取调色板数据。

(11)功能调用0AH--返回保护模式接口

返回保护模式程序接口。

2 遥感图像实时滚动显示系统的设计要求

遥感图像实时滚动显示系统具有以下特点:

(1)图像尺寸大,行像素点数多;

(2)图像滚动显示,速度快,每秒刷新行数较多;

(3)显示信息丰富,除显示动态图像外,还要能够在图像上叠加显示文字信息和网格信息;

(4)有良好的视觉效果,图像滚动显示不能有跳跃的感觉;

(5)基于可满足特殊环境要求的嵌入式平台运行。

基于上述设计限制,对动态图像实时显示系统显示速度的要求是比较高的。具体的技术指标如下:

输入数据率:≤2.5Mb/s

输入每行像素数:8192点/线

输入数据格式:遥感图像+辅助数据

显示字长:8bit

显示图像灰度级:256

屏幕显示方式:滚动显示

网状标尺叠加显示:热键选择

辅助信息字符显示:热键选择

图像显示模式:A.高分辨率局部显示,行显示起始可选

B.抽样全局显示,行向8抽

1,列向8抽1

要求实时显示系统在1024×768的显示模式下滚动显示图像的同时,在固定位置叠加显示的辅助数据字符和网格标尺。由于需要在全屏范围内叠加滚动的和静止的两种图像,在嵌入式平台的实现难度较大。

3 几种软件实现方案的对比

根据嵌入式计算机的显示卡性能和可利用的编程软件库,可以采用以下3种方式实现实时图像显示软件:

(1)基于帧切换

基于帧切换的滚动图像与静止图像叠加显示是通过类似电影放映的方式实现的,即由全屏图像构成一帧,许多这样的帧一起构成帧序列,通过在屏幕上顺序显示这些帧序列,就形成在图像滚动显示的同时叠加静止网格和文字。

按照实时显示的要求,基于帧切换的方法构成一帧时,首先要在后台显存中重建整个一帧的图像数据,然后将网格和文字写到显存的相应地址。这种方法的数据搬移量非常大,所需的显示内存容量很大,对显存的存取速度要求高。

(2)基于帧切换,并利用硬件二维加速功能

利用硬件二维加速功能实现帧切换,这种方法与上述方法类似,不同的是它利用了硬件的优势,即滚动显示的图像与静止的网格和文字分别存储于显示存储器的不同区域,在显示时由显示卡的硬件进行叠加,这样,对每帧图像的操作基本只集中在图像数据的存储区内。

此时,构成一帧的主要工作是重建整个一帧的图像数据,由于网格和文字存储于显存中的另一地址空间,一般情况下,仅需对个别文字进行操作。然而,这种方法的数据搬移量还是非常大,对系统内存寻址能力要求高,所需的显示内存容量更大。

(3)基于更改显示窗口在显存中的起始地址

在显示存储器中,屏幕上显示的仅是显存的一小部分。当设定显示模式后,可以把整个显示存储器看作是一幅纵向很长的画面,显示器作为一个窗口只显示了其中的一部分。我们可以通过更改显示窗口在内存中的起始地址的方法来改变屏幕上的内容,如果这种改变是顺序、连续的,在屏幕上就会形成滚动的图像。

每次输入的图像数据依次存储于显存中,再进行所需的处理(如添加纵向的网格线),当需要屏幕滚动时,首先更改显示窗口在内存中的起始地址,然后处理横向的网格线和文字,使它们在屏幕上处于正确的位置。这种方法的数据搬移量比较小,所需的系统内存和显示内存容量也很小,但这种方法的数据处理较复杂,在编程过程中需要考虑多种边界的影响。同时,当用户不需要显示网格线和文字时,恢复已被显示网格线和文字破坏的原图像数据的处理量是非常大的,是否能够实现取决于目标系统的系统内存和显示内存的存取速度以及编程语言的效率。

结合图像实时显示分机的技术指标,可以通过表1具体说明上述三种方法各自的优势及问题:

对于普通的计算机平台而言,三种实现方法对系统的要求都是可以满足的,但在实际的工程实施中,则要考虑环境因素对目标系统在结构、温度、湿度等方面的限制,这时,加以限制的目标系统是否能满足要求,成为制约图像显示方案的关键因素。

考虑特殊的环境适应性要求,动态图像实时显示系统的嵌入式计算机必须具有插针式的机械结构,同时还要具有很小的体积,并具备PCI接口。因此,考虑成本和体积限制,选择PC104plus结构的嵌入式计算机。这种结构的计算机的显示内存很少配置在2M以上,因此,利用硬件二维加速功能实现帧切换方法暂时不能应用。尽管可以得到2M显存的PC104plus计算机,但由于系统主频低,系统内存和显示内存速度慢,经过测试,基于帧切换方法只能达到25frame/s的显示速度,考虑图像数据输入所占用的时间,最多也只能保证15frame/s,这样的更新速度会造成图像闪烁,是不能接受的。

4 基于VBE的图像实时显示软件解决方案

基于更改显示窗口在内存中的起始地址的方法可以通过VBE编程接口实现,具体如下:

4.1 目标系统

在目标系统中,与图像显示输出相关的部分是嵌入式计算机和集成在其上的显示卡,嵌入式计算机为PC104plus结构,具有PCI和ISA两种总线接口,其CPU为Pentium MMX166,系统内存32M,显示控制芯片为M69000,显示内存2M。

4.2 图像实时显示软件

图像实时显示软件由数据读入、显示输出和显示控制三个模块构成,下面只对本文相关的显示输出模块进行介绍。

显示输出模块要实现在1024×768的高分辨率显示模式下滚动显示图像数据,同时叠加显示固定的辅助数据字符和网格,并可由操作员通过显示控制模块控制是否显示辅助数据字符和网格。在每次图像滚动时,显示输出模块需要完成以下操作:

(1)更改当前读写窗口;

(2)将读入数据写入显存的相应地址;

(3)写入纵向网格线;

(4)恢复原横向网格线上的图像数据(此期间需更改当前读写窗口);

(5)写入新的横向网格线;

(6)恢复原辅助数据字符上的图像数据;

(7)写入新的辅助数据字符;

(8)更改显示窗口在显存中的起始地址使屏幕滚动;

(9)重复(1)

4.3 性能

通过测试表明,每次滚动2条线,每秒可滚动120线,若每次滚动4条线,可以达到240线每秒,在这两种情况下,图像滚动时无明显跳动感。

5 小结

随着计算机技术的发展,VBE标准不断升级,最高版本是3.0版。同时,也派生出一些子标准,如VBE/AF、VBE/AI、VBE/PM等。然而,计算机显示系统的发展主流是向三维加速、立体显示等方向发展,这些主流发展方向的功能很多都得不到VBE的支持。但在一些特殊应用领域,VBE标准仍不失为一种适应高环境要求的动态图像实时显示系统的较好解决方案。

参考文献

[1]Video Electronics Standards Association.VESA BIOS EXTENSION Core Function Standard Version:2.0[S].1994.

[2]Video Electronics Standards Association.VESA BIOS EXTENSION Core Function Standard Version:3.0[S].1998.

地震波形数据实时监控软件的实现 篇5

地震波形数据实时监控软件的实现

介绍了地震数据采集器监控软件的设计思路,特别是在实时波形显示上,采用“环形”的显示缓存和“滑动显示窗口”技术,大数据量时也能以左移的方式连续显示实时曲线的.动态变化;实时波形的纵坐标范围也是动态变化的,在任何时刻都恰好能在显示区域内完整显示.文章还介绍了如何在显示中消除明显的屏幕闪烁现象,以及对数据从传输到存储、显示的分层设计思想和多线程技术的应用.

作 者:胡星星 滕云田 王喜珍 王晓美 张D 王晨 Hu Xingxing Teng Yuntian Wang Xizhen Wang Xiaomei Zhang Yang Wang Chen  作者单位:中国北京,100081,中国地震局地球物理研究所 刊 名:地震地磁观测与研究  ISTIC英文刊名:SEISMOLOGICAL AND GEOMAGNETIC OBSERVATION AND RESEARCH 年,卷(期):2008 29(1) 分类号:P315.69 关键词:地震   数据采集器   监控软件   实时波形   滑动显示窗口   屏幕闪烁   分层   分屏显示   多线程  

实时应用软件 篇6

关键词:实时监测技术;粉尘浓度;电机运行;水害

当前,我国煤矿安全生产技术已有了显著提高,生产环境得到了相应的改善和优化,煤炭开采事故率和死亡率都迅速下降。但是,在煤矿安全生产过程中依然面临着较为严峻的形势,煤矿井下存在的安全隐患并没有得到彻底有效的治理,而实时监测技术的发展应用,则为排查解决这些隐患提供了科学的技术支持。通过采取煤矿井下实时在线监测技术,可以对煤矿生产过程中存在的典型危险因素进行实时监测,随时关注相关变化,显著提高煤矿井下安全生产水平。在下文中分析探讨的内容主要有粉尘浓度、电机运行状况以及水害等几个方面。

一、粉尘浓度实时监测技术在煤矿井下生产中的应用

煤矿井下粉尘不仅直接影响到生产工人的身体健康,导致工人患上煤肺病,而且当矿井中的粉尘浓度与氧气浓度达到一定的界限时,容易出现明火时,引发煤矿粉尘爆炸,给矿井生产安全带来极大的威胁。因此,对煤矿井下粉尘浓度进行实时监测尤为必要。

在对煤矿井下粉尘浓度进行监测的过程中,主要采用矿用测尘仪对矿井中的粉尘浓度进行在线检测。其中,光电式测尘仪因为其精度较高、可靠性好而被广泛的应用。其检测是基于粉尘对光线的投射损耗与散射原理而实现的,能够对不变浓度进行精确的测量。但是,在煤矿井下的实际生产过程中,因为作业环境内粉尘浓度在不同的生产工艺、工序以及作业地点的变化有很大的差异,使用传统的采样器在现场采样然后再到地面分析的方式已经不能满足当前对生产现场的实际需要,因此,构建一套基于光电式测尘仪的煤矿粉尘浓度实时在线监测系统尤为必要(如图1)。

图1  粉尘传感器系统结构

该粉尘浓度实时监测系统使用一台主机与多台分机相连,对井下多个位置同时测量,传感器获得的电信号通过RS485总线与计算机进行数据通信,实现及时获得粉尘浓度信号的目的。需要注意的是,在构建检测系统的过程中,应该注意到光电式粉尘传感器中,LED点光源在给检测系统提供光源的过程中还会产生热量,使得周围的温度随之上升,从而使得光源强度会随之衰减,尤其是在长期使用该系统进行在线实时监测时,所导致的检测误差将会更加明显。因此,在设计粉尘实时监测系统及相关算法的过程中,应该对此进行适当的修正,从而为检测系统提供更准确的数据信号。

二、电机运行状况实时监测技术在煤矿井下生产中的应用

电机是煤矿机电设备的重要动力来源,因此,保证电机正常工作,是确保煤矿生产用设备处于长期稳定运行状态、提高煤矿生产效率、保证煤矿生产安的必要条件。

(一)煤矿电机运行实时监测系统工作原理。在待测电机的各个位置设置高精度的传感器,对电机运行过程中的转矩、温度、速度、电压以及电流进行实时检测;之后使用传感器将检测信号输出,然后通过信号采集和放大电路、A/D转换电路对信号进行处理,并将处理后的信号传递给DSP控制系统。通过DSP对电机的运行参数进行实时在线计算和分析,将电机的实时运行状态参数显示出来,并将主要参数传递给上位机进行对应的处理,实现对电机的监测和反馈控制。

(二)煤矿电机运行温度和电流监测。(1)温度监测。温度是衡量矿用电机正常工作与否的关键指标,对电机本体、逆变单元等部分的工作温度进行实时监测是确保电机安全、可靠工作的重要途径。以AD590型温度传感器为例,该传感器属于电流式集成温度传感器,在把它用于电机温度测量的过程中,相当于形成一个恒流源,能够输出大小为1μA/K、并与绝对温度成正比的电流信号,具有较强的抗干扰能力和线性度。将传感器设置在矿用电机的待测量部位,随着电机工作温度的升高,传感器的温度也随之上升,输出的电流将随之增大,系统将获得的电流信号转换成为电压信号,并通过后续的信号放大、经

A/D转换处理之后,将信号发送至DSP,从而获得电机的实时工作温度。(2) 电流监测。在传统的电流监测系统设计过程中,一般使用串联的分压电阻作为传感器对电流信号进行检测,这种检测方式具有监测方法简单的优点,但是容易受到检测环境温度的影响,较难保证电阻值的恒定不变,导致所采集到的电流值精度不高,而且通常情况下,控制系统的反馈电路没有与主电路相互隔离,一旦功率电路中的高压电流通过反馈电路进入到控制电路后,将直接破坏整个控制系统的安全程度。因此,现在大多使用高精度霍尔电流传感器作为电流检测装置,对矿用电机的三相电流进行实时监测,而且该传感器只需要使用

12V的电源供电,系统架设较为方便。

三、水害实时监测技术在煤矿井下生产中的应用

在生产中,随着煤矿开采深度的增加,水害的威胁也更大,对水害的潜在威胁实施在线监测也是现代化矿井的必备条件。

(一)煤矿井下水害实时监测原理。在煤矿井下设置足够的分布式水文观测孔,对观测孔中的水压、水位进行测量,逐步形成“一线多点”的测量体系,从而实现超远距离的实时水害监测。当前,许多矿井所采用的水害监测系统使用的都是高速数据传递技术,这项技术能够保证系统监测的实时性。利用所测得的监测数据可以及时的反映不同地质层水位的实时水压、水位等动态信息,并结合历史监测数据以及组织管理经验,采取对应的治理措施,从而实现对煤矿井下水害的防范和治理。

(二)煤矿井下水害监测系统的基本构成。建立矿井水压实时监测系统的地面监测中心站,利用检测系统软件(系统控制、数据通信以及数据处理等应用软件)处理来自系统子站传递的相关数据,将检测结果实时显示在对应的设备中。煤矿井下子站(水压、水位测量孔)主要由水压/水位数据收集装置、压力/液位信号传送器、数据通信模块和安全保护罩等构成,该监测系统总共包含1-258个子站,通知对这些子站的实时检测能够实现对整个矿井的水害情况的监测。在信号通信的过程中,该系统使用了基于现场总线的控制技术,使得所有的检测子站都能够有内置的计算机系统进行控制,从而实现对各个水文观测孔中的水压、水位进行数据采集,通过对应的转换以及存储之后,利用地面的监测中心站完成对水害情况进行实时在线监测的任务。

通过前面的分析可以看出,实时监测技术在煤矿井下生产作业中发挥着重要的作用,提高了矿井的安全生产系数和经济效益,减少了灾害性事故的发生率,在井下安全管理中获得了广泛的应用。本文中,笔者只选择了几个比较具有代表性的应用实例,如粉尘、电机、水害等进行了粗略的分析,而在实际的煤矿井下生产中,监测技术的应用绝不是仅仅局限于这三个方面,适合其发挥作用的工作场所还非常多,具有一定的普遍性,值得同仁继续做进一步的研究。

参考文献:

[1] 朱剑锋. 煤矿电机运行参数在线监测技术研究[J]. 中国新通信,2014(20).

试飞实时检查回放软件设计 篇7

在飞行试验实时监控系统中, 现阶段使用地面遥测接收机实时接收机载采集系统输出的数据信息, 经地面服务器处理后向飞行指挥员、试飞工程师提供飞行状态信息及告警信息。但在很多试飞架次中, 如涉及包线、边界值的科目试飞或者几个科目结合的试飞中, 试飞工程师经常要对关键动作段进行反复回看、绘图才能确认动作的有效性及动作完成质量。

现阶段试飞实时监控中, 实时系统只能实时显示飞机飞行状态参数。当试飞过程中完成关键动作后无法及时确认动作完成质量及有效性。该软件依托于试飞数据实时监控系统, 运行于实时系统客户端, 可以完成对所选择的参数进行记录、回放和绘图, 回放过程与实时过程互不影响, 方便了试飞工程师对关键参数进行确认, 从而提高了试飞效率。

软件设计

实时检查回放软件主要关注于试飞工程师在科目试飞过程中对于关键参数、关键动作段需要进一步关注或者回放的需求, 开发了客户端回放、参数检查、参数绘图和数据文件管理功能, 如图1所示。

在实时监控客户端, 实时监控画面通过画面驱动程序驱动能够显示飞机各系统参数信息, 实时检查回放软件运行于客户端, 对接收到的服务器转发的实时数据根据试飞工程师需求进行存盘, 在实时过程中通过读取存盘数据进行回放。参数检查模块通过C++builder中现有的String Grid控件清晰显示出所有参数的实时信息, 通过预设门限等操作结合文本框颜色的改变可以完成参数的报警功能。参数绘图模块可以对一个或者多个参数进行绘图显示, 方便试飞工程师对数据进一步的查验。数据文件管理模块对于该软件产生的多种数据文件进行管理, 以方便试飞工程师查找特定飞行日期的飞行数据, 同时完成对客户端内存空间的管理。

数据文件回放功能是该软件的核心功能, 可根据需求选择按时间段回放或者默认全程回放。

软件功能与实现方法

客户端回放

客户端回放是该软件设计的主要功能模块, 实现对实时数据的记录、回放参数选择、回放速度控制、回放时间段选定等操作, 如图2所示。

实时数据通过客户端驱动程序从实时系统数据服务器接收, 回放数据通过读取记录在客户端的数据文件获得, 回放过程与实时过程可同时进行、互不干扰。实时数据记录模块对客户端驱动程序转发的所有参数数据进行记录, 以供回放过程中试飞工程师选择。

回放过程通过读取客户端记录的数据文件来实现, 由于要循环读取文件, 会导致在文件读取过程中程序不会响应其它任何事件, 也就导致文件读取过程中不能及时更新回放显示的数据信息。这里使用了Application->Process Messages () , 从而可以使数据能够伴随着文件读取过程持续显示并更新, 这种做法类似于VB中Do Event的方法。Process Message能够使应用程序处于消息队列并进行消息处理, Process Messages将Wiondows消息进行循环轮转, 直至消息为空, 然后将控制返回给应用程序。回放速度的控制使用了sleep () 函数, sleep可以执行使当前线程挂起一段时间, 时间单位以毫秒计算, 通过挂起时间长短对回放速度进行控制。

回放时间段的选定通过毫秒级的比对, 精确定位试飞工程师所关注时间段的数据。暂停和继续按钮方便了试飞工程师对回放时间点的精确把握。

客户端回放功能能够使试飞工程师在飞行结束后或者飞行进行中动作准备间隙对关键动作段进行回放, 使试飞工程师能够快速确认飞行动作完成质量。

参数检查

参数检查模块对客户端驱动程序转发的所有实时参数进行显示, 通过预设门限值结合文本框颜色变化, 可以完成参数报警功能。

参数绘图

试飞科目进行中, 试飞工程师经常需要对某个参数进行绘图显示, 或者对某几个参数进行绘图比对来把握飞机各临界状态参数以确认动作完成质量和动作有效性。该模块基于此需求, 可以满足试飞工程师在实时过程中对自选参数进行记录, 结果察看和绘图功能, 绘图使用了C++Builder的Chart控件。

数据文件管理

该软件在运行过程会产生大量数据文件, 试飞工程师经常有查看同科目试飞数据的需求。查找指定日期数据文件模块比对文件file.ff_fdate属性和Month Calendar->Date来定位数据文件, 使用了Month Calendar控件。

通过递归算法可以找出磁盘内所有后缀名符合要求的数据文件, 方便试飞工程师进行查询、单个文件删除和文件批量删除等操作, 同时也方便了对客户端计算机存储空间进行管理。

该部分通过调用前期设计并已成熟使用的软件, 从而大大缩短了软件开发的周期。

软件的特点

自主性

客户端实时数据记录, 客户端回放, 数据文件管理, 回放参数、速度、时间段均可由试飞工程师自主控制。

节省资源

随着型号任务增多, 飞行过程中实时系统资源紧张。课题人员在监控台自主记录和回放可节约宝贵的实时系统资源。

操作简便

界面简洁, 软件操作模式尽量考虑试飞工程师操作、使用习惯。

结束语

刍议嵌入式实时软件的设计与应用 篇8

1. 基于构件的嵌入式实时软件的模型设计

基于构件的嵌入式实时软件的模型设计与建立是在构件软件的基础上进行的嵌入式实时软件的设计和建立。进行基于构件的嵌入式实时软件模型的设计和建立时需要注意符合嵌入式实时软件的实时性要求。

1.1 对于UML的实时性扩展

进行嵌入式实时软件模型的设计和建立时应当首先对于嵌入式实时软件的设计和建立要求进行考虑, 以使构件软件能够符合嵌入式实时软件的相关要求和标准, 建立符合要求标准的嵌入式实时软件。在计算机应用软件中, 嵌入式实时软件对于实时性的要求相当高, 为了迎合嵌入式实时软件的这一特点, 在进行基于构件的嵌入式实时软件的模型建立时就需要对于UML进行实时的扩展。进行UML的实时扩展首先需要进行对于时间性要求条件的引入和扩展建立, 包括对于表示时间变量重置元素、确定时限事件的时间约束和事件时限中的时间约束条件的引入等, 以组成UML实时扩展中的顺序图。除此之外, 进行UML的实时扩展还需要对于UML的相关状态机图进行实时的扩展, 包括超时事件模型、时限约束内的事件变化状态、周期性事件状态模型、时限延伸外的事件模型和关联迁移事件的触发时间限制状态等状态机图的实时扩展。这样一来进行实时扩展后的UML就能够很好的帮助嵌入式实时软件的模型设计建立完成实施。

1.2 对时间ER网进行构件化扩展

基于构件的嵌入式实时软件的模型设计和建立时, 由于考虑到嵌入式实时软件的实时性要求, 因此在进行构件软件的应用时, 也需要进行相关的改进或者扩展以适应嵌入式实时软件的模型设计和建立要求。时间ER网是一种对于计算机软件的模型建立、设计较为适应的网络构件, 时间ER相对于其它的网络构件来讲在对于时间的要求设计上具有很大的优势, 既可以实现对于局部时间概念的设计和建立, 也可以实现将局部时间概念转化成为一种全局的时间, 因此, 时间ER网对于所建立或者设计的软件模型的局部时间以及全局时间的行为描述可以进行支持, 这与嵌入式实时软件对于实时性的要求十分相符, 因此, 基于构件的嵌入式实时软件进行设计建立会更方便、简单。但是需要注意的是时间ER网并不具有一定的额构件化软件特征, 并不能够支持嵌入式实时软件的设计建立, 因此, 在进行嵌入式实时软件设计应用时, 需要进行相关的构件化扩展。对于时间ER网的构件化扩展主要是通过将时间ER网扩展成为一种构件时间网, 那么构件时间ER网是不仅能够满足时间ER网的所有特征和功能, 还可以实现对于嵌入式实时软件模型建立设计的满足, 能够支持嵌入式实时软件的设计和建立需求。

1.3 UML与CTER在嵌入式实时软件中的体现

基于构件建立的嵌入式实时软件模型中, 进行基于构件的嵌入式实时软件的设计和建立中, 对于UML以及构件时间ER网的应用体现主要就需要将UML软件模型转换成为CTER软件模型, 最终实现对于嵌入式实时软件模型的设计建立。其中, 从UML到CTER模型中的映射变化主要就是时间约束的变迁行为, 通过这种变迁转换行为最终实现对于构件软件的状态机模和顺序图模之间的转化和结合, 为嵌入式实时软件中各系统构件的组合时间需求的支持做好基础铺垫。

2. 嵌入式实时软件组合时间分析和应用

在计算机应用软件中, 嵌入式实时软件对于实时性的要求非常严格, 因此进行嵌入式实时软件设计以及建立时需要对于软件的组合时间进行分析检验, 以符合嵌入式实时软件的要求, 实现基于嵌入式实时软件在实际中的应用。

2.1 基于构件嵌入式实时软件组合时间分析

基于构件的嵌入式实时软件的设计建立后的模型以CTER表现的系统结构模型形式呈现, 因此, 对于基于构件的嵌入式实时软件的组合时间分析就是通过对于CTER构件模型的组合分析实现的。在进行CTER构件模型的组合分析时, 首先需要对于CTER构件模型中的各个构件模型的组合规则进行分析, 在此基础上进行对于CTER构件模型组合规则进行总结论述就可以实现对于CTER构件模型的组合的分析, 也就是对于嵌入式实时软件的组合时间的分析和验证。对于CTER构件模型中的各个构件模型的组合规则的分析中, 要想实现对于CTER构件模型中各个构件模型的组合规则的分析首先需要对于CTER构件模型中的各个构件模型的组合规则进行重新的组合和操作, 在进行重新的组合操作中找出CTER构件模型各个构件模型的组合规则。一般情况下, CTER构件模型中各个构件模型的组合中, 各个构建模型的组合顺序一般是由各个构件模型之间关系的联系紧密程度决定的, 因此在对于CTER构件模型中各个构件模型的组合规则的分析中可以使用比较构件耦合度方法进行组合规则的分析。

2.2 基于构件嵌入式实时软件的应用

基于构件的嵌入式实时软件是在构件软件的基础上实现的嵌入式实时软件的设计和建立, 它在设计建立中由于是基于构件软件的原因, 不仅设计建立中比较简单, 而且对于嵌入式实时软件的质量也有一定的保证, 在实际中也有应用。比如在小区的门禁系统中就有相关软件系统的应用。一般情况下, 小区的门禁系统在对于进入小区车辆的管理中, 就是应用了嵌入式实时软件中对于实时性要求的原理, 当有车辆进入小区时, 小区门禁系统就会接受到相关进入车辆的通行识别卡, 门禁系统就会自动的读取进入车辆的通行卡信息, 并将信息内容传达到门禁系统的控制识别系统中进行识别管理, 然后放行。

3. 结束语

总之, 计算机应用软件中, 嵌入式实时软件对于实时性有较高的要求, 因此在进行设计开发过程中应进行注意, 以设计出符合要求标准的嵌入式实时软件, 并在实际中得到应用。

摘要:在计算机软件设计和应用中, 嵌入式实时软件的设计上对于时间的要求非常的严格, 如果进行软件的设计和开发过程中出现一定时间差错对于整个软件的建立和应用都会产生很大的影响。因此, 对于嵌入式实时软件来讲, 嵌入式实时软件设计过程中对于时间需求的验证以及分析都是十分重要的。本文主要论述基于构件的嵌入式实时软件的设计过程以及基于构件的嵌入式实时软件的应用。

关键词:嵌入式实时软件,设计分析,应用

参考文献

[1]王琼, 杜承烈, 李刚, 尤涛.嵌入式实时软件通用框架模型研究[J].计算机工程与设计.2007 (6) .

[2]武海燕, 晏立.嵌入式实时软件的任务构造[J].计算机工程.2010 (7) .

[3]姜兰.嵌入式实时软件逆向设计与实现[J].微电子学与计算机.2004 (2) .

[4]徐晓东, 饶云华.基于对象的嵌入式实时软件需求模型[J].计算机科学.2003 (12) .

[5]王乾宇, 朱小冬, 王毅刚, 周鹏.嵌入式软件仿真测试环境中实时控制器的设计[J].计算机测量与控制.2012 (1) .

实时固态存储技术应用研究 篇9

对于普通的民用实时数据传输系统,以目前的电子器件发展水平,实现难度不高。不过,航天电子系统最大的特点是不可修复,一般的电子系统要求稳定可靠地在太空恶劣的环境中运行几年,可靠性要求非常高是该类系统的基本要求,能满足系统应用要求的电子器件也不是太多[1]。在研究开发过程中发现,在可供选择的器件中,设计一个低功耗、大容量、高速率的固态记录器有很多问题需要解决。这里对设计中存在的若干问题进行了深入的研究,并提出了相关解决方案。

1 器件选型

根据系统应用要求,固态记录器的数据传输速率至少要达到160 Mb/s以上,存储容量至少要达到120 Gb以上。据调研,目前能提供的存储器单片容量,SBRAM最大的存储容量只能达到9 Mb,远远不能满足应用要求;而SDRAM单片存储芯片可达到容量4 Gb、工作频率167 MHz以上。用多片这样的SDRAM器件级联完全可以满足系统存储容量和传输速度的应用要求。不过SDRAM器件需要定期刷新,应用难度比较大。

目前FPGA器件发展比较成熟,该器件为大多数复杂数字系统提供技术解决方案。在复杂数字系统中,以FPGA为核心器件,外加一些存储器件和电气接口器件的设计方案已成为主流解决方案。不过,以往市面上提供的FPGA芯片的硬件资源一般都比较少,本课题除了数据传输和存储的应用要求外,还要对数据进行一些算法处理,需用多片资源少的FPGA器件配合一些外围电路分任务处理才能满足应用要求,与体积小、功耗低的设计任务相矛盾。随着FPGA器件的发展,Xilinx公司的Virtex-Ⅱ系列FPGA器件,其Slices可达几百万门,Block Memory资源丰富,器件内部提供了大量的数字时钟管理器(DCM)分配时钟域,其内部时钟最快可以到420 MHz[4],该器件所提供的内部资源和引脚数目可以满足产品设计要求。

2 固态记录器的工作原理

图1是固态记录器系统硬件框图,系统主要由以下几个模块组成:相关算法处理模块,SDRAM存储模块,SDRAM读写控制模块,串口收发控制模块,读写缓存模块(由FPGA内部的FIFO构成)等。

图1的工作原理如下:上位机以"起始字符1+起始字符2+起始字符3+起始字符4+控制命令+校验和+结束字符1+结束字符2+结束字符3+结束字符4"的通讯协议向串口接收电路发送相关的控制命令。当串口接收电路接收到写控制命令时,与此同时,串口发送电路向上位机以"起始字符1+起始字符2+起始字符3+起始字符4+接收到相关控制命令+校验和+结束字符1+结束字符2+结束字符3+结束字符4"通知上位机固态记录器已经接收到控制命令;以这种通讯协议进行8次握手,如果8次握手通讯都是正确的,数据算法处理组合模块输出读状态控制信号;当读状态信号有效时,输出48位并行有效数据,相关的算法处理模块接收输入的数据并完成相关算法处理,然后将处理后的数据写入写缓存FIFO中;然后由SDRAM控制器的写控制模块将写缓存FIFO中的数据存入SDRAM的一个存储体中;当该SDRAM存储体存满时,SDRAM控制器停止对该存储体的写操作,与此同时,SDRAM读控制器读出SDRAM另一个存储体中已经存满的数据存入读缓存FIFO中,并将读FIFO中的48位并行数据读出采用时分复用的方案,变换成8位并行数据,分6次输入给数据算法解析比对模块进行处理;当数据处理完后,输出写控制状态命令,将处理数据输出给下一级电路使用。当读存储器中的数据全部读出时,SDRAM读控制器停止对该存储体进行读操作。当完成一次读写操作后,下一次操作将SDRAM存储体的读写互换,如此交错进行读写控制即可实现实时数据处理和传输。当上位机以相同的通讯协议发送写停止和复位命令时,固态记录器停止写操作或者进行系统复位操作。

3 设计中出现的问题和解决方案

3.1 电源和FPGA配置

这里使用Xilinx公司FPGA的主串配置方案。该配置方案的工作过程如下[4]:系统上电时,当内核电源VCCINT和I/O电源VCCO都达到门槛电压值后,FPGA对配置模式进行采样;当FPGA采样到是主串配置方案时,FPGA输出配置时钟CCLK和串行配置数据;系统上电时PROGB和INITB两个信号分别有1个低电平周期,INITB信号低电平时对配置芯片进行复位,使配置芯片内部的指针指向配置芯片的地址0,PROGB信号从低电平变为高电平后,FPGA接受串行配置数据进行器件配置,在整个过程中,DONE信号始终为低电平,当配置成功后,DONE信号自动拉高(如果DONE信号一直为低电平,说明配置失效)。

实验过程中发现Xilinx公司的FPGA,如果内核电源先于I/O电源上电或同时上电,FPGA的配置不会有问题;如果内核电源滞后于I/O电源上电,FPGA的配置往往会失效[4]。关于Xilinx公司的电源供电问题,TI和National公司都提供了很好的电源管理解决方案,在做功能实验过程中发现,使用该电源管理方案,FPGA的配置非常稳定可靠,没有发生过配置失效的现象。不过,该电源管理方案中所使用的器件没有宇航级的器件,无法满足实际系统的应用要求。实际应用系统中用的是宇航级的电源器件,同时输入1.5 V和3.3 V的电源给记录器供电。在大部分情况下,该电源供电方案不会出现FPGA配置失效的问题,不过当系统进入高低温实验箱进行环境实验时,经常发生配置失效的问题。

为了解决FPGA上电时序问题,这里利用增加I/O电源电容,增加I/O电源上电时间;或者增大内核电源输出电流,减小内核电源电容,减小内核电源上电时间的方案进行解决。实验中发现,FPGA配置稳定性有所提高,但在进行环境实验时,偶然还是有配置失效的现象发生。后来,笔者在PROGB和INITB两个信号上分别加2个100 μF以上的大电容,与2个信号上的上拉电阻分别组成RC电路,延长信号的低电平时间,实验发现,该解决方案取得了明显的效果,在进行高低温实验时,没有发现配置失效的现象。后来,笔者对设计进行了改进,将PROGB,INITB,DONE和一个I/O都接到上位机的I/O上,将FPGA中不用的引脚设为低电平,输出到上位机的I/O输出一个固定的高电平,上位机定期查询DONE信号和I/O信号,如果发现DONE信号和I/O信号中有一个不正确,上位机给PROGB和INITB信号发一个100 ms的低电平,将配置芯片中的固化程序重新加载到FPGA中去,具体实现方法如图2所示。实验中还发现DONE信号的驱动能力很弱,该信号最好能通过一个总线驱动器与上位机的I/O相连。通过以上处理后,该记录器在高低温实验箱中进行一系列的实验,包括在极短的时间内,将温度从-40 ℃变化到125 ℃的温度拉锯实验,反复开关电源,FPGA的配置都是成功的,系统能稳定地工作。

3.2 FPGA可靠性设计

提高FPGA运行的可靠性,最有效的途径是规范的时钟设计和合理的EDA软件约束设计[5]。在FPGA设计中,有全局时钟、门控时钟、行波时钟和多时钟系统4种时钟。多时钟系统是前面3种时钟类型的任意组合。全局时钟是最简单、最可靠的时钟,全局时钟的延时是可预测的,在FPGA设计中,最好的时钟方案是:由专用的全局时钟输入引脚驱动单个主时钟去控制设计项目中的每一个触发器。由组合逻辑和时钟信号经单个"与门"或单个"或门"后产生的时钟信号为门控时钟。显然门控时钟可以转换成全局时钟,转换方法是,将组合逻辑转化为时序逻辑控制模块的一个使能输入信号,该模块的输入时钟仍然用全局时钟。转换时,可以利用D触发器对毛刺不敏感的特性,用插入D触发器和流水线的思路进一步提高电路运行的稳定性。行波时钟是指一个触发器的输出作为另一个触发器的输入时钟。用门控时钟转全局时钟的解决方案,行波时钟是可以转化成全局时钟的。

这里的存储器除了完成数据的传输和存储外,还有很多复杂的硬件处理算法和相关的控制逻辑。随着算法复杂程度的提高。设计中发现,每增加1个设计模块后,FPGA的速度性能可能会明显降低。通过增加全局约束的方式重新综合布线,经常发现性能改善不明显。打开底层编辑器发现,增加新设计模块后,FPGA内部的布局布线发生很大的变化。对于这种问题,Xilinx公司的EDA集成开发软件ISE提供了一个非常理想的解决方案。该集成开发环境中提供了一个小插件Floorplan,该插件能将设计工程中的模块分别进行逻辑锁定和布局布线锁定,每一个模块即相当于一片ASIC芯片,然后使用增量设计在顶层工程中使用全局约束将锁定的模块进行整体布局布线。利用该解决方案可以保证最后的设计性能。从而提高系统的速度性能和稳定性。

3.3 其他问题

实验中发现,FPGA器件和SDRAM器件都是高速器件,相关的信号线必须进行阻抗[6,7],否则,信号线上会产生很大的过冲和欠冲。信号线上的过冲和欠冲,一方面降低了电路运行的可靠性,另一方面对器件也有很大的伤害,更重要的是,在系统联调过程中,欠冲信号对前级模拟电路的干扰非常严重,产生了很大的地弹噪声,使前级模拟电路无法正常工作。

关于SDRAM控制器的设计,国内外已有不少公开发表的论文[5,8,9,10,11]。根据器件资料和相关论文,笔者发现,在SDRAM控制器设计中,将刷新计数器的逻辑优先级设为最高,当处在刷新周期时,其他的控制逻辑都保持不变,其他控制逻辑从属于刷新逻辑是设计的基本思路,以这条思路为出发点,可能会起到事半功倍的效果。设计中还发现,SDRAM控制器中的双向口要消耗大量的布线资源,而且在数据切换时延时很大,SDRAM的读写时钟最好是经FPGA内部的锁相环锁相处理后提供的,不要简单地使用时钟反相等粗糙的处理方式进行,这样有利于提高数据传输的稳定性。

4 结 语

针对航天电子系统应用的特殊要求,采用工程应用

中发现问题、解决问题的方法,对固态记录器的可靠性和稳定性设计进行了深入的研究和探讨。文中解决问题的方法完全可以应用到相关的民用系统中,提高类似系统的稳定性和可靠性,具有很大的工程应用价值。

摘要:随着卫星整机性能的提高,以往的小容量、单缓存的固态记录器已严重制约了卫星系统的整机性能,研制高实时性、大存储容量、高可靠性的记录器已成为目前急需攻克的课题。根据航天电子系统不可修复,系统运行稳定性、可靠性要求非常高,可供选择的器件不多的特点,选用FPGA和SDRAM器件,用乒乓缓存的硬件结构替代以往的单缓存结构,设计一套大容量、高实时性、高可靠性的固态记录器,对研制过程中遇到的若干技术难点进行深入的研究,提出了相关解决方案。解决问题的方法完全可以应用到相关的民用系统中,提高了类似系统的稳定性和可靠性。

关键词:固态记录器,FPGA,SDRAM,乒乓缓存

参考文献

[1]战辉.基于FLASH的固态存储器[J].上海航天,2004,21(6):36-41.

[2]李早社,禹卫东.星载SAR成像处理器中转置存储器的FP-GA实现[J].数据采集与处理,2005,20(2):231-235.

[3]王芳,李恪,苏林,等.空间太阳望远镜的星载固态存储器研制[J].电子学报,2004,23(3):472-475.

[4]Xilinx Corp.Virtex-II Platform FPGA Datasheet.http://www.Xilinx.com/bvdocs/userguides/ug002.pdf.2004.

[5]Xilinx Company.Synthesizable High Performance SDRAMController.XAPP134(v3.1).2000.

[6]刘正,黄战华,刘书桂.基于SDRAM的高分辨力高速图像缓存[J].光学仪器,2006,28(6):49-53.

[7]吴冰,黄智刚.基于SDRAM的高速大容量红外信号模拟器的实现[J].计算机测量与控制,2007,15(8):1 054-1 056.

[8]特木勒,黄智刚.基于PCI总线和SDRAM的高速数据采集卡研制[J].遥测遥控,2007,28(2):42-45.

[9]郭芳,熊余.DDR SDRAM在高速数据采集系统中的应用[J].现代电子技术,2007,30(24):47-49.

[10]夏玉立,雷宏,黄瑶.用Xilinx FPGA实现DDR SDRAM控制器[J].微计算机信息,2007,23(9):209-211.

仿真转台的实时控制软件介绍 篇10

仿真测试转台作为最重要的仿真测试设备, 可以真实地模拟导弹或飞行器的动力学特性, 在实验室条件下复现其在空中的各种飞行姿态, 对导弹或飞行器的传感器件、制导系统和控制系统及各执行机构的性能加以测试, 为导弹或飞行器的改进和再设计提供各种参考依据。仿真测试转台的性能的优劣直接关系着仿真和测试实验的可靠性和置信度, 仿真测试转台的研究和制造, 在航空航天工业和国防建设的发展中具有重要意义。

转台控制系统的软件作为控制算法的具体实现, 直接影响着转台系统的动静态性能。其设计除要求操作方便、运行可靠外, 还要求具有较高的实时性, 这是保证系统优良跟踪性能的重要因素。

三轴仿真转台控制系统的所有功能以及操作 (如控制单元的管理、故障检测和人机界面等工作) , 都由控制软件来完成, 转台系统软件不仅要能够实现数字算法, 而且应具有完善的逻辑操作功能和对系统的保护作用, 能够实现数据的显示、传输、存储和分析。再者, 仿真转台系统的可靠性很大程度上取决于控制软件的稳定性, 所以根据系统功能和需求对软件进行模块化设计是很有必要的, 可以最大程度上简化软件设计步骤, 方便程序调试, 尽量减少漏洞的出现。

2 转台软件系统分析与发展趋势

在我国仿真测试转台经历了30多年的发展。从最初的Dos到Windows, 再到基于RTX的控制软件的问世, 转台控制软件的功能逐渐强大, 操作日趋便捷, 实时性和可靠性也越来越高。

以下主要对基于DOS、Windows和Vx Works三种操作系统的转台软件的特性进行分析、比较。

(1) DOS是典型的单任务操作系统。在DOS中运行的应用程序, 顺序执行自己的代码, 直到运行完毕后才放弃对CPU的占用, 在此期间其它应用程序都不能被运行。而转台控制系统软件是一个多任务并发程序, 并且对各任务的优先级和伺服任务实时性有严格要求。所以在DOS操作系统下, 转台控制程序需要维护一个简单的多任务环境, 作为转台软件的基本环境。

由于DOS是单任务操作系统, 而且DOS对图像化界面的支持极为有限, 所以采用DOS作为转台系统的软件平台, 有很大的局限性。

另外, DOS运行于CPU模式下, 只能管理640K内存, 对系统性能造成了严重限制。因此, 基于DOS开发转台系统, 很难跟上技术发展的潮流。

(2) Windows无疑已经成为PC平台上最为通用的操作系统。由于Windows的人机界面友好, 软件资源丰富, 基于Windows开发转台系统成为替代Dos操作系统的必然趋势。

但是Windows是非实时操作系统, 无法满足转台系统的高实时要求。

虽然Windows操作系统无法满足伺服任务的高实时性要求, 但转台操作人员和设计人员仍然钟爱Windows友好的人机界面。为了解决这个矛盾, 转台系统发展成为采用主从体系的结构。

这种结构中, 转台系统实际上分为两个部分, 非实时部分和实时部分。“下位机”由DSP或单片机控制板构成, 完成高实时行要求的任务, 而PC机作为“上位机”, 完成图形显示、网络通信、人机交互等对实时性要求不高的任务。上下位机间利用一定的接口进行通讯, 从而协同工作。这种方案很好的克服了Windows实时性不高的瓶颈。但这种方案增加了硬件成本, 而且系统结构变得复杂。为了对Windows的实时性进行扩展, 许多第三方软件应运而生。这种实时扩展产品比较著名的有美国Ventur Com公司的RTX。

RTX (Realtime Extension For Windows) 是内置于Windows的实时操作系统, 可以认为是Windows的一个实时子系统, 它不影响Windows原有功能, 但增强了其实时性能。实际上, Ventur Com公司获得了Windows的源代码, 对其硬件抽象层HAL进行了实时扩展。该实时硬件抽象扩展层隔离了RTX和Windows之间的中断。在单CPU的情况下, 所有RTX线程的优先级高于所有Windows线程优先级。可见, 实时扩展的本质就是将Windows当作一个受实时内核调度管理的任务, 其优先级最低。

通过上面的分析, 采用基于Windows的实时扩展系统作为平台开发转台系统软件, 既继承了Windows操作系统的优点, 又在一定程度上保证了转台系统所要求的实时性能要求。但这种实现受到Windows内核非实时的限制, 仍然是软实时系统。

(3) Vx Works是由Wind River公司开发的一种实时嵌入式操作系统 (ERTOS) 。Vx Works为程序员提供了高效的实时任务调度、中断管理、实时的系统资源以及实时的任务间通信。在各种CPU平台上提供了统一的编程接口和一致的运行特性, 尽可能地屏蔽了不同CPU之间的底层差异。不仅如此, Vx Works相比同类实时系统, 一直以极高的实时性和可靠性著称。首先, 其系统本身的开销很小, 其内核和基本功能只有几十KB, 精简的内核和高效率的内核设计保证了Vx Works的实时性。其次, 任务调度和任务间通信的灵活高效也保证了其实时性。再次, Vx Works中通过特殊的上下文切换设计, 利用公共数据结构、信号量、消息队列等, 使上下文切换中的工作量减到最低。这些特点使得Vx Works可以实现微秒级的任务切换。Vx Works曾被广泛的应用于航空、航天、军事等领域。所以开发基于Vx Works的转台系统成为转台系统开发新的研究热点。

3 结语

Vx Works作为一款优秀的商用嵌入式实时多任务操作系统, 凭借其卓越的性能被广泛地应用在通信、军事、航空、航天等实时性要求极高, 而普通操作系统难以胜任的领域中。1997年4月在火星登陆的火星探测器上, 也以Vx Works作为嵌入操作系统, 它负责火星探测器的全部飞行控制, 包括飞行纠正、载体自旋和降落时的高度控制等, 而且还负责数据收集和与地球的通信工作。

Vx Works在我国的军事、通信、工业控制等领域也逐渐得到应用。特别是在航天、航空半实物仿真, 弹载、机载计算机, 军用雷达等高可靠性场合的应用取得了一定的研究成果。但由于Vx Works软件正版授权费用过于昂贵, 使其在民用场合的应用受到了一定的限制。当前, Vx Works在民用产品方面主要用于通讯、电力等对实时性和可靠性有较高要求的领域。

摘要:本文是以某型三轴仿真转台为研究背景, 介绍了三种转台控制软件平台的发展现状。

关键词:电动仿真转台,软件平台

参考文献

[1]陈家新, 彭丁嵩.DOS环境下实时多任务调度策略的实现[J].计算机应用, 2000.5:45-47.

[2]张正勇, 熊清平, 李作清.Windows系列平台下的实时控制研究[J].机电工程, 1999:36-37.

[3]李宏科.一种基于RTX的实时系统的实现[J].装备制造技术, 2006: (55) .

上一篇:同角三角函数平方关系下一篇:国际化护理人才