JP4926648B2 - 車載ゲートウェイ装置 - Google Patents

車載ゲートウェイ装置 Download PDF

Info

Publication number
JP4926648B2
JP4926648B2 JP2006293370A JP2006293370A JP4926648B2 JP 4926648 B2 JP4926648 B2 JP 4926648B2 JP 2006293370 A JP2006293370 A JP 2006293370A JP 2006293370 A JP2006293370 A JP 2006293370A JP 4926648 B2 JP4926648 B2 JP 4926648B2
Authority
JP
Japan
Prior art keywords
frame data
unit
data
time stamp
search engine
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
JP2006293370A
Other languages
English (en)
Other versions
JP2008113096A (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.)
Fujitsu Semiconductor Ltd
Renesas Electronics Corp
Original Assignee
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 Fujitsu Semiconductor Ltd, Renesas Electronics Corp filed Critical Fujitsu Semiconductor Ltd
Priority to JP2006293370A priority Critical patent/JP4926648B2/ja
Priority to US11/976,546 priority patent/US8027352B2/en
Priority to EP20070119394 priority patent/EP1916811A1/en
Publication of JP2008113096A publication Critical patent/JP2008113096A/ja
Application granted granted Critical
Publication of JP4926648B2 publication Critical patent/JP4926648B2/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/40006Architecture of a communication node
    • H04L12/40026Details regarding a bus guardian
    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • H04L49/206Real Time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches

Description

本発明は、車両に搭載され、複数の通信ネットワーク間でのデータの中継を行うゲートウェイ装置及びそのゲートウェイ装置でのデータ管理方法に関する。
近年、車両には図33に示すようにエンジンECU、ドア制御ECU、エアバックECU、オーディオECU、ナビゲーションECUなど複数のECUが搭載されるようになってきている。これらのECUを車両に搭載された異なる通信方式及び異なる通信速度を有する複数のLAN間で通信させるには、その橋渡しをするゲートウェイ装置が必要となる。
ゲートウェイ装置は、ソフトウェア制御によって複数の異なるネットワーク間で授受されるデータの中継、通信プロトコルの変換、パケットフィルタリングなどのゲートウェイ機能を実現している。これにより、異なるネットワークに接続されたノード間で通信を行うことができる。
しかしながら、ECU間で送受信される情報は増加の傾向にあり、そのため、1メッセージあたりの処理時間が増加し、ゲートウェイ装置内部での滞留時間がかかってしまうという問題が生じている。
特許文献1には、送信バッファにパケットと共にタイムスタンプを格納し、受信してから送信までの時間が長い場合にパケットの廃棄を行う技術が開示されている。
特開平10−13472号公報
特許文献1の技術は、タイムスタンプを送信バッファに一括して格納しておき、必要な時に送信バッファのタイムスタンプ情報を参照して、パケットを廃棄する。
複数のチャネルを備え、チャネル間でのデータ転送を実現するゲートウェイ装置においては、チャネルごとに設けられた処理部が一つの送信バッファを参照することになり、処理に遅れを生じてしまう。また、タイムスタンプを参照するときに、送信バッファのアドレス情報を各チャネルの処理装置で受け渡しする必要があり、処理が複雑になる。
本発明は上記事情に鑑みてなされたものであり、タイムスタンプ情報の参照を遅延なく行うことができ、フレームデータの処理遅延や、装置内での異常を素早く判定することができる車載ゲートウェイ装置を提供することを目的とする。
かかる目的を達成するために本発明の車載ゲートウェイ装置は、複数の通信チャネル間でフレームデータの転送制御を行う車載ゲートウェイ装置であって、前記複数の通信チャネルごとに設けられた、送信用と受信用との記憶部を備える複数の第1記憶部と、フレームデータに記録されたID番号に従って振り分けられて、受信用の第1記憶部の複数の記憶領域に記憶されたフレームデータを読み出して、該読み出したフレームデータを、該フレームデータを読み出した記憶領域に応じて、コントローラに送るフレームデータと、ハードウェア検索エンジン部に送るフレームデータとに分ける振り分け手段と、前記ハードウェア検索エンジン部に送られるフレームデータに、タイムスタンプを付加するタイムスタンプ付加手段と、前記振り分け手段から送られたフレームデータを受け付けて、該フレームデータに記録された情報に基づいて、該フレームデータを送信する送信先の通信装置との通信に使用する通信チャネルを判定し、前記複数の通信チャンネルごとに用意された送信用の第1記憶部のうちの該当する通信チャネル用の記憶領域に送信して記憶させる、プログラム制御された前記コントローラと、前記タイムスタンプ付加手段でタイムスタンプを付加されたフレームデータを受け付けて、該フレームデータに記録された情報に基づいて、該フレームデータを送信する送信先の通信装置との通信に使用する通信チャネルを判定し、前記複数の通信チャネルごとに記憶領域が用意された第2記憶部の該当する通信チャネル用の記憶領域に記憶させる前記ハードウェア検索エンジン部と、前記第2記憶部に記憶されたフレームデータのデータ数をカウントするカウント手段とを有し、前記コントローラは、所定時間ごとに前記カウント手段のカウント数を参照して、前記第2記憶部にフレームデータが記憶されているか否かを判定し、前記第2記憶部にフレームデータが記憶されていると判定した場合には、前記第2記憶部から読み出したフレームデータに付加されたタイムスタンプと現在時刻との時間差を求めて、求めた時間差と第1閾値及び第2閾値とを比較し、前記求めた時間差が第1閾値よりも大きい場合には、前記タイムスタンプが付加されているフレームデータを前記第2記憶部から消去し、又、前記求めた時間差が第1閾値よりも小さく、第2閾値よりも大きい場合には、前記コントローラが通信チャネルごとに振り分けるフレームデータよりも、前記第2記憶部に記憶したフレームデータを優先的に前記送信用の前記第1記憶部に送って記憶させることを特徴とする。
従って、ルーティング処理に多くの遅延時間(第1閾値よりも大きい)が生じてしまったフレームデータを消去し、ルーティング処理に遅延(第1閾値よりも小さく、第2閾値よりも大きい)が生じているフレームデータに対しては、コントローラがこの遅延が生じたフレームデータを優先的に処理することで、遅延時間を低減することができる。このため、コントローラが遅延の生じたフレームデータを効率的に処理することができる。
本発明によれば、タイムスタンプ情報の参照を遅延なく行うことができ、フレームデータの処理遅延や、装置内での異常を素早く判定することができる。
添付図面を参照しながら本発明の最良の実施例を説明する。
まず、図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と、フレームデータの処理遅延時間に応じて、フレームデータを廃棄する構成とを示している。
図1に示すように送信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に示す構成となる。
添付図面を参照しながら本発明の第2実施例を説明する。
図20に実施例2のゲートウェイハードマクロ部17の構成を示す。ゲートウェイハードマクロ部17は、図20に示すように検索エンジン部11、送信FIFO部20を主な構成として備えている。送信FIFO部20には、送信FIFO21、メッセージカウンタ22などが設けられる。送信FIFO部20は、送信バッファ14内に設けられる。図20に示すように検索エンジン部11は、複数の受信チャネルに対して1つ設けられている。また、送信FIFO21とメッセージカウンタ22は、1チャネルに2つずつ設けられる。本実施例では、通常送信専用、優先送信専用と機能に応じて送信FIFO21を使い分けている。
CAN9のメッセージボックスから取り出されたフレームデータは、一旦受信制御部15で一端格納される。検索エンジン部11は、その後、受信制御部15からフレームデータを所定のタイミングで読み出してルーティングを行い、ルーティング後のデータを送信FIFO21に格納する。なお、図20に示すように各CAN9に用意されるメッセージボックスは、受信用として1つ以上用意され、他のメッセージボックスは自由に使用される。
なお、本実施例においても、タイムスタンプ部61が設けられており、検索エンジン部11に入力したフレームデータにタイムスタンプを付加する。
タイムスタンプ部61の構成は、図4と同一であって、CPU2から出力される機能イネーブル信号及び分周比設定信号と、クロック信号とによって動作する。
次に、図21を参照しながら検索エンジン部11の構成について詳述する。検索エンジン部11は、図21に示すように検索制御部30と、レジスタ部31とを備えている。
検索制御部30は、フレームデータのルーティングを行う機能部である。受信制御部15に格納されたフレームデータを所定のタイミングで取り込み、ルーティングを行う。図21には、検索制御部30に取り込まれるデータが示されている。CAN_ID,DLC,CAN−DATAが検索制御部30に取り込まれる。マップメモリ13には、検索制御部30がルーティングを行うためのルーティングマップが記録されている。ルーティングマップは、データを転送するチャネルごとに定義され、各チャネルで受信したデータを異なる1つ以上のチャネルに転送するための情報が定義されている。図22にルーティングマップの一例を示す。図22に示すように各エントリごとに、情報を記録したメモリのアドレス、フォーマットの種別を示すIDE、フレームの種別を示すRTR、ID、マスクインフォメーション、チャネルを示す情報、送信FIFOの番号、送信チャネル番号、受信チャネル番号、その他の情報としてデータラベルが記録されている。
レジスタ部31には、CPU2によって設定される、検索制御部30の設定情報が記録される。例えば、検索制御部30の機能の停止、開始、リセットを指定する情報、チャネルごとに、検索制御部30の有効と無効とを設定する情報、表1に示す各種エラーの定義情報、送信FIFO21のオーバーフロー、ルーティングエラーが発生した場合に、その発生要因をCPU2に通知するか否かを設定する情報などが記録される。なお、送信FIFO21のオーバーフローとは、送信FIFO21に空き領域がない状態で、新たなデータが送信FIFOに書き込まれ、最古側のFIFO領域に最新のデータが上書きされてしまう状態をいう。また、ルーティングエラーとは、表1のAに示すエラーであり、マップメモリに記載されている宛先チャネル情報がすべて0、または受信可能チャネル情報がすべて0である状態をいう。
Figure 0004926648
次に、図23を参照しながら検索制御部30の構成について説明する。図23に示すように検索制御部30は、アドレス生成部35、マップメモリI/F部36、データ比較部37の機能部を備えている。アドレス生成部35は、アドレスカウンタを備え、マップメモリ13のアドレスを順次生成する。マップメモリI/F部36は、マップメモリ13とのインタフェース部分であり、アドレス生成部35により生成されたアドレスのデータをマップメモリから読み出してデータ比較部37に出力する。データ比較部37は、受信制御部15から読み込んだデータ(CAN_ID)と一致するアドレスがマップメモリ13のルーティングマップに登録されているか否かを比較し判定する。
図24のタイミングチャートを参照しながら検索制御部30の動作タイミングを説明する。CANの受信データが受信制御部15に格納されると、検索開始パルスが受信制御部15からアドレス生成部35に入力される。アドレス生成部35は、この検索開始パルスをトリガとしてマップメモリ13のアドレスを順次生成する(図24に示すマップアドレス0、1、2・・・)。アドレス生成部35で生成されたマップアドレスは、マップメモリI/F部36に入力され、マップメモリREAD信号に同期してマップメモリ13からマップデータが読み出される(図24に示すマップデータ0、1、2・・・)。データ比較部37は、受信したデータ(CAN_ID)と、マップメモリ13から読み出したIDとを比較し、IDの一致、不一致を判定する。不一致の場合には、データ比較部37から検索継続リクエスト信号がアドレス生成部35に出力され、データの比較が継続される。また一致した場合には、検索継続リクエスト信号がアドレス生成部35に出力されなくなり、アドレス生成部35からは、検索終了パルスが出力される。またデータ比較部37ではデータ比較と合わせてルーティングマップのパリティチェックを実行する。IDの一致したエントリに記録されたデータ(CAN_ID、マスク情報、宛先チャネル、送信FIFO番号、データラベル)のパリティチェックを実行する。パリティチェックエラーの場合には、エラーを示すParity_ERR信号をCPU2に出力する。
図25のフローチャート及び図26を参照しながら動作手順を説明する。なお、この制御手順はCPU2の制御手順ではなく、ゲートウェイハードマクロ部17のハードウェアの動作を示す。また、図26には、マップメモリ13の記録するルーティングマップと、このルーティングマップを使用した検索制御部30のルーティング手順とが概念的に示されている。フレームデータを受信すると(ステップS61/YES、又は図26に示すA:受信)、CAN9は、受信したフレームデータをCANインタフェース部8へ出力し(ステップS62)、CANインタフェース部8から受信制御部15にフレームデータが書き込まれる(ステップS63)。CAN9は、CAN9の備えるメッセージボックス9にフレームデータを入力すると、検索エンジン部11に対して割込み信号を出力する。検索エンジン部11は、この割込み信号をトリガとして、メッセージボックスからフレームデータを取り出し(図26のB)、受信制御部15に格納する。検索エンジン部11は、受信制御部15からの検索開始パルス(SCH_STRT)に同期してCAN_ID、DLC(データリンクコントロール)、データを取り出す(ステップS64)。なお、受信制御部15に記録されたフレームデータは、すべて検索対象となり検索エンジン部11に入力される。図27(A)には、受信したフレームデータの構成が示されている。フレームデータは、図27(A)に示すようにIDE(フォーマット種別を示す)、RTR(フレーム種別を示す)、EPC(パリティチェックエラー結果)、標準ID又は拡張ID、Data、Label0,Res(Reseved)、DLC(データリンクコントロール)、Label1、Data、タイムスタンプ、Dataの各領域を有している。標準ID又は拡張IDをCAN_IDと呼ぶ。
次に、検索エンジン部11は、マップメモリ13のデータに対してパリティチェックを行う(ステップS65)(図26のC参照)。マップメモリ13の検索時には、2分木検索によって導き出されたアドレス値でマップメモリ情報を読み出す。このとき読み出すマップメモリデータがビット化けを起こしていないかどうかを判定するために、パリティチェックを行う。パリティチェック結果がエラーであった場合には(ステップS65/YES)、CPU2に対してルーティングエラー通知の割込み信号を出力する(ステップS81)。その後、CPUでこのエラーを確認すると(ステップS82/YES)、エラーフラグがクリアされる(ステップS83)。
次に、検索エンジン部11は、マップメモリ13を検索して(ステップS67)、受信したフレームデータがルーティング対象のデータであるか否かを判定する(ステップS68)(図26のC、D)。検索エンジン部11は、フレームデータからCAN_ID,DLC,データを取り出し、受信したCAN_IDと一致するIDがルーティングマップに記録されているか否かを判定する(ステップS68)。CAN_IDと一致するIDがルーティングマップに記録されていない場合には(ステップS68/NO)、検索終了か否かを判定する(ステップS69)。検索終了ではない場合には(ステップS69/NO)、ステップS65のマップメモリ13の検索を再度行い、CAN_IDと一致するIDがマップメモリに登録されているか否かを判定する。また検索終了の場合には(ステップS69/YES)、中継対象外のデータであるので図28に示すようにデータを廃棄する(ステップS70)。
また、図26のCに示すようにCAN_IDと一致するIDがルーティングマップに記録されている場合には(ステップS68/YES、又は図26に示すE:一致)、検索エンジン部11は、フレームデータを格納する送信FIFOの番号(図26のF)と、フレームデータを転送する宛先チャネル情報とをマップメモリ13から取得する(ステップS71)(図26のG)。検索エンジン部11は、宛先チャネル情報を取得すると、宛先のチャネルは有効であるのか、無効であるのかを判定する。無効であると判定した場合には(ステップS72/NO)、CPU2に対してルーティングエラー通知の割込み信号を出力する(ステップS81)。その後、CPUでこのエラーを確認すると(ステップS82/YES)、エラーフラグがクリアされる(ステップS83)。また、宛先のチャネルは有効である判定すると(ステップS72/YES)、図27(B)に示すようにフレームデータにデータラベルを付加して送信FIFO21に出力される(図26のI)。
送信FIFO21にはフレームデータを格納できる段数の設定があり、この段数を超えてフレームデータを転送すると送信FIFO21に空きがなくなる。送信FIFO21に空きがない状態で(ステップS73/NO)、フレームデータの書き込みが行われると、最古側の送信FIFO領域にフレームデータの最新値が上書きされ、送信FIFOオーバーフローとなる(ステップS74)。検索エンジン部11は、送信FIFOオーバーフローを判定すると、CPU2に対してオーバーフローエラーの割込み信号を出力する(ステップS81)。その後、CPUでこのエラーを確認すると(ステップS82/YES)、エラーフラグがクリアされる(ステップS83)。なお、検索エンジン部11でフレームデータに付加されるデータラベルについては、後ほど詳述する。
また、送信FIFO21に空き領域がある場合には(ステップS73/YES)、FIFO調停部23の調停によってフレームデータを送信FIFO21に書き込み、メッセージカウンタ22をカウントアップする(ステップS75)。メッセージカウンタ22のカウント値が予め設定した設定値となると(ステップS77)、検索エンジン部11はCPU2に対して割込み信号を出力する。この後、データの転送をDMAコントローラ7の制御によって行う場合には(ステップS77/YES)、データリクエスト信号(DREQ)をDMAコントローラ7に出力する(ステップS79)。DMAコントローラ7はこの信号を入力して、送信FIFO21からのデータを送信する(ステップS80)。また、CPU2の制御によってデータ送信を行う場合には(ステップS77/NO)、検索エンジン部11は、CPU2に対して送信割込み信号を出力する(ステップS78)。CPU2は、プログラム制御によるソフトウェア処理によってルーティングされたフレームデータを送信処理する(ステップS80)。
図29に送信FIFO21の構成を示す。送信FIFO21は、図29に示すように各チャネルに3つの32段送信FIFOが設けられている。本実施例では、送信FIFO21の一段につき1フレームの情報が格納されるものとする。なお、送信FIFO21の段数、列数は、これに限定されるものではななく、入力するフレーム数、チャネル数、通信速度に応じて任意に変更することができる。
送信FIFO21にバッファリングされたフレームデータは、メッセージカウンタ22でカウントされ表示される。メッセージカウンタ22のカウント値は、送信FIFO21から取り出すことが保証されたフレーム数である。検索エンジン部11は、メッセージカウンタ22のカウント値がレジスタ部31に設定された値となると、割込み信号をCPU2に出力する。CPU2は、このカウント数だけ送信FIFO21からフレームを取り出すことができる。CPU2は割込み信号を受けて、プログラム制御によるソフトウェア処理によって該当するチャネルの全FIFOのメッセージカウンタ22のカウント値を読み出し、どの送信FIFOを何回読み出すのかを検知する。また、何らかの原因で、送信FIFO21からフレームデータが読み出されず送信FIFO21が一杯になった場合には、図30に示すように最も古い側のデータを廃棄した上で最新のデータを送信FIFO21に書き込むようにする。
送信FIFO21に記録されたフレームの受信制御部15への書き込みは、プログラムによるソフトウェア処理か、DMAコントローラ7による転送制御によって行われる。なお、ゲートウェイ装置として画一化できない処理、例えば、フェール処理やCAN_IDやデータの加工処理等についてもソフトウェア処理によって行う。なお、このソフトウェア処理は、CPU2がROM3に記録されたプログラムを読み出し、このプログラムに従った処理を実行することで実現される。
図31に、FIFO調停部23と、送信FIFO21との接続構成を示す。図31に示すFIFOカウンタ制御部24は、メッセージカウンタ22の制御を行う。FIFO調停部23は、複数の検索エンジン部11からフレームデータが同時に出力された場合、設定された優先順位に従って、フレームデータを送信FIFO21に出力する。
図32には、CAN9、CANインタフェース部8、検索エンジン部11、バスインタフェース部10間での通信で出力される信号を示す。CAN9からCANインタフェース部8には、IRQ(CAN_1からの割込み信号)、WR(レジスタ書き込み信号)、DATAxO(レジスタ読み出し信号)、DATAxI(レジスタ書き込み信号)が出力される。他のCAN_2,CAN_3からも同様な信号が出力される。CANインタフェース部8は、検索エンジン部11に対して、STARTx(ルーティング開始信号)と、IDx,DLCx,DATAxと、EN(検索エンジン部11の動作許可信号)とを出力する。
送信FIFO21に所定数のフレームデータが蓄積されると、検索エンジン部11からCPU2には、INTv(ゲートウェイ割込み信号)が出力される。CPU2は、RDv(レジスタ読み出し信号)と、WRv(レジスタ書き込み信号)とを出力して、メッセージカウンタ22のカウント値を読み出す。その後、DATAvO(レジスタ(送信FIFOを含む)読み出しデータ)、DATAvI(レジスタ(送信FIFOを含む)書き込みデータ)等によってデータの書き込みや読み出しが行われる。
ここで、検索エンジン部11で付加されるデータラベルについて説明する。データラベルは、検索エンジン部11のハードウェア構成上意味を持たず、ルーティングには直接関係しないが、図27(B)に示すようにフレームデータに付加して転送される。データラベルは8ビットで指定される。このデータラベルは、ルーティング処理時にフレームデータに付加され、送信FIFO21に転送される。プログラム制御によるソフトウェア処理によってデータラベルを取得し、ROM3に記録されているフレーム情報テーブルの参照用ポインタとして使用する。これによって、ソフトウェア処理でフレーム情報の再検索を行う必要がなくなり、ソフトウェアによる送信処理にかかる時間を短縮することができる。
上述した実施例は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。例えば、本発明は、ゲートウェイ装置を車両に搭載したものに有効であるが、車載用のゲートウェイ装置だけに限定されるものではない。
車載ゲートウェイ装置の構成を示すブロック図である。 ゲートウェイハードマクロ部の構成を示す図である。 振り分け部の構成を示すブロック図である。 タイムスタンプ部の構成を示すブロック図である。 タイムスタンプ部の初期設定時のCPUの処理手順を示すフローチャートである。 セレクタ部の構成を示すブロック図である。 検索エンジン部の構成を示すブロック図である。 エントリ識別部の構成を示す図である。 2分木検索を説明するための図である。 一致比較部の構成を示す図である。 マスク処理を説明するための図である。 マスク処理を説明するための図である。 検索エンジン部の処理手順を示すフローチャートである。 検索エンジン部の処理手順、特に自立チェックの手順を示すフローチャートである。 送信FIFOと、無効なフレームデータを廃棄するデータ廃棄部の構成を示す図である。 送信FIFOと、無効なフレームデータを廃棄するデータ廃棄部の他の構成を示す図である。 CPUにより無効なフレームデータを廃棄する手順を示すフローチャートである。 ゲートウェイハードマクロ部内で処理されるフレームデータの構成を示す図である。 ゲートウェイハードマクロ部の他の構成を示す図である。 ゲートウェイハードマクロ部の構成を示す図である。 検索エンジン部の構成を示す図である。 マップメモリに記録されたルーティングマップの一例を示す図である。 検索制御部の構成を示す図である。 検索制御部の動作タイミングを示すタイムチャートである。 車載ゲートウェイ装置の動作手順を示すフローチャートである。 検索制御部の動作を概念的に示す図である。 フレームデータの構成を示す図である。 検索エンジン部の動作を概念的に示す図である。 1チャネル当たりの送信FIFOを示す図である。 FIFOオーバーフロー時の処理を説明するための図である。 送信FIFO部の構成を示す図である。 CAN、CANインタフェース部、検索エンジン部、バスインタフェース部間のCAN通信で送信される信号を示す図である。 複数のECUと車載ゲートウェイ装置との接続構成を示す図である。
符号の説明
1 車載ゲートウェイ装置
2 CPU
3 FLASH ROM
4 UART
6 割込み制御部
7 DMAコントローラ
8 CANインタフェース部
9 CAN
10 バスインタフェース部
11 検索エンジン部
13 マップメモリ
14 送信バッファ
15 受信制御部
16 CPUバス
17 ゲートウェイハードマクロ部
20 送信FIFO部
21 送信FIFO
22 メッセージカウンタ
30 検索制御部
31 レジスタ部
35 アドレス生成部
36 マップメモリI/F部
37 データ比較部
51 振り分け部
52 セレクタ部
53 並列バッファ
54 調停部
55 フォーマット変換部
56 レジスタ
61 タイムスタンプ部
70 状態制御部
71 エントリ識別部
79 一致比較部
80 エントリチェック部
91 選択部
92 第1変換部
93 第2変換部
95 論理演算部
96 一致比較演算部
100 状態管理部
200 状態監視ブロック
210 TS用FIFO
211 データ用FIFO
300 データ廃棄部
301 比較部
302 Valid部
303 メッセージカウンタ
521、522、523、524 レジスタ
525 選択論理部
526 セレクタ
611 分周回路
612 フリーランカウンタ

Claims (1)

  1. 複数の通信チャネル間でフレームデータの転送制御を行う車載ゲートウェイ装置であって、
    前記複数の通信チャネルごとに設けられた、送信用と受信用との記憶部を備える複数の第1記憶部と、
    フレームデータに記録されたID番号に従って振り分けられて、受信用の第1記憶部の複数の記憶領域に記憶されたフレームデータを読み出して、該読み出したフレームデータを、該フレームデータを読み出した記憶領域に応じて、コントローラに送るフレームデータと、ハードウェア検索エンジン部に送るフレームデータとに分ける振り分け手段と、
    前記ハードウェア検索エンジン部に送られるフレームデータに、タイムスタンプを付加するタイムスタンプ付加手段と、
    前記振り分け手段から送られたフレームデータを受け付けて、該フレームデータに記録された情報に基づいて、該フレームデータを送信する送信先の通信装置との通信に使用する通信チャネルを判定し、前記複数の通信チャンネルごとに用意された送信用の第1記憶部のうちの該当する通信チャネル用の記憶領域に送信して記憶させる、プログラム制御された前記コントローラと、
    前記タイムスタンプ付加手段でタイムスタンプを付加されたフレームデータを受け付けて、該フレームデータに記録された情報に基づいて、該フレームデータを送信する送信先の通信装置との通信に使用する通信チャネルを判定し、前記複数の通信チャネルごとに記憶領域が用意された第2記憶部の該当する通信チャネル用の記憶領域に記憶させる前記ハードウェア検索エンジン部と、
    前記第2記憶部に記憶されたフレームデータのデータ数をカウントするカウント手段とを有し、
    前記コントローラは、所定時間ごとに前記カウント手段のカウント数を参照して、前記第2記憶部にフレームデータが記憶されているか否かを判定し、前記第2記憶部にフレームデータが記憶されていると判定した場合には、前記第2記憶部から読み出したフレームデータに付加されたタイムスタンプと現在時刻との時間差を求めて、求めた時間差と第1閾値及び第2閾値とを比較し、前記求めた時間差が第1閾値よりも大きい場合には、前記タイムスタンプが付加されているフレームデータを前記第2記憶部から消去し、又、前記求めた時間差が第1閾値よりも小さく、第2閾値よりも大きい場合には、前記コントローラが通信チャネルごとに振り分けるフレームデータよりも、前記第2記憶部に記憶したフレームデータを優先的に前記送信用の前記第1記憶部に送って記憶させることを特徴とする車載ゲートウェイ装置。
JP2006293370A 2006-10-27 2006-10-27 車載ゲートウェイ装置 Active JP4926648B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006293370A JP4926648B2 (ja) 2006-10-27 2006-10-27 車載ゲートウェイ装置
US11/976,546 US8027352B2 (en) 2006-10-27 2007-10-25 Gateway apparatus and data managing method
EP20070119394 EP1916811A1 (en) 2006-10-27 2007-10-26 Gateway apparatus and data managing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006293370A JP4926648B2 (ja) 2006-10-27 2006-10-27 車載ゲートウェイ装置

Publications (2)

Publication Number Publication Date
JP2008113096A JP2008113096A (ja) 2008-05-15
JP4926648B2 true JP4926648B2 (ja) 2012-05-09

Family

ID=38969477

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006293370A Active JP4926648B2 (ja) 2006-10-27 2006-10-27 車載ゲートウェイ装置

Country Status (3)

Country Link
US (1) US8027352B2 (ja)
EP (1) EP1916811A1 (ja)
JP (1) JP4926648B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101938371B (zh) * 2009-06-30 2012-09-26 比亚迪股份有限公司 一种汽车报文配置处理系统及工作方法
US20110153898A1 (en) * 2009-12-22 2011-06-23 Krempasky Ii Brad L Vehicles including bus-coupled hub unit and powertrain electronic control unit and method
FR2976434B1 (fr) * 2011-06-10 2013-07-12 Peugeot Citroen Automobiles Sa Dispositif de detection d'encombrement d'un reseau de communication, par analyse de temps d'attente de messages periodiques devant etre transmis par un organe communicant
US9002533B2 (en) * 2011-06-28 2015-04-07 Gm Global Technology Operations Message transmission control systems and methods
DE102012223307B4 (de) * 2012-12-14 2021-03-04 Continental Automotive Gmbh Synchronisieren von Datenpaketen in einem Datenkommunikationssystem eines Fahrzeugs
US20150023369A1 (en) * 2013-07-18 2015-01-22 Cisco Technology, Inc. Obtaining data reception parameters in a multiple interface network
US9549363B2 (en) * 2013-07-18 2017-01-17 Cisco Technology, Inc. Obtaining data reception parameters on-demand in a multiple interface network
JP6206232B2 (ja) 2014-02-13 2017-10-04 株式会社デンソー 車載制御装置
EP2981028B1 (en) * 2014-07-28 2020-05-06 MyLaps B.V. Transponder module and access module for activating and configuring such transponder module over a CAN bus
ES2952400T3 (es) 2014-07-28 2023-10-31 Mylaps B V Módulo transpondedor y módulo de acceso para activar y configurar dicho módulo transpondedor
EP3326312A4 (en) * 2015-07-22 2019-01-09 Arilou Information Security Technologies Ltd. DATA SECURITY FOR VEHICLE COMMUNICATION BUS
US10142358B1 (en) * 2016-02-29 2018-11-27 Symantec Corporation System and method for identifying an invalid packet on a controller area network (CAN) bus
JP6953226B2 (ja) * 2017-08-04 2021-10-27 ソニーセミコンダクタソリューションズ株式会社 通信装置、通信方法、プログラム、および、通信システム
JP7031961B2 (ja) 2017-08-04 2022-03-08 ソニーセミコンダクタソリューションズ株式会社 通信装置、通信方法、プログラム、および、通信システム
JP6556207B2 (ja) * 2017-10-19 2019-08-07 三菱電機株式会社 車両用セキュリティ装置およびセキュリティ方法
JP6950591B2 (ja) * 2018-03-08 2021-10-13 トヨタ自動車株式会社 車載通信装置
EP3840314B1 (en) * 2018-08-31 2022-07-20 Huawei Technologies Co., Ltd. Control method and related device
KR102273410B1 (ko) * 2020-01-10 2021-07-06 성균관대학교산학협력단 Ecu를 리프로그래밍 하기 위한 장치, 시스템 및 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4432061C1 (de) * 1994-09-09 1995-12-07 Philips Patentverwaltung Paketübertragungssystem
JP3159041B2 (ja) * 1996-03-05 2001-04-23 株式会社日立製作所 ディジタル信号記録再生装置および再生装置
US5793976A (en) * 1996-04-01 1998-08-11 Gte Laboratories Incorporated Method and apparatus for performance monitoring in electronic communications networks
JPH1013472A (ja) * 1996-06-27 1998-01-16 Matsushita Electric Works Ltd ブリッジング機能を有するネットワーク接続装置における、Delay−Exceeded−Discard処理方式
US6738381B1 (en) 1997-12-19 2004-05-18 Telefonaktiebolaget Lm Ericsson (Publ) ATM time stamped queuing
JP3508051B2 (ja) * 1999-01-21 2004-03-22 日本電気エンジニアリング株式会社 パケットの廃棄処理方式
US6484082B1 (en) 2000-05-24 2002-11-19 General Motors Corporation In-vehicle network management using virtual networks
US20020089602A1 (en) * 2000-10-18 2002-07-11 Sullivan Gary J. Compressed timing indicators for media samples
JP2002171293A (ja) 2000-12-01 2002-06-14 Matsushita Electric Ind Co Ltd Ipゲートウエイ装置
JP2002176437A (ja) * 2000-12-07 2002-06-21 Fujitsu Ltd パケット転送制御方法
JP2002217960A (ja) * 2001-01-24 2002-08-02 Toyo Commun Equip Co Ltd シェーピング機能を備えたipパケットルーティング装置
US7523198B2 (en) * 2002-01-25 2009-04-21 Architecture Technology Corporation Integrated testing approach for publish/subscribe network systems
JP4317720B2 (ja) * 2003-07-30 2009-08-19 アマノ株式会社 通話情報管理装置
JP2005086693A (ja) 2003-09-10 2005-03-31 Calsonic Kansei Corp 車載ネットワーク装置
KR100592907B1 (ko) * 2003-12-22 2006-06-23 삼성전자주식회사 큐오에스를 향상시키기 위한 무선 인터넷 단말 장치 및패킷 전송 방법
MXPA05007162A (es) * 2004-04-30 2005-12-15 Microsoft Corp Mantenimiento de informacion de tiempo-fecha para sincronizar dispositivos de baja fidelidad.

Also Published As

Publication number Publication date
US8027352B2 (en) 2011-09-27
US20080101393A1 (en) 2008-05-01
JP2008113096A (ja) 2008-05-15
EP1916811A1 (en) 2008-04-30

Similar Documents

Publication Publication Date Title
JP4926648B2 (ja) 車載ゲートウェイ装置
JP2006333438A (ja) ゲートウェイ装置及びルーティング方法
JP4804307B2 (ja) ゲートウェイ装置及び転送制御方法
US10153825B2 (en) Vehicle-mounted control device
CN107707520B (zh) 网络监视装置
JP4376862B2 (ja) 通信メッセージ変換装置及び通信メッセージ変換方法
JP4652308B2 (ja) エラー検出システム及びエラー検出方法
CN109891848B (zh) 借助检查can标识符识别can网络中的操纵方法及can控制器
WO2010116416A1 (ja) データ中継装置、及び当該装置で用いられるデータ中継方法
JP2009253557A (ja) 車載用の中継接続ユニット
EP2790109A1 (en) Switching device, packet control method, and data communication system
JP5237438B2 (ja) 機能的に区別される送信イベントメモリを備えた通信システムの加入者ノード
CN115695576B (zh) 一种兼容tsn帧抢占协议的数据帧转换方法及装置
KR102204954B1 (ko) Can 컨트롤러 및 이를 이용한 데이터 전송 방법
JP2009253464A (ja) ゲートウェイ装置及びゲートウェイ方法
JP5372699B2 (ja) 車載ネットワーク装置
JP7006295B2 (ja) 攻撃検知装置および攻撃検知方法
JP2010103648A (ja) ゲートウェイ装置及びゲートウェイ方法
JP7110950B2 (ja) ネットワークシステム
CN110999225B (zh) 控制装置
US20030152073A1 (en) Inbound data stream controller with pre-recognition of frame sequence
CN116634270A (zh) 一种车载可调度摄像头视频传输系统、方法及自动驾驶汽车
CN114667715A (zh) 中继装置、通信网络系统以及通信控制方法
JPH11150544A (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

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110927

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

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

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

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4926648

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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

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