【技术实现步骤摘要】
车载ATP实时任务调度方法及其任务调度系统
本专利技术属于城市轨道交通CBTC
,具体涉及一种基于μC/OS-II嵌入式实时操作系统任务调度机制优化和改进的车载ATP的任务调度方法及其任务调度系统。
技术介绍
CBTC,它是基于无线通信技术的列车自动控制系统。在城市轨道交通信号控制系统中,其车载ATP(列车自动保护装置)负责获取并维护列车位置、接收移动授权并计算安全速度曲线、监督列车状态等功能。这些功能的实现需要车载ATP系统具有极高的实时性,才能对各个任务进行实时的响应和快速的调度。因此车载ATP系统普遍采用嵌入式实时操作系统,例如:TKCG-08型车载ATP装置就采用了μC/OS-II实时操作系统。μC/OS-II一种基于优先级的开源、抢占式多任务实时操作系统,包含了实时内核、任务管理、时间管理、任务间通信同步(信号量、邮箱、消息、队列)和内存管理等功能。它可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化。正是由于这些特点,使得μC/OS-II非常适合使用在实时性、可靠性和安全性要求高的场合。事实上,μC/OS-II使用在诸多领域,如军工、航空、航天、医疗设备及工业控制等。μC/OS-II操作系统属于可剥夺型内核系统,它的功能实现是基于任务的,目前车载ATP的任务调度系统中任务之间的通信与调度主要有以下几种方式:(1)基于信号量的任务管理方式μC/OS-II中的信号量由两部分组成:一个是信号量的计数值,它是一个16位的无符号整数(0到65,535之间);另一个是由等待该 ...
【技术保护点】
一种车载ATP实时任务调度方法,其特在于,包括:生成至少一个可供多个任务共享的全局变量,每个全局变量指定一个任务对其进行修改更新;调用任务列表中优先级别最高的第一任务进入内核运行,当运行中的第一任务正对其指定修改更新的全局变量进行修改更新时,内核锁死任务切换直至修改更新完成;在所述第一任务运行的同时监测任务列表中是否新进入第二任务;当新进入第二任务后,比较正在内核运行的第一任务和所述新进入的第二任务的优先级别高低;若所述第二任务的优先级低于所述第一任务,则继续按照优先级别高低依次调用任务列表中的各个任务进入内核运行;若所述第二任务的优先级高于所述第一任务,则判断内核是否处于锁死任务切换状态;若未处于锁死任务切换状态,则直接中断第一任务转而运行第二任务;若正处于锁死任务切换状态,则等待内核解除任务切换锁死状态后,再中断第一任务转而运行第二任务。
【技术特征摘要】
1.一种车载ATP实时任务调度方法,其特征在于,包括:生成至少一个可供多个任务共享的全局变量,每个全局变量指定一个任务对其进行数据修改更新;调用任务列表中优先级别最高的第一任务进入内核运行,当运行中的第一任务正对指定由其进行数据修改更新的全局变量进行数据修改更新时,内核锁死任务切换直至数据修改更新完成,运行中的第一任务可使用指定由其他任务负责数据修改更新的全局变量;在所述第一任务运行的同时监测任务列表中是否新进入第二任务;当新进入第二任务后,比较正在内核运行的第一任务和所述新进入的第二任务的优先级别高低;若所述第二任务的优先级低于所述第一任务,则继续按照优先级别高低依次调用任务列表中的各个任务进入内核运行;若所述第二任务的优先级高于所述第一任务,则判断内核是否处于锁死任务切换状态;若未处于锁死任务切换状态,则直接中断第一任务转而运行第二任务;若正处于锁死任务切换状态,则等待内核解除任务切换锁死状态后,再中断第一任务转而运行第二任务。2.根据权利要求1所述的车载ATP实时任务调度方法,其特征在于,在所述生成至少一个可供多个任务共享的全局变量之前,该方法还包括:创建多个任务,并按照各任务之间的关系分配不同的优先级;激活每个任务以分别执行各任务相应的程序代码,并在任务定时计数完成后进入到任务表等待内核调用运行。3.根据权利要求1所述的车载ATP实时任务调度方法,其特征在于,在生成至少一个可供多个任务共享的全局变量之前,该方法还包括:激活一个硬件定时器,该硬件定时器按照设定的周期递增以构建一个时间参考轴;在各个全局变量生成时或被修改更新后,立即读取所述时间参考轴上的时间数值作为该全局变量的时间戳;在各个任务被内核调用运行时也从所述时间参考轴上读取一个时间数值作为本任务的时间戳;在各个任务调用全局变量时,先获取本任务的时间戳与所调用的全局变量的时间戳的时间差值,再比较该时间差值与预设的时间阈值以确定对应全局变量的有效性。4.根据权利要求3所述的车载ATP实时任务调度方法,其特征在于,所述比较该时间差值与预设的时间阈值以确定对应全局变量的有效性,具体是:当该时间差值小于或者等于预设的时间阈值时,认定该全局变量有效;当该时间差值大于预设的时间阈值时,认定该全局变量无效。5.根据权利要求1所述的车载ATP实时任务调度方法,其特征在于,运行中的第一任务使用指定由其他任务负责数据修改更新的全局变量的具体方式是:在该第一任务的堆栈中定义一个映射的局部变量以供使用,其中该局部变量与指定由该第一任务负责数据修改更新的全局变量相对应。6.一种车载ATP实时任务调度系统,其特征在于,包括:全局变量生成模块,用于生成至少一个可供多个任务共享的全...
【专利技术属性】
技术研发人员:丁建隆,何霖,蔡昌俊,李晋,肖宝弟,贾学祥,郜洪民,段晨宁,尹逊政,李博,王芃,陈宁宁,李亮,徐杰,吕利民,张楚潘,黎晓东,
申请(专利权)人:广州市地下铁道总公司,中国铁道科学研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。