半导体装置、周边装置控制系统、以及周边装置控制方法与流程

文档序号:21779001发布日期:2020-08-07 19:52阅读:128来源:国知局
半导体装置、周边装置控制系统、以及周边装置控制方法与流程

本发明涉及半导体装置、周边装置控制系统以及周边装置控制方法,尤其涉及与伴随周边装置的控制寄存器的刷新动作的处理量的增大对应的半导体装置、周边装置控制系统以及周边装置控制方法。



背景技术:

现今,有安装了mcu(microcontrollerunit:微控制单元)的设备增加的趋势。在这样的趋势下,控制从mcu接受控制的外部设备,例如传感器、显示器控制器、图像修正用芯片(以下,称为“周边装置”)等的lsi(largescaleintegratedcircuit:大规模集成电路)(以下,称为“周边装置控制ic”)也同时增加,构成使mcu与周边装置控制ic以及各周边装置一体化的系统。在这样的系统中,mcu独自进行经由周边装置控制ic的各周边装置的控制。

这里成为问题的是各周边装置的设定。一般而言各周边装置的设定存储于与各周边装置对应的周边装置控制ic内的寄存器。而且,有由于噪声等所引起的误动作而改写该寄存器的情况,所以通常对该寄存器进行定期的刷新,在所有寄存器进行替换将各周边装置的设定保持为最新的状态。一般而言“刷新”是指进行传感器等各周边装置的控制、管理的mcu等在进行与该周边装置对应的周边装置控制ic的控制时,定期地确认设定的寄存器,并进行替换的功能。

在专利文献1中,关于上述刷新,公开了一种电子控制装置,具备为了基于根据事件的产生而存储于非易失性存储器的数据控制负载的驱动而进行运算处理,并将其处理结果亦即控制数据储存于数据寄存器的微型计算机、和基于控制数据驱动负载的驱动ic,驱动ic具备与微型计算机进行通信的通信部、经由该通信部通过微型计算机进行控制数据的写入的控制寄存器、以及以恒定周期产生用于刷新储存于该控制寄存器的数据的触发信号的刷新计时器,若产生触发信号,则向微型计算机输出中断信号,微型计算机若输入中断信号,则再次对成为刷新对象的控制数据进行运算处理,并在上述驱动ic的控制寄存器替换为其处理结果亦即控制数据从而进行刷新动作。

专利文献1:日本特开2018-128771号公报

然而,各周边装置,特别是显示器控制器、图像修正用芯片等近年功能增加,其结果设定也增加。因此,起因于伴随刷新处理的访问次数的增加而mcu中的软件的负担也增加,频繁地重复向寄存器的写入、从寄存器的读出。因此寄存器破损的可能性也上升。并且,也有刷新所花费的时间越长,破损的后的修复为止的时间越长这样的问题。换句话说,由于周边装置的增加、周边装置的高功能化,而有分配给刷新的时间增大这样的问题,另外刷新处理需要大量的软件容量,所以有对其它的软件处理造成不少的影响这样的问题。因此,要求伴随许多的周边装置的控制的刷新处理中的软件处理的减轻、以及访问时间的削减。

在专利文献1中虽然将基于刷新动作的微型计算机的处理负荷作为问题,但通过中断处理解决本问题,并未对寄存器本身的构成进行研究。



技术实现要素:

本发明是为了解决上述的课题而完成的,其目的在于提供即使在微型计算机应该管理的对象装置增加的情况下,也能够抑制该微型计算机的处理负担的增大、对相关的装置的负荷的增大的半导体装置、周边装置控制系统以及周边装置控制方法。

本发明所涉及的半导体装置包含:一个以上的管理模块,包含附随设置于各控制对象的多个寄存器,上述多个寄存器存储与上述控制对象各自的动作相关的信息;以及第一生成部,对上述管理模块所包含的多个寄存器的值进行预先决定的处理来生成集成值,该集成值是将上述多个寄存器的值集成后的值,且集成值通过外部的控制装置被刷新以及更新。

本发明所涉及的周边装置控制系统包含:上述的半导体装置;一个以上的控制对象,与各个上述半导体装置对应地设置并接受上述半导体装置的控制;以及控制装置,访问上述半导体装置的第一生成部进行上述集成值的刷新以及更新。

本发明所涉及的周边装置控制方法设置一个以上的管理模块,该一个以上的管理模块包含附随设置于各控制对象的多个寄存器,上述多个寄存器存储上述控制对象各自的动作相关的信息,对上述管理模块所包含的多个寄存器的值进行预先决定的处理来生成集成值,该集成值是将上述多个寄存器的值集成后的值,且该集成值通过外部的控制装置被刷新以及更新的。

根据本发明,能够提供即使在微型计算机应该管理的对象装置增加的情况下,也能够抑制该微型计算机的处理负担的增大、对相关的装置的负荷的增大的半导体装置、周边装置控制系统以及周边装置控制方法。

附图说明

图1是表示第一实施方式所涉及的周边装置控制ic以及周边装置控制系统的框图。

图2是表示第一实施方式所涉及的周边装置控制处理的流程的时序图。

图3是表示第二实施方式所涉及的周边装置控制ic以及周边装置控制系统的框图。

图4是表示比较例所涉及的周边装置控制ic以及周边装置控制系统的框图。

附图标记说明

1、1a…周边装置控制系统,10、10a…周边装置控制ic,12、12-1、12-2、12-m…管理模块,14、14-1、14-2、14-m…集成值生成部,16、16-1、16-2、16-(n-1)、16-n…寄存器,50…mcu,70、70-1、70-2、70-m…周边装置,100…周边装置控制ic。

具体实施方式

以下,参照附图,对用于实施本发明的方式进行详细说明。在以下的实施方式中例示周边装置控制ic作为本发明的半导体装置进行说明。

[第一实施方式]

参照图1以及图2对本实施方式所涉及的半导体装置、周边装置控制系统以及周边装置控制方法进行说明。

图1示出本实施方式所涉及的周边装置控制系统1。如图1所示,周边装置控制系统1构成为包含作为本发明所涉及的半导体装置的周边装置控制ic10、mcu50以及周边装置70。此外,周边装置70、mcu50分别是本发明的“控制对象”、“控制装置”的一个例子。

mcu50进行也包含周边装置控制ic10以及周边装置70的控制的系统整体的控制。mcu50例如安装于导航系统等车载设备,并统一控制相关的周边装置的整体。也有作为soc(systemonachip:片上系统)的一部分实现相当于mcu50的功能的情况。

周边装置70如上述那样例如是各种传感器、显示器控制器、图像修正用芯片等在周边装置控制系统1中成为控制对象的具有特定的功能的部位。

周边装置控制ic10具备与周边装置70对应的管理模块12。管理模块12如图1所示构成为包含多个(在本实施方式中例示n个的情况)寄存器16-1、16-2、···、16-(n-1)、16-n(以下,在进行总称的情况下称为“寄存器16”)、以及集成值生成部14。寄存器16是存储周边装置70的当前的状态、设定、异常的有无等动作相关的信息(以下,称为“动作信息”)的存储单元(存储器)。寄存器16的大小并不特别限定,但在本实施方式中作为一个例子为16位。

如图1所示,在本实施方式中,通过管理模块12集中管理周边装置控制ic10的内部的各寄存器16。即,对各寄存器16的各个值(表示动作信息的数值)实施预先决定的运算,压缩为“集成值”。由此各寄存器16的值与其说是集成为集成值不如说集成为大小较小的值,在mcu50访问寄存器16的情况下访问集成值生成部14实施对该集成值的处理。后述管理模块12中的管理的详细。管理模块12例如既可以按照周边装置70的功能分割地设置,也可以在周边装置控制系统1内例如设置两个显示器的情况下按照显示器进行分割设置。

这里,参照图4对比较例所涉及的周边装置控制ic100以及包含周边装置控制ic100的比较例所涉及的周边装置控制系统进行说明。比较例所涉及的周边装置控制系统也构成为除了周边装置控制ic100以外,还包含mcu50以及周边装置70。

如图4所示,在比较例所涉及的周边装置控制系统中,周边装置控制ic100的内部的寄存器16-1、16-2、···、16-(n-1)、16-n独立(并不如本实施方式那样集中管理)。寄存器16根据需要的动作信息的数目等,例如设置数1000左右,并在各动作信息给予构成该寄存器的存储单元的地址。mcu50指定该地址访问寄存器16。即,指定地址来进行寄存器16的动作信息的刷新、更新等,另外读入存储于寄存器16的动作信息。而且,在比较例所涉及的周边装置控制系统中,mcu50例如执行寄存器16的个数份的刷新处理。因此,mcu50需要进行频繁的刷新动作,这例如产生成为mcu50的软件上的负担,或者导致寄存器16的劣化这样的问题。

此外,虽然有时“刷新”这样的语句使用为不同的意思,但在本实施方式中,定义为写入之后读出写入的内容,或者进行附加了对此进行检查(比较)的处理。另外,本实施方式所说的“检查”是指对当前读入的寄存器16的值与在以前(例如最近)读入的寄存器16的值进行比较,并检测其差别的有无。

相对于上述比较例所涉及的周边装置控制系统,在本实施方式所涉及的周边装置控制系统1的周边装置控制ic10中,在周边装置控制ic10的内部,作为管理模块12集中管理恒定数目的寄存器16,并将各寄存器16的值例如大幅度地削减为16位长的数据。由此,能够削减刷新、更新等动作时的从mcu50的读出次数,由此能够使mcu50中的软件处理的负担减轻。另外,由此能够使mcu50由于软件的障碍而例如成为死机动作的可能性降低,并且读出周边装置控制ic10,或者周边装置70的状态异常的速度也提高,所以能够实现效率良好的系统。

接下来,对管理模块12中的处理进行更详细的说明。设置在管理模块12的集成值生成部14对寄存器16-1~16-n的值进行预先决定的运算处理,生成反映了各寄存器16的值的简化值(集成后的值)。例如若寄存器16的各个为16位,则n×16位的值被集成(简化)为16位,而mcu50应该访问的数据量减少至1/n。

集成值生成部14中的运算方法只要能够使用各寄存器16的值生成一个值即可所以并不特别限定,但在本实施方式中使用crc(cyclicredundancycheck:循环冗余校验)及校验和。crc是错误检测符号的一种,主要使用于伴随数据传输等的偶发的错误的检测。发送侧附加地发送除以规定的生成多项式后的余数作为检查数据,在接收侧使用相同的生成多项式除以数据,并对其余数进行比较从而检测接收数据的错误·破损。crc根据生成多项式而生成的检查数据的位长(4位、16位、32位等)不同。在本实施方式中将该检查数据作为集成值。如上述那样,在本实施方式中作为一个例子使集成值的位长为16位。

在集成值生成部14中,在预先决定的定时进行集成值的生成,并将生成的集成值保持于存储部(未图示)。在集成值生成部14生成集成值的定时并不特别限定,但例如可以按照预先决定的周期定期地生成。或者,也可以是从mcu50访问并更新设定的定时。

集成值生成部14中的集成值的生成既可以对寄存器16-1~16-n的全部一并进行,也可以将寄存器16-1~16-n的存储区域分割为多个(以下,称为“分割区域”)并对各个分割区域进行。该情况下,通过地址的范围的指定进行分割区域的指定。通过将寄存器16的存储区域分割为多个分割区域,也能够按照分割区域使处理不同。例如能够构成为根据寄存器16的内容的重要度等对多个分割区域进行分组,在重要度更高的分割区域中增多刷新处理的次数,在重要度更低的分割区域中减少刷新处理的次数等。根据这样的构成与无差别地刷新寄存器16的情况相比较,能够进行更高效的刷新。此外,分割区域并不需要一定固定,也可以根据周边装置70的动作条件等而使其变化。

接下来,对周边装置控制系统1中的监视功能进行说明。首先,周边装置控制ic10中的自己监视功能如以下那样进行动作。即,集成值生成部14能够通过对这次生成的集成值与以前(例如最近)生成的集成值进行比较进行自己监视。换句话说,在没有来自mcu50的访问的状态下检测到集成值变化的情况下视为在管理模块12产生了错误,并例如向mcu50进行报告。根据本构成能够减轻mcu50对周边装置控制ic10的监视负担。

另一方面,mcu50能够如以下那样检测周边装置控制ic10的异常。即mcu50通过从周边装置控制ic10读出集成值,判断周边装置控制ic10内的寄存器16的值的异常的有无。错误的输出在内部寄存器保持各模块的值、和全部的错误的逻辑和,能够利用一次的读出,进行错误的确认。也可以定期地进行本异常的检测,也可以附随于寄存器16的值的更新时等特定的事件而进行。

并且,mcu50能够在周边装置控制ic10的更新时检测异常。即,该情况下例如mcu50拥有与集成值生成部14中的生成单元相同的生成单元。而且mcu50在进行周边装置控制ic10的再设定的情况下,进行周边装置控制ic10的寄存器16的值的更新,并且在自身拥有的生成单元中也对该更新的值进行生成处理。而且,在进行了周边装置控制ic10的更新之后,对从集成值生成部14读出的集成值和自身生成的集成值进行比较,在它们不同的情况下能够判断为在周边装置控制系统1有异常。mcu50的监视的定时除了周边装置控制ic10的更新时以外,例如也可以是预先决定的每个周期。

接下来,参照图2对在本实施方式所涉及的周边装置控制系统1中执行的周边装置控制处理进行说明。图2按照时间序列示出周边装置控制处理周边装置控制ic10以及mcu50中的处理、和在两者之间的信号的发送接收。

图2的(a)示出从mcu50侧检测周边装置控制ic10的异常的处理。如图2的(a)所示,mcu50在时刻t1,保持以前从周边装置控制ic10获取的集成值。在时刻t2周边装置控制ic10生成集成值。该集成值的生成例如是定期地进行的生成的一部分。mcu50在时刻t3对周边装置控制ic10进行集成值的发送请求。接收了发送请求的周边装置控制ic10在时刻t4发送集成值,mcu50在时刻t5接收。mcu50在时刻t7对接收的集成值与在时刻t1保持的集成值进行比较的结果是两者一致,所以判断为在周边装置控制ic10未产生异常。

另一方面,在时刻t6周边装置控制ic10生成集成值,但在时刻t8在寄存器16产生故障,而寄存器16的值变化。mcu50在时刻t9对周边装置控制ic10进行集成值的发送请求,周边装置控制ic10在时刻t10发送集成值。mcu50在时刻t11接收集成值,并在时刻t12对接收的集成值与在时刻t5接收的集成值进行比较。其结果两者不同,所以mcu50判断为在周边装置控制ic10产生了异常。

图2的(b)是在周边装置控制ic10产生了故障的情况下,周边装置控制ic10主动对mcu50进行报告的方式。在时刻t20,周边装置控制ic10生成集成值,并使生成的值存储并保持于存储部(未图示)。在时刻21周边装置控制ic10对生成的集成值和在以前生成并保持的集成值进行比较,由于两者一致所以判断为没有异常。

然而,在时刻t22在周边装置控制ic10产生故障,寄存器16的值变化。在时刻t23周边装置控制ic10作为定期的动作的一环而生成集成值,并保持。在时刻t24周边装置控制ic10对生成的集成值和在时刻t20保持的集成值进行比较,由于两者不同所以周边装置控制ic10检测出自身产生异常。周边装置控制ic10在时刻t25将该异常报告给mcu50。此外,图2的(b)的处理相当于上述那样的周边装置控制ic10的自己监视功能中的处理。

图2的(c)是mcu50对周边装置控制ic10指示了寄存器16的更新的情况下的处理。mcu50在时刻t30生成应该更新的寄存器16的值,mcu50在时刻t31使用应该更新的寄存器的值生成集成值。其后mcu50在时刻t32对周边装置控制ic10指示寄存器16的更新。接收了更新的指示的周边装置控制ic10在时刻t33更新寄存器16的值,并且在时刻t34生成集成值。然后,周边装置控制ic10在时刻t35将集成值发送给mcu50,mcu50在时刻t36接收集成值。其后mcu50对接收的集成值和在时刻t31生成的集成值进行比较,判定寄存器16的更新是否成功。

如以上详述的那样,根据本实施方式所涉及的半导体装置、周边装置控制系统、以及周边装置控制方法,不在周边装置控制ic10内的全部的寄存器16进行写入,而在集成值生成部14(例如,存储部)进行写入,所以能够监视(monitor)周边装置控制ic10的内部状态。对于从mcu50向周边装置控制ic10的访问时间,例如从寄存器16的读出时间来说,若按照3字节管理集成值,并按照寄存器16的256字节对管理模块进行管理,则能够缩短为3/256。此外,这是估算值而实际上根据访问方法,而数据的读出以外的时间改变,所以降低率也改变。即根据本实施方式所涉及的半导体装置、周边装置控制系统、以及周边装置控制方法,能够大幅度地降低从mcu50对周边装置控制ic10的访问的处理时间。因此,时间产生富余相应地对周边装置控制ic10的访问次数增加错误的确认次数增加,所以能够进行错误的早期发现、更新。另一方面,若仅为错误的管理,则基本而言能够利用错误位的读出检测问题点,所以能够利用一次的访问承担刷新的作用。

[第二实施方式]

参照图3,对本实施方式所涉及的半导体装置、周边装置控制系统、以及周边装置控制方法进行说明。本实施方式所涉及的周边装置控制系统1a构成为包含周边装置控制ic10a、mcu50以及周边装置70-1、70-2、···、70-m。本实施方式与上述实施方式相比较,在周边装置控制ic10a具备多个管理模块这一点不同。其它的点与上述实施方式相同,所以对相同的构成附加相同的附图标记并省略详细的说明。

如图3所示,周边装置控制ic10a具备多个(在图3中例示m个的情况)管理模块12-1、12-2、···、12-m、集成值生成部14-1、14-2、···、14-m。集成值生成部14-1、14-2、···、14-m的各个独立地与mcu50连接,管理模块12-1、12-2、···、12-m的各个与周边装置70-1、70-2、···、70-m连接。

管理模块12-1、12-2、···、12-m的各个包含多个(在图3中例示四个的情况)寄存器16。管理模块12-i(i=1~m)为了控制各自对应的周边装置70-i(i=1~m),将动作相关的值保持于寄存器16。周边装置70-i(i=1~m)的分别既可以是传感器、显示器控制器、图像修正用芯片等不同的控制对象,也可以是显示器a、b等同种的多个控制对象。

另一方面,mcu50独立地访问集成值生成部14-1、14-2、···、14-m,并独立地进行刷新、更新等处理。周边装置控制ic10a以及mcu50的具体的处理与上述实施方式相同,所以省略详细的说明。

根据本实施方式所涉及的半导体装置、周边装置控制系统、以及周边装置控制方法,与对每个周边装置70配置周边装置控制ic10的情况相比较,能够通过访问一个周边装置控制ic10a进行针对多个周边装置的处理,所以能够进行更高效的处理。另外,也能够对一个存储器的地址进行分割为分割区域,并对各个分割区域分配周边装置70-1、70-2、···、70-m,所以在存储器的容量上也高效。并且,周边装置控制ic10a集成为一个,所以故障的产生概率也减少。

此外,虽然在本实施方式中例示基于独立地对各周边装置70-1、70-2、···、70-m配置的集成值生成部14-1、14-2、···14-m的集成值生成进行了说明,但是并不限定于此例如也可以是进一步对集成值生成部14-1、14-2、···、14-m的值进行集成成为一个集成值的方式。第一次的生成集成值的生成方法、和第二次的生成集成值的生成方法并不需要一定相同,也可以使用不同的生成方法。

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