现今的信号处理设备越来越复杂,不仅要求高速的处理能力,而且要求功能多样化,仅仅追求速度已经不能满足需求。尤其在复杂多变的环境中,要求信号处理机能够完成多种处理功能,并能方便灵活地切换工作模式。因此有必要发展一种可重构和可扩展的通用信号处理系统,能将信号处理机多功能化、模块化、标准化和通用化。将嵌入式操作系统与高速实时信号处理机结合,可以很好地实现这些要求。在雷达系统中,信号处理不仅需要很高的处理速度,而且要满足控制显示多方面的需求,如果没有操作系统,实现起来不仅复杂而且不便于系统的模块化和标准化。因此,采用实时操作系统实现雷达系统的控制和显示功能。本文主要介绍了为什么使用实时操作系统以及基于DSP/BIOSⅡ实时操作系统的总体软件设计思想和方案。
1、总体硬件方案设计
本信号处理机以TMS320C5509作为整个系统的,由于考虑到图像的缓存需要较大的存储空间,所以扩展了三星公司的16 Mb的SDRAM--KM416S1020C作 为扩展存储器。整个系统的工作流程是由控制器和D/A提供给前端采样头所需的信号,并启动A/D对采样头传来的模拟信号进行采样,DSP接收之后做相应的信号处理,根据键盘的设定将图像按照一定的要求显示到彩色图形液晶上,并通过USB接口将数据传送到PC机存储以便做进一步的处理和显示。总体硬件框图如图1所示。
TMS320C5509数字信号处理器是德州仪器公司(TI)TMS320C5000系列中新推出的一种,极大降低了功耗,达到了每个MIPS只需0.05 mW的水平,与市场上的主流产品TMS320C54x相比,功耗降低了6倍。TMS320C5509的内核是从TMS320C54x上发展而来的,所以可以完全兼容现在市场主流的TMS320C54x系列处理器的指令,既保护了用户在软件方面的投资,又使得熟悉TMS320C54x编程的软件人员几乎不用再学习就可以编写他的软件。同时,TMS320C5509中还集成了大量诸如AD,USB控制器之类的片内外设,使其成为了一款具有SOC(片上系统)性质处理器,用户只需外加很少的辅助器件就可以构成一个较完整的DSP系统。从以上特点可以看出,TMS320C5509非常适合于应用在便携式系统中。
2、实时操作系统DSP/BIOSⅡ的简介
DSP是一种基于精简指令集的可编程数学计算芯片,可以对数字信号进行时频域变换、频谱分析、滤波、估值、增强、压缩等处理,广泛应用于家用电器、多媒体系统、雷达、卫星系统、移动通信、网络会议、医学仪器、实时图像识别与处理、语音处理、自适应制导控制、模式识别、定位、导航、联合战术无线电系统和智能基站等领域。本文重点介绍通用DSP在雷达信号处理系统中的典型应用,以及研制基于DSP的雷达信号处理系统的关键技术。
作为面向数字信号处理的可编程嵌入式处理器,DSP具有高速、灵活、可靠、可编程、低功耗、接口丰富、处理速度快、实时性好等特点。雷达信号处理系统所涉及的主要技术,包括数据重采样、参数估计、自适应滤波、恒虚警处理、脉冲压缩、自适应波束形成和旁瓣对消等,通常需要完成大量具有高度重复性的实时计算。DSP可以利用硬件算术单元、片内存储器、哈佛总线结构、专用寻址单元、流水处理技术等特有的硬件结构,高速完成FFT、FIR、复数乘加、相关、三角函数以及矩阵运算等数字信号处理。因此,DSP非常适合雷达数字信号处理算法的实现。
TI公司的DSP/BIOSⅡ是一种专门为TI公司的TMS320系列DSP芯片设计的嵌入式实时多任务操作系统。主要由5个部分组成:
(1)线程和调度(Procedure and Scheduling)
DSP/BIOSⅡ提供了4种不同的执行线程,包括HWI(硬中断任务)、SWI(软中断任务)和TSK(任务)等,每一类线程又具有不同的执行、挂起、休眠等特性。DSP/BIOSⅡ支持基于静态优先级的调度方法,又可以通过修改内核提供抢先式多任务服务。
(2)硬件抽象(Hardware Abstraction)
他提供了PIP和SIO两种数据传输模式,可以方便DSP与外设之间的数据交换。Pipe(数据管道)使用了较少的内存,并且传输的速度快、效率高。SIO(流)对内存有了更高的抽象,便于创建设备驱动程序更加结构化的方法。
(3)资源管理(Resoure Management)
利用DSP/BIOSⅡ的逻辑接口可以对特定的硬件部分进行访问和配置。DSP/BIOSⅡ不仅可以通过其设置工具来定义内存映射、中断向量表而且还可以设置定时器、串行口等硬件设备。
(4)通信和同步(Communication and Synchronization)
DSP/BIOSⅡ支持旗语(Semaphores)、邮箱(Mailbox)和数据队列(Queue)等多种内部线程通信和同步的方式。旗语是主要的同步方式,可以使任务通过旗语来运行和挂起,还可以用互斥旗语来管理缓冲区和设备。
(5)实时分析(Real-Time Analysis)
实时分析工具能够让开发者在程序执行期间对DSP进行交互和诊断。DSP/BIOSⅡ不仅提供了常用的日志(LOG),STS,TRC模块,还提供了CPU负载图(CPULoad Graph)、执行图(Execution Graph)等多种更方便的调试和观察工具。
3、基于DSP/BIOSⅡ实时操作系统的软件结构设计
使用DSP/BIOSⅡ来做项目的步就是模块划分,即把项目所要完成的功能拆分成几个相对独立的线程来完成(可以认为线程在运行时是独占DSP的),根据线程中使用硬件资源的情况考虑用什么类型的线程来完成。一般来说,用到硬中断的任务放到HWI来完成,用到定时器的任务可以放到PRD(周期任务)中完成。然后是确定线程之间的关系,根据他来设定各个线程的优先级,以及用 什么方式通讯和交换数据。旗语是便于使用的通讯方式。
探地雷达信号处理机的信号处理过程:A/D每采来一列数据之后给DSP发一个硬中断信号,每接收到一列数据之后,DSP对这列数据分别进行平均滤波和自适应滤波,同时进行列计数;当列计数到达一帧时,对这一帧图像信号进行小波去噪处理和脉冲压缩,根据键盘的设定把图像显示到图形液晶上,并通过USB接口送到PC主机,以便下一步的处理。
根据以上的执行过程,整个软件分解为12个独立的任务,其中列中断、USB数据传送这2个模块是HWI(硬中断)类型的任务,键盘模块属于PRD(周期性)任务(完成对键盘定期扫描),其余模块是SWI(软中断)类型的任务。初始化任务完成对DSP的初始设定后就删除;列中断任务负责给DSP发送列数据来临信息,触发列平均、列自适应任务,完成对一列数据的去噪处理;列计数模块完成对列中断的计数,当到达一帧时,发送帧中断,触发一系列针对帧的数据处理任务;整个软件系统的执行流程如图2所示。
DSP/BIOSⅡ提供了强大的分析调试工具。除了常用的方法之外,CPU负载图和执行图是两种非常有效的方法。CPU负载图提供的是目标CPU的负载曲线。CPU负载的定义是除去执行优先级任务以外的时间量。优先级任务是只在其他线程都不运行时才执行的任务。因此,CPU负载图包括从目标向主机传送数据和执行附加后台任务所需的时间。在执行图中,可以看到各个线程的活动方式。图形中还包括了信号量的活动,周期性函数标记(tick)和时钟模块标记。执行图能从整体上看到项目所有线程的活动状态。根据调试得到的信息可以评估线程的执行情况和CPU的负荷情况,配合其他调试工具,修改设计直到完成项目的功能需要。
CPU负载图反映的是软件系统所需要的性能和CPU实际性能的比值,像PC机上性能统计图,如果所需的性能大于DSP的实际性能,就必须修改设计、优化算法、加快时钟频率,甚至更换性能更高的DSP芯片。
执行图显示了各个任务执行过程中的细节信息,对于嵌入式应用而言,实时性是非常重要甚至是必须满足的条件,操作系统按很小的间隔进行调度就是力图保证系统响应的实时性。但是在实际中,如果任务分配不好,使得任务不能在调度间隔内完成,就会影响整个系统的实时性,这时,必须对任务划分作合理的修改。
4、DSP/BIOSⅡ操作系统使用中要注意的问题
(1)很好地使用DSP/BIOSⅡ的关键在于很好地理解操作系统,这有点像算法理论和应用算法的关系。操作系统凝聚了软件领域几十年发展中的精华,有很多概念和结构是需要很深入的理解和思考的,所以,初学者一定得反复看看一些专门讲操作系统的书籍。
(2)任务必须写成下面2种形式之一。
在DSP/BIOSⅡ开发环境里没有要求显示调用OSTaskDel(),这是因为开发环境自动做了处理,实际原理都是一样的。
5、结语
近年来,国内外雷达技术研究进展迅猛,各种新体制雷达相继问世,对雷达信号处理器的处理能力、存储能力、可扩展性、软件开发以及数据传输与互连能力等各个方面都提出了更高的要求。DSP技术的采用,增强了数据处理能力,提高了系统的性能指标,促进了现代雷达信号处理技术的发展。尤其是各种新型的DSP产品,对软件、外围接口技术和互连技术的良好支持,使雷达信号处理平台系统结构、拓扑结构得到优化,系统的可扩展性得到提高。随着DSP的开发和应用的深入,DSP将在信息与信号处理、通信与信息系统、自动控制、雷达、军事、航天和航空等许多领域得到更加广泛的应用。
本文对探地雷达信号处理机的硬件结构和软件设计都做了介绍,重点介绍了如何在项目应用中使用DSP/BIOSⅡ实时嵌入式操作系统。实时嵌入式操作系统已成为嵌入式系统设计中必不可少的一部分,利用这方面的技术,提高嵌入式系统开发的层次和深度是非常必要的。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。