説明

情報処理装置

【課題】ハードウェア的に回路を用いて高速に処理を行なうに際し、予め決められた処理のみを行なうに限らず、簡素な構成にてソフトウェア的に柔軟に多様な処理を実現することができる情報処理装置を提供する。
【解決手段】夫々所定の遷移方法にて状態遷移するAction回路101,102,103,104,105を含むActionArray10が備えられ、決定回路11がToDoリスト12に基づきいずれかのAction回路101,102,103,104,105を起動し、夫々での状態遷移を基本として組み合わせられる状態遷移が実行される。そして、組み合わせられた状態遷移の中で特定の状態に遷移した場合に、所定の処理が実行される設計とすることにより、多様な機能が実現できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ハードウェア的に回路を用いて高速に処理を行なうに際し、予め決められた処理のみを行なうのではなく、簡素な構成にてソフトウェア的な柔軟で多様な処理を実現することができる情報処理装置に関する。
【背景技術】
【0002】
近年では、各種制御装置にFPGA(Field Programmable Gate Array)がよく用いられている。FPGAは、予め搭載された多数のゲート(トランジスタ)間の接続情報をユーザが自由にプログラムして書き込むことによって論理回路を実現し、所望の機能を実現する回路として動作させることができるものである。FPGAにより、設計を変更させて再度回路を構築させることができるなど、ハードウェア的処理を実現させるにも拘わらず処理内容を変更でき、ASIC(Application Specific Integrated Circuit:特定用途集積回路)又は特定の機能を実現させるICなどの開発段階も含み、様々な分野の制御装置で多用されている。
【0003】
例えば車両の分野では、制御が機械的制御から電気的制御へ移行し、車両内に多数の制御装置としてECU(Electronic Control Unit)が配され、各ECUがCAN(Controller Area Network)、LIN(Local Interconnect Network)、FlexRay(登録商標)などのプロトコルに従ってネットワークを介して情報を相互に交換し、協調・連携して多様な処理を行なう構成が一般的となっている。
【0004】
車両に搭載されるECUは、電気的な制御で実現される車両の機能自体が増加しているので数が増加する。車両に搭載されるECUを含むシステムのみならず、複数の制御装置で連携して処理を行なう通信システムでは、各制御装置に細分化された処理単位を分散させて実現することにより、故障、バグなどの問題が発生した場合の切り分け、対処を容易にして開発効率、保守性を向上させる工夫がされる場合がある。このように、通信システムに通信機器として含まれる制御装置の数は増加し、各制御装置間で協調・連携するために送受信されるデータの量は増加する傾向にある。
【0005】
このように、多数のECUでシステムを構成する場合、相互に送受信するデータの量は増加し、多くの機能を実現するために、各ECUでの処理は高速に行なわれることが望まれる。且つ、各ECUの構成は軽量化、低コスト化のために簡素にすることが望ましい。この場合、ECUの構成は、ソフトウェアをマイコン内のCPUが読み出して処理を実行する構成とするよりも、限定された処理を高速に行なう特定の回路を作製し、組み合わせてハードウェア的に処理する構成とする方が好ましいときがある。しかしながらこの際、ソフトウェアをCPUが読み出して実行する構成では、ソフトウェアプログラムを書き換えることで処理内容の変更ができるが、特定の回路を作製する場合には、設計変更することができない。そこで、複数の回路を組み合わせたハードウェア的な構成でありながら、書き換え可能な記憶手段にパラメータを記憶し、パラメータを変更することで処理内容を変更することができるECUが提案されている(特許文献1を参照)。このとき、夫々機能を発揮する特定の複数の回路が用いられているが、FPGAを利用してもよい旨が記載されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−312024号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ハードウェア化して高速化を図ると共に、処理内容を変更するためには、特許文献1に開示されているような構成でも実現できる。この場合、装置で実現する処理内容が予め定まっている上で設計される特定の回路を組み合わせ、パラメータを変更することで処理内容を変更する構成である。
【0008】
一方で装置の開発過程では、設計段階ではECUに要求される機能は決まっているものの処理内容が詳細に決定されていないにも拘わらず、ハードウェアの作製を進めなければならない場合もある。また、開発過程の途中で処理内容を追加したい場合などもある。このような場合、設計変更に応じてハードウェアを追加、作製し直すとなると装置の構成が複雑となったり、装置の簡素化が図れない。
【0009】
このような場合、FPGAを用いて設計変更可能な装置としてもよいが、システムに含まれる複数のECU夫々に、汎用性の高いFPGAを用いる構成では、各装置が高価となるなど現実的でない。
【0010】
各ECUは夫々特定の機能が割り振られるから、どのようにでも変更可能なFPGAを用いるよりも、ある程度機能を限定しつつ、且つ処理内容を変更することが可能なハードウェア構成にて実現することが望ましい。
【0011】
本発明は斯かる事情に鑑みてなされたものであり、ハードウェアにより処理を実行させつつ、予め設計された処理に限らず、処理内容を適宜変更すること、遂次適切なタイミングで処理を実行することなどを可能とし、簡素な構成にてソフトウェア的な柔軟で多様な処理を実現することができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0012】
第1発明に係る情報処理装置は、イベントの発生に応じて特定の機能を実現する処理を実行する情報処理装置において、トリガの入力により、夫々異なる遷移方法にて状態を遷移させる複数の状態遷移回路と、イベントの発生を検知し、発生したイベントに応じて前記複数の状態遷移回路の内のいずれにトリガを入力するかを決定する決定回路と、実現される機能毎に、前記複数の状態遷移回路の内の一又は複数の組み合わせ、及び、対応するイベントのリストを書き換え可能に記憶する手段と、前記状態遷移回路により特定の状態に遷移された場合に特定の処理を実行する実行手段とを備え、前記決定回路は、前記リストに基づきいずれの状態遷移回路にトリガを入力するかを決定するようにしてあることを特徴とする。
【0013】
図1及び図2は、本発明に係る情報処理装置に関し、基本の状態遷移の組み合わせにより多様な機能が実現されることを概略的に示す説明図である。なお、図1及び図2に示す例は、例示であって本発明に係る情報処理装置の内容は以下の機能に限定されるものではない。
【0014】
図1は、機能A〜Eを夫々実現するための状態遷移とそのトリガを示し、各状態遷移を分析して得られる基本の要素となる状態遷移を示している。図2は、図1に示した各機能A〜Eを実現する状態遷移の基本要素をまとめて示している。
【0015】
図1に示す例の内の機能Aは、データの受信に対して間引いて送信する機能である。当該機能は、初期的には状態「0」にあって、データを受信する都度に状態が「0」から「1」へ、「1」から「2」へ遷移し、状態「2」では受信しても状態は変わらず、所定時間が経過する都度に状態が「2」から「1」へ、「1」から「0」へ遷移するようにし、状態が「1」の場合のみに送信のactionを実行し、且つ状態「1」又は「2」へ遷移したときに時間計測を開始する設計により実現できる。この場合、状態「0」から「1」へ、「1」から「2」への状態遷移の条件はデータの受信であり、状態「2」から「1」へ及び「1」から「0」への状態遷移の条件は所定時間の経過である。この状態遷移は、要素aと要素bとに分離できる。
【0016】
機能Bは、周期的なデータの受信に際して、正常に周期的に受信できている場合には最初の1回のみ当該データを送信し、一定時間を経過しても受信できない場合には、データ受信の再開時に1回送信するという機能である。当該機能は、初期的には状態「0」にあって受信する都度に状態が「0」から「1」へ、「1」から「2」へ遷移し、状態「2」では受信しても状態は変わらず、状態が「1」の場合のみに送信のactionを実行し、状態「1」又は「2」へ遷移したときに時間計測を開始して一定時間が経過した場合はいずれの状態にあっても「0」へ遷移する設計により実現できる。この場合も、「0」から「1」へ、「1」から「2」への状態遷移の条件はデータの受信であり、状態「0」への状態遷移の条件は所定時間の経過である。この状態遷移は、要素cと要素dとに分離できる。
【0017】
機能Cは、データ値が上限値PU以上を満たすように変化する都度、最初の1回のみ当該データを送信し、その後下限値PL未満に戻った後は再度上限値PU以上を満たすまで待機する機能である。当該機能は、初期的には状態「0」にあってデータ値が上限値PU以上を満たした場合に状態「1」へ遷移し、下限値PL未満となった場合に状態「0」へ遷移する以外は状態「2」にあるようにし、状態が「1」の場合のみに送信のactionを実行する設計により実現できる。この場合、状態「0」から「1」への状態遷移での条件は上限値PU以上を満たすこと、「1」から「2」への遷移の条件は受信、又はデータ値変化など何でも、状態「0」への状態遷移の条件は下限値PL未満を満たすことである。この状態遷移は要素eと要素fとに分離できる。
【0018】
機能Dは、データ値が下限値PL未満を満たすように変化する都度、最初の1回のみ当該データを送信し、その後上限値PU以上に戻った後は再度下限値PL未満を満たすまで待機する機能である。当該機能は、初期的には状態「0」にあってデータ値が下限値PL未満を満たした場合に状態「1」へ遷移し、上限値PU以上となった場合に状態「0」へ遷移する以外は状態「2」にあるようにし、状態が「1」の場合のみに送信のactionを実行する設計により実現できる。この場合、状態「0」から「1」への状態遷移の条件は下限値PL未満を満たすこと、「1」から「2」への遷移の条件は受信、又はデータ値変化など何でも、状態「0」への状態遷移の条件は上限値PU以上を満たすことである。この状態遷移は要素gと要素hとに分離できる。
【0019】
機能Eは、データの送信可を受信している場合であって、且つデータ値が上限値PU以上を満たす場合のみに当該データを送信する機能である。当該機能は、初期的には状態「00」にあってデータの送信可を受信した場合には「10」又は「11」へ遷移し、送信不可を受信した場合には状態「00」又は「01」へ遷移し、データ値が上限値PU以上となった場合に状態「11」又は「01」へ遷移し、下限値PL未満となった場合に状態「10」又は「00」へ遷移するようにし、状態が「11」の場合のみに送信のactionを実行する設計により実現できる。この場合、状態「*0」から「*1」(*は0又は1)への状態遷移の条件は上限値PU以上を満たすこと、「*1」から「*0」への状態遷移条件は下限値PL未満を満たすこと、「0*」から「1*」への状態遷移条件は送信可の受信、「1*」から「0*」への状態遷移条件は送信不可の受信である。この状態遷移は要素iと要素jと要素kとに分離できる。
【0020】
このように複数の通信機能は、状態遷移と特定の状態(「1」又は「11」)のみにおける送信処理とにより実現できるが、各機能A〜Eにおける状態遷移の要素を分析すると、要素a,c,e,gと、要素bと、要素d,f,h,jと、要素iと、要素kとの5つに分けることができる。これをまとめると、図2に示すような基本状態遷移1〜5(1:要素k、2:要素i、3:要素d,f,h,j、4:要素a,c,e,g、5:要素b)とすることが可能である。各要素a〜kは、各基本状態遷移1〜5における状態遷移条件Xを、データを受信したこと、データの値が上限値PU異常、下限値PL未満を満たしたことなどにすることによって表わされる。
【0021】
上述の機能A〜Eを実現する通信装置を実現する場合、機能A〜Eを夫々実現するように状態遷移する回路を備えてもよい。しかしながらこの場合、図2に示したような単純な基本状態遷移に分類できるにも拘らず、より複雑な状態遷移を実現する論理回路を、機能毎に作製する必要が生じる。更に、機能の詳細が決定されるまでは各々の論理回路を作製できない上、運用中は他の機能に兼用させることができない。
【0022】
通信装置、判定装置、特定のアクチュエータの制御装置などのように、特定の機能を発揮する情報処理装置であれば、共通する状態遷移即ち基本となる状態遷移は自ずと数が限られる。したがって、第1発明に係る情報処理装置では、図2に示したような基本となる状態遷移を夫々実行する状態遷移回路を基本として備え、それらの組み合わせを記憶したリストを参照する決定回路により、状態遷移回路夫々にトリガを入力し、多様な状態遷移を実現する。特定の状態に遷移した場合に所定の処理を実行すべく構成することにより、基本の状態遷移の組み合わせにより多様な機能を実現することが可能である。
【0023】
第2発明に係る情報処理装置は、実現する機能毎に状態及び状態遷移条件を記憶する手段を備え、前記決定回路はトリガを入力するに際し、入力するトリガに係るイベントが対応する機能を、状態遷移回路へ通知するようにしてあり、前記状態遷移回路は、通知された機能に対応する状態及び状態遷移条件に応じて状態を遷移させ、状態を遷移させた場合、前記記憶する手段にて記憶してある前記機能に対応する状態を遷移先の状態に書き換えるようにしてあることを特徴とする。
【0024】
第2発明では、第1発明にて多様な機能を実現するに際し、機能毎に状態、状態遷移条件を記憶しておき、決定回路からトリガが入力された場合に、該トリガに係るイベントに対応する機能の通知を受けて、機能毎に記憶されてある状態及び状態遷移条件を参照し、状態遷移条件を満たす場合には当該機能における状態を、遷移先の状態に書き換えることによって状態を遷移させる。
【0025】
つまり、図2に示す基本状態遷移における状態遷移条件Xを、機能毎に記憶しておき、機能毎に状態を記憶しておく。例えば機能Aを実現するためには、基本状態遷移4と5を実行する回路を用いる。一方の基本状態遷移4を実行する回路は、図1における機能Aの通知と共にトリガが入力された際には、機能Aにおける状態を参照して状態が「0」、「1」又は「2」なのかを認識し、更に、機能Aの場合の状態遷移条件Xを参照する。基本状態遷移4を実行する回路は、状態が「0」である場合、「1」への状態遷移条件Xはデータの受信であるからこれを満たすか否かによって状態を「1」に書き換える。そして、更にデータを受信するなどによって、再度機能Aのためのトリガが入力された場合は状態を「2」に書き換える。他方の基本状態遷移5における状態遷移条件Xは、所定時間経過としておき、基本状態遷移5を実行する回路は機能Aに対応するトリガが入力された際に、同様に機能Aにおける状態を参照して認識し、状態が「2」である場合、「1」への状態遷移条件Xは所定時間経過であるからこれを満たす場合に状態を「1」に書き換える。
【0026】
このように、各基本状態遷移を実行する状態遷移回路では、いずれの機能のためにも利用できるが、いずれの機能にも専属することなく多様な機能を実現するために用いることができる。事後的に新たな機能を実現したい場合であっても、基本状態遷移の組み合わせと、各基本状態遷移における状態遷移条件にて実現できる特定の機能であるときには、当該機能を実現する状態遷移回路の組み合わせをリストに加え、当該対応する状態と、状態遷移機能とを追加して記憶しておくことにより、決定回路にてリストと状態及び状態遷移条件とを参照して所望の状態遷移により機能を実現できる。
【0027】
第3発明に係る情報処理装置は、機能毎にトリガを入力する順序、タイミング、又は入力するまでの待機時間を記憶する手段を備え、前記決定回路は、発生したイベント、及び記憶されてある順序、タイミング、又は待機時間に応じてトリガを入力するようにしてあることを特徴とする。
【0028】
第3発明では、第1発明又は第2発明において、各状態遷移回路にて状態遷移を実行させるタイミングを特定するスケジュール(順序、タイミング、待機時間)が記憶される。つまり、同一のイベントに対して複数の機能が対応する場合、いずれの機能を優先して順に実行するかを適宜記憶しておけばよい。これにより、スケジュールの書き換えによって、適宜自由度の高い順序、又はタイミングにて各種機能に対応する状態遷移のタイミングが決まるから、ハードウェアを用いても柔軟に多様な処理を実現することができる。
【0029】
第4発明に係る情報処理装置は、数値情報又は文字列を含むデータを送受信する手段と、受信したデータのデータベースへの記録、又は更新を実行する手段と、実現される機能毎に、関係するデータを特定する情報を記憶する手段とを備え、前記状態遷移条件は、前記データベースに記録されている各機能に関係するデータに対する上限置、下限値、又は判定基準を含むパラメータであり、前記状態遷移回路は、通知された機能に対応するデータと前記パラメータとを比較し、比較結果に応じて状態を遷移させるようにしてあり、前記実行手段は、機能毎に、特定の状態に遷移した場合に前記データベースから関係するデータを抽出して送信するようにしてあることを特徴とする。
【0030】
第4発明では、情報処理装置における特定の処理をデータの送信とし、特定の処理を実行するに際してのイベントを、データの受信、又は受信したデータが記録されるデータベースにおけるデータに含まれる数値情報又は判定値などの変化とする。これにより、基本状態遷移を実行する複数の状態遷移回路を組み合わせるハードウェア的な構成により、データベースにおけるデータの値が所定の値となった場合、又は所定の判定値となった場合のみに当該データを送信するなど、柔軟な通信処理が実現できる。
【発明の効果】
【0031】
本発明による場合、基本的な限定された状態遷移を行なう回路を用いる簡素な構成にて、情報処理装置の設計段階で実現されるべき処理全てが確定していなくとも装置を作製しておき、前記回路の組み合わせ、状態遷移の条件などをリストにて書き換え可能に記憶することにより、複雑な状態遷移を行なえるようにして多様な機能を実現することができる。この際、基本の回路は簡素である上、多様な機能の実現に兼用できるから装置の構成も簡素とすることができる。このように、ハードウェア的に回路を用いて高速に処理を行ないつつ、ソフトウェア的に柔軟に、多様な処理を実現することができる。
【図面の簡単な説明】
【0032】
【図1】本発明に係る情報処理装置に関し、基本の状態遷移の組み合わせにより多様な機能が実現されることを概略的に示す説明図である。
【図2】本発明に係る情報処理装置に関し、基本の状態遷移の組み合わせにより多様な機能が実現されることを概略的に示す説明図である。
【図3】本実施の形態における中継装置の構成を示すブロック図である。
【図4】本実施の形態における中継装置のToDoリストの内容例を示す説明図である。
【図5】本実施の形態における中継装置のRAMに記憶されている機能毎の状態と状態遷移条件の内容例を示す説明図である。
【図6】本実施の形態における中継装置のToDoリストに含まれるスケジュールの内容例を示す説明図である。
【発明を実施するための形態】
【0033】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。なお、以下に示す実施の形態では、車両に多数搭載され、相互に通信する手段を持つECUと接続し、ECU間のデータの送受信を中継する中継装置に適用した例を挙げて説明する。
【0034】
車両には夫々固有の機能を実現するECUが複数接続されて相互にデータを送受信し、連携して種々の機能を実現する車載LANが搭載される。図3は、本実施の形態における中継装置の構成を示すブロック図である。図3に示す中継装置1は、車載LANに含まれ、ECU間のデータの送受信を中継する。なお中継装置1は、ECUから送信されるデータを一旦データベース15に記録し、記録したデータの値が変化した場合にデータを送信するなど、柔軟なタイミングにてデータを送信するように構成される。データを各ECUから受信する都度に、データの値が変化していないにも拘らず全て他のECUへ転送する構成の場合、装置の機構を単純化することができるが、車載LANにおける通信量が増加し、データの遅延、輻輳などの可能性が高くなる。本実施の形態における中継装置1は、データベース15から適宜必要となるタイミングでデータを送信する構成により、通信量を削減し車載LANにおける通信効率を向上させることができる。
【0035】
そこで中継装置1では、データの値が変化したか否かなどの判断が適宜必要である。更に、中継処理はデータの内容によっては高速な処理が必要である。このため、本実施の形態における中継装置1では、以下のように構成される。
【0036】
中継装置1は、ActionArray10と、決定回路11と、ToDoリスト12と、ROM(Read Only Memory)13と、RAM(Random Access Memory)14と、データベース15と、インタフェース(以下、I/Fという)16と、通信部17と、送信実行部18とを含んで構成される。
【0037】
ActionArray10は、夫々所定の遷移方法による状態遷移を実行するAction回路101,102,103,104,105が形成された集積回路である。本実施の形態におけるAction回路101,102,103,104,105は夫々、演算素子の集合であって、入力されるトリガに対し、状態遷移条件Xに基づき図2の基本状態遷移1〜5を実行するようにしてある。
【0038】
決定回路11は、ActionArray10のAction回路101,102,103,104,105のいずれにトリガを入力し、即ちいずれを起動するかを決定する回路である。決定回路11はI/F16に接続されており、外部からのデータ受信などをイベントとして検知し、検知したイベントの内容に応じていずれのAction回路101,102,103,104,105を起動するかを決定する。決定回路11はイベントとして他に、タイマーによって計られる時間が経過したこと、データベース15の内容が更新されたこと、Action回路101,102,103,104,105のいずれかでの状態遷移が終了したことなどを検知してもよい。なおタイマーは決定回路11に内蔵するタイマーでも、外部のタイマーでもよいし、Action回路101,102,103,104,105のいずれかで内蔵するタイマーからの通知を検知する構成でもよい。
【0039】
ToDoリスト12は、フラッシュメモリ、EEPROM(Electrically Erasable Programmable ROM)など書き換え可能なメモリを用い、決定回路11がAction回路101,102,103,104,105のいずれを起動するかを決定するための情報が記憶されている。具体的には、中継装置1にて実装される機能毎に、当該機能を実現するための状態遷移の要素、即ちAction回路101,102,103,104,105の組み合わせが記述されている。更に、その組み合わせのAction回路101,102,103,104,105を起動する条件のイベントも記述されている。
【0040】
ROM13は、フラッシュメモリ又はEEPROMなどを用い、Action回路101,102,103,104,105の一部又は全部から参照可能に構成されてある。Action回路101,102,103,104,105は、夫々の状態遷移の際に、ROM13に記載されている情報に基づいて、遷移するか否かを判定してもよい。
【0041】
RAM14は、DRAM(Dynamic RAM)、SRAM(Static RAM)などを用い、Action回路101,102,103,104,105の一部又は全部から参照可能に構成されてある。RAM14には、実現される機能毎の現在の状態、状態遷移条件が記憶されている。Action回路101,102,103,104,105は自身の起動により各機能について状態を遷移する場合は、RAM14中に記憶されている状態を遷移先の状態に書き換える。状態遷移条件は、機能毎にROM13に記憶されていてもよい。
【0042】
データベース15は、DRAM、SRAMなどを用い、Action回路101,102,103,104,105の一部又は全部から参照可能に構成されてある。データベース15には、中継装置1が通信部17により接続されるECUから受信したデータが記録される。同一のデータが繰り返し送信される場合はそれらのデータは、新たに送信されたデータによって更新される。データベース15への記録処理は、図示しない他の特定の回路にて実現する。Action回路101,102,103,104,105の一部又は全部は、データベース15に記録されているデータの値を参照し、ROM13又はRAM14に記憶されている状態遷移条件に係るパラメータと比較し、状態遷移条件を満たすか否かなどの判断を行なう。
【0043】
I/F16は、中継装置1と外部とのデータ、信号の入出力を実現する。図3に示す構成では、I/F16には通信部17のみ接続されているが、他に、通信でなく直接的に信号を入出力する装置(ECU、センサなど)との間の信号線が接続される構成としてもよい。Action回路101,102,103,104,105の一部又は全部がI/F16に接続されて、外部との入出力に基づいて状態遷移を実行する構成としてもよい。
【0044】
通信部17は、ネットワークコントローラ及びトランシーバを含み、中継装置1が接続されるネットワークにおける通信を実現する。通信部17は、ネットワークからデータを受信した場合、これを検知してI/F16を介して決定回路11に通知し、データベース15への記録処理を行なう他の特定回路(図示せず)へも通知する。また、通信部17は、I/F16を介して、送信実行部18から入力されるデータをネットワークへ送信する。
【0045】
送信実行部18は、RAM14を参照して、各機能の状態が特定の状態に遷移したか否かを監視しており、各機能の特定の状態にある場合に当該機能に応じたデータをデータベース15から読み出してI/F16及び通信部17を介してネットワークへ送信する機能を実現する。送信実行部18は、ActionArray10に含まれる1つのAction回路として、Action回路101,102,103,104,105とは別に実装されてもよい。
【0046】
次に、上述したToDoリスト12、及びRAM14に記憶される情報の内容例について説明する。
【0047】
図4は、本実施の形態における中継装置1のToDoリスト12の内容例を示す説明図である。図4に示すように、ToDoリスト12として各機能(図1参照)に対応させて、Action回路101,102,103,104,105を起動する際のイベント、及び起動させるAction回路101,102,103,103,105の識別情報が記憶されている。
【0048】
図4の例では、機能A、即ち間引き送信機能を実現するためには、データの受信及び所定時間の経過のイベント発生が検知された場合に、Action回路104及びAction回路105を起動すべく夫々にトリガを入力すべきであることがToDoリスト12に記述されている。より厳密には、データ受信のイベント発生が検知された場合はAction回路104を、所定時間経過のイベント発生が検知された場合はAction回路105を起動させることが記述される。同様に、機能Bのためには、データの受信及び時間の経過のイベント発生が検知された場合に、Action回路103及びAction回路104を起動することが記述されている。厳密には、データ受信のイベント発生が検知された場合はAction回路104を、所定時間経過のイベント発生が検知された場合はAction回路103を起動させることが記述される。
【0049】
機能Cのためには、イベント発生を検知した場合は内容によらずAction回路103及びAction回路104を起動することが記述され、機能DのためにはAction回路103及びAction回路104を起動することが記述され、機能Dのためには、Action回路101,102,103を起動することが記述されている。
【0050】
図5は、本実施の形態における中継装置1のRAM14に記憶されている機能毎の状態と状態遷移条件の内容例を示す説明図である。各ブロックの左に示されている数字は、RAM14内におけるアドレスを表わし、各ブロックはRAM14に記憶されている内容を示している。
【0051】
図5に示す内容例では、アドレス「10」に機能Aに対応する状態及び状態遷移条件が記憶されており、アドレス「20」に機能Bに対応する状態及び状態遷移条件が記憶されており、アドレス「30」に機能Cに対応する状態及び状態遷移条件が記憶されており、アドレス「40」に機能Dに対応する状態及び状態遷移条件が記憶されており、アドレス「50」に機能Eに対応する状態及び状態遷移条件が記憶されている。
【0052】
図5に示す内容例の場合は、機能Bの現在の状態は「0」である。そして、機能Bに対応する回路はAction回路103とAction回路104である(図4参照)。Action回路103は機能Bに対応するイベントの内、タイマーにより所定時間が経過したと検知された場合にトリガが入力されて起動し、機能Bに対応する特定のデータの値Dがどのような値でも(値がゼロ以上)、状態「0」へ遷移する。Action回路104は機能Bに対応するイベントの内、データの受信が検知された場合にトリガが入力されて起動し、機能Bに対応するデータの値Dがどのような値でも、状態「0」から状態「1」へ遷移し、状態「1」から状態「2」へ遷移する。
【0053】
また、図5に示す内容例の場合、機能Cの現在の状態は「0」である。そして、機能Cに対応する回路も、機能B同様に、Action回路103とAction回路104である(図4参照)。Action回路103は、機能Cに対応するイベントが検知された場合、即ち任意のタイミングでトリガが入力されて起動し、機能Cに対応する特定のデータの値Dが下限値PL未満であるときのみ(D<PL)、どの状態からでも状態「0」へ遷移する。Action回路104では機能Cに対応するイベントに応じてトリガが入力されて起動した場合、機能Cに対応する特定のデータの値Dが上限置PU以上であるときのみ(D≧PU)、状態「0」から状態「1」へ遷移し、状態「1」から状態「2」へ遷移する。
【0054】
更に、図5に示す内容例の場合、機能Eの現在の状態は「0」である。機能Eに対応する回路はAction回路101,102及び103である(図4参照)。Action回路101は、機能Eに対応するイベントが検知された場合、即ち任意のタイミングでトリガが入力されて起動し、機能Eに対応する特定のデータの情報Dが「送信可」を示すときのみ状態「0」から「1」へ遷移し、「送信不可」を示すときのみ状態「1」から「0」へ遷移する。Action回路102では、機能Eに対応する特定のデータの値Dが上限置PU以上であるときのみ(D≧PU)、状態「1」へ遷移し、Action回路103では、特定のデータの値Dが下限値PL未満であるときのみ(D<PL)、状態「0」へ遷移する。
【0055】
このように、機能毎に状態と状態遷移条件とが記憶されることによって、例えば同一のAction回路103,104が異なる機能に応じて夫々起動されるに際し、機能によって状態遷移条件が異なるから、異なる状態遷移を実現させることが可能である。
【0056】
このように構成される中継装置1において、各機能が実現される例を具体的に説明する。
【0057】
まず、機能A、即ち間引き送信機能が実現される例を説明する。
機能Aには、Action回路104及び105が対応する(図4参照)。機能Aに対応する状態は、初期的には図5に示したように「0」である。つまり、機能Aの状態が記憶してあるRAM14のアドレス「10」には、初期的に「0」が記憶されている。
【0058】
決定回路11は、通信部17を介したデータの受信、又は内蔵するタイマーにて所定時間経過の通知のイベント発生を検知した場合に、ToDoリスト12を参照し、データの受信の場合はAction回路104へ、所定時間経過の通知の場合はAction回路105へトリガを入力すべきことを認識する。まず決定回路11は、Action回路104にトリガを入力して起動させ、機能Aに対応することを通知する。
【0059】
Action回路104では、機能Aに対応して起動したことを通知により認識し、RAM14から機能Aの状態「0」をアドレス「10」から読み出す。Action回路104は、図2の基本状態遷移「4」の方法で状態遷移するが、機能Aに対応する状態遷移条件Xは「どのような値でも」であるから(図5参照)、どのような場合でも遷移する。したがって、Action回路104は機能Aに関して状態「0」から「1」へ遷移する。具体的には、Action回路104は、機能Aの状態が記憶されているRAM14のアドレス「10」の「0」を「1」に書き換え、終了する。
【0060】
RAM14における機能Aの状態が「1」である場合、送信実行部18がこれを検知して機能Aに対応するデータ、例えば受信して記録したデータをデータベース15から読み出してI/F16及び通信部17を介して送信する。
【0061】
次のタイミングに再度データの受信が検知された場合、決定回路11により機能Aに関してAction回路104にトリガが入力される。Action回路104では、再度機能Aに対応して起動したことを通知により認識し、RAM14から機能Aの状態「1」を読み出す。このとき図2の基本状態遷移「4」では、無条件に「2」へ状態遷移するから、Action回路104は機能Aに関してRAM14のアドレス「10」の「1」を「2」へ書き換え、終了する。
【0062】
RAM14における機能Aの状態が「2」である場合は、このようにデータ受信のイベント発生が検知されたとしても送信実行部18による送信処理はされない。
【0063】
別のタイミングに、決定回路11にて機能Aに関するタイマーから所定時間経過のイベント発生を検知した場合、決定回路11はToDoリスト12を参照してAction回路105へトリガを入力すべきことを認識する。
【0064】
Action回路105では、機能Aに対応して起動したことを決定回路11からの通知により認識し、RAM14から機能Aの状態「2」を読み出す。Action回路105は図2の基本状態遷移「5」の方法で状態遷移するが、機能Aに対応する状態遷移条件Xは状態「どのような値でも」、即ちどのような場合でも遷移する。したがって、Action回路105は機能Aに関して状態「2」から「1」へ遷移する。つまり、Action回路105は機能Aに関してRAM14のアドレス「10」の「2」を「1」へ書き換え、終了する。
【0065】
これにより、機能Aの状態が時間経過により再度「1」となるので、送信実行部18により機能Aに対応するデータの送信が実行される。
【0066】
このように、決定回路11とAction回路104及び105の状態遷移とにより、データが受信されたとしても毎回は送信せず、頻繁に受信する場合は所定時間が経過した際、所定時間が経過した後に受信したときなどに送信するという間引き送信機能が実現できる。
【0067】
次に、機能Cが実現される例を説明する。
機能Cには、Action回路103及び104が対応する(図4参照)。機能Cに対応する状態は、初期的には図5に示したように「0」である。つまり、機能Cの状態が記憶してあるRAM14のアドレス「30」には、初期的に「0」が記憶されている。
【0068】
決定回路11は、任意のタイミングでToDoリスト12を参照し、機能Cを実現するに際してはAction回路103及び104へトリガを入力すべきことを認識する。まず、決定回路11は、Action回路103にトリガを入力して起動させ、機能Cに対応することを通知するとする。
【0069】
Action回路103は、機能機能Cに対応して起動したことを通知により認識し、RAM14から機能Cの状態「0」をアドレス「30」から読み出す。Action回路103は、図2の基本状態遷移「3」の方法で状態遷移するが、現在の状態が「0」であるからそのまま終了する。
【0070】
次に決定回路11は、Action回路104にトリガを入力して起動させ、機能Cに対応することを通知する。
【0071】
Action回路104は、機能Cに対応して起動したことを通知により認識し、RAM14から機能Cの状態「0」をアドレス「30」から読み出す。Action回路104は、図2の基本状態遷移「4」の方法で状態遷移するが、機能Cに対する状態遷移条件Xは「データの値Dが上限値PU以上である場合(D≧PU)」である。Action回路104は、機能Cに対応する特定のデータをデータベース15から特定し、その値Dと、機能Cに対応する上限値PUとしてROM13に記憶してある値と比較する。Action回路104は、比較結果に基づき、データの値Dが上限値PU以上であると判断されるときのみ、状態「1」へ遷移し、機能Cの状態が記憶されているRAM14のアドレス「30」の「0」を「1」に書き換え、終了する。データの値Dが上限値PU以上であると判断されるとき以外は、状態は「0」のままとなる。
【0072】
RAM14における機能Cの状態が「1」である場合、送信実行部18がこれを検知して機能Cに対応するデータ、例えば値Dが上限値PU以上を満たした当該データをデータベース15から読み出してI/F16及び通信部17を介して送信する。
【0073】
次の任意のタイミングで決定回路11は、再度Action回路103へトリガを入力して起動させる。Action回路103ではRAM14から機能Cの状態「1」を読み出す。機能Cに対するAction回路103の状態遷移条件Xは「データの値Dが下限値PL未満である場合(D<PL)」である。Action回路103は、機能Cに対応する特定のデータ、即ち先ほど値が上限値PU以上を満たした当該データをデータベース15から特定し、機能Cに対応する下限値PLとしてROM13に記憶してある値と比較する。Action回路103は、今度は外部から受信されてデータベース15にて更新されるなどにより当該データの値が変化して下限値PL未満となったと判断される場合のみ、状態「0」へ遷移し、機能Cの状態が記憶されているRAM14のアドレス「30」の「1」を「0」に書き換え、終了する。
【0074】
なお、次の任意のタイミングでも決定経路11は、再度Action回路104へトリガを入力して起動させる。Action回路104は、起動してRAM14に記憶してある機能Cの状態が状態「1」である場合は、条件なしに状態を「2」へ書き換えて終了する。
【0075】
したがって、データの値Dが下限値PL未満でなかった場合は、Action回路104における状態遷移が実行されて機能Cの状態は「2」へ遷移する。
【0076】
RAM14における機能Cの状態が「2」である場合は、送信実行部18による送信処理はされない。
【0077】
更に次の任意のタイミングでAction回路103が起動した場合、データの値Dが下限値PL未満であった場合には、Action回路103が対応する基本状態遷移「3」に基づいて機能Cの状態は「2」から「0」へ遷移する。
【0078】
このようにして、データベース15における機能Cに対応する特定のデータの値Dが上限値PU以上となった最初の1回のみ、送信が実行され、その後は下限値PLを下回るまでは送信されず、下限値PLを下回って再度上限値PU以上となったときにまた送信されるという複雑な送信機能が実現できる。
【0079】
他の機能B,D,Eについても同様であるから詳細な説明は省略する。いずれの機能についても、決定回路11がToDoリスト12に基づいていずれかのAction回路101,102,103,104,105へトリガを入力して起動させ、各Action回路101,102,103,104,105が機能に応じた状態と、遷移条件とを参照し、図2の基本状態遷移の方法にて状態遷移する。これにより、図1に示したように機能毎に夫々異なる複雑な状態遷移が実現され、所望のタイミングでの送信のActionが実現できる。
【0080】
このようにして、図2に示す5つの基本状態遷移1〜5の組み合わせと、夫々における状態遷移条件Xの内容により、種々の機能、つまり上述の例では中継装置1によるデータの中継処理という特定の機能が実現される。ToDoリスト12、ROM13、及びRAM14に記憶する内容を適宜変更することにより、図1に示した以外に、図2に示した基本状態遷移の組み合わせによって他の機能を実現する状態遷移を実行することができる。したがって、Action回路101,102,103,104,105は、中継装置1以外の機能を実現するためにも再利用可能である。基本状態遷移は図2に示す例に限らないことは勿論のことである。
【0081】
なお、決定回路11が参照するToDoリスト12には、各機能A〜Eを実現する順序、又はタイミングを示すスケジュールが含まれていてもよい。図6は、本実施の形態における中継装置1のToDoリスト12に含まれるスケジュールの内容例を示す説明図である。
【0082】
図6には、機能Aの後に、待機(Wait)が入っており、その後機能B,C,Dの順に実行した後に待機が入り、その後機能Eを実行するスケジュールが示されている。例えば機能B,C,Dは図4に示すように、同じAction回路103及び104が対応するから、トリガを入力するきっかけのイベントが「any」である場合などは特に、いずれの機能について優先的に処理させるかの基準が必要である。ToDoリスト12に図6に示すようなスケジュールが記憶されていることにより、決定回路11は、いずれの機能を優先的に実現すべく、Action回路101,102,103,104,105にトリガを入力すべきかを判断できる。
【0083】
図6に示すようなスケジュールが記憶されている場合、決定回路11はデータの受信があった際にはまず対応する機能AについてAction回路104を起動させ、所定時間待機後に、機能BについてAction回路104を起動させ、次に機能C,Dに順に対応させてAction回路103及びAction回路104を夫々起動させ、再度待機後に、機能Cに対応させてAction回路101,102,103を起動させる。
【0084】
図6に示した例では、各機能A〜Eの順序と、待機か否かのみが記憶されているが、待機の場合には所望の待機時間が記憶されてもよいし、各機能A〜Eが夫々特定のタイミングで実行されるべく、タイミングが記憶されていてもよい。
【0085】
スケジュールが書き換えられることによって、適宜自由度の高い順序、又はタイミングにて各種機能に対応する状態遷移のタイミングが決まる。したがって、本実施の形態の中継装置1では、ハードウェアを用いても柔軟に多様な処理を実現することができる。
【0086】
本実施の形態では、本発明に係る情報処理装置の構成を車載LANにおける中継装置1に適用する構成とした。しかしながら、これに限らず、ECUの通信機能にAction回路を複数含むActionArrayと決定回路とを適用してもよい。更に、車載LANに限らず、他の多様な分野において制御装置の制御回路にFPGAを用いるように、ActionArrayと決定回路とを適用して、ハードウェア的な処理を柔軟に実現してもよい。限られた特有の機能を実現するような制御装置では、基本となる状態遷移の組み合わせにて、その限られた機能をほとんど実現できる場合が多い。したがって、そのような制御装置において、ソフトウェアを読み出してマイコンが処理を実行する構成の代わり、又は制御装置における処理の一部に、本発明に係るActionArrayを適用することによって簡素な構成で高速な処理を柔軟に多様に実現できるなどの優れた効果を奏する。
【0087】
なお、開示された実施の形態は、全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上述の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【0088】
1 中継装置
10 ActionArray
101,102,103,104,105 Action回路(状態遷移回路)
11 決定回路
12 ToDoリスト(リスト)
15 データベース
18 送信実行部

【特許請求の範囲】
【請求項1】
イベントの発生に応じて特定の機能を実現する処理を実行する情報処理装置において、
トリガの入力により、夫々異なる遷移方法にて状態を遷移させる複数の状態遷移回路と、
イベントの発生を検知し、発生したイベントに応じて前記複数の状態遷移回路の内のいずれにトリガを入力するかを決定する決定回路と、
実現される機能毎に、前記複数の状態遷移回路の内の一又は複数の組み合わせ、及び、対応するイベントのリストを書き換え可能に記憶する手段と、
前記状態遷移回路により特定の状態に遷移された場合に特定の処理を実行する実行手段と
を備え、
前記決定回路は、前記リストに基づきいずれの状態遷移回路にトリガを入力するかを決定するようにしてあること
を特徴とする情報処理装置。
【請求項2】
実現する機能毎に状態及び状態遷移条件を記憶する手段を備え、
前記決定回路はトリガを入力するに際し、入力するトリガに係るイベントが対応する機能を、状態遷移回路へ通知するようにしてあり、
前記状態遷移回路は、通知された機能に対応する状態及び状態遷移条件に応じて状態を遷移させ、状態を遷移させた場合、前記記憶する手段にて記憶してある前記機能に対応する状態を遷移先の状態に書き換えるようにしてあること
を特徴とする請求項1に記載の情報処理装置。
【請求項3】
機能毎にトリガを入力する順序、タイミング、又は入力するまでの待機時間を記憶する手段を備え、
前記決定回路は、発生したイベント、及び記憶されてある順序、タイミング、又は待機時間に応じてトリガを入力するようにしてあること
を特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
数値情報又は文字列を含むデータを送受信する手段と、
受信したデータのデータベースへの記録、又は更新を実行する手段と、
実現される機能毎に、関係するデータを特定する情報を記憶する手段と
を備え、
前記状態遷移条件は、前記データベースに記録されている各機能に関係するデータに対する上限置、下限値、又は判定基準を含むパラメータであり、
前記状態遷移回路は、通知された機能に対応するデータと前記パラメータとを比較し、比較結果に応じて状態を遷移させるようにしてあり、
前記実行手段は、機能毎に、特定の状態に遷移した場合に前記データベースから関係するデータを抽出して送信するようにしてあること
を特徴とする請求項2に記載の情報処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2010−193000(P2010−193000A)
【公開日】平成22年9月2日(2010.9.2)
【国際特許分類】
【出願番号】特願2009−33015(P2009−33015)
【出願日】平成21年2月16日(2009.2.16)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.EEPROM
【出願人】(395011665)株式会社オートネットワーク技術研究所 (2,668)
【出願人】(000183406)住友電装株式会社 (6,135)
【出願人】(000002130)住友電気工業株式会社 (12,747)
【Fターム(参考)】