JP2019213081A - 半導体装置及び情報処理方法 - Google Patents

半導体装置及び情報処理方法 Download PDF

Info

Publication number
JP2019213081A
JP2019213081A JP2018108541A JP2018108541A JP2019213081A JP 2019213081 A JP2019213081 A JP 2019213081A JP 2018108541 A JP2018108541 A JP 2018108541A JP 2018108541 A JP2018108541 A JP 2018108541A JP 2019213081 A JP2019213081 A JP 2019213081A
Authority
JP
Japan
Prior art keywords
information
payload
message information
filter
software
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.)
Pending
Application number
JP2018108541A
Other languages
English (en)
Inventor
将 奥村
Tsuyoshi Okumura
将 奥村
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.)
Renesas Electronics Corp
Original Assignee
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2018108541A priority Critical patent/JP2019213081A/ja
Priority to US16/409,468 priority patent/US11558218B2/en
Publication of JP2019213081A publication Critical patent/JP2019213081A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/40052High-speed IEEE 1394 serial bus
    • H04L12/40091Bus bridging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • 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/40169Flexible bus arrangements
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/20Network management software packages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0019Control system elements or transfer functions
    • B60W2050/0026Lookup tables or parameter maps
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • B60W2050/0052Filtering, filters
    • 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
    • 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/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40234Local Interconnect Network LIN
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Small-Scale Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】処理時間の増大を抑制しつつフィルタ処理を行うことが可能な半導体装置を提供する。【解決手段】半導体装置1は、マイクロコントローラ2で構成される。マイクロコントローラ2は、CPU4と、メモリ6と、CANコントローラ10とを有する。メモリ6は、ソフトウェアを格納する。CPU4は、メモリ6に格納されたソフトウェアを実行する。CANコントローラ10は、メッセージ情報にラベル情報を付加するように構成されている。メモリ6に格納されたCANルーティングソフトウェア100は、ラベル情報を用いて、メッセージ情報をルーティングするか否かを判定するためのフィルタ処理を行うフィルタ処理機能を実現する。【選択図】図1

Description

本発明は、半導体装置及び情報処理方法に関する。
車載ネットワークに接続されたECU(Electronic Control Unit)等の車載機器間でデータが送受信される。この車載ネットワークの通信規格として、例えばCAN(Controller Area Network)がある。また、車載機器のソフトウェア構造を規定する規格として、例えばAUTOSAR(AUTomotive Open System ARchitecture)がある。この技術に関連し、特許文献1及び特許文献2は、AUTOSARに準拠したソフトウェア構造を有する機器を開示している。
特開2017−091214号公報 特開2017−105362号公報
車載機器間でデータを送受信する際に、データを転送(ルーティング)するか否かを判断するフィルタ処理を行うことがある。このフィルタ機能がAUTOSARのような車載機器のソフトウェア構造を規定する規格に規定されていない場合、アプリケーション層に組み込まれたソフトウェア(アプリケーション)でフィルタ処理を実行する必要がある。しかしながら、このような構成では、フィルタ処理に要する処理時間が増大するおそれがある。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態によれば、半導体装置は、ソフトウェアを格納する記憶回路と、前記ソフトウェアを実行する少なくとも1つの処理回路と、車載ネットワークから受信されたメッセージ情報に付加情報を付加するように構成されたコントローラとを有し、前記ソフトウェアは、前記付加情報を用いて、前記コントローラから出力された前記メッセージ情報をルーティングするか否かを判定するためのフィルタ処理を行うフィルタ処理機能を実現する半導体装置である。
また、一実施の形態によれば、半導体装置は、ソフトウェアを格納する記憶回路と、前記ソフトウェアを実行する少なくとも1つの処理回路と、車載ネットワークから受信されたメッセージ情報に付加情報を付加するように構成されたコントローラとを有し、前記ソフトウェアは、前記半導体装置を構成するマイクロコントローラに依存しない処理を実行するアプリケーションと、前記アプリケーションを前記マイクロコントローラに依存しないようにする基本ソフトウェアとを有し、前記基本ソフトウェアは、前記半導体装置のハードウェアを抽象化するレイヤに設けられた、前記車載ネットワークを規定するプロトコルを使用可能とするためのネットワークインタフェースにおいて、前記付加情報を用いて、前記コントローラから出力された前記メッセージ情報をルーティングするか否かを判定するためのフィルタ処理を行うフィルタ処理機能を実現する半導体装置である。
また、一実施の形態によれば、情報処理方法は、車載ネットワークから受信されたメッセージ情報に付加情報を付加し、前記付加情報を用いて、前記メッセージ情報をルーティングするか否かを判定するためのフィルタ処理を行う情報処理方法である。
前記一実施の形態によれば、処理時間の増大を抑制しつつフィルタ処理を行うことが可能な半導体装置及び情報処理方法を提供できる。
実施の形態1にかかる半導体装置のハードウェア構成を示す図である。 実施の形態1にかかるCANルーティングソフトウェアを示す図である。 実施の形態1にかかる半導体装置の構成を示す機能ブロック図である。 実施の形態1にかかる半導体装置によって行われるルーティング処理の概要を示す図である。 実施の形態1にかかる半導体装置のフィルタ処理機能の詳細を示すブロック図である。 実施の形態1にかかる受信ルールテーブルを例示する図である。 実施の形態1にかかるペイロードフィルタテーブルを例示する図である。 実施の形態1にかかる半導体装置によって行われる情報処理方法を示すフローチャートである。 実施の形態1にかかる半導体装置によって行われる情報処理方法を示すフローチャートである。 第1の比較例について説明するための図である。 第2の比較例について説明するための図である。 実施の形態2にかかる半導体装置の構成を示す図である。
以下、実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
さらに、以下の実施の形態において、その構成要素(動作ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等(個数、数値、量、範囲等を含む)についても同様である。
また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
(実施の形態の概要)
車載ネットワークでは、CANプロトコルを使用した通信が、制御系のデータ交換用途に主に使用されている。このCAN通信データを接続される各機器へ中継する役割を持つコンポーネントは、ゲートウェイと呼ばれている。自動運転等の新たな技術への対応により、このゲートウェイで取り扱うCAN通信のチャネル数の増加及び利用される通信量の増加の傾向があり、通信性能の要求が、より厳しくなっている。
一方、このCAN通信を制御するためのソフトウェア構造を決める規格として、AUTOSARがあり、このAUTOSARの規格に沿った形でソフトウェアが実現されていることが多い。ここで、AUTOSARで規格化されていない機能をゲートウェイ上の機能として実現しようとした場合、AUTOSARソフトウェア(後述する基本ソフトウェアおよびRTE)よりも上位のアプリケーションとして、ソフトウェアを実装する必要がある。昨今のセキュリティに関する要求の高まり等により、このようなAUTOSARで規格化されていないフィルタ機能が、ゲートウェイの機能として要求されることも増えてきている。しかしながら、アプリケーションとして実装した場合、AUTOSARソフトウェアを介した通信となるため、通信遅延が大きくなり、昨今の通信性能要求の厳しさに耐えられなくなってきている。このような状況の中で、より高速にCANのフィルタ処理を行う技術が求められている。
また、マイクロコントローラは、受信したCANメッセージの識別子(ID)をチェックして、適切なメッセージか否かに応じてメッセージを振り分けて、振り分けられたデータをソフトウェアへ渡すハードウェアルーティング機能を有している。そして、マイクロコントローラは、このメッセージの振り分けの際に、ソフトウェアに渡すデータにラベル(付加情報)を付加する機能を有する。しかしながら、AUTOSARの規格では、PDUR(PDU(Protocol Data Unit) Router)(後述する図2を参照)よりも上位のレイヤでは、CANプロトコルに準拠したメッセージデータを、メッセージ受信時のデータ構造とは異なる構造へ加工してしまう。そのため、マイクロコントローラのハードウェア機能でデータに付加された付加情報が、PDURよりも上位のコンポーネントで失われてしまう。そのため、ソフトウェア処理の効率化が難しかった。一方、本実施の形態においては、以下に説明するように、上記のマイクロコントローラの機能を利用して、高速にCANのフィルタ処理を行うように構成されている。
(実施の形態1)
次に、実施の形態1について説明する。
図1は、実施の形態1にかかる半導体装置1のハードウェア構成を示す図である。半導体装置1は、車両に搭載され、車両の制御のために使用されるECUである。半導体装置1は、複数の車載機器が接続された車載ネットワークに接続されている。車載ネットワークは、例えばCANに準拠しているが、これに限定されない。実施の形態1に示す例では、車載ネットワークがCANに準拠しているとしている。
半導体装置1は、例えばCANを用いた通信で送受信されるCAN通信データを他の車載機器に転送(中継)するゲートウェイであるが、半導体装置1は、ゲートウェイに限定されない。半導体装置1は、マイクロコントローラ2で構成される。マイクロコントローラ2は、処理回路である少なくとも1つのCPU4と、記憶回路であるメモリ6と、チャネルインタフェース8と、CANコントローラ10とを有する。メモリ6は、ソフトウェアを格納する。CPU4は、メモリ6に格納されたソフトウェアを実行する。チャネルインタフェース8は、CANの複数のチャネルとのインタフェースを実現する。
CANコントローラ10は、CANプロトコルに準拠したCAN通信データを他の車載機器に転送(中継)するためのルーティング処理を実行する、ハードウェアコンポーネントである。CANコントローラ10は、ハードウェアによるルーティング機能(ハードウェアルーティング機能)を実現する。具体的には、CANコントローラ10は、予め定められた受信ルールに従って、CANから受信されたメッセージ情報を振り分ける。ここで、メッセージ情報は、CAN通信データである。そして、CANコントローラ10は、メッセージ情報の識別子(ID)を用いて、メッセージ情報を転送(ルーティング)するためのフィルタ処理を行う。さらに、CANコントローラ10は、メッセージ情報に付加情報であるラベル情報を付加するように構成されている。詳しくは後述する。
メモリ6は、CANルーティングソフトウェア100を格納している。実施の形態1の例においては、CANルーティングソフトウェア100は、AUTOSAR規格に準拠するように、階層化されたソフトウェア構造を有している。なお、CANルーティングソフトウェア100は、AUTOSARに準拠していることに限定されない。CANルーティングソフトウェア100は、CANコントローラ10から出力されたCAN通信データ(メッセージ情報)を他の車載機器に転送(中継)するためのルーティング処理を実行するソフトウェアである。ここで、CANルーティングソフトウェア100は、ラベル情報(付加情報)を用いて、メッセージ情報をルーティングするか否かを判定するためのフィルタ処理を行うフィルタ処理機能を実現する。詳しくは後述する。
図2は、実施の形態1にかかるCANルーティングソフトウェア100を示す図である。CANルーティングソフトウェア100は、マイクロコントローラ抽象化層101と、ECU抽象化層102と、サービス層103と、RTE(Runtime Environment;ランタイム環境)104と、アプリケーション層105とで構成されている。ここで、少なくともマイクロコントローラ抽象化層101と、ECU抽象化層102と、サービス層103とによって、基本ソフトウェア110が構成されている。
アプリケーション層(Application Layer)105は、マイクロコントローラ2に依存しない処理を実行するアプリケーション115を有する。基本ソフトウェア(Basic Software;BSW)110は、アプリケーション115をマイクロコントローラ2に依存しないようにするための処理を行う。
マイクロコントローラ抽象化層(Microcontroller Abstraction Layer;MCAL)101は、マイクロコントローラ2の上位レイヤである。マイクロコントローラ抽象化層101は、マイクロコントローラ2を抽象化する。つまり、マイクロコントローラ抽象化層101は、マイクロコントローラ2に依存しているが、その上位レイヤをマイクロコントローラ2に依存させないようにする。マイクロコントローラ抽象化層101は、マイクロコントローラ2に内蔵された周辺機器又はメモリ6にマッピングされた外部デバイスへ直接アクセスするソフトウェアモジュールである。ここで、マイクロコントローラ抽象化層101は、CANドライバ111を有する。CANドライバ111は、CANプロトコルを扱うコンポーネントである。
ECU抽象化層(ECU Abstraction Layer)102は、マイクロコントローラ抽象化層101の上位レイヤである。ECU抽象化層102は、半導体装置1のハードウェアコンポーネントを抽象化する。つまり、ECU抽象化層102は、半導体装置1のハードウェアに依存しているが、その上位レイヤを半導体装置1のハードウェアに依存させないようにする。ECU抽象化層102は、マイクロコントローラ抽象化層101とのインタフェースを実現する。ここで、ECU抽象化層102は、CANインタフェース112(CAN IF)を有する。CANインタフェース112は、CANプロトコルを使用するためのインタフェースを上位レイヤに提供するネットワークインタフェースとなるコンポーネントである。つまり、CANインタフェース112は、CANを規定するプロトコルを使用可能とするためのコンポーネントである。ここで、実施の形態1においては、後述するように、CANインタフェース112が、フィルタ処理を行う機能を有する。
サービス層(Services Layer)103は、ECU抽象化層102の上位レイヤである。サービス層103は、オペレーティングシステム機能を含む。サービス層103は、アプリケーション115のための基本的なサービス及び基本ソフトウェアモジュールを提供する。ここで、サービス層103は、PDUルータ113(PDUR)及びコミュニケーション部114(COM部)を有する。PDUルータ113は、PDU(Protocol Data Unit)をルーティングする機能を有する。コミュニケーション部114は、他の車載機器とのデータ通信機能をRTE104へ提供する機能を有する。
RTE(Runtime Environment)104は、上述した各層からなる基本ソフトウェア110の上位レイヤである。RTE104は、アプリケーション115を半導体装置1に依存させないようにする。RTE104は、アプリケーション115のための通信を提供する。
図3は、実施の形態1にかかる半導体装置1の構成を示す機能ブロック図である。図3に示すように、半導体装置1は、マイクロコントローラ2と、CANルーティングソフトウェア100とから構成されている。なお、図3では、便宜上、マイクロコントローラ2とCANルーティングソフトウェア100とが別個に示されている。しかしながら、実際には、上述したように、CANルーティングソフトウェア100は、マイクロコントローラ2に設けられたメモリ6に格納され、CPU4によって実行される。
上述したように、CANルーティングソフトウェア100は、CANドライバ111と、CANインタフェース112と、PDUルータ113とを有する。CANインタフェース112は、フィルタ処理部120を有する。フィルタ処理部120は、CANコントローラ10による機能を利用して、メッセージ情報をルーティングするためのフィルタ処理を行う。具体的には、フィルタ処理部120は、CANコントローラ10によって付加されたラベル情報(付加情報)を用いて、CANコントローラ10から出力されたメッセージ情報をルーティングするか否かを判定するためのフィルタ処理を行うフィルタ処理機能を実現する。つまり、実施の形態1においては、CANインタフェース112に、フィルタ処理機能が実装されている。
フィルタ処理部120は、インタフェース部122と、解析部130とを有する。インタフェース部122は、CANコントローラ10によるハードウェアルーティング機能と、CANルーティングソフトウェア100とを連携する機能を有する。具体的には、インタフェース部122は、CANコントローラ10から受信したメッセージ情報から、CANコントローラ10によって付加されたラベル情報を抽出する。解析部130は、インタフェース部122から受け付けたメッセージ情報及びラベル情報を解析する。そして、解析部130は、メッセージ情報をルーティングするか否かを判定するためのフィルタ処理を行う。詳しくは後述する。
図4は、実施の形態1にかかる半導体装置1によって行われるルーティング処理の概要を示す図である。CANコントローラ10は、チャネルインタフェース8の複数のポート8a〜8hのうちのポート8cに接続されたCANバス40を介して、メッセージ情報50を受信する(ステップS12)。なお、図4に示した例では、チャネルインタフェース8は、8個のポート8a〜8hを有しているとしたが、ポートの数は8個に限定されない。
CANコントローラ10は、予め定められた受信ルールに従って、メッセージ情報50を、転送するか否かに応じて振り分ける。そして、CANコントローラ10は、メッセージ情報50にラベル情報52を付加する(ステップS14)。なお、CANコントローラ10によって行われるフィルタ処理は、例えばメッセージ情報50の識別子(ID)を用いたIDフィルタ処理である。
CANコントローラ10は、ラベル情報52が付加されたメッセージ情報50を、CANルーティングソフトウェア100のCANドライバ111に出力する(ステップS16)。CANドライバ111は、CANコントローラ10から受信したメッセージ情報50を、CANインタフェース112のインタフェース部122に出力する(ステップS18)。インタフェース部122は、メッセージ情報50から、ラベル情報52を抽出する(ステップS20)。解析部130は、ラベル情報52及びメッセージ情報50を解析して、フィルタ処理を行う(ステップS22)。なお、解析部130によって行われるフィルタ処理は、例えば、メッセージ情報50のペイロードを用いたペイロードフィルタ処理である。
解析部130は、フィルタ処理によって転送すると判定されたメッセージ情報50を、PDUルータ113に出力する。PDUルータ113は、転送すると判定されたメッセージ情報50に対してルーティング処理を行う(ステップS24)。具体的には、PDUルータ113は、CANインタフェース112、CANドライバ111及びマイクロコントローラ2、及びポート8hを介して、メッセージ情報50をCANバス40に送信する。なお、ポート8hに接続されたCANバス40は、ポート8cに接続されたCANバス40とは異なっていてもよい。
通常、AUTOSARに規定されていない機能を実装する場合、その機能は、アプリケーション層105にアプリケーション115として実装される。アプリケーション115を用いて処理を行う場合、図2の実線の矢印で示すように、処理対象のデータが、マイクロコントローラ2からアプリケーション層105の間の各レイヤを通過することとなる。したがって、AUTOSARに規定されていない方法でルーティングのためのフィルタ処理を行う場合、アプリケーション115を用いることによって、処理時間が増大するおそれがある。
一方、実施の形態1においては、PDUルータ113よりも下位のコンポーネントであるCANインタフェース112において、ルーティングのためのフィルタ処理が行われる。したがって、図2の破線の矢印で示すように、PDUルータ113において、ルーティングを行うことが可能となる。したがって、アプリケーション115でルーティング(フィルタ処理)を行う場合と比較して、データが通過するレイヤが少ないので、高速でルーティングを行うことが可能となる。詳しくは後述する。
また、上述したように、AUTOSARの規格では、PDUルータ113よりも上位のレイヤでは、CANプロトコルに準拠したメッセージ情報を加工してしまう。したがって、この場合にアプリケーション115でルーティング(フィルタ処理)を行うと、マイクロコントローラ2のCANコントローラ10によってメッセージ情報50に付加されたラベル情報52(付加情報)を用いることができない。
一方、実施の形態1では、PDUルータ113よりも下位のコンポーネントであるCANインタフェース112に、フィルタ処理部120が実装されている。したがって、フィルタ処理部120は、PDUルータ113よりも上位のレイヤで加工される前のメッセージ情報50を扱うことができる。したがって、上述したように、フィルタ処理部120は、ラベル情報52を用いてフィルタ処理を行うことができる。したがって、フィルタ処理部120は、アプリケーション115でルーティング(フィルタ処理)を行う場合と比較して、処理を簡略化することができるので、高速でルーティングを行うことが可能となる。詳しくは後述する。
また、実施の形態1にかかる半導体装置1は、CANコントローラ10によって振り分けられたメッセージ情報50に対して、フィルタ処理を行う。したがって、CANコントローラ10によって行われるフィルタ処理についてはCANルーティングソフトウェア100で行う必要がない。したがって、フィルタ処理を全てソフトウェアで行う場合と比較して、高速でルーティングを行うことが可能となる。詳しくは後述する。
また、実施の形態1にかかる半導体装置1は、本実施の形態にかかるCANルーティングソフトウェア100によるフィルタ処理以外の処理を行う場合、図2の実線の矢印で示すように、アプリケーション115を用いてその処理を行うことができる。したがって、実施の形態1にかかる半導体装置1は、AUTOSARの規格に準拠したまま、フィルタ処理の高速化を図ることが可能となる。
図5は、実施の形態1にかかる半導体装置1のフィルタ処理機能の詳細を示すブロック図である。半導体装置1は、ハードウェアであるマイクロコントローラ2と、ソフトウェアであるCANインタフェース112及びその上位レイヤ116(PDUルータ113等)とから構成される。また、CANドライバ111は、ハードウェアとデータの送受信を行う。
CANコントローラ10は、メッセージ情報50を受信すると、CPU4に対して、受信割り込みを出力(発行)する。これにより、CANルーティングソフトウェア100が起動する。CANコントローラ10は、受信ルールテーブル12と、識別子フィルタ処理部14と、ラベル付加部16と、送受信バッファ18と、受信バッファ20とを有する。受信ルールテーブル12は、予め定められた受信ルールを示す。受信ルールテーブル12については、図6を用いて後述する。
識別子フィルタ処理部14は、受信ルールテーブル12を用いて、メッセージ情報50の識別子(ID)に対してフィルタ処理を行う。具体的には、識別子フィルタ処理部14は、受信ルールテーブル12を用いて、メッセージ情報50の識別子(メッセージID)が適切であるか否かを判定する。ラベル付加部16は、メッセージ情報50にラベル情報52(付加情報)を付加する。このとき、ラベル付加部16は、受信ルールテーブル12を用いて、ラベル情報52をメッセージ情報50に付加する。ラベル付加部16は、受信ルールテーブル12を用いることによって、容易にラベル情報52を付加することができる。
送受信バッファ18及び受信バッファ20は、例えばFIFO(First−In First Out)バッファである。送受信バッファ18(第1のバッファ)は、データの送受信が可能なバッファである。受信バッファ20(第2のバッファ)は、データの受信のみが可能なバッファである。なお、送受信バッファ18(第1のバッファ)は、少なくともデータの送信が可能なバッファであってもよい。
識別子フィルタ処理部14は、受信ルールテーブル12を用いて、メッセージ情報50を振り分ける。具体的には、識別子フィルタ処理部14は、受信ルールテーブル12を用いて、メッセージ情報50を、送受信バッファ18又は受信バッファ20に格納する。さらに具体的には、識別子フィルタ処理部14は、適切なメッセージIDを有するメッセージ情報50を、送受信バッファ18に格納する。一方、識別子フィルタ処理部14は、適切でないメッセージIDを有するメッセージ情報50を、受信バッファ20に格納する。
CANインタフェース112(フィルタ処理部120)の解析部130は、ペイロードフィルタテーブル132と、ペイロードフィルタ処理部134と、エラーメッセージ送信部136と、メッセージ転送部138とを有する。ペイロードフィルタテーブル132は、ペイロードフィルタ処理部134によるペイロードフィルタ処理に使用される。ペイロードフィルタテーブル132については、図7を用いて後述する。その他の構成要素の機能については後述する。
図6は、実施の形態1にかかる受信ルールテーブル12を例示する図である。受信ルールテーブル12は、メッセージIDと、IDマスクと、受信ルールラベル(ラベル情報52)と、格納先バッファ情報とを対応付けている。受信ルールテーブル12の各行を、受信ルール情報と称する。つまり、受信ルール情報は、あるメッセージIDに対応するIDマスク、受信ルールラベル及び格納先バッファ情報を含む。そして、受信ルールテーブル12は、CANのチャネル(CANチャネル)ごとに、複数の受信ルール情報を含んでいる。識別子フィルタ処理部14は、後述する方法により、受信ルールテーブル12を使用する。
ここで、受信ルールテーブル12の各項目の値の右下の「H」は、その値が16進数であることを示している。また、図6の例において、メッセージID及びIDマスクは、11ビットのデータである。したがって、「7FF」では、11個のビット列の全てのビットが「1」である。さらに、メッセージ情報50のIDも11ビットのデータである。メッセージIDは、対応するメッセージ情報50がどのような情報に関するものであるかを示す。例えば、「100」は、車両の速度を示すメッセージ情報50のIDであり、「200」は、車両の燃料の残量を示すメッセージ情報50のIDであってもよい。また、「300」は、ブレーキが踏まれたことを示すメッセージ情報50のIDであってもよい。なお、最終行の「000」は、適切でないID(不正ID)を示す。
また、図6のCANチャネル#1の例では、「100」、「200」及び「300」以外の識別子は、後述するマスク処理によって、「000」となる。図6のCANチャネル#1の例において、例えばメッセージID「100」は、IDマスク「7FF」、受信ルールラベル「0100」及び「送受信バッファ」と対応付けられている。また、図6のCANチャネル#1の例において、メッセージID「000」は、IDマスク「000」、受信ルールラベル「01FF」及び「受信バッファ」と対応付けられている。
また、受信ルールラベルの上位8ビットは、対応するメッセージIDのメッセージ情報50が受信されたCANチャネルを示している。つまり、受信ルールラベルの上位8ビットが「01」である場合、対応するメッセージIDのメッセージ情報50が、CANチャネル#1から受信されたことを示す。また、受信ルールラベルの上位8ビットが「02」である場合、対応するメッセージIDのメッセージ情報50が、CANチャネル#2から受信されたことを示す。
図7は、実施の形態1にかかるペイロードフィルタテーブル132を例示する図である。ペイロードフィルタテーブル132は、「開始オフセット」と、「サイズ」と、「期待値」と、「マスク」とを対応付けている。解析部130は、複数のペイロードフィルタテーブル132を格納している。好ましくは、解析部130は、複数のCANチャネルにそれぞれ対応する複数のペイロードフィルタテーブル132を格納している。各ペイロードフィルタテーブル132は、受信ルールラベルの少なくとも一部と対応付けられている。つまり、受信ルールラベルの上位8ビットがCANチャネルを示していることから、各ペイロードフィルタテーブル132は、受信ルールラベルの上位8ビットと対応付けられている。
ここで、ペイロードフィルタテーブル132の各行を、ペイロードフィルタ情報と称する。また、ペイロードフィルタ情報は、受信ルールラベルの少なくとも一部と対応付けられている。つまり、ペイロードフィルタ情報は、メッセージ情報50に付加されたある受信ルールラベルの少なくとも一部に対応する、「開始オフセット」、「サイズ」、「期待値」及び「マスク」を含む。
例えば、ペイロードフィルタ情報132aは、受信ルールラベルの下位8ビット「00」に対応する。また、ペイロードフィルタ情報132bは、受信ルールラベルの下位8ビット「01」に対応する。ペイロードフィルタ処理部134は、後述する方法により、ペイロードフィルタテーブル132を使用する。
図8及び図9は、実施の形態1にかかる半導体装置1によって行われる情報処理方法を示すフローチャートである。言い換えると、図8及び図9は、メッセージ情報50をルーティングするためのフィルタ処理方法(転送処理方法)を示す。まず、CANコントローラ10は、メッセージ情報50を受信する(ステップS102)。
次に、CANコントローラ10の識別子フィルタ処理部14は、受信したメッセージ情報50に対して、ハードウェアを用いたIDフィルタ処理を行う(ステップS104)。具体的には、識別子フィルタ処理部14は、受信ルールテーブル12を用いて、メッセージ情報50の識別子に対してフィルタ処理を行う。そして、識別子フィルタ処理部14は、受信されたメッセージ情報50の識別子が受信ルールに合致するか否かを判定する(ステップS106)。言い換えると、識別子フィルタ処理部14は、受信されたメッセージ情報50が、受信ルールテーブル12の最終行(メッセージID「000」)に対応しないか否かを判定する。
識別子が受信ルールに合致する場合(S106のYES)、CANコントローラ10は、受信されたメッセージ情報50の識別子が適切なものであると判定する。このとき、CANコントローラ10のラベル付加部16は、受信ルールテーブル12において対応する受信ルールラベル(ラベル情報52)をメッセージ情報50に付加する(ステップS108)。そして、CANコントローラ10は、受信ルールラベルが付加されたメッセージ情報50を、送受信バッファ18に格納する(ステップS110)。CANコントローラ10は、メッセージ情報50を送受信バッファ18に格納すると、CPU4に対して、メッセージ情報50の受信完了を通知する受信割り込みを出力する(ステップS111)。
一方、識別子が受信ルールに合致しない場合(S106のNO)、CANコントローラ10は、受信されたメッセージ情報50のIDが不適切なものであると判定する。このとき、ラベル付加部16は、受信ルールテーブル12において対応する受信ルールラベル(ラベル情報52)をメッセージ情報50に付加する(ステップS112)。そして、CANコントローラ10は、受信ルールラベルが付加されたメッセージ情報50を、受信バッファ20に格納する(ステップS114)。このようにして、CANコントローラ10は、適切なIDのメッセージ情報50を送受信バッファ18に振り分け、不適切なIDのメッセージ情報50を受信バッファ20に振り分ける。CANコントローラ10は、メッセージ情報50を受信バッファ20に格納すると、CPU4に対して、メッセージ情報50の受信完了を通知する受信割り込みを出力する(ステップS115)。
以下、図6に示した例において、CANチャネル#1からメッセージ情報50が受信された場合について説明する。識別子「100」のメッセージ情報50が受信された場合、識別子フィルタ処理部14は、受信ルールテーブル12から、IDマスク「7FF」を抽出する。そして、識別子フィルタ処理部14は、IDマスク「7FF」を用いて識別子「100」に対してマスク処理を行う。ここで、本実施の形態において、「マスク処理」は、マスク対象のビット列において、IDマスクの「0」のビット位置に対応する位置のビットを「0」にし、IDマスクの「1」のビット位置に対応する位置のビットを元のままとする処理である。
したがって、IDマスク「7FF」を用いて識別子「100」に対してマスク処理を行った結果は「100」となる。したがって、識別子フィルタ処理部14は、IDマスク「7FF」を用いてマスク処理が施された識別子「100」が受信ルールテーブル12において定義されたメッセージID「100」と一致すると判定する。したがって、S106の処理において、識別子フィルタ処理部14は、受信されたメッセージ情報50のIDが、受信ルールに合致すると判定する。この場合、S108の処理において、ラベル付加部16は、受信ルールテーブル12においてメッセージID「100」に対応する受信ルールラベル「0100」を、メッセージ情報50に付加する。そして、S110の処理において、CANコントローラ10は、この受信ルールラベル「0100」が付加されたメッセージ情報50を、送受信バッファ18に格納する。
識別子「200」又は「300」のメッセージ情報50が受信された場合についても同様に、識別子フィルタ処理部14は、IDマスク「7FF」を用いて識別子「200」又は「300」に対してマスク処理を行う。このとき、マスク処理された結果は、「200」又は「300」となる。したがって、識別子フィルタ処理部14は、IDマスク「7FF」を用いてマスク処理が施された識別子が受信ルールテーブル12において定義されたメッセージIDと一致すると判定する。したがって、S106の処理において、識別子フィルタ処理部14は、受信されたメッセージ情報50のIDが、受信ルールに合致すると判定する。この場合、S108の処理において、ラベル付加部16は、識別子「200」のメッセージ情報50に受信ルールラベル「0101」を付加する。また、ラベル付加部16は、識別子「300」のメッセージ情報50に受信ルールラベル「01FF」を付加する。そして、S110の処理において、CANコントローラ10は、受信ルールラベルが付加されたメッセージ情報50を、送受信バッファ18に格納する。
一方、「100」、「200」及び「300」以外の識別子(例えば「110」)を有するメッセージ情報50が受信された場合、識別子フィルタ処理部14は、受信ルールテーブル12から、IDマスク「000」を抽出する。受信ルールテーブル12で定義されたメッセージIDは、受信ルールテーブル12における先頭から順に処理される。したがって、受信されたメッセージ情報50のIDが「100」、「200」及び「300」のいずれにも一致しなかった場合、末尾の受信ルールに必ず一致する。
そして、識別子フィルタ処理部14は、IDマスク「000」を用いて、受信されたメッセージ情報50の識別子に対してマスク処理を行う。このとき、マスク処理された結果は「000」となる。したがって、識別子フィルタ処理部14は、IDマスク「000」を用いてマスク処理が施された識別子が受信ルールテーブル12において定義されたメッセージID「000」と一致すると判定する。したがって、S106の処理において、識別子フィルタ処理部14は、受信されたメッセージ情報50のIDが、受信ルールに合致しないと判定する。この場合、S112の処理において、ラベル付加部16は、受信ルールテーブル12においてメッセージID「000」に対応する受信ルールラベル「01FF」を、メッセージ情報50に付加する。そして、S114の処理において、CANコントローラ10は、この受信ルールラベル「01FF」が付加されたメッセージ情報50を、受信バッファ20に格納する。
このように、実施の形態1にかかるCANコントローラ10は、予め格納された受信ルールテーブル12を用いて、メッセージ情報50の振り分けを行っている。したがって、高速に、IDフィルタ処理を行うことが可能となる。さらに、実施の形態1にかかるCANコントローラ10は、受信ルールテーブル12を用いて、受信ルールラベルをメッセージ情報50に付加している。したがって、容易に受信ルールラベルを付加することが可能となる。
送受信バッファ18へメッセージ情報50が格納されたことにより受信割り込みが発生した場合、CANルーティングソフトウェア100は、送受信バッファ18から、メッセージ情報50を取得する(ステップS122)。具体的には、インタフェース部122は、CANドライバ111を介して、送受信バッファ18からメッセージ情報50を取得する。そして、インタフェース部122は、メッセージ情報50に付加された受信ルールラベルを抽出する(ステップS124)。インタフェース部122は、抽出された受信ルールラベルとメッセージ情報50とを、解析部130に出力する。
解析部130は、受信ルールラベルを用いて、ソフトウェアによるフィルタ処理を行う(S126〜S134)。解析部130のペイロードフィルタ処理部134は、受信ルールラベルの少なくとも一部が予め定められたデータと一致するか否かを判定する(ステップS128)。具体的には、ペイロードフィルタ処理部134は、受信ルールラベルの下位8ビットが「FF」に一致するか否かを判定する。
受信ルールラベルの下位8ビットが「FF」に一致しない場合(S126のNO)、ペイロードフィルタ処理部134は、受信ルールラベルの少なくとも一部である上位8ビットに対応するペイロードフィルタテーブル132を取得する(ステップS128)。さらに、ペイロードフィルタ処理部134は、S128の処理で取得されたペイロードフィルタテーブル132から、受信ルールラベルの少なくとも一部である下位8ビットに対応するペイロードフィルタ情報を取得する(ステップS130)。
ペイロードフィルタ処理部134は、S130の処理で取得されたペイロードフィルタ情報を用いてペイロードフィルタ処理を行う(ステップS132)。そして、ペイロードフィルタ処理部134は、ペイロードに問題がないか否かを判定する(ステップS134)。具体的には、ペイロードフィルタ処理部134は、ペイロードの開始位置から「開始オフセット」で示されるデータ数だけオフセットされた位置から「サイズ」で示されるデータ数のデータ列を、「マスク」で示されるデータでマスク処理する。そして、ペイロードフィルタ処理部134は、マスク処理されたデータ値が「期待値」となる場合に、ペイロードに問題がないと判定する。なお、ペイロードのうち、期待値と比較する箇所のデータは、ペイロードの正当性を判定する指標となる箇所である。
ペイロードに問題がない、つまりメッセージ情報50が正常である場合(S134のYES)、メッセージ転送部138は、上位レイヤ116にメッセージ情報50を出力する。これにより、上位レイヤ116(PDUルータ113)によって、転送処理が行われる(ステップS136)。一方、ペイロードに問題がある、つまりメッセージ情報50に異常がある場合(S134のNO)、エラーメッセージ送信部136は、エラーメッセージを送信する(ステップS138)。
例えば、図6及び図7の例において、CANチャネル#1においてID「100」を有するメッセージ情報50が受信されたとする。この場合、このメッセージ情報50に、受信ルールラベル「0100」が付加される。このとき、S128の処理において、ペイロードフィルタ処理部134は、受信ルールラベル「0100」の上位8ビット「01」に対応するペイロードフィルタテーブル132(例えば図7のCANチャネル#1のテーブル)を取得する。また、S130の処理において、ペイロードフィルタ処理部134は、受信ルールラベル「0100」の下位8ビット「00」に対応するペイロードフィルタ情報132aを取得する。ペイロードフィルタ情報132aにおいて、「開始オフセット」は2バイトであり、「サイズ」は3バイトである。また、「期待値」は「EE0022」であり、「マスク」は「FF00FF」である。
また、上記の場合において、メッセージ情報50のペイロードが「0011EE3322556677」であるとする。このとき、S132の処理において、ペイロードフィルタ処理部134は、ペイロードの開始位置から開始オフセット「2バイト」だけオフセットした位置から3バイト分のデータ「EE3322」を、「FF00FF」でマスク処理する。このとき、「EE3322」を「FF00FF」でマスク処理した結果は、「EE0022」となり、期待値と一致する。したがって、S134において、ペイロードフィルタ処理部134は、ペイロードが正常であると判定する。この場合、S136の処理において、メッセージ転送部138(PDUルータ113)は、メッセージ情報50の転送処理を行う。
また、メッセージ情報50のペイロードが「0011ED3322556677」であるとする。このとき、S132の処理において、ペイロードフィルタ処理部134は、ペイロードの開始位置から開始オフセット「2バイト」だけオフセットした位置から3バイト分のデータ「ED3322」を、「FF00FF」でマスク処理する。このとき、「ED3322」を「FF00FF」でマスク処理した結果は、「ED0022」となり、期待値と一致しない。したがって、S134において、ペイロードフィルタ処理部134は、ペイロードが正常でないと判定する。この場合、S138の処理において、エラーメッセージ送信部136は、エラーメッセージを作成して、他のECU等に送信する。
一方、受信ルールラベルの少なくとも一部が予め定められたデータと一致する場合、つまり受信ルールラベルの下位8ビットが「FF」に一致する場合(S126のNO)、メッセージ転送部138は、上位レイヤ116にメッセージ情報50を出力する。これにより、上位レイヤ116(PDUルータ113)によって、転送処理が行われる(ステップS140)。つまり、この場合、ペイロードフィルタテーブル132を用いたペイロードフィルタ処理は、行われない。
例えば、図6の例において、CANチャネル#1においてID「300」を有するメッセージ情報50が受信されたとする。この場合、このメッセージ情報50に、受信ルールラベル「01FF」が付加される。このとき、S126の処理において、ペイロードフィルタ処理部134は、受信ルールラベルの下位8ビットが「FF」であるので、ペイロードフィルタテーブル132を用いたフィルタ処理(S132)を行わない。そして、メッセージ転送部138(PDUルータ113)によって、転送処理が行われる(S140)。なお、ペイロードフィルタテーブル132を用いたフィルタ処理を行わなくてよい理由は、ペイロードの中身をチェックする必要のないメッセージ情報50のIDに、下位8ビットが「FF」である受信ルールラベルを付加するようにしたからである。例えば「ブレーキが踏まれた」といったイベントは、そのイベントが発生したことが示されればよく、ペイロードの中身については、車両の制御において問われない。
上述したように、実施の形態1にかかる解析部130は、受信ルールラベルの上位8ビットをインデックスとしてペイロードフィルタテーブル132を取得する(S128)。さらに、実施の形態1にかかる解析部130は、受信ルールラベルの下位8ビットをインデックスとしてペイロードフィルタ情報を取得する(S130)。これにより、受信ルールラベルを用いない場合と比較して、ペイロードフィルタ情報の検索処理に要する時間を大幅に削減することができる。したがって、実施の形態1においては、処理時間の増大を抑制しつつ、フィルタ処理を行うことが可能となる。
また、上述したように、実施の形態1にかかるCANルーティングソフトウェア100は、受信ルールラベルの下位8ビットが「FF」に一致する場合、ペイロードフィルタテーブル132を用いたペイロードフィルタ処理を行わないで、メッセージ情報50の転送処理を行う。これにより、処理時間を削減することが可能となる。
一方、受信バッファ20へメッセージ情報50が格納されたことにより受信割り込みが発生した場合、CANルーティングソフトウェア100は、受信バッファ20から、メッセージ情報50を取得する(ステップS152)。この場合、解析部130のエラーメッセージ送信部136は、直ちに、エラーメッセージを作成して、他のECUに送信するための処理を行う(ステップS154)。
このように、不正なメッセージ情報50を受信バッファ20に格納することによって、CANルーティングソフトウェア100は、直ちに、そのメッセージ情報50をエラーであると判定することができる。したがって、CANルーティングソフトウェア100において、不正なIDを有するメッセージ情報50の判定を行うことが不要となる。したがって、CPU4のリソースを消費することが抑制されるので、高速でフィルタ処理を行うことが可能となる。また、CANルーティングソフトウェア100は、送受信バッファ18に格納されたメッセージ情報50に対してのみ、フィルタ処理を行うように構成されているので、処理が簡略化される。
(比較例)
次に、実施の形態1に対する比較例について説明する。
図10は、第1の比較例について説明するための図である。図10に示すように、第1の比較例では、アプリケーション層105のアプリケーション115に、フィルタ処理部190が設けられている。フィルタ処理部190は、メッセージ情報50に対して、上述したようなフィルタ処理を行い得る。この場合、上述したように、メッセージ情報50が、CANドライバ111、CANインタフェース112、PDUルータ113、コミュニケーション部114、及びRTE104を通過する。したがって、第1の比較例にかかるフィルタ処理では、実施の形態1と比較して、メッセージ情報50が通過するレイヤ(コンポーネント)の数が多い。したがって、比較例にかかるフィルタ処理に要する処理時間は、実施の形態1と比較して増大する可能性がある。
一方、実施の形態1においては、PDUルータ113よりも下位のコンポーネントであるCANインタフェース112において、ルーティングのためのフィルタ処理が行われる。したがって、第1の比較例のアプリケーション115のフィルタ処理部190でルーティング(フィルタ処理)を行う場合と比較して、データが通過するレイヤが少ない。したがって、実施の形態1においては、高速でルーティングを行うことが可能となる。
また、上述したように、第1の比較例では、PDUルータ113よりも上位のレイヤで、マイクロコントローラ2で付加された付加情報(受信ルールラベル)が削除されてしまう。したがって、フィルタ処理部190は、受信ルールラベルを用いたフィルタ処理を行うことができない。
一方、実施の形態1では、上述したように、PDUルータ113よりも下位のコンポーネントであるCANインタフェース112に、フィルタ処理部120が実装されている。したがって、フィルタ処理部120は、ラベル情報52(受信ルールラベルを)を用いてフィルタ処理を行うことができる。したがって、実施の形態1にかかるフィルタ処理部120は、アプリケーション115のフィルタ処理部190でルーティング(フィルタ処理)を行う場合と比較して、処理を簡略化することができる。したがって、実施の形態1にかかる方法では、高速でルーティングを行うことが可能となる。
図11は、第2の比較例について説明するための図である。図11は、第2の比較例にかかる情報処理方法(転送処理方法)を示すフローチャートを示している。第2の比較例は、メッセージ情報50のIDによるフィルタ処理及びペイロードフィルタ処理等の全ての処理を、CANコントローラ10を用いないで、ソフトウェアのみで実行する場合の例である。
マイクロコントローラ2がメッセージ情報50を受信すると(ステップS202)、CANコントローラ10は、CPU4に受信割り込みを出力する。このとき、CANルーティングソフトウェア100は、ソフトウェアによるIDフィルタ処理を行う(ステップS204)。この場合、CANルーティングソフトウェア100は、どのメッセージIDが適切でどのメッセージIDが不適切であるかを示すテーブルを記憶している。したがって、CANルーティングソフトウェア100は、このテーブルを検索することにより、メッセージ情報50のIDが受信ルールに合致するか否かを判定する(ステップS206)。IDが受信ルールに合致しない場合(S206のNO)、CANルーティングソフトウェア100は、エラーメッセージを送信する(ステップS208)。
一方、IDが受信ルールに合致する場合(S206のYES)、CANルーティングソフトウェア100は、ペイロードフィルタ処理を行う。ここで、CANルーティングソフトウェア100は、図7に相当するペイロードフィルタテーブルを記憶している。ここで、第2の比較例においては、受信ルールラベルがメッセージ情報50に付加されていない。したがって、CANルーティングソフトウェア100は、図9のS128に対応する処理として、メッセージ情報50のIDに対応するペイロードフィルタテーブルを検索する(ステップS210)。
ペイロードフィルタテーブルが存在しない場合(ステップS212のNO)、CANルーティングソフトウェア100は、エラーメッセージを送信する(S208)。一方、ペイロードフィルタテーブルが存在する場合(S212のYES)、CANルーティングソフトウェア100は、図9のS126に対応する処理として、ペイロードフィルタテーブルを用いたフィルタ処理が必要か否かを判定する(ステップS214)。ペイロードフィルタテーブルを用いたフィルタ処理が必要でない場合(S214のNO)、CANルーティングソフトウェア100は、S140の処理と同様に、メッセージ情報50の転送処理を行う(ステップS230)。
一方、ペイロードフィルタテーブルを用いたフィルタ処理が必要である場合(S214のYES)、CANルーティングソフトウェア100は、S130の処理に対応する処理として、ペイロードフィルタテーブルからペイロードフィルタ情報を検索する(ステップS216)。そして、CANルーティングソフトウェア100は、検索されたペイロードフィルタ情報を用いて、S132の処理と同様にして、ペイロードフィルタ処理を行う(ステップS218)。ペイロードに問題がない場合(ステップS220のYES)、CANルーティングソフトウェア100は、メッセージ情報50の転送処理を行う(ステップS222)。一方、ペイロードに問題がある場合(S220のNO)、CANルーティングソフトウェア100は、エラーメッセージを送信する(ステップS224)。
ここで、第2の比較例においては、S210、S214及びS216の処理で、検索処理を行う必要がある。検索処理は、検索するデータの数が多くなればなるほど、処理負荷及び処理速度ともに大きくなる傾向がある。したがって、車載ネットワークが複雑になって検索するデータの数が増大すると、第2の比較例にかかる検索処理に膨大な時間を要することとなる。
一方、上述した実施の形態1においては、ハードウェアであるCANコントローラ10が、受信ルールラベルをメッセージ情報50に付加するように構成されている。したがって、この受信ルールラベルをインデックスとして、即座に、ペイロードフィルタ情報を取得することが可能となる。つまり、実施の形態1においては、S210、S214及びS216のような検索処理を行うことが不要となる。したがって、実施の形態1においては、処理時間の増大を抑制しつつフィルタ処理を行うことが可能となる。特に、車載ネットワークが複雑化するほど、実施の形態1にかかる効果が大きくなり得る。
(実施の形態2)
次に、実施の形態2について説明する。実施の形態2においては、半導体装置1(ECU)がCAN以外の車載ネットワークに接続されている点で、実施の形態1と異なる。実施の形態2のこれ以外の構成については、実施の形態1と実質的に同様である。
図12は、実施の形態2にかかる半導体装置1の構成を示す図である。図12に例示した半導体装置1は、CANの他に、LIN(Local Interconnect Network)及びイーサネット(Ethernet)(登録商標)に接続されている。実施の形態2にかかる半導体装置1は、マイクロコントローラ2及びルーティングソフトウェア200を有する。マイクロコントローラ2は、CANコントローラ10の他に、LINコントローラ202及びイーサネットコントローラ204を有する。
LINコントローラ202は、LINに接続されている。LINコントローラ202は、LINに関する動作について、CANコントローラ10と実質的に同様の機能を有する。イーサネットコントローラ204は、イーサネットに接続されている。イーサネットコントローラ204は、イーサネットに関する動作について、CANコントローラ10と実質的に同様の機能を有する。
実施の形態2にかかるルーティングソフトウェア200は、CANルーティングソフトウェア100と同様に、CANドライバ111、CANインタフェース112、及びPDUルータ113を有する、実施の形態2にかかるルーティングソフトウェア200は、さらに、LINドライバ211、LINインタフェース212(LIN IF)、イーサネットドライバ221、及びイーサネットインタフェース222(イーサネットIF)を有する。PDUルータ113は、CANインタフェース112、LINインタフェース212及びイーサネットインタフェース222の処理により、メッセージ情報50の中身だけの情報を扱い得る。つまり、CANインタフェース112、LINインタフェース212及びイーサネットインタフェース222は、それぞれ、CAN、LIN及びイーサネットのプロトコルに準拠したメッセージ情報を扱うが、PDUルータ113は、これらのプロトコルよらないデータを扱い得る。
LINドライバ211及びイーサネットドライバ221は、それぞれ、LIN及びイーサネットに関する動作について、CANドライバ111と実質的に同様の機能を有する。LINインタフェース212及びイーサネットインタフェース222は、それぞれ、LIN及びイーサネットに関する動作について、CANインタフェース112と実質的に同様の機能を有する。
また、CANインタフェース112は、実施の形態1にかかるフィルタ処理部120と実質的に同様の構成を有する、CANフィルタ処理部206を有する。LINインタフェース212は、LINフィルタ処理部216を有する。イーサネットインタフェース222は、イーサネットフィルタ処理部226を有する。LINフィルタ処理部216は、CANフィルタ処理部206(フィルタ処理部120)と同様にインタフェース部及び解析部を有し、LINに関する処理について、CANフィルタ処理部206と実質的に同様の処理を行う。これと同じように、イーサネットフィルタ処理部226は、CANフィルタ処理部206(フィルタ処理部120)と同様にインタフェース部及び解析部を有し、イーサネットに関する処理について、CANフィルタ処理部206と実質的に同様の処理を行う。
LINコントローラ202及びイーサネットコントローラ204は、CANコントローラ10と同様に、ハードウェアルーティング機能を実現する。つまり、LINコントローラ202及びイーサネットコントローラ204は、受信ルールテーブルを用いて、メッセージ情報50の振り分けを行う。さらに、LINコントローラ202及びイーサネットコントローラ204は、メッセージ情報50に受信ルールラベルを付加する。
LINフィルタ処理部216及びイーサネットフィルタ処理部226は、CANフィルタ処理部206(フィルタ処理部120)と同様に、ソフトウェアによるフィルタ処理を行う。具体的には、LINフィルタ処理部216は、LINドライバ211を介して受信ルールラベルが付加されたメッセージ情報50を受け付ける。また、LINフィルタ処理部216のインタフェース部が、受信ルールラベルを抽出する。そして、LINフィルタ処理部216の解析部が、ペイロードフィルタテーブル及び受信ルールラベルを用いて、フィルタ処理を行う。これにより、LINからのメッセージ情報50を転送するか否かが決定される。イーサネットフィルタ処理部226についても同様の処理を行い、イーサネットからのメッセージ情報50を転送するか否かが決定される。このようにして、実施の形態2にかかる半導体装置1は、CANだけでなく、LIN及びイーサネットについても、上述した実施の形態1とほぼ同様の効果を実現可能である。
また、実施の形態2にかかる半導体装置1は、CANからLIN、LINからイーサネットといったように、異なるネットワーク間を跨ぐルーティングを行うことも可能である。CANからLINにルーティングが行われるとき、CANコントローラ10及びCANフィルタ処理部206が、上述したフィルタ処理を行う。また、LINからCANにルーティングが行われるとき、LINコントローラ202及びLINフィルタ処理部216が、上述したフィルタ処理を行う。
なお、各ネットワークについて、転送できるメッセージ長の最大値が規定されていることがある。したがって、転送先のネットワークで転送可能なメッセージの最大長が、転送元のネットワークで転送可能なメッセージの最大長よりも小さい場合、転送元のネットワークに関するフィルタ処理部が、転送先のネットワークにおけるメッセージの最大長に合わせて、メッセージを分割して送信し得る。例えば、イーサネットでは、最大値が1000バイトであるのに対し、CANでは、最大値が64バイトと規定され得る。この場合、イーサネットからCANにメッセージ情報が転送される場合、イーサネットフィルタ処理部226は、データ長が最大64バイトとなるように、メッセージを分割する。
上述したように、実施の形態2にかかる半導体装置1は、CANだけでなく、LIN及びイーサネットについても、上述した実施の形態1とほぼ同様の効果を実現可能である。さらに、実施の形態2にかかる半導体装置1は、異なるネットワーク間でメッセージ情報を転送する場合であっても、実施の形態1と同様に、アプリケーション層105でフィルタ処理を行う必要がない。したがって、実施の形態2において、異なるネットワーク間でメッセージ情報を転送する場合であっても、高速でルーティングを行うことが可能となる。言い換えると、異なるネットワーク間でメッセージ情報を転送する場合であっても、処理時間の増大を抑制しつつフィルタ処理を行うことが可能となる。
(変形例)
なお、本実施の形態は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述した実施の形態にかかるフローチャートにおいて、各処理の順序は、適宜、変更可能である。例えば、図9において、S126の処理は、S128の処理の後で行われてもよいし、S130の処理の後で行われてもよい。
また、上述した実施の形態で説明された構成要素が行う処理の一部を、別の構成要素が行ってもよい。例えば、図9のS128の処理は、解析部130ではなくインタフェース部122によって行われてもよい。また、エラーメッセージ送信部136及びメッセージ転送部138の処理は、ペイロードフィルタ処理部134によって行われてもよい。
さらに、図8に示した処理が、CANコントローラ10ではなくCANルーティングソフトウェア100によって行われてもよい。しかしながら、図11を用いて上述したように、図8に示した処理がハードウェアであるCANコントローラ10によって行われることによって、処理時間の増大をより抑制してフィルタ処理を行うことが可能となる。
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
車載ネットワークから受信されたメッセージ情報に付加された付加情報を抽出するステップと、
前記付加情報を用いて、前記メッセージ情報をルーティングするか否かを判定するためのフィルタ処理を行うステップと
をコンピュータに実行させるプログラム。
(付記2)
前記フィルタ処理を行うステップは、前記付加情報を用いて取得されたペイロードフィルタ情報を用いて、前記メッセージ情報のペイロードに対してフィルタ処理を行う
付記1に記載のプログラム。
(付記3)
前記フィルタ処理を行うステップは、前記付加情報の少なくとも一部と対応付けられたペイロードフィルタテーブルを用いて、前記ペイロードに対してフィルタ処理を行う
付記2に記載のプログラム。
(付記4)
前記フィルタ処理を行うステップは、前記ペイロードフィルタテーブルのうち、前記付加情報の少なくとも一部と対応付けられたペイロードフィルタ情報を用いて、前記ペイロードに対してフィルタ処理を行う
付記3に記載のプログラム。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
1 半導体装置
2 マイクロコントローラ
4 CPU
6 メモリ
10 CANコントローラ
12 受信ルールテーブル
14 識別子フィルタ処理部
16 ラベル付加部
18 送受信バッファ
20 受信バッファ
50 メッセージ情報
52 ラベル情報
100 CANルーティングソフトウェア
101 マイクロコントローラ抽象化層
102 ECU抽象化層
103 サービス層
104 RTE
105 アプリケーション層
110 基本ソフトウェア
111 CANドライバ
112 CANインタフェース
113 PDUルータ
120 フィルタ処理部
122 インタフェース部
130 解析部
132 ペイロードフィルタテーブル
132a,132b ペイロードフィルタ情報
134 ペイロードフィルタ処理部
136 エラーメッセージ送信部
138 メッセージ転送部
200 ルーティングソフトウェア
202 LINコントローラ
204 イーサネットコントローラ
206 CANフィルタ処理部
211 LINドライバ
212 LINインタフェース
216 LINフィルタ処理部
221 イーサネットドライバ
222 イーサネットインタフェース
226 イーサネットフィルタ処理部

Claims (19)

  1. ソフトウェアを格納する記憶回路と、
    前記ソフトウェアを実行する少なくとも1つの処理回路と、
    車載ネットワークから受信されたメッセージ情報に付加情報を付加するように構成されたコントローラと
    を有し、
    前記ソフトウェアは、前記付加情報を用いて、前記コントローラから出力された前記メッセージ情報をルーティングするか否かを判定するためのフィルタ処理を行うフィルタ処理機能を実現する
    半導体装置。
  2. 前記ソフトウェアの前記フィルタ処理機能は、前記付加情報を用いて取得されたペイロードフィルタ情報を用いて、前記メッセージ情報のペイロードに対してフィルタ処理を行う
    請求項1に記載の半導体装置。
  3. 前記ソフトウェアの前記フィルタ処理機能は、前記付加情報の少なくとも一部と対応付けられたペイロードフィルタテーブルを用いて、前記ペイロードに対してフィルタ処理を行う
    請求項2に記載の半導体装置。
  4. 前記ソフトウェアの前記フィルタ処理機能は、前記ペイロードフィルタテーブルのうち、前記付加情報の少なくとも一部と対応付けられたペイロードフィルタ情報を用いて、前記ペイロードに対してフィルタ処理を行う
    請求項3に記載の半導体装置。
  5. 前記ソフトウェアの前記フィルタ処理機能は、前記付加情報の少なくとも一部が予め定められたデータと一致する場合に、前記ペイロードフィルタ情報を用いたフィルタ処理を行わないで、前記メッセージ情報の転送処理を行う
    請求項3に記載の半導体装置。
  6. 前記コントローラは、予め定められた受信ルールに従って、前記メッセージ情報を振り分ける
    請求項1に記載の半導体装置。
  7. 前記コントローラは、前記受信ルールを示す受信ルールテーブルを用いて、前記メッセージ情報の識別子に対してフィルタ処理を行う
    請求項6に記載の半導体装置。
  8. 前記コントローラは、前記受信ルールテーブルを用いて、前記付加情報を付加する
    請求項7に記載の半導体装置。
  9. 前記コントローラは、前記受信ルールに合致する前記メッセージ情報を、少なくともデータの送信が可能な第1のバッファに格納し、
    前記ソフトウェアの前記フィルタ処理機能は、前記第1のバッファに格納された前記メッセージ情報のペイロードに対してフィルタ処理を行う
    請求項6に記載の半導体装置。
  10. 前記コントローラは、前記受信ルールに合致しない前記メッセージ情報を、データの受信のみが可能な第2のバッファに格納し、
    前記ソフトウェアの前記フィルタ処理機能は、前記第2のバッファに格納された前記メッセージ情報について、前記ソフトウェアによるフィルタ処理を行うことなく、エラーメッセージを送信する
    請求項6に記載の半導体装置。
  11. 前記フィルタ処理機能は、前記半導体装置のハードウェアコンポーネントを抽象化するレイヤにおいて、フィルタ処理を行う
    請求項1に記載の半導体装置。
  12. 半導体装置であって、
    ソフトウェアを格納する記憶回路と、
    前記ソフトウェアを実行する少なくとも1つの処理回路と、
    車載ネットワークから受信されたメッセージ情報に付加情報を付加するように構成されたコントローラと
    を有し、
    前記ソフトウェアは、
    前記半導体装置を構成するマイクロコントローラに依存しない処理を実行するアプリケーションと、
    前記アプリケーションを前記マイクロコントローラに依存しないようにする基本ソフトウェアと
    を有し、
    前記基本ソフトウェアは、前記半導体装置のハードウェアを抽象化するレイヤに設けられた、前記車載ネットワークを規定するプロトコルを使用可能とするためのネットワークインタフェースにおいて、前記付加情報を用いて、前記コントローラから出力された前記メッセージ情報をルーティングするか否かを判定するためのフィルタ処理を行うフィルタ処理機能を実現する
    半導体装置。
  13. 車載ネットワークから受信されたメッセージ情報に付加情報を付加し、
    前記付加情報を用いて、前記メッセージ情報をルーティングするか否かを判定するためのフィルタ処理を行う
    情報処理方法。
  14. 前記付加情報を用いて取得されたペイロードフィルタ情報を用いて、前記メッセージ情報のペイロードに対してフィルタ処理を行う
    請求項13に記載の情報処理方法。
  15. 前記付加情報の少なくとも一部と対応付けられたペイロードフィルタテーブルを用いて、前記ペイロードに対してフィルタ処理を行う
    請求項14に記載の情報処理方法。
  16. 前記ペイロードフィルタテーブルのうち、前記付加情報の少なくとも一部と対応付けられたペイロードフィルタ情報を用いて、前記ペイロードに対してフィルタ処理を行う
    請求項15に記載の情報処理方法。
  17. 予め定められた受信ルールに従って、前記メッセージ情報を振り分ける
    請求項13に記載の情報処理方法。
  18. 前記受信ルールを示す受信ルールテーブルを用いて、前記メッセージ情報の識別子に対してフィルタ処理を行う
    請求項17に記載の情報処理方法。
  19. 前記付加情報の付加、及び、前記メッセージ情報を振り分けは、ハードウェアによって実現され、
    前記付加情報を用いたフィルタ処理は、ソフトウェアによって実現される
    請求項17に記載の情報処理方法。
JP2018108541A 2018-06-06 2018-06-06 半導体装置及び情報処理方法 Pending JP2019213081A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018108541A JP2019213081A (ja) 2018-06-06 2018-06-06 半導体装置及び情報処理方法
US16/409,468 US11558218B2 (en) 2018-06-06 2019-05-10 Semiconductor device and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018108541A JP2019213081A (ja) 2018-06-06 2018-06-06 半導体装置及び情報処理方法

Publications (1)

Publication Number Publication Date
JP2019213081A true JP2019213081A (ja) 2019-12-12

Family

ID=68763747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018108541A Pending JP2019213081A (ja) 2018-06-06 2018-06-06 半導体装置及び情報処理方法

Country Status (2)

Country Link
US (1) US11558218B2 (ja)
JP (1) JP2019213081A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115314340B (zh) * 2022-08-05 2023-07-11 科东(广州)软件科技有限公司 一种数据包的筛选方法、装置、电子设备和存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001189753A (ja) * 1999-12-28 2001-07-10 Nec Corp ラベル配布中継装置およびラベル配布中継方法
US7487262B2 (en) * 2001-11-16 2009-02-03 At & T Mobility Ii, Llc Methods and systems for routing messages through a communications network based on message content
US20060256717A1 (en) * 2005-05-13 2006-11-16 Lockheed Martin Corporation Electronic packet control system
US20090216875A1 (en) * 2008-02-26 2009-08-27 Barracuda Inc. Filtering secure network messages without cryptographic processes method
EP2269347A2 (de) * 2008-03-10 2011-01-05 Robert Bosch GmbH Verfahren und filteranordnung zum filtern von über einen seriellen datenbus eines kommunikationsnetzwerks in einem teilnehmer des netzwerks eingehenden nachrichten
JP5255579B2 (ja) * 2010-02-09 2013-08-07 日立オートモティブシステムズ株式会社 車内データ中継装置、車両制御システム
US8467324B2 (en) * 2010-11-03 2013-06-18 Broadcom Corporation Managing devices within a vehicular communication network
US20120173905A1 (en) * 2010-11-03 2012-07-05 Broadcom Corporation Providing power over ethernet within a vehicular communication network
ES2805290T3 (es) * 2012-03-29 2021-02-11 Arilou Information Security Tech Ltd Dispositivo para proteger un sistema electrónico de un vehículo
JP5888252B2 (ja) * 2013-01-16 2016-03-16 トヨタ自動車株式会社 車両用通信装置、情報処理装置
DE102013210077A1 (de) * 2013-05-29 2014-12-04 Robert Bosch Gmbh Verfahren zur Bereitstellung einer generischen Schnittstelle sowie Mikrocontroller mit generischer Schnittstelle
WO2015008114A1 (en) * 2013-07-18 2015-01-22 Freescale Semiconductor, Inc. Illegal message destroyer
KR101472896B1 (ko) * 2013-12-13 2014-12-16 현대자동차주식회사 차량 내 통신 네트워크에서의 보안 강화 방법 및 그 장치
US20170072876A1 (en) * 2015-09-14 2017-03-16 Broadcom Corporation Hardware-Accelerated Protocol Conversion in an Automotive Gateway Controller
US10361934B2 (en) * 2015-09-28 2019-07-23 Nxp B.V. Controller area network (CAN) device and method for controlling CAN traffic
US20170230285A1 (en) * 2015-10-28 2017-08-10 Fractal Industries, Inc. Regulation based switching system for electronic message routing
JP6477430B2 (ja) 2015-11-10 2019-03-06 株式会社デンソー 電子制御装置
JP6520683B2 (ja) 2015-12-10 2019-05-29 株式会社デンソー 制御システム
US20170235698A1 (en) * 2016-02-12 2017-08-17 Nxp B.V. Controller area network (can) message filtering
EP3729766A1 (en) * 2017-12-24 2020-10-28 Arilou Information Security Technologies Ltd. System and method for tunnel-based malware detection

Also Published As

Publication number Publication date
US11558218B2 (en) 2023-01-17
US20190379556A1 (en) 2019-12-12

Similar Documents

Publication Publication Date Title
EP3314827B1 (en) Method and system for managing data traffic in a computing network
US7710959B2 (en) Private VLAN edge across multiple switch modules
US11463275B2 (en) Electronic control unit, frame generating method, and non-transitory computer-readable recording medium storing a program
EP3468108B1 (en) Network hub, transfer method, and on-vehicle network system
US9264371B2 (en) Router, method for controlling the router, and computer program
JP2021114798A (ja) ゲートウェイ装置、車載ネットワークシステム、転送方法及びプログラム
US7653057B1 (en) Preventing forwarding of a packet to a control plane
US7106751B2 (en) Apparatus for linking a SAN with a LAN
US10666457B2 (en) Relay device
US20110235647A1 (en) Communication system and control method for communication system
CN104301242A (zh) 通信流控制系统、通信流控制方法和通信流处理程序
US20080240136A1 (en) Programmable controller and communication unit
CN115997374A (zh) 装载在车辆中的具有经赋予优先级次序的数据流的网络
JP6634060B2 (ja) 決定論的航空機データネットワークにおける帯域幅の改善
US20180069790A1 (en) Packet transfer device and packet transfer method
US20150180805A1 (en) Bus control device, relay device, and bus system
JP2019213081A (ja) 半導体装置及び情報処理方法
US7978728B2 (en) Network clustering for improving connection management and re-routing capabilities
CN111343025B (zh) 功能虚拟化网络中可扩展的服务器部署方法
AU2004237319A1 (en) Method for the priority classification of frames
RU2651186C1 (ru) Способ обмена данными и устройство управляющего узла сети
JP5907252B2 (ja) 通信装置、通信方法、及び通信プログラム
US10291517B1 (en) Generating a dummy VLAN tag for indicating quality of service classification information in a distributed routing system
JP2014204160A (ja) ゲートウェイ装置
JP7119883B2 (ja) 通信装置、通信方法、及び通信プログラム