访问控制装置的制作方法

文档序号:20274823发布日期:2020-04-03 19:30阅读:149来源:国知局
访问控制装置的制作方法

本发明涉及一种访问控制装置。



背景技术:

控制装置中会执行优先级不同的各种任务。要求不因为优先级低的任务而妨碍优先级高的任务的动作。专利文献1揭示了一种任务执行控制装置,即,在可以预测执行开始预定时刻的第1任务和占有使用共享资源的时长已知的第2任务共享资源的系统中,在所述第1任务的优先级高于所述第2任务的优先级的条件下进行任务的调度,该任务执行控制装置具有:时间算出单元,其在所述第2任务对共享资源的占有之前,求出所述第1任务的下一次执行开始预定时刻和预料所述第2任务释放所述共享资源的释放预定时刻;以及资源管理单元,其对所述下一次执行开始预定时刻与所述释放预定时刻进行比较,若所述下一次执行开始预定时刻早于所述释放预定时刻,则不允许所述第2任务占有所述共享资源,另一方面,若所述下一次执行开始预定时刻不早于所述释放预定时刻,则允许所述第2任务占有所述共享资源。

现有技术文献

专利文献

专利文献1:日本专利特开2003-131892号公报



技术实现要素:

发明要解决的问题

专利文献1记载的发明无法防止优先级低的任务对共享数据的排他获取所造成的对其他任务的动作的影响。

解决问题的技术手段

本发明的第1形态的访问控制装置具备:应用部,其包含根据执行的优先级加以分类的、优先级相对较低的第1任务以及优先级相对较高的第2任务;执行部,其执行所述第1任务及所述第2任务;系统状态管理部,其对要执行的每一任务分配每一任务的预先定下的长度的时间即时隙,在分配给所述第1任务的所述时隙内将所述时隙的末尾的第1规定时间设定为访问监视时间;共享数据部,其由所述第1任务及所述第2任务访问;以及数据访问控制部,其禁止所述访问监视时间内的所述第1任务对所述共享数据部的访问。

发明的效果

根据本发明,能够防止优先级低的任务对共享数据的排他获取所造成的对其他任务的动作的影响。

附图说明

图1为车辆系统2001的概要图。

图2为车辆控制装置2002的整体框图。

图3为任务的状态转变图。

图4为表示任务的执行例的图。

图5为表示调度表501的一例的图。

图6为表示任务执行控制部206的详细构成的图。

图7为表示调度部108的动作的流程图。

图8为表示任务的动作的流程图。

图9为说明数据访问监视时间的图。

图10为表示系统状态管理部111的动作的流程图。

图11为表示任务状态管理部107的动作的流程图。

图12为表示第1任务101对共享数据部205的访问的示意图。

图13为说明跨越任务的访问监视时间的图。

图14为表示访问监视时间的设定例的图。

图15为表示数据访问控制部105的动作的流程图。

图16为表示通常的对共享数据的访问次序的流程图。

图17为表示第2实施方式中的数据访问控制部105的动作的流程图。

图18为表示第3实施方式中的系统状态管理部111的动作的流程图。

图19为表示第5实施方式中的cpu208的构成的图。

图20为表示系统状态表1901的一例的图。

图21为说明系统状态表1901的改写的图。

图22为表示第2任务102对共享数据部205的访问请求重复的状况的图。

图23为表示第5实施方式中的系统状态管理部111的动作的流程图。

图24为表示第6实施方式中的车辆控制装置2002的动作的概要的图。

图25为第7实施方式中的车辆控制装置2002的框图。

图26为说明计时器标志监视部2303的动作的图。

图27为表示第8实施方式中的动作日志管理部213的动作的流程图。

图28为表示动作日志1101的一例的图。

具体实施方式

第1实施方式

下面,参考图1~图16,对作为访问控制装置的车辆控制装置的第1实施方式进行说明。

<车辆系统的构成>

图1为搭载车辆控制装置2002的车辆系统2001的概要图。车辆系统2001具备车辆控制装置2002、无线通信部2003、驱动装置2004、识别装置2005、输出装置2006、输入装置2007及通知装置2008。车辆控制装置2002是控制车辆的电子控制装置也就是ecu(electroniccontrolunit电子控制单元)。无线通信部2003获取地图等信息。驱动装置2004根据车辆控制装置2002的动作指令来驱动例如发动机、车轮、制动器、操舵装置等,以控制车辆的运动。识别装置2005是获取从外界输入的信息并输出用于生成外界识别信息的信息的例如相机、传感器等。输出装置2006显示车辆的速度、警告等信息。输入装置2007是供驾驶员输入车辆操作的指示的例如踏板、方向盘等。通知装置2008是供车辆系统2001向外界通知车辆的状态等的例如灯、led、扬声器等。

<自动驾驶ecu的构成>

图2为车辆控制装置2002的整体框图。其中,详细的框图将在后面再次加以展示。车辆控制装置2002由软件216和硬件215构成。软件216是通过由后文叙述的cpu208将存放在未图示的rom中的程序在存储器209中展开并执行来实现。

硬件215具备作为中央运算装置的cpu208、作为非易失性存储装置的存储器209、管理实时控制的时刻的计时器210、访问网络的网络适配器211、以及传感器和自动制动装置等周边装置212。cpu208是仅具备1个核心的所谓的单核cpu。但是,cpu208具备多个核心但在后文叙述的应用部214的执行中只使用1个核心的情况也包含在本实施方式的范围内。软件216具备应用部214、共享数据部205、任务执行控制部206、动作日志管理部213、以及操作系统即os207。

应用部214构成为包含利用传感器装置等周边装置处理外部信息的传感器融合201、处理自动驾驶用的地图信息的地图融合202、实现追尾规避、跟随驾驶及车道保持的adas(advanceddrivingassistantsystem高级驾驶辅助系统)203、以及实现自动驻车的自动泊车204等。但是,此处说明的应用部214的构成为一例,至少含有1个应用即可。再者,各应用由多个任务构成,各任务设定有优先级。

共享数据部205对应用部214中存放的各应用所使用的数据进行管理。共享数据部205例如在存储器209中确保存放区域,并对该存放区域内的数据的读写进行管理。任务执行控制部206对构成应用的各任务的执行进行控制。任务执行控制部206的详细构成及动作于后文叙述。动作日志管理部213记录各任务的动作。任务执行控制部206基于调度部108指定的时刻,通过任务状态管理部107而根据后文叙述的状态转变对后文叙述的各任务101、102进行管理。

<任务>

os207为了执行应用部214中包含的应用,将应用分为作为执行单位的任务来加以执行。os207可以大致同时执行多个任务,但严格而言是分时利用cpu208的计算资源。换句话说,os207随着时间的经过而逐一执行任务。各任务在预先定下的长度的时间即“时隙”(スロット)内加以执行。

任务的执行重要性并不平等,根据其处理内容,有必须保证执行时间的优先级高的任务和执行时间可略微延迟的优先级低的任务。在iso26262中,出于功能安全的观点,将任务按照危险现象从低到高的顺序分类为qm(qualitymanagement质量管理)、asil(automotivesafetyintegritylevel汽车安全完整性等级)-a、asil-b、asil-c、asil-d。即,大致进行分类的话,安全性担保这一点上必须保证执行时间的任务为asil,与安全保障无关、执行时间可略微延迟的任务为qm。此外,在本实施方式中,有时将执行时间的保证的必要性叫做优先级的高度,例如分类为qm的任务也称为“优先级低的任务”,分类为asil-d的任务也称为“优先级高的任务”。

<任务的状态转变>

图3为任务的状态转变图。任务的状态分类为以下4种状态。第1状态为执行状态(running)301。执行状态301是指cpu208被分配而正在执行任务的状态。第2状态为可执行状态(ready)302。可执行状态302是指执行任务的条件已齐备但由于优先位次比该任务高的任务为执行状态所以无法执行的状态。第3状态为待机状态(waiting)303。待机状态303是指中断了执行直至某些条件齐备为止的状态。第4状态为休止状态(dormant)304。休止状态是指任务尚未启动或者已结束的状态。

对任务的状态转变进行说明。新生成的任务以休止状态304开始,当任务被启动时,转变为可执行状态302。当到达分配给该任务的时刻时,加以派发而转变为执行状态301,执行任务处理。当任务的执行完成或者被分配的时隙的时间结束时,任务状态转变为可执行状态302。在任务进行资源请求、无法通过排他控制获取资源的情况下,转变为待机状态303。其后,当资源被释放、该任务能够获取资源时,任务状态从待机状态303转变为可执行状态302。当任务收到强制结束命令或者任务自身进行结束处理时,任务状态转变为休止状态304。

<时间驱动调度>

图4为表示在时间驱动调度中所控制的任务的执行例的图。所谓时间驱动调度,是os207执行由决定好的执行顺序决定的时刻所决定的时间程度的任务。图4中,横轴表示时间经过,图示sl1~sl9是对各时隙赋予的id(以下记作“时隙id”)。如图4下部的放大图所示,各时隙刚开始之后,任务执行控制部206进行处理,其后执行任务。再者,图4中最后的时隙id为sl9,但也可进而持续sl10、sl11...。各任务在分配的时隙的时间内被执行。再者,图4所示的t_1~t_3是识别所执行的任务的id(以下记作“任务id”)。当到达一系列的最后的时隙时,返回至最初的时隙即sl1继续进行调度。

图5为表示用于时间驱动调度的调度表501的一例的图。调度表501由多个记录构成,各记录具有时隙id、开始时刻、结束时刻、任务id以及时间错误判定标志的字段。时隙id的字段中存放该记录的时隙id。开始时刻及结束时刻的字段中存放该记录的时隙的开始时刻及结束时刻。其中,该时刻将sl1的开始时刻设为零。任务id的字段中存放该记录中要执行的任务的任务id。时间错误判定标志的字段中存放供后文叙述的调度部108参考的标志。时间错误判定于后文详细叙述。

调度表501根据各任务的执行周期、设想的最长执行时间、安全要求等级等信息而预先制作好。调度表501的1循环的长度被制作为满足所有任务的执行周期的长度。在到达了循环的末端的情况下,返回至sl1继续进行调度。例如在图5所示的例子中,最后的时隙id为sl12,结束时间为“5.1ms”,因此,1循环的长度为5.1ms。于是,在sl12之后执行sl1。

<车辆控制装置的构成>

图6为表示任务执行控制部206的详细构成的图。其中,图6是以应用部214包含安全要求等级低的多个第1任务101和安全要求等级高的多个第2任务102的形式来进行说明。该第1任务101及第2任务102是构成应用部214中包含的任一应用的任务。但在下文中,也将第1任务101和第2任务102统一简称为“任务”。

任务执行控制部206具备数据访问控制部105、系统状态判定部106、任务状态管理部107及调度部108。数据访问控制部105利用后文叙述的访问标志来控制来自任务的、对共享数据部205的访问请求。系统状态判定部106参考管理系统状态的后文叙述的系统状态管理部111来判定系统的状态。任务状态管理部107对任务的状态进行管理。调度部108与数据访问控制部105、系统状态判定部106及任务状态管理部107协调来进行任务的调度管理。

硬件215具备访问时间监视部109、时隙时间监视部110及系统状态管理部111。访问时间监视部109由计时器210实现,监视向设定的访问监视时间的到达。访问监视时间于后文叙述。时隙时间监视部110由计时器210实现,监视向设定的各时隙时间的到达。系统状态管理部111由未图示的硬件电路实现,与访问时间监视部109及时隙时间监视部110协调来管理系统状态。

再者,此处说明了访问时间监视部109、时隙时间监视部110及系统状态管理部111由硬件构成,但并不排除包含软件的情况。但是,在包含软件的情况下,资源是独立于软件216的,避免访问时间监视部109、时隙时间监视部110及系统状态管理部111的动作时刻对软件216的动作时刻产生影响。

<调度部的动作>

图7为表示调度部108的动作的流程图。当到达各时隙的开始时刻时,调度部108根据来自计时器210的动作指令开始动作。以下所说明的各步骤的执行主体为cpu208。

调度部108首先进行前一时隙的任务是否已执行完的判定(s101)。在判断前一时隙的任务已执行完的情况下(s101:是),调度部108以在调度表501中的当前时隙的结束时刻开始动作的方式设置计时器210(s102)。继而,调度部108使分配给当前时隙的任务转变为执行状态(s103)。在时隙未被分配有任务的情况下,在该时隙内不使任务动作。通过进行如此决定的时间下的任务执行处理,确保各任务的执行时间。转变成执行状态的任务的处理在后面参考图8来进行说明。

在判断前一时隙的任务尚未执行完的情况下(s101:否),调度部108参考调度表501中的该时隙的时间错误判定标志,在“不进行”的情况下(s104:否),使前一时隙的任务转变为待机状态303(s105)。再者,将成为向待机状态303转变的对象的任务、换句话说就是调度表501中时间错误判定为“进行”的任务称为“跨越任务”。跨越任务是需要1个时隙内完不成处理的较长时间的任务,跨及多个时隙进行动作。在时间错误判定标志为“进行”的情况下(s104:是),建立前一时隙的错误标志(s106),使前一时隙的任务转变为休止状态304(s107)。由于强制结束需要时间,因此,也可在s107中使任务暂时转变为待机状态303而在空闲时隙内转变为休止状态304。当s105或s107的执行完成时,前进至前文所述的s102。

<任务的动作>

图8为表示处于执行状态的各任务的动作的流程图。首先,任务执行包括对共享数据部205的访问的任务处理(s301),当该执行完成时,设立执行完成标志(s302),由此将执行已完成这一情况表示给调度部108。调度部108参考眼前的时隙内执行过的任务的执行完成标志,若设立有执行完成标志,则将该任务转变为可执行状态302。在接下来开始执行时,任务取消执行完成标志(s303)。但也可由调度部108取消执行完成标志。

<任务的数据访问监视时间>

图9为说明任务的数据访问监视时间的图。图9中展示了执行第1任务101及第2任务102的状况。并且,第1任务101在分配的时隙时间t1a到t1d之间进行动作。在分配给第1任务101的时隙内,对时隙的最后即t1b到t1d设置监视数据访问的访问监视时间。该访问监视时间的长度是比数据访问时间也就是任务对共享数据部205的访问所需的时间例如t1b到t1c长的时间。该访问监视时间的长度与任务无关,是固定的。再者,第2任务102的安全要求等级较高,因此,不对分配给第2任务102的时隙设定访问监视时间。

在本实施方式中,将作为访问监视时间的时间称为“访问监视状态”,将不是访问监视时间的时间称为“非访问监视状态”。并且,将采取访问监视状态或非访问监视状态的状态称为“系统状态”。即,如图9的下部所示,系统状态在平时为非访问监视状态,从第1任务101所属的时隙的结束规定时间前起到第1任务101所属的时隙的结束时间为止为访问监视状态。

<系统状态管理部的动作>

图10为表示系统状态管理部111的动作的流程图。下面,也参考图9对系统状态管理部111的动作进行说明。以下所说明的各步骤的执行主体为cpu208。

系统状态管理部111在各时隙的开始时例如图9的时刻t1a判断该时隙内所执行的任务是否为第1任务101(s400a),在判断所执行的任务为第1任务101的情况下,前进至s401。在判断所执行的任务不是第1任务101也就是要执行第2任务102的情况下,将时隙的结束时刻设定至时隙时间监视部110(s400b),开始基于计时器210的计数并前进至s404。在s401中,系统状态管理部111将访问监视时间的开始时刻设定至时隙时间监视部110,而且将时隙的结束时刻设定至时隙时间监视部110并开始计数。

系统状态管理部111监视访问时间监视部109的寄存器状态,根据该寄存器状态来判断是否已到达所设定的访问监视时间(s402),在判断为尚未到达访问监视时间的情况下,停留在s402。在判断为已到达访问监视时间的情况下,系统状态管理部111使系统状态从非访问监视状态转变为访问监视状态(s403)。

系统状态管理部111监视时隙时间监视部110的寄存器状态,根据该寄存器状态来判断是否已到达设定的时隙的结束时刻(s404),在判断为尚未到达时隙的结束时刻的情况下,停留在s404。在判断为已到达时隙的结束时刻的情况下,系统状态管理部111使系统状态从访问监视状态转变为非访问监视状态(s405)。在接下来的s406中,系统状态管理部111判断是否结束系统,例如判断搭载车辆控制装置2002的车辆的点火钥匙开关是否已断开。在判断为不结束系统的情况下,系统状态管理部111返回至s400a,在判断为结束系统的情况下,结束图10所示的动作。

<任务状态管理部的动作>

图11为表示任务状态管理部107的动作的流程图。任务状态管理部107在被调用时还一并被指定转变为哪一状态。即,任务状态管理部107与待机状态、休止状态、可执行状态中的任一方的指定一起被调用。

在被指定的是向待机状态的转变的情况下(s501:是),任务状态管理部107使任务转变为待机状态(s502)。在判断为指定的状态不是待机状态的情况下(s501:否),判断是否被指定的是向休止状态的转变(s503)。在判断为指定了向休止状态的转变的情况下,任务状态管理部107使任务转变为休止状态(s504),在判断为未指定向休止状态的转变的情况下,使任务转变为可执行状态(s505)。

<对共享数据部的访问>

图12为表示第1任务101对共享数据部205的访问的示意图。当第1任务101尝试访问共享数据部205时,数据访问控制部105经由系统状态判定部106来获取系统状态管理部111所管理的系统状态。在判断为系统状态为非访问监视状态的情况下,数据访问控制部105许可第1任务101对共享数据部205的访问。在判断为系统状态为访问监视状态的情况下,数据访问控制部105拒绝第1任务101对共享数据部205的访问,进一步地,使用任务状态管理部107使第1任务101转变为休止状态304。但是,在系统状态为访问监视状态的情况下,数据访问控制部105也可不使第1任务101的任务状态转变为休止状态304而是执行向待机状态303的转变或者无限循环,并进行时间错误判定。

<跨越任务的数据访问控制>

图13为说明跨越任务的访问监视时间的图。图13所示的例子展示了执行第1任务101及第2任务102的状况。并且,第1任务101跨越多个时隙进行动作,具体而言,在时刻t2a~t2d的时隙以及时刻t2e~t2h的时隙内进行动作。即,本例中的第1任务101为跨越任务。在被分配了跨越任务的时隙内,也在分配给安全要求等级低的任务的所有时隙内对时隙的最后设置数据访问监视用的访问监视时间。在图13所示的例子中,时刻t2b~t2d以及时刻t2f~t2h为访问监视时间。此外,如图13的下层所示,根据访问监视时间将系统状态设定为访问监视状态。

当第1任务101尝试访问共享数据部205时,在系统状态为访问监视状态的情况下,数据访问控制部105进行以下处理。即,数据访问控制部105禁止第1任务101对共享数据部205的访问,并通过任务状态管理部107使第1任务101的任务状态转变为待机状态。但是,在系统状态为访问监视状态的情况下,也可不使第1任务101的任务状态转变为待机状态303而是执行无限循环,通过时间错误判定来转变为待机状态303。第1任务101对共享数据部205的访问在第1任务101的后续的时隙的访问监视时间以外也就是时刻t2e~t2f内开始。在第1任务101尝试了访问共享数据部205时,在系统状态为非访问监视状态的情况下,实施第1任务101对共享数据部205的访问。

<基于分配时隙的访问监视时间配置>

图14为表示访问监视时间的设定例的图。下面,对访问监视时间不受安全要求等级高的任务的启动时刻所左右而是由安全要求等级低的任务的时隙时间决定这一情况进行说明。

在图14所示的例子中,第3任务与第1任务101一样,安全要求等级较低。第1任务101在时刻t3a~t3d以及时刻t3j~t3l内进行动作。第3任务在时刻t3f~t3h内进行动作。访问监视时间配置在分别分配给第1任务101及第3任务的时隙的末尾即时刻t3b~t3d、时刻t3f~t3h以及时刻t3j~t3l内。如此,通过根据安全要求等级低的任务的时隙时间来配置访问监视时间,即便在没有与共享数据部205的访问的有无或访问对象的详情有关的信息的情况下,也能防止排他中的任务切换造成的影响。

<数据访问控制部105的动作>

图15为表示数据访问控制部105的动作的流程图。以下所说明的各步骤的执行主体为cpu208。

当从任务收到对共享数据部205的访问请求时,数据访问控制部105在系统状态判定部106中确认系统状态(s201)。当判断为系统状态为非访问监视状态时(s201:否),数据访问控制部105使表示对共享数据部205的访问状况的访问标志转变为“访问中”(s202),执行对共享数据部205的访问(s203)。当任务对共享数据部205的访问完成时,数据访问控制部105使访问标志转变为“非访问中”(s204)。

在系统状态为访问监视状态的情况下(s201:是),数据访问控制部105在调度表501中判定当前时隙的时间错误判定标志的内容(s205)。在时间错误判定标志为“不进行”的情况下(s205:否),数据访问控制部105使任务状态管理部107将任务的状态转变为待机状态303(s206)。继而,在后续的时隙内任务状态转变成执行状态301后,数据访问控制部105进行数据访问(s202、s203、s204)。在时间错误判定标志为“进行”的情况下(s205:是),数据访问控制部105使当前时隙的余量内错误标志转变为on(s207),并使执行状态301的任务强制结束而设为休止状态304(s208)。但是,强制结束需要时间,因此,也可在s208中使任务暂时转变为待机状态303而在空闲时隙内转变为休止状态304。

根据上述第1实施方式,获得以下作用效果。

(1)车辆控制装置2002具备:应用部214,其包含根据执行的优先级加以分类的、优先级相对较低的第1任务101以及优先级相对较高的第2任务102;系统状态管理部111,其对要执行的每一任务分配每一任务的预先定下的长度的时间即时隙,在分配给第1任务101的时隙中将时隙的末尾的第1规定时间设定为访问监视时间;共享数据部205,其由第1任务101及第2任务102访问;以及数据访问控制部105,其禁止访问监视时间内的第1任务101对共享数据部205的访问。

车辆控制装置2002不具有某一任务是否访问共享数据部205还有访问共享数据部205中包含的哪一数据等信息。但是,由于在第1任务101被分配的时隙的末尾设置有访问监视时间,因此,能防止因优先级低的第1任务101访问共享数据部205而妨碍其他任务对共享数据部205的访问这一事态。参考图16对设想的以往的问题进行说明。

图16为表示通常的对共享数据的访问次序的流程图。作为通常的对共享数据的访问,访问共享数据的任务进行排他获取,换句话说就是获取对共享数据的访问权(s601)。接着,进行数据处理(s602),最后释放排他,换句话说就是释放对共享数据的访问权(s603)而结束一系列处理。如果进行图16所示的处理的任务的时隙在数据处理的中途结束,则处理在不进行排他释放的情况下转移至其他任务。在该情况下,只要不恢复该任务的处理,便不会进行排他释放,那么其他任务便无法进行排他获取,导致无法访问共享数据。

以往存在这种问题,而车辆控制装置2002将分配给第1任务101的时隙的末尾的规定时间设为访问监视时间,从而禁止访问监视时间内的对共享数据部205的访问,因此能避免上述问题。即,在车辆控制装置2002中,不存在第1任务101在保持访问权的状态下迎来时隙的末期这一情况,因此能防止第1任务101的排他获取对其他任务的、与对共享数据部205的访问相关的不良影响。进一步的,在像本实施方式那样车辆控制装置2002不具有每一任务的对共享数据部205的访问的有无的情况下,也能获得该优点。即,不论有无用于排他控制的共享数据部205的访问信息,车辆控制装置2002都能防止安全要求等级低的第1任务101的排他获取对其他任务的动作的影响。

(2)访问监视时间比第1任务101对共享数据的访问所需的时间长。因此,在有充分的第1任务101访问共享数据部205用的时间的访问监视时间的开始之前,准许第1任务101对共享数据部205的访问。并且,即便在访问监视时间不久之前第1任务101开始对共享数据部205的访问的情况下,由于访问监视时间比第1任务101对共享数据的访问所需的时间长,因此,可以在该时隙内完成到排他释放为止而防止对其他任务的动作的影响。

(3)数据访问控制部105使在访问监视时间内尝试了访问共享数据部205的第1任务101转变为结束状态。因此,能使无法进行下一处理即对共享数据部205的访问的第1任务101的动作结束,节约cpu208的资源。

(4)当跨越多个时隙加以执行的第1任务101在最终时隙以外在访问监视时间内尝试访问共享数据部205时,数据访问控制部105使第1任务101待机直到下一时隙的开始时刻。因此,能使跨越多个时隙加以执行的第1任务101在接下来执行的时隙内访问共享数据部205。

(5)优先级根据任务所要求的功能安全的等级来决定。具体而言,所要求的功能安全等级较高的例如asil-d的任务较高地设定优先级,所要求的功能安全等级较低的例如qm的任务较低地设定优先级。由此,功能安全等级高的任务得以优先执行。

(变形例1)

在第1实施方式中,优先级仅设定有2种。但也可设定3种以上的优先级。在该情况下,分类为最高优先级和它以外的优先级来进行处理。例如,在设置优先级1~5、数字越大越应优先的情况下,优先级1~4的任务相当于第1实施方式中的优先级低的任务即第1任务101。于是,只有优先级5的任务相当于第1实施方式中的优先级高的任务即第2任务102。

(变形例2)

在第1实施方式中,是根据任务所要求的功能安全等级来决定优先级。但也可根据其他指标来决定任务的优先级。例如,也可根据对其他任务的影响的大小、用户的喜好、或者功能安全等级与它们的组合来决定任务的优先级。

第2实施方式

参考图17,对作为访问控制装置的车辆控制装置的第2实施方式进行说明。在以下的说明中,对与第1实施方式相同的构成要素标注相同符号而主要说明不同点。不特别说明的内容与第1实施方式相同。在本实施方式中,主要在考虑时隙内对共享数据部205的访问完成不了的情况这一点上与第1实施方式不一样。即,第2实施方式中设想如下任务。即,某一任务在访问监视时间开始之前开始对共享数据部205的访问,即使访问监视时间开始该访问都未结束。进一步的,即使访问监视时间结束、换句话说就是到达该时隙的结束时刻,该任务对共享数据部205的访问都未结束。

在本实施方式中,有效运用数据访问控制部105的访问标志。访问标志例如为存放在存储器209中的信息。像第1实施方式中说明过的那样,数据访问控制部105在根据任务的请求而许可对共享数据部205的访问的情况下,使访问标志转变为“访问中”,在数据访问完成时使访问标志转变为“非访问中”。当检测到访问监视时间结束时访问标志为“访问中”这一情况时,数据访问控制部105通过重启车辆控制装置2002而使所有排他控制重置。

由此,能将超过访问监视时间进行数据访问的情况下的排他所造成的对其他任务的影响抑制在最小限度,从而尽早恢复。此外,在访问监视时间开始时任务状态为执行状态而且访问标志为“访问中”的情况下,也可判断发生异常而通过任务状态管理部107使任务转变为待机状态。此外,重启对象不限于车辆控制装置2002,也能以部署的其他系统整体进行重启。

<数据访问控制部105的动作>

图17为表示第2实施方式中的数据访问控制部105的动作的流程图。到s203为止的处理与第1实施方式相同,因此省略说明。当在s203中开始对共享数据部205的访问时,数据访问控制部105判断任务对共享数据部205的访问是否已结束,在判断为访问已结束的情况下(s211:是),前进至s204。在判断为访问尚未结束的情况下(s211:否),数据访问控制部105判断访问监视时间是否已结束,在判断为访问监视时间已结束的情况下(s212:是),重启车辆控制装置2002(s213)。在判断为访问监视时间尚未结束的情况下(s212:否),数据访问控制部105返回至s211。

根据上述第2实施方式,获得以下作用效果。

(6)车辆控制装置2002具备访问标志和数据访问控制部105,所述访问标志表示任务对共享数据部205的访问状态,当开始任务对共享数据部205的访问时,所述数据访问控制部105将访问标志设为开启,当结束任务对共享数据部205的访问时,所述数据访问控制部105将访问标志设为关闭。若访问监视时间结束时访问标志为开启,则数据访问控制部105使车辆控制装置2002重启。因此,能将超过访问监视时间进行数据访问的情况下的排他所造成的对其他任务的影响抑制在最小限度,从而尽早恢复。

第3实施方式

参考图18,对作为访问控制装置的车辆控制装置的第3实施方式进行说明。在以下的说明中,对与第1实施方式相同的构成要素标注相同符号而主要说明不同点。不特别说明的内容与第1实施方式相同。在本实施方式中,主要在有时会对分配给第2任务102的时隙设置访问监视时间这一点上与第1实施方式不一样。

在本实施方式中,对不允许因安全要求等级高的第2任务102而对其他任务产生影响的情况下的车辆控制装置2002的动作进行说明。即,在本实施方式中,即便在分配给第2任务102的时隙的下一时隙是分配给第2任务102的情况下,也会对分配给前面的第2任务102的时隙最终部设置数据访问监视用的访问监视时间。由此,在安全要求等级高的第2任务102发生了误动作的情况下,能够防止对其他安全要求等级高的第2任务102的影响。

<系统状态管理部111的动作>

图18为表示第3实施方式中的系统状态管理部111的动作的流程图。对与第1实施方式相同的处理标注同一步骤编号而省略说明。当在s400a中作出否定判定时,系统状态管理部111判断当前时隙和下一时隙这两方是否被分配了第2任务102(s400c)。在本步骤作出肯定判定的情况下,系统状态管理部111前进至s401,在作出否定判定的情况下,前进至s400b。后面的动作与第1实施方式相同,因此省略说明。

根据上述第3实施方式,通过变更访问监视时间的配置对象,可以防止安全要求等级高的任务对其他任务的影响。

第4实施方式

对作为访问控制装置的车辆控制装置的第4实施方式进行说明。在以下的说明中,对与第1实施方式相同的构成要素标注相同符号而主要说明不同点。不特别说明的内容与第1实施方式相同。在本实施方式中,主要在自动生成调度表501这一点上与第1实施方式不一样。

未图示的开发工具自动生成调度表501。开发工具根据各任务的周期、最差执行时间、安全要求等级等设计信息来自动生成调度表501。在自动生成时,根据安全要求等级的信息来决定是否对各时隙的最终部设置数据访问监视用的访问监视时间。在设置访问监视时间的情况下,进行包含访问监视时间的时隙时间的配置。

根据上述第4实施方式,由于自动生成调度表501,因此可以在不考虑有无访问监视时间的必要的情况下进行应用设计。

第5实施方式

参考图19~图23,对作为访问控制装置的车辆控制装置的第5实施方式进行说明。在以下的说明中,对与第1实施方式相同的构成要素标注相同符号而主要说明不同点。不特别说明的内容与第1实施方式相同。在本实施方式中,主要在车辆控制装置2002的cpu208具备多个核心这一点上与第1实施方式不一样。

如图19所示,本实施方式中的cpu208是具备第1核心1701、第2核心1702及第3核心1703的所谓的多核cpu。但是,cpu208具备的核心的数量为2以上即可,其个数不作限定。所有核心都执行安全要求等级低的第1任务101以及安全要求等级高的第2任务102,各任务访问共享数据部205。此外,在本实施方式中,将系统状态分类为整体监视状态、个别监视状态、非监视状态这3种。

图20为表示系统状态表1901的一例的图。系统状态表1901保持各核心是个别监视状态还是非监视状态的信息以及“全核心用访问监视计数器”。全核心用访问监视计数器在0到核心数之间增减。并且,将全核心用访问监视计数器的值为1以上的状态称为“整体监视状态”。即,第1实施方式中的访问监视状态及非访问监视状态对应于本实施方式中的个别监视状态及非监视状态,表示各核心可否访问共享数据部205。整体监视状态影响车辆控制装置2002整体即所有核心,在整体监视状态下,禁止所有核心中的第1任务101对共享数据部205的新的访问。

在本实施方式中,系统状态管理部111不仅对第1任务101、还对第2任务102设定监视时间。其中,第2任务102的监视时间以设为访问时间的2倍以上的方式加以设定。

参考图21,对如何改写系统状态表1901进行说明。在第1任务101用时隙内的访问监视时间的开始时(t4b),系统状态管理部111使第1核心的系统状态转变为个别监视状态。在第1任务101用时隙内的访问监视时间的结束时(t4c),系统状态管理部111使第1核心的系统状态转变为非监视状态。如前文所述,在个别监视状态的核心中,第1任务101对共享数据部205的新的访问被禁止。在第2任务102用时隙内的访问监视时间的开始时(t4e),通过系统状态管理部111使该核心的系统状态转变为个别监视状态,而且使全核心用访问监视计数器增加1而转变为整体监视状态。在第2任务102用时隙内的访问监视时间的结束时(t4h),通过系统状态管理部111使该核心的系统状态转变为非监视状态,使全核心用访问监视计数器减少1。当该减少使得全核心用访问监视计数器的值变为零时,整体监视状态解除。

如前文所述,在全核心用访问监视计数器为1以上的情况下,为整体监视状态,因此,所有核心中的第1任务101对共享数据部205的新的数据访问被禁止。在因多个核心1701、1702、1703的第2任务102而存在对共享数据部205的数据访问请求的情况下,数据访问控制部105优先进行到正在执行的时隙的结束时间为止最短的第2任务102的数据访问。但是,在不是整体监视状态的情况下,即,在所有核心中在时隙的结束之前都有充分的时间对共享数据部205访问的情况下,数据访问控制部105也可按照收到请求的顺序让第2任务102访问共享数据部205。由此,即便在访问监视时间之前其他核心的第1任务101进行了访问时,也能确保在第1任务101的数据访问完成后执行第2任务102的数据访问的时间。因此,可以防止多核环境下的第1任务101的数据访问所造成的对第2核心1702的影响。参考图22来具体进行说明。

图22为表示第2任务102对共享数据部205的访问请求重复的状况的图。图22中,时间从图示左方朝右方流逝,从上方起展示第1核心1701、第2核心1702、第3核心1703的状态。但图22为示意图,时间轴的长度不均匀。例如,在图22中,第3核心1703的访问时间相比于其他核心而言被绘制得非常长,但这是作图上的问题引起的,所有访问时间都大致相同。第1核心1701和第2核心1702执行第2任务102,第3核心1703执行第1任务101。第1核心1701中的时隙的结束时刻为t6,根据第2任务102的监视时间算出从时刻t3起为整体监视时间。第2核心1702中的时隙的结束时刻为t7,根据第2任务102的监视时间算出从时刻t5起为整体监视时间。在时刻t0,第3核心1703中第1任务101正对共享数据部205进行访问。该访问持续到时刻t4为止。

在时刻t1,如朝下的三角形所示,第2核心1702中产生了第2任务102对共享数据部205的访问请求。在接下来的时刻t2,如朝下的三角形所示,第1核心1703中产生了第2任务102对共享数据部205的访问请求。并且,在时刻t3,第1核心1703中开始整体监视时间。在第3核心1703的第1任务101对共享数据部205的访问完成的时刻t4,数据访问控制部105判断第1核心1701在到时隙的结束为止的时间方面比第2核心1702短,从而让第1核心1701的第2任务102访问共享数据部205。其后,在时刻t5,第1核心1701对共享数据部205的访问结束,这时,数据访问控制部105开始第2核心1702对共享数据部205的访问。

(系统状态管理部111的动作)

图23为表示第5实施方式中的系统状态管理部111的动作的流程图。图23中,对与第1实施方式相同的动作标注同一步骤编号而省略说明。系统状态管理部111在各时隙的开始时判断该时隙内要执行的任务是否为第1任务101(s400a),在判断为要执行的任务为第1任务101的情况下(s400a:是),前进至s401a。在判断为要执行的任务不是第1任务101也就是要执行第2任务102的情况下(s400a:否),在s400b中进行以下处理。

即,系统状态管理部111将时隙的结束时刻设定至时隙时间监视部110,而且根据第2任务102用的监视时间算出访问监视时间的开始时刻并设定至访问时间监视部109,从而开始计数(s400b)。继而,当判断为是监视时间时(s402b:是),系统状态管理部111使该核心的系统监视状态转变为个别监视状态,而且对全核心用访问监视计数器进行增加,使系统状态转变为整体监视状态(s403b),并前进至s404。但是,在系统状态已经是整体监视状态的情况下,仅进行全核心用访问监视计数器的增加。

在s401a中,系统状态管理部111根据第1任务101用的监视时间来算出访问监视时间的开始时刻并将该时刻设定至访问时间监视部109,而且将时隙的结束时刻设定至时隙时间监视部110而开始计数,并前进至s402。在s402中,当判断为监视时间时(s402a:是),系统状态管理部111使该核心的系统监视状态转变为个别监视状态并前进至s404(s403a)。在s404中,当判断为是时隙时间时,使该核心的系统监视状态转变为非监视状态,而且对全核心用访问监视计数器进行减少(s405a)。在该减少使得全核心用访问监视计数器的值变成零的情况下,整体监视状态解除。

根据上述第5实施方式,获得以下作用效果。

(7)具备多个执行任务的cpu208的核心,系统状态管理部111将分配给第2任务102的时隙内时隙的末尾的第2规定时间设定为整体监视时间,整体监视时间的长度为个别监视时间以上的长度。数据访问控制部105针对cpu208的每一核心判断是否为访问监视时间,禁止整体监视时间内的所有核心中执行的第1任务101对共享数据部205的访问。因此,在cpu208具备多个核心而能并列执行多个任务的情况下,通过针对每一核心设置访问监视时间,能够防止安全要求等级低的任务对安全要求等级高的任务的影响。此外,通过在第2任务102的时隙末尾设置整体监视时间来限制所有核心中的第1任务101对共享数据部205的访问,能使所有核心中正在执行的第2任务102都优先访问共享数据部205,防止执行的延迟。

(8)当多个核心中第2任务102尝试访问共享数据部205时,数据访问控制部105优先进行到正在执行的时隙的末期为止的时间不到整体监视时间的第2任务102对共享数据部205的访问。因此,在第2任务102彼此对共享数据部205的访问重复的情况下,以到执行结束为止的时间较短的任务的访问为优先,尽可能提供第2任务102对共享数据部205的访问。

(第5实施方式的变形例)

整体监视时间也可设为比任务对共享数据部205的访问所需的时间与核心数的积更长的时间。由此,能够防止其他核心中正在执行的第2任务102的数据访问所造成的影响。

第6实施方式

参考图24,对作为访问控制装置的车辆控制装置的第6实施方式进行说明。在以下的说明中,对与第1实施方式相同的构成要素标注相同符号而主要说明不同点。不特别说明的内容与第1实施方式相同。在本实施方式中,主要在不具备系统状态管理部这一点上与第1实施方式不一样。

在本实施方式中,同时运用硬件计时器的多种模式和与模式相对应的多种标志来代替系统状态管理部111以进行系统状态管理。计时器保持有表示已到达设定的时间这一情况的标志。

图24为表示本实施方式中的动作的概要的图。参考图24,对计时器的动作进行说明。在第一模式即连续执行模式下,当计数器到达设定时间(t5d)时,将标志1转变为匹配状态,并将计数器重置为0而再次开始计数。当开始计数时,标志1转变为非匹配状态。通过将该模式用于时隙时间的监视,会在定好的时间启动任务。

在第二模式即单冲执行模式下,当计数器到达设定时间(t5b)时,将标志2转变为匹配状态,并停止计数器直至能再次设定时间为止(t5d)。将该模式用于访问监视时间的监视。在时隙的开始时(t5a)设定访问监视时间的开始时刻。在任务尝试数据访问时,系统状态判定部106参考标志2,在标志2为匹配状态的情况下判定为访问监视状态,数据访问控制部105禁止任务的数据访问。

根据上述第6实施方式,可以通过同时运用多种计时器模式而仅靠硬件计时器来实现系统状态的管理。

第7实施方式

参考图25~图26,对作为访问控制装置的车辆控制装置的第7实施方式进行说明。在以下的说明中,对与第1实施方式相同的构成要素标注相同符号而主要说明不同点。不特别说明的内容与第1实施方式相同。在本实施方式中,主要在使用fpga这一点上与第1实施方式不一样。

(构成)

图25为第7实施方式中的车辆控制装置2002的框图。在本实施方式中,访问时间监视部109、时隙时间监视部110及系统状态管理部111构成于fpga(field-programmablegatearray现场可编程逻辑门阵列)上。此外,除了第1实施方式的构成以外,在fpga上还具备计时器标志监视部2303。

图26为说明计时器标志监视部2303的动作的图。计时器标志监视部2303始终对访问时间监视部109及时隙时间监视部110与计时器的时间进行比较。继而,当访问时间监视部109与计时器一致时(图26的时刻t6b),计时器标志监视部2303使监视标志转变为匹配状态,当时隙时间监视部与计时器一致时(时刻t6d),使时隙标志转变为匹配状态。系统状态管理部111监视监视标志及时隙标志的状态转变,当监视标志转变为匹配状态时(时刻t6b),使系统状态转变为访问监视状态。此外,当时隙标志转变为匹配状态时(时刻t6d),系统状态管理部111使系统状态转变为非访问监视状态。

根据上述第7实施方式,可以通过使用fpga的时间监视及状态管理而利用一个计时器来监视多个时间。

第8实施方式

参考图27~图28,对作为访问控制装置的车辆控制装置的第8实施方式进行说明。在以下的说明中,对与第1实施方式相同的构成要素标注相同符号而主要说明不同点。不特别说明的内容与第1实施方式相同。在本实施方式中,主要在明确了动作日志管理部213的动作这一点上与第1实施方式不一样。

图27为表示动作日志管理部213的动作的流程图。动作日志管理部213获取各时隙内的任务的开始时刻、结束时刻、任务id以及时隙结束时的状态(s701、s702)并加以记录(s703)。尤其会记录结束时的状态,由此,将任务是否在正常动作、是否是具有较长动作时间的跨越任务、是否是发生异常所造成的强制结束、是否是访问监视时间内的数据访问所造成的结束、是否是访问监视时间内的数据访问所造成的跨越中断保持在动作日志中。

图28为表示动作日志管理部213记录的动作日志1101的一例的图。动作日志1101中记录有各时隙内的开始时刻、结束时刻、任务id以及结束时的状态。

根据上述第8实施方式,可以通过记录动作日志来确认各时间上的任务的状态。此外,能够发现尝试了对其他任务产生影响的时刻上的数据访问的任务。

上文中,对各种实施方式及变形例进行了说明,但本发明并不限定于这些内容。在本发明的技术思想的范围内思索的其他形态也包含在本发明的范围内。

符号说明

101第1任务

102第2任务

105数据访问控制部

106系统状态判定部

107任务状态管理部

108调度部

109访问时间监视部

110时隙时间监视部

111系统状态管理部

205共享数据部

206任务执行控制部

208cpu

210计时器

213动作日志管理部

214应用部

215硬件

216软件

501调度表

1101动作日志

1901系统状态表

2001车辆系统

2002车辆控制装置

2303计时器标志监视部。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1