JP4804307B2 - ゲートウェイ装置及び転送制御方法 - Google Patents

ゲートウェイ装置及び転送制御方法 Download PDF

Info

Publication number
JP4804307B2
JP4804307B2 JP2006293372A JP2006293372A JP4804307B2 JP 4804307 B2 JP4804307 B2 JP 4804307B2 JP 2006293372 A JP2006293372 A JP 2006293372A JP 2006293372 A JP2006293372 A JP 2006293372A JP 4804307 B2 JP4804307 B2 JP 4804307B2
Authority
JP
Japan
Prior art keywords
frame data
information
unit
data
communication channel
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.)
Active
Application number
JP2006293372A
Other languages
English (en)
Other versions
JP2008113097A (ja
Inventor
薫 野海
奨 西橋
智幸 嘉藤
幸男 石川
康之 梅崎
秀孝 得可主
薫生 小出
行雄 藤沢
宏明 嶋内
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.)
Denso Ten Ltd
Fujitsu Semiconductor Ltd
Renesas Electronics Corp
Original Assignee
Denso Ten Ltd
Fujitsu Semiconductor Ltd
Renesas Electronics Corp
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 Denso Ten Ltd, Fujitsu Semiconductor Ltd, Renesas Electronics Corp filed Critical Denso Ten Ltd
Priority to JP2006293372A priority Critical patent/JP4804307B2/ja
Priority to EP07119414.6A priority patent/EP1916813B1/en
Priority to US11/976,687 priority patent/US8265087B2/en
Publication of JP2008113097A publication Critical patent/JP2008113097A/ja
Application granted granted Critical
Publication of JP4804307B2 publication Critical patent/JP4804307B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
    • H04L12/4135Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD) using bit-wise arbitration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Description

本発明は、車両に搭載され、複数の通信ネットワーク間でのデータの中継を行うゲートウェイ装置及び転送制御方法に関する。
近年、車両には図35に示すようにエンジンECU、ドア制御ECU、エアバックECU、オーディオECU、ナビゲーションECUなど複数のECUが搭載されるようになってきている。これらのECUを車両に搭載された異なる通信方式及び異なる通信速度を有する複数のLAN間で通信させるには、その橋渡しをするゲートウェイ装置が必要である。特許文献1及び2には、このゲートウェイ装置のルーティング機能をソフトウェアによって実現した技術が開示されている。
ゲートウェイ装置は、複数の異なるネットワーク間で授受されるデータの中継を行い、通信プロトコル変換、パケットフィルタリングなどのゲートウェイ機能を実現する。これにより、異なるネットワークに接続されたノード間で通信を行うことができる。
特開2003−244187号公報 特開2003−264571号公報
ソフトウェアの処理負担を軽減するために、ハードウェア装置によってフレームデータのルーティングを行う車載ゲートウェイ装置においては、解決すべき課題がある。
まず、第1に、複数の通信チャネル上のノードが、許可されたチャネルを使用して通信を行うように、車載ゲートウェイ装置は許可されていないチャネルを使用して送信されたフレームデータに対して処理を施さなければならない。
第2に、車載ゲートウェイ装置においては、受信に使用したチャネルにフレームデータを転送するループバック転送を禁止にしたい場合がある。
第3に、ルーティング後のフレームデータを送信FIFOから読み出す読み出しレジスタは、チャネルごとに複数設けられる送信FIFOに対応して複数設けられるが、チャネル数、送信FIFO数の増加に応じて読み出しレジスタの数も増加させなければならず、ハードウェア規模の増加につながる。
第4に、読み出しレジスタから読み出されたフレームデータは、各チャネルのCANコントローラに転送される前に、ソフトウェア制御によってデータの並び替えが行われている。CANコントローラに応じて仕様が異なるため、CANコントローラの仕様に合わせてフレームデータ内のデータの並び替えを行わなければならなかった。このため、ソフトウェア制御にとって余計なオーバヘッドとなり、本来の目的であるフレームデータの振り分け処理時の時間的マージンを減少させてしまう。
本発明は上記事情に鑑みてなされたものであり、許可されたチャネルだけを使用した通信が可能なゲートウェイ装置及び転送制御方法、自チャネル向けのループバック転送を禁止にすることができるゲートウェイ装置及び転送制御方法、送信FIFOからデータを読み出す時の構成を簡略化したゲートウェイ装置及び転送制御方法、送信FIFOから読み出したフレームデータ内のデータの並び替えをハードウェアで実現したゲートウェイ装置及び転送制御方法の少なくとも1つを提供することを目的とする。
かかる目的を達成するために本発明のゲートウェイ装置は、複数の通信チャネル間でフレームデータの転送制御を行うゲートウェイ装置であって、前記フレームデータのID情報と、当該ID情報を使用する通信チャネルの情報とを少なくとも格納したルーティングマップと、受信したフレームデータのID情報と、前記ルーティングマップとに基づき、該フレームデータの転送先への振り分けを行う検索エンジン部と、を有し、前記検索エンジン部は、受信したフレームデータのID情報が該フレームデータを受信した通信チャネルで使用されないID情報であった場合に、該フレームデータの転送先への転送が行われないようにする構成を備えている。
本発明によれば、ルーティングマップに、フレームデータのID情報と、このID情報を使用する通信チャネルの情報とを少なくとも格納し、検索エンジン部は、このルーティングマップに従ってルーティングを行うので、許可された通信チャネルでの通信が実現できる。
上記ゲートウェイ装置において、前記ルーティングマップは、前記複数の通信チャネルに対して1つ設けられているとよい。
従って、ルーティングマップを記憶する記憶手段の記憶容量を削減することができる。
上記ゲートウェイ装置において、前記検索エンジン部は、フレームデータを受信した通信チャネルと、該フレームデータの転送先の通信チャネルとが同一の通信チャネルであった場合に、該フレームデータの転送先への転送が行われないようにする構成を備えている。
本発明によれば、フレームデータを受信した通信チャネルと、転送先の通信チャネルとが同一の通信チャネルであった時に、フレームデータを破棄するので、同一チャネルへのループバックを禁止することができる。
上記ゲートウェイ装置において、前記ゲートウェイ装置を制御する制御手段の設定情報を記憶する記憶手段を有し、前記検索エンジン部は、前記記憶手段に記憶された設定情報に従って、フレームデータの受信時に使用した通信チャネルと同一の通信チャネルが転送先となるフレームデータの破棄を実行するか否かを決定するとよい。
従って、同一チャネルへのループバック転送を許可するのか、禁止にするのかの設定を簡単に行うことができる。
上記ゲートウェイ装置において、前記複数の通信チャネルごとに記憶領域を有し、前記検索エンジン部で振り分けされたフレームデータを記憶する記憶手段と、前記記憶手段から呼び出されたフレームデータを一時的に蓄積する蓄積手段と、フレームデータの転送を行う通信チャネルを選択する選択手段と、前記選択手段によって選択された通信チャネルに対応する前記記憶手段の記憶領域から、フレームデータを読み出して前記蓄積手段に蓄積する読出手段と、を有しているとよい。
従って、記憶手段に格納されたフレームデータを読み出す時の構成を簡略化することができる。
上記ゲートウェイ装置において、前記読出手段は、前記選択手段によって選択された通信チャネルに振り分けられたフレームデータの読み出しがすべて終了してから次の通信チャネルのフレームデータの読み出しを行うとよい。
従って、ゲートウェイ装置を車載した場合に、最適なデータの読み出し手順となる。
上記ゲートウェイ装置において、前記記憶手段に記憶されたフレームデータを読み出す時に、前記記憶手段に格納されたフレームデータ内のデータの並び替えを行う並び替え処理手段を有するとよい。
並び替え処理手段によってフレームデータ内のデータの並び替えを行うので、ソフトウェア処理にかかる負荷を軽減することができる。
本発明の転送制御方法は、複数の通信チャネル間でフレームデータの転送制御を行う転送制御方法であって、フレームデータを受信すると、該受信したフレームデータ中に挿入されたID情報を取得するステップと、フレームデータのID情報と、当該ID情報を使用する通信チャネルの情報とを少なくとも格納したルーティングマップを参照して、前記受信したフレームデータのID情報が該フレームデータを受信した通信チャネルで使用されないID情報であるか否かを判定するステップと、前記受信したフレームデータのID情報が該フレームデータを受信した通信チャネルで使用されないID情報であった場合に、該フレームデータの転送先への転送が行われないようにするステップとを有している。
本発明によれば、通信を許可されたチャネルを使用してフレームデータを受信した場合に、フレームデータの転送が行われるようにすることができる。
本発明によれば、許可されたチャネルだけを使用した通信が可能な車載ゲートウェイ装置、自チャネル向けのループバック転送を禁止にすることができる車載ゲートウェイ装置、送信FIFOからデータを読み出す時の構成を簡略化した車載ゲートウェイ装置、送信FIFOから読み出したフレームデータ内のデータの並び替えをハードウェアで実現した車載ゲートウェイ装置の少なくとも1つを提供することができる。
添付図面を参照しながら本発明の最良の実施例を説明する。
まず、図1を参照しながら本実施例の構成を説明する。図1には本発明CAN(Controller Area Network)のプロトコルによって通信を行う車載ゲートウェイ装置に適用した実施例の構成が示されている。車載ゲートウェイ装置1は、CPUバス16に、CPU(本発明の制御部に該当)2、FLASH ROM(Read Only Memory)3、UART4(Universal Asynchronous Receiver Transmitter)、割込み制御部6、DMAコントローラ7、CANインタフェース部8、複数のCAN(本実施例ではCAN_0,CAN_1,CAN_2,CAN_3の4つのCANを示すが、CANの数はこれに限定されるものではない)9、バスインタフェース部10などが接続されている。バスインタフェース部10には、検索エンジン部11、マップメモリ13、送信バッファ14、受信制御部15が接続されている。検索エンジン部11、送信バッファ14、受信制御部15は、バスインタフェース部10を介してCPUバス16にデータを入出力するデータ線で接続されている。また検索エンジン部11と送信バッファ14、検索エンジン部11と受信制御部15もデータ線で接続されている。また、受信制御部15は、CANインタフェース部8とデータ線で接続され、CANインタフェース部8から直接データを入力できるようになっている。また、図1にはデータ線以外に制御信号を送受信する制御線も示されている。CPU2は、この制御線に上記各機能部を制御する信号を出力する。またDMAコントローラ7と検索エンジン部11との間にも制御線が配線され、DMAコントローラ7は、CPU2の制御によらず検索エンジン部11からデータを読み出して転送先に転送する。なお、検索エンジン部11と、マップメモリ13と、送信バッファ14と、受信制御部15と、バスインタフェース部10と、CANインタフェース部8とを備える構成をゲートウェイハードマクロ部17と呼ぶ。
ゲートウェイハードマクロ部17には、主として以下に示す機能が備えられている。第1に、フレームデータの受信時にCAN9が発生する割込み信号をトリガにして、CAN9のメッセージボックスからフレームデータを取り出す。第2に、受信したフレームデータのルーティングを行う。第3に、ルーティングエラーの検出やその他のエラーを検出する。この他に、ルーティング後のデータの送信機能などを設けても良い。
FLASH ROM3には、CPU2がデータ伝送処理を含む各種処理の実行時に使用するデータ又はプログラムなどが記憶されている。CPU2は、図1に示す車載ゲートウェイ装置1の全体を制御すると共に、検索エンジン部11でルーティングされたフレームデータの送信処理を、プログラム制御によって行う。さらに、CPU2は、FLASH ROM3に格納されたプログラムに従って、受信したフレームデータの転送先を振り分けるルーティングを行う。
UART4は、外部装置と接続し、外部装置から送られるパラレル信号をシリアル信号に変換したり、逆にシリアルデバイスから送られるシリアル信号をパラレル信号に変換したりする。
割込み制御部6は、検索エンジン部11から出力される割込み信号のCPU2への出力を制御する。検索エンジン部11は、送信FIFO(第1蓄積部)21に予め設定された設定数のフレームが蓄積されたとき、送信FIFO21がオーバーフローしたとき、検索エンジン部11にルーティングエラーが生じたときに割込み信号をCPU2に出力する。DMAコントローラ7は、検索エンジン部11によるルーティングによって送信FIFO21に格納されたフレームデータをCPU2を介さずにDMA転送する。
複数のCAN9(CAN_0,CAN_1,CAN_2,CAN_3)は、各通信チャネルごとに設けられ、CANバス(不図示)から受信したフレームデータを蓄積し、また検索エンジン部11やCPU2でルーティング後のフレームデータを蓄積する。ルーティング後のフレームデータは、メッセージボックスから読み出され、CANバスに出力される。またCAN9は、通信チャネルからフレームデータを受信すると、割り込み信号を検索エンジン部11に出力する。
検索エンジン部11は、CAN9から出力された割り込み信号をトリガとして、CAN9のメッセージボックスからフレームデータを取り出し、CANインタフェース部8を介して受信制御部15で一旦格納する。その後、所定のタイミングクロックで受信制御部15からフレームデータを取り出し、ルーティング処理、データの中継先の情報検索などの処理を行う。また、ルーティング処理中に生じたエラーの検出機能も備えている。なお、マップメモリ13に格納されるルーティングマップの詳細については後述する。
送信バッファ14には、検索エンジン部11でルーティングされたフレームデータが格納される。受信制御部15には、CAN9のメッセージボックスから読み出されたフレームデータが格納される。
次に図2を参照しながらゲートウェイハードマクロ部17の構成について説明する。本実施例の車載ゲートウェイ装置1は、フレームデータのルーティングを、CPU2によるソフトウェア制御50と、ハードウェアとして設けたゲートウェイハードマクロ部17とで並行して行う。
ゲートウェイハードマクロ部17は、図2に示すように通信チャネルごとに設けられた振り分け部51及びレジスタ56と、セレクタ部52と、タイムスタンプ部61と、検索エンジン部11と、マップメモリ13と、送信FIFO21とを有している。
振り分け部51は、図2に示すように各通信チャネルごとに設けられ、CAN9のメッセージボックス9からフレームデータを取り出して、フレームデータの出力先の振り分け処理を行う。振り分け部51は、フレームデータに設定された宛先情報を参照して、フレームデータの転送先を、ソフトウェア制御部50、セレクタ部52、ソフトウェア制御部50とセレクタ52の両方のいずれかに設定する。なお、ソフトウェア制御部50は、CPU2がプログラム制御によって動作することで実現する機能部である。
このようにチャネル単位や選択したフレーム単位でデータの出力先を振り分けることで、ソフトウェア制御部50による処理と、検索エンジン部11によるハード処理を並行して行うことができる。
また、優先的にソフトウェア制御部50に送るべきフレームデータを検索エンジン部11を介さずに転送することができるので、ソフトウェア制御部50での処理開始時間を早めることができる。
レジスタ56には、ソフトウェア制御部50によって設定された設定情報が格納されている。設定情報には、少なくとも車載ゲートウェイ装置の動作設定情報と、振り分けるための設定情報とが含まれる。振り分け部51はこのレジスタ56に格納された設定情報に従ってフレームデータの振り分け動作を行う。この設定情報を参照して動作を行うのは振り分け部51だけであって、後段に設けられたセレクタ部52、検索エンジン部11、送信FIFO21は、設定情報により動作を停止したりすることがない。このため、ゲートウェイの設定変更、通信チャネルの変更等が動的に行われても、ゲートウェイハードマクロ部17内でフレームデータが消失するなどの問題を生じない。
検索エンジン部11は、複数の通信チャネルで1つ設けられており、送信FIFO部21は通信チャネルごとに設けられている。このような構成を実現するため、セレクタ部52を検索エンジン部11の前段に設けている。セレクタ部52は、複数の通信チャネルからのフレームデータを入力し、検索エンジン部11に出力するフレームデータを選択する。また。セレクタ部52は、選択したフレームデータを検索エンジン部11に出力するタイミングを制御している。複数の通信チャネルから同時にフレームデータが出力されても、セレクタ部52が優先順位や到着順によってフレームデータを選択し、検索エンジン部11に出力するタイミングを制御する。これにより、検索エンジン部11を複数の通信チャネルで共有することが可能となる。
図3を参照しながら振り分け部51の詳細な構成を説明する。振り分け部51は、第1宛先振り分け部59と、第2宛先振り分け部60とを有している。
フレームデータは、CAN9のメッセージ振り分け部58によって、データのIDに応じて振り分けられ、メッセージボックス(0、1、2、3・・・・)に登録される。第1宛先振り分け部59は、メッセージ振り分け部58で振り分けられた場所(メッセージボックス0、1、2、3・・・・)に対しフレームデータの宛先をソフトウェア制御部50や検索エンジン部11に設定したり、ソフトウェア制御部50と検索エンジン部11の両方に設定する同報送信の設定を行う。また、ここで廃棄されるフレームデータもある。第2宛先振り分け部60は、検索エンジン部11の処理状況に応じて、検索エンジン部11宛てであったフレームデータを強制的にソフトウェア制御部50に変更したり、フレームデータを廃棄する設定を行う。
図4を参照しながらタイムスタンプ部61の構成について説明する。
タイムスタンプ部61は、セレクタ部52に入力されるフレームデータにタイムスタンプを付加する。タイムスタンプ部61は、図4に示すように分周回路611と、フリーランカウンタ612とを備えている。
分周回路611には、CPU2から出力される機能イネーブル信号および分周比設定信号と、クロック信号とが入力される。分周回路611は、機能イネーブル信号がイネーブルになると、分周比設定信号の設定に従ってクロック信号を分周したものを基準に作るカウンタイネーブル信号をフリーランカウンタ612に出力する。
フリーランカウンタ612は、クロック信号と、分周回路611から出力されるカウンタイネーブル信号と、CPU2からの機能イネーブル信号とを入力する。フリーランカウンタ612は、機能イネーブル信号がイネーブルになると、分周回路611から出力されるカウンタイネーブル信号をカウントして、タイムスタンプを出力する。
例えば、クロックが16MHzで、フリーランカウンタが16ビットの場合、分周設定が1/128では、計測できる最小時間は8[μs]、計測できる最大時間は、0.524[s]となる。また、分周設定が1/16384では、計測できる最小時間は1.024[ms]、計測できる最大時間は、67.1[s]となる。
図5に示すフローチャートを参照しながら、CPU2によるタイムスタンプ部61の初期設定手順について説明する。
CPU2は、初期動作時にタイムスタンプ部61に対し、計測すべき範囲と分解能に応じた分周比を設定する(ステップS1)、その後、機能イネーブル信号をイネーブルに設定して、タイムスタンプ部61を動作させる(ステップS2)。
次に、図6を参照しながらセレクタ部52の構成について説明する。セレクタ部52は、通信チャネルごとに設けられたレジスタ521、522、523、524と、選択論理部525と、セレクタ526とを有している。
レジスタ521、522、523、524には各チャネルからのフレームデータと、各レジスタ521、522、523、524にフレームデータが入力されるタイミングを通知するタイミング通知信号と、タイムスタンプ部で発行されたタイムスタンプとが入力される。タイムスタンプ部61で発行されたタイムスタンプは、レジスタ521、522、523、524においてフレームデータに付加される。
各レジスタ521、522、523、524から選択論理部525には、レジスタ521、522、523、524に有効なフレームデータが保持されているか否かを示すステータス信号が出力される。また、各レジスタ521、522、523、524は、タイムスタンプが付加されたフレームデータを所定タイミングでセレクタ526に出力する。選択論理部525は、各レジスタ521、522、523、524からのステータス信号をもとに、出力するフレームデータを選択する選択指示信号をセレクタ526に出力する。セレクタ526は、選択論理部525からの選択指示信号に従って、フレームデータを選択した後に後段の検索エンジン部11に出力する。
次に、図7を参照しながら検索エンジン部11の詳細な構成について説明する。検索エンジン部11は、状態制御部70、エントリ識別部71、番号加算部72、番号減算部73、下限用セレクタ74、上限用セレクタ75、加算部76、除算・保持部77、メモリに構成されたテーブル78、一致比較部79、エントリチェック部80を備えている。
状態制御部70は、セレクタ部52のフレーム出力信号を入力して、図7に示す各機能部を制御する。また、エントリ識別部71から入力される検索回数値に従って、テーブル78の検索を設定された回数だけ行うように制御する。
エントリ識別部71の構成を図8に示す。エントリ識別部71は、第1変換テーブル92と、第2変換テーブル93を備えている。なお、第1変換テーブル92に入力される有効エントリ数設定値とは、宛先検索時に参照するルーティングマップに登録を行ったエントリ数を示している。
第1変換テーブル92は、有効エントリ数設定値からメモリ78の検索回数を設定した検索回数値を算出する。例えば、チャネルのエントリ数が256エントリ(ノード)であった場合、2の8乗であるので検索回数は+1して9回となる。
第2変換テーブル93は、有効エントリ数設定値を入力して、上限のエントリ番号と、下限のエントリ番号とを出力する。下限エントリ番号は、登録されたノードのID番号のうち最も値の小さい番号(0)であり、同様に上限エントリ番号は、そのチャネルに登録されたノードのID番号のうち最も値の大きな番号(有効エントリ数設定値)を示す。下限エントリ番号は下限用セレクタ74に出力され、上限エントリ番号は上限用セレクタ75に出力される。また、検索回数値は、状態制御部70に出力される。
下限用セレクタ74には、エントリ識別部71から下限エントリ番号が入力される。下限用セレクタ74は、状態制御部70の制御に従って、前記下限エントリ番号、前回のエントリ番号、除算・保持部77の出力に+1したエントリ番号のいずれかを選択出力する。
同様に上限用セレクタ75には、エントリ識別部71から上限エントリ番号が入力される。上限用セレクタ75は、状態制御部70の制御に従って、前記上限エントリ番号、前回のエントリ番号、除算・保持部77の出力に−1したエントリ番号のいずれかを選択出力する。
加算部76は、上限用セレクタ74のエントリ番号と、下限用セレクタ75のエントリ番号とを加算する。除算・保持部77は、加算部76の加算値を2で除算し、除算結果を保持する。
ここで、図9を参照しながら本実施例の検索方法を説明する。本実施例では2分木検索を用いている。図9は2分木検索の方法を概念的に示している。検索対象のチャネルが使用するメモリの下限設定値をN、上限設定値Mとする。また、説明を簡単にするため有効エントリ数設定値を上限設定値とし、下限設定値を0とする。
2分木検索では、まず上限設定値と下限設定値の中間の値が演算される。すなわち、(N+M)÷2(=C1とする)が演算され、このアドレスのエントリデータと、受信データのIDとの比較が行われる。ここで例えば、受信データのIDがエントリデータよりも小さい値であった場合には、対象のエントリデータがメモリアドレスの高いほうに登録されていることになる。そのため、下限用セレクタ74では、除算・保持部77の保持している前回の値C1に+1した値が選択される。また上限用セレクタ75では前回の値Mがそのまま選択される。これらの制御は、状態制御部70によって行われる。加算部76でこれらの値が加算され、除算・保持部77で2で除算することで(C1+1+M)÷2がC2として演算される。このようにして求めたエントリデータと、受信IDとの大小比較によって次のアドレスが順次生成され、受信データのIDと一致するエントリデータをメモリ78から検索する。
エントリチェック部80は、テーブル78から読み出したエントリデータが正常なデータであるか否かを判定する。判定結果は状態制御部70に出力する。
一致比較部79は、テーブル78から読み出したエントリデータと、受信したデータのIDとを比較する。図10に一致比較部79の構成を示す。図10に示すように一致比較部79は、論理演算部95と、一致比較演算部96とを備えている。論理演算部95は、受信データのIDに図11に示すようにマスクを重ね合わせ、検索範囲を絞り込む。一致比較部79は、マスクを重ね合わせたID番号と、読み出したエントリデータとを比較して、両者が一致しているか否かを判定する。
例えば、図12(A)に示すようにゲートウェイ装置に接続する4つのCANバスA,B,C,Dのノードに、ランダムなID番号(図に示す数値がID番号を表している)が付加されていると、図12(A)に示す例では、最大12回比較を行って、IDの一致を検出しなければならない。これに対して、図12(B)に示すように同一バス上のノードに対して、上位数ビットを同じ値に設定しておくことで、4回の比較でどのチャネルからのデータであるのかを判定することができる。
次に、図13に示すフローチャートを参照しながら検索エンジン部11の処理手順を説明する。
検索を開始すると、状態制御部70は検索回数をまず0にセットする(ステップS11)。この処理と同期してエントリ識別部71において、エントリ数に応じた検索回数値をセットする(ステップS12)。検索回数値は、エントリ識別部71から状態制御部70に通知される。
次に、状態制御部70は、検索回数とエントリ識別部71から通知された検索回数値とを比較して(ステップS13)、検索回数が検索回数値に満たない場合には(ステップS13/YES)、初期値もしくは前回の大小比較情報を基にメモリのポインタアドレスを生成する(ステップS14)。下限用セレクタ74には、エントリ識別部71から下限エントリ番号が入力される。同様に上限用セレクタ75には、エントリ識別部71から上限エントリ番号が入力される。加算器76は、下限エントリ番号と上限エントリ番号とを加算する。除算・保持部77は、加算された値を2で除算して保持する。この値がポインタのアドレスとなる。
ポインタのアドレスが生成されると、このポインタアドレスが示すエントリデータがメモリ78から読み出される(ステップS15)。次に、読み出されたエントリデータは、エントリチェック部80に入力され、データが正常であるか否かが判定される(ステップS16)。正常な値ではなかった場合には(ステップS16/NO)、システムエラーとして処理される(ステップS21)。また、エントリデータが正常であった場合には(ステップS16/YES)、受信データのIDと、エントリデータとが一致するか否かが一致比較部79で判定される(ステップS17)。両者が一致しなかった場合には(ステップS17/NO)、検索回数が1インクリメントされると共に、一致比較部79の大小比較結果が状態制御部70に出力され(ステップS18)、ステップS13からの処理を繰り返す。状態制御部70は、大小比較結果に応じて下限用セレクタ74、上限用セレクタ73を制御し、前回の比較結果に応じたポインタアドレスが生成される。また、両者が一致した場合には(ステップS17/YES)、一致したエントリデータの宛先情報がチェックされて(ステップS19)、正常であると送信FIFO21に書き込まれる(ステップS20)。また、宛先情報が正常ではない場合には(ステップS19/NO)、システムエラーとして処理されるか(ステップ21)、フレームデータを廃棄する(ステップS22)。さらに、状態制御部70は、検索回数が検索回数値よりも大きくなると(ステップS13/YES)、受信したフレームデータは廃棄される(ステップS22)。
また、状態制御部70は、フレームデータを受信していないアイドルの時に、マップ情報の正常性確認動作を行ってもよい。この処理について図14に示すフローチャートを参照しながら説明する。
状態制御部70は、フレームデータを受信していないアイドル時に(ステップS31)、自立チェックを実行する(ステップS44)。まず、状態制御部70は、ポインタのアドレスを生成し(ステップS45)、該当するアドレスに格納されたエントリデータを検索して取り出す(ステップS46)。そして、取り出したエントリデータの正常性を判定する(ステップS47)。検索したエントリデータが正常であると判定すると(ステップS47/YES)、処理を終了する。またエラーを検出すると(ステップS47/NO)、システムエラーとして処理する(ステップS48)。
図15には、送信FIFO21と、フレームデータの処理遅延時間に応じて、フレームデータを廃棄する構成とを示している。
図16に示すように送信FIFO21は、タイムスタンプを格納するタイムスタンプ用FIFO210と、フレームデータを格納するデータ用FIFO211とを備えている。また、処理遅延時間に応じてデータを廃棄するデータ廃棄部300には、比較部301と、Valid部302とを有している。
検索エンジン部11から出力されるタイムスタンプ付きのフレームデータは、分離部220によってタイムスタンプと、それ以外の領域とに分離され、タイムスタンプ用FIFO(以下、TS用FIFOと略記する)210、データ用FIFO211にそれぞれ保持される。分離部220は、フレームデータの所定位置に挿入されたタイムスタンプを取り出して、TS用FIFO210に出力する。
また、Valid部302には、タイムスタンプ用FIFO210、データ用FIFO211に保持されたデータが有効であることを示すValidデータ(有効なデータには「1」が記録されている)が記録される。
比較部301には、タイムスタンプと、タイムアウト設定情報とが入力される。タイムスタンプは、タイムスタンプ部61で発行される現在の時刻を示す情報である。また、タイムアウト設定情報は、CPU2によって設定される情報であって、ゲートウェイハードマクロ部17に入力したフレームデータが、ゲートウェイハードマクロ部17から出力されるまでにかかる時間の遅延許容時間の設定である。
Valid部302と、タイムスタンプ用FIFO210と、データ用FIFO211とは、それぞれ同一構成のFIFOで構成されている。
従って、データ用FIFO211に書き込まれたフレームデータのタイムスタンプ情報が、タイムスタンプ用FIFO210の同一領域に書き込まれている。同様に、フレームデータが有効なデータであるのか無効なデータであるのかを示すValidデータが、Valid部302の同一領域に書き込まれている。
比較部301は、Valid部302に有効であることを示すデータが記録された領域のタイムスタンプをTS用FIFO210から読み込んで、タイムスタンプ部61から出力される現在の時刻を示すタイムスタンプ情報と比較する。TS用FIFO210に格納されたタイムスタンプの時刻と、現在の時刻との差がCPU2から通知されたタイムアウト設定情報を超えている場合、比較部301は、Valid部302のValidデータを無効なデータ(0を記録する)に変更する。Validデータが無効なデータに変更されると、メッセージカウンタ303の値が1減算される。
CPU2は、所定タイミングごとにメッセージカウンタ303の値を読み出す。メッセージカウンタ303の値が所定値となると、データ用FIFO211からフレームデータを読み出す。このとき、Valid部302に無効を示すデータが記録されているフレームデータは、読み出されずに廃棄される。
なお、TS用FIFO210に格納されたタイムスタンプの時刻と、現在の時刻との差がCPU2から通知されたタイムアウト設定情報を超えると、比較部301で割り込み信号をCPU2に出力するようにしてもよい(このときの構成を図16に示す)。CPU2は割り込み信号を入力すると、データ用FIFO211に格納されたフレームデータを優先的に読み出す。
図15、16には、ゲートウェイハードマクロ部17内での滞留時間がタイムアウト時間を超えたフレームデータをハードウェアによって廃棄する場合の構成を示したが、この他に、CPU2によるソフト制御によって、滞留時間がタイムアウト時間を超えたフレームデータをソフトウェアによって廃棄することもできる。
図17に示すフローチャートを参照しながら、滞留時間がタイムアウト時間を超えたフレームデータをCPU2で廃棄する手順を説明する。
CPU2は、所定時間ごとにメッセージカウンタ303を参照して、送信FIFO21に処理データが格納されているかを判定する(ステップS51)。送信FIFO21に処理データが格納されている場合には(ステップS51/YES)、この処理データを送信FIFO21から読み出すと共に(ステップS52)、タイムスタンプ部61から現在時刻を表すタイムスタンプ情報を読み出す(ステップS53)。
CPU2は、送信FIFO21から読み出したフレームデータに付加されたタイムスタンプ情報と、タイムスタンプ部から読み出した現在時刻情報とを比較する(ステップS54)。
タイムスタンプの時刻と、現在の時刻との差が第1基準値βよりも大きいと(ステップS55/YES)、このフレームデータを廃棄する(ステップS56)。また、タイムスタンプの時刻と、現在の時刻との差が第1基準値βよりも小さく、第2基準値αよりも大きい場合には(ステップS57/YES)、このフレームデータの処理に遅延が生じていると判定し、このフレームデータを優先的に処理する(ステップS58)。なお、第1基準値βは、第2基準値αよりも大きな値に設定されている。
さらに、タイムスタンプの時刻と、現在の時刻との差が第2基準値αよりも小さいには(ステップS57/NO)、フレームデータの処理に遅延が生じていないと判定し、通常の処理を行う(ステップS59)。
図18には、ゲートウェイハードマクロ部17を転送されるフレームデータの構成を示す。図18(A)は、セレクタ部52に入力されるフレームデータの構成を示す。図18(B)は、セレクタ部52から検索エンジン部11に出力されるタイムスタンプ付きのフレームデータの構成を示す。図18(C)には、送信FIFO21に書き込まれるタイムスタンプ付きののフレームデータの構成を示す。図18(D)には、CPU2が送信FIFOから読み込むフレームデータの構成を示す。なお、図18中に示す「*」は複数ビットからなることを示す。
なお、フレームデータに付加するタイムスタンプ情報を、検索エンジン部11で有効なフレームデータであると判定されたデータに対してだけ付加することもできる。この場合の構成を図19に示す。ゲートウェイハードマクロ部17内での滞留時間の計測という観点からは、図2に示す構成が厳密な滞留時間を計測することができるが、図19に示す構成では、ハードウェアの規模を小さくすることができる。
また、フレームデータの廃棄は、ソフトウェアによる廃棄がメインで、ハードウェアで廃棄する場合には図16に示す構成となる。
上述のように検索エンジン部11は、マップメモリ13のルーティングマップに示されたID情報を参照して、受信したフレームデータがルーティングすべきデータであるかどうかを判定する。
なお、本実施例では、CAN通信を例に説明しているので、ID情報は、CANのプロトコルに従って通信を行うノードや、データ種別(エンジ回転数データ、車速データなど)に対応させて設定している。しかしながら、ID情報の設定はこれらに限定されることはなく、任意に設定することができる。
通常、ルーティングマップは、図20に示すように各通信チャネルごとに設けられ、各通信チャネルごとにID情報が登録可能になっているが、メモリ量を削減する目的で、図21に示すようにルーティングマップを全チャネルで共通にすることが考えられる。しかし、ルーティングマップを全チャネルで共通にすると、ルーティング対象を識別するID情報が全チャネルで共通となってしまうため、ルーティングマップに記録されたID情報のフレームデータを受信すれば、受信チャネルに関係なくフレームデータのルーティングを行ってしまう。
例えば、悪意のあるフレームデータを抑止したいという場合がある。悪意のあるフレームデータとは、例えば、チャネル0でのみ受信されるはずのID情報のフレームデータを、他のチャネルで受信した場合が挙げられる。このような不正なフレームデータは、ルーティングされるべきではない。図20に示すようにチャネルごとにルーティングマップを備えれば、このような悪意のフレームデータの転送を阻止することができるが、ルーティングマップを格納するメモリ量はできるだけ削減したい。
そこで、本実施例では、図22に示すようにルーティングマップに受信許可チャネルの情報を配置する。すなわち、各IDごとに利用可能なチャネルの情報を記録しておく。この受信許可チャネルの情報は、IDごとに複数設定することが可能である。
図22には、チャネル数が全6チャネルの場合の受信許可チャネルの情報を示す。受信許可チャネルの情報を6ビットのバイナリデータとしてルーティングマップに記述している。例えば、図22に示す番号BのID情報では、受信許可チャネル情報が「111111」とすべて1に設定されているので、番号BのID情報では全チャネルからの受信データをルーティングする。また、図22に示す番号CのID情報では、受信可能チャネル情報が「000101」となっているので、チャネル0とチャネル2で受信したフレームデータをルーティングする。
図23には、図22に示すルーティングマップを使用した検索エンジン部11のルーティングの様子を示す。フレームデータを受信すると、検索エンジン部11は、受信したフレームデータに挿入されたID情報を取り出す。
次に、ルーティングマップを検索して、取得したIDに設定された受信許可チャネルを検出する。そして、フレームデータの転送に使用したチャネルが、該当ID情報の受信許可チャネルに設定されたチャネルであるか否かを判定する。該当ID情報の受信許可チャネルに設定されたチャネルであった場合には、フレームデータを転送先のチャネルに振り分けるルーティングを行う。また、該当ID情報の受信許可チャネルに設定されたチャネルではなかった場合には、受信したフレームデータを破棄する。
また、車載ゲートウェイ装置においては、あるID情報のフレームデータをルーティングする時に、自チャネルの送信FIFOにフレームデータを転送(ループバック)することが必要な場合と、必要ではない場合とがある。
図24に示すようにルーティングマップを各チャネルごとに設けた場合、宛先チャネル情報に自チャネルを含めなければループバックが発生しないため、ループバックの禁止は容易となる。また、メモリ量を低減する目的で、ルーティングマップは全チャネル共通に使用したい。
図25には、ルーティングマップを全チャネル共通で使用する場合を示す。この場合、ループバックが不要な場合に、自チャネルへのループバックを抑制することができないという問題がある。このため自チャネルの送信FIFOに余計なデータが格納されることになり、ソフトウェアによる選別処理を行わなければならず、ソフトウェアの付加が増大するという問題がある。
そこで、本実施例では、図26に示すようにソフトウェア制御部50からの設定を記録するレジスタ1000を設けて、検索エンジン部11は、このレジスタ1000にループバック禁止の設定情報が書き込まれると、自チャネルへのループバックを禁止にする。
このようにループバックを禁止にしたい時に、禁止することができるので、自チャネルの送信FIFO21に余計なデータが格納されず、ソフトウェアによる選別処理が不要なり、ソフトウェアの負荷を軽減することができる。
また、ルーティングマップを、全チャネルで共通にしたことで、メモリ量を削減することができる。
検索エンジン部11によってルーティングされたフレームデータは、各チャネルごとに設けられた送信FIFO21に格納される。送信FIFO21に格納されたフレームデータは、読み出しレジスタ1100に一端格納され、その後、CPU2によってマイコン内のCANコントローラ9に転送される。送信FIFO21は、図27に示すようにチャネルごとに複数設けられている。
図28には、送信FIFO21に格納されたフレームデータをCPU2が読み出す時の従来の構成を示す。CPU2は、送信FIFO21に格納されたフレームデータを読み出しレジスタ1100に一旦読み出してから処理を行う。各チャネルごとに複数の送信FIFO21が設けられており、これら複数の送信FIFOごとに読み出しレジスタ1100が設けられている。CPU2は、送信FIFO21に格納されたフレームデータの読み出しタイミングとなると、フレームデータを読み出す送信FIFO21を選択し、該当する読み出しレジスタ1100をこの送信FIFO21に接続する。
しかし、図28に示す従来の構成では、チャネル数の増加に応じて、送信FIFO21の数を増加させると、読み出しレジスタ1100の数もこれに比例して増加してしまう。従って、ハードウェア規模の増加によってコストが増加してしまう。また、アドレス領域の使用量が増加して、マイコン組み込み時の自由度が低下するという問題もある。
そこで、図29に示すように選択レジスタ1200と、セレクタ1300と、読み出しレジスタ1400とを設けている。選択レジスタ1200と、読み出しレジスタ1400とは、それぞれ1つずつ設けられ、複数のチャネルで共通に使用される。
CPU2は、フレームデータを読み出す送信FIFO21を選択すると、選択レジスタ1200にチャネル番号と、送信FIFO21の番号とを書き込む。セレクタ1300は、この選択レジスタ1200に書き込まれた情報に従って、CPU2に選択されたチャネル、番号の送信FIFOと読み出しレジスタ1400とを接続する。CPU2は、選択レジスタ1200に選択情報を書き込んだ送信FIFO21と、読み出しレジスタ1400とが接続されると、この読み出しレジスタ1400に送信FIFO21のフレームデータを読み出す。なお、フレームデータの読み出しは、送信FIFO21が空になるまで行われる。
図30に示すフローチャートを参照しながらCPU2の処理手順を説明する。
まず、CPU2は、チャネル番号をカウントするカウンタCHを初期化すると共に(ステップS61)、送信FIFO番号をカウントするカウンタを初期化する(ステップS62)。次にCPU2は、選択レジスタ1200に、カウンタの示す送信FIFO21の識別情報を記録する。セレクタ1300は、選択レジスタ1200に記録された送信FIFO21と、読み出しレジスタ1400とを接続する。CPU2は、選択した送信FIFO(ch0,FIFO_0)21にデータが格納されているか否かを判定する(ステップS63)。この送信FIFO21にフレームデータが格納されている場合には(ステップS63/YES)、フレームデータの読み出しを行う(ステップS64)。次に、CPU2は、FIFOカウンタFの値を1インクリメントし(ステップS65)、FIFOカウンタFが上限値Fmaxよりも大きくなったか否かを判定する(ステップS66)。FIFOカウンタが上限値Fmaxと等しいか、又は小さい場合には(ステップS66/NO)ステップS63に返り、該当する送信FIFO21からフレームデータの読み出しを行う(ステップS64)。また、FIFOカウンタが上限値Faxよりも大きくなると(ステップS66/YES)、チャネルをカウントするチャネルカウンタCHを1インクリメントして(ステップS67)、チャネルカウンタCHの値が、チャネル数の上限値CHmaxよりも大きいか否かを判定する(ステップS68)。チャネルカウンタCHの値が、チャネル数の上限値CHmaxと等しいか、又は小さい場合には(ステップS68/NO)、ステップ2に返り、FIFOカウンタFの値をクリア(0)にして該当する送信FIFO21からフレームデータを読み出す。また、チャネルカウンタCHの値が、チャネル数の上限値CHmaxよりも大きくなると(ステップS68/YES)、すべての送信FIFO21からのフレームデータの読み出しが完了したので、処理を終了する。
このように送信FIFO21からフレームデータを読み出す時の処理として、CPU2には、選択レジスタ1200への指示が増えるが、送信FIFO21を一度選択すればその送信FIFO21が空になるまで連続的に読み出すことが可能となる。また、読み出し時は、CPU2の処理負荷は特に増加しない。
また、送信FIFO21から読み出しレジスタ1400にフレームデータを書き込む時には、CANコントローラ9の仕様に合わせて、フレームデータ内のデータを並び替える必要がある。このフレームデータ内のデータの並び替え処理は、図31に示すようにソフトウェア処理によって行われるが、ソフトウェアに余計な負荷をかけてしまうという問題がある。また、CANコントローラ9ごとにデータを並び替える順番が異なるため、処理が複雑になるという問題もある。
図32には、読み出しレジスタ1400内に書き込まれたフレームデータと、並び替え処理後にCANコントローラ9に書き込まれたフレームデータとを示す。図32に示すように読み出しレジスタ1400の書き込み順と、CANコントローラ9内での書き込み順は異なり、さらに、各社の仕様に応じてCANコントローラ9内でのデータの書き込み順も異なる。
そこで、本実施例は、図33に示すようにソフトウェアで行っていたデータの並べ替えの処理を、並べ替え処理部を設けてハードウェアで行う。並び替え処理部1500は、図33に示すように送信FIFOから読み出したフレームデータ内のデータの並び替えを行い、並び替えたフレームデータを読み出しレジスタ1400に書き込む。
図34には、並び替え処理部1500によるフレームデータ内のデータの並び替え方法が示されている。レジスタ1600には、データごとに、読み出しレジスタ1400のどの領域に書き込めばよいのかを設定した情報が記録されている。また、この設定情報は、CANコントローラ9ごとに設けられている。並べ替え処理部1500は、送信FIFO21からフレームデータ内のデータを読み出すと、この設定情報に従って読み出しレジスタ1400内の所定領域にデータを書き込む。
このようにフレームデータ内のデータの並び替え処理を、ハードウェア化することで、ソフトウェア処理の負荷を軽減し、車載ゲートウェイ装置の安全性を高めることができる。また、様々な仕様のCANコントローラのデーア配列に対応可能であるので、汎用性の高いハードウェアとすることができる。
上述した実施例は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。例えば、本発明は、ゲートウェイ装置を車両に搭載したものに有効であるが、車載用のゲートウェイ装置だけに限定されるものではない。
車載ゲートウェイ制御装置の構成を示すブロック図である。 ゲートウェイハードマクロ部の構成を示す図である。 振り分け部の構成を示すブロック図である。 タイムスタンプ部の構成を示すブロック図である。 タイムスタンプ部の初期設定時のCPUの処理手順を示すフローチャートである。 セレクタ部の構成を示すブロック図である。 検索エンジン部の構成を示すブロック図である。 エントリ識別部の構成を示す図である。 2分木検索を説明するための図である。 一致比較部の構成を示す図である。 マスク処理を説明するための図である。 マスク処理を説明するための図である。 検索エンジン部の処理手順を示すフローチャートである。 検索エンジン部の処理手順、特に自立チェックの手順を示すフローチャートである。 送信FIFOと、無効なフレームデータを破棄するデータ破棄部の構成を示す図である。 送信FIFOと、無効なフレームデータを破棄するデータ破棄部の他の構成を示す図である。 CPUにより無効なフレームデータを破棄する手順を示すフローチャートである。 ゲートウェイハードマクロ部内で処理されるフレームデータの構成を示す図である。 ゲートウェイハードマクロ部の他の構成を示す図である。 チャネルごとにルーティングマップを設けた従来の構成を示す図である。 複数のチャネルで共通に使用されるルーティングマップを設けた従来の構成を示す図である。 ID情報テーブルの構成を示す図である。 複数のチャネルで共通に使用されるルーティングマップであって、ID情報テーブルを登録したルーティングマップによるルーティングを示す図である。 チャネルごとにルーティングマップを設けたゲートウェイハードマクロ部の構成を示す図である。 複数のチャネルで共通に使用されるルーティングマップを設けたゲートウェイハードマクロ部の構成を示す図である。 ループバック転送モードを許可するか否かを設定可能なゲートウェイハードマクロ部の構成を示す図である。 従来の送信FIFOと、読み出しレジスタの構成を示す図である。 従来の送信FIFOと、読み出しレジスタの構成を示す図である。 送信FIFOと、読み出しレジスタの構成を示す図である。 送信FIFOからのデータ読み出し時のCPUの処理手順を示すフローチャートである。 送信FIFOからデータを読み出し、CANコントローラに転送するまでの従来の手順を示す図図である。 送信FIFOから読み出したデータの並び替え処理を説明するための図である。 並び替え処理部の配置位置を示す図である。 並び替え処理部を説明するための図である。 複数のECUと車載ゲートウェイ装置との接続構成を示す図である。
符号の説明
1 車載ゲートウェイ装置
2 CPU
3 FLASH ROM
4 UART
5 フリーランタイマ
6 割込み制御部
7 DMAコントローラ
8 CANインタフェース部
9 CAN
10 バスインタフェース部
11 検索エンジン部
13 マップメモリ
14 送信バッファ
15 受信バッファ
16 CPUバス
17 ゲートウェイハードマクロ部
21 送信FIFO
50 ソフトウェア制御部
51 振り分け部
52 セレクタ部
53 並列バッファ
54 調停部
55 フォーマット変換部
56 レジスタ
61 タイムスタンプ部
70 状態制御部
71 エントリ識別部
79 一致比較部
80 エントリチェック部
91 選択部
92 第1変換部
93 第2変換部
95 論理演算部
96 一致比較演算部
210 TS用FIFO
211 データ用FIFO
300 データ破棄部
301 比較部
302 Valid部
303 メッセージカウンタ
521、522、523、524 レジスタ
525 選択論理部
526 セレクタ
611 分周回路
612 フリーランカウンタ
1000、1600 レジスタ
1100、1400 読み出しレジスタ
1200 選択レジスタ
1300 セレクタ
1500 並び替え処理部

Claims (8)

  1. 複数の通信チャネル間でフレームデータの転送制御を行うゲートウェイ装置であって、
    前記フレームデータのID情報と、当該ID情報を使用する通信チャネルの情報とを少なくとも格納したルーティングマップと、
    受信したフレームデータのID情報と、前記ルーティングマップとに基づき、該フレームデータの転送先への振り分けを行う検索エンジン部と、を有し、
    前記検索エンジン部は、受信したフレームデータのID情報が該フレームデータを受信した通信チャネルで使用されないID情報であった場合に、該フレームデータの転送先への転送が行われないようにする、ことを特徴とするゲートウェイ装置。
  2. 前記ルーティングマップは、前記複数の通信チャネルに対して1つ設けられていることを特徴とする請求項1記載のゲートウェイ装置。
  3. 前記検索エンジン部は、フレームデータを受信した通信チャネルと、該フレームデータの転送先の通信チャネルとが同一の通信チャネルであった場合に、該フレームデータの転送先への転送が行われないようにする、ことを特徴とする請求項1又は2記載のゲートウェイ装置。
  4. 前記ゲートウェイ装置を制御する制御手段の設定情報を記憶する記憶手段を有し、
    前記検索エンジン部は、前記記憶手段に記憶された設定情報に従って、フレームデータの受信時に使用した通信チャネルと同一の通信チャネルが転送先となるフレームデータの破棄を実行するか否かを決定することを特徴とする請求項3記載のゲートウェイ装置。
  5. 前記複数の通信チャネルごとに記憶領域を有し、前記検索エンジン部で振り分けされたフレームデータを記憶する記憶手段と、
    前記記憶手段から呼び出されたフレームデータを一時的に蓄積する蓄積手段と、
    フレームデータの転送を行う通信チャネルを選択する選択手段と、
    前記選択手段によって選択された通信チャネルに対応する前記記憶手段の記憶領域から、フレームデータを読み出して前記蓄積手段に蓄積する読出手段と、
    を有することを特徴とする請求項1から4のいずれか1項記載のゲートウェイ装置。
  6. 前記読出手段は、前記選択手段によって選択された通信チャネルに振り分けられたフレームデータの読み出しがすべて終了してから次の通信チャネルのフレームデータの読み出しを行うことを特徴とする請求項5記載のゲートウェイ装置。
  7. 前記記憶手段に記憶されたフレームデータを読み出す時に、前記記憶手段に格納されたフレームデータ内のデータの並び替えを行う並び替え処理手段を有することを特徴とする請求項5又は6記載のゲートウェイ装置。
  8. 複数の通信チャネル間でフレームデータの転送制御を行う転送制御方法であって、
    フレームデータを受信すると、該受信したフレームデータ中に挿入されたID情報を取得するステップと、
    フレームデータのID情報と、当該ID情報を使用する通信チャネルの情報とを少なくとも格納したルーティングマップを参照して、前記受信したフレームデータのID情報が該フレームデータを受信した通信チャネルで使用されないID情報であるか否かを判定するステップと、
    前記受信したフレームデータのID情報が該フレームデータを受信した通信チャネルで使用されないID情報であった場合に、該フレームデータの転送先への転送が行われないようにするステップと、
    を有することを特徴とする転送制御方法。
JP2006293372A 2006-10-27 2006-10-27 ゲートウェイ装置及び転送制御方法 Active JP4804307B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006293372A JP4804307B2 (ja) 2006-10-27 2006-10-27 ゲートウェイ装置及び転送制御方法
EP07119414.6A EP1916813B1 (en) 2006-10-27 2007-10-26 Gateway apparatus and data transfer control method
US11/976,687 US8265087B2 (en) 2006-10-27 2007-10-26 Gateway apparatus and data transfer control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006293372A JP4804307B2 (ja) 2006-10-27 2006-10-27 ゲートウェイ装置及び転送制御方法

Publications (2)

Publication Number Publication Date
JP2008113097A JP2008113097A (ja) 2008-05-15
JP4804307B2 true JP4804307B2 (ja) 2011-11-02

Family

ID=39166824

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006293372A Active JP4804307B2 (ja) 2006-10-27 2006-10-27 ゲートウェイ装置及び転送制御方法

Country Status (3)

Country Link
US (1) US8265087B2 (ja)
EP (1) EP1916813B1 (ja)
JP (1) JP4804307B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4880035B2 (ja) * 2007-04-05 2012-02-22 株式会社オートネットワーク技術研究所 車載用の中継接続ユニット
JP5017231B2 (ja) * 2008-10-20 2012-09-05 日立オートモティブシステムズ株式会社 車載ゲートウェイ装置におけるルーティング方法
DE102010003521A1 (de) 2010-03-31 2011-10-06 Robert Bosch Gmbh Modulare Struktur zur Datenverarbeitung
CN102111334A (zh) * 2011-02-21 2011-06-29 华为技术有限公司 一种交换网中信元的处理方法、源线卡和网卡
DE102011006827A1 (de) * 2011-04-06 2012-10-11 Robert Bosch Gmbh Verfahren und Vorrichtung zur Datenübertragung zwischen verbundenen Bussystemen
JP6253181B2 (ja) * 2012-07-13 2017-12-27 株式会社Ihiアグリテック 農業機械用制御装置
DE102013015370A1 (de) * 2013-09-13 2015-03-19 Wabco Gmbh Verfahren zur Bereitstellung und Übertragung von Daten, insbesondere in Verbindung mit einem Fahrzeug
JP5692345B2 (ja) * 2013-12-16 2015-04-01 トヨタ自動車株式会社 ゲートウェイ装置
SE538518C2 (sv) * 2014-02-18 2016-09-06 Scania Cv Ab Kommunikationssystem för motorfordon
US10270694B2 (en) 2015-12-01 2019-04-23 Marvell World Trade Ltd. Control message routing structure for a controller area network
JP6717214B2 (ja) * 2017-01-18 2020-07-01 株式会社オートネットワーク技術研究所 通信装置、通信システム及びコンピュータプログラム
CN108055667B (zh) * 2017-12-26 2021-03-23 重庆邮电大学 一种认知车辆网络联合路由选择及资源分配方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473666A (en) * 1992-09-11 1995-12-05 Reliance Comm/Tec Corporation Method and apparatus for digitally controlling gain in a talking path
US5670732A (en) * 1994-05-26 1997-09-23 Kabushiki Kaisha Kawai Gakki Seisakusho Midi data transmitter, receiver, transmitter/receiver, and midi data processor, including control blocks for various operating conditions
US5691985A (en) 1995-04-19 1997-11-25 Lucent Technologies Inc. System and method for increasing throughput of inter-network gateways using a hardware assist engine
US5970412A (en) * 1997-12-02 1999-10-19 Maxemchuk; Nicholas Frank Overload control in a packet-switching cellular environment
US6690648B2 (en) * 1998-02-24 2004-02-10 Canon Kabushiki Kaisha Data communication apparatus, method, and system utilizing reception capability information of a destination node
JP3539349B2 (ja) * 2000-05-11 2004-07-07 日産自動車株式会社 通信装置
JP3896784B2 (ja) * 2000-10-10 2007-03-22 日本電気株式会社 パケット通信方法および装置
JP2003244187A (ja) 2002-02-19 2003-08-29 Denso Corp 車載ゲートウェイ装置およびコンピュータプログラム
JP3969129B2 (ja) 2002-03-08 2007-09-05 株式会社デンソー ゲートウェイおよび通信データの中継方法
JP4045907B2 (ja) * 2002-09-12 2008-02-13 住友電気工業株式会社 データ変換システム
JP2004192278A (ja) * 2002-12-10 2004-07-08 Sumitomo Electric Ind Ltd 通信システム及び車載ゲートウェイ装置
US7313146B2 (en) * 2003-01-31 2007-12-25 Broadcom Corporation Transparent data format within host device supporting differing transaction types
GB2398700A (en) 2003-02-22 2004-08-25 Alps Electric Sampling address portion of packet before it enters a router
EP1465370B1 (en) 2003-04-05 2013-07-24 Mentor Graphics Corporation Predictable real time data communication on a serial bus
US7983820B2 (en) * 2003-07-02 2011-07-19 Caterpillar Inc. Systems and methods for providing proxy control functions in a work machine
US7382733B2 (en) * 2004-02-12 2008-06-03 International Business Machines Corporation Method for handling reordered data packets
JP2005277896A (ja) * 2004-03-25 2005-10-06 Auto Network Gijutsu Kenkyusho:Kk 車載ネットワーク拡張装置及び車載電子制御ユニット
US7523237B2 (en) 2004-04-01 2009-04-21 Delphi Tecnhologies, Inc. Method and protocol for diagnostics or arbitrarily complex networks of devices
JP4401239B2 (ja) 2004-05-12 2010-01-20 Necエレクトロニクス株式会社 通信メッセージ変換装置、通信方法及び通信システム
JP2006159769A (ja) 2004-12-09 2006-06-22 Fuji Photo Film Co Ltd インクジェット記録用媒体及びその製造方法
JP2006333438A (ja) 2005-04-28 2006-12-07 Fujitsu Ten Ltd ゲートウェイ装置及びルーティング方法
JP4457966B2 (ja) 2005-05-11 2010-04-28 株式会社デンソー データ中継装置、端末装置およびデータ通信システム
JP2006352235A (ja) 2005-06-13 2006-12-28 Toyota Motor Corp ゲートウェイ、及び、ゲートウェイにおける処理方法
JP2007166302A (ja) 2005-12-14 2007-06-28 Denso Corp 車載ネットワーク中継装置
JP2007196971A (ja) * 2006-01-30 2007-08-09 Hitachi Ltd 車載通信システム

Also Published As

Publication number Publication date
US8265087B2 (en) 2012-09-11
US20080101394A1 (en) 2008-05-01
EP1916813A3 (en) 2008-05-07
EP1916813A2 (en) 2008-04-30
EP1916813B1 (en) 2013-05-29
JP2008113097A (ja) 2008-05-15

Similar Documents

Publication Publication Date Title
JP4804307B2 (ja) ゲートウェイ装置及び転送制御方法
JP4926648B2 (ja) 車載ゲートウェイ装置
JP2006333438A (ja) ゲートウェイ装置及びルーティング方法
US10397332B2 (en) In-vehicle communication system
EP2882146B1 (en) Data transmission device, communication control method, and communication control program
CN109891848B (zh) 借助检查can标识符识别can网络中的操纵方法及can控制器
JP4652308B2 (ja) エラー検出システム及びエラー検出方法
JP2009253557A (ja) 車載用の中継接続ユニット
JP4917669B2 (ja) 車載用の中継接続ユニット
US7428608B2 (en) Communication system, communication circuit and communication method
KR20190046477A (ko) 게이트웨이에서의 메시지 처리 방법 및 게이트웨이
JP5237438B2 (ja) 機能的に区別される送信イベントメモリを備えた通信システムの加入者ノード
KR102204954B1 (ko) Can 컨트롤러 및 이를 이용한 데이터 전송 방법
JP5372699B2 (ja) 車載ネットワーク装置
JP5728043B2 (ja) ゲートウェイ装置
JP5078003B2 (ja) 車載装置通信システム及び分配装置
JP7110950B2 (ja) ネットワークシステム
JP2009089286A (ja) 中継接続ユニット
JP7095575B2 (ja) 中継装置
JP4407615B2 (ja) ルーティングスイッチ
CN108234352B (zh) 电子控制单元和数据发送方法
JP6900254B2 (ja) 車載ネットワーク中継装置および中継方法
JP6485338B2 (ja) 通信システム
JPH1065699A (ja) 多重信号伝送装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061116

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20081219

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090401

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090604

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20100712

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110721

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: 20110809

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: 20110809

R150 Certificate of patent or registration of utility model

Ref document number: 4804307

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

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

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350