CN104115122B - 车辆用电子控制装置、数据接收方法 - Google Patents
车辆用电子控制装置、数据接收方法 Download PDFInfo
- Publication number
- CN104115122B CN104115122B CN201280069775.3A CN201280069775A CN104115122B CN 104115122 B CN104115122 B CN 104115122B CN 201280069775 A CN201280069775 A CN 201280069775A CN 104115122 B CN104115122 B CN 104115122B
- Authority
- CN
- China
- Prior art keywords
- microcomputer
- data
- load level
- processing load
- frames
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 117
- 238000004891 communication Methods 0.000 claims abstract description 29
- 230000005540 biological transmission Effects 0.000 claims abstract description 24
- 230000006855 networking Effects 0.000 claims abstract description 21
- 230000002000 scavenging effect Effects 0.000 claims abstract description 9
- 238000001514 detection method Methods 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims abstract description 5
- 230000009467 reduction Effects 0.000 claims abstract description 3
- 238000012544 monitoring process Methods 0.000 claims description 103
- 230000003139 buffering effect Effects 0.000 claims description 32
- 239000000872 buffer Substances 0.000 claims description 13
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims 2
- 238000013500 data storage Methods 0.000 claims 1
- 230000000875 corresponding effect Effects 0.000 description 23
- 238000004378 air conditioning Methods 0.000 description 20
- 238000009434 installation Methods 0.000 description 11
- 230000004087 circulation Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000005259 measurement Methods 0.000 description 8
- 238000003860 storage Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000000630 rising effect Effects 0.000 description 4
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 3
- 238000004080 punching Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- GZEYLLPOQRZUDF-UHFFFAOYSA-N 7-(dimethylamino)-4-methylchromen-2-one Chemical compound CC1=CC(=O)OC2=CC(N(C)C)=CC=C21 GZEYLLPOQRZUDF-UHFFFAOYSA-N 0.000 description 1
- 208000027877 Disorders of Sex Development Diseases 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 210000001367 artery Anatomy 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- JEIPFZHSYJVQDO-UHFFFAOYSA-N ferric oxide Chemical compound O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 210000003462 vein Anatomy 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0421—Multiprocessor system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/26—Pc applications
- G05B2219/2637—Vehicle, car, auto, wheelchair
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5022—Workload threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/503—Resource availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Small-Scale Networks (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
具有与车载网络连接的第一微机和第二微机的车辆用电子控制装置中,所述第一微机具有:处理负载水平检测单元,检测处理负载水平;表,是将处理负载水平与数据识别信息建立对应关系而得到的;及接收数据减少单元,在所述处理负载水平成为第一阈值以上时,基于所述表,来停止在成为所述第一阈值以上之前接收到的一个以上的数据的接收,所述第二微机具有:处理负载水平推定单元,推定所述第一微机的所述处理负载水平;替代数据接收单元,在推定的所述处理负载水平成为第二阈值以上时,从所述车载网络接收所述第一微机要停止接收的数据;及数据发送单元,在串行通信的通信时机将所接收到的数据向所述第一微机发送。
Description
技术领域
本发明涉及具有与车载网络连接的第一微机和与所述车载网络连接的第二微机的车辆用电子控制装置。
背景技术
在车辆中,为了实现更舒适的行驶或促进节省燃耗,车载装置的电子控制化不断发展。由微机等搭载有信息处理装置的电子控制装置(ECU:Electronic Control Unit)进行电子控制,但是以电子控制的多样化、高功能等为起因而由一台电子控制装置执行的处理变多,微机的处理负载处于增大的趋势。考虑预先搭载能够应对处理负载的峰值的高功能的微机,但会导致成本增加。
因此,着眼于在若干电子控制装置中搭载多个微机而研究了在微机间进行负载分散的情况。这样的负载分散有时在与网络连接的PC或服务器中被利用(例如,参照专利文献1)。专利文献1公开了一种分散工艺管理系统:在大致同等的处理性能的计算机连接于网络的状态下,各计算机在与各计算机连接的共用存储介质中预先记录有各计算机的负载。各计算机找到在当前时刻工艺的负载小的计算机而要求该计算机进行处理。
然而,搭载于电子控制装置的多个微机为了抑制成本而具有必要最小限度的处理能力,因此难以如专利文献1记载的那样进行单纯的负载分散。而且,多数的情况下,搭载于一个电子控制装置的多个微机的处理能力不均匀。因此,例如,微机A的处理能力比微机B的处理能力低的情况下,即使由于微机A的处理负载存在富余而微机A取代微机B进行处理,也可能会产生微机B处理更快的情况。而且,由于微机A替代微机B的处理,因此微机B搭载相同大小的ROM的情况不仅在成本上而且在大小上也比较困难。
另外,若将同等的处理性能的微机A和微机B搭载于电子控制装置,则虽然能够进行负载分散,但是与上述的搭载一个高功能的微机的情况同样地会导致成本增加。
然而,在车辆的情况下,通常是高功能侧的微机进行控制处理。当该控制用微机的处理负载升高时,逐渐产生任务遗漏,但是由于从对行驶的影响小的任务开始产生任务遗漏,因此不会发生行驶变得困难的情况。但是,控制用微机或任务的执行产生某些异常,因此不优选。因此,另一方的微机有时以对控制用微机进行监视的方式设计。存在如下情况:监视用微机对控制用微机的处理负载进行监视,在判定为成为高负载时,将控制用微机复位而进行再起动。这种情况下,控制用微机与通用的PC等相比,虽然极早地复原(再起动),但是短时间也无法进行控制,因此不优选。
专利文献1:日本特开平9-319720号公报
发明内容
本发明鉴于上述问题而作出,目的在于提供一种在产生微机的复位之前,能够在搭载于电子控制装置的不同的微机间进行负载分散的电子控制装置。
本发明涉及一种车辆用电子控制装置,具有:第一微机,与车载网络连接;及第二微机,与所述车载网络连接,所述车辆用电子控制装置的特征在于,所述第一微机具有:处理负载水平检测单元(例如,负载监视部51),检测所述第一微机的处理负载水平;表(例如,接收停止表58),是将处理负载水平与数据识别信息建立对应关系而得到的;及接收数据减少单元(例如,接收数据指定部52),在所述处理负载水平成为第一阈值以上时,基于所述表,来停止在所述处理负载水平成为所述第一阈值以上之前所述第一微机从所述车载网络进行接收的一个以上数据的接收,所述第二微机具有:处理负载水平推定单元(例如,负载确定部64),推定所述第一微机的所述处理负载水平;替代数据接收单元(例如,接收数据指定部65),在所述处理负载水平推定单元所推定的所述处理负载水平成为第二阈值以上时,从所述车载网络接收所述第一微机要停止接收的数据;及数据发送单元(例如,发送命令部66),通过串行通信将所述替代数据接收单元所接收到的多个数据一并向所述第一微机发送。
发明效果
根据本发明,能够提供一种在产生微机的复位之前,能够在搭载于电子控制装置的不同的微机间进行负载分散的电子控制装置。
附图说明
图1是示意性地说明本实施方式的负载分散的简要情况的图的一例。
图2是搭载于HV-ECU的控制用微机和监视用微机的简要框图的一例。
图3是控制用微机及监视用微机的功能框图的一例。
图4是说明控制用微机的处理负载的图的一例。
图5是表示登记有处理负载与WDC信号的周期的关系的周期决定表的图的一例。
图6是表示WDC发送部发送WDC信号的顺序的流程图的一例。
图7是说明监视用微机的周期运算部进行的周期的运算的图的一例。
图8是说明CAN控制器接收的CAN帧的指定的图的一例。
图9A是说明DMAC进行的CAN帧的发送的图的一例。
图9B是说明DMAC进行的CAN帧的发送的图的一例。
图9C是说明DMAC进行的CAN帧的发送的图的一例。
图10是表示控制用微机根据处理负载而对接收的CAN帧进行控制的顺序的流程图的一例。
图11是表示监视用微机根据处理负载而开始CAN帧的接收的顺序的流程图的一例。
图12是表示监视用微机向控制用微机发送CAN帧的顺序的流程图的一例。
图13是表示控制用微机从监视用微机接收CAN帧、并从DMA缓冲读出的顺序的流程图的一例。
附图标记说明
11、31 CPU
12、32 RAM
16、36 DRAM
18、38 CAN控制器
57、67 周期决定表
58 接收停止表
68 接收数据指定表
71、72 DMA缓冲
98 控制用微机
99 监视用微机
100 HV-ECU
具体实施方式
以下,参照附图,说明用于实施本发明的方式。
〔电子控制装置的负载分散的简要情况〕
图1是示意性地说明本实施方式的负载分散的简要情况的图的一例。在CAN母线43上连接有HV-ECU100。HV-ECU100能够与连接于CAN母线43的其他ECU(EFI-ECU:发动机ECU,A/C-ECU:空调ECU,ABG-ECU:气囊ECU,ECB-ECU:制动器ECU)互相通信。此外,HV-ECU100具有控制用微机98和监视用微机99。
对于ECU的处理负载升高的主要原因,可列举出发动机转速或车速的增加等,但这主要是由于容易发生事件中断、中断处理的频度增大的缘故。当中断处理增多时,上下文切换多发,因此处理负载升高。并且,这样的事件中断也会由于来自CAN母线43的接收中断而产生。
因来自外部的中断而唤醒的任务的大部分具有中~低以上的优先顺序,因此当中断多发时,其他的低优先顺序的任务的处理发生延迟,或容易产生任务遗漏。而且,该状态的控制用微机98的处理负载升高,因此监视用微机99对控制用微机进行复位的可能性升高。
本实施方式的HV-ECU100着眼于由CAN通信的接收中断引起的中断处理使控制用微机98的处理负载增大的情况,如下所示地进行负载分散。
(1)控制用微机98对处理负载进行监视,当处理负载升高时,停止优先顺序低的CAN帧的接收。
(2)以往,控制用微机98将WDC信号周期性地向监视用微机99发送。本实施方式的控制用微机98在该WDC信号上重叠处理负载信息,向监视用微机99发送。
(3)当控制用微机98的处理负载升高时,监视用微机99开始接收控制用微机98停止了接收的CAN帧。并且,利用串行通信,将多个CAN帧一并(在一次循环中)向控制用微机98发送。可以说是监视用微机99取代控制用微机98而进行接收CAN帧的替代接收,对于控制用微机98,起到CAN帧的网关的作用。在控制用微机98从监视用微机99接收CAN帧时,产生接收中断,但是与CAN帧的接收中断相比,能够大幅度降低其频度。
通过以上那样的控制,首先,控制用微机98减少CAN帧的接收数,因此接收中断减少,能够减少处理负载。而且,控制用微机98从监视用微机99接收CAN帧,因此几乎不会产生接收遗漏。控制用微机98从监视用微机99接收CAN帧的频度少于控制用微机98从CAN母线43接收CAN帧的频度。由此,对接收到相同量的CAN帧的情况进行比较,与从CAN母线43直接接收CAN帧的情况相比,从监视用微机99接收CAN帧的情况能够抑制处理负载的增大。
此外,以下,以基于CAN协议的通信为例进行说明,但是对于微机从车载网络接收数据时进行接收中断的通信协议,能够良好地适用本实施方式的替代接收。
另外,控制用微机和监视用微机均是按照各循环周期反复进行下述的处理。控制用微机与监视用微机的循环周期无需相同,但是在本实施方式中为了便于说明而设为相同。循环周期例如为几毫秒~几十毫秒。
〔构成例〕
图2表示搭载于HV-ECU100的控制用微机和监视用微机99的简要框图的一例。此外,也可以具有三个以上微机。控制用微机98具有与主母线21连接的CPU11、RAM12、ROM13、INTC14、WDT15及DMAC16,且具有与周边母线22连接的CAN控制器18、ADC19及输入输出端口20。主母线21与周边母线22经由电桥17而连接。
监视用微机99是性能比控制用微机98低的微机,但并不是性能必须降低才能适用于本实施方式。优选降低监视用微机99的性能是因为只要能充分进行监视用微机99的处理负载的监视、控制用微机98的复位、CAN帧的蓄积等就足够。此外,作为性能的指标,可列举出核数、寄存器、母线的数据大小、时钟脉冲频率、RAM、ROM的大小、工艺流程等。
CPU11通过执行存储于ROM13的程序来进行HV-ECU100所需的处理。RAM12是CPU11执行程序时的作业存储器。而且,在ROM13中存储有OS(Operating System:操作系统)、设备驱动程序、中间软件等系统类的程序。
本实施方式中说明的CAN帧的接收控制没有限定于HV-ECU100,只要是搭载有两个微机的ECU就能够良好地适用。在将CAN帧的接收控制适用于HV-ECU100的情况下,CPU11进行以下的处理。首先,接收油门开度、车速信息、制动踏板的踏下状况及蓄电池的充电状态(SOC)。CPU11参照与油门开度和车速建立对应关系地登记有要求转矩的映射,根据油门开度和车速来决定要求转矩。并且,以将该要求转矩所对应的驱动力向齿圈输出的方式,参照最佳燃耗线等,来决定发动机转速及电动机的转速。CPU11将所决定的发动机转速及电动机转速经由CAN母线43向发动机ECU、电动机ECU发送。
INTC14对中断寄存器进行监视,基于中断的优先顺序而调解来自周边设备的中断要求并向CPU11通知。由此,CPU11执行例如ISR(Interrupt Service Routine:中断服务程序),根据中断的周边设备而将确定的任务唤醒。
WDT15是对动作时钟脉冲进行计数而在计测出的时间达到预先确定的复位时间时(溢出时)进行异常检测(微机复位、CPU中断等)的电路。在本实施方式中,监视用微机99进行与WDT15同样的功能,因此也可以没有WDT15。
DMAC16使数据不经由CPU11而在RAM12与周边电路之间、或RAM12内移动。在CPU11从输入输出端口20向外部发送数据的情况下,CPU11将存储于RAM12的数据的地址设定于DMAC16并对发送目的地的周边电路进行指示。DMAC16将从RAM12读出的数据向输入输出端口20写入。而且,在CPU11从外部接收数据的情况下,当数据到达输入输出端口20时,DMAC16对其进行检测而向RAM12传送数据。当接收结束时,DMAC16对INTC14作出中断要求,由此CPU11能够读出RAM12的数据。此外,在接收时DMAC16写入数据的地址是预先确定的。控制用微机98的DMAC16主要进行从监视用微机99接收数据。
电桥17吸收主母线21与周边母线22之间的频率的差异,将与主母线21连接的电路和与周边母线22连接的电路以能够通信的方式连接。CAN控制器18是用于使控制用微机98与连接于CAN母线43的其他ECU进行通信的通信电路。CAN控制器18将CAN帧的接收向DMAC16进行通知时,DMAC16从CAN控制器18的接收缓冲读出CAN帧并存储于RAM12。当接收结束时,DMAC16对INTC14作出中断要求,由此向CPU11通知CAN帧的接收。此外,CAN控制器18有时具有DMAC16的功能。
ADC(A/D转换控制器)19将与控制用微机98连接的传感器的模拟信号转换成数字信号,而向促动器等输出控制信号。输入输出端口20是与周边电路进行输入输出的接口,按照各周边电路而准备有多个。而且,有时也准备多路转换器的端口。在输入输出端口20上连接有例如监视用微机99、传感器、开关等。在本实施方式中,将控制用微机98与监视用微机99的端口1彼此及端口2彼此连接。
监视用微机99具有与控制用微机98同样的结构。监视用微机99不控制促动器等,因此在图中省略了ADC,但是监视用微机99也可以具有ADC,或者具有控制用微机98所不具有的电路。
CPU31通过执行存储于ROM33的程序来进行控制用微机98的监视所需的处理。监视用微机99的DMAC36、CAN控制器38的功能与监视用微机99相同。
图3表示控制用微机98及监视用微机99的功能框图的一例。控制用微机98的各功能块通过CPU11与其他硬件协作并执行程序来实现。监视用微机99的各功能块通过CPU31与其他硬件协作并执行程序来实现。
控制用微机98具有负载监视部51、周期决定部53、接收数据指定部52、数据读出部54及WDC发送部55。监视用微机99具有WDC接收部62、周期运算部63、负载确定部64、复位部61、发送命令部66及接收数据指定部65。
负载监视部51对控制用微机98的处理负载进行监视。关于处理负载的监视方法在后文叙述。周期决定部53根据处理负载(更具体而言为负载水平)来运算WDC信号的周期并对WDC发送部55作出指示。如后文所述,处理负载越高则周期越长,但反之也可以是处理负载越低则越延长周期。
WDC发送部55将按照从周期运算部63指示的周期来切换高和低的脉冲信号即WDC信号经由端口1向监视用微机99发送。接收数据指定部52根据负载监视部51监视的处理负载(更具体而言为等级)对CAN控制器18接收的CAN帧进行指示。数据读出部54将存储于DMA缓冲71的CAN帧读出而存储于RAM12,以能够将程序使用于控制。
监视用微机99的WDC接收部62经由端口1来接收WDC发送部55所发送的WDC信号。而且,WDC接收部62具有对动作时钟脉冲进行计数的计测时间寄存器70,在WDC信号的上升沿或下降沿中的任一方将计测时间寄存器70的计数(计测时间)清零(计测时间寄存器70既可以是递增计数的方式,也可以是递减计数的方式)。将计测时间寄存器70计数至预先确定的最大计测时间的情况称为溢出,在溢出的情况下,WDC接收部62对复位部61作出复位要求。复位部61通过对控制用微机98的RST端子56发送复位信号,而对控制用微机98进行复位。
周期运算部63运算WDC信号的周期。即,根据各单位时间内切换WDC信号的高和低的次数来运算WDC信号的周期。负载确定部64基于WDC信号的周期来确定控制用微机98的处理负载(后述的等级)。接收数据指定部65根据负载确定部64所确定的处理负载,对CAN控制器38接收的CAN帧作出指示。
如上所述,CAN控制器38所接收到的CAN帧存储在RAM32的DMA缓冲72中。发送命令部66按照各规定的循环周期将DMA缓冲72的CAN帧向控制用微机98发送。由此,能够将蓄积于DMA缓冲72的CAN帧一次向控制用微机98发送。例如,在CAN帧为三个时,在控制用微机98接收之后发生三次的接收中断,但是在本实施方式中,仅发生一次接收中断。
此外,在图3中,监视用微机99具有发送命令部66,但控制用微机98具有发送命令部(为了进行区别而设为发送命令部B)的情况也不少。这种情况下,控制用微机98的发送命令部B对监视用微机99的发送命令部66要求通信开始,发送命令部66将准备完成信号向控制用微机98发送。发送命令部B在接收到准备完成信号时开始通信,发送命令部66将DMA缓冲72的CAN帧向控制用微机98发送。
这样一来,控制用微机98和监视用微机98中的任一方都可以成为通信主部。
〔关于处理负载〕
图4是说明控制用微机98的处理负载的图的一例。HV-ECU100能够进行分时处理多个任务的多任务处理。OS等提供的调度程序基于TCB(任务控制程序段)对程序进行系统调用而生成的各任务进行执行控制。在TCB中登记有例如任务ID、任务的开始地址、结束地址、状态、优先顺序、上下文。
各任务被唤醒的契机是预先确定的。例如,任务A、D是通过事件中断而被唤醒的中断任务,任务B、C、E是软件性地被唤醒的定期任务。在发生了CAN帧的接收中断或传感器中断时,ISR直接地或进行系统调用而将TCB的“状态”形成为可执行状态,由此任务A、D被唤醒。而且,在经过循环周期时,程序进行系统调用而将TCB的“状态”形成为可执行状态,由此任务B、C、E被唤醒。
调度程序对TCB进行监视,参照成为可执行状态的任务的优先顺序,基于优先顺序而将任务登记在执行队列中。调度程序(更具体而言为分派程序)按照优先顺序将任务向CPU分配。同一优先顺序的任务按照成为可执行状态的顺序向CPU分配。
负载监视部51根据CPU11对任务的执行状态而对处理负载进行监视。例如,根据平均剩余时间、任务遗漏任务、延迟时间等对处理负载进行监视。
(1)平均剩余时间
对于定期任务,以若中断任务不多则在一定时间内完成的方式设计个数或执行时间。相对于此,循环周期恒定。因此,中断任务越多,相对地优先顺序低的定期任务越难以执行,因此定期任务的执行时间滞后。中断任务越多,滞后的程度也越大。
平均剩余时间是对其进行数值化后的时间,如下进行算出。将循环周期设为T0,将从循环周期T0减去最后的定期任务的完成时间而得到的剩余时间设为T。
平均剩余时间=(T0/T)×100
平均剩余时间越小则处理负载越大。
(2)任务遗漏任务
由于中断任务被较多地唤醒,因此在循环周期T0期间有时不执行定期任务。这种情况下,当下次的循环开始时,由于定期任务已经被唤醒,因此不用重新唤醒任务。或者虽然重新唤醒定期任务,但调度程序将执行队列的任务消去而将重新唤醒的任务登记在执行队列中。这样决定的次数的任务未被执行的情况是任务遗漏。
负载监视部51按照各循环对任务遗漏的任务进行检测并预先记录。例如,在过去三次循环中对任务遗漏的任务进行检测并预先记录。并且,对与这三次相当的任务遗漏的任务的个数进行计数。可知该个数越大则处理负载越大。而且,仅在存在三次连续地任务遗漏的任务的情况下,可以判定为处理负载高。
(3)延迟时间
定期任务按照各循环被唤醒,因此标准的处理负载的执行完成时间是确定的。例如,着眼于任务B时,中断任务为一个左右时的标准执行完成时间为例如Ts。相对于此,当中断任务增加时,实际的任务B的执行完成时间Tr延迟。因此,能够将延迟时间=执行完成时间Tr-标准执行完成时间Ts这样的指标利用于处理负载的指标。
负载监视部51按照各循环来计算延迟时间,在延迟时间增大为阈值以上时,记录延迟时间。当处理负载增大时,按照各循环来记录迟时间。负载监视部51例如算出过去几次的延迟时间的平均。可知延迟时间越大则处理负载越大。而且,仅在记录有延迟时间的循环连续n次以上时,可以判定为处理负载高。
负载监视部51例如根据以下的式子来求出处理负载。α、β、γ是加权的系数。
处理负载=(α任务遗漏任务+β延迟时间)/γ平均剩余时间
负载监视部51将处理负载划分为例如七个阶段(按照负载从低到高的顺序设为“处理负载1~7”)进行说明。当然,也可以划分为比七个阶段多的阶段或划分为比七个阶段少的阶段。
〔周期的决定〕
使用图5,说明控制用微机98的周期决定部53对WDC信号的周期的决定。图5是表示登记有处理负载与WDC信号的周期的关系的周期决定表57、67的图的一例。处理负载1~7与周期(1.0~4.0毫秒)建立了对应关系。例如,处理负载1的周期成为1.0毫秒,处理负载2的周期成为1.5毫秒,处理负载3的周期成为2.0毫秒,处理负载4的周期成为2.5毫秒,处理负载5的周期成为3.0毫秒,处理负载6的周期成为3.5毫秒,处理负载7的周期成为4.0毫秒。
此外,与周期建立了对应关系的“负载水平”是将处理负载1~7替换成四个阶段的数值。替换成四个阶段只不过是为了容易说明,也可以将处理负载1~7直接使用于CAN帧的接收控制。该负载水平的种类越多,则能够更细微地控制控制用微机98接收的CAN帧。具体而言,若控制用微机98接收的CAN帧的种类为10种,则能够通过将负载水平分成10种而使负载水平每次上升一个水平地将接收的CAN帧一个个地减少。
周期决定表67与周期决定表57大致相同,但是将“周期”替换为四个阶段时的边界不同。即,周期为1.0以上且小于2.5毫秒替换为负载的等级0,周期为2.5毫秒以上且小于3.0毫秒替换为负载的等级1、周期为3.0毫秒以上且小于3.5毫秒替换为负载的等级2、周期为3.5毫秒以上且4.0毫秒以下替换为负载的等级3。
即,负载水平0对应于等级0、1。负载水平0的一部分的周期对应于等级1,由此监视用微机99能够比控制用微机98提前开始CAN帧的接收。例如在周期2.5毫秒的情况下,负载水平为0、等级为1,在周期3.0毫秒的情况下,负载水平为1、等级为2,在周期3.5毫秒的情况下,负载水平为2、等级为3,在周期4.0毫秒的情况下,负载水平为3、等级为3。
〔WDC信号的例子〕
图6(a)是表示WDC发送部55发送WDC信号的顺序的流程图的一例,图6(b)是示意性地说明负载水平与WDC信号的关系的图的一例。
WDC发送部55例如在定期任务唤醒的顺序之中对WDC信号的接通、断开进行切换。如图所示,监视用微机99在按照各循环周期反复执行的动作顺序之中判定是否为定期任务的唤醒时机(S1)。若成为定期任务的唤醒时机,则使定期任务唤醒(S2)。
WDC发送部55基于周期决定部53决定的周期来判定是否为WDC信号的控制时机(S3)。例如,若周期为2.0毫秒,则每隔1.0毫秒,控制时机就会到来。
在控制时机到来时(S3为“是”),WDC发送部55对WDC信号的高和低进行切换(S4)。即,若端口1的状态为高,则切换为低,若为低,则切换为高。通过将其反复进行,而将周期决定部53决定的周期的WDC信号从端口1输出。这样软件性地输出WDC信号,因此监视用微机99能够推定为控制用微机98正常地执行程序。
此外,也可以使用通常内置于微机的脉冲输出电路来输出WDC信号。这种情况下,仅通过WDC发送部55将与周期对应的值设定于定时器,脉冲输出电路就能够输出WDC信号。但是,这种情况下,即使控制用微机98的程序执行状态产生异常,持续输出WDC信号的微机也多。因此,在本实施方式中当未指示软件性地定期输出时,优选使用使脉冲输出停止的脉冲输出电路。
WDC信号如图所示,负载水平越大则WDC信号的周期也越大(频率越小)。监视用微机99能够基于WDC信号的周期来推定控制用微机98的负载水平。
WDC信号是用于对计测时间进行清零的信号,因此本实施方式的WDC信号中包含对计测时间进行清零的功能和通知负载水平的功能这两个功能。这样一来,能够与WDC信号重叠而将处理负载信息向监视用微机99发送,因此本实施方式的两个微机不需要确保新的端口等硬件性的变更。
此外,计测时间寄存器70以周期的最大值(例如4.0毫秒)即使变动也不溢出的方式确定最大计测时间。
另外,处理负载信息优选与WDC信号重叠,但也可以从另一端口将处理负载的值本身通过串行通信等进行通知。
〔监视用微机的周期运算〕
图7是说明监视用微机99的周期运算部63进行的周期的运算的图的一例。周期的运算使用例如对时钟脉冲进行计数的一般性的计数电路。在图中,通过连接有三个T-FF电路1~3的计数电路,能够计数最大三位数的值。每当上升沿向T端子输入时,T-FF电路1~3使Q端子的输出反转。
当WDC信号的上升沿向T-FF电路1的T端子输入时,Q端子的输出成为1。当下一WDC信号的上升沿向T-FF电路1的T端子输入时,Q端子的输出成为0,T-FF电路2的Q端子的输出成为1。因此,在计数电路记录有WDC信号的脉冲数。
周期运算部63按照各循环周期来读出计数值,如下所示地运算WDC信号的周期。
WDC信号的周期=计数值/循环周期
由于循环周期被预先确定,因此周期运算部63仅通过读出计数电路的计数值、并进行简单的除法运算就能够求出WDC信号的周期。此外,周期运算部63在读出了计数值之后,预先对计数值进行清零。例如,在循环周期为8毫秒的情况下,WDC信号的周期成为以下那样。
计数值为8→周期=1毫秒
计数值为4→周期=2毫秒
计数值为2→周期=4毫秒
此外,在除法运算结果与作为WDC信号的周期而取得的值(1.0~4.0)中的任一个不一致时,替换成最近的周期。这样一来,周期运算部63能够准确地求出监视微机发送的WDC信号的周期。
〔等级的确定〕
负载确定部64参照周期决定表67,确定与周期运算部63运算出的周期建立了对应关系的等级。如图5所示,例如,在周期为1.0毫秒~小于2.5毫秒的情况下,确定为等级0,在周期为2.5毫秒以上且小于3.0毫秒的情况下,确定为等级1,在周期为3.0毫秒以上且小于3.5毫秒的情况下,确定为等级2,在周期为3.5毫秒以上且4.0毫秒以下的情况下,确定为等级3。
〔接收数据的指定〕
图8是说明CAN控制器18、38接收的CAN帧的指定的图的一例。控制用微机98应接收的CAN帧在HV-ECU100的开发时或制造时预先确定。接收数据指定部52将车辆的动力接通时应接收的CAN帧的CANID设定为数据指定寄存器59。并且,CAN控制器18选择性地仅接收设定于数据指定寄存器59的CAN ID的CAN帧。此外,动力接通是指进行了仅以发动机为动力源的车辆的发动机起动操作(IG-接通)及混合动力车(包括插电混合动力车)或电力汽车的主系统的起动操作。
并且,接收数据指定部52根据负载监视部51决定的负载水平,并参照接收停止表58,来减少CAN控制器18接收的CAN帧的种类。具体而言,将设定于数据指定寄存器59的CANID消去。
负载水平1的情况:停止接收空调控制数据
负载水平2的情况:停止接收空调控制数据&车身类的数据
负载水平3的情况:停止接收空调控制数据&车身类的数据&常速行驶控制的数据
这样一来,负载水平越大,接收的CAN帧的种类(即个数)越减少。在接收停止表58中,以越是优先顺序低的CAN帧越从负载水平低的状态停止接收的方式,将负载水平与CAN帧建立对应关系。由此,能够先从优先顺序低的CAN帧停止接收。而且,接收中断的频度减少,因此能够减少控制用微机98的处理负载。
但是,即便是优先顺序低的CAN帧,当控制用微机98未接收CAN帧时,最佳的控制可能变得困难。因此,监视用微机99接收控制用微机98停止了接收的CAN帧。
监视用微机99没有特别应接收的CAN帧,即使有其种类也少。车辆的动力接通时,监视用微机99的接收数据指定部65将应接收的CAN帧的CAN ID设定于数据指定寄存器。
并且,接收数据指定部65根据负载确定部64确定的等级,并参照接收数据指定表68,来增加CAN控制器38接收的CAN帧的种类。具体而言,向数据指定寄存器69追加登记CANID。
等级1的情况:接收空调控制数据
等级2的情况:接收空调控制数据&车身类的数据
等级3的情况:接收空调控制数据&车身类的数据&常速行驶控制的数据
这样一来,在接收数据指定表68中,以监视用微机99接收控制用微机98要停止接收的CAN帧的方式按照各等级来登记CAN帧。监视用微机99所接收到的CAN帧通过串行通信向控制用微机98发送,因此控制用微机98虽然存在时间性的延迟,但也能够接收优先顺序低的CAN帧。
此外,接收停止表58预先搭载于控制用微机98,接收数据指定表68预先搭载于监视用微机99。但是,开发者等将负载水平和CAN ID预先建立对应关系而向控制用微机98赋予,并将等级和CAN ID预先建立对应关系而向监视用微机99赋予,由此控制用微机98能够生成接收停止表58,监视用微机99能够生成接收数据指定表68。这种情况下,例如,只要使接收频度越高的数据越提高优先度即可。
〔关于串行通信〕
图9A~图9C是说明基于串行通信的CAN帧的发送的图的一例。监视用微机99的CAN控制器38所接收到的CAN帧存储在RAM32的DMA缓冲72中。DMA缓冲72预先将区域分割,CAN控制器38以等级1接收的CAN帧存储于区域1,以等级2开始接收的CAN帧存储于区域2,以等级3开始接收的CAN帧存储于区域3。
这样的分配能够通过CAN控制器38基于CAN ID变更设定于DAMC的发送目的地地址来实现。或者,CAN控制器38基于CAN ID将存储目的地的地址切换为区域1~3。每当CAN控制器38接收一个CAN帧时都产生接收中断,但监视用微机99的处理负载不那么高,因此不会产生不良情况。
在此,监视用微机99通过端口2进行串行通信的循环周期是预先确定的。因此,在监视用微机99将DMA缓冲72的CAN帧向控制用微机98发送之前,CAN控制器38有时接收同种的CAN帧。这种情况下,DMAC36对DMA缓冲72的CAN帧进行覆写。由此,能够减少向控制用微机98发送的CAN帧,能够仅发送最新的CAN帧。
并且,每当成为循环周期时,监视用微机99的发送命令部66将存储于DMA缓冲72的CAN帧存储于串行通信的数据包,向控制用微机98发送。发送方式存在例如有以下三个方式。
(i)以一次发送循环发送区域1~3的全部CAN帧(图9A)
发送命令部66即使在区域1~3的全部都未存储CAN帧的情况下,也传送区域1~3的全部数据。由此,能够在控制用微机98的RAM32的规定地址中存储与等级1~3对应的CAN帧。此外,在发送未接收的CAN帧时,在该CAN帧的CAN ID中设定表示无效值的虚设的ID。因此,发送命令部66根据DMA缓冲72的全部区域的数据而生成通信数据包,向端口2的发送缓冲写入。
(ii)对存储于同一区域的CAN帧的等级进行排序(图9B)
控制用微机98、监视用微机99的RAM12、32设计为必要最小限度,因此存在无法确保足够大小的DMA缓冲71的可能性。这样的情况下,不是个别地设置等级1~3的区域,而是控制用微机98和监视用微机99预先确保用于存储CAN帧的一个区域。
监视用微机99每当将区域的全部CAN帧向控制用微机98发送时,对从CAN母线43接收的CAN帧进行切换。而且,将所接收到的CAN帧的等级作为例如排序号码而存储于区域。
在图中,为了表示切换CAN帧的情况而通常通信区域与区域的组图示三个,但实际上为一个且分别与周期对应。
·等级1的情况:以全部周期对等级1的CAN帧进行接收并存储于区域。存储表示等级1的“1”作为排序号码。
·等级2的情况:在第一周期中接收等级1的CAN帧,与“1”的排序号码一起存储于区域。在第二周期中接收等级2(除了等级1的CAN帧之外)的CAN帧,与“2”的排序号码一起存储于区域。以后将其反复进行。
·等级3的情况:在第一周期中接收等级1的CAN帧,与“1”的排序号码一起存储于区域。在第二周期中接收等级2(除了等级1的CAN帧之外)的CAN帧,与“2”的排序号码一起存储于区域。在第三周期中接收等级3(除了等级1、2的CAN帧之外)的CAN帧,并与“3”的排序号码一起存储于区域。以后将其反复执行。
此外,在等级3的情况下接收的CAN帧的顺序并不局限于此,也可以从等级3的CAN帧起依次进行接收。而且,接收频度无需均等,可以根据等级1~3的优先度而对排序进行加权。
控制用微机98参照排序号码来判断区域的CAN帧与哪个等级对应地发送。即,可知若排序号码为“3”则为等级3的CAN帧,因此若负载水平为3则读出该CAN帧。
并且,在图9B的方式中,控制用微机98从区域读出数据的时机包括两个时机。
(a)在等级1~3的全部CAN帧一致之后,根据负载水平而读出。这种情况下,CAN帧的读出时机稍延迟。
(b)以从监视用微机接收到的时机来判断负载水平,若是与负载水平对应的CAN帧,则读出。这种情况下,能够抑制CAN帧的读出时机的延迟。
这样一来,通过确保少的区域,能够抑制对通常通信区域进行压迫的情况。在与数据的实时性相比更要求通常通信区域时有效。
(iii)以CAN帧单位发送(图9C)
可以仅发送所接收到的CAN帧。发送命令部66按照各循环周期从旧的CAN帧起依次向控制用微机发送。在监视用微机99未接收例如等级3的CAN帧的情况下,发送命令部66不发送等级3的CAN帧。由此,能够缩短发送时间。
此外,在(i)~(iii)任一情况下,在传送时都可以对CAN帧进行压缩。由此能够缩短发送时间。而且,在CAN帧中包含CAN ID,因此作为控制用微机98能够判断各自的CAN帧。
在控制用微机98的DMAC16中设定有作为传送源的端口2、作为传送目的地的RAM12的DMA缓冲71的开头地址及传送大小(例如,DMA缓冲71的大小、与一个区域相当的大小)。当控制用微机98的端口2开始数据的接收时,DMAC16将存储于端口2的接收缓冲的数据从DMA缓冲71的开头地址依次存储。当传送量达到传送大小时,经由INTC14而使CPU11产生接收中断。
DMAC16的接收中断按照上述的各传送大小(例如,几百byte)而产生,因此能够抑制中断处理引起的控制用微机98的处理负载的增大。相对于此,CAN帧(数据帧的情况)的数据段的最大长度只不过为8字节。
控制用微机98的数据读出部54能够通过DMAC16的接收中断而从DMA缓冲71将所接收的全部CAN帧读出。在(i)的发送方式中,在区域1中存储等级1的CAN帧,在区域2中存储等级2的CAN帧,在区域3中存储等级3的CAN帧。在(ii)的发送方式中,按照各循环周期而存储于DMA缓冲71的CAN帧的种类发生改变,因此数据读出部54根据循环来判定等级。在(iii)的发送方式中,CAN帧的存储地址与等级的对应不确定,但是能够通过CAN ID来判断CAN帧。
控制用微机98的数据读出部54仅将接收数据指定部52停止了接收的CAN帧从DMA缓冲71读出。即,数据读出部54根据负载水平来取舍从DMA缓冲71读出的CAN帧。当前的负载水平从负载监视部51进行通知。因此,在(i)的发送方式中,能够根据负载水平来确定DMA缓冲71的访问目的地的区域。在(ii)的发送方式中,能够根据负载水平与处理的反复循环来判断存储于DMA缓冲71的CAN帧。例如,在负载水平3的情况下,在循环1中向DMA缓冲71存储空调控制数据,在循环2中向DMA缓冲71存储A/C的数据,在循环3中向DMA缓冲71存储常速行驶控制的数据。在(ii)的发送方式中,通过CAN ID来判断CAN帧。
基于这样的发送方式,数据读出部54读出CAN帧。
·在负载水平1的情况下,在接收停止表58中登记“空调控制数据”的CAN ID,因此数据读出部54仅将“空调控制数据”从DMA缓冲71读出。
·同样,在负载水平2的情况下,数据读出部54仅将“空调控制数据&车身类的数据”从DMA缓冲71读出。
·同样,在负载水平3的情况下,数据读出部54仅将“空调控制数据&车身类的数据&常速行驶控制的数据”从DMA缓冲71读出。
〔动作顺序〕
通过图10~13,说明控制用微机98和监视用微机99的动作顺序。
<CAN帧的接收的停止>
图10是表示控制用微机98根据处理负载对接收的CAN帧进行控制的顺序的流程图的一例。
负载监视部51按照各循环周期来监视处理负载,并根据处理负载来决定负载水平0~4(S10)。
周期决定部53基于负载水平,并参照周期决定表来决定WDC信号的周期(S20)。
接下来,WDC发送部55按照新决定的周期,变更对从端口1输出的脉冲的高与低进行切换的周期(S30)。
接下来,接收数据指定部52判定负载水平是否为容许范围内(S40)。在本实施方式的情况下,容许范围是负载水平0的范围。
在负载水平为容许范围内时(S40为“是”),接收数据指定部52向CAN控制器18的数据指定寄存器59设定预先确定的全部CAN ID(S50)。
在负载水平不是容许范围内时(S40为“否”),接收数据指定部52根据负载水平而进行以下的处理(S60)。
在负载水平1的情况下,接收数据指定部52参照接收停止表58来读出与负载水平1建立了对应关系的CAN ID(S70)。
而后,接收数据指定部52将在S70中读出的CAN ID从数据指定寄存器59消去,由此停止例如空调控制的数据的接收(S80)。
在负载水平2的情况下,接收数据指定部52参照接收停止表58来读出与负载水平2建立了对应关系的CAN ID(S90)。
并且,接收数据指定部52将在S90中读出的CAN ID从数据指定寄存器59消去,由此停止例如空调控制的数据和车身类的数据的接收(S100)。
在负载水平3的情况下,接收数据指定部52参照接收停止表58来读出与负载水平3建立了对应关系的CAN ID(S110)。
并且,接收数据指定部52将在S110中读出的CAN ID从数据指定寄存器消去,由此停止例如空调控制的数据、车身类的数据及常速行驶控制的数据的接收(S120)。
以后,控制用微机98按照各循环周期反复进行S10~S120的处理。
另外,控制用微机98和监视用微机99可以采取同步。这种情况下,在步骤S60中接收数据指定部52将停止CAN帧的接收的情况向监视用微机99通知。并且,监视用微机99在经过了开始CAN帧的接收的规定时间之后停止CAN帧的接收。
<CAN帧的接收的开始>
图11是表示监视用微机99根据处理负载而开始CAN帧的接收的顺序的流程图的一例。
WDC接收部62始终接收WDC信号。周期运算部63运算WDC信号的脉冲的周期(S210)。而且,负载确定部64参照周期决定表来确定与周期建立了对应关系的等级。
接收数据指定部65判定周期是否为容许范围内(S220)。容许范围是等级0的范围。容许范围的判定阈值是比负载水平0更严格的值,由此监视用微机99能够比控制用微机98先开始CAN帧的接收。
在周期为容许范围内时(S220为“是”),接收数据指定部65使数据指定寄存器69返回初始状态(S230)。即,监视用微机99变更为仅接收动力接通时应接收的CAN帧的设定。数据指定寄存器部69的设定一次也未变更的情况下,什么也不做。
在周期不为容许范围内时(S220为“否”),接收数据指定部65根据等级进行以下的处理(S240)。
在等级1的情况下,接收数据指定部65参照接收数据指定表68来读出与等级1建立了对应关系的CAN ID(S250)。这样一来,监视用微机99能够在控制用微机98停止接收之前先开始CAN帧的接收。由此,控制用微机98和监视用微机99无需采取同步,能够抑制控制用微机98的处理负载的增大。
并且,接收数据指定部65将在S250中读出的CAN ID设定于数据指定寄存器69,由此开始例如空调控制的数据的接收(S260)。
在等级2的情况下,接收数据指定部65参照接收数据指定表68来读出与等级2建立了对应关系的CAN ID(S270)。
并且,接收数据指定部65将在S270中读出的CAN ID设定于数据指定寄存器69,由此开始例如空调控制的数据和车身类的数据的接收(S280)。
在等级3的情况下,接收数据指定部65参照接收数据指定表68来读出与等级3建立了对应关系的CAN ID(S290)。
并且,接收数据指定部65将在S290中读出的CAN ID设定于数据指定寄存器69,由此开始例如空调控制的数据、车身类的数据及常速行驶控制的数据的接收(S300)。
然后,发送命令部66将取代控制用微机而接收的CAN帧存储于端口2的发送缓冲(S310)。
<从监视用微机向控制用微机的CAN帧的传送>
图12是表示监视用微机99向控制用微机98发送CAN帧的顺序的流程图的一例。
发送命令部66按照各循环周期判定是否成为了串行通信的通信时机(S410)。
并且,当成为串行通信的通信时机时,发送命令部66将存储于DMA缓冲72的CAN帧通过串行通信向控制用微机98的端口2发送(S420)。
<基于控制用微机而传送的CAN帧的利用>
图13是表示控制用微机98从监视用微机99接收CAN帧而从DMA缓冲71读出的顺序的流程图的一例。
首先,控制用微机98的端口2开始CAN帧的接收(S510)。在开始的时刻,在CPU11不产生中断。
控制用微机98的DMAC16将端口2所接收到的CAN帧依次从DMA缓冲71的预先确定的开头地址进行存储(S520)。当DMAC16接收到预先确定的传送大小的CAN帧时,产生接收中断,由此将接收完成向CPU11通知。
数据读出部54以向负载监视部51通知当前的负载水平的方式作出要求(S530)。
数据读出部54判定负载水平是否为容许范围内(S540)。容许范围在本实施方式的情况下,是负载水平0。
在负载水平为容许范围内时(S540为“是”),数据读出部54不从DMA缓冲71读出CAN帧(S550)。即,在当前的负载水平中,控制用微机98接收全部CAN帧,因此无需从监视用微机99接收CAN帧。
虽然控制用微机98的负载水平为0但是监视用微机99也会产生发送CAN帧的状况,这是因为,在控制用微机98停止CAN帧的接收之前监视用微机99先开始CAN帧的接收。由此,能够防止控制用微机98对CAN帧的接收遗漏。
若控制用微机98的负载水平为0,则控制用微机98所接收到的CAN帧比从监视用微机99接收到的CAN帧的实时性高。因此,数据读出部54不读出CAN帧,由此控制用微机98能够使用最新的数据进行控制。
此外,有时产生控制用微机98未接收的CAN帧也未由监视用微机99接收的状况,从而产生控制用微机98对CAN帧的接收遗漏。例如,有时由于控制用微机98的处理负载突然增大,因此监视用微机99开始接收CAN帧的情况来不及。虽然考虑这样的状况极少发生,但这种情况下,控制用微机98保持上次的CAN帧而使用于控制。
在负载水平不为容许范围内时(S540为“否”),数据读出部54根据负载水平而进行以下的处理(S560)。
在负载水平1的情况下,数据读出部54参照接收停止表58来读出与负载水平1建立了对应关系的CAN ID,并将所读出的CAN ID的CAN帧从DMA缓冲71读出(S570)。即,读出例如空调控制的数据。
在负载水平2的情况下,数据读出部54参照接收停止表58来读出与负载水平2建立了对应关系的CAN ID,并将所读出的CAN ID的CAN帧从DMA缓冲71读出(S580)。即,读出例如空调控制的数据和车身类的数据。
在负载水平3的情况下,数据读出部54参照接收停止表58来读出与负载水平3建立了对应关系的CAN ID,并将所读出的CAN ID的CAN帧从DMA缓冲71读出(S590)。即,读出例如空调控制的数据、车身类的数据及常速行驶控制的数据。
此外,数据读出部54根据需要而对步骤S570~S590中读出的数据进行解压。
并且,数据读出部54将步骤S570~S590中读出的CAN帧的数据部分对任务进行公开(S600)。公开是指为了使任务读出而存储于RAM的规定地址的情况、或存储为规定变量名的变量的情况等。由此,各任务能够使用本来由CAN帧接收的控制所需的数据进行控制。
如上所述,本实施方式的HV-ECU100能够通过控制用微机98减少CAN帧的接收数来减少处理负载。控制用微机98从监视用微机99接收CAN帧,因此几乎不会发生接收遗漏。将WDC信号用于负载水平的通知,因此不需要追加新的信号线。因此,在具有不同的处理能力的两个微机之间,不增大微机的处理能力就能够进行负载分散。
Claims (9)
1.一种车辆用电子控制装置,具有:
第一微机,与车载网络连接;及
第二微机,与所述车载网络连接,
所述车辆用电子控制装置的特征在于,
所述第一微机具有:
处理负载水平检测单元,检测所述第一微机的处理负载水平;
表,是将处理负载水平与数据识别信息建立对应关系而得到的;及
接收数据减少单元,在所述处理负载水平成为第一阈值以上时,基于所述表,来停止与所述处理负载水平建立了对应关系的所述数据识别信息的一个以上数据的接收,
所述第二微机具有:
处理负载水平推定单元,推定所述第一微机的所述处理负载水平;
替代数据接收单元,在所述处理负载水平推定单元所推定的所述处理负载水平成为第二阈值以上时,从所述车载网络接收所述第一微机要停止接收的数据;及
数据发送单元,通过串行通信将所述替代数据接收单元所接收到的多个数据一并向所述第一微机发送,
所述第一微机具有处理负载水平通知单元,该处理负载水平通知单元通过脉冲信号的周期或频率来通知所述处理负载水平检测单元检测出的所述处理负载水平,
所述处理负载水平推定单元根据所述脉冲信号的周期或频率来推定所述第一微机的所述处理负载水平。
2.根据权利要求1所述的车辆用电子控制装置,其特征在于,
所述第一微机具有:
数据接收单元,每当从所述车载网络接收数据时使所述第一微机产生接收中断;及
缓冲传送单元,将所述数据发送单元通过串行通信所发送的数据存储于大小比所述数据接收单元在一次接收中断中接收的数据大小大的缓冲区域中,
所述缓冲传送单元在通过串行通信接收到所述缓冲区域的大小的数据时使所述第一微机的CPU产生接收中断。
3.根据权利要求1所述的车辆用电子控制装置,其中,
所述第二微机具有微机监视单元,该微机监视单元基于所述第一微机发送的所述脉冲信号来监视所述第一微机的程序执行状态。
4.根据权利要求1所述的车辆用电子控制装置,其特征在于,
所述第一阈值大于所述第二阈值,
在所述接收数据减少单元停止一个以上数据的接收之前,所述替代数据接收单元开始从所述车载网络接收所述第一微机预定要停止接收的数据。
5.根据权利要求1所述的车辆用电子控制装置,其特征在于,
在向所述第二微机通知了停止一个以上数据的接收之后,所述接收数据减少单元停止从所述车载网络接收一个以上数据,
所述替代数据接收单元以从所述第一微机收到停止接收数据的通知为契机而开始从所述车载网络接收所述第一微机预定要停止接收的数据。
6.根据权利要求1所述的车辆用电子控制装置,其特征在于,
所述第一微机具有所述处理负载水平越高则与优先顺序越高的数据的数据识别信息建立对应关系而得到的第一表,
所述接收数据减少单元停止从所述车载网络接收通过所述第一表与所述处理负载水平建立了对应关系的所述数据识别信息的数据,
所述第二微机具有所述处理负载水平越高则与优先顺序越高的数据的所述数据识别信息建立对应关系而得到的第二表,
所述替代数据接收单元开始从所述车载网络接收通过所述第二表与所述处理负载水平推定单元所推定的所述处理负载水平建立了对应关系的所述数据识别信息的数据。
7.根据权利要求2所述的车辆用电子控制装置,其特征在于,
所述第二微机具有对所述替代数据接收单元所接收到的数据进行存储的、按照各所述处理负载水平而被划分为各区域的替代数据缓冲区域,
所述第一微机具有的所述缓冲区域被划分为与所述替代数据缓冲区域的各区域对应的相同大小的各区域,
所述缓冲传送单元将所述替代数据缓冲区域的数据以区域为单位而存储到对应的所述缓冲区域的区域。
8.根据权利要求2所述的车辆用电子控制装置,其特征在于,
所述缓冲传送单元是直接存储器存取控制器。
9.一种数据接收方法,是车辆用电子控制装置的数据接收方法,所述车辆用电子控制装置具有:第一微机,与车载网络连接;及第二微机,与所述车载网络连接,
所述数据接收方法的特征在于,
所述第一微机中具有如下步骤:
处理负载水平检测单元检测所述第一微机的处理负载水平;
处理负载水平通知单元通过脉冲信号的周期或频率来通知处理负载水平检测单元检测出的所述处理负载水平;及
在所述处理负载水平成为第一阈值以上时,基于将处理负载水平与数据识别信息建立对应关系而得到的表,来停止与所述处理负载水平建立了对应关系的所述数据识别信息的一个以上数据的接收,
所述第二微机中具有如下步骤:
处理负载水平推定单元根据所述脉冲信号的周期或频率来推定所述第一微机的所述处理负载水平;
在所述处理负载水平推定单元所推定的所述处理负载水平成为第二阈值以上时,替代数据接收单元从所述车载网络接收所述第一微机要停止接收的数据;及
数据发送单元通过串行通信将所述替代数据接收单元所接收到的多个数据一并向所述第一微机发送。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/053566 WO2013121545A1 (ja) | 2012-02-15 | 2012-02-15 | 車両用電子制御装置、データ受信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104115122A CN104115122A (zh) | 2014-10-22 |
CN104115122B true CN104115122B (zh) | 2017-08-25 |
Family
ID=48983705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280069775.3A Expired - Fee Related CN104115122B (zh) | 2012-02-15 | 2012-02-15 | 车辆用电子控制装置、数据接收方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9430298B2 (zh) |
EP (1) | EP2816478B1 (zh) |
JP (1) | JP5861718B2 (zh) |
CN (1) | CN104115122B (zh) |
WO (1) | WO2013121545A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102013201481A1 (de) * | 2013-01-30 | 2014-07-31 | Continental Teves Ag & Co. Ohg | Verfahren zur Reduzierung einer vorzuhaltenden Gesamtrechenkapazität, Fahrzeug-zu-X-Kommunikationsvorrichtung und Verwendung der Fahrzeug-zu-X-Kommunikationsvorrichtung |
DE102016206109A1 (de) * | 2016-04-13 | 2017-10-19 | Robert Bosch Gmbh | Speicherdirektzugriffssteuereinrichtung für mindestens eine einen Arbeitsspeicher aufweisende Recheneinheit |
WO2017203903A1 (ja) * | 2016-05-27 | 2017-11-30 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 電子制御ユニット、通信方法及び車載ネットワークシステム |
KR101743048B1 (ko) * | 2016-10-19 | 2017-06-02 | 주식회사 엘앤비기술 | Can 통신을 이용한 통합방송시스템 |
JP6493506B1 (ja) * | 2017-12-15 | 2019-04-03 | オムロン株式会社 | 産業用制御システムとその支援装置、制御支援方法およびプログラム |
WO2019202824A1 (ja) * | 2018-04-18 | 2019-10-24 | 日立オートモティブシステムズ株式会社 | 電子制御装置 |
CN109525473B (zh) * | 2018-11-28 | 2021-05-04 | 深圳市元征科技股份有限公司 | 一种mcu扩展can方法、系统、mcu及计算机介质 |
US11677829B2 (en) | 2021-02-11 | 2023-06-13 | Renesas Electronics Corporation | Data processing device and data processing system |
CN115604052B (zh) * | 2022-12-13 | 2023-03-28 | 深圳市徐港电子有限公司 | 车辆通讯交互方法、系统及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6484082B1 (en) * | 2000-05-24 | 2002-11-19 | General Motors Corporation | In-vehicle network management using virtual networks |
US6836785B1 (en) * | 2000-11-22 | 2004-12-28 | At&T Corp. | Method and apparatus for throttling requests to a server having a buffer with varied acceptance limit based on server overload status and desired buffer delay time |
CN101252546A (zh) * | 2008-04-15 | 2008-08-27 | 中国科学技术大学 | 媒体流在线服务迁移的方法和装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05292126A (ja) | 1992-04-16 | 1993-11-05 | Nec Corp | 交換機の輻輳制御方式 |
JPH09319720A (ja) | 1996-05-31 | 1997-12-12 | Mitsubishi Electric Corp | 分散プロセス管理システム |
JPH11294252A (ja) * | 1998-04-13 | 1999-10-26 | Denso Corp | 電子制御装置 |
US20020194251A1 (en) | 2000-03-03 | 2002-12-19 | Richter Roger K. | Systems and methods for resource usage accounting in information management environments |
JP2003298675A (ja) | 2002-04-05 | 2003-10-17 | Toshiba Corp | データ送信システムとデータ送信方法 |
JP2005259023A (ja) * | 2004-03-15 | 2005-09-22 | Denso Corp | 車両制御システム |
JP2005322032A (ja) | 2004-05-10 | 2005-11-17 | Matsushita Electric Ind Co Ltd | 受信フレーム処理装置 |
JP2006018600A (ja) * | 2004-07-01 | 2006-01-19 | Ntt Docomo Inc | サーバシステム及びそれに用いる通信端末、通信サーバ |
JP4934524B2 (ja) | 2007-06-25 | 2012-05-16 | パナソニック株式会社 | データ通信装置及びデータ通信方法 |
JP5045303B2 (ja) * | 2007-08-15 | 2012-10-10 | 日本電気株式会社 | 情報処理システムおよび情報処理方法 |
JP4408921B2 (ja) | 2007-08-22 | 2010-02-03 | 株式会社デンソー | 電子機器 |
JP2010160715A (ja) * | 2009-01-09 | 2010-07-22 | Toyota Motor Corp | 車両用電子制御ユニット |
JP5316128B2 (ja) | 2009-03-17 | 2013-10-16 | トヨタ自動車株式会社 | 故障診断システム、電子制御ユニット、故障診断方法 |
JP2011141782A (ja) * | 2010-01-08 | 2011-07-21 | Toyota Motor Corp | 情報処理装置、電子制御ユニット、タスク割り当て方法 |
-
2012
- 2012-02-15 EP EP12868827.2A patent/EP2816478B1/en not_active Not-in-force
- 2012-02-15 CN CN201280069775.3A patent/CN104115122B/zh not_active Expired - Fee Related
- 2012-02-15 WO PCT/JP2012/053566 patent/WO2013121545A1/ja active Application Filing
- 2012-02-15 JP JP2013558632A patent/JP5861718B2/ja active Active
- 2012-02-15 US US14/378,161 patent/US9430298B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6484082B1 (en) * | 2000-05-24 | 2002-11-19 | General Motors Corporation | In-vehicle network management using virtual networks |
US6836785B1 (en) * | 2000-11-22 | 2004-12-28 | At&T Corp. | Method and apparatus for throttling requests to a server having a buffer with varied acceptance limit based on server overload status and desired buffer delay time |
CN101252546A (zh) * | 2008-04-15 | 2008-08-27 | 中国科学技术大学 | 媒体流在线服务迁移的方法和装置 |
Non-Patent Citations (1)
Title |
---|
"Integrating Dynamic Load Balancing Strategies into the Car-Network";Isabell Jahnich el.;《4th IEEE International Symposium on Electronic Design, Test & Applications》;20080125;第435-440页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104115122A (zh) | 2014-10-22 |
EP2816478A4 (en) | 2016-04-06 |
EP2816478B1 (en) | 2017-06-14 |
US20140366035A1 (en) | 2014-12-11 |
JP5861718B2 (ja) | 2016-02-16 |
EP2816478A1 (en) | 2014-12-24 |
WO2013121545A1 (ja) | 2013-08-22 |
JPWO2013121545A1 (ja) | 2015-05-11 |
US9430298B2 (en) | 2016-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104115122B (zh) | 车辆用电子控制装置、数据接收方法 | |
JP5777467B2 (ja) | 制御装置およびプログラム | |
US20050172059A1 (en) | Data communication system and controller | |
US10764372B2 (en) | Vehicular communication device | |
US20050204189A1 (en) | Network apparatus, method for controlling the same, and program for the same | |
JP5746090B2 (ja) | シリアル通信装置、シリアル通信システム、シリアル通信方法 | |
JP2020137168A (ja) | 調停装置 | |
CN115995839B (zh) | 多功能移动储能车工作状态确定方法、装置、设备及介质 | |
EP1813494B1 (en) | Vehicle control apparatus having event management unit | |
CN104838363A (zh) | 数据处理装置 | |
CN113259904B (zh) | 一种船用网络系统、方法及计算机可读存储介质 | |
JP2004252574A (ja) | タスク間通信方法、プログラム、記録媒体、電子機器 | |
CN111923747B (zh) | 控制处理器工作的方法及系统 | |
JP2014004858A (ja) | 車両制御装置 | |
US20230030558A1 (en) | Electronic control unit, information processing method, and non-transitory storage medium | |
JP2002090431A (ja) | 電気自動車用バッテリのサイクル試験システム | |
JP2013062734A (ja) | 情報処理装置 | |
JP2012103802A (ja) | 情報処理装置、電子制御ユニット | |
WO2004107188A1 (ja) | データ処理装置及びデータ通信方法 | |
CN115686854A (zh) | 图形处理器的动态调整参数的方法、图形处理器和系统 | |
CN117896398A (zh) | 车辆处理和互连 | |
JP2022019168A (ja) | 電子制御装置 | |
CN116461384A (zh) | 一种车辆的充电控制方法、装置、电子设备以及存储介质 | |
CN116366394A (zh) | 车载电子控制单元的网络管理方法、装置及控制单元 | |
CN115291593A (zh) | 一种车辆远程诊断方法、系统、存储介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170825 |