(57)【要約】      （修正有）【課題】ＥＣＵ内で複数のＣＰＵを用いて処理を行う場合に、ＣＰＵの処理負荷を減少させ、処理を簡素化することができる装置を提供する。【解決手段】パルス出力手段からのパルス信号に基づいて、共有する装置に対する処理を少なくとも第1の演算処理手段と第２の演算処理手段とが行う処理システムであって、前記パルス出力手段からの一連のパルス信号におけるエッジ情報に基づいて前記共有する装置に対する処理を行う前記第1の演算処理手段と、前記一連のパルス信号における前記第1の演算処理手段が用いるエッジ情報とは異なるエッジ情報に基づいて、前記共有する装置に対する処理を行う前記第２の演算処理手段と、を備えることを特徴とする処理システム。【選択図】図１
2008165295.tif 000002
【特許請求の範囲】
【請求項１】
パルス出力手段からのパルス信号に基づいて、共有する記憶装置に対する処理を少なくとも第１の演算処理手段と第２の演算処理手段とが行う処理システムであって、
前記パルス出力手段からの一連のパルス信号におけるエッジ情報に基づいて前記共有する記憶装置に対する処理を行う前記第１の演算処理手段と、
前記一連のパルス信号における前記第１の演算処理手段が用いるエッジ情報とは異なるエッジ情報に基づいて、前記共有する記憶装置に対する処理を行う前記第２の演算処理手段と、
を備えることを特徴とする処理システム。
【請求項２】
前記一連のパルス信号における所定のパルス信号のエッジ情報に基づいて第１の演算処理手段が処理を行い、前記所定のパルス信号の第１の演算処理手段が用いるエッジ情報とは異なるエッジ情報に基づいて第２の演算処理手段が処理を行うことを特徴とする請求項１記載の処理システム。
【請求項３】
前記一連のパルス信号における所定のパルス信号のエッジ情報に基づいて第１の演算処理手段が処理を行い、前記一連のパルス信号における前記所定のパルス信号とは異なるパルス信号のエッジ情報に基づいて第２の演算処理手段が処理を行うことを特徴とする請求項１記載の処理システム。
【請求項４】
前記エッジ情報を用いるパルス信号のデューティ比を調整することによって、少なくとも１つの演算処理手段の処理タイミングを調整可能にすることを特徴とする請求項２記載の処理システム。
【請求項５】
前記エッジ情報を用いるパルス信号の出力周期を調整することによって、少なくとも１つの演算処理手段の処理タイミングを調整可能にすることを特徴とする請求項２または３のいずれか１項に記載の処理システム。
【請求項６】
前記デューティ比の調整は、少なくとも１つの演算処理手段の処理負荷に応じて行うことを特徴とする請求項４記載の処理システム。
【請求項７】
前記出力周期の調整は、少なくとも１つの演算処理手段の処理負荷に応じて行うことを特徴とする請求項５または６のいずれか１項に記載の処理システム。
【請求項８】
前記一連のパルス信号における所定のパルス信号のエッジ情報に基づいて第１の演算処理手段が処理を行い、前記所定のパルス信号の第１の演算処理手段が用いるエッジ情報とは異なるエッジ情報に基づいて第２の演算処理手段が処理を行う処理システムであって、
前記パルス信号の調整は、各演算処理手段の処理負荷に応じて優先してデューティ比の調整を行い、前記パルス信号の周期の長さに応じた処理負荷と前記少なくとも１つの演算処理手段の処理負荷とを比較して、前記少なくとも１つの演算処理手段の処理負荷が大きい場合には、前記パルス信号の周期の調整を行うことを特徴とする請求項１記載の処理システム。
【請求項９】
通信ネットワークに接続され、パルス出力手段からのパルス信号に基づいてデータ送信を行う少なくとも第１の演算処理手段と第２の演算処理手段とが個別に設けられた通信システムであって、
前記パルス出力手段からの一連のパルス信号のエッジ情報に基づいて、前記通信ネットワークへデータの送信を行う前記第１の演算処理手段と、
前記一連のパルス信号における前記第１の演算手段が用いるエッジ情報とは異なるエッジ情報に基づいて、前記通信ネットワークへデータの送信を行う前記第２の演算処理手段と、
を備えることを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の演算処理手段を有するシステムに関し、特にパルス信号に基づいて複数の演算処理手段が所定の処理を行うタイミングを調整するシステムに関する。
【背景技術】
【０００２】
車両には、エンジン動作を電子制御するＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）を搭載したものがある。ＥＣＵは、複数のセンサから送られてくる信号に応じて、例えば、エンジンの燃料噴射や電子スロットルなど、様々な制御を行っている。また、ＥＣＵは複数の演算処理手段を搭載して、様々な制御を行っている。ここで、演算処理手段とは例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のような演算装置をいう。
【０００３】
このようなＥＣＵに搭載されるＣＰＵでは、複数のＣＰＵが共通に使用する所定の装置、例えばＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に対してアクセス処理を行う場合がある。しかし、複数のＣＰＵが所定のＥＥＰＲＯＭを使用する場合、一方のＣＰＵが所定のＥＥＰＲＯＭに対してアクセス処理を行っているときに他方のＣＰＵのアクセスを許可すると処理の衝突が生じてしまうので、ＥＥＰＲＯＭは一方のＣＰＵがアクセス処理を行っている間は、他方のＣＰＵからのアクセス処理を行うことができない。このため、他方のＣＰＵは一方のＣＰＵの処理が終わった後に、再度ＥＥＰＲＯＭに対してアクセスを行う必要がある。しかし、ＥＥＰＲＯＭは他のメモリと比較して書き込み時間が多くかかることから、一方のＣＰＵがＥＥＰＲＯＭへアクセスを行っている際は、他のＣＰＵがＥＥＰＲＯＭに対するアクセスを複数回行う場合がある。この場合に、ＣＰＵがＥＥＰＲＯＭへアクセスを行うための処理負荷が増加する。
【０００４】
ここで、複数のＣＰＵが所定のＥＥＰＲＯＭに対してアクセス処理を行う1つの構成としては、図１３に示すようにＥＣＵ１に設けられたＣＰＵ１１がバスラインを介してＥＥＰＲＯＭ２１に接続され、ＣＰＵ１２がバスラインを介してＥＥＰＲＯＭ２２に接続されているように、各ＣＰＵごとにＥＥＰＲＯＭを設けてアクセス処理を行う構成がある。
【０００５】
また、別の構成としては、図１４に示すようにＥＣＵ１に設けられた一のＣＰＵ１１とバスラインを介してＥＥＰＲＯＭ２１とが接続され、このＣＰＵ１１とバスラインを介して接続された他のＣＰＵ１２がＥＥＰＲＯＭ２１へアクセス処理を行う場合は、ＥＥＰＲＯＭ２１に接続されたＣＰＵ１１を経由してデータを送信することにより、ＣＰＵ１１とＣＰＵ１２とがＥＥＰＲＯＭ２１に対してアクセス処理を行うことができる構成がある。
【０００６】
さらに、別の構成としては、２つのＣＰＵに対してＲＯＭとＲＡＭが接続され、各ＣＰＵがＲＯＭまたはＲＡＭにアクセスするタイミングは、パルス出力手段により出力された２つのＣＰＵのそれぞれのアクセスタイミングを示すパルス信号を送信する２本のパルス信号ラインに基づいて行われ、これら２本の信号ラインの位相を１８０度ずらすことにより、各ＣＰＵがＲＯＭとＲＡＭに対してアクセスを行うという構成がある（特許文献１）。
【０００７】
また、複数のＣＰＵはＥＥＰＲＯＭに対してのアクセス処理を行うのみではなく、各ＣＰＵがネットワークへデータの送信を行う場合がある。具体的には図１５に示すように、ＥＣＵ１に設けられたＣＰＵ１１とＣＰＵ１２がバスラインを介して接続されている。そして、ＣＰＵ１１とＣＰＵ１２がＥＣＵ１の外のネットワークにバスラインを介して接続されており、ＣＰＵ１１とＣＰＵ１２はバスラインを介してネットワークへデータを送信する。ここで、ＣＰＵ１２がネットワークへデータを送信する場合は、ＣＰＵ１１が行うデータ送信との衝突を避けるため、ＣＰＵ１１を中継した後、バスラインを介してネットワークへデータの送信を行っている。
【特許文献１】特開昭６２−０２４３５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、これまで述べたような各ＣＰＵごとにＥＥＰＲＯＭを接続する構成ではＣＰＵと同じ数のＥＥＰＲＯＭが必要となり、コストがかかるという課題があった。
また、一のＣＰＵにＥＥＰＲＯＭを接続して他のＣＰＵが一のＣＰＵに接続されたＥＥＰＲＯＭへデータを送信する構成では、ＥＥＰＲＯＭへのアクセスを中継するＣＰＵの処理負荷が増加し、処理が煩雑となることから、ＣＰＵの処理に遅れが生じるという課題があった。
【０００９】
また、パルス信号ラインに基づいて各ＣＰＵがＲＯＭまたはＲＡＭにアクセス処理を行う構成では、ＣＰＵと同じ数のパルス信号ラインが必要となり、ポート数の増加や配線数の増加により回路構成が複雑になるという課題があった。
【００１０】
さらに、一のＣＰＵと他のＣＰＵがバスラインを介して接続された構成において、一のＣＰＵが他のＣＰＵのデータをバスラインを介してネットワークへデータを
送信する場合に、中継を行う一のＣＰＵの処理負荷が増加し、処理が煩雑となることから一のＣＰＵの処理に遅れが生じるという課題があった。
【００１１】
このようにＥＣＵ内で複数のＣＰＵを用いて処理を行う場合には、ＣＰＵの処理負荷が増加し、処理が複雑化するという課題があった。
【課題を解決するための手段】
【００１２】
本発明の処理システムでは、パルス出力手段からのパルス信号に基づいて、所定装置に対する処理を少なくとも第1の演算処理手段と第２の演算処理手段とが個別に行う処理システムであって、前記パルス出力手段からの一連のパルス信号におけるエッジ情報に基づいて前記所定装置に対する処理を行う前記第1の演算処理手段と、前記一連のパルス信号における前記第1の演算処理手段が用いるエッジ情報とは異なるエッジ情報に基づいて、前記所定装置に対する処理を行う前記第２の演算処理手段と、を備えることを特徴とする処理システムが提供される。
【００１３】
本発明の通信システムでは、通信ネットワークに接続され、パルス出力手段からのパルス信号に基づいてデータ送信を行う少なくとも第１の演算処理手段と第２の演算処理手段とが個別に設けられた通信システムであって、前記パルス出力手段からの一連のパルス信号のエッジ情報に基づいて、前記通信ネットワークへデータの送信を行う前記第1の演算処理手段と、前記一連のパルス信号における前記第１の演算手段が用いるエッジ情報とは異なるエッジ情報に基づいて、前記通信ネットワークへデータの送信を行う前記第２の演算処理手段と、を備えることを特徴とする通信システムが提供される。
【発明の効果】
【００１４】
以上のようにこの発明によれば、ＥＣＵ内で複数のＣＰＵを用いて処理を行う場合に、ＣＰＵの処理負荷を減少させ、処理を簡素化することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の第１の実施形態を、図面を参照して説明する。
【００１６】
図１の処理システムに示すＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）１は、エンジン制御を行う電子制御装置である。このＥＣＵ１内部には、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＣＰＵ１２及びＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２１が設けられており、ＣＰＵ１１とＣＰＵ１２はバスラインによってＥＥＰＲＯＭ２１と接続されている。ＣＰＵ１１は第1の演算処理手段として、燃料噴射の制御、及び点火時期の制御を行う。また、ＣＰＵ１２は第２の演算処理手段として、様々な走行状況におけるトランスミッションの制御処理を行う。
【００１７】
さらに、ＣＰＵ１１内部のスタンバイＲＡＭ５１はＩＧオフ時（ＥＣＵ１の電源オフ時）にも電源が供給される不揮発性メモリであり、このスタンバイＲＡＭ５１にはエンジン制御学習値などＩＧオフ時にも記憶保持する必要のあるデータが記憶される。また、ＣＰＵ１２内部のスタンバイＲＡＭ５２はＩＧオフ時（ＥＣＵ１の電源オフ時）にも電源が供給される不揮発性メモリであり、このスタンバイＲＡＭ５２にはトランスミッション制御学習値などＩＧオフ時にも記憶保持する必要のあるデータが記憶される。また、ＥＥＰＲＯＭ２１には、スタンバイＲＡＭ５１、及びスタンバイＲＡＭ５２に記憶されているデータや図示しないＲＡＭに記憶されたデータのうち必要なデータが所定のタイミング（例えば、ＩＧオフ時や後述するパルス信号出力のエッジ情報（パルスの立ち上がりの情報や、パルスの立ち下がりの情報）に基づいたタイミング）で書き込まれる。
【００１８】
ＣＰＵ１１にはパルス信号を出力する機能が設けられており、ＣＰＵ１１から出力されたパルス信号が、例えば単線の信号ラインを介して、ＣＰＵ１１とＣＰＵ１２に入力されるように構成されている。なお、ＣＰＵ１１がスタンバイＲＡＭ５１に記憶しているエンジン制御の学習値をＥＥＰＲＯＭ２１に書き込む処理や、ＣＰＵ１２がスタンバイＲＡＭ５２に記憶しているトランスミッション制御の学習値をＥＥＰＲＯＭ２１に書き込む処理は、パルス信号のエッジ情報（パルスの立ち上がりの情報や、立ち下がりの情報）に基づいて行われる。また、パルスの立ち上がりや、立ち下がりのタイミングを変更するためのデューティ比（パルスが出力されている期間、又はパルスが出力されていない期間をパルスが出力されて次のパルスが出力されるまでの期間で除した割合）、及び出力周期の情報はスタンバイＲＡＭ５１に記憶されており、パルス信号を出力する前にこれらの情報がスタンバイＲＡＭ５１から読み出される。
【００１９】
次に、図1の処理システムの動作について説明する。
図２は、ＣＰＵ１１がＥＥＰＲＯＭ２１へアクセス処理を行うための初期設定のフローチャートであり、図３は、ＣＰＵ１２がＥＥＰＲＯＭ２１へアクセス処理を行うための初期設定のフローチャートである。また、図８はＣＰＵ１１及びＣＰＵ１２がエッジ情報（パルスの立ち上がりとパルスの立ち下がりの情報）に基づいて、スタンバイＲＡＭ５１またはスタンバイＲＡＭ５２に記憶した各処理内容をＥＥＰＲＯＭ２１に書き込む処理の実施を示したタイムチャートである。
【００２０】
最初に、ＥＣＵ１がＩＧオンされることによりバッテリから電源の供給を受け、ＥＣＵ１に設けられたＣＰＵ１１がパワーオン状態となり、図２のフローチャートの処理が開始される。
【００２１】
そして、処理Ａ（例えば、ＣＰＵ１１がスタンバイＲＡＭ５１に記憶しているエンジン制御学習値をＥＥＰＲＯＭ２１に書き込む処理）の割り込み機能の設定条件がスタンバイＲＡＭ５１から読み出される（図２に示すステップＳ１０１）。この際には図８に示すように例えば、ＣＰＵ１１のスタンバイＲＡＭ５１に記憶されている情報がＥＥＰＲＯＭ２１に書込まれる処理Ａが開始されるタイミングは、パルスの立ち上がり時点であるという情報が読み出される。さらに、パルスの出力を行うにあたり必要な情報であるパルスのデューティ比、及びパルスの出力周期の情報がスタンバイＲＡＭ５１から読み出されてパルス出力値を設定する（Ｓ１０２）。なお、このパルス出力値は最初はデフォルト値（例えば、デューティ比５０％、出力周期４ｍｓ）で設定されており、後述するＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｅ  Ｍｏｄｕｌａｔｉｏｎ）割込みにより必要に応じて更新される。
【００２２】
上述の図２のＳ１０１、及びＳ１０２の処理が完了すると、ＣＰＵ１１がＥＥＰＲＯＭ２１に対して処理Ａを行うことが可能となる（Ｓ１０３）。そして、処理Aの割込み許可がなされた後にＣＰＵ１１からパルス信号が出力される（Ｓ１０４）。
【００２３】
図３に示すＣＰＵ１２の初期設定においても、図２に示すＣＰＵ１１の初期設定と同様にＥＣＵ１がＩＧオンされることによりバッテリから電源の供給を受け、ＥＣＵ１に設けられたＣＰＵ１２がパワーオン状態となる。
【００２４】
そして、処理Ｂ（例えば、ＣＰＵ１２がスタンバイＲＡＭ５２に記憶しているトランスミッション制御学習値をＥＥＰＲＯＭ２１に書き込む処理）の割り込み機能の設定は図２に示すＳ１０１の処理Ａ割込み機能設定の際に実行されている（Ｓ２０１）。この際には図８に示すように例えば、ＣＰＵ１２のスタンバイＲＡＭ５２に記憶されている情報がＥＥＰＲＯＭ２１に書込まれる処理Ｂが開始されるタイミングは、パルスの立ち下がりであるという情報が読み出されている。そして、ＣＰＵ１２がＥＥＰＲＯＭ２１に対して処理Ｂを行うことが可能となる（Ｓ２０２）。このようにＣＰＵ１１及びＣＰＵ１２の各ＣＰＵがＥＥＰＲＯＭ２１へアクセスするための制御を行うことにより、図８に示すようにパルスのエッジ情報に基づいて各ＣＰＵからのスタンバイＲＡＭに記憶した情報をスムーズにＥＥＰＲＯＭ２１に書き込むことが可能となる。
【００２５】
次に、パルスの立ち上がり又は立ち下がりの情報に基づいて各ＣＰＵがＥＥＰＲＯＭ２１へ書込み処理を行う場合に、その処理の開始がパルスの立ち上がり又は立ち下がりのタイミングと比べて遅れた場合について述べる。図４はスタンバイＲＡＭ５１に保存されている情報をＥＥＰＲＯＭ２１へ書き込む処理Ａがパルスのエッジ情報と比較して遅れている場合の処理を示したフローチャートであり、図５はスタンバイＲＡＭ５２に保存されている情報をＥＥＰＲＯＭ２１へ書き込む処理Ｂがパルスのエッジ情報と比較して遅れている場合の処理を示したフローチャートである。また、図９はパルスの立ち上がりと立ち下がりの時点よりも処理Ａ及び処理Ｂの開始が遅れていることを示すタイムチャートである。
【００２６】
パルス信号のエッジ（処理Ａに対するデューティ比５０％、処理Ｂに対するデューティ比５０％、出力周期４ｍｓ）の立ち上がりに基づいてＣＰＵ１１のエッジ割込み（ＣＰＵ１１のスタンバイＲＡＭ５１に保存されている情報をＥＥＰＲＯＭ２１に書込む処理）を行う場合（図４に示すＳ３０１）に、図９に示すようにパルスの立ち上がりと比べて処理Ａの開始が遅れていることをＣＰＵ１１が検出すると、現在時刻の取得が実行される（Ｓ３０２）。ここで図９に示す処理Ａはパルスの立ち上がりの際に処理を開始するものであるが、処理Ａよりも前に行われた処理のパルスのデューティ比に対する処理負荷が大きい、または処理Ａ自体の処理負荷が大きいために、実際の処理の開始は遅れている。このため、パルスが立ち上がった際の時間と実際に処理Ａが開始された時間との差（処理遅れ時間）を計測する（Ｓ３０３）。そして、処理Ａが実行されるごとにこの計測された処理遅れ時間に基づいて処理Ａの負荷の算出がなされる（Ｓ３０４）。処理負荷の算出は、例えば本来処理Ａが実行されるパルスの立ち上がりから実際に処理Ａが開始された時間の遅れの平均値や最大値に基づいて行われる。算出されたデューティ比や出力周期の情報はスタンバイＲＡＭ５１へ保存する。そして、後述するＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｅ  Ｍｏｄｕｌａｔｉｏｎ）割込みの際にスタンバイＲＡＭ５１の情報が読み出され、各ＣＰＵの処理とパルス信号のデューティ比または周期との調整を行う。この調整を行った後に所定のタイミングごとにスタンバイＲＡＭ５１に保存した情報を後に詳述するＥＥＰＲＯＭへ書き込む処理を行う（Ｓ３０５）。
【００２７】
次に、パルス信号のエッジの立ち下がりに基づいてＣＰＵ１２のエッジ割込み（ＣＰＵ１２がスタンバイＲＡＭ５２に保存された情報をＥＥＰＲＯＭ２１に書込む処理Ｂ）を行う場合（図５に示すＳ４０１）に、図９に示すようにパルスの立ち下がりと比べて処理Ｂの開始が遅れていることをＣＰＵ１２が検出すると、現在時刻の取得が実行される（Ｓ４０２）。ここで図９に示す処理Ｂはパルスの立ち下がりの際に処理を開始するものであるが、パルスのデューティ比と比較して処理Ｂの以前に行われた処理の負荷が大きいまたは処理Ｂ自体の処理負荷が大きいため実際の開始は遅れている。このことから、パルスが立ち下がった際の時間と実際に処理Ｂ開始された時間との差を計測する（Ｓ４０３）。
【００２８】
処理Ｂが実行されるごとにこの計測された時間に基づいて、処理Ｂの処理負荷の算出がなされる（Ｓ４０４）。負荷の算出は、例えば本来処理Ｂが実行されるパルスの立ち下がりから実際に処理Ｂが開始された時間の遅れの平均値や最大値に基づいて行われる。算出されたＤＵＴＹ比や出力周期の情報はスタンバイＲＡＭ５２へ保存する。そして、後述するＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｅ  Ｍｏｄｕｌａｔｉｏｎ）割込みの際にスタンバイＲＡＭ５２の情報が読み出され、各ＣＰＵの処理とパルス信号のＤＵＴＹ比または周期との調整を行う。この調整を行った後に所定のタイミングごとにスタンバイＲＡＭ５２に保存した情報を後に詳述するＥＥＰＲＯＭへ書き込む処理を行う（Ｓ４０５）。
【００２９】
ここで、図６に基づいてＣＰＵ１１のスタンバイＲＡＭ５１に保存された情報、またはＣＰＵ１２のスタンバイＲＡＭ５２に保存された情報がＥＥＰＲＯＭ２１へ書込まれる際の動作について説明する。最初に、ＣＰＵ１１またはＣＰＵ１２はＥＥＰＲＯＭ２１に対してアクセス処理を行うことが可能か否かを確かめるために、一のＣＰＵ（例えばＣＰＵ１１）からＥＥＰＲＯＭ２１に対してＣＰＵ１１がＥＥＰＲＯＭ２１を選択した旨の信号であるチップセレクト（ＣＳ）信号を送信する。そして、ＣＰＵ１１からＥＥＰＲＯＭ２１に対してＣＳ信号を送信した結果、ＣＳ信号の信号ラインがＬｏｗ状態（現在はＣＰＵ１１からはＥＥＰＲＯＭ２１へのアクセスが不可能な状態）の場合（図６に示すステップS５０１）は、ＥＥＰＲＯＭ２１に対するＣＰＵ１２からのアクセス処理が行われていることになる。このような場合、ＣＰＵ１１からのＥＥＰＲＯＭ２１に対するアクセス処理ができないことから、ＣＰＵ１１のアクセス失敗履歴カウンタをカウントアップして（Ｓ５０２）、後述するパルスのデューティ比または周期の調整を行い、ＣＰＵ１１に設けられたスタンバイＲＡＭ５１にパルスのＤＵＴＹ比または周期の更新情報を記録する。
【００３０】
ＣＰＵ１１がＥＥＰＲＯＭ２１に対してＣＳ信号を送信した結果、ＣＳ信号の信号ラインがＬｏｗ状態でない場合は（Ｓ５０１）、ＣＰＵ１１からのＥＥＰＲＯＭ２１へのアクセス処理が可能であることから、ＣＰＵ１１はＥＥＰＲＯＭ２１に対して処理を行うためのポートの設定を行う（Ｓ５０３）。そして、ＣＰＵ１１以外の演算処理手段がＥＥＰＲＯＭ２１に対してアクセス処理を行うことができないように、ＣＳ信号の信号ラインをＨｉの状態からＬｏｗの状態へ変更して出力した（Ｓ５０４）後に、ＣＰＵ１１はＥＥＰＲＯＭ２１に対してのアクセス処理を行う（S５０５）。そして、ＣＰＵ１１のＥＥＰＲＯＭ２１に対するアクセス処理が終了することにより、ＣＳ信号の信号ラインをＬｏｗの状態からＨｉ状態へ変更して出力する（S５０６）。最後に、ＥＥＰＲＯＭ２１のポートを初期状態に設定する（S５０７）ことにより、他のＣＰＵがＥＥＰＲＯＭ２１に対してアクセス処理を行うことが可能な状態とする。
【００３１】
次に、上述のＣＰＵ１１およびＣＰＵ１２のＥＥＰＲＯＭ２１に対する各処理の開始がパルスの立ち上がりまたは立ち下がりのタイミングと比べて遅れている場合に行われるＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｅ  Ｍｏｄｕｌａｔｉｏｎ）割り込みについて説明する。図７は、ＣＰＵ１１又はＣＰＵ１２が各処理を行う中で所定のタイミング（例えば、ＩＧオフ時やパルスの信号出力のエッジ情報（パルスの立ち上がりの情報や、パルスの立ち下がりの情報）に基づいたタイミング）ごとに実施されるＰＷＭ割込みにより、各ＣＰＵのＥＥＰＲＯＭに対する書き込み処理の遅れが生じている場合に、パルス信号のデューティ比または周期の更新が必要な場合にこれらの更新を行い、その更新情報をスタンバイＲＡＭへ保存するフローチャートであり、図１０は図９に示したＣＰＵ１１及びＣＰＵ１２のパルスのデューティ比を変更した後の処理の状況を示したタイムチャートである。
【００３２】
最初にＰＷＭ割込みが実施されることにより、ＣＰＵ１１はパルスのデューティ比、及び周期の現在の状態を取得するための演算を行う（図７に示すステップＳ６０１）。次に、ＣＰＵ１１はスタンバイＲＡＭ５１及びスタンバイＲＡＭ５２に保存されている情報から図４及び図５に示した処理負荷解析が実施状況から、パルスのデューティ比または周期の変更の必要性を確認する（Ｓ６０２）。ここで、デューティ比または周期の変更の必要性がない場合（Ｓ６０２がＮＯ）は、パルスのデューティ比または周期の変更が必要ではないと判断し、ＰＷＭ割込み処理を終了する。ＣＰＵ１１及びＣＰＵ１２の処理負荷に基づくパルスのデューティ比または周期の更新が必要である場合（Ｓ６０２がＹＥＳ）は、次の処理としてパルスのデューティ比の更新のみで処理負荷が適正（処理Ａがパルスの立ち上がりのタイミングに実施され、処理Ｂがパルスの立ち下がりのタイミングに実施される）となるか否かを判断する（Ｓ６０３）。パルスのデューティ比の更新のみで処理負荷が適正となる場合（Ｓ６０３がＹＥＳ）は、例えば、図１０に示すように図９のパルスのデューティ比を更新する（Ｓ６０４）。具体的には、ＣＰＵ１１が各ＣＰＵのＥＥＰＲＯＭ２１への書き込み処理に対応したパルスのデューティ比を更新する(処理Ａに対するパルスのデューティ比を５０％→８０％に変更、処理Ｂに対するデューティ比を５０％→２０％に変更)。そして、更新した各ＣＰＵの処理に対応したパルスのデューティ比はスタンバイＲＡＭ５１とスタンバイＲＡＭ５２へ保存される（Ｓ６０７）。
【００３３】
次に、デューティ比の更新のみでは処理負荷が適正とならない場合（Ｓ６０３がＮＯ）は、ＣＰＵ１１はパルス周期の更新を行う（Ｓ６０５）。なお、パルス周期の更新を行う際は、必要に応じてパルスのデューティ比の更新も行う（Ｓ６０６）。例えば、図１１に示すように図９のパルスの出力周期、及びデューティ比を更新する(出力周期４ｍｓ→８ｍｓに変更、処理Ａに対するパルスのデューティ比を５０％→８０％に変更、処理Ｂに対するデューティ比を５０％→２０％に変更)。そして、更新した各ＣＰＵの処理に対応したパルス信号のデューティ比はＲＡＭ５１とＲＡＭ５２へ保存される（Ｓ６０７）。これにより、各ＣＰＵのＥＥＰＲＯＭ２１に対する処理負荷に応じたパルス信号情報の調整を行うことが可能となる。
【００３４】
図１２はＥＣＵ内に設けられた各ＣＰＵがネットワークへデータの送信を行う構成であり、上述の図１の構成におけるＥＥＰＲＯＭ２１へ書き込み処理を開始するタイミングをネットワークへデータ送信開始のタイミングに置き換えたものである。そして、パルスの立ち上がりに基づいてＣＰＵ１１が処理データＡを送信し、パルスの立ち下がりに基づいてＣＰＵ１２が処理データＢをネットワークへ送信する処理を行う。また、各処理データの送信の開始は図２、図３、図４、図５、図６及び図８示したように行われ、処理タイミングの調整は、処理データの負荷に応じて図７、図９、図１０、及び図１１に示したようにパルスのデューティ比または周期を調整して行われる。これにより、ＣＰＵの処理負荷が減少し、中継を行う一のＣＰＵの処理が煩雑となることによるＣＰＵの処理に遅れを防止することができる。
【００３５】
さらに、本実施例では一連のパルス信号の立ち上がりを処理Ａの開始とし、パルス信号の立ち下がりを処理Ｂの開始としたが、これに限られるものではなく、一連のパルス信号のどのエッジ情報を処理の開始又は終了の条件としても良い。また、本実施例ではパルス信号の出力を一としたが、複数のパルス信号の出力に基づいたエッジ情報の組み合わせにより、ＣＰＵのスタンバイＲＡＭに保存した情報をＥＥＰＲＯＭへ書き込みを行っても良い。
【図面の簡単な説明】
【００３６】
【図１】複数のＣＰＵとＥＥＰＲＯＭを設けたＥＣＵの構成図。
【図２】一のＣＰＵがＥＥＰＲＯＭへアクセス処理を行うための初期設定のフローチ        ャート。
【図３】他のＣＰＵがＥＥＰＲＯＭへアクセス処理を行うための初期設定のフローチ        ャート。
【図４】スタンバイＲＡＭに保存されている情報をＥＥＰＲＯＭへ書き込む処理Ａが        パルスのエッジ情報と比較して遅れている場合の処理を示したフローチャー        ト
【図５】スタンバイＲＡＭに保存されている情報をＥＥＰＲＯＭへ書き込む処理Ｂが        パルスのエッジ情報と比較して遅れている場合の処理を示したフローチャー        ト
【図６】各ＣＰＵの処理がＥＥＰＲＯＭへ書込まれる際の動作を示したフローチャー        ト
【図７】各ＣＰＵが処理を行う中で所定周期ごとに実施されるＰＷＭ割込みにより、        各ＣＰＵのＥＥＰＲＯＭに対する書き込み処理の遅れが生じている場合に、パ        ルス信号のデューティ比または周期の更新が必要な場合にこれらの更新を行        い、その更新情報をスタンバイＲＡＭへ保存するフローチャート
【図８】各ＣＰＵがエッジ情報（パルスの立ち上がりとパルスの立ち下がりの情報）        に基づいて、スタンバイＲＡＭに記憶した各処理内容をＥＥＰＲＯＭに書き込        む処理の実施を示したタイムチャート。
【図９】パルスの立ち上がりと立ち下がりの時点よりも各処理の開始が遅れているこ      とを示すタイムチャート。
【図１０】複数ＣＰＵのパルスのデューティ比を変更して各処理の動きを示したタイ        ムチャート。
【図１１】複数ＣＰＵのパルスのデューティ比又は周期を変更して各処理の動きを示し        たタイムチャート
【図１２】ＥＣＵ内に設けられた複数のＣＰＵがネットワークへデータの送信を行う構        成。
【図１３】ＥＣＵ内に設けられたＣＰＵごとにＥＥＰＲＯＭ２２に接続されている構成。
【図１４】ＥＣＵ内の一のＣＰＵがＥＥＰＲＯＭと接続され、他のＣＰＵが一のＣＰＵ          を経由して、ＥＥＰＲＯＭへの処理を行う構成。
【図１５】ＥＣＵ内の一のＣＰＵからネットワークへデータを送信する場合に他のＣＰ        Ｕを中継した後、バスラインを介してネットワークへデータの送信を行う構成。
【符号の説明】
【００３７】
１・・・ＥＣＵ
１１、１２・・・ＣＰＵ
２１、２２・・・ＥＥＰＲＯＭ
５１、５２・・・スタンバイＲＡＭ
【図１】
2008165295.tif 000003
【図２】
2008165295.tif 000004
【図３】
2008165295.tif 000005
【図４】
2008165295.tif 000006
【図５】
2008165295.tif 000007
【図６】
2008165295.tif 000008
【図７】
2008165295.tif 000009
【図８】
2008165295.tif 000010
【図９】
2008165295.tif 000011
【図１０】
2008165295.tif 000012
【図１１】
2008165295.tif 000013
【図１２】
2008165295.tif 000014
【図１３】
2008165295.tif 000015
【図１４】
2008165295.tif 000016
【図１５】
2008165295.tif 000017