JP6781038B2 - マイクロコンピュータ、論理回路 - Google Patents

マイクロコンピュータ、論理回路 Download PDF

Info

Publication number
JP6781038B2
JP6781038B2 JP2016252782A JP2016252782A JP6781038B2 JP 6781038 B2 JP6781038 B2 JP 6781038B2 JP 2016252782 A JP2016252782 A JP 2016252782A JP 2016252782 A JP2016252782 A JP 2016252782A JP 6781038 B2 JP6781038 B2 JP 6781038B2
Authority
JP
Japan
Prior art keywords
logic circuit
microcomputer
fpga
information processing
state
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
JP2016252782A
Other languages
English (en)
Other versions
JP2018106459A (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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2016252782A priority Critical patent/JP6781038B2/ja
Priority to US16/473,473 priority patent/US11016928B2/en
Priority to CN201780075651.9A priority patent/CN110073343B/zh
Priority to PCT/JP2017/037033 priority patent/WO2018123205A1/ja
Priority to EP17887882.3A priority patent/EP3564825A4/en
Publication of JP2018106459A publication Critical patent/JP2018106459A/ja
Application granted granted Critical
Publication of JP6781038B2 publication Critical patent/JP6781038B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • 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
    • 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/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Small-Scale Networks (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)
  • Stored Programmes (AREA)

Description

本発明は、マイクロコンピュータ、および論理回路に関する。
マイクロコンピュータと論理回路を組み合わせる構成が知られている。マイクロコンピュータと論理回路は電源投入から初期化の完了までに要する時間が異なるため、たとえば特許文献1のような対策が行われている。
特許文献1には、電源が投入されて起動した後に回路データを書き込むコンフィグレーションを行い、前記コンフィグレーション終了後に前記回路データに応じた回路機能を果たす機能部と、前記機能部と略同時に起動し、起動した後に初期プログラムを読み込む初期化を行い、前記初期化終了後に前記機能部との通信を開始する第1のマイクロコンピュータと、前記第1のマイクロコンピュータの起動後に前記第1のマイクロコンピュータをリセットし、前記機能部にて前記コンフィグレーションが終了した後に、前記リセットを解除して前記第1のマイクロコンピュータに初期化を開始させるコンフィグレーション監視部とを有する電子機器が開示されている。
特開2008−191730号公報
特許文献1に記載されている発明では、論理回路の状態に基づきマイクロコンピュータの動作を決定することができない。
本発明の第1の態様によるマイクロコンピュータは、論理回路と接続されるマイクロコンピュータであって、前記論理回路の状態を監視する監視部と、前記マイクロコンピュータが実施する複数の情報処理項目が格納される記憶部と、前記論理回路の状態と、前記マイクロコンピュータに入力される通信フレームに基づいて前記複数の情報処理項目から選択された少なくとも1つの情報処理項目と、に基づく処理を実行する処理部と、を備え、前記論理回路はコンフィグされることで回路構成を構築可能であり、前記監視部は前記論理回路がコンフィグ中の状態であるか否かを監視し、前記論理回路が前記コンフィグ中の状態でない場合、前記処理部は前記選択された情報処理項目を実行し、前記論理回路が前記コンフィグ中の状態である場合、前記処理部は前記選択された情報処理項目とは異なる処理を実行する。
本発明の第2の態様によるマイクロコンピュータは、論理回路と接続されるマイクロコンピュータであって、前記論理回路の状態を監視する監視部と、前記マイクロコンピュータが実施する複数の情報処理項目が格納される記憶部と、前記論理回路の状態と、前記マイクロコンピュータに入力される通信フレームに基づいて前記複数の情報処理項目から選択された少なくとも1つの情報処理項目と、に基づく処理を実行する処理部と、を備え、前記監視部は前記論理回路が故障しているか否かを監視し、前記論理回路が故障していない場合、前記処理部は前記選択された情報処理項目を実行し、前記論理回路が故障している場合、前記処理部は前記選択された情報処理項目とは異なる処理を実行し、前記監視部は前記論理回路の故障の程度を監視し、前記処理部は、前記論理回路が故障している場合、その故障の程度に応じて実行する処理を変更し、前記記憶部には、前記複数の情報処理項目のそれぞれに対する処理の条件となる閾値を表す優先度テーブルがさらに記憶され、前記処理部は、前記論理回路が部分的に故障している場合、前記選択された情報処理項目に対する前記閾値を前記優先度テーブルに基づいて取得し、取得した前記閾値、および前記論理回路の負荷の余力に基づき前記選択された情報処理項目を実行するか否かを決定する。
本発明の第3の態様による論理回路は、前述のマイクロコンピュータと接続される。

本発明によれば、論理回路の状態に基づいてマイクロコンピュータの処理を決定することができる。
車載システムの概要を示す図 第1の実施の形態における車載ゲートウェイ装置の構成図 フローテーブルの一例を示す図 FDBの一例を示す図 変換DBの一例を示す図 第1の実施の形態におけるマイクロコンピュータの動作を示すフローチャート 図6のステップS606において否定判定された場合の処理を示すフローチャート 図6のステップS613の詳細を示すフローチャート 第2の実施の形態における車載ゲートウェイ装置の構成図 優先度DBの一例を示す図 第2の実施の形態におけるマイクロコンピュータの動作を示すフローチャート
―第1の実施の形態―
以下、図1〜図8を参照して、車載システムの第1の実施の形態を説明する。
図1は、車載システム1の概要を示す図である。車載システム1は、車載ゲートウェイ装置100、エンジン制御部101、ブレーキ制御部102、パワーステアリング制御部103、自律走行制御部104、カメラ111、レーダ112、および自車位置センサ113を備える。エンジン制御部101、ブレーキ制御部102、パワーステアリング制御部103、自律走行制御部104は、CAN(Controller Area Network)によって車載ゲートウェイ装置100に接続される。カメラ111、レーダ112、自車位置センサ113は、IEEE802.3、すなわちイーサネット(登録商標)によって、車載ゲートウェイ装置100に接続される。
エンジン制御部101は、車両の駆動力を発生するエンジンを制御する制御装置である。ブレーキ制御部102は、車両のブレーキ制御(制動力制御)を行う制御装置である。パワーステアリング制御部103は、車両のパワーステアリングを制御する制御装置である。カメラ111、レーダ112、自車位置センサ113は、車両の外界状況を認識するための外界認識センサである。
車載ゲートウェイ装置100は、複数チャネルのCAN、複数ポートのイーサネットを収容し、異なるチャネル間のCAN通信中継、異なるポート間のイーサネット通信中継に加え、CANからイーサネットへの通信中継、イーサネットからCANへの通信中継を行う。CANからイーサネットへの通信中継時には、CANフレームをイーサネットフレームでカプセル化して中継する。イーサネットからCANへの通信中継時には、イーサネットフレームでカプセル化されたCANフレームをデカプセル化によって取り出して中継する。たとえば、カメラ111、レーダ112、自車位置センサ113からのセンサ情報は、車載ゲートウェイ装置100によって、自律走行制御部104に中継される。また、パワーステアリング制御部103からのステアリング情報は、車載ゲートウェイ装置100によって、自車位置センサ113に中継される。
図2は、車載ゲートウェイ装置100の構成図である。車載ゲートウェイ装置100は、マイクロコンピュータ(以下、「マイコン」と呼ぶ)201、第1CANIF202A、第2CAN IF202B、FPGA(Field-Programmable Gate Array)250、第1イーサネットIF251A、および第2イーサネットIF251Bを備える。マイコン201は、第1CANIF202Aおよび第2CAN IF202Bに接続される。FPGA250は第1イーサネットIF251Aおよび第2イーサネットIF251Bに接続される。本実施の形態では、マイコン201とFPGA250は独立した部材であり、それぞれが異なるパッケージに収められ、それぞれが独立して流通可能である。マイコン201とFPGA250は、車載ゲートウェイ装置100として機能するために、配線、ピンとソケット、またはケーブルなどにより物理的に接続される。
マイコン201は、CPU、ROM、およびRAMを備える。このRAMには、受信した通信フレームを一時的に保存する待機用の保存領域が確保される。マイコン201のCPUは、電源電圧が印加されるとROMに格納されたプログラムをRAMに展開して実行する。以下では、マイコン201のCPUがROMに格納されたプログラムをRAMに展開して実行することを「マイコン201の初期化」と呼ぶ。すなわちマイコン201は初期化が完了するとプログラムにより実現される機能を発揮できる。マイコン201は不揮発性メモリも備え、後述するようにログをこの不揮発性メモリに記録する。
FPGA250は、揮発性のSRAMを備えるプログラム可能な論理回路である。FPGA250は、電力が供給されるとSRAMにプログラムファイルを読み込み、論理回路を構成する。以下では、FPGA250がプログラムファイルを読み込み、論理回路を構成することを「FPGA250のコンフィグレーション」、または「FPGA250の初期化」と呼ぶ。また以下では「コンフィグレーション」を「コンフィグ」と呼ぶこともある。FPGA250はコンフィグレーションが完了するまでは後述する機能を発揮できない。
FPGA250のコンフィグレーションに要する時間は、マイコン201の初期化に要する時間よりも長い。車載ゲートウェイ装置100に電源電圧が印加されると、マイコン201とFPGA250の両方に略同時に電源電圧が印加されるので、マイコン201の初期化が完了した後にFPGA250のコンフィグレーションが完了する。そのためFPGA250よりもマイコン201の方が先に動作を開始する。
マイコン201とFPGA250間は、監視バス210とデータバス211によって接続される。監視バス210およびデータバス211は、たとえば配線や接点である。なお、CANIF、イーサネットIFの数は2に限定されず、少なくともそれぞれ1あればよい。また、通信規格は、FlexRay(登録商標)、LIN(登録商標)等、別の規格でも良い。さらにそれぞれのネットワークに接続される機器は何ら限定されず、各ネットワークに少なくとも1つの機器が接続されればよい。CANとイーサネット間の通信は、データバス211を経由して、マイコン201とFPGA250間で中継され、宛先のネットワークインタフェースから送信される。
マイコン201はその機能として、監視プロセス203および通信プロセス204を備え、通信プロセス204にはフローテーブル205が備えられる。監視プロセス203は、FPGA250の状態、すなわちコンフィグレーション状態や故障状態などを監視バス210を通して監視し、どのような状態にあるか判断する。監視プロセス203は、たとえば監視バス210を介してFPGA250に備えられるコンフィグレーション完了を示すピンの状態を監視し、そのピンの電圧レベルが所定の閾値を超えると、コンフィグレーションが完了したと判断する。
通信プロセス204は、第1CAN IF202Aおよび第2CAN IF202Bからマイコン201に入力された通信フレームをフローテーブル205に基づき処理する。このフローテーブル205の構成は後述する。また通信プロセス204は、FPGA250から出力されたCANフレームを第1CANIF202Aおよび第2CAN IF202Bへ転送する。通信プロセス204が実行する処理には、特定のパターンを有するフレームを破棄するフィルタリング処理や、暗号化処理、復号化処理など負荷が大きい処理が含まれる。これら負荷が大きい処理の一部は、後述するようにFPGA250において実行される場合がある。本実施の形態では、マイコン201が本来実行する処理をFPGA250に実行させることを「オフロード」と呼ぶ。
FPGA250は通信回路252を備え、通信回路252には、フォワーディングデータベース(Forwarding Database、以下、「FDB」と呼ぶ)253、および変換DB254が備えられる。FDB253および変換DB254の構成は後述する。通信回路252は、イーサネットのスイッチ処理やCANとイーサネットとの中継であるCAN−イーサネット変換処理、さらに通信プロセス204の一部の処理を実行するオフロードを実行する。第1イーサネットIF251Aおよび第2イーサネットIF251BからFPGA250に入力される通信フレームは、通信回路252によってFDB253に基づき処理される。
通信回路252は、CANフレームをイーサネットフレームでカプセル化するCAN−イーサネット変換処理時には、変換DB254を参照してイーサネットフレームのヘッダを生成する。すなわちCANフレームのCANIDに基づきMACアドレスを特定し、その特定したMACアドレスが格納されたイーサネットフレームのヘッダを生成する。なお、CAN−イーサネット変換処理は、マイコン201が実行しても良いが、FPGA250で実施した方が短時間で処理を行える。
FPGA250はさらに、FPGA250自身の障害を検知する不図示の障害検知回路を備える。障害検知回路は障害を検知すると監視バス210を介してマイコン201に障害の発生を伝達する。なおFPGA250に発生する障害の原因は、放射線によって引き起こされるソフトエラー、電源低下による動作不良、ラッチアップによる破損等が挙げられる。
(フローテーブル)
図3は、フローテーブル205の一例を示す図である。フローテーブル205は、3つのフィールドを有する複数のレコードから構成される。フローテーブル205が有するフィールドは、CANID301、出力ポート302、および情報処理項目303である。CAN ID301は、第1CAN IF202Aおよび第2CAN IF202Bから入力されるCANフレームのヘッダ部に含まれるCAN IDを示す。出力ポート302は、マイコン201から出力されるポートを示す。情報処理項目303は、通信プロセス204が実行する処理を示す。ただし「オフロード」と記載されている項目はFPGA250に実行させる。
符号310が示す1つ目のレコードは、CANIDが「10」のCANフレームが入力されたら、FPGA250に復号化処理を実行させてから第2CANIF202Bに出力することを示す。符号311が示す2つ目のレコードは、CANIDが「20」のCANフレームが入力されたら、FPGA250に出力することを示す。符号312が示す3つ目のレコードは、CANIDが「30」のCANフレームが入力されたら、FPGA250に暗号化処理を実行させてから第1CANIF202Aに出力することを示す。符号313が示す4つ目のレコードは、CANIDが「40」のCANフレームが入力されたら、通信プロセス204が自ら暗号化処理を実行して第1CANIF202Aに出力することを示す。
(フォワーディングデータベース)
図4は、FDB253の一例を示す図である。FDB253は、3つのフィールドを有する複数のレコードから構成される。FDB253が有するフィールドは、イーサネットフレームに含まれる宛先MACアドレス401、FPGA250からの出力ポートを示す出力ポート402、通信フレームに対する処理内容が記載される処理内容403である。
符号410が示す1つ目のレコードは、宛先MACアドレス401が「00:11:11:11:11:11」のイーサネットフレームが入力されたら、通信回路252が第1イーサネットIF251Aに中継することを示す。符号411が示す2つ目のレコードは、宛先MACアドレス401が「00:22:22:22:22:22」のイーサネットフレームが入力されたら、通信回路252が第2イーサネットIF251Bに中継することを示す。符号412が示す3つ目のレコードは、宛先MACアドレス401が「00:33:33:33:33:33」のイーサネットフレームが入力されたら、通信回路252がマイコン201に中継することを示す。符号413が示す4つ目のレコードは、宛先MACアドレス401が「00:44:44:44:44:44」のイーサネットフレームが入力されたら、通信回路252がフィルタリング処理を行ってからマイコン201に中継することを示す。
(変換DB)
図5は、変換DB254の一例を示す図である。変換DB254は、CANID501と宛先MACアドレス502の2つのフィールドを有する複数のレコードから構成される。この変換DB254は、CANフレームをイーサネットフレームにカプセル化する際に参照される。
符号510が示す1つ目のレコードは、CANIDが「10」のCANフレームが入力されたら、宛先MACアドレスが「00:22:22:22:22:22」のイーサネットフレームにカプセル化することを示す。符号511が示す2つ目のレコードは、CANIDが「30」のCANフレームが入力されたら、宛先MACアドレスが「00:44:44:44:44:44」のイーサネットフレームに、それぞれカプセル化する。なお、カプセル化する際に必要となるその他の情報、すなわち送信元アドレスやEtherType等は通信回路252の内部レジスタに外部から設定する方法等を取ればよい。
(マイクロコンピュータの動作を示すフローチャート)
図6は、第1CAN IF202Aまたは第2CAN IF202BがCANフレームを受信した際のマイコン201の処理を示すフローチャートである。以下に説明する各ステップの実行主体は、マイコン201を構成する不図示のCPUである。
ステップS601では、第1CAN IF202Aまたは第2CAN IF202Bから通信フレームを受信する。続くステップS602では、受信した通信フレームのCANIDを取得する。続くステップS603では、取得したCAN IDをもとにフローテーブル205を検索し、出力ポートと情報処理項目、すなわち処理内容を特定する。
続くステップS604では、ステップS603において特定した出力ポートおよび情報処理項目が特定の条件を満たすか否かを判断する。すなわち、出力ポートがFPGA250であるか、または情報処理項目にオフロードを含むかを判断する。少なくとも一方の条件を満たすと判断する場合はステップS605に進み、いずれの条件も満たさないと判断する場合はステップ612に進む。
ステップS605では、FPGA250の状態を監視プロセス203から取得する。続くステップS606では、FPGA250の状態がコンフィグ中であるか否かを判断する。コンフィグ中であると判断する場合はステップS607に進み、コンフィグ中ではないと判断する場合はステップS656に進む。なおステップS656以降の処理は、図7を用いて後に説明する。
ステップS607では、FPGA250がコンフィグ中でありFPGA250は通信フレームを受信できないので、コンフィグ中に対応する処理、すなわち受信した通信フレームの待機用メモリへの保存を行う。続くステップS608では、ステップS605と同様にFPGA250の状態を監視プロセス203から取得する。続くステップS610では、ステップS606と同様にFPGA250の状態がコンフィグ中であるか否かを判断する。コンフィグ中であると判断する場合はステップS608に戻り、コンフィグ中ではないと判断する場合はステップS611に進む。
ステップS611では、コンフィグ完了に対応する処理、すなわちステップS603において特定された情報処理項目が中継処理であるか否かの判断を行う。情報処理項目が中継処理であると判断する場合はステップS612に進み、情報処理項目が中継処理ではないと判断する場合はステップS613に進む。ステップS612では、出力ポートから通信フレームを送信して図6のフローチャートを終了する。ステップS613では、FPGA250に処理をオフロードする。換言すると、FPGA250にマイコン201の代わりに暗号化、復号化、およびフィルタリングの処理を実行させる。そしてFPGA250がこれらの処理を完了すると、ステップS612に進み出力ポートから通信フレームを送信する。ステップS613の詳細は後に図8を参照して説明する。
図7は、図6のステップS606において否定判定された場合の処理を示すサブルーチンである。
ステップS656では、ステップS605における状態の取得によりFPGA250の故障が検出されたか否かを判断する。故障が検出されたと判断する場合はステップS657に進み、故障が検出されないと判断する場合はステップS661に進む。ステップS657では、ステップS607と同様に通信フレームを待機用のメモリに保存する。続くステップS658では、FPGA250の復旧を試行する。続くステップS659では、FPGA250の状態を再度取得し、ステップS660に進む。
ステップS660では、ステップS659における状態の取得によりFPGA250の故障が検出されたか否かを判断する。故障が検出されたと判断する場合はステップS660に進み、故障が検出されないと判断する場合はステップS661に進む。
ステップS656、またはステップS660において否定判定されると実行されるステップS661では、ステップS603において特定された情報処理項目が中継処理であるか否かを判断する。情報処理項目が中継処理であると判断する場合はステップS612に進み、情報処理項目が中継処理ではないと判断する場合はステップS613に進む。ステップS612では、図6と同様に出力ポートから通信フレームを送信して、図7のフローチャートを終了する。ステップS613では、図6と同様にFPGA250に処理をオフロードし、FPGA250がこれらの処理を完了すると、ステップS612に進み出力ポートから通信フレームを送信する。
ステップS660において肯定判定されると実行されるステップS664では、FPGA250の故障情報をログに保存して図7に示すフローチャートを終了する。ただし本ステップではさらに、車載ゲートウェイ装置100に接続されている外部の装置に故障を通知してもよい。故障を速やかに通知することで外部の装置が適切な対応をとることができ、安全性を向上させることができる。
図8は、マイコン201がFPGA250に処理をオフロードする、図6および図7のステップS613の詳細を示すサブルーチンを説明するフローチャートである。
ステップS801では、ループカウンタiを1に初期化してステップS802に進む。このループカウンタは、後述するようにステップS802以下の処理を最大でN回繰り返し実行するために用いられる。ステップS802では、マイコン201がオフロード対象の通信フレームをFPGA250に送信し、ステップS804に進む。ステップS804ではFPGA250からオフロード結果を受信してステップS806に進む。ただしステップS804ではFPGA250からオフロード結果を受信するまで待機する。
ステップS806では、ステップS804において受信したオフロード結果に基づきオフロード処理が正常終了したか否かを判断する。正常に終了したと判断する場合は図8のフローチャートを終了し、正常に終了しなかったと判断する場合はステップS807に進む。ステップS807では、FPGA250の復旧を試行する。続くステップS808では、FPGA250の状態を再度取得してステップS809に進む。
ステップS809では、ステップS808において取得したFPGA250の状態に基づき、FPGA250の故障を検出しているかを判断する。FPGA250の故障を検出したと判断する場合はステップS812に進み、FPGA250の故障を検出しなかったと判断する場合はステップS810に進む。ステップS810では、ループカウンタiの値が既定の繰り返し回数であるN以上であるか否かを判断する。iがN以上であると判断する場合は図8のフローチャートを終了し、iがN未満であると判断する場合はステップS811に進む。ステップS811では、iをインクリメント、すなわちiの値を「1」増加させてステップS802に戻る。
ステップS809において肯定判定されると実行されるステップS812では、FPGA250の故障情報をログに保存して図8に示すフローチャートを終了する。
上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)マイコン201は、プログラム可能な論理回路であるFPGA250と接続される。マイコン201はFPGA250の状態を監視する監視部、すなわち監視プロセス203および通信プロセス204と、マイコン201が実施する複数の情報処理項目303が格納される記憶部、すなわちフローテーブル205と、FPGA250の状態と、FPGA250に入力される通信フレームに基づいて複数の情報処理項目303から選択された少なくとも1つの情報処理項目と、に基づく処理を実行する処理部、すなわち通信プロセス204と、を備える。
そのためマイコン201は、通信フレームに含まれる識別子、すなわちCANIDだけでなくFPGA250の状態に基づいて、その通信フレームの処理を選択して実行することができる。すなわち、論理回路であるFPGA250の状態に基づいてマイコン201の処理を決定することができる。
(2)FPGA250はコンフィグされることで回路構成を構築可能であり、監視プロセス203はFPGA250がコンフィグ中の状態であるか否かを監視する。FPGA250がコンフィグ中の状態でない場合(図6のS606:NO)、通信プロセス204は選択された情報処理項目を実行する。FPGA250がコンフィグ中の状態である場合(図6のS606:YES)、通信プロセス204は選択された情報処理項目とは異なる処理を実行する。選択された情報処理項目とは異なる処理とはコンフィグ中に対応する処理であり、すなわちFPGA250に送信する情報を待機用メモリに保存する処理(図6のS607)である。
そのため、FPGA250がコンフィグレーションを完了する前にマイコン201が動作を開始しても、マイコン201はコンフィグ中に対応する処理を実行することによりFPGA250へ送信する情報を適切に処理できる。したがって、マイコン201の初期化開始をFPGA250のコンフィグレーション終了まで待つ必要がなく、マイコン201の動作を早期に開始できる。
(3)監視プロセス203はFPGA250がコンフィグ完了の状態であるか否かを監視する。通信プロセス204は、FPGA250がコンフィグ完了の状態である場合、選択された情報処理項目の少なくとも一部をFPGA250に処理させる。すなわち選択された情報処理項目303が「中継」の場合はイーサネットへの中継処理をFPGA250に処理させ、情報処理項目303にオフロードする処理が含まれる場合はFPGA250にオフロード処理を実行させる。
そのため、FPGA250のコンフィグが完了すると、選択された処理項目に応じてFPGA250に処理を実行させることができる。
(4)監視プロセス203はFPGA250がコンフィグ完了の状態であるか否かを監視する。通信プロセス204は、FPGA250がコンフィグ中の状態である場合は通信フレームの少なくとも一部を保存する(図6のS607)。FPGA250がコンフィグ中の状態からコンフィグ完了の状態になった場合は保存した通信フレームの少なくとも一部をFPGA250に送信する(図6のS612、S613)。
そのため、FPGA250のコンフィグ中にFPGA250に送信するはずであった情報を、FPGA250のコンフィグ完了後にFPGA250に送信してFPGA250に処理させることができる。
(5)監視プロセス203はFPGA250が故障しているか否かを監視する。FPGA250が故障していない場合、通信プロセス204は選択された情報処理項目を実行し、
FPGA250が故障している場合、通信プロセス204は選択された情報処理項目とは異なる処理を実行する。選択された情報処理項目とは異なる処理とは、故障に対応する処理であり、すなわち通信フレームを待機用メモリに保存し(図7のS657)、FPGA250を復旧する(図7のS658)処理である。
そのため、FPGA250が故障している場合にCANネットワークから受信した通信フレームを一時保存し、FPGA250の復旧後にFPGA250に送信することで、通信フレームロスによる再送を削減して、通信処理に必要となる時間を短縮することができる。
(6)マイコン201およびFPGA250はCANとイーサネット、すなわちIEEE802.3ネットワークとを接続する1つの車載ゲートウェイ装置100に含まれる。マイコン201はCANネットワークに接続され、FPGA250はIEEE802.3ネットワークに接続される。
リアルタイム性が求められるCANネットワークでは、IEEE802.3ネットワークよりも許容される応答の遅延時間は短い。そこで、FPGA250よりも初期化が早く完了するマイコン201をCANネットワークに接続することで、通信処理を要求時間内に実施可能となる。たとえば、FPGA250がコンフィグ中であっても、一方のCANIFから他方のCAN IF宛ての通信処理が可能になり、FPGA250のコンフィグ完了を待つことなく、より早期に通信処理を完了できる。
(7)FPGA250は、マイコン201と接続される。
FPGA250はコンフィグレーションが完了するまでは通信フレームを受信できないので、コンフィグレーションの完了前に通信フレームを送信されると消失させてしまう。しかし、マイコン201はFPGA250の状態を監視し、FPGA250がコンフィグ中であればコンフィグ中に対応する処理を実行するため、コンフィグ中にCANネットワークから受信した通信フレームを取りこぼすことがない。
(変形例1)
車載ゲートウェイ装置100は、プログラム可能な論理回路であるFPGA250に代えて、回路構成が固定された論理回路であるASICを用いてもよい。車載ゲートウェイ装置100にFPGA250に代えてASICが用いられる場合は、コンフィグレーションが不要なので図6のステップS606は常に否定判断される。ただしステップS605の次に図7のステップS656に進んでもよい。
この変形例1によれば、予め格納されたプログラムを読み込んで実行するマイクロプロセッサと、回路構成が固定されたASICの組み合わせにおいて、受信した通信フレームをマイクロプロセッサがASICの故障の状態に応じて選択することができる。
(変形例2)
第1の実施の形態では、マイコン201とFPGA250は独立した部材であり、配線により接続されていた。しかし、マイコン201とFPGA250が製造工程で統合されて1つのパッケージに収められてもよい。この場合は、マイコン201とFPGA250とが異なるシリコンダイに形成されてもよいし、同一のシリコンダイ上に一体として形成されてもよい。マイコン201とFPGA250とが異なるシリコンダイに形成される場合は、第1の実施の形態と同様に監視バス210とデータバス211は配線や接点である。マイコン201とFPGA250とが同一のシリコンダイ上に形成される場合は、監視バス210およびデータバス211は明確な物理的構成を有しない。また、この場合はマイコン201とFPGA250とが常に接続された状態となる。
(変形例3)
第1の実施の形態では、FPGA250がコンフィグ中であるか否か、およびFPGA250が故障しているか否か、の両方を判断した。しかし、いずれか一方のみを判断してもよい。すなわち、前者のみを判断する場合は図6においてステップS606が否定判断されるとステップS661に進む。そして後者のみを判断する場合は図6においてステップS605の次に図7のステップS656を実行する。
(変形例4)
監視プロセス203は、FPGA250のコンフィギュレーションが完了したか否かの判断を以下のように行ってもよい。すなわち監視プロセス203は、FPGA250からコンフィギュレーション完了を示す信号が出力された後、FPGA250のリセット信号が正常に解除された場合に、コンフィグレーションが完了したと判断してもよい。具体的には、図6のステップS606において、コンフィギュレーション完了を示す信号が出力されただけではコンフィグ完了と判断せず、さらにリセット信号が正常に解除された際にステップS606で否定判断をしてもよい。このリセット信号はFPGA250からマイコン201に監視バス210を介して出力される信号であり、FPGA250の動作準備が完了した際に解除される。
(変形例5)
第1の実施の形態では、マイコン201は、オフロード処理のために処理対象の通信フレーム全体をFPGA250に送信したが、その通信フレームからオフロード処理に必要なデータのみを抽出してFPGA250に送信してもよい。これと同様に、FPGA250はオフロード処理の結果を通信フレーム全体ではなく、通信フレームに含まれる情報のうち処理を行った情報のみをマイコン201に送信してもよい。
この変形例5によれば、通信フレーム全体をやり取りしないことにより、通信データ量を削減することができ、データ転送時間の削減や、FPGA250とマイコン201間の帯域負荷の緩和によるデータ転送の待ち時間を改善することができ、車載ゲートウェイ装置100の通信処理時間を短縮できる。
(変形例6)
第1の実施の形態では、コンフィグ中に対応する処理は、通信フレームの待機用メモリへの保存であった。しかしコンフィグ中に対応する処理はこれに限定されない。たとえば、通信プロセス204に備えられるカウンタをカウントアップするとともに待機用メモリへ保存してもよい。この場合はカウンタの値はコンフィグ中に受信した通信フレーム数を示す値として利用される。またコンフィグ中に対応する処理は、前述のカウンタをカウントアップするとともに受信する通信フレームを廃棄することでもよい。さらにコンフィグ中に対応する処理は、受信した通信フレームを破棄するとともに所定時間の経過後に再送要求を送信することでもよい。
(変形例7)
第1の実施の形態では、コンフィグ完了に対応する処理は、通信フレームのオフロード処理または中継処理のために待機用メモリへ保存した通信フレームをFPGA250に送信することであった。しかしコンフィグ完了に対応する処理はこれに限定されない。たとえばコンフィグ完了に対応する処理は、通信フレームの再送要求を送信することでもよい。また、コンフィグ中に対応する処理にカウンタをカウントアップすることが含まれる場合は、コンフィグ完了に対応する処理がそのカウント値を用いた処理であってもよい。
―第2の実施の形態―
図9〜図11を参照して、車載システムの第2の実施の形態を説明する。以下の説明では、第1の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第1の実施の形態と同じである。本実施の形態では、主に、FPGAの故障の程度に応じて機能を縮退させる点で、第1の実施の形態と異なる。
図9は、第2の実施の形態における車載ゲートウェイ装置100の構成図である。
マイコン201は、第1の実施の形態の構成に加えて、通信プロセス204が優先度DB206をさらに備える。優先度DB206は、通信の優先度に関する情報が格納されるデータベースであり、詳しくは後述する。また監視プロセス203は、FPGA250の故障の程度を判別する機能を備える。故障の程度は、少なくとも無故障、部分故障、全故障の3段階で判別できる。無故障とはFPGA250の故障がない状態、部分故障とはFPGA250の一部が何らか問題があり無故障よりも処理能力が劣る状態、全故障とはFPGA250が全く処理できない状態である。
さらに通信プロセス204はFPGA250の負荷の余力を余力負荷予測として算出する機能も備える。余力負荷予測の算出は、情報処理項目ごとに予め負荷を測定して、通信プロセス204に格納する方法や、通信フレームサイズ等から負荷を予測する方法などにより実現する。余力負荷予測はたとえば0〜100の整数で表され、数値が大きいほど負荷を受け入れる余力があることを示す。この余力負荷予測の初期値、すなわちFPGA250の初期化完了時はFPGA250の故障がない場合は最大の「100」と算出される。またマイコン201に備えられる不図示のROMに格納されるプログラムが第1の実施の形態と異なっており、後述するように動作が異なる。
FPGA250は、第1の実施の形態における通信回路252に代えて、第1通信回路252Aおよび第2通信回路252Bを備える。第1通信回路252Aおよび第2通信回路252Bの構成および機能は、第1の実施の形態における通信回路252と同様である。すなわち図9では省略しているが、第1通信回路252Aおよび第2通信回路252Bのいずれも、FDB253および変換DB254を備える。第1通信回路252Aおよび第2通信回路252Bのそれぞれの処理能力は、通信回路252と同等でもよいし通信回路252よりも低くてもよい。第1通信回路252Aおよび第2通信回路252Bは、通常は処理を分担して実行することによりFPGA250としての機能を発揮する。
また、第1通信回路252Aおよび第2通信回路252Bのいずれかが故障により動作できない場合は、単独でもFPGA250としての機能を発揮することができる。たとえば通常はFPGA250に入力される通信フレームを交互に処理し、入力された1つ目の通信フレームは第1通信回路252Aが処理し、入力された2つ目の通信フレームは第2通信回路252Bが処理する。そしてたとえば第1通信回路252Aが故障した場合には、第2通信回路252Bが入力される全ての通信フレームを処理する。ただし故障によりFPGA250の処理能力は低下するため、後述するように機能を縮退させ、条件を満たす通信フレームのみを処理する。なお、上述した通常時における第1通信回路252Aおよび第2通信回路252Bの機能分担は一例であり、どのように第1通信回路252Aおよび第2通信回路252Bが機能を分担してもよい。
FPGA250に備えられる不図示の障害検知回路は、第1通信回路252Aおよび第2通信回路252Bの動作状況を監視し、障害を検知すると監視バス210を介してマイコン201に障害の発生を伝達する。たとえば第1通信回路252Aおよび第2通信回路252Bの両方の障害の発生が伝達されると監視プロセス203は全故障と判断し、第1通信回路252Aおよび第2通信回路252Bのいずれか一方の障害の発生が伝達されると監視プロセス203は部分故障と判断し、いずれの障害の発生も伝達されないと監視プロセス203は無故障と判断する。
(優先度DB)
図10は、優先度DB206の一例を示す図である。優先度DB206は2つのフィールドを有する複数のレコードから構成される。優先度DB206が有するフィールドは、CAN ID1001および優先度1002である。CAN ID1001は、第1CAN IF202Aおよび第2CAN IF202Bから入力されるCANフレームのヘッダ部に含まれるCAN IDを示しており、図3のフローテーブル205におけるCAN ID301と対応している。優先度1002は、CAN ID1001が示すCAN IDで対応づけられるフローテーブル205の情報処理項目303について、数値が小さいほど処理の優先度が高いことを示す0〜100の整数である。詳しくは後述するが、FPGA250の余力負荷予測が優先度より大きい場合のみ、フローテーブル205の情報処理項目303が実施される。すなわち、優先度DB206は、フローテーブル205の情報処理項目303のそれぞれに対する処理の条件となる閾値を表している。
(フローチャート)
図11は、第2の実施の形態におけるマイクロコンピュータの動作を示すフローチャートである。図11では、図6および図7と同一の処理を行うステップには同一のステップ番号を付して説明を省略する。なお前述のとおり車載ゲートウェイ装置100の起動直後には、余力負荷予測は最大値、たとえば100として算出されている。以下に説明する各ステップの実行主体は、マイコン201を構成する不図示のCPUである。
図11に示すフローチャートの開始後、ステップS601〜S605までは図6と同様なので説明を省略する。ステップS605に続いて実行されるステップS1106では、監視プロセス203が出力するFPGA250の故障レベルを判断する。無故障、すなわち故障していないと判断する場合はステップS661に進み、部分故障していると判断する場合はステップS1107に進み、全故障していると判断する場合はステップS657に進む。
ステップS1107では、ステップS602において取得したCAN IDに基づき優先度DB206を参照して優先度を取得する。たとえば優先度DB206が図10に例示する値の場合は、CAN IDが「30」の場合は優先度として「40」を取得する。続くステップS1108では、FPGA250の故障の程度およびFPGA250が実行している処理の内容に基づき余力負荷予測を算出してステップS1109に進む。ステップS1109では、ステップS1107において取得した優先度とステップS1108において算出した余力負荷予測との大小比較を行い、余力負荷予測の値が優先度の値以下であるか否かを判断する。余力負荷予測の値が優先度の値以下であると判断する場合はステップS657に進み、余力負荷予測の値が優先度の値より大きいと判断する場合はステップS661に進む。
ステップS1106において全故障と判断された場合、およびステップS1108において肯定判定された場合は、第1の実施の形態と同様にステップS657〜S660が実行される。なおステップS658における復旧は、FPGA250の全体を対象としてもよいが、故障が検出された部分のみを対象としてコンフィグレーションを行ってもよい。さらに、FPGA250を動作させながらコンフィグレーションを行う、いわゆる動的リコンフィグレーションを行ってもよい。ステップS660では、全故障または部分故障と判断されるとステップS664に進み、無故障と判断されるとステップS661に進む。ステップS661以降の処理は第1の実施の形態と同様のため説明を省略する。
上述した第2の実施の形態によれば、次の作用効果が得られる。
(1)監視プロセス203はFPGA250の故障の程度を監視する。通信プロセス204は、FPGA250が故障している場合、その故障の程度に応じて実行する処理を変更する。監視プロセス203が判断するFPGA250の故障の程度に応じた処理を実行する。たとえば通信プロセス204は、無故障と判断する場合は受信した通信フレームをFPGA250へ送信し、部分故障と判断する場合は優先度と余力負荷予測との比較に基づく処理を行い、全故障と判断する場合は通信フレームを待機用メモリに保存してFPGA250を復旧する。そのためマイコン201は、FPGA250故障の程度に応じた処理を実行できる。
(2)マイコン201には、複数の情報処理項目303のそれぞれに対する処理の条件となる閾値を表す優先度データベース206が記憶される。
通信プロセス204は、FPGA250が部分的に故障している場合、選択された情報処理項目303に対する閾値を優先度データベース206に基づいて取得し、取得した閾値、およびFPGA250の負荷の余力に基づき選択された情報処理項目303を実行するか否かを決定する。
そのため、FPGA250の故障時に、受信した通信フレームのCANIDに応じてFPGA250の負荷を考慮して処理を決定することができる。
(3)マイコン201には、通信フレームの識別子と処理の条件となる閾値、すなわち優先度とが関連付けられる優先度データベース206が記憶される。監視プロセス203はFPGA250の故障の程度を判断する。通信プロセス204は、受信した通信フレームのCANIDおよびフローテーブル205に基づいて、受信した通信フレームの少なくとも一部をFPGA250に送信する必要があると判断し(図11のステップS604:YES)、かつ監視プロセス203が判断したFPGA250の故障の程度が部分故障であると判断すると(図11のステップS1106:部分故障)、以下の処理を行う。すなわち、受信した通信フレームの識別子および優先度データベース206に基づき優先度を取得し(ステップS1107)、この優先度と余力負荷予測に基づき、FPGA250へ通信フレームに関する処理を実行させるか否かを決定する(ステップS1108)。
そのため、FPGA250の故障時に、受信した通信フレームのCAN ID、故障の程度、及び優先度DB206に基づいて、フローテーブル205に格納されている情報処理項目を選択して実行することで、通信処理の制限を必要最低限に抑え、ひいては通信処理を要求時間内に実施可能となる。具体的には、例えば、FPGA250に故障である場合でも、部分故障であれば、高優先度の通信フレームの通信処理を継続することができる。
(第2の実施の形態の変形例1)
第2の実施の形態においても、マイコン201は第1の実施の形態と同様にFPGA250がコンフィグ中か否かを判断し、FPGA250がコンフィグ中であると判断する場合はコンフィグ中に対応する処理を実行してもよい。具体的には、図11においてステップS605の次に図6のステップS606以下の処理を実行し、ステップS606においてコンフィグ中ではないと判断された場合に図11のステップS1106以下の処理を実行してもよい。
(第2の実施の形態の変形例2)
マイコン201は優先度DB206を備えず、FPGA250の故障の程度が部分故障であると判断する場合は、一部の通信フレームのみをFPGA250に送信してもよい。たとえば、図11のステップS1107〜ステップS1109に代えてランダムで処理の有無を決定し、処理を行うと判断した場合のみステップS661に進み、その他の場合はステップS657に進んでもよい。さらに、処理を行う確率はFPGA250の故障の程度にあわせて増減させてもよく、その場合は故障の程度が軽いほど処理を行う確率が高くなるようにする。また、FPGA250に行わせる処理の内容や処理負荷の大きさに基づき、通信フレームをFPGA250に送信するか否かを判断してもよい。
(第2の実施の形態の変形例3)
第2の実施の形態では、余力負荷予測はマイコン201からFPGA250に送信した通信フレームおよびその処理内容に基づき算出された。しかし、FPGA250の故障の程度をさらに考慮してもよいし、FPGA250が現在の負荷を出力する機能を有する場合にはその出力を利用してもよい。
(第2の実施の形態の変形例4)
第2の実施の形態において、FPGA250の故障の程度による場合分けを行う代わりに、余力負荷予測と優先度の比較においてFPGA250の故障の程度を反映させてもよい。たとえば、図11のフローチャートにおいて、ステップS605の次にステップS1107に進む。そして、FPGA250の故障の程度が無故障であればステップS1108において否定判定されるように、FPGA250の故障の程度が全故障であればステップS1108において肯定判定されるように、余力負荷予測および優先度の少なくとも一方を調整したうえでステップS1108に進む。
たとえばFPGA250の故障の程度が無故障であれば、ステップS1107の実行結果に関わらず優先度を余力負荷予測の最小値よりも小さな値、たとえば「−1」に設定するか、余力負荷予測を優先度の最大値よりも大きな値、たとえば「101」に設定する。
(第2の実施の形態の変形例5)
監視プロセス203は、FPGA250の故障の程度を第1通信回路252Aおよび第2通信回路252Bのそれぞれが動作しているか否かだけで判断してもよい。この場合は、図11のステップS1106において部分故障と判断されるのは、第1通信回路252Aおよび第2通信回路252Bのいずれか片方だけが動作しているときである。このとき、余力負荷予測の最大値はあらかじめ定められた値、たとえば「50」とする。
マイコン201のプログラムは不図示のROMに格納されるとしたが、プログラムはマイコン201に備えられる不図示の不揮発性メモリに格納されていてもよい。また、マイコン201が不図示の入出力インタフェースを備え、必要なときに入出力インタフェースとマイコン201が利用可能な媒体を介して、他の装置からプログラムが読み込まれてもよい。ここで媒体とは、たとえば入出力インタフェースに着脱可能な記憶媒体、または通信媒体、すなわち有線、無線、光などのネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号、を指す。また、プログラムにより実現される機能の一部または全部がハードウエア回路やFPGAにより実現されてもよい。
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
100 … 車載ゲートウェイ装置
201 … マイクロコンピュータ
203 … 監視プロセス
204 … 通信プロセス
206 … 優先度データベース

Claims (7)

  1. 論理回路と接続されるマイクロコンピュータであって、
    前記論理回路の状態を監視する監視部と、
    前記マイクロコンピュータが実施する複数の情報処理項目が格納される記憶部と、
    前記論理回路の状態と、前記マイクロコンピュータに入力される通信フレームに基づいて前記複数の情報処理項目から選択された少なくとも1つの情報処理項目と、に基づく処理を実行する処理部と、を備え
    前記論理回路はコンフィグされることで回路構成を構築可能であり、
    前記監視部は前記論理回路がコンフィグ中の状態であるか否かを監視し、
    前記論理回路が前記コンフィグ中の状態でない場合、前記処理部は前記選択された情報処理項目を実行し、
    前記論理回路が前記コンフィグ中の状態である場合、前記処理部は前記選択された情報処理項目とは異なる処理を実行するマイクロコンピュータ。
  2. 請求項に記載のマイクロコンピュータにおいて、
    前記監視部は前記論理回路がコンフィグ完了の状態であるか否かを監視し、
    前記処理部は、前記論理回路が前記コンフィグ完了の状態である場合、前記選択された情報処理項目の少なくとも一部を前記論理回路に処理させるマイクロコンピュータ。
  3. 請求項に記載のマイクロコンピュータにおいて、
    前記監視部は前記論理回路がコンフィグ完了の状態であるか否かを監視し、
    前記処理部は、前記論理回路が前記コンフィグ中の状態である場合は前記通信フレームの少なくとも一部を保存し、前記論理回路が前記コンフィグ中の状態から前記コンフィグ完了の状態になった場合は保存した前記通信フレームの少なくとも一部を前記論理回路に送信するマイクロコンピュータ。
  4. 請求項1に記載のマイクロコンピュータにおいて、
    前記マイクロコンピュータおよび前記論理回路は、CANとIEEE802.3とを接続する1つのゲートウェイ装置に含まれ、
    前記マイクロコンピュータは前記CANに接続され、前記論理回路は前記IEEE802.3に接続されるマイクロコンピュータ。
  5. 請求項1から請求項までのいずれか一項に記載のマイクロコンピュータと接続される論理回路。
  6. 論理回路と接続されるマイクロコンピュータであって、
    前記論理回路の状態を監視する監視部と、
    前記マイクロコンピュータが実施する複数の情報処理項目が格納される記憶部と、
    前記論理回路の状態と、前記マイクロコンピュータに入力される通信フレームに基づいて前記複数の情報処理項目から選択された少なくとも1つの情報処理項目と、に基づく処理を実行する処理部と、を備え、
    前記監視部は前記論理回路が故障しているか否かを監視し、
    前記論理回路が故障していない場合、前記処理部は前記選択された情報処理項目を実行し、
    前記論理回路が故障している場合、前記処理部は前記選択された情報処理項目とは異なる処理を実行し、
    前記監視部は前記論理回路の故障の程度を監視し、
    前記処理部は、前記論理回路が故障している場合、その故障の程度に応じて実行する処理を変更し、
    前記記憶部には、前記複数の情報処理項目のそれぞれに対する処理の条件となる閾値を表す優先度テーブルがさらに記憶され、
    前記処理部は、前記論理回路が部分的に故障している場合、前記選択された情報処理項目に対する前記閾値を前記優先度テーブルに基づいて取得し、取得した前記閾値、および前記論理回路の負荷の余力に基づき前記選択された情報処理項目を実行するか否かを決定するマイクロコンピュータ。
  7. 請求項に記載のマイクロコンピュータと接続される論理回路。
JP2016252782A 2016-12-27 2016-12-27 マイクロコンピュータ、論理回路 Active JP6781038B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2016252782A JP6781038B2 (ja) 2016-12-27 2016-12-27 マイクロコンピュータ、論理回路
US16/473,473 US11016928B2 (en) 2016-12-27 2017-10-12 Microcomputer and logic circuit
CN201780075651.9A CN110073343B (zh) 2016-12-27 2017-10-12 微型计算机和逻辑电路
PCT/JP2017/037033 WO2018123205A1 (ja) 2016-12-27 2017-10-12 マイクロコンピュータ、論理回路
EP17887882.3A EP3564825A4 (en) 2016-12-27 2017-10-12 MICRO-COMPUTER, AND LOGIC CIRCUIT

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016252782A JP6781038B2 (ja) 2016-12-27 2016-12-27 マイクロコンピュータ、論理回路

Publications (2)

Publication Number Publication Date
JP2018106459A JP2018106459A (ja) 2018-07-05
JP6781038B2 true JP6781038B2 (ja) 2020-11-04

Family

ID=62707214

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016252782A Active JP6781038B2 (ja) 2016-12-27 2016-12-27 マイクロコンピュータ、論理回路

Country Status (5)

Country Link
US (1) US11016928B2 (ja)
EP (1) EP3564825A4 (ja)
JP (1) JP6781038B2 (ja)
CN (1) CN110073343B (ja)
WO (1) WO2018123205A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3105338A1 (en) * 2018-08-23 2020-02-27 Precision Planting Llc Expandable network architecture for communications between machines and implements
US11648895B2 (en) * 2018-12-27 2023-05-16 GM Global Technology Operations LLC Bounded timing analysis of intra-vehicle communication
US20220406897A1 (en) * 2019-11-28 2022-12-22 Mitsubishi Electric Corporation Silicon carbide semiconductor device, power conversion apparatus, and method for manufacturing silicon carbide semiconductor

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250412B2 (en) * 2003-09-26 2012-08-21 Ati Technologies Ulc Method and apparatus for monitoring and resetting a co-processor
JP2006157243A (ja) * 2004-11-26 2006-06-15 Nippon Telegr & Teleph Corp <Ntt> パケット処理装置
US7304493B2 (en) * 2005-09-30 2007-12-04 International Business Machines Corporation FPGA powerup to known functional state
GB2439579A (en) * 2006-06-30 2008-01-02 Advanced Risc Mach Ltd Target device programmer
JP2008191730A (ja) * 2007-02-01 2008-08-21 Fujitsu Ten Ltd 電子機器及びその制御方法
JP2008204032A (ja) * 2007-02-19 2008-09-04 Fujitsu Ltd データ処理装置
JP4782727B2 (ja) * 2007-05-17 2011-09-28 株式会社東芝 機器状態監視装置並びに機器状態監視のための方法およびプログラム
US8364189B2 (en) * 2009-02-24 2013-01-29 Caterpillar Inc. Fleet communication network
JP2011013829A (ja) 2009-06-30 2011-01-20 Fujitsu Ltd コンフィグレーション装置、コンフィグレーション方法、及びコンフィグレーションプログラム
JP2011175531A (ja) * 2010-02-25 2011-09-08 Nec Corp 情報処理装置、および情報処理装置の制御方法
JP5574993B2 (ja) * 2011-01-13 2014-08-20 三菱電機株式会社 制御用計算機および情報処理システムおよび制御方法およびプログラム
DE102011077409A1 (de) * 2011-06-10 2012-12-13 Robert Bosch Gmbh Verbindungsknoten für ein Kommunikationsnetz
JP5937424B2 (ja) * 2012-05-29 2016-06-22 株式会社日立製作所 通信装置及びそれを制御する方法
US20140156120A1 (en) * 2012-11-30 2014-06-05 Electro-Motive Diesel, Inc. Monitoring and failover operation within locomotive distributed control system
WO2014115289A1 (ja) * 2013-01-25 2014-07-31 株式会社日立製作所 プログラマブルデバイス及び電子システム装置
JP5842255B2 (ja) * 2013-12-12 2016-01-13 国立大学法人東京工業大学 プログラミング言語による論理回路記述から論理回路を生成するための装置及び方法

Also Published As

Publication number Publication date
JP2018106459A (ja) 2018-07-05
US11016928B2 (en) 2021-05-25
WO2018123205A1 (ja) 2018-07-05
CN110073343A (zh) 2019-07-30
CN110073343B (zh) 2023-06-13
EP3564825A4 (en) 2020-08-26
US20190370220A1 (en) 2019-12-05
EP3564825A1 (en) 2019-11-06

Similar Documents

Publication Publication Date Title
US10756930B2 (en) Gateway device, vehicle network system, transfer method, and non-transitory computer-readable recording medium storing program
JP6781038B2 (ja) マイクロコンピュータ、論理回路
CN111865742B (zh) 车辆及车内消息传输方法
KR102286050B1 (ko) 차량 네트워크에서 진단 오류 방지를 위한 방법 및 장치
JP2008312024A (ja) 中継接続ユニット
KR102355092B1 (ko) 차량 네트워크에서 진단을 위한 통신 노드의 동작 방법
JP2007336267A (ja) 車載通信システム
JP2008306425A (ja) 車載ゲートウェイ装置
KR100976710B1 (ko) 차량용 게이트웨이 장치
EP2608471A1 (en) Network relay apparatus
JP7463870B2 (ja) 車載装置、車載通信システムおよび通信制御方法
JP7225740B2 (ja) 中継装置
JP2004318498A (ja) フェールセーフ装置
JP3571003B2 (ja) 通信装置及びfpgaのコンフィグレーション方法
JP2006099305A (ja) プログラマブルlsiのコンフィグレーション制御方法
US11535179B2 (en) Vehicle communication system
US11757799B2 (en) Line monitor device and network switch
JP2007243322A (ja) ゲートウェイ装置、データ転送方法及びプログラム
US20240089142A1 (en) Vehicle-mounted apparatus and a method for relaying
US12034565B2 (en) Vehicle control system and circuit device
JP6653250B2 (ja) 計算機システム
JP2021064855A (ja) 電子制御装置
KR101992713B1 (ko) 통신 인터페이스 장치
Yoo et al. Unidirectional ring ethernet and media access controller with automatic relaying for low-complexity in-vehicle control network
JP5152426B1 (ja) 情報処理装置及び冗長化システム、並びに、これらにおけるエラー検出方法

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20170403

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170927

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200817

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201015

R150 Certificate of patent or registration of utility model

Ref document number: 6781038

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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