JP2009260939A - 通信装置及びコンピュータプログラム - Google Patents

通信装置及びコンピュータプログラム Download PDF

Info

Publication number
JP2009260939A
JP2009260939A JP2009037027A JP2009037027A JP2009260939A JP 2009260939 A JP2009260939 A JP 2009260939A JP 2009037027 A JP2009037027 A JP 2009037027A JP 2009037027 A JP2009037027 A JP 2009037027A JP 2009260939 A JP2009260939 A JP 2009260939A
Authority
JP
Japan
Prior art keywords
request
communication
data processing
reception
timeout
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.)
Granted
Application number
JP2009037027A
Other languages
English (en)
Other versions
JP5278027B2 (ja
Inventor
Takeshi Furuto
健 古戸
Masaaki Harada
政明 原田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sumitomo Wiring Systems Ltd, AutoNetworks Technologies Ltd, Sumitomo Electric Industries Ltd filed Critical Sumitomo Wiring Systems Ltd
Priority to JP2009037027A priority Critical patent/JP5278027B2/ja
Publication of JP2009260939A publication Critical patent/JP2009260939A/ja
Application granted granted Critical
Publication of JP5278027B2 publication Critical patent/JP5278027B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】データ処理手段の不正な送信要求により送信処理が停止されるなどの不具合が生じ難く、設計者又はプログラマ等による設計ミスなどが発生し難い通信装置及びコンピュータプログラムを提供する。
【解決手段】データ処理プログラムをCPU11にて実行することにより実現されたデータ処理手段53a〜53cは通信処理部20へデータの送信要求を与え、通信処理部20は送信要求に応じて送信処理を行う。通信処理部20は、タイムアウトの判定に要する情報をタイムアウトテーブル22に記憶して各送信処理の管理を行う。タイムアウトテーブル22は、通信処理部20のみが情報の変更を行うことができ、データ処理手段53a〜53cによる変更は禁止されている。データ処理プログラムをコンパイルするコンパイラは、ソースプログラムの送信要求中に送信処理のために必要な情報が全て含まれている場合にのみコンパイルを行う。
【選択図】図2

Description

本発明は、データ処理を行うと共に他の装置との間でデータの送受信を行う通信装置、及びこの通信装置のためのデータ処理が記述されたソースプログラムに変換又はチェック等の処理を行うコンピュータプログラムに関する。
従来、インターネット及びLAN(Local Area Network)等のネットワークを利用した通信システムが広く普及しており、複数の通信装置が相互にデータの送受信を行うことによって、広範囲でのデータの共有が実現され、より高度なデータ処理を行うことができる。また近年では、車輌などにおいてもCAN(Controller Area Network)などの車内L
ANを利用した通信システムが搭載され、複数の通信装置が相互にデータの送受信を行って、より高度なデータ処理を行っている。
このような通信システム及び通信装置においては、ネットワークの一部又は全部の遮断及びネットワークの負荷の急激な増加等の要因によりデータの送受信を行うことができなくなるなどの不具合が発生する場合がある。よって、ネットワークに接続された各通信装置は、データの送受信の成否を判断し、データの送信に失敗した場合にはデータの再送信を行うなどの処理を行う必要がある。例えば通信装置は、タイマを用いてタイムアウトを判定することでデータ送受信の成否を判断することができる。
例えば特許文献1においては、複数の通信装置に対してデータ通信を行う通信システムにて、応答監視のために必要な処理及びデータ量を低減して応答監視を効率よく行うことができる応答監視装置が提案されている。この応答監視装置は、データ処理部にて他の通信装置への送信要求及び応答データを作成し、応答監視テーブルに送信要求毎の情報を保持させる。応答監視装置は、送信要求、タイマ起動要求及びタイマ停止要求を他の通信装置へ送信し、またタイマの起動、停止及びタイマ通知の送信を行うと共に、応答データ及びタイマ通知を他の通信装置から受信する。応答監視装置は、送信要求の送信時にはタイマの起動、応答データの送信及び送信要求に係る情報の応答監視テーブルへの登録を行い、応答データ及びタイマ通知の受信時にはその受信数に基づいてタイムアウトを判定し、もはや送信を要求しなければタイマ停止を要求する。
通信装置におけるタイムアウトに係る処理は重要であり、通信装置の設計者又は通信プログラムのプログラマ等のタイムアウト処理に係る設計にミスが生じた場合、通信装置がハングアップするなど予期せぬ動作を行う虞がある。設計ミスとしては、例えば以下のようなものが考えられる。
(1)通信処理以外の処理によってタイムアウト判定用のタイマが停止される。
(2)通信処理の状態(送信開始待ち、送信完了待ち、受信待ち又は受信完了待ち等)を示すフラグが他の処理によって書き換えられる。
(3)タイムアウトが発生した際に行う処理が通信プログラムに含まれていない。
これらの設計ミスによって、例えばタイムアウト判定用のタイマが停止しているにもかかわらず、タイムアウトの判定を行い続け、送信完了待ちの状態から脱することができずに通信装置の処理が停止するなどの不具合が生じる。これらの不具合は、特に、通信装置の通信に係る処理を組み込みのソフトウェアで実現した場合に発生しやすい。
複数のPC(Personal Computer)などがネットワークに接続された構成の高度な通信
システムの場合、各PCに搭載されたOS(Operating System)が通信用のライブラリ又はAPI(Application Program Interface)等を提供するため、これらを利用してタイ
ムアウトの判定に係る設定を行うことができ、タイムアウト発生時の処理を行うことができる。よって、上述のような設計ミスによる通信装置の不具合が生じる虞は少ない。
特開平9−168011号公報
しかしながら、車輌に搭載される通信システムの場合には、ネットワークに接続される各通信装置の規模が上述のPCなどより小さく、搭載されるROM(Read Only Memory)の容量及び製品コスト等の観点から通信装置にOSを搭載することは難しい。このため、車輌の通信装置の設計者等は上述の設計ミスが生じることがないように設計を行うことが望まれるが、人為的な設計ミスを完全に防止することは容易ではない。
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、設計者又はプログラマ等による人為的な設計ミスが発生し難く、通信処理が停止するなどの不具合が生じ難い構成の通信装置、及びこの通信装置にて動作するプログラムを設計者又はプログラマ等が適切に設計・開発できる環境を実現できるコンピュータプログラムを提供することにある。
本発明に係る通信装置は、データ処理を行う一又は複数のデータ処理手段と、該データ処理手段からデータの送信要求/受信要求を受け付けて該データの送信/受信に係る処理を行う通信処理手段とを備える通信装置において、前記通信処理手段は、受け付けた送信要求/受信要求に係る通信処理のタイムアウトを判定するタイムアウト判定手段と、受け付けた送信要求/受信要求及び該送信要求/受信要求のタイムアウトに係る情報を対応付けて記憶するタイムアウトテーブルとを有し、前記データ処理手段による前記タイムアウトテーブルに記憶された情報の読み出しを許可し、前記データ処理手段による前記タイムアウトテーブルに記憶された情報の変更を禁止してあることを特徴とする。
また、本発明に係る通信装置は、前記データ処理手段が、個別の第1識別子がそれぞれ付され、送信要求/受信要求に個別の第2識別子をそれぞれ付して前記通信処理手段へ与えるようにしてあり、前記第1識別子及び第2識別子を基に第3識別子を生成する生成手段を備え、前記通信処理手段は、受け付けた送信要求/受信要求に係るデータ処理手段に付された第1識別子、及び前記送信要求/受信要求に付された第2識別子に基づいて生成された第3識別子を記憶しておき、前記タイムアウトテーブルに記憶した情報の変更を要する送信要求/受信要求を受け付けた場合、前記タイムアウトテーブルに記憶した情報に係る第3識別子と、受け付けた前記送信要求/受信要求に係る第1識別子及び第2識別子に基づいて生成された第3識別子とが一致するか否かを判定し、両識別子が一致しないと判定した場合に、前記送信要求/受信要求に係る通信処理を行わないようにしてあることを特徴とする。
また、本発明に係る通信装置は、プログラムを記憶するメモリと、該メモリに記憶されたプログラムを読み出して実行する処理部とを備え、前記データ処理手段は、前記処理部が実行したデータ処理プログラムであり、前記通信処理手段は、受け付けた送信要求/受信要求に係るデータ処理プログラムが記憶された前記メモリのアドレスを記憶しておき、前記タイムアウトテーブルに記憶した情報の変更を要する送信要求/受信要求を受け付けた場合、前記タイムアウトテーブルに記憶した情報に係るデータ処理プログラムのアドレスと、受け付けた前記送信要求/受信要求に係るデータ処理プログラムのアドレスとが一致するか否かを判定し、両アドレスが一致しないと判定した場合に、前記送信要求/受信要求に係る通信処理を行わないようにしてあることを特徴とする。
また、本発明に係る通信装置は、プログラムを記憶するメモリと、該メモリに記憶されたプログラムを読み出して実行する処理部とを備え、前記データ処理手段は、前記処理部が実行したデータ処理プログラムであり、タイムアウトと判定された場合に行うタイムアウト処理のプログラムが記憶された前記メモリのアドレスを、送信要求/受信要求と共に前記通信処理手段へ与えるようにしてあり、前記通信処理手段は、受け付けた送信要求/受信要求に含まれる前記アドレスが所定のアドレス範囲に含まれるか否かを判定し、前記アドレスが所定のアドレス範囲に含まれないと判定した場合に、前記タイムアウト処理のプログラムに代えて、予め定められたタイムアウト処理を行うようにしてあることを特徴とする。
また、本発明に係る通信装置は、プログラムを記憶するメモリと、該メモリに記憶されたプログラムを読み出して実行する処理部とを備え、前記データ処理手段は、前記処理部が実行したデータ処理プログラムであり、タイムアウトと判定された場合に行うタイムアウト処理のプログラムが記憶された前記メモリのアドレスを、送信要求/受信要求と共に前記通信処理手段へ与えるようにしてあり、前記通信処理手段は、受け付けた送信要求/受信要求に含まれる前記アドレスが所定のアドレス範囲に含まれるか否かを判定し、前記アドレスが所定のアドレス範囲に含まれないと判定した場合に、前記送信要求/受信要求に係る通信処理を行わないようにしてあることを特徴とする。
また、本発明に係る通信装置は、前記タイムアウト判定手段が判定を行うための計時手段を備え、前記データ処理手段は、個別の識別子がそれぞれ付してあり、計時開始又は計時停止の要求を前記識別子と共に前記計時手段へ与えるようにしてあり、前記計時手段は、前記計時開始の要求が与えられた場合に、該計時開始の要求元の前記データ処理手段に付された前記識別子を記憶し、前記計時停止の要求が与えられた場合に、該計時停止の要求元の前記データ処理手段に付された識別子が、記憶した識別子と一致するか否かを判定し、両識別子が一致すると判定した場合に計時停止を行うようにしてあることを特徴とする。
また、本発明に係る通信装置は、前記タイムアウトテーブルに記憶する前記タイムアウトに係る情報には、前記送信要求/受信要求に係るデータの送信がタイムアウトしたか否かを示すフラグ、タイムアウトを判定する時間、及び通信処理の経過時間を含むことを特徴とする。
また、本発明に係るコンピュータプログラムは、コンピュータに、ソースプログラムを、本発明の通信装置のデータ処理を行うための実行プログラムに変換する処理を行わせるコンピュータプログラムであって、コンピュータに、前記ソースプログラムから他の機器へのデータの送信要求/受信要求を抽出させるステップと、抽出した送信要求/受信要求に、前記通信装置の通信処理手段による通信処理に必要な情報が全て含まれているか否かを判定させるステップと、前記必要な情報が含まれていないと判定した場合、前記ソースプログラムを前記実行プログラムに変換する処理を中止させるステップとを有することを特徴とする。
また、本発明に係るコンピュータプログラムは、コンピュータに、ソースプログラムから他の機器へのデータの送信要求/受信要求を抽出させるステップと、抽出した送信要求/受信要求に、前記通信装置の通信処理手段による通信処理に必要な情報が全て含まれているか否かを判定させるステップと、前記必要な情報が含まれていないと判定した場合に、警告を出力させるステップとを有することを特徴とする。
また、本発明に係るコンピュータプログラムは、前記通信処理に必要な情報には、送信要求/受信要求を識別するための識別子、タイムアウトを判定する時間、及びタイムアウトと判定された場合に行う処理を含み、更に送信要求の場合には送信するデータを含むことを特徴とする。
本発明においては、データの処理を行うデータ処理手段からデータの送信要求/受信要求を受け付けてこの送信要求/受信要求に係るデータの送信処理/受信処理を行う通信処理手段を通信装置が備え、通信処理手段が送信処理/受信処理のタイムアウトを判定すると共に、タイムアウトに係る情報をタイムアウトテーブルに記憶する。タイムアウトテーブルには、例えば送信要求/受信要求に係るデータの送信処理/受信処理がタイムアウトしたか否かを示すフラグ、タイムアウトと判定するタイマの時間、及び送信処理/受信処理の開始からの経過時間をタイマにより計時した値等の情報を記憶する。これにより、データ処理手段は送信/受信を要求したデータの送信/受信が完了したか否かなどをタイムアウトテーブルを参照することによって判断できる。
ただし本発明の通信装置では、タイムアウトテーブルに記憶された情報のデータ処理手段による直接的な変更を禁止する。これにより、タイムアウトテーブルに記憶された情報が予期せぬ処理によって変更されることがないため、送信処理に伴う不具合が発生する虞を低減できる。
また、本発明においては、各データ処理手段には個別の第1識別子を付しておくと共に、各データ処理手段は送信要求/受信要求を通信処理手段へ与える場合に、各送信要求/受信要求に個別の第2識別子を付す。例えば第1識別子及び第2識別子を合成するなどの演算を行って第3識別子を生成し、通信処理手段がこれを記憶しておくことによって、複数のデータ処理手段による複数の送信要求/受信要求を第3識別子により一意に特定することができる。
送信要求/受信要求を受け付けた通信処理手段は、この送信要求/受信要求に係る第3識別子を記憶し、受け付けた送信要求/受信要求に係るデータの送信/受信処理を行う。このとき通信処理手段は、上述のタイムアウトテーブルに情報を記憶して送信/受信処理を行うが、このタイムアウトテーブルに記憶された情報の変更を要する送信要求/受信要求を更に受け付けた場合には、タイムアウトテーブルに記憶された情報に係る第3識別子と、更に受け付けた送信要求/受信要求に係る第3識別子とが一致するか否かを判定する。両識別子が一致する場合には、正当なデータ処理手段による情報の変更であると判断できるため、通信処理手段は更に受け付けた送信要求/受信要求に係る通信処理を行う。
両識別子が一致しない場合には、不正なデータ処理手段による情報の変更であると判断でき、この変更を容認すると正当なデータ処理手段の処理に不具合が生じる虞があるため、通信処理手段は更に受け付けた送信要求/受信要求に係る通信処理を行わない。これにより、設計ミスなどによって不正なデータ処理手段が不正な情報変更を行うことを防止でき、通信処理に伴う不具合が発生する虞を低減できる。
また、本発明においては、通信装置はデータ処理を行うプログラムを記憶するメモリとこのプログラムを読み出して実行するCPU(Central Processing Unit)又はMPU(Micro Processing Unit)等の処理部とを備え、データ処理プログラムの実行により一又は複数のデータ処理手段を実現する。
送信要求/受信要求を受け付けた通信処理手段は、この送信要求/受信要求に係るデータ処理プログラムが記憶されたメモリのアドレスを記憶し、送信要求/受信要求に係る通信処理を行う。このとき通信処理手段は、上述のタイムアウトテーブルに情報を記憶して通信処理を行うが、このタイムアウトテーブルに記憶された情報の変更を要する送信要求/受信要求を更に受け付けた場合には、タイムアウトテーブルに記憶された情報に係るデータ処理プログラムのアドレスと、更に受け付けた送信要求/受信要求に係るデータ処理プログラムのアドレスとが一致するか否かを判定する。両アドレスが一致する場合には、正当なデータ処理プログラムによる情報の変更であると判断できるため、通信処理手段は更に受け付けた送信要求/受信要求に係る通信処理を行う。
両アドレスが一致しない場合には、不正なデータ処理プログラムによる情報の変更であると判断でき、この変更を容認すると正当なデータ処理プログラムの処理に不具合が生じる虞があるため、通信処理手段は更に受け付けた送信要求/受信要求に係る通信処理を行わない。これにより、設計ミスなどによって不正なデータ処理手段が不正な情報変更を行うことを防止でき、通信処理に伴う不具合が発生する虞を低減できる。
また、本発明においては、通信装置はデータ処理を行うプログラムを記憶するメモリとこのプログラムを読み出して実行するCPU又はMPU等の処理部とを備え、データ処理プログラムの実行により一又は複数のデータ処理手段を実現する。
この場合に、上述の通信処理に必要な情報としてタイムアウトが発生した場合に行う処理のプログラムが記憶されたアドレスを通信処理手段が送信要求/受信要求と共に受け付ける。通信処理手段は、与えられたタイムアウト処理のプログラムのアドレスが所定のアドレス範囲内であるか否かを判定し、所定のアドレス範囲外であれば、与えられたアドレスのタイムアウト処理のプログラムを実行せず、予め用意されたデフォルトのタイムアウト処理のプログラムを実行する。
例えば、データ処理を行うプログラムは処理に係る命令列と処理対象となるデータとで構成され、メモリは命令列が記憶された領域とデータが記憶された領域とに分けられるが、判定に用いる所定のアドレス範囲はメモリ中の命令列が記憶された領域とすることができる。
タイムアウト処理のプログラムが記憶されるべきアドレス範囲外のアドレスが与えられた場合には、与えられた情報に誤りが含まれており、タイムアウト発生時に正しい処理を行うことができない虞があるが、デフォルトのタイムアウト処理を行うことによって本発明の通信装置はこれを回避することができる。
また、本発明においては、通信装置はデータ処理を行うプログラムを記憶するメモリとこのプログラムを読み出して実行するCPU又はMPU等の処理部とを備え、データ処理プログラムの実行により一又は複数のデータ処理手段を実現する。
この場合に、上述の通信処理に必要な情報としてタイムアウトが発生した場合に行う処理のプログラムが記憶されたアドレスを通信処理手段が送信要求/受信要求と共に受け付ける。通信処理手段は、この情報が送信要求/受信要求と共に与えられなければ通信処理を行わない。また、この情報が与えられた場合であっても、通信処理手段は与えられたタイムアウト処理のプログラムのアドレスが所定のアドレス範囲内であるか否かを判定し、所定のアドレス範囲外であれば送信要求/受信要求に係る通信処理を行わない。
例えば、データ処理を行うプログラムは処理に係る命令列と処理対象となるデータとで構成され、メモリは命令列が記憶された領域とデータが記憶された領域とに分けられるが、判定に用いる所定のアドレス範囲はメモリ中の命令列が記憶された領域とすることができる。
タイムアウト処理のプログラムが記憶されるべきアドレス範囲外のアドレスが与えられた場合には、与えられた情報に誤りが含まれており、タイムアウト発生時に正しい処理を行うことができない虞があるが、本発明の通信装置はこれを回避することができる。
また、本発明においては、通信装置はタイムアウトの判定を行うための計時手段、所謂タイマを備え、また、データ処理手段には個別の識別子(所謂ID(IDentifier))をそれぞれ付しておく。
タイマは、タイマセット要求を受け付けた場合、このタイマセット要求に係るデータ処理手段に付された識別子を記憶しておく。また、タイマは、タイマリセット要求を受け付けた場合には、タイマリセット要求に係るデータ処理手段の識別子と記憶した識別子とが一致するか否かを判定する。両識別子が一致する場合には、正当なデータ処理プログラムによるタイマのリセットであると判断できるため、タイマは受け付けたリセット要求に応じてタイマリセットを行う。両識別子が一致しない場合には、不正なデータ処理プログラムによるタイマのリセットであると判断でき、このリセットを容認すると正当なデータ処理プログラムの処理に不具合が生じる虞があるため、タイマは受け付けたタイマリセット要求に係るタイマリセットを行わない。これにより、設計ミスなどによって不正なデータ処理手段が不正なタイマのリセットを行うことを防止でき、通信処理に伴う不具合が発生する虞を低減できる。
また、本発明においては、上述の通信装置がデータ処理を行うためのソースプログラム(プログラミング言語を用いて記述されたプログラム)を実行プログラム(アセンブリ言語若しくは機械語等で表わされたプログラム、又はオブジェクトプログラム)に変換するコンパイラ、アセンブラ又はインタプリタ等のコンピュータプログラムを用いて、プログラマはデータ処理プログラムの設計及び開発等を行う。
本発明のコンピュータプログラムは、ソースプログラムから他の機器へのデータの送信要求/受信要求の記述を抽出し、通信処理手段による通信処理に必要な情報が抽出した送信要求/受信要求に全て含まれているか否かを判定する。
通信処理に必要な情報には、送信要求/受信要求を識別するための識別子、送信するデータ、タイムアウトと判定するタイマの時間、及びタイムアウトが発生した場合に行う処理等の情報を含むことができる。
これらの情報のいずれかが欠如している場合にデフォルトの値で補う方法も考えられるが、本発明のコンピュータプログラムはこの方法を採用せず、必要な情報が1つでも欠如している場合にはソースプログラムの実行プログラムへの変換を行わない。これにより、プログラマの設計ミス又は記述ミス等によって必要な情報が正しく設定されていない送信要求/受信要求が通信装置にて実行されることがなく、通信装置において通信処理に伴う不具合が発生する虞を低減できる。
また、本発明においては、コンピュータプログラムがコンパイラなどでなく、ソースプログラムの記述をチェックするのみのものであってもよい。
この場合、コンピュータプログラムは、ソースプログラムから他の機器へのデータの送信要求/受信要求の記述を抽出し、通信処理手段による通信処理に必要な情報が抽出した送信要求/受信要求に全て含まれているか否かを判定する。必要な情報が含まれていない場合には警告メッセージの出力などを行う。これにより、プログラマの設計ミス又は記述ミス等によって必要な情報が正しく設定されていない場合に、この旨をプログラマへ通知することができる
本発明による場合は、通信処理手段が有する情報に対するデータ処理手段の不正な変更などを種々の方法にて防止することにより、設計ミスなどを有する不正なデータ処理手段の処理によって、正当なデータ処理手段に係る通信処理が妨げられることがなく、通信処理手段による通信処理が停止するなどの不具合が発生する虞を低減することができる。よって、データの送信処理/受信処理における通信装置の高信頼性化及び高品質化等を実現することができる。
また、本発明による場合は、データ処理プログラムの設計及び開発等に用いられてソースプログラムを実行プログラムに変換するコンピュータプログラムが、ソースプログラム中の送信要求に必要な情報が全て含まれているか否かをチェックすることによって、プログラマは通信処理のための情報を全て設定する必要があるため、設定を怠るなどの人為的なミスが発生し難い。このコンピュータプログラムによりプログラマがデータ処理プログラムを適切に設計・開発できる環境を提供することができ、このコンピュータプログラムを用いて設計・開発されたデータ処理プログラムを実行してデータ処理を行う通信装置の高信頼性化及び高品質化等を実現することができる。
本発明の実施の形態1に係るECUの構成を示すブロック図である。 通信処理部の構成を示すブロック図である。 本発明の実施の形態1に係るECUのタイムアウトテーブルの一構成例を示す模式図である。 本発明の実施の形態1に係るECUの通信処理部が行う通信処理の手順を示すフローチャートである。 本発明の実施の形態1に係るECUの通信処理部が行う通信処理の手順を示すフローチャートである。 データ処理手段が行う送信要求/受信要求に係る処理の手順を示すフローチャートである。 データ処理プログラムの作成手順を示す模式図である。 本発明の実施の形態1に係るコンパイラが行う処理の手順を示すフローチャートである。 本発明の実施の形態2に係るECUのタイムアウトテーブルの一構成例を示す模式図である。 通信処理部による送信要求/受信要求元アドレスの取得方法を説明するための模式図である。 本発明の実施の形態2に係るECUの通信処理部が行う通信処理の手順を示すフローチャートである。 本発明の実施の形態2の変形例に係るECUの通信処理部が行う通信処理を説明するための模式図である。 本発明の実施の形態2の変形例に係るECUのタイムアウトテーブルの一構成例を示す模式図である。 本発明の実施の形態2の変形例に係るECUの通信処理部が行う通信処理の手順を示すフローチャートである。 本発明の実施の形態3に係るECUのRAM及びROMにて構成されるメモリ空間を説明するための模式図である。 本発明の実施の形態3に係るECUの通信処理部が行う通信処理の手順を示すフローチャートである。 本発明の実施の形態3の変形例に係るECUの通信処理部が行うタイムアウト処理の手順を示すフローチャートである。 本発明の実施の形態4に係るECUの構成を説明するための模式図である。 本発明の実施の形態4に係るECUのタイマが行う要求受付処理の手順を示すフローチャートである。
以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。なお、本実施の形態においては通信装置として車輌に搭載されるECU(Electronic Control Unit)を
例に説明を行うが、本発明の通信装置は車載のECUに限定されるものではない。
(実施の形態1)
図1は、本発明の実施の形態1に係るECU1の構成を示すブロック図である。車輌にはエンジン制御用のECU1、変速機構制御用のECU1、ライト制御用のECU1、ワイパー制御用のECU1及びドアのロック機構制御用のECU1等の種々の制御を行うECU1が搭載されている。また、車輌に搭載された複数のECU1は、CANなどのネットワークNWにて相互に接続されている。なお、ネットワークNWは有線のネットワークであってもよく、無線のネットワークであってもよい。各ECU1は、制御対象の機器に関する種々のデータ処理を行って機器の動作を制御すると共に、必要に応じて他のECU1との間でネットワークNWを介したデータの送受信を行う。これにより各ECU1は、機器の制御に必要なデータを他のECU1から受信することができ、他のECU1へ制御に必要とするデータを送信することができる。
ECU1は、CPU11、RAM(Random Access Memory)12、ROM13及び通信処理部20等を備えている。ROM13は、マスクROM、EEPROM(Electrically Erasable Programmable ROM)又はフラッシュメモリ等の不揮発性のメモリ素子にて構成されており、車載機器の制御などのためのデータ処理を行う一又は複数のデータ処理プログラム51が予め記憶されている。RAM12は、SRAM(Static RAM)又はDRAM(Dynamic RAM)等のデータ書き換え可能なメモリ素子で構成されており、CPU11に
よるデータ処理に伴って生成されるデータなどを一時的に記憶する。
CPU11は、ROM13に記憶されたデータ処理プログラム51を実行することによってデータ処理を行い、データ処理の処理結果に応じた車載機器の制御を行う。即ち、CPU11はデータ処理プログラム51を実行することによって、データ処理手段53として動作する。また、CPU11は、複数のデータ処理プログラム51を並列的に実行することができ(時分割又は周期的に複数のデータ処理プログラム51を実行する形態であってよい)、複数のデータ処理手段53として動作することができる。なお、CPU11は、ROM13からデータ処理プログラム51を読み出してRAM12に記憶し、RAM12に記憶したデータ処理プログラム52を実行する構成であってもよい。
通信処理部20は、車輌に搭載された他のECU1の通信処理部20とネットワークNWを介して接続されている。通信処理部20は、CPU11のデータ処理手段53からの送信要求に応じて他のECU1へデータの送信を行う送信処理、受信要求に応じて他のECU1からのデータを受信してデータ処理手段53へ与える受信処理、データ送信の成否を時間経過で判定するタイムアウト判定処理、及びタイムアウトが発生した際の例外処理を行うタイムアウト処理等の通信処理を行う。図2は、通信処理部20の構成を示すブロック図である。なお、図2においては、CPU11にて3つのデータ処理プログラム52が実行されて、CPU11が3つのデータ処理手段53として動作している状態を図示してある。また、3つのデータ処理手段53を区別するために、各データ処理手段には53a〜53cの符号を付してある。
データ処理手段53a〜53cは、通信処理部20へデータの送信を要求する場合、送信要求にID、送信データ、タイムアウト時間及びタイムアウト処理等の情報を付して通信処理部20へ与える。ここでIDは、各データ処理手段53a〜53cに一意的に与えられる識別子である。送信データは、他のECU1へ送信するデータそのもの又はデータが記憶されたRAM12のアドレス(ポインタ)である。タイムアウト時間は、データの送信処理をタイムアウトと判定する閾値である。タイムアウト処理は、タイムアウトが発生した場合に行われる例外処理のプログラムが記憶されたRAM12又はROM13のアドレス(ポインタ)である。
同様に、データ処理手段53a〜53cは、他のECU1からのデータの受信を通信処理部20へ要求する場合、受信要求にID、タイムアウト時間及びタイムアウト処理等の情報を付して通信処理部20へ与える。
このように、送信要求/受信要求と共にタイムアウト時間及びタイムアウト処理の情報を通信処理部20へ与える構成とすることによって、各データ処理手段53a〜53cは異なるタイムアウト時間で通信処理を待機することができ、異なる内容のタイムアウト処理を行うことができる。
通信処理部20は、通信部21、タイムアウトテーブル22及びタイマ23等を有している。通信部21は、ネットワークNWに接続されており、データ処理手段53a〜53cからの送信要求に係る送信データを予め定められたプロトコルに応じたデータ形式(パケットなど)に変換して他のECU1へ送信する。受信要求に応じて他のECU1からデータを受信した場合には、通信部21は、データの受信完了を通知する応答(所謂ACK(ACKnowledgement))を他のECU1へ送信すると共に、受信したデータをデータ処理手段53a〜53cの処理に適したデータ形式に変換し、このデータを必要とするデータ処理手段53a〜53cへ与える。タイマ23は、通信処理部20が行う送信/受信等の通信処理に係る処理時間などを計時するための計時手段である。タイマ23は、通信処理部20の演算処理回路などと独立して設けられた個別のタイマIC(Integrated Circuit)などを用いる構成であってもよく、演算処理回路内のカウンタなどを用いて計時を行う構成であってもよい。
しかし、ECU1間でのデータの送受信は必ずしも成功するとは限らない。例えば、ネットワークNWが切断されているなどの不具合が生じている場合には、ECU1は切断個所より先へのデータの送信を行うことはできず、切断箇所より先のECU1からデータの受信を行うことはできない。また例えば、ネットワークNW上のデータの通信量が増加して、優先度の高いECU1にネットワークNWを占有された場合などには、優先度の低いECU1は長時間に亘ってデータを送信/受信する権利を取得できずに送信/受信処理を待機する。このような要因によって他のECU1との通信を行うことができない場合、データの送信要求/受信要求を通信処理部20へ与えたデータ処理手段53a〜53cの処理が停止し続ける虞がある。
そこでECU1の通信処理部20は、タイマ23を用いてデータの送信/受信の処理が一定時間に完了したか否かを調べる。通信処理部20は、一定時間内に送信/受信が完了しない場合にはタイムアウトが発生したと判定し、データの送信/受信を中断して予め設定されたタイムアウト処理を行う。また、通信処理部20は、データ処理手段53a〜53cからの送信要求/受信要求に応じたデータの送信/受信処理の処理状態などタイムアウトに係る情報と、データ処理手段53a〜53cから送信要求/受信要求と共に与えられた情報とをタイムアウトテーブル22に記憶して、通信処理のタイムアウトの管理を行っている。タイムアウトテーブル22は、通信処理部20が有するメモリ又はレジスタ等にて実現されるものとするが、ECU1のRAM12又はROM13の一部を利用する構成であってもよい。
図3は、本発明の実施の形態1に係るECU1のタイムアウトテーブル22の一構成例を示す模式図である。なお本例では、通信処理部20は1つのデータ処理手段53a〜53cから1つずつの送信要求又は受信要求を受け付けることができるものとし、各データ処理手段53a〜53cから送信要求/受信要求をそれぞれ受け付けてFIFO(First In First Out)又は優先度に基づく順位決定法等により送信/受信順位のスケジューリングを行ってデータの送信/受信処理を行うものとする。タイムアウトテーブル22には、各データ処理手段53a〜53cについて、ID、タイムアウト時間、経過時間、送信フラグ、受信フラグ及びタイムアウト処理等の情報が記憶してある。
タイムアウトテーブル22に記憶されるIDは、データ処理手段53a〜53cに一意的に付された識別子であり、送信要求/受信要求と共にデータ処理手段53a〜53cから与えられたものである。図示の例では、データ処理手段53aのIDは1であり、データ処理手段53bのIDは2であり、データ処理手段53cのIDは3である。タイムアウトテーブル22に記憶されるタイムアウト時間は、データの送信/受信処理をタイムアウトと判定する閾値であり、例えばタイムアウト時間が1.00秒の場合にはタイマ23による計時が1.00秒を超えた場合に通信処理部20は送信/受信処理をタイムアウトと判定する。このタイムアウト時間は、データ処理手段53a〜53cから送信要求/受信要求と共に与えられる。また、タイムアウトテーブル22に記憶される経過時間は、タイマ23による計時結果であり、送信要求/受信要求の受付後の経過時間を示している。
タイムアウトテーブル22に記憶される送信フラグは、各送信要求に対する送信処理の処理状態を示す1ビットの情報である。送信フラグの値が0の場合は、送信要求に係るデータが未送信又は送信中であることを示しており、また、送信フラグが1の場合は、データの送信が完了したか又はタイムアウトしたことを示している。同様に、受信フラグは、各受信要求に対する受信処理の処理状態を示す1ビットの情報である。受信フラグが0の場合は、受信要求に係るデータの受信が完了していないことを示しており、また、受信フラグが1の場合は、データの受信が完了したか又はタイムアウトしたことを示している。通信処理部20は、データ処理手段53a〜53cから送信要求/受信要求を受け付けた場合、この送信要求/受信要求に係る送信フラグ及び受信フラグを共に0に設定してタイマ23による計時を開始する。その後、通信処理部20は、データの送信/受信が完了した場合又はタイマ23による計時がタイムアウト時間を超えた場合に送信フラグ/受信フラグを1に設定して、送信/受信処理を中断する。
タイムアウトテーブル22に記憶されるタイムアウト処理は、タイムアウトが発生した場合に行われる例外処理のプログラムが記憶されたRAM12又はROM13のアドレスであり、データ処理手段53a〜53cから送信要求/受信要求と共に与えられるものである(ただし、図示の例では、タイムアウト処理のアドレスに代えてタイムアウト処理を行うプログラム(関数)の名称を記載してある)。タイムアウトが発生した場合、通信処理部20は、タイムアウトテーブル22からタイムアウト処理のアドレスを取得し、RAM12又はROM13のこのアドレスに記憶されたプログラムをCPU11に実行させることによってタイムアウト処理を行う。
本実施の形態に係るECU1においては、タイムアウトテーブル22に対する情報の記憶(設定)及び情報の変更は通信処理部20が行い、データ処理手段53a〜53cによるタイムアウトテーブル22の情報の変更は禁止されている。即ち、データ処理手段53a〜53cは、タイムアウトテーブル22に対する直接的な情報の変更を行うことができず、通信処理部20へ送信要求/受信要求を与えることによってのみ間接的にタイムアウトテーブル22に対する情報の変更を行うことができるようにしてある。なお、本実施の形態においてはデータ処理手段53a〜53cによるタイムアウトテーブル22に記憶された情報の読み出しは許可されているものとするが、読み出しについても禁止する構成であってもよい。
データ処理手段53a〜53cによるタイムアウトテーブル22の情報の直接的な変更を禁止することによって、例えばデータ処理手段53aがデータ処理手段53bの送信/受信処理に係る送信フラグ/受信フラグを変更するなどの不正な処理が行われることがない。また例えば、データ処理手段53aが自らの送信要求/受信要求に係る送信/受信処理が完了する前にこの送信/受信処理に係る送信フラグ/受信フラグを変更するなどの不正な処理が行われることがない。よって、データ処理手段53a〜53cに設計ミスなどの要因で不正な処理を行うものが含まれている場合であっても、正常なその他のデータ処理手段53a〜53cの送信/受信処理に不具合が生じることがない。
図4及び図5は、本発明の実施の形態1に係るECU1の通信処理部20が行う通信処理の手順を示すフローチャートである。まず、通信処理部20は、データ処理手段53から送信要求/受信要求が与えられたか否かを調べ(ステップS1)、送信要求/受信要求が与えられていない場合には(S1:NO)、送信要求/受信要求が与えられるまで待機する。送信要求/受信要求が与えられた場合(S1:YES)、通信処理部20は送信要求/受信要求と共に与えられた情報からIDを取得し(ステップS2)、取得したIDを基にタイムアウトテーブル22を参照して(ステップS3)、このIDのデータ処理手段53に係る通信処理(送信処理/受信処理)が実行中であるか否かを調べる(ステップS4)。通信処理が実行中であるか否かは、タイムアウトテーブル22の送信フラグ/受信フラグが0であるか否かにより判断することができる。通信処理が実行中の場合には(S4:YES)、送信要求/受信要求元のデータ処理手段53へ通信不可を通知して(ステップS5)、処理を終了する。
送信要求/受信要求元のデータ処理手段53に係る通信処理が実行中でない場合(S4:NO)、通信処理部20は、送信要求/受信要求と共に与えられた情報をタイムアウトテーブル22に登録し(ステップS6)、送信要求/受信要求元のデータ処理手段53へ通信可を通知する(ステップS7)。なお、タイムアウトテーブル22へ情報を登録する際に、通信処理部20は送信フラグ及び受信フラグを0に設定する。その後、通信処理部20はタイマ23による計時を開始し(ステップS8)、通信処理(データの送信処理又は受信処理)を行う(ステップS9)。
次いで、通信処理部20は、タイマ23の計時による経過時間が設定されたタイムアウト時間を超えたか否かによりタイムアウトが発生したか否かを調べる(ステップS10)。タイムアウトが発生した場合(S10:YES)、通信処理部20は、タイムアウトテーブル22の送信フラグ/受信フラグを1に設定し(ステップS11)、タイムアウトテーブル22に設定されたタイムアウト処理を実行して(ステップS12)、処理を終了する。タイムアウトが発生していない場合(S10:NO)、通信処理部20は通信処理が完了したか否かを更に調べる(ステップS13)。通信処理が完了していない場合には(S13:NO)、通信処理部20はステップS9へ戻って通信処理を継続して行う。通信処理が完了した場合(S13:YES)、通信処理部20はタイムアウトテーブル22の送信フラグ/受信フラグを1に設定して(ステップS14)、処理を終了する。(なお、通信処理部20が送信フラグ/受信フラグを1に設定するとき、送信処理が完了又はタイムアウトした場合に送信フラグのみを1に設定し、受信処理が完了又はタイムアウトした場合に受信フラグのみを1に設定すればよい。)
図6は、データ処理手段53が行う送信要求/受信要求に係る処理の手順を示すフローチャートである。データ処理手段53は通信処理部20へ送信要求/受信要求を与え(ステップS21)、通信処理部20からの応答として通信可又は通信不可の通知を受け取る。このとき、データ処理手段53は通信可の通知を受け取ったか否かを調べ(ステップS22)、通信可の通知を受け取っていない場合(S22:NO)、即ち通信不可の通知を受け取った場合には、一定の時間待機して(ステップS23)、ステップS21へ戻って送信要求/受信要求を再度行う。
通信処理部20から通信可の通知を受け取った場合(S22:YES)、データ処理手段53は通信処理部20のタイムアウトテーブル22に記憶された送信フラグ/受信フラグを参照して(ステップS24)、送信要求を行った送信処理に係る送信フラグが1に設定されているか否か、又は、受信要求を行った受信処理に係る受信フラグが1に設定されているか否かを調べる(ステップS25)。送信フラグ/受信フラグが1に設定されていない場合(S25:NO)、即ち送信フラグ/受信フラグが0に設定されている場合には、送信処理の処理状態が未送信若しくは送信中であるか、又は、受信処理の処理状態が未受信若しくは受信中であるため、ステップS24へ戻り、送信フラグ/受信フラグが1に設定されるまで待機する。
送信フラグ/受信フラグが1に設定されている場合(S25:YES)、データ処理手段53は、タイムアウトテーブル22を参照してタイムアウト時間及び経過時間を比較することによって、送信処理にタイムアウトが発生したか否かを調べる(ステップS26)。データ処理手段53は、タイムアウトが発生していない場合には(S26:NO)、送信/受信完了時のデータ処理を行い(ステップS27)、またタイムアウトが発生した場合には(S26:YES)、タイムアウト発生時のデータ処理を行って(ステップS28)、処理を終了する。
CPU11にてデータ処理手段53を実現するためのデータ処理プログラム51は、ECU1の設計者又はプログラマ等により作成されてROM13に予め記憶されている。図7は、データ処理プログラム52の作成手順を示す模式図である。例えばプログラマはプログラミング言語にてECU1が行う処理を記述し、ソースプログラム101を作成する。ソースプログラム101の作成は、PCなどのコンピュータ(図示せず)にてテキストエディタなどのツールを用いることで行うことができる。次いでプログラマは、コンピュータ上でコンパイラ100を動作させてソースプログラム101をコンパイルし、ECU1のCPU11が解釈・実行することができる命令列で構成されたオブジェクトプログラム(実行プログラム)102を取得する。このオブジェクトプログラム102をECU1のROM13に予め記憶しておくことによって、ECU1はデータ処理及び通信処理等を行うことができる。
図8は、本発明の実施の形態1に係るコンパイラ100が行う処理の手順を示すフローチャートである。プログラマによって起動されたコンパイラ100は、まず、プログラマによって指定されたソースプログラム101の読み込みを行って(ステップS41)、ソースプログラム101の字句解析を行う(ステップS42)。字句解析は、プログラミング言語にて記述されたソースプログラム101を、キーワード、識別子及びシンボル名等の字句に分割する処理である。字句解析の結果からコンパイラ100はソースプログラム101の記述に誤り(エラー)が含まれているか否かを判定し(ステップS43)、エラーが含まれている場合には(S43:YES)、エラーメッセージを出力して(ステップS49)、処理を終了する。
ソースプログラム101にエラーが含まれていない場合(S43:NO)、コンパイラ100は字句解析にて得られる字句を基に構文解析を行う(ステップS44)。構文解析は、ソースプログラム101の記述がプログラミング言語に定められた文法規則に適合するかを解析する処理である。構文解析の結果からコンパイラ100はソースプログラム101の記述にエラーが含まれているか否かを判定し(ステップS45)、エラーが含まれている場合には(S45:YES)、エラーメッセージを出力して(ステップS49)、処理を終了する。
ソースプログラム101にエラーが含まれていない場合(S45:NO)、コンパイラ100はソースプログラム101に含まれる送信要求及び受信要求を抽出し(ステップS46)、送信要求及び受信要求と共に必要な情報が全て設定されているか否かを調べる(ステップS47)。本実施の形態においては、通信処理部20が送信/受信処理を行うために必要な情報として、図2に示すようにID、送信データ、タイムアウト時間及びタイムアウト処理の情報をプログラマがソースプログラム101にて設定するものとし、コンパイラ100はこれらの情報が全て設定されているか否かを調べる。またこのときに、コンパイラ100は設定された情報が正当な値であるか否かを更に判定してもよい。
必要な情報が1つでも設定されていない場合には(S47:NO)、コンパイラ100は、エラーメッセージを出力して(ステップS49)、処理を終了する。必要な情報が全て設定されている場合には(S47:YES)、コンパイラ100は、ソースプログラム101をオブジェクトプログラム102に変換して(ステップS48)、処理を終了する。なお、ステップS46及びS47の処理は、ステップS44及びS45の構文解析に含まれていてもよい。
本実施の形態に係るコンパイラ100は、送信要求及び受信要求と共に必要な情報が設定されていない場合にはソースプログラム101のコンパイルを行わない。例えば送信要求と共にタイムアウト時間が設定されていない場合にデフォルトのタイムアウト時間を自動的に設定することも可能である。しかし、デフォルトのタイムアウト時間とは異なるタイムアウト時間を設定する必要があるときに、プログラマのミスによってタイムアウト時間が設定されていない場合、ECU1のデータ処理及び通信処理等に不具合が生じる虞がある。よって本実施の形態に係るコンパイラ100は、必要な情報が設定されていない場合にデフォルトの値を自動的に設定せず、エラーとしてコンパイルを中止する構成とし、プログラムミスに伴うECU1の不具合を防止する。
以上の構成の実施の形態1に係る通信装置(ECU1)においては、通信処理部20が通信処理に係る情報をタイムアウトテーブル22にて管理し、データ処理手段53による直接的なタイムアウトテーブル22の情報変更を禁止する構成とすることにより、タイムアウトテーブル22に記憶された情報が予期せぬ処理によって変更されることがなく、通信処理に伴う不具合の発生を低減することができる。また、実施の形態1に係るコンピュータプログラム(コンパイラ100)においては、ソースプログラム101から送信要求及び受信要求を抽出し、送信/受信処理に必要な情報が抽出した送信要求/受信要求に全て含まれているか否かを判定し、1つでも含まれていない場合にはオブジェクトプログラム102への変換を行わない構成とすることにより、プログラマによるミスが発生し難いデータ処理プログラム51の設計・開発環境を提供できるため、プログラムミスによって必要な情報が正しく設定されていない送信要求/受信処理がデータ処理手段53にてなされることがなく、ECU1にて通信処理に伴う不具合が発生する虞を低減することができる。
なお、本実施の形態においては、送信要求に含まれる情報(送信処理に必要な情報)としてID、送信データ、タイムアウト時間及びタイムアウト処理を例示したが、これに限らず、これらの情報の一部又は全部を含まない構成であってもよく、更に他の情報を含む構成であってもよい。同様に、受信要求に含まれる情報(受信処理に必要な情報)としてID、タイムアウト時間及びタイムアウト処理を例示したが、これに限らず、これらの情報の一部又は全部を含まない構成であってもよく、更に他の情報を含む構成であってもよい。また、図3に示したタイムアウトテーブル22の構成は一例であってこれに限るものではなく、例えば送信フラグの他にタイムアウトが発生したか否かを示すタイムアウトフラグを設けるなど、その他の構成であってもよい。また、図1において通信処理部20はCPU11及びRAM12等と異なるハードウェアとして示してあるが、これに限るものではなく、通信処理プログラムをCPU11が実行することによって通信処理部を実現する構成であってもよく、通信処理部20の一部分のみをソフトウェア化する構成であってもよい。また、データ処理手段53がタイムアウトテーブルの送信フラグ/受信フラグを参照することによって通信完了の判断を行う構成としたが、これに限るものではなく、通信処理が完了した場合に通信処理部20がデータ処理手段に割り込みなどで通信完了を通知する構成としてもよい。また、通信処理部20が送信処理及び受信処理の両方を行う構成としたが、これに限るものではなく、送信処理のみを行う送信処理部と受信処理のみを行う受信処理部とを別に設ける構成としてもよい。また、タイムアウトテーブルは送信用と受信用とで別に設けてもよい。
また、コンパイラ100は送信要求/受信要求と共に必要な情報が設定されていない場合にコンパイルを行わない構成としたが、例えばデフォルトの値を設定しても通信に不具合が発生する虞がないことが確実である情報に関しては、デフォルトの値を設定してコンパイルを行う構成としてもよい。
また、ソースプログラム101をオブジェクトプログラム102へ変換するコンパイラ100が送信要求/受信要求に必要な情報が含まれているか否かをチェックする構成としたが、これに限るものではなく、送信要求/受信要求に必要な情報が含まれているか否かをチェックするのみでオブジェクトプログラム102への変換を行わない構成のコンピュータプログラムとしてよい。このようなコンピュータプログラムは、図8に示したフローチャートにおいて、ステップS48の処理を行わない構成とすることで実現できる。
(実施の形態2)
実施の形態2においては、通信処理部20がデータ処理手段53からの送信要求/受信要求を受け付けてタイムアウトテーブル22の対応する送信フラグ/受信フラグを1から0に更新する場合に、この送信フラグ/受信フラグとは無関係の他のデータ処理手段53からの送信要求/受信要求によって通信処理部20が送信フラグ/受信フラグの更新を誤って行うことを防止することができる構成について説明する。図9は、本発明の実施の形態2に係るECU1のタイムアウトテーブル22の一構成例を示す模式図である。実施の形態2のタイムアウトテーブル22は、図3に示す実施の形態1のタイムアウトテーブル22に送信要求/受信要求元アドレスの情報を追加した構成である。
実施の形態2の通信処理部20は、データ処理手段53から送信要求/受信要求を受け付ける際に、このデータ処理手段53に係るデータ処理プログラム51又は52が記憶されたROM13又はRAM12のアドレスを取得してその他の情報と共にタイムアウトテーブル22に記憶する。また、送信要求/受信要求元のデータ処理手段53に係る情報が既にタイムアウトテーブル22に記憶されている場合には、通信処理部20は既に記憶された送信要求/受信要求元アドレスと新たに送信要求/受信要求を受け付けたデータ処理手段53に係るアドレスとを比較する。通信処理部20は、両アドレスが一致する場合にのみタイムアウトテーブル22の情報を更新して通信処理を開始し、両アドレスが一致しない場合にはタイムアウトテーブル22を更新せず、通信処理を開始しない。
図10は、通信処理部20による送信要求/受信要求元アドレスの取得方法を説明するための模式図である。本図においては、データ処理手段53をなすデータ処理プログラム51又は52にて”送信()”の関数を呼び出すことによって通信処理部20への送信要求が与えられるものとし、関数”送信()”が通信処理部20にデータの送信処理を行わせる送信処理プログラムであるものとする(なお、受信処理については、送信処理と同様であるため図示及び説明を省略する)。ECU1のCPU11は、データ処理プログラム51又は52を実行して関数”送信()”の呼び出し(送信要求)が行われた場合、レジスタのスタック領域に関数の呼び出し元のアドレスを作業変数の値などと共に記憶して、呼び出された関数(送信処理プログラム)の処理を開始する。送信処理プログラムの処理が終了した後、CPU11はレジスタのスタック領域から呼び出し元のアドレスを取得して、データ処理プログラム51又は52の処理を再開する。よって、通信処理部20(送信処理プログラム)は、送信処理の開始時にCPU11のレジスタのスタック領域を参照することにより、データ処理プログラム51又は52の送信要求元アドレスを取得することができる。
図11は、本発明の実施の形態2に係るECU1の通信処理部20が行う通信処理の手順を示すフローチャートである。まず、通信処理部20は、データ処理手段53から送信要求/受信要求が与えられたか否かを調べ(ステップS61)、送信要求/受信要求が与えられていない場合には(S61:NO)、送信要求/受信要求が与えられるまで待機する。送信要求/受信要求が与えられた場合(S61:YES)、通信処理部20は、CPU1のレジスタのスタック領域から送信要求/受信要求元アドレスを取得すると共に(ステップS62)、送信要求/受信要求と共に与えられた情報からIDを取得し(ステップS63)、取得したIDを基にタイムアウトテーブル22を参照する(ステップS64)。
次いで、通信処理部20は、タイムアウトテーブル22に送信要求/受信要求元のデータ処理手段53に係る情報が既に登録されているか否かを調べる(ステップS65)。タイムアウトテーブル22に情報が登録されていない場合(S65:NO)、このデータ処理手段53に係る通信処理は行われていないため、通信処理部20は送信要求/受信要求に係る通信処理を開始する(ステップS68)。タイムアウトテーブル22に情報が登録されている場合(S65:YES)、通信処理部20は、タイムアウトテーブル22の送信要求/受信要求元アドレスと、ステップS62にて取得した送信要求/受信要求元アドレスとが一致するか否かを更に調べる(ステップS66)。両アドレスが一致しない場合(S66:NO)、通信処理部20は、データ処理手段53に通信不可を通知して(ステップS69)、処理を終了する。
両アドレスが一致する場合には(S66:YES)、通信処理部20は、タイムアウトテーブル22の送信フラグ/受信フラグが0であるか否かを判断することにより、送信要求/受信要求元のデータ処理手段53に係る通信処理が既に実行中であるか否かを更に調べる(ステップS67)。通信処理が実行中でない場合(S67:NO)、通信処理部20は通信処理を開始する(ステップS68)。通信処理が実行中の場合(S67:YES)、通信処理部20は、データ処理手段53に通信不可を通知して(ステップS69)、処理を終了する。なお、ステップS68にて通信処理を開始した後の処理は、図4及び図5に示したフローチャートのステップS6以降の処理と同じであるため図示及び説明を省略する。
以上の構成の実施の形態2に係る通信装置(ECU1)においては、通信処理部20が送信要求/受信要求を受け付けたデータ処理手段53のアドレスをタイムアウトテーブル22に記憶しておき、その後にタイムアウトテーブル22の送信フラグ/受信フラグなどの情報の変更を要する送信要求/受信要求を受け付けた場合に、記憶しておいたアドレスと新たに送信要求/受信要求を受け付けたアドレスとが一致するか否かを判定し、一致しない場合には新たに受け付けた送信要求/受信要求に係る通信処理を行わない構成とすることによって、不正なデータ処理手段53の送信要求/受信要求に基づくタイムアウトテーブル22の情報変更が行われることを防止でき、通信処理に伴うECU1の不具合の発生を低減できる。
なお、タイムアウトテーブル22に記憶する送信要求/受信要求元アドレスをCPU11のレジスタのスタック領域から通信処理部20が取得する構成としたが、これに限るものではなく、その他の方法でアドレスを取得する構成であってもよい。また、タイムアウトテーブル22に記憶する送信要求/受信要求元アドレスは、各データ処理手段53を区別することができるアドレスであればよい。
なお、実施の形態2に係る通信装置(ECU1)のその他の構成は、実施の形態1に係る通信装置の構成と同様であるため、同様の箇所には同じ符号を付して詳細な説明を省略する。
(変形例)
上述の実施の形態2に係る通信装置は、アドレスが一致するか否かを判定することで不正なデータ処理手段53によるタイムアウトテーブル22の情報の更新を防止する構成であるが、通信処理部22の構成によっては送信要求/受信要求に係るアドレスをスタックから取得することが難しい場合がある。以下に示す変形例の通信装置は、各データ処理手段53と、これらが発する各送信要求/受信要求とに、それぞれ異なる識別子を付しておき、これらの識別子を基に不正な情報更新を防止する構成である。
図12は、本発明の実施の形態2の変形例に係るECU1の通信処理部20が行う通信処理を説明するための模式図である。上述の実施の形態1及び2と同様に、変形例に係るECU1では通信処理部20に対して複数のデータ処理手段53a〜53cが送信要求/受信要求を与えることができ、各データ処理手段53a〜53cにはそれぞれ異なる8ビットの値を有するID(本変形例においては処理ID(第1識別子)という)が付されている。
また、通信処理部20へ送信要求/受信要求を与える場合、データ処理手段53a〜53cは、送信要求/受信要求ごとに異なる8ビットの値を有する要求番号(第2識別子)を付し、送信/受信処理に必要な情報として処理IDと共に要求番号を通信処理部20へ与える。
なお、本変形例において、各データ処理手段53a〜53cは、同じ要求番号を有する送信要求/受信要求を通信処理部20へ与えることによって、以前の送信要求/受信要求に係る通信処理の処理内容の変更又は停止等を行うことができる。
通信処理部20は、データ処理手段53a〜53cから送信要求/受信要求と共に与えられた処理ID及び要求番号を合成することによって要求ID(第3識別子)を生成する。要求IDの生成は、例えば図示のように、8ビットの処理IDと8ビットの要求番号とを連結して16ビットのデータを生成すればよい。ただし、要求IDの生成方法はこれに限らず、処理ID及び要求番号に対して加算、減算、積算、除算又は排他的論理和演算等の演算を行って生成してもよく、その他の演算により生成してもよい。
要求IDを生成した通信処理部20は、この要求IDをタイムアウトテーブル22に記憶する。図13は、本発明の実施の形態2の変形例に係るECU1のタイムアウトテーブル22の一構成例を示す模式図である。変形例のタイムアウトテーブル22に記憶される情報は、図3に示した実施の形態1のタイムアウトテーブル22と略同じであり、データ処理手段53a〜53cのID(処理ID)に代えて要求IDが記憶されている点が異なる。
また、送信要求/受信要求が与えられたときに、送信要求/受信要求元のデータ処理手段53a〜53cに係る情報が既にタイムアウトテーブル22に記憶されている場合には、通信処理部20は、既に記憶された要求IDと、新たに受け付けた要求IDとを比較する。通信処理部20は、この2つの要求IDが一致する場合にのみタイムアウトテーブル22の情報を更新して送信要求/受信要求に係る通信処理を開始し、要求IDが一致しない場合にはタイムアウトテーブル22を更新せず、通信処理を開始しない。
なお、タイムアウトテーブル22に記憶された情報は、この情報に係る通信処理が完了した後又はタイムアウトした後に、適宜のタイミングで削除されるものとする。情報の削除は、例えばデータ処理手段53a〜53cから通信処理部20へ送信/受信待ちの状態を脱した旨を通知する構成とし、この通知に応じて通信処理部20が情報を削除する構成とすることができる。また例えば、通信処理の完了後又はタイムアウト後、所定時間が経過した場合に通信処理部20が情報を削除する構成とすることができる。更には、これら以外の方法でタイムアウトテーブル22に記憶された情報の削除を行ってもよい。
図14は、本発明の実施の形態2の変形例に係るECU1の通信処理部20が行う通信処理の手順を示すフローチャートである。まず、通信処理部20は、データ処理手段53a〜53cから送信要求/受信要求が与えられたか否かを調べ(ステップS101)、送信要求/受信要求が与えられていない場合には(S101:NO)、送信要求/受信要求が与えられるまで待機する。送信要求/受信要求が与えられた場合(S101:YES)、通信処理部20は、送信要求/受信要求と共に与えられる処理ID及び要求番号を取得し(ステップS102)、取得した処理ID及び要求番号を基に要求IDを生成して(ステップS103)、タイムアウトテーブル22を参照する(ステップS104)。
次いで、通信処理部20は、タイムアウトテーブル22に送信要求/受信要求元のデータ処理手段53a〜53cに係る情報が既に登録されているか否かを調べる(ステップS105)。タイムアウトテーブル22に情報が登録されていない場合(S105:NO)、このデータ処理手段53a〜53cに係る通信処理は行われていないため、通信処理部20は送信要求/受信要求に係る通信処理を開始する(ステップS108)。タイムアウトテーブル22に情報が登録されている場合(S105:YES)、通信処理部20は、タイムアウトテーブル22に記憶された要求IDと、ステップS103にて生成した要求IDとが一致するか否かを判定する(ステップS106)。要求IDが一致しない場合(S106:NO)、通信処理部20は、データ処理手段53a〜53cに通信不可を通知して(ステップS109)、処理を終了する。
要求IDが一致する場合には(S106:YES)、通信処理部20は、タイムアウトテーブル22の送信フラグ/受信フラグが0であるか否かを判断することにより、送信要求/受信要求元のデータ処理手段53a〜53cに係る通信処理が既に実行中であるか否かを更に調べる(ステップS107)。通信処理が実行中でない場合(S107:NO)、通信処理部20は通信処理を開始する(ステップS108)。通信処理が実行中の場合(S107:YES)、通信処理部20は、データ処理手段53に通信不可を通知して(ステップS109)、処理を終了する。なお、ステップS108にて通信処理を開始した後の処理は、図4及び図5に示したフローチャートのステップS6以降の処理と同じであるため図示及び説明を省略する。
以上の構成の変形例に係る通信装置においては、通信処理部20が送信要求/受信要求を受け付けた場合に、データ処理手段53a〜53cに付された処理IDと送信要求/受信要求に付された要求番号とを基に要求IDを生成してタイムアウトテーブル22に記憶しておく。その後にタイムアウトテーブル22の情報の変更を要する送信要求/受信要求を受け付けた場合、通信処理部20は、記憶しておいた要求IDと新たな送信要求/受信要求に係る要求IDとが一致するか否かを判定し、一致しない場合には新たに受け付けた送信要求/受信要求に係る通信処理を行わない。これらの構成とすることによって、通信装置は、不正なデータ処理手段53の送信要求/受信要求に基づくタイムアウトテーブル22の情報変更が行われることを防止でき、送信処理に伴う通信装置の不具合の発生を低減できる。
(実施の形態3)
実施の形態3においては、通信処理部20がデータ処理手段53の送信要求/受信要求と共に与えられるタイムアウト処理が正当なものであるか否かを判定することで、不正なタイムアウト処理の実行による不具合の発生を防止できる構成について説明する。図15は、本発明の実施の形態3に係るECU1のRAM12及びROM13にて構成されるメモリ空間を説明するための模式図である。実施の形態3に係るECU1は、RAM12及びROM13にて構成されるメモリ空間を2つに分けて使用する。メモリ空間の前半領域(アドレスが小さいほうの領域)は、データ処理プログラム51又は52を記憶するための記憶領域(命令列記憶領域)である。メモリ空間の後半領域(アドレスが大きいほうの領域)は、データ処理プログラム51及び52、並びにその他のプログラムの実行により生成される種々のデータを記憶するための記憶領域(データ記憶領域)である。なお図示の例は、RAM12及びROM13を1つのメモリ空間として扱う構成であるが、これに限るものではなく、RAM12及びROM13をそれぞれ別のメモリ空間として扱う構成であってもよい。また、CPU11は、ROM13の命令列記憶領域に記憶されたデータ処理プログラム51を直接的に実行してもよく、データ処理プログラム51をROM13から読み出してRAM12の命令列記憶領域に記憶し、RAM12の命令列記憶領域に記憶されたデータ処理プログラム12を実行してもよい。
通信処理にタイムアウトが発生した場合に実行されるタイムアウト処理のプログラムは、データ処理プログラム51、52又は通信処理のためのプログラム等と共にメモリ空間の命令列記憶領域に記憶されており、命令列記憶領域からCPU11に読み出されて実行される。データ処理手段53は、送信要求/受信要求を通信処理部20へ与える際に、タイムアウト処理のプログラムのアドレスを送信要求/受信要求と共に通信処理部20へ与えるが、このときにデータ記憶領域の範囲内に含まれるアドレスが通信処理部20へ与えられた場合、不正なタイムアウト処理のアドレスであり、タイムアウト処理を実行することはできない。そこで、実施の形態3に係るECU1の通信処理部20は、送信要求/受信要求と共に与えられたタイムアウト処理のアドレスが命令列記憶領域内のアドレスであるか否かを判定し、命令列記憶領域内のアドレスでない場合にはこの送信要求/受信要求に係る通信処理を行わないようにしてある。
図16は、本発明の実施の形態3に係るECU1の通信処理部20が行う通信処理の手順を示すフローチャートである。まず、通信処理部20は、データ処理手段53から送信要求/受信要求が与えられたか否かを調べ(ステップS71)、送信要求/受信要求が与えられていない場合には(S71:NO)、送信要求/受信要求が与えられるまで待機する。送信要求/受信要求が与えられた場合(S71:YES)、通信処理部20は、送信要求/受信要求と共に与えられるタイムアウト処理のプログラムのアドレスを取得し(ステップS72)、このアドレスがメモリ空間の命令列記憶領域内のアドレスであるか否かを判定する(ステップS73)。
タイムアウト処理のアドレスが命令列記憶領域内のアドレスである場合(S73:YES)、通信処理部20は通信処理を開始する(ステップS74)。また、タイムアウト処理のアドレスが命令列記憶領域内のアドレスでない場合(S73:NO)、通信処理部20は、データ処理手段53に通信不可を通知して(ステップS75)、処理を終了する。なお、ステップS74にて通信処理を開始した後の処理は、図4及び図5に示したフローチャートのステップS2以降の処理と同じであるため図示及び説明を省略する。
以上の構成の実施の形態3に係る通信装置(ECU1)においては、データ処理手段53から送信要求/受信要求と共に与えられるタイムアウト処理のプログラムのアドレスが所定のアドレス範囲内(命令列記憶領域内)であるか否かを通信処理部20にて判定し、このアドレス範囲内でない場合には通信処理を行わない構成とすることにより、タイムアウトが発生した際に不正な処理が行われることを防止することができ、通信処理が停止するなどの不具合が発生する虞を低減することができる。
なお、本実施の形態においては、メモリ空間を命令列記憶領域及びデータ記憶領域に分割し、タイムアウト処理のプログラムのアドレスが命令列記憶領域内であるか否かを判定する構成としたが、これに限るものではなく、例えばメモリ空間にタイムアウト処理のプログラムを記憶する領域を更に設けて、送信要求/受信要求と共に与えられたタイムアウト処理のアドレスがこの領域内であるか否かを判定するなど、判定のためのアドレス範囲をその他のアドレス範囲としてもよい。
なお、実施の形態3に係る通信装置(ECU1)のその他の構成は、実施の形態1に係る通信装置の構成と同様であるため、同様の箇所には同じ符号を付して詳細な説明を省略する。
(変形例)
上述の実施の形態3に係る通信装置は、タイムアウト処理のプログラムのアドレスが適正な範囲内でなければ通信処理を行わない構成である。これに対して変形例に係る通信装置は、タイムアウト処理のプログラムのアドレスが適正な範囲内でない場合には、予め定められたデフォルトのタイムアウト処理を行う構成である。デフォルトのタイムアウト処理としては、例えば通信処理の停止、又は送信要求/受信要求のキャンセル等の処理を行う構成とすることができるが、これらに限るものではない。また、デフォルトのタイムアウト処理は、通信処理部20に予め回路又はプログラム等として組み込まれている構成であってもよく、コンパイラ100が組み込む構成であってもよく、プログラマがあらかじめ作成しておく構成であってもよい。
図17は、本発明の実施の形態3の変形例に係るECU1の通信処理部20が行うタイムアウト処理の手順を示すフローチャートである。まず、通信処理部20は、送信要求/受信要求に係る通信処理がタイムアウトしたか否かを判定し(ステップS121)、タイムアウトしていない場合には(S121:NO)、通信処理がタイムアウトするまで待機する。通信処理がタイムアウトした場合(S121:YES)、通信処理部20は、タイムアウトした通信処理に係るタイムアウト処理のプログラムのアドレスをタイムアウトテーブル22から取得し(ステップS122)、このアドレスがメモリ空間の命令列記憶領域内のアドレスであるか否かを判定する(ステップS123)。
タイムアウト処理のアドレスが命令列記憶領域内のアドレスである場合(S123:YES)、通信処理部20はこのアドレスに記憶された個別のタイムアウト処理を実行し(ステップS124)、処理を終了する。また、タイムアウト処理のアドレスが命令列記憶領域内のアドレスでない場合(S123:NO)、通信処理部20は、予め定められたデフォルトのタイムアウト処理を実行し(ステップS125)、処理を終了する。
以上の構成の変形例に係る通信装置においては、送信要求/受信要求と共に指定されたタイムアウト処理のプログラムのアドレスが適正な範囲内でない場合に、予め定められたデフォルトのタイムアウト処理を行う構成とすることにより、タイムアウトが発生した際に不正な処理が行われることを防止することができ、通信処理が停止するなどの不具合が発生する虞を低減することができる。
(実施の形態4)
実施の形態4においては、通信処理部20が備えるタイマ23に対するタイマセット要求及びタイマリセット要求をデータ処理手段53がタイマ23へ(又は通信処理部20を介して間接的にタイマ23へ)与えることができる場合に、不正なデータ処理手段53によるタイマのリセットを防止することができる構成について説明する。図18は、本発明の実施の形態4に係るECU1の構成を説明するための模式図である。
実施の形態4に係るECU1では、データ処理プログラム51又は52の実行によってCPU11上に実現された一又は複数のデータ処理手段53が、通信処理部20へ送信要求/受信要求を与えることができると共に、通信処理部20のタイマ23へタイマセット要求(タイマ23にタイムアウト時間を設定して計時を開始させる要求)及びタイマリセット要求(タイマ23の計時を停止し、計時された時刻を初期値に戻させる要求)を与えることができる。タイマ23は、設定されたタイムアウト時間に達した場合に、タイムアウトテーブル22の送信フラグ/受信フラグを1に設定してタイムアウト発生の通知を行うことができる。なお、タイマ23は複数のデータ処理手段53からそれぞれ与えられる複数のタイマセット要求及びタイマリセット要求を受け付けて複数の時刻を計時することができ、複数の通信処理に係るタイムアウトの判定を行うことができるものとする。ただし、タイマ23は、1つのデータ処理手段53について、1つのタイムアウト判定のみを行うことができるものとする。
また、実施の形態4のタイマ23は、タイマセット要求を受け付けて計時を開始する際に、このタイマセット要求元のデータ処理手段53に付されたIDを記憶するようにしてある。その後、計時が完了する(タイムアウトが判定される)前にリセット要求が与えられた場合には、タイマ23はリセット要求に係るIDと記憶したIDとを比較して、両IDが一致する場合にのみリセットを行うようにしてある。
図19は、本発明の実施の形態4に係るECU1のタイマ23が行う要求受付処理の手順を示すフローチャートである。まず、通信処理部20のタイマ23は、データ処理手段53からタイマセット要求が与えられたか否かを調べる(ステップS81)。タイマセット要求が与えられていない場合(S81:NO)、タイマ23はデータ処理手段53からタイマリセット要求が与えられたか否かを更に調べる(ステップS82)。タイマリセット要求が与えられていない場合(S82:NO)、タイマ23はステップS81へ戻ってタイマセット要求又はタイマリセット要求が与えられるまで待機する。
データ処理手段53からタイマセット要求が与えられた場合(S81:YES)、タイマ23は、タイマセット要求と共に与えられるデータ処理手段53のIDを取得し(ステップS83)、取得したIDを記憶する(ステップS84)。その後、タイマ23はタイムアウト時間を設定してタイマセットを行い(ステップS85)、計時処理を開始して(ステップS86)、要求受付処理を終了する。
データ処理手段53からタイマリセット要求が与えられた場合(S82:YES)、タイマ23は、タイマリセット要求と共に与えられるデータ処理手段53のIDを取得し(ステップS87)、取得したIDとステップS84にて記憶したIDとが一致するか否かを調べる(ステップS88)。両IDが一致する場合(S88:YES)、タイマ23は計時処理を停止し(ステップS89)、計時した時刻を初期化してタイマリセットを行い(ステップS90)、要求受付処理を終了する。また、両IDが一致しない場合には(S88:NO)、タイマ23はデータ処理手段53へエラーを通知して(ステップS91)、要求受付処理を終了する。
以上の構成の実施の形態4に係る通信装置(ECU1)においては、データ処理手段53からタイマセット要求が与えられた場合にタイマ23がIDを記憶しておき、タイマリセット要求が与えられた場合にIDの比較を行って、IDが一致する場合にのみタイマリセットを行う構成とすることによって、異なるIDを有する他のデータ処理手段53による不正なタイマ23のリセットが行われることを防止でき、通信処理が停止するなどの不具合が発生する虞を低減することができる。
なお、本実施の形態においては、タイマ23が複数のデータ処理手段53からそれぞれ与えられる複数のタイマセット要求及びタイマリセット要求を受け付けることができ、各データ処理手段53に係る送信処理のタイムアウトを判定することができる構成としたが、これに限るものではなく、タイマ23が1つの通信処理のタイムアウト判定のみを行う構成であってもよい。
なお、実施の形態4に係る通信装置(ECU1)のその他の構成は、実施の形態1に係る通信装置の構成と同様であるため、同様の箇所には同じ符号を付して詳細な説明を省略する。
1 ECU(通信装置)
11 CPU(処理部)
12 RAM(メモリ)
13 ROM
20 通信処理部(送信処理手段、タイムアウト判定手段)
21 通信部
22 タイムアウトテーブル
23 タイマ
51 データ処理プログラム
52 データ処理プログラム
53、53a、53b、53c データ処理手段
100 コンパイラ(コンピュータプログラム)
101 ソースプログラム
102 オブジェクトプログラム

Claims (10)

  1. データ処理を行う一又は複数のデータ処理手段と、該データ処理手段からデータの送信要求/受信要求を受け付けて該データの送信/受信に係る処理を行う通信処理手段とを備える通信装置において、
    前記通信処理手段は、
    受け付けた送信要求/受信要求に係る通信処理のタイムアウトを判定するタイムアウト判定手段と、
    受け付けた送信要求/受信要求及び該送信要求/受信要求のタイムアウトに係る情報を対応付けて記憶するタイムアウトテーブルと
    を有し、
    前記データ処理手段による前記タイムアウトテーブルに記憶された情報の読み出しを許可し、前記データ処理手段による前記タイムアウトテーブルに記憶された情報の変更を禁止してあること
    を特徴とする通信装置。
  2. 前記データ処理手段は、個別の第1識別子がそれぞれ付され、送信要求/受信要求に個別の第2識別子をそれぞれ付して前記通信処理手段へ与えるようにしてあり、
    前記第1識別子及び第2識別子を基に第3識別子を生成する生成手段を備え、
    前記通信処理手段は、
    受け付けた送信要求/受信要求に係るデータ処理手段に付された第1識別子、及び前記送信要求/受信要求に付された第2識別子に基づいて生成された第3識別子を記憶しておき、
    前記タイムアウトテーブルに記憶した情報の変更を要する送信要求/受信要求を受け付けた場合、前記タイムアウトテーブルに記憶した情報に係る第3識別子と、受け付けた前記送信要求/受信要求に係る第1識別子及び第2識別子に基づいて生成された第3識別子とが一致するか否かを判定し、
    両識別子が一致しないと判定した場合に、前記送信要求/受信要求に係る通信処理を行わないようにしてあること
    を特徴とする請求項1に記載の通信装置。
  3. プログラムを記憶するメモリと、
    該メモリに記憶されたプログラムを読み出して実行する処理部と
    を備え、
    前記データ処理手段は、前記処理部が実行したデータ処理プログラムであり、
    前記通信処理手段は、
    受け付けた送信要求/受信要求に係るデータ処理プログラムが記憶された前記メモリのアドレスを記憶しておき、
    前記タイムアウトテーブルに記憶した情報の変更を要する送信要求/受信要求を受け付けた場合、前記タイムアウトテーブルに記憶した情報に係るデータ処理プログラムのアドレスと、受け付けた前記送信要求/受信要求に係るデータ処理プログラムのアドレスとが一致するか否かを判定し、
    両アドレスが一致しないと判定した場合に、前記送信要求/受信要求に係る通信処理を行わないようにしてあること
    を特徴とする請求項1に記載の通信装置。
  4. プログラムを記憶するメモリと、
    該メモリに記憶されたプログラムを読み出して実行する処理部と
    を備え、
    前記データ処理手段は、
    前記処理部が実行したデータ処理プログラムであり、
    タイムアウトと判定された場合に行うタイムアウト処理のプログラムが記憶された前記メモリのアドレスを、送信要求/受信要求と共に前記通信処理手段へ与えるようにしてあり、
    前記通信処理手段は、
    受け付けた送信要求/受信要求に含まれる前記アドレスが所定のアドレス範囲に含まれるか否かを判定し、
    前記アドレスが所定のアドレス範囲に含まれないと判定した場合に、前記タイムアウト処理のプログラムに代えて、予め定められたタイムアウト処理を行うようにしてあること
    を特徴とする請求項1乃至請求項3のいずれか1つに記載の通信装置。
  5. プログラムを記憶するメモリと、
    該メモリに記憶されたプログラムを読み出して実行する処理部と
    を備え、
    前記データ処理手段は、
    前記処理部が実行したデータ処理プログラムであり、
    タイムアウトと判定された場合に行うタイムアウト処理のプログラムが記憶された前記メモリのアドレスを、送信要求/受信要求と共に前記通信処理手段へ与えるようにしてあり、
    前記通信処理手段は、
    受け付けた送信要求/受信要求に含まれる前記アドレスが所定のアドレス範囲に含まれるか否かを判定し、
    前記アドレスが所定のアドレス範囲に含まれないと判定した場合に、前記送信要求/受信要求に係る通信処理を行わないようにしてあること
    を特徴とする請求項1乃至請求項3のいずれか1つに記載の通信装置。
  6. 前記タイムアウト判定手段が判定を行うための計時手段を備え、
    前記データ処理手段は、個別の識別子がそれぞれ付してあり、計時開始又は計時停止の要求を前記識別子と共に前記計時手段へ与えるようにしてあり、
    前記計時手段は、
    前記計時開始の要求が与えられた場合に、該計時開始の要求元の前記データ処理手段に付された前記識別子を記憶し、
    前記計時停止の要求が与えられた場合に、該計時停止の要求元の前記データ処理手段に付された識別子が、記憶した識別子と一致するか否かを判定し、
    両識別子が一致すると判定した場合に計時停止を行うようにしてあること
    を特徴とする請求項1乃至請求項5のいずれか1つに記載の通信装置。
  7. 前記タイムアウトテーブルに記憶する前記タイムアウトに係る情報には、前記送信要求/受信要求に係るデータの送信がタイムアウトしたか否かを示すフラグ、タイムアウトを判定する時間、及び通信処理の経過時間を含むこと
    を特徴とする請求項1乃至請求項6のいずれか1つに記載の通信装置。
  8. コンピュータに、ソースプログラムを、請求項1乃至請求項5のいずれか1つに記載の通信装置のデータ処理を行うための実行プログラムに変換する処理を行わせるコンピュータプログラムであって、
    コンピュータに、
    前記ソースプログラムから他の機器へのデータの送信要求/受信要求を抽出させるステップと、
    抽出した送信要求/受信要求に、前記通信装置の通信処理手段による通信処理に必要な情報が全て含まれているか否かを判定させるステップと、
    前記必要な情報が含まれていないと判定した場合、前記ソースプログラムを前記実行プログラムに変換する処理を中止させるステップと
    を有することを特徴とするコンピュータプログラム。
  9. コンピュータに、
    ソースプログラムから他の機器へのデータの送信要求/受信要求を抽出させるステップと、
    抽出した送信要求/受信要求に、前記通信装置の通信処理手段による通信処理に必要な情報が全て含まれているか否かを判定させるステップと、
    前記必要な情報が含まれていないと判定した場合に、警告を出力させるステップと
    を有することを特徴とするコンピュータプログラム。
  10. 前記通信処理に必要な情報には、送信要求/受信要求を識別するための識別子、タイムアウトを判定する時間、及びタイムアウトと判定された場合に行う処理を含み、更に送信要求の場合には送信するデータを含むこと
    を特徴とする請求項8又は請求項9に記載のコンピュータプログラム。
JP2009037027A 2008-03-21 2009-02-19 通信装置 Expired - Fee Related JP5278027B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009037027A JP5278027B2 (ja) 2008-03-21 2009-02-19 通信装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008074257 2008-03-21
JP2008074257 2008-03-21
JP2009037027A JP5278027B2 (ja) 2008-03-21 2009-02-19 通信装置

Publications (2)

Publication Number Publication Date
JP2009260939A true JP2009260939A (ja) 2009-11-05
JP5278027B2 JP5278027B2 (ja) 2013-09-04

Family

ID=41387715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009037027A Expired - Fee Related JP5278027B2 (ja) 2008-03-21 2009-02-19 通信装置

Country Status (1)

Country Link
JP (1) JP5278027B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001229147A (ja) * 2000-02-17 2001-08-24 Nec Shizuoka Ltd Cpu間通信制御方法および携帯情報端末
JP2007269168A (ja) * 2006-03-31 2007-10-18 Pioneer Electronic Corp 電子機器及び移動制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001229147A (ja) * 2000-02-17 2001-08-24 Nec Shizuoka Ltd Cpu間通信制御方法および携帯情報端末
JP2007269168A (ja) * 2006-03-31 2007-10-18 Pioneer Electronic Corp 電子機器及び移動制御方法

Also Published As

Publication number Publication date
JP5278027B2 (ja) 2013-09-04

Similar Documents

Publication Publication Date Title
US8307379B2 (en) Determining an extension to use to process an input object to a call in a program
CN101300545B (zh) 数据系统中运行的方法及装置
US8640150B2 (en) Information processing terminal, information processing method, and program product
CA3167549A1 (en) Method and apparatus for authority control, computer device and storage medium
KR101478903B1 (ko) 인스턴스 호스팅 환경에서 노드의 프로파일에 기반하여 노드의 정보를 처리하기 위한 방법 및 시스템
KR101478902B1 (ko) 인스턴스 호스팅 환경에서 노드 별 특성에 따른 프로파일에 기초하여 서비스를 제공하는 방법 및 시스템
US20080209265A1 (en) Information-Processing Method and Apparatus
CN111090442B (zh) 一种应用更新方法、装置和存储介质
JP5278027B2 (ja) 通信装置
US8407175B2 (en) Method, apparatus and product for SAT solving using templates clauses
JPH03229352A (ja) プログラム変更方法
JP5276625B2 (ja) 更新api検出システム、更新api検出装置、更新api検出方法、および更新api検出プログラム
CN106922189B (zh) 设备代理装置及其控制方法
KR101399800B1 (ko) 인스턴스 호스팅을 위한 서비스 제공 방법 및 서비스 제공 시스템
CN110321132B (zh) 一种代码发布方法和装置
JP6247237B2 (ja) オートリソースロギングシステム、オートリソースロギング方法及びプログラム
JP7294441B2 (ja) 評価装置、評価システム、評価方法及びプログラム
JP6089794B2 (ja) 機器、情報処理システム、情報処理方法、及びプログラム
CN114638004B (zh) 一种数据保护方法、装置及存储介质
JP4618240B2 (ja) オブジェクト指向型車両用制御システム及びプログラム搭載支援システム
EP1168180A2 (en) Input/output in embedded systems
KR101478909B1 (ko) 인스턴스 호스팅 환경에서의 외부 인터페이스 연결을 위한 서비스 제공 방법 및 서비스 제공 시스템
CN116775152A (zh) 芯片启动方法及芯片
JP2006268612A (ja) 処理時間測定システム及び処理時間測定プログラム
JP6194641B2 (ja) 情報処理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130403

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130423

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130506

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees