本发明涉及弹载应用平台领域,具体涉及一种dsp通信任务调度系统及方法。
背景技术:
:当前,随着武器装备系统信息化、智能化的快速发展,对导弹武器系统的功能和性能指标要求也越来越高,系统整体设计明显趋于复杂,同时对弹载平台分系统间实时通信系统架构的设计也提出了更高的要求。根据导弹武器系统模块化设计的要求,弹载平台末制导信号处理系统分解为多个子系统组成,每个系统完成不同的任务和功能,系统间通过多种格式的通信接口进行连接和实时通信,完成多个子系统模块间的同步协作,最终实现导弹武器末端制导功能。该系统涉及多个单机部件通信交互,通信接口和数据流格式多样,系统运行状态复杂,实时性要求高,因此系统的可靠性很大程度上取决于任务调度系统及方法的设计。同时由于弹载应用环境对软件运行实时性和稳定性都有较高的要求,现有任务调度系统难以实时稳定的对多个通信任务进行合理分配和控制,因此,在系统运行过程中常常出现线程互斥、通信死锁、资源访问冲突、命令响应不及时等问题,难以满足通信任务完成的实效性和系统运行可靠性。技术实现要素:针对现有技术中存在的缺陷,本发明的目的在于提供一种dsp通信任务调度系统及方法,较现有通信任务调度系统硬件资源占用少、处理时间延迟低,能很好的满足弹载嵌入式平台工程化应用环境需求。为达到以上目的,本发明采取的技术方案是:一种dsp通信任务调度方法,包括以下步骤:s1、根据通信任务功能将dsp通信任务调度系统各子模块的通信任务进行分类,并根据系统功能需求对每类通信任务的优先级进行设置;s2、设置任务调度系统运行状态机,并将状态机结合通信任务分类,对每个通信任务处理过程的通信指令进行权限位控制;s3、当任务调度系统接收到消息时,对接收到的消息进行二级缓存、设定消息分类及消息响应权限,并根据消息分类决定处理顺序,根据消息响应权限和当前状态机对应关系决定是否响应处理。在上述技术方案的基础上,步骤s2中,设置任务调度系统在不同状态机下只能响应子系统的对应授权的消息或者命令。在上述技术方案的基础上,所述步骤s3具体包括:s301、当任务调度系统接收到消息时,立即将接收到消息拷贝到二级缓存中,并对二级缓存消息进行锁存保护;s302、任务调度系统将收到消息分为紧急处理类和普通类,直接相应处理紧急处理类消息;将普通类消息存入消息缓冲池;s303、任务调度系统向收到消息赋予在各类状态机下的响应权限,在处理消息时,根据消息响应权限和当前状态机对应关系决定是否响应处理。在上述技术方案的基础上,所述步骤s3中,消息的处理在二级缓存中执行。在上述技术方案的基础上,在步骤s302后,在系统无紧急消息需要处理时,任务调度系统向缓冲池查询待处理的普通消息,如存在待处理的普通消息则取出处理。在上述技术方案的基础上,所述取出缓冲池普通消息进行处理的步骤具体包括:根据消息索引找到最新的命令消息;根据消息接收时间和当前时间判断消息是否还在有效响应时间内,如在有效响应时间内,进行调出处理,并在处理消息后更新消息计数和消息索引号;如超过有效响应时间,则放弃对该消息的处理。在上述技术方案的基础上,所述将普通类消息存入消息缓冲池的步骤具体包括:任务调度系统对待存入缓冲池的消息进行封装,按存入顺序对消息进行编号;将消息存入缓冲池内对应的信息槽中;更新消息计数和消息索引号。在上述技术方案的基础上,所述任务调度系统对待存入缓冲池的消息进行封装过程中,编号id写入消息头,消息的处理标志、接收时间、有效时间等属性写入消息的尾部。在上述技术方案的基础上,所述将消息存入缓冲池内对应的信息槽中的过程具体包括:当缓冲消息数小于最大缓冲索引号时,消息顺序缓冲至对应的存储槽,到消息缓冲数超出最大索引时新缓冲的消息将覆盖最旧的消息槽。本发明还提供一种dsp通信任务调度系统,包括:设置模块,用于根据系统功能需求对每类通信任务的优先级进行设置,以及对系统的运行状态机、每个通信任务处理过程的通信指令权限位进行设置;分类模块,用于根据通信任务功能将dsp通信任务调度系统各子模块的通信任务进行分类,以及将状态机结合通信任务进行分类,并将分类结果反馈至设置模块;接收模块,用于接收控制系统、遥测系统以及各子模块发送的通信消息并转发至处理模块;处理模块,对接收到的消息进行二级缓存、设定消息分类及消息响应权限,并根据消息分类决定处理顺序,根据消息响应权限和当前状态机对应关系决定是否响应处理。与现有技术相比,本发明的优点在于:(1)本发明的dsp通信任务调度系统通过对内部任务系统架构的改进设计,较现有通信任务调度系统硬件资源占用少、处理时间延迟低,能很好的满足弹载嵌入式平台工程化应用环境需求。(2)本发明的dsp通信任务调度系统中主程序按照预先设计的状态机运行,不同状态机下只响应对应授权的通信任务,避免非法或无效通信指令的干扰,有效克服线程互斥和通信死锁的问题;对多通信任务设置不同处理优先级别,针对不同优先级任务分类执行,有效提升任务响应处理的实时性。(3)本发明的dsp通信任务调度方法引入消息缓冲机制,并通过独特的消息缓冲池和消息缓冲索引实施缓冲计数和处理,实现了指令接收和任务处理操作并行执行,避免消息接收存储区的读写冲突。(4)本发明的dsp通信任务调度方法根据弹载平台高速实时通信应用环境特点,采用简洁软件架构设计,对通信任务进行分类,同时将接收到的消息分级存储并分类分时处理,采用消息二级缓存接收并行处理、优先响应紧急通信任务、缓存并延迟处理普通通信任务等手段,有效解决了弹载系统消息通信复杂、处理响应实时性高的需求,实现了弹载嵌入式平台通信任务处理的准确性和实时性。附图说明图1为本发明实施例中dsp通信任务调度系统的系统框架图;图2为本发明实施例中dsp通信任务调度系统中运行状态机模型;图3为本发明实施例中dsp通信任务调度方法的响应策略流程图;图4为本发明实施例中消息缓冲池数据结构体示意图。具体实施方式以下结合附图及实施例对本发明作进一步详细说明。参见图1所示,本发明实施例提供一种dsp通信任务调度系统,该弹载多任务dsp软件实时任务调度系统架构设计如图所示,在整体系统架构中,本调度系统与控制系统、光学探测系统、雷达探测系统、遥测系统、gps系统、上位机系统等模块连接,与各子系统模块数据交互通过高速总线srio(serialrapidi/o)接口实现,本系统采用的高性能tms320c6678dsp芯片,该芯片仅有一个srio接口模块,表明调度系统与各子模块的通信都需通过同一个硬件接口实现。在具体运行任务前,对该系统的设置步骤包括以下方面:1、调度系统将其与各子模块的通信任务进行分类,并根据系统功能需求对每类通信任务的优先级进行设置,本发明共设计一级、二级、三级三个任务优先级,一级任务优先级最高,三级任务优先级最低,具体的,在一个实施例中可采取以下设置方式:接收控制系统实时发送过来的控制命令,该通信任务是其它子系统工作的前提,属于最重要任务,所以将调度系统与控制系统的通信设置为一级通信任务,优先级最高。光学探测系统和雷达探测系统完成末制导的主要功能,属于重要任务,所以将本调度系统与光学探测系统、雷达探测系统的通信任务设置为二级通任务。遥测系统、gps系统、上位机系统实现的功能属于辅助类功能,实时性要求较前几个模块较低,所以将本调度系统与遥测系统、gps系统、上位机系统的通信任务设置为三级任务,优先级较低。2、本发明中调度系统dsp软件通过srio模块与多个子系统进行通信,系统通信协议事先约定好不同子模块消息的接收和发送地址,同时规定对应的dsp处理器通信中断信息icsr(interruptconditionstatusregister),具体通信协议约定如表1所示。调度系统dsp软件接收完一次消息的同时会收到一个doorbell中断,程序在中断服务函数中对doorbell中断系统的icsr寄存器进行解析,对照表1识别该通信任务的类别,得到消息的接收子系统及接收地址。综上所述,调度系统在处理各通信任务进程时,会对任务优先级进行判别,保证高级别任务优先于低级别任务执行。表1系统通信协议设置表子模块名接收地址发送地址doorbellicsr控制系统0x008600000x0000000001光学探测系统0x008610000x1000000002雷达探测系统0x008620000x2000000003遥测系统0x008630000x3000000004gps系统0x008640000x4000000005上位机系统0x008650000x5000000006s2、设置任务调度系统运行状态机,并将状态机结合通信任务分类,对每个通信任务处理过程的通信指令进行权限位控制;根据实时通信调度需要将系统软件运行状态划分为多个状态机,本发明中将系统运作状态划分为空闲状态、自检状态、准备状态、实时控制状态,在步骤s1中,已按照系统框架对调度软件与各子系统的通信功能进行了分类,本步骤设置的状态机结合通信任务分类,对每个通信任务的可能处理的通信指令进行权限位控制,设计在不同状态机下只能响应子系统的对应授权的消息或者命令,防止调度系统在运行过程中受到非法和无效指令的干扰。同时状态机的设计具有可扩展性,根据系统需要可对状态机进行扩充和细化。一个具体的实施例中,弹载多任务dsp软件实时任务调度系统运行状态机设置如下所示:首先,根据实时调度系统软件的需要将dsp软件运行状态划分为自检状态、空闲状态、待命状态、实时控制状态等。各状态机转化方式如图2所示,系统上电运行时首先对自身状态进行自检,主要对系统存储空间保存的数据和工作参数进行检查,保证后续工作的正确执行。自检正常完成后调度系统进入待命状态,该状态为过渡状态,标明此次调度软件已经处于准备好的状态,根据系统命令进入下一个状态执行任务,在准备状态下调度系统响应控制系统的开机、复位、同步、参数预置等指令消息。系统准备工作完成后进入实时控制状态,此时调度系统实时接收弹体制导参数和探测器控制等指令,并将该类命令转发给对应分系统;同时接收各子模块的工作状态和制导结果等实时信息,将该类信息整理汇总反馈给控制系统。系统工作完成后,控制系统会发送暂停指令给调度系统,调度系统再将暂停指令转发给各子系统,控制各子系统停止工作,调度系统空闲状态下将查询是否存在数据后处理、状态显示和制导结果保存等后台任务等待处理,如果有则dsp软件系统会及时处理该类任务。s3、当任务调度系统接收到消息时,对接收到的消息进行二级缓存、设定消息分类及消息响应权限,并根据消息分类决定处理顺序,根据消息响应权限和当前状态机对应关系决定是否响应处理。该步骤为本发明弹载多任务dsp软件实时任务调度系统进行实时消息响应的流程,该响应流程主要通过接收消息二级缓存、消息分类、消息响应权限、消息缓存等手段实现,具体包括以下步骤:s301、接收消息二级缓存是在调度系统软件的接收消息中断中实现,系统收到消息后立即将接收到的消息拷贝到二级缓存中,并对二级缓存消息进行锁存保护,消息的处理在二级缓存中执行,此方法有效避免了消息在处理过程中被新消息覆盖和被其他进程篡改的风险,同时采用二级缓存机制可有效支撑消息接收和响应操作的并行处理。s302、消息分类是将消息调度系统可能处理到的所有消息根据响应的实时性需求分为紧急处理类和普通类两种类别。对于需要紧急处理类的消息,调度系统接收后直接进行响应处理,如需转发到其它子系统则直接转发并等待子系统的响应回复。对于普通消息,调度系统会将该类消息先存入消息缓冲池,在系统无紧急消息需要处理时再进入缓冲池进行查询是否有普通消息等待处理。s303、消息响应权限设计主要针对系统接收到的控制命令,该设计以系统状态机设计为基础,给每个命令赋予一定的响应权限,每条指令只能在一个或者几个状态下被响应。如暂停指令可在所有状态下被响应,用于及时终止系统的运行,而自检、同步等系统指令只能在准备状态下执行,一旦系统进入实时控制状态则不再处理该类指令。如此设计使系统的运行流程更加清晰,避免系统在不同状态机下响应无效指令,扰乱系统运行状态。上述过程中,涉及的消息缓冲池的设计和实现方法具体如下:消息缓冲池用于存储调度系统暂时未处理的消息指令,并将其按照一定数据格式进行排序和管理,方便系统调度软件进行查询和处理。本发明设计的消息缓冲池是一种自定义数据结构体,消息缓冲池的实现首先需要在dsp系统内存中申请一块存储空间,然后将需要缓冲的消息进行编号和封装后存入消息缓冲池。缓冲池的头部信息中包括缓冲池大小、缓冲消息记数、消息索引号、当前处理消息索引等信息,消息缓冲池的主体分为多个消息存储槽,每个存储槽缓冲一条消息,消息槽的结构也采用自定义形式,其头部信息为消息的id,尾部为消息处理状态标记、消息接收时间和有效时间。在一个实施例中,可在dsp系统内存中预留64kb大小的独立存储空间专用于消息缓存,消息缓冲索引设置为最大1024条。有新消息要存入缓冲池时,调度系统对该消息进行封装,顺序对该消息进行编号,编号id写入消息头,消息的处理标志、接收时间、有效时间等属性写入消息的尾部,封装好的一条消息存入对应的消息槽中。每缓存入一条新的消息缓冲池的消息计数和消息索引号都要相应更新。消息缓冲池采用循环存式存储新消息,当缓冲消息数小于最大缓冲索引号时,消息顺序缓冲至对应的存储槽,到消息缓冲数超出最大索引时新缓冲的消息将覆盖最旧的消息槽,以此实现循环缓冲。调度系统处理缓冲池消息时,首先根据消息索引找到最新的命令消息,根据消息接收时间和当前时间判断消息是否还在有效响应时间内,如果超出了有效响应时间则放弃对该消息的处理,系统每处理一条缓冲消息缓冲池的消息计数和消息索引号也要相应更新。本发明中,调度系统同时需完成数据后处理、状态显示和结果数据保存等后台任务,当系统运行于空闲状态时调度系统将检查是否有该类任务等待处理,如果有则系统会处理该类任务。在处理后台任务过程中系统接收到通信任务或者状态机转变,系统将中断后台任务运行跳转执行通信任务,满足通信的实时性要求。本发明设计的dsp通信任务调度系统根据弹载平台高速实时通信应用环境,采用简洁软件架构设计,对通信任务进行分类,同时将接收到的消息分级存储并分类分时处理,采用消息二级缓存接收并行处理、优先响应紧急通信任务、缓存并延迟处理普通通信任务等手段,有效解决了弹载系统消息通信复杂、处理响应实时性高的需求,实现了弹载嵌入式平台通信任务处理的准确性和实时性。本发明还涉及一种dsp通信任务调度系统,包括:设置模块,用于根据系统功能需求对每类通信任务的优先级进行设置,以及对系统的运行状态机、每个通信任务处理过程的通信指令权限位进行设置;分类模块,用于根据通信任务功能将dsp通信任务调度系统各子模块的通信任务进行分类,以及将状态机结合通信任务进行分类,并将分类结果反馈至设置模块;接收模块,用于接收控制系统、遥测系统以及各子模块发送的通信消息并转发至处理模块;处理模块,对接收到的消息进行二级缓存、设定消息分类及消息响应权限,并根据消息分类决定处理顺序,根据消息响应权限和当前状态机对应关系决定是否响应处理。本发明不局限于上述实施方式,对于本
技术领域:
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。当前第1页12