JP4478731B2 - 通信装置及びゲートウェイ装置 - Google Patents
通信装置及びゲートウェイ装置 Download PDFInfo
- Publication number
- JP4478731B2 JP4478731B2 JP2009036036A JP2009036036A JP4478731B2 JP 4478731 B2 JP4478731 B2 JP 4478731B2 JP 2009036036 A JP2009036036 A JP 2009036036A JP 2009036036 A JP2009036036 A JP 2009036036A JP 4478731 B2 JP4478731 B2 JP 4478731B2
- Authority
- JP
- Japan
- Prior art keywords
- flag
- data
- frame data
- search
- transmission
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/60—Router architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Description
さらに、ID毎バッファは、中継するチャネルごとに設けられている。例えば、ゲートウェイECUが中継を担当するチャネル数が2チャネルであれば、ID毎バッファも2つ設けられている。
例えば、図1(B)に示すようにID毎バッファが100種類のIDを格納できるバッファであるとする。100番目のバッファ領域に格納されたフレームデータを検索するためには、先頭のバッファ領域から検索を開始して100回の検索を行わなければならない。従って、ゲートウェイECUの中継性能を維持できるようにするためには、高性能なCPUを搭載するか、中継を行うバスの数を制限する必要がある。
また、特許文献1及び2にも、バッファに格納されたフレームデータの検索効率を改善するような技術の開示はない。
前記送信データセット処理部は、所定周期で前記検索処理を行うが、前記メッセージボックスに送信すべきデータを格納する空き領域がない場合には前記検索処理を行わないことを特徴としている。
本発明によれば、第1フラグを所定数ごとにまとめたグループごとに設けた第2フラグの検索を行ってから第1フラグの検索を行うので、検索するデータ数が増加してもフレームデータの検索を効率的に行うことができる。
また、メッセージボックスに空き領域がない場合には検索処理を行わないようにすることで、処理負荷をより軽減して送信データの送信遅れをより少なくすることが可能となる。また、メッセージボックスに送信データのセットができるようになった時点での最新のデータ状態に基づいて検索処理を行うことができるので、前回検索を行わなかった時点で更新されていなかったIDのデータが新たに更新された場合や、更新されていたIDの送信データがさらに上書き更新されるような場合にも、対応した検索処理が可能となる。
従って、フレームデータの検索をハードウェアを用いて効率的に行うことができる。
従って、送信すべきデータを記憶した記憶手段の記憶領域に対応する第1フラグと第2フラグとを記憶したフラグ記憶部の記憶領域の検出が容易になる。
また、本発明のゲートウェイ装置は、複数の通信チャネル間でのフレームデータの転送制御を行うゲートウェイ装置であって、通信チャネルから受信したフレームデータを転送する通信チャネルを検索し、検索した通信チャネルに対応する送信FIFOにフレームデータを記憶するルーティング処理部と、前記送信FIFOから読み出されたフレームデータを記憶する、フレームデータのIDごとに記憶領域が分割された送信バッファと、前記送信バッファの記憶領域ごとに設けられ、前記記憶領域のデータが更新されているか否かを示す第1フラグと、前記第1フラグを所定数ごとにまとめたグループごとに設けられ、前記グループにおける第1フラグの少なくとも1つのデータが更新された状態を示しているときにデータの更新状態を示す第2フラグとを記憶するフラグ記憶部と、前記送信FIFOから読み出されたフレームデータを前記送信バッファに記憶するとともに、前記フラグ記憶部に記憶された第1フラグと第2フラグを更新するデータ記憶処理部と、前記フラグ記憶部に記憶された第2フラグを検索してから対応する第1フラグを検索することで、前記送信バッファからフレームデータを抽出する検索処理を行い、抽出したフレームデータをメッセージボックスにセットする送信データセット処理部と、前記メッセージボックスにセットされたフレームデータを通信チャネルに送信する送信処理部と、を有し、前記送信データセット処理部は、所定周期で前記検索処理を行うが、前記メッセージボックスにフレームデータを格納する空き領域がない場合には前記検索処理を行わないことを特徴としている。
本発明は、第1フラグを所定数ごとにまとめたグループの更新状態を示す第2フラグを設けて、第2フラグを検索してから対応する第1フラグを検索する。従って、送信バッファに記憶したフレームデータのデータ数が増加しても、フレームデータの検索を効率的に行うことができる。
ゲートウェイ装置1000は、通信バスに接続したECU間で送受信されるフレームデータの中継を行う装置である。本実施例のゲートウェイ装置1000には、通信バスとしてCAN(Controller Area Network)バス2000、CANバス2001、CANバス2002の3つが接続されている。
CANバス2000、2001、2002には、それぞれ複数のECUが接続されている。本実施例では、CANバス2000には、ECU2010、2011、2012が接続されており、CANバス2001には、ECU2020、2021、2022が接続されており、CANバス2002には、ECU2030、2031、2032が接続されている。
ECU2010〜2012、2020〜2022、2030〜2032は、例えば、エンジンECU、ボディECU、パワーマネジメントECU、エアバッグECU等の車両制御用のECUである。
ECU2010〜2012、2020〜2022、2030〜2032は、図示を省略するが、異なる通信方式又は通信速度で通信する通信網(つまり、ネットワーク)を介してゲートウェイ装置1000と接続する。なお、本実施例においては、ECU2010〜2012、2020〜2022、2030〜2032は、CANプロトコルを用いてゲートウェイ装置1000と通信を行うとして説明するが、これに限定される訳ではなく、例えば、ECU2010〜2012、2020〜2022、2030〜2032は、LIN(Local Interconnect Network)プロトコルを用いて通信する構成を採用できる。
なお、本実施例において、ゲートウェイ装置1000は、3つのCANコントローラ1110から1130で構成されるとして説明するが、この数に限定される訳ではなく、CANコントローラの数が複数であればよい。
また、CANコントローラ1110から1130は、それぞれ同様の接続、構成及び機能を有するため、以下では、代表してCANコントローラ1110について説明を行う。
また、CANコントローラ1110は、ハードウェア中継部1300又はソフトウェア処理部1400から、中継先であるECU2010ないし2012へ中継するフレームデータを取得し、取得したフレームデータをECU2010ないし2012へ送信する。
バッファ1111は、例えば、RAM(Random Access Memory)及びレジスタで構成され、CAN通信部1114に接続している。バッファ1111は、互いに関連付けられた複数のメッセージボックス1112と完了フラグ1113とで構成される。
また、送信用の完了フラグ1113は、送信用メッセージボックス1112Bにフレームデータが格納された場合に立ち下げられる(つまり、OFFとなる)フラグである。また、記憶していたフレームデータがECU2010に送信されると、フラグが立ち上げられる(つまり、ONとなる)。
フレームデータのCANバス2000への送信が完了すると、CAN通信部1114は、送信が完了したデータを保存した送信用メッセージボックス1112Bに関連付けた完了フラグを立ち上げる。
尚、CANインタフェース部1200、ハードウェア中継部1300及びソフトウェア処理部1400は、内部バスB2を介して互いにデータ転送が可能なように接続している。
なお、記憶部1402には、後述する図9に示すデータ更新フラグ2100とインデックスフラグ2200とが記録される。
検索エンジン部1310によって、フレームデータが送信先のチャネルに対応した送信FIFO(ここでは説明を簡略化するため、フレームデータが送信FIFO1331に格納されたものとして説明を行う)に格納されると、検索エンジン部1310はソフトウェア処理部1400に対して割込信号を出力する。なお、割込信号の出力タイミングは、検索エンジン部1310が1フレームのフレームデータを送信FIFO1331に格納するごとに行ってもよいし、一定数のフレームデータを送信FIFO1331に格納した後に行ってもよい。また、図7には、検索エンジン部1310がソフトウェア処理部1400に割込信号を出力するパスについては示していない。検索エンジン部1310から出力された割込信号は、図2に示す割込制御部1403の制御によって演算部1401に出力される。
なお、IDは、CAN通信を行うノード(すなわち、図2に示すCANバス2000、2001、2002に接続した各ECU)ごとに設定されており、フレームデータを送信する送信元のノードによってフレームデータに付与される。また、ID(すなわち送信先ノード)に応じて平準化して送信するフレームであるのか、平準化せずに送信するフレームデータであるのかが予め設定されている。
ビット検索器1600によって送信すべきフレームデータを記憶したID毎バッファ1501、1502の記憶領域を検出すると、ソフトウェア処理部1400は、検出した記憶領域からフレームデータを取り出して、送信用メッセージボックス1112Bに格納する。
なお、ソフトウェア処理部1400からビット検索器1600への検索要求は、一定周期で行ってもよいし、送信用メッセージボックス1112Bに空きができた場合に行ってもよい。また、ソフトウェア処理部1400は、一定周期でビット検索器1600に検索要求を出力すると共に、送信用メッセージボックス1112Bに空きができたことを検出したときにも、検索要求をビット検索器1600に出力するようにしてもよい。送信用メッセージボックス1112Bに空きがあるか否かの判定は、CANコントローラ1110ないし1130からの送信完了の割込信号によって判定することができる。CANコントローラ1110ないし1130は、送信用メッセージボックス1112Bに格納されたフレームデータを送信相手として設定されたECU宛てに送信すると、ソフトウェア処理部1400に対して送信完了の割込信号を出力する。ソフトウェア処理部1400は、この割込信号を入力して、送信用メッセージボックス1112Bに空きができたことを認識する。
ROM3002には、CPUコア3000が演算に使用するプログラムが格納されており、CPUコア3000がプログラムに従った演算を行うことで、図2に示すソフトウェア処理部1400内の演算部1401、割込制御部1403が構成される。また、RAM3001には、CPUコア3000が演算に使用する変数等が格納される。また、RAM3001は、図2に示す記憶部1402に該当する。RAM3001(記憶部1402)には、後述する図9に示すデータ更新フラグ2100とインデックスフラグ2200とが記録される。乗算器3003は、CPUコア3000に代わって乗算演算を行う演算部である。
図9に示すようにRAM3001のフラグデータ記憶領域には、第1フラグとしてのデータ更新フラグ2100と、第2フラグとしてのインデックスフラグ2200とが記録されている。
本実施例のデータ更新フラグ2100は、16行8列のマトリクス状に構成したRAM3001のフラグデータ記憶領域に記憶される。ID毎バッファ1501、1502にフレームデータが格納されると、対応するデータ更新フラグ2100の状態が[0]から[1]に変更される。すなわち、フラグを記録した状態となり、フレームデータが更新された状態を表す。
例えば、図9に示すデータ更新フラグ2100の6行目(図9に示すデータ更新フラグ2100では、0行から15行のうちの5行)のいずれかのビットに1が記録されていると、対応するインデックスフラグ2200のビット「05」に1が記録される。
このように、データ更新フラグ2100の複数ビットの情報を集約したインデックスフラグ2200を設けることで、フレームデータを記憶したID毎バッファの記憶領域の検索を効率的に行うことができる。
また、データ更新フラグ2100の1行のビット数を2のべき乗とすることで、データ更新フラグ2100のビット位置、インデックスフラグ2200のビット位置の割り出しを簡単に行うことができる。
例えば、フレームデータをID毎バッファ1501、1502に格納すると、ソフトウェア処理部1400は、ID番号を8で割ってデータ更新フラグ2100のビット位置と、インデックスフラグ2200のビット位置とを算出する。このとき、データ更新フラグ2100のビット数を2のべき乗とすると、ID番号を8で除算する処理を省くことができる。例えば、IDを[50]とすると、[50]は2進数で110010であるが、上位3ビット(110)がデータ更新フラグ2100の行情報、すなわち、インデックスフラグ2200のビット位置情報を表す。また、下位3ビットがデータ更新フラグ2100の列情報を表している。
フラグが記録されたインデックスフラグ2200又はデータ更新フラグ2100のビット位置をハードウェアのビット検索器1600に行わせるので、ソフトウェア処理部1400の処理負荷を軽減させることができる。
なお、図10に示すビット検索サポートレジスタ2300やビット検索ステータスレジスタ2400も、図8に示すCPUコア3000やビット検索器1600が図8に示すRAM3001を記憶領域として使用することで実現される。
まず、図11を参照しながらビット検索器1600にインデックスフラグ2200を検索させる処理について説明する。
ソフトウェア処理部1400は、まず、送信用メッセージボックス(以下では説明を簡略化するため、送信用メッセージボックス1112Bへのデータの格納を例に説明する)1112Bに空き領域があるか否かと、インデックスフラグ2200のビットがすべて0であるか否かを判定する(ステップS11)。送信用メッセージボックス1112Bに空き領域がなかった場合や、インデックスフラグ2200のビットがすべて0であった場合には(ステップS11/no)、ソフトウェア処理部1400は、この処理を終了する。
初回の検索(検索回数が0回)の場合には、検索変数はビット検索器1600に検索を行わせるインデックスフラグ2200の検索開始のビット位置を示している。
次に、ソフトウェア処理部1400は、検索回数を表す変数を参照して検索回数を判定する(ステップS13)。
検索回数が0回であった場合には(ステップS13/0回)、ソフトウェア処理部1400は、検索変数が示すインデックスフラグ2200のビット(検索開始のビット位置)よりも小さいビットをマスクする。そして、ソフトウェア処理部1400は、検索変数が示すインデックスフラグ2200のビットと、それよりも上位のビットとをビット情報としてビット検索サポートレジスタ2300に書き込む(ステップS14)。例えば、図13(A)に示すように、検索変数が示す検索開始のビット位置が、インデックスフラグ2200のビット4であった場合には、ビット4よりも下位のビット0〜ビット3をマスクしたインデックスフラグ2200のビット情報をビット検索サポートレジスタ2300に書き込む。すなわち、インデックスフラグ2200のビット4〜ビット15の情報がビット検索サポートレジスタ2300に書き込まれる。
ビット検索器1600は、ビット検索サポートレジスタ2300に書き込まれたインデックスフラグ2200のビット情報を取得し、取得したビット情報が示すインデックスフラグ2200のビット位置のうち、フラグが記録されているビット位置を検索する。ビット検索器1600は、検索結果をビット検索ステータスレジスタ2400に書き込む。図13(A)に示す例では、インデックスフラグ2200のビット4からビット15の中でフラグが記録されたビット位置の情報が検索される。ソフトウェア処理部1400は、ビット検索器1600の検索結果を記録したビット検索ステータスレジスタ2400を参照して、フラグが記録されているインデッスフラグ2200のビット位置を判定する。
例えば、検索開始位置のビットがインデックスフラグ2200のビット4であり、検索変数が示すインデックスフラグ2200のビット位置がビット1であった場合、ソフトウェア処理部1400は、図13(B)に示すようにビット4よりも上位のビット(ビット4〜ビット15ビット)と、検索変数が示すインデックスフラグ2200のビット位置(ビット1)よりも下位のビット(ビット0)とをマスクしてビット検索サポートレジスタ2300に書き込む。ビット検索器1600は、ビット検索サポートレジスタ2300に書き込まれたインデックスフラグ2200のビット情報を取得する。そして、ビット検索器1600は、取得したビット情報が示すインデックスフラグ2200のビット位置のうち、フラグが記録されているビット位置を検索する。ビット検索器1600は、検索結果をビット検索ステータスレジスタ2400に書き込む。
また、検索回数が2回であった場合には(ステップS13/2回)、ソフトウェア処理部1400はこの処理を終了する。
ソフトウェア処理部1400は、1が記録されていると判定されたインデックスフラグ2200のビット位置情報がビット検索ステータスレジスタ2400に記録されていなかった場合には(ステップS16/yes)、検索変数を初期化する(ステップS18)。その後、ソフトウェア処理部1400は、検索回数を1インクリメントして(ステップS19)、次の検索をビット検索器1600に実行させる(ステップS13)。
初回の検索では、ビット検索器1600は、図13(C)に示す右上(0,0)のSからビットの検索(データありを示すフラグが記録されているか否かの検索)を開始する。その後、ビット検索器1600は、Sの左側のゾーンAを右から左に検索する。ゾーンAを検索終了すると、ビット検索器1600は、図13(C)に示すゾーンBを右から左、上から下に検索する。
ゾーンCを検索終了後、ビット検索器1600は、図13(D)に示すゾーンDを右から左、上から下に検索する。ゾーンDの検索を終了すると、ビット検索器1600は、ゾーンEを右から左、上から下に検索する。
最後にビット検索器1600は、検索開始位置(図13(D)に示す4行4列目のビット)の右側のゾーンFを右から左へ検索する。また、検索の途中でフラグが記録されているビットを検出した場合、次回の検索開始位置を、検出したフラグの記録されているビット位置に変更(検索変数が示すビット位置の変更)し、検索処理を終了する。
まず、ソフトウェア処理部1400は、ビット検索器1600によってフラグが記録されている(1が記録されている)と判定されたインデックスフラグ2200のビット位置が、検索変数の示すインデックスフラグ2200のビット位置と同じであるか否かを判定する(ステップS31)。すなわち、ソフトウェア処理部1400は、ビット検索器1600によって1が記録されていると判定されたインデックスフラグ2200のビット位置を検索変数が示しているか否かを判定する。
例えば、ビット検索器1600によるインデックスフラグ2200の検索において、検索変数の示すインデックスフラグ2200のビット位置がビット4であった場合、ソフトウェア処理部1400は、上述したようにインデックスフラグ2200のビット0〜ビット3をマスクしたビット情報をビット検索サポートレジスタ2300に書き込み、ビット検索器1600にインデックスフラグ2200の検索を行わせている。このとき、ビット検索器1600の検索結果には、検索変数が示すビット4に1が記録されているという判定結果と、それよりも上位のビット5〜ビット15のいずれかに1が記録されているという判定結果と、ビット4〜ビット15には1が記録されているビットは無いという判定結果とがある。
検索変数が示すビット4に1が記録されているという判定結果であれば、ビット検索器1600によるインデックスフラグ2200の検索結果は、検索変数が示すインデックスフラグ2200のビット位置と同じになる。また、ビット5〜ビット15のいずれかに1が記録されているという判定結果であれば、ビット検索器1600のインデックスフラグ2200の検索結果と、検索変数が示すインデックスフラグ2200のビット位置とは異なる。
ビット検索器1600によって1が記録されていると判定されたインデックスフラグ2200のビット位置を検索変数が示している場合には(ステップS31/yes)、ソフトウェア処理部1400はステップS32に移行する。
ステップS31で、ビット検索器1600によって1が記録されていると判定されたインデックスフラグ2200のビット位置を検索変数が示していると判定された場合(ステップS31/yes)、ビット検索器1600によって1が記録されていると判定されたインデックスフラグ2200のビット位置と、データ更新フラグ2100の検索開始行とが一致する。この場合、図14(A)に示すようにデータ更新フラグ2100の検索開始行の途中のビット(図14(A)に示す例では、ビット2)から検索を開始してしまう可能性がある。すなわち、前回の検索終了位置から検索を開始するため、検索開始行の途中のビットから検索を開始する可能性がある。このため、ステップS32の判定ステップを設けている。
ステップS32の判定結果がyesの場合、すなわち、データ更新フラグ2100の初回の検索では、ソフトウェア処理部1400は、図14(B)に示すように検索変数が示すデータ更新フラグ2100のビット位置よりも小さいビットをマスクしたビット情報をビット検索サポートレジスタ2300に書き込む(ステップS34)。なお、ここでの検索変数は、データ更新フラグ2100の検索位置を示す変数である。また、ステップS32の判定結果がnoの場合、ソフトウェア処理部1400は、図14(C)に示すように検索変数が示すデータ更新フラグ2100のビット位置以下のビットと、検索開始位置のデータ更新フラグ2100のビット及びこのビットよりも上位のビットとをマスクし、マスクしたデータ更新フラグ2100のビット情報をビット検索サポートレジスタ2300に書き込む(ステップS33)。
ソフトウェア処理部1400は、ビット検索ステータスレジスタ2400に1が記録されていると判定されたデータ更新フラグ2100のビット位置情報が記録されていなかった場合には(ステップS35/yes)、データ更新フラグ2100の検索位置を示す検索変数をデータ更新フラグ2100の0ビット(先頭)に変更する。また、インデックスフラグ2200のビット位置を示す検索変数を、ステップS33、S34で処理したビット位置から1つ下の行に変更する。例えば、ステップS33、S34の処理をデータ更新フラグ2100の3行目で行っていれば、処理対象の行をデータ更新フラグ2100の4行目に移す。
ビット検索器1600は、ビット検索サポートレジスタ2300に書き込まれたデータ更新フラグ2100のビット情報から、1が記録されているデータ更新フラグ2100のビット位置を検索する。ビット検索器1600は、検索結果をビット検索ステータスレジスタ2400に格納する。
また、前回ビット検索器1600が検索したフレームデータの記憶領域よりもよりも送信順位が高いフレームデータを記憶した記憶領域のフラグ情報をマスクする。これにより、フレームデータを平準化してデータ送信するときに有効な検索を提供することができる。
ソフトウェア処理部1400は、フレームデータに付与されたラベル値から間接テーブルを参照して、フレームデータに対する処理を決定する。図15に間接テーブルの一例を示す。また、図16に送信FIFOに書き込まれる時のフレームデータの構成示す。
フレームデータの種別を示す1バイトの情報は、図17(A)に示すようにビット0に一般フレームデータであるのか、優先フレームデータであるのかが示されており、ビット1には、状態系フレームデータであるのか、イベント系フレームデータであるのかが示されている。状態系フレームデータが送信順を平準化をして送信するフレームデータであり、イベント系フレームデータが送信FIFOに格納された順に、送信用メッセージボックス1112Bに格納して送信するフレームデータである。
また、図17(B)に示すID毎バッファ格納位置情報は、ID毎バッファへの格納位置を示す情報である。イベント系フレームデータは、ID毎バッファには格納しないので、フレーム種別がイベント系フレームデータであった場合には、ID毎バッファ格納位置情報の参照は行わない。
例えば、上述した実施例では、通信装置(ゲートウェイ装置1000におけるデータ検索装置(ソフトウェア処理部1400)を例に説明を行ったが、表示装置等の通信装置以外の装置に適用することも可能である。
1110、1120、1130 CANコントローラ
1111 バッファ
1112 メッセージボックス
1112A 受信用メッセージボックス
1112B 送信用メッセージボックス
1113 フラグ
1114 CAN通信部
1200 CANインタフェース部
1300 ハードウェア中継部
1310 検索エンジン部
1320 ルーティングマップ
1330 送信バッファ
1331、1333、1335、1337 送信FIFO
1332、1334、1336、1338 メッセージカウンタ
1400 ソフトウェア処理部
1501、1502 ID毎バッファ
1600 ビット検索器
2100 データ更新フラグ
2200 インデックスフラグ
2300 ビット検索サポートレジスタ
2400 ビット検索ステータスレジスタ
Claims (6)
- データのIDごとに記憶領域が分割された記憶手段から、送信すべきデータを記憶した記憶領域を検索し、検索で抽出されたデータの送信を行う通信装置であって、
前記記憶手段の記憶領域ごとに設けられ、前記記憶領域のデータが更新されているか否かを示す第1フラグと、
前記第1フラグを所定数ごとにまとめたグループごとに設けられ、前記グループにおける第1フラグの少なくとも1つのデータが更新された状態を示しているときに、データの更新状態を示す第2フラグと、
前記第2フラグを検索してから対応する第1フラグを検索することで、送信すべきデータを記憶した記憶領域から送信すべきデータを抽出する検索処理を行い、抽出した送信すべきデータをメッセージボックスにセットする送信データセット処理部と、
前記メッセージボックスにセットされた送信すべきデータを送信する送信処理部と、を有し、
前記送信データセット処理部は、所定周期で前記検索処理を行うが、前記メッセージボックスに送信すべきデータを格納する空き領域がない場合には前記検索処理を行わないことを特徴とする通信装置。 - 前記検索制御手段は、データの更新状態を示す第2フラグを検索してから対応する第1フラグをデータの送信順に検索して、前記第1フラグがデータ更新状態を表し、かつ最も先に送信を行うべきデータを記憶した前記記憶手段の記憶領域を検出するハードウェアを用いて検索を行うことを特徴とする請求項1記載の通信装置。
- 前記第1フラグ及び前記第2フラグを記憶するフラグ記憶部と、
送信すべきデータを前記記憶手段に記憶させた場合に、対応する前記第1フラグと前記第2フラグとを記憶する前記フラグ記憶部の記憶領域を検出して、検出した記憶領域の前記第1フラグのフラグ状態を変更すると共に、検出した記憶領域の前記第2フラグのフラグ状態を変更する必要がある場合に変更するフラグ変更処理部とをさらに有し、
前記フラグ記憶部の前記第1フラグを記憶する記憶領域は、マトリクス状に形成されると共に、該マトリクス状に形成された記憶領域の列数は、2 n (nは任意の自然数)であり、
前記フラグ変更処理部は、2進数で表された前記送信すべきデータのID番号が前記フラグ記憶部の前記第1フラグと前記2フラグとを記憶させる記憶領域を示していることを利用して、フラグ状態を変更する前記フラグ記憶部の前記第1フラグと前記第2フラグの記憶領域を検出することを特徴とする請求項1又は2記載の通信装置。 - 複数の通信チャネル間でのフレームデータの転送制御を行うゲートウェイ装置であって、
通信チャネルから受信したフレームデータを転送する通信チャネルを検索するルーティング処理部と、
前記ルーティング処理部で処理されたフレームデータを記憶する、フレームデータのIDごとに記憶領域が分割された送信バッファと、
前記送信バッファの記憶領域ごとに設けられ、前記記憶領域のデータが更新されているか否かを示す第1フラグと、前記第1フラグを所定数ごとにまとめたグループごとに設けられ、前記グループにおける第1フラグの少なくとも1つのデータが更新された状態を示しているときにデータの更新状態を示す第2フラグとを記憶するフラグ記憶部と、
前記ルーティング処理部で処理されたフレームデータを前記送信バッファに記憶すると共に、前記フラグ記憶部に記憶された第1フラグと第2フラグを更新するデータ記憶処理部と、
前記フラグ記憶部に記憶された第2フラグを検索してから対応する第1フラグを検索することで、前記送信バッファからフレームデータを抽出する検索処理を行い、抽出したフレームデータをメッセージボックスにセットする送信データセット処理部と、
前記メッセージボックスにセットされたフレームデータを通信チャネルに送信する送信処理部と、を有し、
前記送信データセット処理部は、所定周期で前記検索処理を行うが、前記メッセージボックスにフレームデータを格納する空き領域がない場合には前記検索処理を行わないことを特徴とするゲートウェイ装置。 - 複数の通信チャネル間でのフレームデータの転送制御を行うゲートウェイ装置であって、
通信チャネルから受信したフレームデータを転送する通信チャネルを検索し、検索した通信チャネルに対応する送信FIFOにフレームデータを記憶するルーティング処理部と、
前記送信FIFOから読み出されたフレームデータを記憶する、フレームデータのIDごとに記憶領域が分割された送信バッファと、
前記送信バッファの記憶領域ごとに設けられ、前記記憶領域のデータが更新されているか否かを示す第1フラグと、前記第1フラグを所定数ごとにまとめたグループごとに設けられ、前記グループにおける第1フラグの少なくとも1つのデータが更新された状態を示しているときにデータの更新状態を示す第2フラグとを記憶するフラグ記憶部と、
前記送信FIFOから読み出されたフレームデータを前記送信バッファに記憶するとともに、前記フラグ記憶部に記憶された第1フラグと第2フラグを更新するデータ記憶処理部と、
前記フラグ記憶部に記憶された第2フラグを検索してから対応する第1フラグを検索することで、前記送信バッファからフレームデータを抽出する検索処理を行い、抽出したフレームデータをメッセージボックスにセットする送信データセット処理部と、
前記メッセージボックスにセットされたフレームデータを通信チャネルに送信する送信処理部と、を有し、
前記送信データセット処理部は、所定周期で前記検索処理を行うが、前記メッセージボックスにフレームデータを格納する空き領域がない場合には前記検索処理を行わないことを特徴とするゲートウェイ装置。 - 前記送信FIFOに記憶されたフレームデータを読み出し、該読み出したフレームデータを、該フレームデータに付加されている付加情報に基づいて前記フレームデータの送信順を並び替える平準化処理を行ってから送信するフレームデータと、前記平準化処理を行わずに送信するフレームデータとに振り分ける振り分け処理部と、
前記平準化処理を行ってから送信するフレームデータを前記送信バッファに記憶させた後に、前記フレームデータを記憶させた送信バッファの記憶領域に応じて、前記フラグ記憶部の対応する前記第1フラグと前記第2フラグとを書き替える書き替え処理と、
前記平準化処理を行わずに送信するフレームデータを通信チャネルごとに用意されたメッセージボックスにセットする第1送信データセット処理と、前記ビット検索器に、前記フラグ記憶部に記憶された第2フラグを検索させてから対応する第1フラグを検索させ、前記ビット検索器から取得した情報に基づいて前記送信バッファからフレームデータを予め設定された送信順に取り出す前記平準化処理を行い、前記平準化処理後のフレームデータを前記メッセージボックスにセットする第2送信データセット処理とを有する前記送信データセット処理と、
を有することを特徴とする請求項4又は5記載のゲートウェイ装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009036036A JP4478731B2 (ja) | 2008-02-20 | 2009-02-19 | 通信装置及びゲートウェイ装置 |
US12/379,352 US8041747B2 (en) | 2008-02-20 | 2009-02-19 | Data search device and gateway device in communication apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008039432 | 2008-02-20 | ||
JP2009036036A JP4478731B2 (ja) | 2008-02-20 | 2009-02-19 | 通信装置及びゲートウェイ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009225441A JP2009225441A (ja) | 2009-10-01 |
JP4478731B2 true JP4478731B2 (ja) | 2010-06-09 |
Family
ID=40956026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009036036A Expired - Fee Related JP4478731B2 (ja) | 2008-02-20 | 2009-02-19 | 通信装置及びゲートウェイ装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8041747B2 (ja) |
JP (1) | JP4478731B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9529728B2 (en) * | 2010-10-07 | 2016-12-27 | Vmware, Inc. | Method for improving memory system performance in virtual machine systems |
JP5708273B2 (ja) * | 2011-06-06 | 2015-04-30 | トヨタ自動車株式会社 | 通信装置、情報処理装置、データ送信方法 |
JP5702829B2 (ja) * | 2013-05-23 | 2015-04-15 | 本田技研工業株式会社 | 中継装置 |
JP6318654B2 (ja) * | 2014-01-30 | 2018-05-09 | 株式会社デンソー | データ中継装置、データ中継装置の診断方法、車両用通信システム |
JP6344348B2 (ja) | 2015-09-14 | 2018-06-20 | 株式会社デンソー | バッファ制御装置、通信ノード、及び中継装置 |
JP2017147662A (ja) | 2016-02-18 | 2017-08-24 | 株式会社オートネットワーク技術研究所 | 中継装置 |
JP7088075B2 (ja) * | 2019-02-22 | 2022-06-21 | 株式会社デンソー | 電子制御装置 |
JP7284673B2 (ja) * | 2019-09-17 | 2023-05-31 | 株式会社日立ソリューションズ | 変換装置、変換方法、および変換プログラム |
CN113852532B (zh) * | 2021-09-22 | 2023-01-06 | 河北通合新能源科技有限公司 | 用于机号匹配的can通讯方法和can控制器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5121390A (en) * | 1990-03-15 | 1992-06-09 | International Business Machines Corporation | Integrated data link controller with synchronous link interface and asynchronous host processor interface |
US5218680A (en) * | 1990-03-15 | 1993-06-08 | International Business Machines Corporation | Data link controller with autonomous in tandem pipeline circuit elements relative to network channels for transferring multitasking data in cyclically recurrent time slots |
JPH0744431A (ja) | 1993-07-28 | 1995-02-14 | Toshiba Corp | ファイルセーブ方式 |
JP3445183B2 (ja) | 1999-02-18 | 2003-09-08 | 株式会社日本自動車部品総合研究所 | データ中継装置および多重通信システム |
JP2005159568A (ja) | 2003-11-21 | 2005-06-16 | Calsonic Kansei Corp | ゲートウェイ装置 |
JP4235646B2 (ja) | 2005-12-28 | 2009-03-11 | Tdk株式会社 | メモリコントローラおよびフラッシュメモリシステム |
-
2009
- 2009-02-19 JP JP2009036036A patent/JP4478731B2/ja not_active Expired - Fee Related
- 2009-02-19 US US12/379,352 patent/US8041747B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20090210397A1 (en) | 2009-08-20 |
JP2009225441A (ja) | 2009-10-01 |
US8041747B2 (en) | 2011-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4478731B2 (ja) | 通信装置及びゲートウェイ装置 | |
US10038571B2 (en) | Method for reading and writing forwarding information base, and network processor | |
US6654855B1 (en) | Method and apparatus for improving the efficiency of cache memories using chained metrics | |
CN112947856A (zh) | 一种内存数据的管理方法、装置、计算机设备及存储介质 | |
JPS63163930A (ja) | アライメント補正方式 | |
JP5821744B2 (ja) | データ有無判定装置、データ有無判定方法及びデータ有無判定プログラム | |
CN113168314A (zh) | 更新管理装置、更新管理系统及更新管理方法 | |
CN107704604A (zh) | 一种消息持久化方法、服务器和计算机可读存储介质 | |
KR101926324B1 (ko) | 압축 매치 열거 기법 | |
CN111241088A (zh) | 数据写入方法、数据查询方法、装置及设备 | |
CN114817232A (zh) | 访问数据的方法及装置 | |
JP4673299B2 (ja) | 情報処理方法及び情報処理システム | |
CN105389394A (zh) | 基于多个数据库集群的数据请求处理方法及装置 | |
EP4394619A1 (en) | Data processing method and apparatus based on blockchain, and device and readable storage medium | |
CN104125169B (zh) | 链表处理装置、链表处理方法及相关网络交换机 | |
JP2019200744A (ja) | 制御装置及びデータ記録方法 | |
EP3588319B1 (en) | Memory module | |
CN111008002B (zh) | 自动计算并更新fifo深度的装置和方法 | |
CA2358323A1 (en) | Transporting data transmission units of different sizes using segments of fixed sizes | |
EP3036665B1 (en) | A method of transmitting data structures from one computer to another computer | |
CN112527896B (zh) | 区块链账本数据的处理方法、装置、存储介质及电子设备 | |
JP2019197465A (ja) | シミュレーション制御方法及び計算機システム | |
CN112052074B (zh) | 处理器建模系统及处理器建模方法 | |
EP3665580B1 (en) | Method of operating a cache | |
JPWO2005073880A1 (ja) | 分散メモリ型情報処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090626 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100208 |
|
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: 20100302 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100315 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4478731 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140319 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140319 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |