买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于μ/COS-II实时操作系统的船用低速共轨柴油机调速单元_哈尔滨工程大学_201810778836.2 

申请/专利权人:哈尔滨工程大学

申请日:2018-07-16

公开(公告)日:2021-07-16

公开(公告)号:CN109213027B

主分类号:G05B19/042(20060101)

分类号:G05B19/042(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.07.16#授权;2019.02.12#实质审查的生效;2019.01.15#公开

摘要:本发明公开了一种基于μCOS‑II实时操作系统的船用低速高压共轨柴油机调速单元,属于柴油机的电子控制领域。本发明软件设计采用μCOS‑II实时操作系统,由中断任务和μCOS‑II实时操作系统调度的任务组成。通过信号量协调和同步各任务。其中,CAN数据处理任务、开关量检测任务、状态管理任务、故障检测任务、FLASH刷写任务、监控参数回传任务定时执行,CAN发送任务由状态管理任务通过信号量触发,控制参数计算任务由曲轴转速中断通过信号量按固定的曲轴转角触发。本发明有益效果在于:采用了μCOS‑II实时操作系统进行软件设计,实时性好,软件可靠性高,稳定性强,方便应用程序扩展,调试方便,开发周期缩短,开发成本降低。

主权项:1.一种基于μCOS-II实时操作系统的船用低速共轨柴油机调速单元,其特征在于:由中断任务S229和μCOS-II实时操作系统调度的任务S201组成;中断任务S229分为两部分:协处理器XGATE中断S230和主CPU中断S231;其中:XGATE对转速测量相关的中断以及与其他控制单元的CAN通讯中断进行预处理,即XGATE曲轴转速1中断S234、XGATE曲轴转速2中断S235、计数溢出中断S236和CAN1接收中断S231、CAN2接收中断S232;主CPU中断任务包括:主CPU曲轴转速1中断S237、主CPU曲轴转速2中断S238、RTI定时中断S239,陷阱中断S240;μCOS-II实时操作系统调度的任务包括:CAN数据处理任务S208、开关量检测任务S203、状态管理任务S211、CAN发送任务S222、故障检测任务S205、控制量计算任务S215、FLASH刷写任务S206、监控参数回传任务S217;XGATE曲轴转速1中断S234或者XGATE曲轴转速2中断S235通过汇编指令sif触发主CPU曲轴转速1中断S237或者主CPU曲轴转速2中断S238,主CPU曲轴转速1中断S237或者主CPU曲轴转速2中断S238通过信号量的方式按定曲轴转角的方式触发控制参数计算任务S215,并将转速信息通过全局变量传递给控制量计算任务S215;FLASH刷写任务S206与参数回传任务S217共用同一路CAN即CAN3S107,两个任务之间采用互斥关系进行制约,利用一个信号量CanInUseSemi,进入其中一个任务时调用μCOS-II实时操作系统的工具函数OSPend锁定所用的CAN通讯资源,跳出任务时调用OSPost释放所用的CAN通讯资源,FLASH刷写任务S206、参数回传任务S217与上位机的数据交换直接发生在单片机RAM和FLASHS228,具体过程为:FLASH刷写任务S206将上位机既定的需要刷写的数据刷写到单片机的FLASH中完成标定参数的固化,监控参数回传任务S217根据上位机的需要将单片机RAM中对应的监控参数回传至上位机,所述的需要刷写的数据和监控参数均由上位机进行选择;CAN数据处理任务S208读取缓冲区中由CAN1中断和CAN2中断传来的CAN通讯信息,解析处理过后的CAN通讯信息通过全局变量传递给故障检测任务S204和状态管理任务S210;状态管理任务S211将CAN数据处理任务S208传来的通讯信息,开关量检测任务S203的操作按钮信号和柴油机关键信号,控制量计算任务S215的与控制相关的数据,故障检测任务S205的故障信息进行综合判断,最终完成对柴油机的状态进行判断,并置位相应的状态标志;开关量检测任务S203完成对操作按钮信号和柴油机关键信号的检测,检测内容包括:操作者对按钮的操作结果,柴油机关键信号的情况,检测结果以全局变量的形式传递给故障检测任务S205和状态管理任务S211;故障检测任务S205综合分析当前柴油机状态由状态管理任务S211产生,柴油机运行参数由CAN数据处理任务S208产生,由开关量检测任务产生的柴油机关键信号及其断线情况、由控制参数计算任务产生的控制量得出当前柴油机所处的故障状态,最后通过全局变量的形式反馈给状态管理任务S211以及控制参数计算任务S215,进而作用在整个柴油机的控制上。

全文数据:一种基于μCOS-II实时操作系统的船用低速共轨柴油机调速单元技术领域本发明属于柴油机的电子控制领域,具体涉及一种基于μCOS-II实时操作系统的船用低速高压共轨柴油机调速单元。背景技术柴油机是目前世界上船舶使用最为普遍的动力装置,尤其是低速大功率柴油机由于其单机功率大、经济性好、可靠性高等特点,在大中型民用船舶上得到普遍应用。由于船用低速高压共轨柴油机组成结构复杂,整机庞大,传感器众多,且传感器的分布范围广。单个控制器一方面资源有限,另一方面处理能力有限,不能满足控制要求,因此需要采用多个控制器通过总线互联组成网络分布式的控制方式进行整机控制。目前,已经在市面上的或者在相关论文以及专利中出现过的柴油机控制系统,其软件大部分是基于裸机的编程环境进行开发的。例如文献“电控单体泵喷射系统通用驱动平台设计”以及文献“内燃机车用柴油机燃油喷射系统的电子单元设计”,其软件是建立在裸机环境上,通过模块化的应用程序与中断程序配合搭建出前后台的程序运行机制进行柴油机控制系统的设计。这种形式下,程序功能的设计就是模块的设计,很多功能的模块均与硬件直接打交道,这使得对于一个复杂系统来说,这些功能模块在调度机制的管理下形成有组织的完整的软件变得很困难。而且系统通用性不强,导致产品的开发周期长,开发费用增加,开发效率低。另外一部分柴油机控制系统的软件虽然也采用了实时操作系统,如文献“柴油机综合电控系统与监控系统开发”,文中利用Motorola公司16位单片机MC9S12DP512作为CPU并基于μCOS-II实时操作系统开发了高压共轨柴油机控制器;文献“共轨柴油机电控系统的嵌入式软件开发与研究”,将μCOS-II实时操作系统移植到32位单片机上完成了高压共轨柴油机的喷射控制和整机管理。但是其控制对象是中高速柴油机,此类柴油机相对于船用低速高压共轨柴油机而言,其结构较简单,传感器和执行器数量少且分布集中,单个控制单元即可完成控制功能,而船用低速高压共轨柴油机的控制如前文所述:单个控制器难以完成控制功能,需要网络分布式的多个控制器进行协同方可完成整机控制。本发明所述的调速单元就是网络分布式船用低速高压共轨柴油机控制系统中诸多控制单元中的一个。发明内容针对背景技术中提及的基于裸机的编程环境进行软件设计时存在的缺点,对船用低速高压共轨柴油机本发明提供了一种基于μCOS-II实时操作系统的船用低速共轨柴油机调速单元,主管上层的调速控制,其目的在于:综合网络中其他控制器的信息,完成柴油机的状态管理,当柴油机处于某一状态时,通过CAN总线调度其他控制单元完成对相应执行器如喷油器、排气阀等的控制,从而对柴油机进行有效操作,完成柴油机的起动、调速、停车、安全保护等功能,并在故障状态下如冷却水故障、滑油故障等对柴油机进行安全保护。本发明选取飞思卡尔16位双核单片机MC9S12XEP100为主控芯片进行控制系统设计,其目的在于使熟悉此项技术的专业人士能够了解本发明的具体内容,并不作为本发明的保护范围的限制条件。如果其他应用采用其他芯片但是依然采用本发明提到的设计方法,或者作出一些等效变化及修饰,也属于本发明的内容,涵盖在本发明的保护范围内。在上述基础上,本发明的的硬件构架如下:由单片机系统和外围电路构成。与本发明直接相关的单片机片内模块有:CAN通讯模块、ECT模块、片内时钟模块、片内电源模块、IO模块。外围电路包括:CAN通讯处理电路、转速调理电路、时钟电路、电源管理电路、开关量输入处理电路、开关量输出处理电路。调速单元通过CAN1和CAN2与其他单元进行通讯完成数信息的传递,通过CAN3与上位机进行通讯完成系统控制参数的标定以及标定过程中参数的上位机监控;互为冗余的转速信号从曲轴转速传感器1和曲轴转速传感器2接入本单元,通过转速处理电路后送入单片机的ECT模块;柴油机关键信号和外部操作按钮经过开关量输入处理电路后送入单片机的IO模块。本发明的软件内容如下:本发明利用协处理器XGATE对曲轴转速1中断和曲轴转速2中断进行预处理,计算转速脉冲周期;利用协处理器XGATE完成对CAN1接收中断和CAN2接收中断进行预处理,滤除本单元不需要的信息后将需要的信息按“ID号+数据”的方式进行封装并存入定义在协处理器XGATE与主CPU共享RAM段中的缓冲区。μCOS-II实时操作系统调度的任务包括:CAN数据处理任务、开关量检测任务、状态管理任务、CAN发送任务、故障检测任务、控制参数计算任务、FLASH刷写任务、监控参数回传任务。开关量检测任务完成对操作按钮和柴油机关键信号的检测;状态管理任务根据由CAN1和CAN2传来的柴油机的运行参数和操作者的操作意图判定柴油机的运行状态并在运行状态迁移时对相应的状态标志进行置位,为其他任务提供参考;CAN发送任务根据柴油机运行状态完成控制参数的封装并通过CAN1和CAN2发送至其他控制单元;故障检测任务通过综合柴油机各部分的信息,根据柴油机的运行状况判定柴油机运行是否正常,检测结果最终作用在本单元控制参数的输出上;控制参数计算任务根据柴油机的运行状态完成各类与控制相关的MAP查取,对柴油机进行控制算法的选取以及对当前控制算法进行运算;FLASH刷写任务完成FLASH的在线刷写,将标定参数固化到单片机的FLASH中;监控参数回传任务完成标定过程中的相关需要监控参数的回传,供上位机界面显示和分析。各任务的执行方式为:CAN数据处理任务、开关量检测任务、状态管理任务、故障检测任务、FLASH刷写任务、监控参数回传任务定时执行,CAN发送任务由状态管理任务通过信号量触发,控制参数计算任务由曲轴转速1中断或曲轴转速2中断按固定的曲轴转角通过信号量触发。优先级顺序为:控制参数计算任务状态管理任务CAN发送任务开关量检测任务CAN数据处理任务FLASH刷写任务监控参数回传任务。上述的软件特征,所述的FLASH刷写任务和监控参数回传任务是由传统的标定任务分割而产生的相互独立的任务,其特点是:所述的FLASH刷写任务和监控参数回传任务独立运行,两个任务之间通过信号量锁定和释放CAN资源。由于μCOS-II实时操作系统构建了多任务环境,程序设计时只需要进行功能设计,完成各种功能即可。在μCOS-II实时操作系统中,每一个任务只是整个应用程序的一部分,有自己的优先级和一套专用的CPU寄存器和栈空间,在复杂软件的设计时能够大大提高效率和可靠性。并且,该操作系统通过了美国联邦航空管理局的标准认证,具有足够的稳定性和安全性。与现有技术相比,本发明有益效果在于:本发明采用了μCOS-II实时操作系统进行软件设计,实时性好,软件可靠性高,稳定性强,调试方便,开发周期较短,开发成本较低,具有效率高,可靠性好,可扩展性强的优点。附图说明图1为本发明提供的一种基于μCOS-II操作系统的船用低速高压共轨柴油机调速单元的硬件构架图。图2为本发明提供的一种基于μCOS-II操作系统的船用低速高压共轨柴油机调速单元的各任务间的关系图。具体实施方式下面结合附图,对本发明作进一步的说明:如图1所示,本发明所述的一种基于μCOS-II实时操作系统的船用低速高压共轨柴油机调速单元,其硬件构架由单片机系统S111和外围电路S108组成。本发明需要利用的与外围电路连接的单片机系统模块有:CAN通讯模块S112,ECT模块S113,片内时钟模块S116,片内电源模块S117,IO模块S118,其他控制单元S101通过CAN1S105和CAN2S106与CAN通讯处理电路S109相连,上位机S102通过CAN3S107与CAN通讯处理电路S109相连,CAN通讯处理电路S109完成电平转换后将CAN信息送入单片机系统S111的CAN通讯模块S112;互为冗余的第一曲轴转速传感器S103和第二曲轴传感器S104接入转速调理电路S110,处理过后的转速信号接到单片机系统S111的ECT模块S113;外部24V电源S115接入电源管理电路S114经过处理后送入单片机系统S111的片内电源模块S117对系统进行供电;柴油机关键信号S121多个和外部操作按钮S122多个通过开关量输入处理电路S119后接入单片机系统S111的IO模块S118的输入端口,并且每一个柴油机关键信号都具有对应的断线检测电路;单片机系统11的IO模块S118的输出端口通过开关量输出处理电路S120与断线指示灯S123多个和普通指示灯S124多个相连,需要断线检测的每一个信号都配有一个断线指示灯,且该指示灯放置在对应的信号接入端口,方便检修。在上述硬件构架下,如图2,一种基于μCOS-II实时操作系统的船用低速高压共轨柴油机调速单元其软件是这样实现的:软件构架为:由中断任务S229和μCOS-II实时操作系统调度的任务S201组成。中断任务S229分为两部分:XGATE中断S230和主CPU中断S231。XGATE是一个协处理器,专门处理中断,能够分担主CPU的负担。本发明启用XGATE对转速测量相关的中断以及与其他控制单元的CAN通讯中断进行预处理,即XGATE曲轴转速1中断S234、XGATE曲轴转速2中断S235、计数溢出中断S236和CAN1接收中断S231、CAN2接收中断S232。主CPU中断任务包括:主CPU曲轴转速1中断S237、主CPU曲轴转速2中断S238、RTI定时中断S239,陷阱中断S240。μCOS-II实时操作系统调度的任务包括:CAN数据处理任务S208、开关量检测任务S203、状态管理任务S211、CAN发送任务S222、故障检测任务S205、控制量计算任务S215、FLASH刷写任务S206、监控参数回传任务S217。各中断任务的功能:CAN1接收中断S231和CAN2接收中断S232:分别接收CAN1和CAN2的信息。具体过程是这样实现的:协处理器XGATE完成对CAN1接收中断S231和CAN2接收中断S232的处理,滤除本单元不需要的信息后将需要的信息按“ID号+数据”的方式进行封装。为了防止因主CPU来不及处理而导致总线拥堵产生通讯延迟或者出现丢帧,在XGATE和主CPU共享RAM段中定义一段先入先出的缓冲区,存放CAN1接收中断S231和CAN2接收中断S232中接收并按“ID号+数据”的方式进行封装的CAN通讯信息。进入中断后,确认一帧数据为本单元所需后,立即寻找空的存放单元,将封装后的信息存入所找到的存放单元中,并将该存放单元的标志置为‘满’。XGATE曲轴转速1中断S234:在曲轴1信号正常的情况下记录曲轴转速1的ECT通道计数值,为转速计算提供依据,并计算转速脉冲周期。XGATE曲轴转速2中断S235:在曲轴转速1失效的情况下记录曲轴转速2的ECT通道计数值,为转速计算提供依据,并计算转速脉冲周期,接替曲轴转速1中断并完成曲轴转速1中断既定的功能。计数溢出中断S236:对ECT模块S113的计数溢出次数进行计数,其结果作为转速脉冲周期计算的一个依据。所述的转速脉冲周期是这样计算的:SpdPulseT=TimeOverCnt·65536+NowCnt-ExCnt·kSpdPulseT:转速脉冲周期,TimeOverCnt:计数溢出次数,NowCnt:本次ECT通道计数值,ExCnt:上次ECT通道计数值,k:时间常数,与每一次计数的频率有关。主CPU曲轴转速1中断S237:由XGATE曲轴转速1中断通过汇编指令sif触发,并通过记齿,以定曲轴角度的方式对转速计算任务进行触发。主CPU曲轴转速2中断S238:由XGATE曲轴转速2中断通过汇编指令sif触发,并通过记齿,以定曲轴角度的方式对转速计算任务进行触发。RTI定时中断S239:为μCOS-II实时操作系统提供时钟节拍,用于任务的延时等功能。陷阱中断S240:对应于μCOS-II实时操作系统任务级切换函数,完成任务的切换。各任务的功能设置如下:操作系统调度任务0-63级,0为最高:控制参数计算任务S215:根据柴油机的状态完成各类与控制相关的MAP查取,对柴油机进行控制算法的选取以及对当前控制算法进行运算。其中包括起动阶段的起动空气量和起动油量的计算,调速阶段的PID闭环计算。该任务是紧急重要任务,通过信号量由主CPU曲轴转速1中断S237或主CPU曲轴转速1中断S238触发,分配优先级最高为3。故障检测任务S205:综合柴油机各部分参数信息,根据柴油机的运行状态判定柴油机运行是否正常。并对需要断线检测的信号:柴油机关键信号、转速信号进行断线检测,如果断线则点亮接线端口上相应的断线指示灯进行指示。该任务为非紧急任务,定时50ms执行,优先级为14。对故障检测任务S205需要特别说明的是:对曲轴转速1或者2进行断线判断时,一旦判定某一路转速失效,通过开启非失效转速的ECT捕捉通道的中断引入非失效转速信号。如果检测发现两路转速均失效,则对柴油机进行紧急断油处理。之所以某一时刻只开一路转速的ECT捕捉通道的中断是因为如果两路互为冗余的转速信号相位相同,或者相差时间在us级,会导致曲轴转速1和2的跳变沿相同或者相隔时间在us级,由于单片机响应中断需要时间,根据曲轴转速中断中的处理内容,这个时间也在us级,极有可能造成其中一路转速中断的采集异常。另外,即便两路曲轴转速信号相位相差足够大,大到足以使两路曲轴转速信都能被正常采集。但是两路曲轴转速频繁申请中断,极有可能影响CAN1接收中断S231和CAN2接收中断S232以及其他中断的响应速度,不利于系统的稳定,也不利于系统功能的扩展,而且在转速信号不断线时其中一路曲轴转速信号并不起作用。状态管理任务S211:根据柴油机的运行参数和操作者的操作意图判定柴油机的运行状态并在运行状态迁移时对相应的状态标志进行置位,为其他任务提供参考,是任务调度的核心。该任务为非紧急但重要任务,定时执行,考虑到低速机运行速度较低的特点小于300转分,定时时间为20ms,优先级为7。开关量检测任务S203:完成柴油机关键信号如气缸滑油泵运行状态,冷却水压力状态等和外部操作按钮如起动、停机等的检测,为状态管理任务S211提供基本依据。该任务为非紧急任务,重要度一般,考虑到人的操作速度,定时执行,定时时间为25ms,优先级为11。对开关量检测任务S203需要特别说明的是:为了防止抖动和偶然的干扰,该任务中采用延时的方法进行软件滤波。具体做法是:检测到电平跳变后记录当前开关量状态,再延时10ms,延时时间到时,再次记录开关量状态,比较两次的状态如果相同则检测结果有效,否则作废。CAN发送任务S222:根据柴油机运行状态完成控制参数的封装并通过CAN1和CAN2发送至其他单元。该任务为紧急任务,重要度一般,考虑到发送的内容与柴油机运行状态密切相关,确定为由状态管理任务S211通过信号量触发,优先级为9。CAN数据处理任务S208:完成CAN1和CAN2的通讯信息的处理,为本系统提供控制依据。具体实施为:对CAN1接收中断和CAN2接收中断中封装后存在缓冲区的数据进行解析处理,对缓冲区进行读操作,每读完一个非空的存放单元后立即将该存放单元的标志置为‘空’。该任务为非紧急任务,允许一定时间的延迟,确定为定时20ms执行,优先级为13。对CAN数据处理任务S208需要特别说明的是:读取缓冲区时并不是每进一次CAN数据处理任务S208读取一个存放单元,而是在CAN数据处理任务S208未被μCOS-II实时操作系统剥夺CPU使用权之前一直对缓冲区内的通讯信息进行解析处理,直到所有缓冲区内的存放单元为空。标定任务S207:将传统的标定任务分为两个独立的任务:FLASH标定任务S206和监控参数回传任务S217,以降低标定任务S207在标定过程中对CPU资源的占用率。FLASH刷写任务S206:完成FLASH的在线刷写,刷写过程中数据传输量大,并且在刷写某一扇区的FLASH的过程中需要关闭总中断,综合考虑一个扇区的刷写时间和其他任务的实时性,该任务采取定时执行方式。又考虑到实际中上位机的操作者的操作速度有限,为了不影响FLASH刷写过程,同时保证其他任务的实时性,确定该任务定时2ms执行,优先级为15。参数回传任务S217:完成标定过程中的相关需要监控参数量的回传,供上位机界面显示和分析。该任务在标定工作进行的时候传输数据量大,为了避免影响其他任务的运行,将其任务优先级设置为最低,设置为17。由于标定任务最基本的回传定时是10ms,因此该任务的定时时间设置为10ms,任务中其他回传定时如50ms,100ms均通过变量计数的方式在任务内产生,不额外增加内存开销。之所以可以利用这种方式在任务中产生回传定时是因为这些回传定时是用来对监控变量进行定时回传,对实时性要求不高。为了方便任务的扩展,上述任务各优先级之间间隔为2-4。如图2所示的一种基于μCOS-II实时操作系统的船用低速高压共轨柴油机调速单元,其软件结构中任务间的关系是这样的:XGATE曲轴转速1中断S234或者XGATE曲轴转速2中断S235通过汇编指令sif触发主CPU曲轴转速1中断S237或者主CPU曲轴转速2中断S238,主CPU曲轴转速1中断S237或者主CPU曲轴转速2中断S238通过信号量的方式按定曲轴转角的方式触发控制参数计算任务S215,并将转速信息通过全局变量传递给控制量计算任务S215,这种信号量的触发作用表示S224和S226,转速信息传递关系为S223和S225。FLASH刷写任务S206与参数回传任务S217共用同一路CAN即CAN3S107,因此为了防止数据混乱,这两个任务之间需要用互斥关系进行制约,具体做法是利用一个信号量CanInUseSemi,进入其中一个任务时调用μCOS-II实时操作系统的工具函数OSPend锁定所用的CAN通讯资源,跳出任务时调用OSPost释放所用的CAN通讯资源。FLASH刷写任务S206、参数回传任务S217与上位机的数据交换直接发生在单片机RAM和FLASHS228,传递关系为S227。具体过程是:FLASH刷写任务S206将上位机既定的需要刷写的数据刷写到单片机的FLASH中完成标定参数的固化,监控参数回传任务S217根据上位机的需要将单片机RAM中对应的监控参数回传至上位机。所述的需要刷写的数据和监控参数均由上位机进行选择。CAN数据处理任务S208读取所述的缓冲区中由CAN1中断和CAN2中断传来的CAN通讯信息,这种传递关系表示为S218和S219。解析处理过后的CAN通讯信息通过全局变量传递给故障检测任务S204和状态管理任务S210,数据传递关系表示为S202和S209。状态管理任务S211将CAN数据处理任务S208传来的通讯信息,传递关系表示为S209,开关量检测任务S203的操作按钮信号和柴油机关键信号,传递关系为S210,控制量计算任务S215的与控制相关的数据如转速等,传递关系为S212以及故障检测任务S205的故障信息进行综合判断,最终完成对柴油机的状态进行判断,并置位相应的状态标志。开关量检测任务S203完成对操作按钮信号和柴油机关键信号的检测,检测内容包括:操作者对按钮的操作结果,柴油机关键信号的情况。检测结果以全局变量的形式传递给故障检测任务S205和状态管理任务S211,传递关系分别表示为S204和S210。故障检测任务S205综合分析当前柴油机状态由状态管理任务S211产生,传递关系为S213、柴油机运行参数由CAN数据处理任务S208产生,传递关系为S202、柴油机关键信号及其断线情况由开关量检测任务产生,传递关系为S204、控制量由控制参数计算任务产生,传递关系为S214得出当前柴油机所处的故障状态,最后通过全局变量的形式反馈给状态管理任务S211传递关系为S213以及控制参数计算任务S215传递关系为S214,进而作用在整个柴油机的控制上,达到保护柴油机的目地。在上述任务划分和任务间关系的条件下,系统上电后,为保证μCOS-II实时操作系统的顺利起动,首先对总中断系统进行关断操作,然后对系统所有硬件进行初始化,最后进行μCOS-II实时操作系统初始化,然后创建所述的任务和任务间通讯的信号量,然后启动μCOS-II实时操作系统,最后开启总中断,运行μCOS-II实时操作系统按所述的任务的功能和任务间关系完成任务的调度。

权利要求:1.一种基于μCOS-II实时操作系统的船用低速共轨柴油机调速单元,其特征在于:由中断任务S229和μCOS-II实时操作系统调度的任务S201组成;中断任务S229分为两部分:协处理器XGATE中断S230和主CPU中断S231;其中:XGATE对转速测量相关的中断以及与其他控制单元的CAN通讯中断进行预处理,即XGATE曲轴转速1中断S234、XGATE曲轴转速2中断S235、计数溢出中断S236和CAN1接收中断S231、CAN2接收中断S232;主CPU中断任务包括:主CPU曲轴转速1中断S237、主CPU曲轴转速2中断S238、RTI定时中断S239,陷阱中断S240;μCOS-II实时操作系统调度的任务包括:CAN数据处理任务S208、开关量检测任务S203、状态管理任务S211、CAN发送任务S222、故障检测任务S205、控制量计算任务S215、FLASH刷写任务S206、监控参数回传任务S217;XGATE曲轴转速1中断S234或者XGATE曲轴转速2中断S235通过汇编指令sif触发主CPU曲轴转速1中断S237或者主CPU曲轴转速2中断S238,主CPU曲轴转速1中断S237或者主CPU曲轴转速2中断S238通过信号量的方式按定曲轴转角的方式触发控制参数计算任务S215,并将转速信息通过全局变量传递给控制量计算任务S215,这种信号量的触发作用表示S224和S226,转速信息传递关系为S223和S225;FLASH刷写任务S206与参数回传任务S217共用同一路CAN即CAN3S107,两个任务之间采用互斥关系进行制约,利用一个信号量CanInUseSemi,进入其中一个任务时调用μCOS-II实时操作系统的工具函数OSPend锁定所用的CAN通讯资源,跳出任务时调用OSPost释放所用的CAN通讯资源,FLASH刷写任务S206、参数回传任务S217与上位机的数据交换直接发生在单片机RAM和FLASHS228,传递关系为S227,具体过程为:FLASH刷写任务S206将上位机既定的需要刷写的数据刷写到单片机的FLASH中完成标定参数的固化,监控参数回传任务S217根据上位机的需要将单片机RAM中对应的监控参数回传至上位机,所述的需要刷写的数据和监控参数均由上位机进行选择;CAN数据处理任务S208读取所述的缓冲区中由CAN1中断和CAN2中断传来的CAN通讯信息,这种传递关系表示为S218和S219,解析处理过后的CAN通讯信息通过全局变量传递给故障检测任务S204和状态管理任务S210,数据传递关系表示为S202和S209;状态管理任务S211将CAN数据处理任务S208传来的通讯信息,传递关系表示为S209,开关量检测任务S203的操作按钮信号和柴油机关键信号,传递关系为S210,控制量计算任务S215的与控制相关的数据如转速等,传递关系为S212以及故障检测任务S205的故障信息进行综合判断,最终完成对柴油机的状态进行判断,并置位相应的状态标志;开关量检测任务S203完成对操作按钮信号和柴油机关键信号的检测,检测内容包括:操作者对按钮的操作结果,柴油机关键信号的情况,检测结果以全局变量的形式传递给故障检测任务S205和状态管理任务S211,传递关系分别表示为S204和S210;故障检测任务S205综合分析当前柴油机状态由状态管理任务S211产生,传递关系为S213、柴油机运行参数由CAN数据处理任务S208产生,传递关系为S202、柴油机关键信号及其断线情况由开关量检测任务产生,传递关系为S204、控制量由控制参数计算任务产生,传递关系为S214得出当前柴油机所处的故障状态,最后通过全局变量的形式反馈给状态管理任务S211传递关系为S213以及控制参数计算任务S215传递关系为S214,进而作用在整个柴油机的控制上。2.根据权利要求1所述的一种基于μCOS-II实时操作系统的船用低速共轨柴油机调速单元,其特征在于:所述的CAN1接收中断S231和CAN2接收中断S232:分别接收CAN1和CAN2的信息,具体过程是这样实现的:协处理器XGATE完成对CAN1接收中断S231和CAN2接收中断S232的处理,滤除本单元不需要的信息后将需要的信息按“ID号+数据”的方式进行封装,在XGATE和主CPU共享RAM段中定义一段先入先出的缓冲区,存放CAN1接收中断S231和CAN2接收中断S232中接收并按“ID号+数据”的方式进行封装的CAN通讯信息,进入中断后,确认一帧数据为本单元所需后,立即寻找空的存放单元,将封装后的信息存入所找到的存放单元中,并将该存放单元的标志置为‘满’。3.根据权利要求1所述的一种基于μCOS-II实时操作系统的船用低速共轨柴油机调速单元,其特征在于:所述的XGATE曲轴转速1中断S234:在曲轴1信号正常的情况下记录曲轴转速1的ECT通道计数值,为转速计算提供依据,并计算转速脉冲周期;所述的XGATE曲轴转速2中断S235:在曲轴转速1失效的情况下记录曲轴转速2的ECT通道计数值,为转速计算提供依据,并计算转速脉冲周期,接替曲轴转速1中断并完成曲轴转速1中断既定的功能。4.根据权利要求1所述的一种基于μCOS-II实时操作系统的船用低速共轨柴油机调速单元,其特征在于:所述的计数溢出中断S236为对ECT模块S113的计数溢出次数进行计数,其结果作为转速脉冲周期计算的一个依据,转速脉冲周期是这样计算的:SpdPulseT=TimeOverCnt·65536+NowCnt-ExCnt·kSpdPulseT:转速脉冲周期,TimeOverCnt:计数溢出次数,NowCnt:本次ECT通道计数值,ExCnt:上次ECT通道计数值,k:时间常数,与每一次计数的频率有关。

百度查询: 哈尔滨工程大学 一种基于μ/COS-II实时操作系统的船用低速共轨柴油机调速单元

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。