微处理器、网络系统和通信方法

文档序号:6641660阅读:158来源:国知局
专利名称:微处理器、网络系统和通信方法
技术领域
本发明涉及具备与网络连接的接口的微处理器,特别涉及在多个控制装置各自中使用的经由网络相互进行互动动作的微处理器、由这些微处理器构成的网络系统和微处理器之间的通信方法。
背景技术
例如在特开平11-110089号公报中揭示了以下的结构在与LAN(局域网)连接的计算机中,具备使得在待机时不会由于不是发送到本计算机的分组而从待机恢复的接收分组判别装置,只在判断出是发送到本计算机的分组的情况下发送中断信号。
另外,在特开平6-85876号公报中揭示了以下的通信控制装置的例子,即它具有具备不经由CPU(中央处理单元)而向存储区域进行转送的DMAC(直接存储器访问控制器)的微处理器。在该例子中,在接收到发送给自己的数据的情况下,启动DMAC,自动将接收数据转送到收发缓存器(存储装置)。如果指定大小的数据转送结束,则使用中断向CPU通知结束。
在汽车等的电子控制装置中,根据从传感器等输入的信息生成控制信号并输出到执行元件(actuator),执行元件根据控制信号进行动作。在控制装置中安装有微处理器或驱动器IC等。近年来,在汽车内,设置多个电子控制装置,在这些多个电子控制装置之间进行互动动作或数据共有化的通信。因此,多个电子控制装置经由网络相互连接,构成网络系统。为了与网络连接,在电子控制装置中使用通信用IC和微处理器。或者,在电子控制装置中使用具备通信模块的微处理器。在该情况下,在网络系统中,微处理器作为节点发挥功能。以下,说明具备一般的通信模块的微处理器。
图15是与网络1连接了多个微处理器(MP)2a、2b、2c的例子,特别只详细地表示了微处理器2a的内部结构。微处理器2a将CPU5、中断控制部件(INT)6、内部存储装置(RAM)7和通信模块(COM)3连接到内部总线(Bus)4上。其他还有很多具备输入输出端口、计时器单元、A/D转换器等外围模块的情况,但在本图中只表示了说明所需要的结构。
通信模块3从发送器(tr)8向网络1输出数据,通过接收器(rc)9从网络1接收数据。在数据发送时,由分组生成器(pcgen)11将依照CPU5等的指令经由总线4写入到发送缓存器(trbuf)10中的数据构成为依照通信规约的分组,并从发送器8输出。
以下,使用本结构图和图16所示的处理流程,详细说明接收时的动作。在图16中,分别表示了微处理器2a内的通信模块3、中断控制部件6、CPU5各自的处理。通过接收器9对接收数据进行接收(P101),通过分组重放器12重放分组(P102)。在地址分析部件16中,根据嵌入到所重放的分组数据的规定比特位置处的地址信息,判断是否是发送给自己的分组(P103)。在此,地址信息有指定单一的微处理器的情况,也有表示发送到多个微处理器的地址的情况。另外,代替发送目的地信息,也有在分组内包含信息固有的识别信息(信息ID),并且预先在接收处理器侧存储要接收的信息ID,根据其一致性判断是否进行接收。在此,包含它们而在地址分析部件12中,进行是否进行接收的判断。
在判断为是发送给自己的情况下,将接收数据存储在接收缓存器(rcbuf)14中,发出中断请求信号intreq(激活状态)(P104)。在判断为不需要进行接收的情况下,废弃分组(P105)。接收到中断请求信号intreq后,中断控制部件6依照各种条件,判断是否向CPU5传送该中断请求(P106),在满足条件的情况下,向CPU5发出中断信号intsig(P107)。接收到中断信号的CPU5将到此为止执行的处理(P108)中断,执行事先对每个中断原因所确定的中断处理(P110)。其中,在执行中断处理前,必须将用于恢复到此为止执行的处理(P108)所必需的寄存器组备份到存储装置7中(P109)。如果中断处理(P110)结束了,则使备份的寄存器组复原(P111),回到中断了的处理(P108)。
在包含上述微处理器和上述特开平11-110089号公报、特开平6-85876号公报的现有技术中所共通的是以下这一点,即在接收到发送给自己的分组的情况下,通过产生中断信号来向CPU通知有数据接收的情况。由此,CPU将到此为止执行的处理中断,并执行与接收数据对应地确定的处理。另外,作为不使用中断而通知接收数据的接收的方法,也采用以下的被称为指定发送(polling)的方法,即CPU在每一定时间内向通信模块查询是否收到新的数据。
但是,如上述说明那样,在根据发送给自己的分组的接收而向CPU通知中断时,会在寄存器的备份和恢复等本来的处理中产生不需要的额外消耗(overhead)。因此,在图15和图16所说明了的微处理器的动作中,作为极力减少在接收到分组时向CPU通知的中断的方法,在通信模块中判断是否是发送给自己的分组。由此,在通信模块中废弃与自己无关的分组,能够不向CPU进行无用的中断。对此,在不使用DMAC的上述特开平11-110089号公报的情况与使用DMAC的上述特开平6-85876号公报的情况中是一样的。但是,在判断出是发送给自己的分组的情况下,在任意的方法中都无法避免使CPU中断。
另一方面,在不使用中断的指定发送处理的情况下,通过在CPU的处理间隙向通信模块查询是否有数据接收,能够避免处理的中断,但无法与接收同时地对需要紧急进行处理的接收分组进行处理。另外,有与是否有数据到来无关地,在CPU和通信模块之间进行无用的查询、回答的问题。特别在执行要求实时性的控制的情况下,比接收数据到来延迟地进行处理,会引起对系统动作致命的问题。因此,一般不使用指定发送处理,而通常使用中断处理。
如上所述,可以认为在判断出由通信模块接收到的分组是发送给自己的情况下,希望避免产生对CPU的中断。但是,根据本发明人的分析结果,发现即使在有发送给自己的分组的情况下,也存在对CPU执行无用的中断的情况。以汽车的控制为例子,说明对CPU执行无用中断的情况。
在图15中,由微处理器2c检测引擎的转数,通过通信分组向微处理器2a发送引擎转数,在微处理器2a中,只在通知了存储在微处理器2a内的存储装置中的阈值以上的引擎转数的情况下,进行一定的处理。在该情况下,由于分组的发送目的地是微处理器2a,所以在微处理器2a的通信模块3中,根据地址的一致性发出中断请求。从中断处理部件6向CPU5通知中断,将到此为止执行的处理中断,执行与中断对应的处理。
在中断处理中,进行处理而对分组内的引擎转数数据和存储在存储装置中的阈值进行比较。在其结果是转数大于等于阈值的情况下,执行规定的处理,但在阈值以下的情况下,不执行控制处理。即,只是为了判断不进行任何控制处理,就要向CPU5进行中断。
在考虑其他的控制的情况下,也有产生同样的无用的接收中断的情况。列举以下的例子,即从与微处理器2c连接的温度传感器向微处理器2c输入第1控制设备的温度,通过通信分组向微处理器2a发送第1控制设备的温度信息。在微处理器2a中,从其他的温度传感器输入微处理器2a所控制的第2控制设备的温度。作为中断时的处理,微处理器2a对转送的第1控制装置的温度和第2控制装置的温度进行比较,只在预定的关系(例如第2装置的温度比第1装置的温度高)的情况下,对第2控制装置进行控制。在该例子中,也产生与根据地址的一致性发出中断请求将执行中的处理中断的情况无关地,根据温度比较的结果而不执行对第2控制装置的控制处理的情况。与前面的例子同样地,只为了判断出不进行任何处理就要向CPU进行中断。如果假设第1控制装置的温度上升到比第2控制装置的温度高的情况是异常的情况,则由于是极少发生的现象,所以定期地产生不需要的中断,会导致处理能力降低。
接着,说明在通过网络连接的微处理器之间对处理负荷进行分散的例子。在微处理器2c判断出自己的CPU负荷超过一定值的情况下,向其他微处理器2a、2b委托处理的执行。在该情况下,通过同文通信向微处理器2a、2b转送存储了任务的执行时间等委托处理量的查询用分组。能够执行的微处理器回信表示接受委托的分组,不能执行的微处理器不回信分组。微处理器1a检测出分组中包含发送给自己的发送目的地,对CPU5执行中断。CPU5将正在执行的处理中断,并对请求执行的任务的处理量和自己的富余能力进行比较,在判断出能够执行的情况下,回信接受处理的分组,但在判断出不能接受的情况(富余能力少的情况)下,不回信分组。在该例子中,也是只为了判断不接受处理,即不回信分组,就中断正在执行的处理。

发明内容
本发明要解决的第1个问题是减少在通过网络连接的微处理器从网络接收到分组时产生的对CPU的中断,有效地使处理器动作。更详细地说,着眼于即使在判断出接收分组是发送给自己的情况下也存在不需要执行处理的情况,而提出一种在不需要执行处理的情况下不产生无用的中断的微处理器、使用它的网络系统和通信方法。
另外,在产生对CPU的中断并执行中断处理的情况下,有由于寄存器的备份等额外消耗而处理的开始延迟的问题。在发送侧的微处理器要求尽早应答回答的情况下,在接收侧微处理器的CPU中断处理中,会产生不能与请求应答对应的情况。因此,本发明要解决的第2个问题就是提出一种不经由CPU中断的处理就能够向发送侧微处理器尽早进行应答回答的微处理器、使用它的网络系统和通信方法。
通过以下的方法能够有效地解决本发明的上述第1个问题,即上述通信模块包含存储由微处理器管理的第1信息的寄存器;对接收到的分组内的规定的比特位置的第2信息和存储在上述寄存器中的第1信息两者进行比较,根据比较结果判断CPU是否执行数据的处理的比较器。如果采用这样的方法,则能够在上述通信模块中判断CPU是否执行数据的处理,因此不需要执行用于判断的对CPU的中断。
通过以下的方法能够有效地解决本发明的上述第2个问题,即在分组中包含请求不经由CPU而直接从上述通信模块进行分组回信的信息比特组。在通信模块参照信息比特组判断出执行委托的任务时,通信模块与判断联动地进行分组回信。


图1A是用于说明本发明的微处理器的实施例1的通信模块的结构图。
图1B是用于说明本发明的微处理器和网络系统的实施例1的结构图。
图2是用于说明实施例1的处理判断部件的功能PAD的图。
图3是用于说明本发明的实施例2的通信模块的结构图。
图4是用于说明本发明的实施例3的通信模块的结构图。
图5是用于说明在实施例3中使用的处理方法判断用寄存器的结构图。
图6是用于说明本发明的实施例4的通信模块的结构图。
图7是用于说明本发明的实施例5的通信模块的结构图。
图8是用于说明在本发明的实施例中使用的第1分组例子的图。
图9是用于说明在本发明的实施例中使用的第2分组例子的图。
图10是用于说明在本发明的实施例中使用的第3分组例子的图。
图11是用于说明在本发明的实施例中使用的第4分组例子的图。
图12是用于说明在本发明的实施例中使用的第5分组例子的图。
图13是用于说明在本发明的实施例中使用的第6分组例子的图。
图14是用于说明在本发明的实施例中使用的第7分组例子的图。
图15是用于说明现有的微处理器的通信模块和网络系统的结构图。
图16是用于说明现有的通信方法的流程图。
具体实施例方式
以下,参照附图所示的实施例,更详细地说明本发明的微处理器和网络系统以及通信方法。另外,在用于说明实施例的所有附图中,同一符号表示同一物体或类似物体,并省略其重复的说明。
<实施例1>
使用图1A、图1B和图2说明本发明的实施例1。在图1A中表示了本实施例的微处理器的通信模块3的内部构造,在图1B中表示了包含通信模块3的本实施例的微处理器2a、多个微处理器2a~2c与网络1连接而构成的本实施例的网络系统。在微处理器2a中,将CPU5、中断控制部件(INT)6、内部存储装置(RAM)7和通信模块3连接到内部的总线(Bus)4。在网络系统中,各微处理器2作为节点发挥功能。
在本实施例中,以与网络1连接的多个微处理器2a~2c之间的负荷分散作为例子。负荷为一定值以上的微处理器在向其他微处理器委托执行自己的任务时,首先通过同文通信发送用于查询其他微处理器是否能够接受的分组。能够接受的微处理器为了通知能够接受,而使用回信用的分组进行回信。另外,在网络系统中,除了查询分组以外,还在微处理器之间进行各种分组的发送接收。
在图1A中,通信模块3在数据发送时,由分组生成器(pcgen)11将依照CPU5等的指令经由总线4写入到发送缓存器(trbuf)10中的数据构成为依照通信规约的分组,并从发送器(tr)8输出。
接着,详细说明接收时的动作。由接收器(rc)9对接收数据进行接收,由分组重放器(pcrec)13重放分组。图1的大致中央部分表示了重放的分组pac。
在经由网络的通信中,在细致地划分要发送的数据的基础上,对每个协议规定了其固定的格式。将该数据的一个块称为“分组(packet)”或“帧”,并根据协议所规定的层而区分使用称谓名字。在第2的数据连接层中称为帧,在与层无关地表示数据的块的情况下,大多称为分组。在通信模块3中,由于进行最下层的物理层和第2层的数据连接层的处理,所以习惯将数据的块称为帧,但在此并不设想特定的协议,而统一用分组的词汇来说明数据的一块。分组由头和有效载荷(payload)构成。头是为了转送分组而必需的信息的包含发送目的地和信息的ID的部分,有效载荷是包含转送的数据本身的部分。在图1A的分组pac内,在头中存储了发送目的地信息add以及用于区别地识别信息的识别信息ID,在有效载荷中存储数据data。在本实施例中,作为上述信息识别信息ID,设置只对任务执行委托的分组付与的特别的ID。另外,在分组内还有表示分组的划分的区域、用于取得同步的区域、错误检查用的区域等,但在图1A中,由于它们是说明上不需要的部分,所以省略其图示。
地址分析部件(adcomp)16输入分组内的发送目的地信息add、存储了自己的地址的地址寄存器(adreg)17的值,判断是否是发送给自己的分组,并将地址分析结果信号siga发送到处理判断部件(lblk)18。地址分析部件16在是发送给自己的情况下,将地址分析结果信号siga设置为1,不是则设置为0。
信息ID分析部件(idcomp)19输入分组内的信息识别信息ID和信息ID寄存器(idreg)20的值,向处理判断部件18发送用于判断是否是特别的信息分组的信息ID分析结果信号sigb。在本实施例中,如上所述,只向任务执行委托的分组付与特别的ID,并将与其相同的ID存储在信息ID寄存器idreg中。信息ID分析部件19在检测出两者一致的情况下,将信息ID分析结果信号sigb设置为1,除此以外则设置为0。
数据比较器(dcomp)21输入分组内的数据data的值(处理时间)和富余时间寄存器(mgreg)22的值(富余时间)并对两者进行比较,将比较结果信号sigc发送到处理判断部件18。在接收分组是任务执行委托的分组的情况下,在分组的数据部分中存储有执行任务所需要的处理时间。即,在有效载荷中同时存储有作为用于比较器21进行比较的信息的处理时间和数据。另外,在富余时间寄存器22中作为富余时间存储有微处理器2a的一定期间内的空时间,即能够接受的处理量的限界时间。通常,在微处理器2中,在有任务的启动请求的情况下,由OS执行决定任务执行的顺序的调度。例如,可以根据调度结果,计算出富余时间,在每次进行调度时将计算结果写入到富余时间寄存器22中。或者,也可以定期地监视微处理器的负荷状况,计算出其适合的富余时间,并将计算结果写入到富余时间寄存器22中。在富余时间比任务所要求的处理时间(要求执行时间)大,即能够接受的情况下,比较结果信号sigc成为1。
处理判断部件18输入上述3个信号siga、sigb、sigc并输出中断请求信号intreq和分组回信指令信号sigd,同时控制发送和废弃存储在接收缓存器(rcbuf)14中的数据。将中断请求信号intreq输入到微处理器2a的中断控制部件6,从中断控制部件6向CPU5发出中断信号intsig。分组回信指令信号sigd是向通信模块3内的分组生成器11指示从回信分组寄存器(rpreg)23中取出对应的内容并发送回信分组的信号。另外,从原始的接收分组中读出表示发送方节点的地址,来决定回信分组的发送目的地,但在本图中省略说明。
图1A、图1B所示的通信处理部件(comcont)15由以上的地址分析部件16、地址寄存器17、处理判断部件18、回信分组寄存器23、信息ID分析部件19、信息ID寄存器20、数据比较器21和富余时间寄存器22构成。
在以上说明中,同时作为要求从通信模块3进行分组回信的信息来表示包含在分组中的信息识别信息ID。因此,在通过网络连接的多个节点(微处理器)之间相互收发数据的本实施例的通信方法具有如下的特征。即,在接收到的分组中包含要求不经由上述CPU而直接从上述通信模块进行分组回信的信息比特组。
在此,图2表示处理判断部件18的判断动作的PAD(问题分析流程)。判断处理部件18如果地址分析结果信号siga是0则废弃分组(L205),如果地址分析结果信号是1则进行以后的处理(L201)。分组废弃是指舍弃存储在接收缓存器中的分组等恢复为接收等待状态的动作。在地址分析结果信号是1的情况下,根据信息ID分析结果信号sigb分开进行处理(L202)。在信息ID分析结果信号sigb是0的情况下,由于不是任务执行委托分组但是发送给自己的分组,所以作为通常的接收处理,发出中断请求信号intreq(L206)。在信息ID分析结果信号sigb是1的情况下,是任务执行委托分组,使用比较结果信号sigc进行判断处理(L203)。在比较结果信号sigc是1的情况下,即在富余时间比委托任务的要求执行时间大的情况下,发出分组回信指令信号sigd(L204)。其结果是如上所述,从分组生成器输出回信分组。这样,能够用电路规模小的逻辑电路容易地实现在图2中用PAD所示的处理。
通过以上结构和动作,在接收到用于进行负荷分散的任务执行委托分组时,通过通信控制部件15判断是否能够接受,因此不对CPU5产生用于判断的中断。因此,不会降低CPU5的动作效率。另外,在能够接受的情况下,不经由CPU5立即回信表示能够接受的回信分组。这样,不用在CPU5中判断是否能够接受(如果进行该判断,则CPU5当然需要生成回信分组发送指令并发送),由通信模块3进行判断和分组回信指令的生成,因此解决了不对CPU产生负担的第1个问题和立即向发送方回信分组的第2个问题。
另外,在上述说明中微处理器所管理的信息是富余时间,但本发明并不只限于此。如上所述,本发明也可以适用于与转数或温度等目的对应的任意的各种信息。
<实施例2>
图3表示本发明的实施例2。在实施例中,与实施例1的情况相比,分组的结构不同,与此伴随地通信方法也不同,但其他与实施例1一样。与实施例1一样地,图3表示微处理器2的通信模块3的内部结构,但省略了发送缓存器10、接收缓存器14和总线4的图示。以下,以与前面的实施例的不同点为中心进行说明。
本实施例的通信分组pac2不具有发送目的地信息,而具有作为对每个信息固有的信息而付与的信息ID。在接收节点中,不存储发送目的地信息,而采用存储自己要接收的信息ID并进行接收判断的通信方法。例如,在车载LAN中广泛使用的CAN(Control AreaNetwork控制区域网)就是该类型的帧结构,具有11比特的信息ID区域。
在本实施例中,信息ID分析部件192组合地进行以下处理,即进行实施例1中的地址分析部件16所进行的是否是发送给自己的判断、信息ID分析部件19所进行的是否是特定分组(任务执行委托分组)的判断。信息ID分析部件192例如通过对图3所示的分组pac2的信息ID部分的高位比特ID1、信息ID寄存器组(idregs)202进行比较,来判断是否是要接收的分组,并生成与实施例1一样的地址分析结果信号siga。进而,信息ID分析部件192通过对分组的信息ID部分的低位比特ID2、信息ID寄存器组202进行比较,来判断是否是特别的信息分组,并生成与实施例1一样的信息ID分析结果信号sigb。将地址分析结果信号siga和信息ID分析结果信号sigb输入到处理判断部件18。以后的动作与实施例1一样,因此省略说明。
根据本实施例,在通信分组不具有发送目的地信息,而具有作为对每个信息固有的信息所付与的信息ID的情况下,也能够解决不对CPU产生负担的第1个问题和立即向发送方回信分组的第2个问题。
<实施例3>
图4表示本发明的实施例3。在实施例1、2中,采用了任务执行委托分组,但在本实施例中,具有多个由微处理器管理的信息,对于与它们对应的多个分组,通过对分组内的数据和寄存器数据进行比较,来进行处理方法的判断。
在本实施例中,与实施例1一样,在分组pac内存储有发送目的地信息add、数据data区域以及对每个信息都不同的识别信息ID。另外,本发明并不只限于具有发送目的地信息add的分组,还可以适用于不具有发送目的地信息add的分组。
在图4中,地址分析部件16输入分组内的发送目的地信息add、存储了自己的地址的寄存器17的值,判断是否是发送给自己的分组,并将地址分析结果信号siga发送到处理判断部件182。
信息ID分析部件19输入分组内的信息识别信息ID和信息ID寄存器组202的值,并将判断是否是特别的信息分组的信息ID分析结果信号sigb发送到处理判断部件182。在本实施例中,例如对任务执行委托的分组、其他的引擎转数数据转送分组等多个进行特别处理的分组付与特定的ID,并在信息ID寄存器组202中存储与它们相同的ID。信息ID分析部件19在分组内的信息识别信息ID和信息ID寄存器组202的任意一个一致的情况下,将信息ID分析结果信号sigb设置为1,除此以外设置为0。
数据比较器21输入分组内的数据data的值和从参照数据寄存器组(refregs)24中选择出的值并对两者进行比较,并将比较结果信号sigc发送到处理判断部件182。与特别的信息对应地具备参照数据寄存器组24,由选择器(sel)25选择与接收分组内的信息识别信息ID对应的寄存器值,并传送到数据比较器21。与实施例1的富余时间寄存器22一样地,由CPU5随时对参照数据寄存器组24进行写入。作为比较结果,比较结果信号sigc是表示分组数据比参照选择出的数据寄存器组24的值大、或小、或相等的信号。为了区别相等的情况,比较结果信号sigc为2比特信号。
处理判断部件182输入上述3个信号siga、sigb、sigc以及从处理方法判断用寄存器组(proregs)26中选择出的寄存器的值。处理判断用寄存器组26也与参照数据寄存器组24一样地,由选择器27选择与接收分组内的信息识别信息ID对应的寄存器值。处理判断部件182与实施例1一样地,输出中断请求信号intreq和分组回信指令信号sigd。分组回信指令信号sigd是对通信模块内的分组生成器11指示发送从回信分组寄存器组(rpregs)28中选择出的一个内容的信号。回信分组寄存器组28也与处理判断用寄存器组26和参照数据寄存器组24一样地,由选择器29选择与接收分组内的信息识别信息ID对应的寄存器值。
处理判断部件182的判断动作与图2所示的一样,根据地址分析结果信号siga和信息ID分析结果信号sigb来判断处理方法。与实施例1的不同点在于使用比较结果信号sigc进行判断处理。为了对每种分组灵活地从(1)分组废弃、(2)中断请求信号产生、(3)分组回信这3个中选择与比较结果对应的处理方法,而输入处理方法判断用寄存器组26的值。图5表示处理方法判断用寄存器组26的例子。处理判断用寄存器26由与分组数据data的值与参照数据寄存器24的值的比较结果对应的3个区域构成。它们分别是2比特的值,用于指定上述3个处理。例如,在“00”的情况下是分组废弃,在“01”的情况下是分组请求信号产生,在“01”的情况下是分组回信等。
作为一个例子,说明实施例1的任务执行委托分组用的情况。在该情况下,分组数据data的值是任务的要求处理时间,将富余时间存储在参照数据寄存器24中。与实施例1一样,在富余时间大的情况下,进行分组回信处理,除此以外则废弃分组。在分组数据的值>参照数据寄存器的值的情况下,在与任务执行委托分组对应的处理方法判断用寄存器26的处理指定用比特中存储表示分组废弃处理的“00”。同样,在分组数据的值+参照数据寄存器的值的情况下,同样在处理指定用比特中存储表示分组废弃的“00”。在分组数据的值<参照数据寄存器的值的情况下,在处理指定用比特中存储表示分组回信处理的“10”。
作为另一个分组的例子,说明作为分组内的数据而发送引擎转数的情况。在引擎转数大于某值(例如6000转)的情况下,可以在接收到的微处理器中,由CPU执行一定的处理,除此以外不进行处理。在与该分组的ID对应的参照数据寄存器24中,存储有引擎转数的阈值6000。另外,在分组数据的值>参照数据寄存器的值的情况下,在处理方法判断用寄存器的处理指定用比特中存储表示中断请求信号产生的“01”,而除此以外的情况下存储表示分组废弃的“00”。这样,能够对每个分组执行不同的处理。处理判断部件182根据处理方法判断用寄存器26的值和比较结果信号sigc,决定发出中断请求信号intreq、或者发出分组回信指令信号sigd、或者哪个都不发出。
根据本实施例,即使在微处理器所管理的信息有多个的情况下,也能够解决不对CPU产生负担的第一个问题和立即向发送方回信分组的第二个问题。
<实施例4>
图6表示本发明的实施例4。在之前的实施例中,在接收到特别的分组的情况下,通过通信模块3内的比较器21对分组内的数据的值和寄存器的值进行比较,判断处理方法。在本实施例的微处理器所具有的通信模块3中,如图6所示,代替比较器21,而具备算术逻辑计算单元(以下称为ALU(Arithmetic Logic Unit))30。ALU30具备进行算术计算和逻辑计算的功能,根据控制信号切换功能。向ALU30输入分组内的数据和寄存器的值,用分组回信ALU30的计算结果。与实施例1的情况一样,在分组pac内存储有发送目的地信息add、数据data区域以及各信息不同的识别信息ID。另外,本发明并不只限于具有发送目的地信息add的分组,也可以适用于不具有发送目的地信息add的分组。
在图6中,地址分析部件16输入分组pac内的发送目的地信息add和存储了自己的地址的寄存器17的值,判断是否是发送给自己的分组,并将地址分析结果信号siga发送到处理判断部件183。
信息ID分析部件19输入分组pac内的信息识别信息ID和信息ID寄存器组202的值,并将判断是否是特别的信息分组的信息ID分析结果信号sigb发送到处理判断部件183。
ALU30选择分组pac内的数据data和参照数据寄存器组24中的一个,输入两者并进行计算。用分组将其计算结果data2发送到分组生成器11。与实施例3的情况一样,与特别的信息对应地具备参照数据寄存器组24,由选择器25选择与接收分组内的信息识别信息ID对应的数据。ALU30具备ALU控制寄存器组(conregs)32。作为控制ALU30的动作的信号,向ALU30输入ALU控制寄存器组32的值。ALU控制寄存器组32也与参照数据寄存器组24一样,由选择器32选择与接收分组内的信息识别信息ID对应的寄存器值。
处理判断部件183与之前的实施例一样,如果地址分析结果信号siga是0则废弃分组。另外,在信息ID分析结果信号sigb是0的情况下,作为通常的分组的接收处理,发出中断请求信号intreq。在信息ID分析结果信号sigb是1的情况下,发出分组回信指令信号sigd。向分组生成器8输入计算结果data2,在发出分组回信指令信号sigd的情况下,用分组向分组生成器8回信计算结果data2。
根据本实施例,对于特别的分组,不是由CPU5进行处理,而是由通信模块3进行计算,能够以高速的响应回信结果。另外,在本实施例中,作为计算功能说明了具备ALU30的例子,但在能够容许增加电路规模的情况下,也可以使用比ALU30更高功能的专用计算器或能够执行程序的小规模CPU、或者能够动态地再构成功能的电路等。由此,能够与需要进行高度处理的接收分组对应,能够进一步降低主CPU5的负荷。
<实施例5>
图7表示本发明的实施例5。在本实施例中,与实施例4一样,具备ALU30,向ALU30输入分组内的数据和寄存器的值,通过ALU30执行计算。在实施例4中,用分组将计算结果data2回信到分组生成器11,但在本实施例中,如图7所示,从通信模块3向微处理器内部输出计算结果。在图7中没有图示,但在CPU5中对计算结果进行处理。另外,在本实施例中,作为中断请求信号利用地址分析部件16的输出。即,对发送目的地一致的分组发出中断请求信号intreq。本实施例的目的不是如之前的实施例那样抑制对CPU5的中断,而是通过用通信模块3的ALU30执行CPU5的分组接收后的处理的一部分,来降低CPU5的负荷。与实施例1的情况一样,在分组pac内存储有发送目的地信息add、数据data区域以及各信息不同的识别信息ID。另外,本发明并不只限于具有发送目的地信息add的分组,还可以适用于不具有发送目的地信息add的分组。
在图7中,地址分析部件16输入分组pac内的发送目的地信息add和存储了自己的地址的寄存器17的值,在一致的情况下,发出中断请求信号intreq。
信息ID分析部件19输入分组pac内的信息识别信息ID和信息ID寄存器组202的值,输出用于判断是否是特别的信息分组的信息ID分析结果信号sigb。
ALU30选择分组pac内的数据data和参照数据寄存器组24中的一个,输入两者进行计算,输出计算结果data3。将计算结果data3和分组内的数据data输入到选择器33。作为选择信号,选择器33输入信息ID分析结果信号sigb,作为data4输出计算结果data3和分组内的数据data的任意一个。即,在特别的ID分组的情况下,选择计算结果,在通常的分组的情况下,选择接收分组内的数据data。这样,通过由ALU30进行CPU5的分组接收后的处理的一部分(计算),能够降低CPU5的负荷。
以下,针对在上述各实施例中使用的分组及其几个变形例子,说明其结构的详细。图8所示的分组是相当于在实施例2等中使用的通信分组pac2的第1个分组例子,不具有发送目的地信息,而具有作为对每个分组固有的信息而付与的信息ID。对于该分组,在CAN的标准数据帧的ID字段内确定了表示进行本发明的特别处理的分组的ID字段。CAN的数据帧由以下部分构成表示开始位置的1比特的SOF、12比特的判断(arbitration)字段、包含表示数据长度的代码和预约比特的6比特的控制字段、0~8字节的数据字段、用于检查帧的转送错误的16比特的CRC字段、2比特的ACK字段、7比特的EOF字段。判断字段由11比特的ID字段和1比特的RTR字段构成。
RTR字段是用于指定是请求数据的发送的远程帧还是发送数据的数据帧的1比特的标志。在数据帧的情况下,设置为0。ID区域是对各信息不同地付与的信息识别信息。CAN不只是发送节点侧指定接收地址的通信方法,还通过接收节点自己存储所接收的ID,而使接收节点只接收自己所需要的接收信息。其方法属于在实施例2中说明了的通信方法。在本发明中11比特的ID字段还分为8比特的ID1字段和3比特的ID2字段使用。
接收节点通过使用ID1字段,与实施例2中说明了的信息ID寄存器组202进行比较,来判断是否是要接收的分组,进而使用ID2字段,判断是否是特别的信息分组。由此,能够生成实施例2的信息ID分析结果信号sigb。例如,在通常的信息中,将ID2字段设置为“000”,进行特别处理的信息在这3比特的任意一个中包含1。由此,能够设置7种特别处理信息。在接收节点中,通过判断ID2字段是否是“000”的简单判断方法,能够生成实施例2所示那样的信息ID分析结果信号sigb。
接着,图9表示将在实施例2等中使用的通信分组pac2变形后的第2分组例子。图9所示的分组与图8所示的分组一样,是CAN的标准数据帧。在第2个例子中,在用于识别进行特别处理的信息的ID2字段中使用了数据字段内的1字节。在无法自由地设置信息ID的11比特的情况、希望增加特别处理信息的个数的情况下,第2个例子比第1个例子优越。但是,由于使用了数据字段的1字节,所以数据转送效率降低。在通常的信息中,也需要牺牲1字节的数据字段。
接着,在图10中,表示将在实施例2等中使用了的通信分组pac2变形了的第3分组例子。图10所示的第3个例子与图8和图9一样,是CAN的标准数据帧。第3个例子与第2个例子一样,在用于识别进行特别处理的信息的ID2字段中使用了数据字段内的1字节。进而,使用ID字段的1比特设置了表示是否是特别信息的标志Flag字段。由此,在通常的信息中,数据字段的1字节成为无用的。
进而,在图11中表示与在实施例2等中使用的通信分组pac2相当的第4分组例子。图11所示的分组是与CAN不同的通信规格的FlexRay的帧。FlexRay是数据速率比CAN高速的预定将在今后适用于车载LAN的通信规格。FlexRay的帧由以下部分构成在图11中省略了图示的各1比特的保留比特、有效载荷报头标识符(payloadpreamble indicator)、空帧标识符(null frame indicator)、同步帧标识符(sync frame indicator)、开始帧标识符(startup frameindicator)的共计5比特的字段、11比特的帧ID字段、7比特的有效载荷长度字段、11比特的头CRC(header CRC)、6比特的循环计数(cycle count)字段、最大254字节的数据字段和24比特的CRC字段。
第4个例子与第1个例子一样,在用于识别进行特别处理的信息的ID2字段中使用了帧ID字段的3比特。与第1个例子一样,接收节点使用ID2字段,判断是否是特别的信息分组,能够生成实施例2中的信息ID分析结果信号sigb。
接着,图12表示将在实施例2等中使用的通信分组pac2变形后的第5分组例子。图12所示的分组与图11所示的分组一样,是FlexRay的帧。第5个例子与第2个例子的CAN数据帧的情况一样,在用于识别进行特别处理的信息的ID2字段中使用了数据字段内的1字节。在无法自由地设置信息ID的11比特的情况、希望增加特别处理信息的个数的情况下,第5个例子比第4个例子优越。但是,由于使用了数据字段的1字节,所以数据转送效率降低。在通常的信息中,也需要牺牲1字节的数据字段。
接着,图13表示将在实施例2等中使用的通信分组pac2变形后的第6分组例子。图13所示的分组与图11和图12所示的分组一样,是FlexRay的帧。第6个例子与第5分组一样,在用于识别进行特别处理的信息的ID2字段中使用了数据字段内的1字节。进而,使用帧ID字段的1比特设置了表示是否是特定信息的标志Flag字段。由此,在通常的信息中,数据字段的1字节成为无用的。
进而,在图14中表示将在实施例1和实施例3~5中使用的通信分组变形后的第7分组例子。图14所示的分组是TCP/IP的以太网ver.2帧结构。在该帧结构中,与CAN和FlexRay的帧不同,具备发送目的地地址的字段。以太网ver.2的帧由以下部分构成6字节的发送目的地MAC地址字段、6字节的发送方MAC地址字段、2字节的类型(Type)字段、46~1500字节的数据字段、用于检查帧转送错误的4字节的CRC字段。
在对帧指定接收地址的通信方法中使用该类型的帧,接收节点调查与自己的地址的一致性,只接收自己所需要的接收信息。该方法属于在实施例1中说明了的通信方法。接收节点使用利用数据字段内的1字节的区域而设置的ID字段,判断是否是进行特别处理的信息分组,生成实施例1和实施例3~5中的信息ID分析结果信号sigb。
根据本发明,能够实现减轻了CPU的负担的高效率的微处理器。
权利要求
1.一种微处理器,具备经由网络使用分组进行发送接收的通信模块;对包含在由上述通信模块接收到的上述分组中的数据进行处理的CPU,其特征在于包括上述通信模块具备存储由上述微处理器管理的第1信息的寄存器;对接收到的上述分组内的规定的比特位置的第2信息、存储在上述寄存器中的第1信息进行比较,根据比较结果,进行上述CPU是否对上述数据进行处理的第1判断的比较器。
2.根据权利要求1所述的微处理器,其特征在于上述第1信息是由上述CPU管理并更新的信息。
3.根据权利要求1所述的微处理器,其特征在于上述通信模块在由上述比较器进行了第1判断而判断出上述CPU进行上述数据的处理时,产生对上述CPU的中断请求信号。
4.根据权利要求1所述的微处理器,其特征在于上述通信模块在由上述比较器进行了第1判断而判断出上述CPU进行上述数据的处理时,发送表示进行处理的回信分组。
5.根据权利要求1所述的微处理器,其特征在于上述通信模块与上述比较结果对应地,选择分组废弃、中断请求信号产生和分组回信的3个处理中的任意一个并执行。
6.根据权利要求3所述的微处理器,其特征在于上述通信模块具备输入第1结果、第2结果、第3结果,其中第1结果是进行了上述第1判断的结果,第2结果是参照包含在上述分组内的发送目的地信息进行了上述分组是否是发送给本微处理器的第2判断的结果,第3结果是参照包含在上述分组内的信息识别信息进行是不根据上述第2判断结果而产生上述中断请求信号、还是根据上述第2判断结果选择处理的第3判断的结果,在上述第1结果和上述第3结果都是肯定的、并且上述第3结果是根据上述第2判断结果选择处理时,进行分组回信的处理判断部件。
7.根据权利要求6所述的微处理器,其特征在于将上述发送目的地信息存储在上述分组内的头部分中,将上述第2信息存储在上述分组内的有效载荷中。
8.根据权利要求3所述的微处理器,其特征在于上述通信模块具备输入第1结果、第2结果、第3结果,其中第1结果是进行了上述第1判断的结果,第2结果是参照包含在上述分组内的信息识别信息中的第1比特组进行了上述分组是否是发送给本微处理器的第2判断的结果,第3结果是参照上述信息识别信息中的第2比特组进行是不根据上述第2判断结果而产生上述中断请求信号、还是根据上述第2判断结果选择处理的第3判断的结果,在上述第1结果和第3结果都是肯定的、并且上述第3结果是根据上述第2判断结果选择处理时,进行分组回信的处理判断部件。
9.根据权利要求8所述的微处理器,其特征在于将上述发送目的地信息存储在上述分组内的头部分中,将上述第2信息存储在上述分组内的有效载荷中。
10.根据权利要求5所述的微处理器,其特征在于上述通信模块具备用于与上述比较结果对应地指定选择分组废弃、中断请求信号产生和分组回信的上述3个处理中的哪一个的处理方法判断用寄存器。
11.一种网络系统,其特征在于包括网络;与上述网络连接的多个微处理器,其中上述多个微处理器各自具备经由上述网络使用分组进行发送接收的通信模块;对包含在由上述通信模块接收到的上述分组中的数据进行处理的CPU,上述通信模块具备存储由上述微处理器管理的第1信息的寄存器;对接收到的上述分组内的规定的比特位置的第2信息、存储在上述寄存器中的第1信息进行比较,根据比较结果,进行上述CPU是否对上述数据进行处理的第1判断的比较器,在上述多个微处理器内的第1微处理器对第2微处理器进行任务执行委托的情况下,第1微处理器向第2微处理器发送上述分组,包含在上述分组中的上述数据是上述任务执行委托的任务的数据。
12.根据权利要求11所述的网络系统,其特征在于上述第2微处理器的上述通信模块在由上述比较器进行了第1判断而判断出上述CPU进行上述数据的处理时,产生对上述CPU的中断请求信号。
13.根据权利要求11所述的网络系统,其特征在于上述第2微处理器的上述通信模块在由上述比较器进行了第1判断而判断出上述CPU进行上述数据的处理时,向上述第1微处理器发送表示进行处理的回信分组。
14.根据权利要求11所述的网络系统,其特征在于上述第2微处理器的上述通信模块与上述比较结果对应地,选择分组废弃、中断请求信号产生和向上述第1微处理器进行分组回信的3个处理中的任意一个并执行。
15.根据权利要求12所述的网络系统,其特征在于上述通信模块具备输入第1结果、第2结果、第3结果,其中第1结果是进行了上述第1判断的结果,第2结果是参照包含在上述分组内的发送目的地信息进行了上述分组是否是发送给本微处理器的第2判断的结果,第3结果是参照包含在上述分组内的信息识别信息进行是不根据上述第2判断结果而产生上述中断请求信号、还是根据上述第2判断结果选择处理的第3判断的结果,在上述第1结果和上述第3结果都是肯定的、并且上述第3结果是根据上述第2判断结果选择处理时,进行分组回信的处理判断部件。
16.根据权利要求12所述的网络系统,其特征在于上述第2微处理器的上述通信模块具备输入第1结果、第2结果、第3结果,其中第1结果是进行了上述第1判断的结果,第2结果是参照包含在上述分组内的信息识别信息中的第1比特组进行了上述分组是否是发送给本微处理器的第2判断的结果,第3结果是参照上述信息识别信息中的第2比特组进行是不根据上述第2判断结果而产生上述中断请求信号、还是根据上述第2判断结果选择处理的第3判断的结果,在上述第1结果和上述第3结果都是肯定的、并且上述第3结果是根据上述第2判断结果选择处理时,进行分组回信的处理判断部件。
17.一种通信方法,其特征在于包括在与网络连接的多个节点之间相互发送接收数据的步骤,其中上述多个节点各自具备使用分组与上述网络进行发送接收的通信模块;与上述通信模块连接的CPU;在上述CPU中对包含在由上述通信模块接收到的分组中的数据进行处理的步骤,其中上述接收到的分组包含请求不经由上述CPU而直接从上述通信模块进行分组回信的信息比特组。
18.根据权利要求17所述的通信方法,其特征在于上述信息比特组表示任务执行委托的信息识别信息。
19.根据权利要求18所述的通信方法,其特征在于在上述通信模块中,在判断出上述任务执行委托的任务是在本节点中执行的任务、并且判断出是在本节点中能够执行的范围时,生成对上述CPU的中断请求信号。
全文摘要
本发明的第1个目的在于尽量减少在用网络连接起来的微处理器从网络接收到分组时产生的对CPU的中断,使处理器有效地动作。第2个目的在于提供一种能够向发送侧的微处理器回送响应性良好的回信的微处理器和通信方法。在微处理器中具备CPU和通信模块。通信模块(3)具有存储微处理器所管理的信息的寄存器(22)。通信模块对通过网络输入的分组内的规定的比特位置的信息、保存在寄存器中的信息进行比较,根据比较结果,判断CPU是否执行与分组接收对应的处理。
文档编号G06F9/46GK1881934SQ20051009774
公开日2006年12月20日 申请日期2005年8月24日 优先权日2005年6月17日
发明者加藤直树, 荒川文男 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1