一、引言
软件无线电已成为新的第三代移动通信系统3G系统的关键技术之一。另一方面,软件无线电在军事上应用也越来越广泛,并获得初步的成功。现代战争是高技术条件下的局部战争,对通信有极高的要求,当前军事学说指出现代军事通信系统应该具有互通性、灵活性、移动性、抗毁性、易维护性,而软件无线电是现代军事通信系统实现其特性的关键。
软件无线电的核心思想就是把宽带数模或模数转换器放置在尽可能靠近天线的地方,将模拟信号数字化。从转换器以下电台的其它部分则通过构建一个通用的可编程硬件平台来完成,利用加载软件实现这些部分的相应功能。由于软件无线电结构上的开放性和完全的可编程性,使它不仅能够兼容现役的多种电台,而且还可象微型计算机一样通过更新软件和硬件模块不断得到升级换代来适应新的通信发展模式。
软件无线电对通信侦察提出了新的挑战。显然,工作频率范围不宽、功能单一的传统通信侦察设备对付不了频段宽、工作方式灵活、能够兼容现役各类电台功能的软件无线电通信电台。因此,通信侦察系统必须采用软件无线电模式才能满足实际的需要。软件无线电通信侦察系统结构图如图1所示。
在整个软件无线电通信侦察系统中,预处理的任务是实时快速地对采集的信号进行(快速傅里叶变换)变换(FFT),然后取模取极大值,经过门限比较后将稀释的预处理结果数据送给主处理机,进行结果显示和进一步的处理。可见预处理在整个系统中起到关键的作用,要求预处理必须实时高速。预处理任务流程如图2所示。
二、采用DSP的高速预处理方案
数字信号处理(DigitalSignalProcessing,简称DSP)是20世纪90年代迅速发展起来的新兴学科,其中TI公司的TMS320系列占据了主导地位。因为DSP是一种专门进行数字信号处理运算的微处理器,它的指令处理器芯片内部结构有关,能够实现运算的优化,因此具有很高的运算速度。比如TI公司的DSPC62X系列,定点处理能力大约在1200~2400MIPS,C67X系列浮点处理能力大约在600MOPS~1GOPS左右。因此,大多设备均采用了DSP作高速预处理的方案。
尽管DSP的各类产品应用很广,但要使它能够深入、持久地得以发展,必须要有相应优秀的DSP开发系统提供给用户一个灵活、方便的开发工具,使用户在开发系统上可以完成对目标机的软件、硬件系统的综合调试。DSP开发系统对于DSP应用系统来说是一项基础的工作,是否有一个适用的且有效的DSP开发系统,往往是关系到DSP应用成败的关键因素之一。
当前DSP开发系统主要包括JTAG仿真开发系统、DSK开发系统、总线式DSP开发卡设计、嵌入式DSP开发系统。
TI公司首先实现的JTAG仿真系统,需要在设计目标板时预留出DSP适配器插座,而且在仿真时还要占用用户板的部分资源。更重要的是,往往受制于开发系统的限制无法充分开发目标机的硬件资源、调试应用软件,特别对于移动DSP系统进行二次调试非常困难。
TI公司开发生产的DSK通过与PC机简单接口,就可以学习使用DSP,具有实时处理的强大功能。在DSP基础上,通过适当的硬件扩展,很容易构成一个小型实用的DSP系统。而且在目标机工作正常的情况下能够实现对软件、硬件的调试工作,而且不占用目标机的任何资源。由此可以看出,DSK本身就是一个能实现一定功能的应用系统,由于其具有串口通信的特点,因此具有一定的代表性。这类开发系统也有很大的局限性,就是偏重于软件的调试。当目标机出现硬件故障时,无法实现故障的诊断与排除,而且由于采用串口通信,因此传送速率较慢。
DSP的DS开发系统,结合以上两种开发系统的优势,实现了对目标机的软件和硬件开发。它所采用的总线式开发目标机的思想成为目前较流行的开发方式,不但能调试DSP,也可以扩展调试任何微处理机。但是,它并没有脱离基于仿真器的思想,因此在速度和灵活性方面受到一定的制约。
与传统的基于仿真器的调试方法相比,嵌入式自我调试有许多优点:一是避免了用仿真器调试目标板时的困难;二是用户目标板直接与微机相联系避免了仿真器在中间隔离,能加快调试速度:三是调试功能根据实际需要自行开发和扩展;四是软件直接在目标板上运行,调试完毕后只需固化便可以脱机运行。可以说嵌入式开发系统是目前开发系统中最经济、快捷方便的方法之一,尤其是对于复杂数字信号处理算法的调试特别有效,是今后DSP开发领域发展的方向,但对开发者的软、硬件设计能力水平要求较高。
因此,DSP的开发对开发者的软、硬件设计能力水平都有很高的要求,如果要充分发挥DSP的优势,最好采用汇编语言进行软件开发,这样就会开发周期长,开发难度加大,并且DSP的软件可移植性比较差。由于DSP的指令都和它处理器芯片内部结构有关,每一代处理器的结构都有所不同,结构发生变化后,在其之上的软件也要发生很大的变化,如C64的内部硬件结构不同于C5X,所以C64的一些指令就不同于C5X,曾经熟悉C5X的技术人员不得不从头开始学起C64的指令,这就给编程人员带来了很大的不便,增加了开发的难度和周期。而且现在DSP芯片更新换代很快,技术人员很难跟上更换的步伐。这就降低了整个系统的灵活性,软件的可移植性差。
三、采用RTLinux的高速预处理方案
1.嵌入式系统
嵌入式系统被定义为:以应用为中心、以计算机技术为基础,软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统是面向用户、面向产品、面向应用的,嵌入式处理器的功耗、体积、成本、可靠性、速度、处理能力、电磁兼容性等方面均受到应用要求的制约。在嵌入式系统下系统一般没有多少可用的内存,更没有可用的外存,操作系统就装在有限的存储器中如ROM或FLASH。嵌入式系统一般由一个很小的内核及一些可以根据需要定制的系统模块组成,所占空间很小,具有很高的灵活性。嵌入式处理器的应用软件是实现嵌入式系统功能的关键。软件要求固化存储,软件代码要求高质量、高可靠性,系统软件(OS)的高实时性是基本要求。
2.嵌入式实时Linux
许多嵌入式系统要求能预测、可限定响应时间地响应外界事件,也就是有实时性的要求。用于嵌入式场合的实时操作系统就是嵌入式实时操作系统,此类实时系统包括自动控制、数据采集和信号处理等系统。一般“实时”的含义是指对来自外界的事件必须在可预测的、相对短的时间段内得到响应。实时系统一般分为2种类型:软实时系统和硬实时系统。软实时系统指系统整体吞吐量大或者整体响应速度快,但是不能保证在规定的时间内完成规定的任务。硬实时系统指任务必须在规定的时间内正确的完成。
嵌入式实时系统有很多,这里只介绍实时Linux系统。Linux本身不是一个是真正的实时操作系统,通用的Linux操作系统有3个不利于实现实时性的弊端:中断封锁时间过长;非抢占式Linux内核;耗尽式、机会均等的进程调度策略。但是它已经有几个增加的选择可以给基于Linux的系统提供实时特性。其中,最常用的办法是双内核相结合,把一个通用操作系统作为一个任务运行在一个实时内核上。通用操作系统提供磁盘读写、网络及通讯、串/并口读写、系统初始化、内存管理等功能,而实时内核则处理实时事件的响应。双内核策略充分兼容标准的Linux,而又采用一种不干扰原Linux的方式来增加了实时功能。
RTLinux(RealTimeLinux)是一个嵌入式硬实时操作系统,RTLinux实现了一个小的实时核心,仅支持底层任务创建、中断服务例程的装入、底层任务通信队列、中断服务例程(ISR)和Linux进程。原来的非实时Linux核心作为一个可抢先的任务运行于这个小核心之上,优先级最低,随时会被高优先级任务抢占。用户可自行编写调度程序,它们可实现为可加载的核心模块;已实现的调度程序有:基于优先级的抢占式调度和EDF调度;基于优先级的调度使用“单调率算法”,它直接支持周期任务。RTLinux是硬实时系统,系统响应速度可达微秒级。
3.RTLinux预处理系统
我们采用RTLinuxv3.0来开发预处理系统。从资料上看,RTLinuxv3.0为某些嵌入式处理器提供低于10μm的中断响应时间(最差情况),为标准PC提供低于20μm的中断响应时间(最差情况)。为了进一步验证RTLinux是否满足项目实时性能的要求,我们对它的实时性能指标进行了测试。由于在项目中主要的技术指标是中断响应时间,我们采用并口中断的方法进行测试中断响应时间。在PII300MHz的PC机上做一个并口中断卡,每10μm中断一次,测试中断响应时间,结果如表1所示。从测试结果可以看出,RTLinux具有很好的实时性。
采用RTLinux的预处理系统还需要编写设备驱动程序。按照在Linux下编写驱动程序的规则编写,编写以下驱动程序:(1)对设备初始化和释放;(2)把数据从内核传到硬件和从硬件读取数据;(3)读取应用程序传递给设备文件的数据和回送应用程序请求的数据;(4)检测和处理设备出现的错误。
如图3所示,在相应的硬件基础上,我们加载RTLinuxv3.0操作系统、设备驱动程序和预处理程序,就组成了一个预处理系统。在整个侦察系统的性能调试中,预处理部分经测试运行效果良好,并满足实时性要求。
四、结束语
嵌入式实时操作系统是源码开放、系统可裁减的,可以根据处理器的和硬件的类型进行配置,精简了内核,达到最简最优的系统,使系统具有很好的实时性。嵌入式实时Linux操作系统运行于高速的微处理器之上,随着微处理器的快速发展,处理速度几乎可以和DSP相媲美。作为操作系统,它使用户不需和硬件打交道,利用操作系统提供一些标准的接口,可用高级语言来编写程序,缩短软件开发周期,降低软件开发难度,并且大大提高了程序的可移植性和扩展性。所以用嵌入式实时Linux操作系统来代替DSP来实现预处理,可以大大提高系统的灵活性和软件的可移植性,便于系统的维护和升级换代。因此采用RTLinux预处理的软件无线电通信侦察系统具有很大的优越性。更为重要的是,Linux源码开放的,在该操作系统上开发的程序具有自主知识产权,保密性好,更适应于军用软件无线电通信侦察设备。