《以实时操纵系统在探地雷达信号处理中的应用.docx》由会员分享,可在线阅读,更多相关《以实时操纵系统在探地雷达信号处理中的应用.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、以实时操纵系统在探地雷达信号处理中的应用xuzh导语:随着DSP数字信号处理器性能的改良,应用范围的扩大,十分是在消费类电子产品的应用日益增加随着DSP数字信号处理器性能的改良,应用范围的扩大,十分是在消费类电子产品的应用日益增加,DSP除了继续承当传统的算法处理核心的角色之外,还需要完成一些控制性的或者事务性的工作,而这些工作以前往往是由控制才能、线程治理才能更强的MCU或者CPU来完成。嵌入式实时操纵系统的应用解决了DSP系统开发中的2个重要的问题:一是可以保证系统响应的实时性,二是使复杂的多线程多任务的软件系统的开发变得相对简单易行。DSP平台的信号处理机一般只是整个系统的一个专用于信号
2、处理算法的子局部,不需要控制过多的外设,而且为了知足实时信号处理,尽量采用前后台式的线性程序构造。本设计的信号处理机是希望以他为主体构成一个完好的便携式雷达系统,除了信号处理的任务之外,采样、显示、通讯等多种任务也必须由他来完成,需要知足实时多任务的要求,所以必须使用嵌入式实时操纵系统。本文主要介绍了为什么使用实时操纵系统以及基于DSPBIOS实时操纵系统的总体软件设计思想和方案。1、总体硬件方案设计本信号处理机以TMS320C5509作为整个系统的核心,由于考虑到图像的缓存需要较大的存储空间,所以扩展了三星公司的16Mb的SDRAMKM416S1020C作为扩展存储器。整个系统的工作流程是由
3、控制器和DA提供应前端采样头所需的信号,并启动AD对采样头传来的模拟信号进展采样,DSP接收之后做相应的信号处理,根据键盘的设定将图像按照一定的要求显示到彩色图形液晶上,并通过USB接口将数据传送到PC机存储以便做进一步的处理和显示。总体硬件框图如图1所示。TMS320C5509数字信号处理器是德州仪器公司TITMS320C5000系列中新推出的一种,极大降低了功耗,到达了每个MIPS只需005mW的程度,与市场上的主流产品TMS320C54x相比,功耗降低了6倍。TMS320C5509的内核是从TMS320C54x上开展而来的,所以可以完全兼容如今市场主流的TMS320C54x系列处理器的指
4、令,既保护了用户在软件方面的投资,又使得熟悉TMS320C54x编程的软件人员几乎不用再学习就可以编写他的软件。同时,TMS320C5509中还集成了大量诸如AD,USB控制器之类的片内外设,使其成为了一款具有SOC片上系统性质处理器,用户只需外加很少的辅助器件就可以构成一个较完好的DSP系统。从以上特点可以看出,TMS320C5509非常合适于应用在便携式系统中。2、实时操纵系统DSPBIOS的简介TI公司的DSPBIOS是一种专门为TI公司的TMS320系列DSP芯片设计的嵌入式实时多任务操纵系统。主要由5个局部组成:1线程和调度ProcedureandSchedulingDSPBIOS提
5、供了4种不同的执行线程,包括HWI硬中断任务、SWI软中断任务和TSK任务等,每一类线程又具有不同的执行、挂起、休眠等特性。DSPBIOS支持基于静态优先级的调度方法,又可以通过修改内核提供抢先式多任务效劳。2硬件抽象HardwareAbstraction他提供了PIP和SIO两种数据传输形式,可以方便DSP与外设之间的数据交换。Pipe数据管道使用了较少的内存,并且传输的速度快、效率高。SIO流对内存有了更高的抽象,便于创立设备驱动程序更加构造化的方法。3资源治理ResoureManagement利用DSPBIOS的逻辑接口可以对特定的硬件局部进展访问和配置。DSPBIOS不仅可以通过其设置
6、工具来定义内存映射、中断向量表而且还可以设置定时器、串行口等硬件设备。4通讯和同步CommunicationandSynchronizationDSPBIOS支持旗语Semaphores、邮箱Mailbox和数据队列Queue等多种内部线程通讯和同步的方式。旗语是最主要的同步方式,可以使任务通过旗语来运行和挂起,还可以用互斥旗语来治理缓冲区和设备。5实时分析Real-TimeAnalysis实时分析工具可以让开发者在程序执行期间对DSP进展交互和诊断。DSPBIOS不仅提供了常用的日志LOG,STS,TRC模块,还提供了CPU负载图CPULoadGraph、执行图ExecutionGraph等
7、多种更方便的调试和观察工具。3、基于DSPBIOS实时操纵系统的软件构造设计使用DSPBIOS来做工程的第一步就是模块划分,即把工程所要完成的功能拆分成几个相对独立的线程来完成可以以为线程在运行时是独占DSP的,根据线程中使用硬件资源的情况考虑用什么类型的线程来完成。一般来讲,用到硬中断的任务放到HWI来完成,用到定时器的任务可以放到PRD周期任务中完成。然后是确定线程之间的关系,根据他来设定各个线程的优先级,以及用什么方式通讯和交换数据。旗语是最便于使用的通讯方式。探地雷达信号处理机的信号处理经过:AD每采来一列数据之后给DSP发一个硬中断信号,每接收到一列数据之后,DSP对这列数据分别进展
8、平均滤波和自适应滤波,同时进展列计数;当列计数到达一帧时,对这一帧图像信号进展小波去噪处理和脉冲压缩,最后根据键盘的设定把图像显示到图形液晶上,并通过USB接口送到PC主机,以便下一步的处理。根据以上的执行经过,整个软件分解为12个独立的任务,其中列中断、USB数据传送这2个模块是HWI硬中断类型的任务,键盘模块属于PRD周期性任务完成对键盘定期扫描,其余模块是SWI软中断类型的任务。初始化任务完成对DSP的初始设定后就删除;列中断任务负责给DSP发送列数据降临信息,触发列平均、列自适应任务,完成对一列数据的去噪处理;列计数模块完成对列中断的计数,当到达一帧时,发送帧中断,触发一系列针对帧的数
9、据处理任务;整个软件系统的执行流程如图2所示。DSPBIOS作为一种商用的操纵系统,提供应便于使用的图形配置界面。使用图形界面可以帮助开发者快速开发程序,不必写繁琐的初始化程序,而可以用图形界面配置后让编译器自动生成。比方对于串行口MCBSP的设置就需要配置中断源、数据格式、收发频率等十几个存放器,费事而且轻易出错,但是假如使用图形界面来设置,一切就轻易多了。图形配置界面不仅可以完成对硬件资源的设置,还可以对任务、信号量进展初始化,完成了他,也就完成了使用DSPBIOS的第二步工作。完成各个线程程序的编写之后,编译并载入DSP中运行。DSP首先初始化,然后从MAIN函数跳入任务循环队列,按照优
10、先级执行队列中的任务,而任务一般都是无限循环的,只被特定的信号量挂起。DSPBIOS提供了强大的分析调试工具。除了常用的方法之外,CPU负载图和执行图是两种非常有效的方法。CPU负载图提供的是目的CPU的负载曲线。CPU负载的定义是除去执行最低优先级任务以外的时间量。最低优先级任务是只在其他线程都不运行时才执行的任务。因此,CPU负载图包括从目的向主机传送数据和执行附加后台任务所需的时间。在执行图中,可以看到各个线程的活动方式。图形中还包括了信号量的活动,周期性函数标记tick和时钟模块标记。执行图能从整体上看到工程所有线程的活动状态。根据调试得到的信息可以评估线程的执行情况和CPU的负荷情况
11、,配合其他调试工具,修改设计直到完成工程的功能需要。CPU负载图反映的是软件系统所需要的性能和CPU实际最大性能的比值,像PC机上性能统计图,假如所需的性能大于DSP的实际性能,就必须修改设计、优化算法、加快时钟频率,甚至更换性能更高的DSP芯片。执行图显示了各个任务执行经过中的细节信息,对于嵌入式应用而言,实时性是非常重要甚至是必须知足的条件,操纵系统按很小的间隔进展调度就是力图保证系统响应的实时性。但是在实际中,假如任务分配不好,使得任务不能在调度间隔内完成,就会影响整个系统的实时性,这时,必须对任务划分作公道的修改。比方本系统中对一列数据的去噪处理,原先是等到一帧数据来到后再做的,仿真中
12、发现这样使得一帧间隔内所要执行的任务太多,DSP无法完成,所以将数据的预处理改到每一列去做,保证系统的实时性。4、DSPBIOS操纵系统使用中要留意的问题1很好地使用DSPBIOS的关键在于很好地理解操纵系统,这有点像算法理论和应用算法的关系。操纵系统凝聚了软件领域几十年开展中的精华,有很多概念和构造是需要很深化的理解和考虑的,所以,初学者一定得反复看看一些专门讲操纵系统的书籍。2任务必须写成下面2种形式之一。在DSPBIOS开发环境里没有要求显示调用OSTaskDel,这是由于开发环境自动做了处理,实际原理都是一样的。5、完毕语本文对探地雷达信号处理机的硬件构造和软件设计都做了介绍,重点介绍了怎样在工程应用中使用DSPBIOS实时嵌入式操纵系统。实时嵌入式操纵系统在国外得到广泛的应用,已成为嵌入式系统设计中必不可少的一局部,但是在国内高校,以DSP为核心的嵌入式平台中,嵌入式操纵系统的应用很有限。所以快速利用这方面的最新技术,进步嵌入式系统开发的层次和深度是刻不容缓的。