嵌入式操纵系统在高速实时信号处理系统中的应用.docx

上传人:安*** 文档编号:17775080 上传时间:2022-05-26 格式:DOCX 页数:14 大小:23.21KB
返回 下载 相关 举报
嵌入式操纵系统在高速实时信号处理系统中的应用.docx_第1页
第1页 / 共14页
嵌入式操纵系统在高速实时信号处理系统中的应用.docx_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《嵌入式操纵系统在高速实时信号处理系统中的应用.docx》由会员分享,可在线阅读,更多相关《嵌入式操纵系统在高速实时信号处理系统中的应用.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、嵌入式操纵系统在高速实时信号处理系统中的应用嵌入式操纵系统在高速实时信号处理系统中的应用ronggang导语:本文设计的信号处理机主要应用于直升机火控系统,现已经过验收,各项指标符合要求。随着设计的改良,系统功能将进一步完善,构造会更加通用模块化,进而实现不改变整个硬件系统平台现今的信号处理设备越来越复杂,不仅要求高速的处理才能,而且要求功能多样化,仅仅追求速度已经不能知足需求。尤其在复杂多变的环境中,要求信号处理机可以完成多种处理功能,并能方便灵敏地切换工作形式。因此有必要开展一种可重构和可扩展的通用信号处理系统,能将信号处理机多功能化、模块化、标准化和通用化。将嵌入式操纵系统与高速实时信号

2、处理机结合,可以很好地实现这些要求。在雷达火控系统中,信号处理不仅需要很高的处理速度,而且要知足控制显示多方面的需求,假如没有操纵系统,实现起来不仅复杂而且不便于系统的模块化和标准化。因此,采用实时操纵系统VxWorks实现雷达系统的控制和显示功能。VxWorks是一种类UNIX的高性能嵌入式实时操纵系统,其中断响应速度是微秒级的。它是专门为实时嵌入式系统开发的操纵系统,提供了高效的实时任务调度、中断治理、实时系统资源及实时任务通讯。VxWorks可以为各种CPU硬件平台提供统一的接口和一致的运行特征,这便于以后的系统移植和晋级。基于以上优点,VxWorks广泛应用于航空、航天、医疗、通讯、雷

3、达和声纳等领域。1系统硬件设计与实现本系统硬件基于6U的VME总线设计,由多个子模块组成,包括A/D采样板、信号处理板、定时接口板、嵌入式计算机VG4。A/D采样板作为前端收集雷达的回波信号。它采用AD10242,采样率为32MHz,包含2个A/D变换器,可以对两路模拟信号作模数变换,输出2个12位的数据。由于采样的数据率远低于DSP的处理才能,所以通过大容量的FIFO对A/D采样的数据缓存,再以DMA的方式发送给DSP处理。为了知足要求,信号处理系统以流水的方式处理数据。通过链路口和总线使多片DSP进展数据传输,最后,由VG4显示目的检测结果。VG4是SBS公司的一款专门针对工业控制设计的嵌

4、入式计算机。VG4的处理器采用MotorolaPowerPC755,主频400MHz,拥有64MBSDRAM,16MBFlash用来固化操纵系统和应用程序,而且提供了丰富的接口。VxWorks操纵系统及其应用程序在VG4上运行。由于目的机VG4的资源有限,程序的开发由主机的穿插开发平台Tornado完成,通过串口和以太网下载目的代码并调试。程序开发完成后可以固化在目的机VG4的Flash上,这样系统每次启动就从Flash加载程序。操纵系统应用程序的开发主要采用C语言。系统的数据流如图1所示。1.1定时接口板的设计定时接口板对于整个系统实时稳定的工作起了关键作用。它产生的定时脉冲信号控制着发射接

5、收机、A/D采样板、信号处理板和VG4。定时接口板通过VME总线与VG4进展数据传输。VME总线是一种高性能的背板总线,由于采用高电流总线信号、严密的逻辑仲裁,所以具有极强的总线驱动才能及较长的信号线传输途径,可支持21个VME板卡的直接相连,信号可靠性非常高。VME总线由于其信号的高稳定性、并行性和高可靠性,被广泛应用于多DSP系统中。接口板上的FPGA实现VME桥接功能,使双口RAM连到VME总线和TS101的总线上,以进展数据传输。通过软件操纵VG4控制定时接口板启动波驻起始脉冲串T0,在每个波驻起始脉冲产生的同时产生定时中断脉冲,作为每帧定时信号组的时间基准。中断信号通过VME总线中断

6、VG4,并作为其中断恳求信号。VG4响应定时中断脉冲,向定时接口板传送控制参数。定时接口板据此参数控制信处、AD、收发设备,并接收信处回传的检测结果,传给VG4进展处理和显示。数据是由外部中断驱动的,所以能知足实时性要求。定时接口板构造如图2所示。1.2信号处理板的设计雷达信号处理的实时性和连续性要求处理系统应具有较高的数据处理才能。本系统设计时采用多片DSP构成并行处理系统,以进步系统的数据处理才能。信号处理系统核心单元是美国AnalogDevicesInc公司消费的ADSP-TS101,其峰值运算才能可达18亿次/秒。它采用了改良的静态超标量流水构造,可以构成各种不同的并行多处理器系统,较

7、好地知足了雷达信号处理的要求。为了保证系统的数据吞吐才能,采用数据入口与出口分开的方法,系统中各DSP分别接收处理位于不同时间段的雷达回波信号。为了使各DSP协调工作,DSP间的通讯必不可少。本系统采用分享总线的分布式构造,使得各DSP之间的通讯有多种途径。为了信号处理板的通用性和灵敏性,设计由四片DSP组成的分享总线构造子板,各DSP间用链路口点对点环形相连,将各信号线通过PMC插槽引出,与母板通讯。信号处理板构造如图3所示。2嵌入式实时操纵系统VxWorksVxWorks是实时多任务操纵系统,它能在确定的时间内执行其功能,并对外部异步事件作出响应。多任务环境允许一个实时应用划分为多个独立任

8、务运行,各任务有各自的线程和系统资源。VxWorks实时操纵系统由多个相对独立的目的模块组成,用户可根据需要选择适当模块来裁剪及配置系统,进而有效地保证系统的平安性和可靠性。这样,通过目的模块之间的按需组合,可得到很多知足功能需求的应用。下面介绍VxWorks的技术特征。1任务在VxWorks中,最小的程序运行单位称为任务Task。建立任务时,要对其分配一段固定的代码和数据空间。操纵系统内核通过任务控制块对它的执行、通讯、资源等情况进展控制。任务具有停当、阻塞、挂起和延迟等状态。与大多数嵌入式系统一样,在VxWorks中,所有任务存在于统一的线性空间中分享物理内存,每个任务没有自己独立的代码段

9、和堆,只有独立的动态栈,任务中的地址即是真正的物理地址。由于不需要进展地址空间映射,所以任务切换时的上下文切换ContextSwitch时间大为减少,进而符合实时操纵系统快速响应的原那么。VxWorks的代码段与堆分享减少了上下文切换时间,却带来了分享代码的可重入性问题。如一个函数被两个任务调用,当其中包含对全局、静态变量等从堆中分配空间的数据进展访问时,就有可能产生冲突,进而引发错误。这个问题在应用软件开发时要加以留意,其解决方法是使用部分变量从栈中分配空间或者使用互斥信号量对临界代码进展保护。2任务调度VxWorks有优先级抢占调度和时间片轮转调度两种任务调度策略。系统共有256个优先级。

10、优先级抢占调度指一个优先级较低的任务正在执行中,另一个优先级高的任务进入停当状态,那么马上抢占处理器资源,执行高优先级任务,直到高优先级任务释放处理器完成、挂起、阻塞等才继续执行被中断的低优先级任务。优先级抢占调度可以保证实时系统的迅速响应特性,但也存在问题。当系统中存在几个一样优先级的任务时,就会使单一任务独占处理器直至完成。假如这个任务占用过多时间,那么会影响其他同优先级任务的运行。当参加时间片轮转调度时,系统给一样优先级的任务分配一样的一段时间片,以轮转方式占用CPU。参加了基于优先级的时间片轮转调度方式,使不同优先级的任务间以抢占方式调度,一样优先级的任务以时间片进展轮转。3存储治理在

11、根本的内核中,任务直接操纵线性物理内存,不存在虚拟存储等复杂的存储治理策略,这主要是针对实时性考虑的。对于存在MMU的处理器中,VxWorks也提供支持标准的虚拟存储区和分享内存多处理器间分享组件。这样任务是操纵虚拟存储,代码更加平安。4任务间通讯任务间存在多种通讯形式,内核支持各种UNIX的通用手段:信号量Semaphore、消息队列MessageQueue、管道Pipe、信号Signal、套接字Socket。信号量主要用于对临界资源进展互斥保护及任务间或者中断与任务间的同步;消息队列多用于消息驱动机制;管道是基于文件系统实现的任务间按先进先出方式传送数据的通讯方式;信号相当于软中断,用于显

12、示错误信息;套接字机制主要用于网络通讯。当任务间需要大量交换数据时,由于VxWorks直接操纵物理内存,可以直接访问全局存储区,不需要十分的手段。这与Linux下的分享存储段申请和Windows中的存储映射文件方式不同。5中断在VxWorks中,所有中断效劳程序都不属于任何一个任务,并且使用同一个栈进展数据存储,中断将不会引起上下文切换,以实现高效的中断响应。中断与各任务之间可以通过前面所述的各种手段通讯,但是对中断效劳程序有一些限制。由于中断不存在上下文切换,所以不能调用可能导致阻塞的资源。例如动态分配内存malloc、获取信号量semTake和打印程序printf等。中断资源珍贵,所以中断

13、效劳程序应尽量短小,把运算量大和耗时的工作放在效劳程序外处理。6文件系统VxWorks支持网络文件系统NFS及多种本地文件系统,如MS_DosFS、RawFS和RT-11FS,用户可根据详细配置选择。7网络支持Vxworks支持多种物理介质的TCP/IP协议族和几乎所有常用的基于TCP/IP协议的应用层协议,如ARP、BOOTP、SLIP和FTP,甚至其启动就是通过BOOTP或者FTP方式获得系统映象文件。以上简单介绍了VxWorks的一些技术特征,充分反映了实时性与嵌入式的亲密相关性。3系统软件设计与实现VG4软件开发主要分为操纵系统的配置生成和应用程序的开发两局部。操纵系统的生成主要是对B

14、SP的配置和对VxWorks组件进展裁剪。在应用程序的开发中,为了知足实时性要求,应对任务进展公道划分,使程序到达多任务并行操纵。任务划分需要遵循以下原那么:1功能内聚性。对于功能联络比拟严密的各工作可以用一个任务来运行。假如用多个任务进展互相之间的消息通讯,将会影响系统效率。2时间紧迫性。对于实时性要求比拟高的任务,以高优先级运行,以保证事件的实时响应。3周期执行原那么。对于一个需要周期性执行的工作,应作为一个独立的模块完成。3.1操纵系统的配置在嵌入式操纵系统上进展开发要知足实时性和资源有限性的要求,因此与通用操纵系统存在差异。在生成操纵系统时剪裁不需要的组件,添加需要的组件,使系统尽量精

15、简。操纵系统及其应用程序主要运行在内存中,操纵系统太大会占用很多的内存空间。应用程序运行时要对每个任务分配适宜的内存。为了知足实时性,内存分配要尽可能快,因此不采用通用操纵系统中复杂而完善的内存分配策略,而采用简单、快速的内存分配方案。假如系统对于实时性和可靠性的要求极高,不能容忍一点延时或一次分配失败,最好采用静态分配方案,也就是在程序编译时所需要的内存都已经分配好了。例如,火星探测器上的嵌入式系统就必须采用静态分配方案。雷达系统对实时性要求很高,所以本系统尽量采用静态分配方案。但是VG4内存有限,在一些子任务中也采用动态分配方案。这里VxWorks采用FirstFit的内存动态分配方式,当

16、系统需要动态分配内存时,可以保证在很短的时间内分配。但是采用这种方式轻易产生大量的内存碎片,而VxWorks没有去除碎片的功能,因此对系统动态分配内存要非常小心。根据本系统的实际情况,接口板传给VG4的信处检测结果数据量根本不变,对于这批数据可以以另一种方式存储。通过修改BSP的配置,从RAM中分配一块用户保存的存储区域。这块存储区是用户专用的,不会被系统覆盖。用户可以通过绝对地址对其进展读写。详细方法是设置RAM布局中Userreserved区域,系统默以为0,设置这块RAM使之知足原始数据的大小。3.2应用程序的设计应用程序运行在VxWorks操纵系统上,其功能包括对系统初始化、根据输入命

17、令对各模块进展控制及实时显示信号处理结果。存在着如下几类数据通讯:VG4向定时接口板传送控制参数,读取定时接口板中存储的信处检测结果数据,响应外部中断,显示目的信息以及获得外部输入的控制信息。考虑到C语言的平台无关性和代码简介高效性,应用程序采用C语言编写。系统划分为6个任务:1系统监控:启动和监控其他任务。2数据传输:响应VME中断,与定时接口板进展数据通讯。3数据处理:对信处检测结果数据进展处理,扣除虚假目的并转换格式以方便显示。4终端显示:显示检测目的结果和系统状态信息到屏幕。5指令控制:响应控制开关的命令和获取惯导数据。6错误处理:对出现错误的任务做出响应的处理,并在终端显示。中断效劳

18、程序响应定时VME7号中断,程序如下:ifintConnectVOIDFUNCPTR0xf0,intHdlr,0=ERRORputsintInit:ErrorinconnectingtotheISR;returnERROR;ifsysIntEnable7=ERROR/响应7号VME中断/putsintInit:ErrorinEnableISR7;returnERROR;图4显示了各任务的优先级。从中可以看到中断效劳程序的优先级最高,由于实时系统要及时响应外部中断信号。指令控制任务首先获取外部开关命令和惯导数据,以消息的形式发送给数据传输任务。当中断降临时,中断效劳程序马上释放同步信号量sync

19、SemId。数据传输任务一直等待这个信号量,当获取到这个信号量时,立即把从指令控制任务收到的消息转换成形式字写到接口板的双口RAM中,接着读取信处检测结果数据。数据处理子任务获取同步信号量syncSemId2后对收到的信处检测结果数据进展处理,这一任务最耗时。终端显示任务以消息的形式接收上一任务的处理结果,并显示处理结果及系统目前的运行状态信息。信号量广泛应用于同步和对临界资源的保护,信号量的建立如下:ifsyncSemId=semBCreateSEM_Q_FIFO,SEM_EMPTY=NULL/建立同步信号量/putsnintInit:semBCreatefailed;returnERROR

20、;ifinputGuardSemId=semMCreateSEM_Q_PRIORITY|SEM_INVERSION_SAFE|SEM_DELETE_SAFE=NULL/建立互斥信号量/putsnintInit:semMCreatefailed;returnERROR;系统监控任务包括初始化各任务及实时监控各任务运行是否正常。当检测到某任务运行不正常时,启动错误处理任务。错误处理任务根据情况给予相应处理,并在终端显示。当系统发生严重错误时,系统会自动重启。本文设计的信号处理机主要应用于直升机火控系统,现已经过验收,各项指标符合要求。随着设计的改良,系统功能将进一步完善,构造会更加通用模块化,进而实现不改变整个硬件系统平台,只对程序进展相应的修改,便可应用于其他领域的信号处理系统中。1赵树杰,史林.数字信号处理.西安:西安电子科技大学出版社,19972WindRiver.VxWorksProgrammersGuide5.5.20023WindRiver.VxWorksAPIReference.20024WindRiver.TornadoUsersGuideWindowsVersion.20025苏涛,蔡建隆,何学辉.DSP接口电路设计与编程.西安:西安电子科技大学出版社,2003

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁