中継接続ユニット
【課題】車載用中継接続ユニットのメッセージの中継速度を上げる。
【解決手段】CAN通信線12とFlexRay通信線11からなるバスに接続され、該バスを介して行うメッセージの送受信をプロトコルを変換して中継する中継接続ユニット20であって、時分割されたタイムスロットでFlexRayメッセージを通信するFlexRay通信線11と接続されるFlexRayドライバ21と、ID(識別子)を備えるCANメッセージを通信するCAN通信線12と接続されるCANドライバ22と、FlexRayコントローラ23と、CANコントローラ24と、受信したFlexRayメッセージ及びCANメッセージの送信宛先を記憶した宛先検索テーブル31と宛先検索テーブル31からの送信の要否を検出する判断処理回路を備えたメインコントローラ30と、判断処理回路で送信要とされたメッセージを記憶するメモリ26とを備えていることを特徴とする。
【解決手段】CAN通信線12とFlexRay通信線11からなるバスに接続され、該バスを介して行うメッセージの送受信をプロトコルを変換して中継する中継接続ユニット20であって、時分割されたタイムスロットでFlexRayメッセージを通信するFlexRay通信線11と接続されるFlexRayドライバ21と、ID(識別子)を備えるCANメッセージを通信するCAN通信線12と接続されるCANドライバ22と、FlexRayコントローラ23と、CANコントローラ24と、受信したFlexRayメッセージ及びCANメッセージの送信宛先を記憶した宛先検索テーブル31と宛先検索テーブル31からの送信の要否を検出する判断処理回路を備えたメインコントローラ30と、判断処理回路で送信要とされたメッセージを記憶するメモリ26とを備えていることを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車載用の中継接続ユニットに関し、詳しくは、CAN通信線とFlexRay通信線の間に接続して、メッセージを高速に中継するものである。
【背景技術】
【0002】
自動車に搭載されるエンジン、トランスミッション、ブレーキ、エアコン、ライト、パワーウィンドウなどの電装品は電子制御ユニット(ECU)によって制御されており、該ECUは車載LANを介して各ECU間でメッセージを通信している。
車載LANの通信プロトコルとして、従来よりCANが広く用いられている。CANはイベントドリブン型であり、通信線に他のECUのメッセージが通信されている間は、自ECUはメッセージを送信できず、通信線が空いている時にはいつでもメッセージを送信することができる。
【0003】
また、近年では自動車に搭載されるECUの増加により車載LAN上の通信データ量も増加しており、CANよりも高速かつ信頼性の高いプロトコルが求められている。そこで、新たな通信プロトコルとしてFlexRayが注目されている。FlexRayはタイムトリガ型であり、所定の単位時間で時分割されたタイムスロットを用いてメッセージの送受信が行われる。FlexRayの通信線に接続された各ECUは、予め割り当てられたタイムスロットにおいてメッセージの送信を行っている。
【0004】
通信プロトコルにFlexRayを用いて車載LANの信頼性や通信速度を向上させる場合、車両には既にCANを用いた車載LANが構築されていることがあるため、既存のCANの車載LANをそのまま活用して、CANの車載LAN同士をFlexRayの通信線で接続することが多い。このとき、異なる通信プロトコルの通信線間でメッセージの中継を行う必要が生じる。
【0005】
このため、特開2005−328119号公報(特許文献1)では、通信プロトコルとしてCANを用いた通信線と、FlexRayを用いた通信線との間に通信メッセージ変換装置(中継接続ユニット)を設け、通信メッセージ変換装置が各通信プロトコルの通信形式やメッセージのフレーム形式に合わせてメッセージの変換を行い、メッセージの中継を行っている。
【0006】
具体的には、図15に示すように、CANアプリケーションデバイス(ECU)102が接続されたCAN通信線103とFlexRay通信線104は通信メッセージ変換装置(中継接続ユニット)100を介してメッセージの送受信を行っている。ECU102からCANメッセージがCAN通信線103に送信されると、中継接続ユニット100はCANコントローラ100cを介して該CANメッセージを受信する。CPU100aはCANメッセージをFlexRayメッセージに変換し、FlexRay通信線105に送信している。
また、FlexRay通信線からCAN通信線にメッセージを送信するときは、中継接続ユニットは前述した動作とは逆の動作を行い、FlexRayコントローラ100bを介してFlexRayメッセージを受信し、CANメッセージに変換してCAN通信線に送信している。
【0007】
しかし、特許文献1では、FlexRayコントローラまたはCANコントローラとCPUは別体として設けられているため、CPUと両コントローラ間のメッセージの送受信に時間がかかるという問題がある。
また、メッセージの送受信において、CPUは同時に両コントローラとメッセージの送受信を行うことはできないため、中継接続ユニットの動作速度が遅くなるという問題がある。
【0008】
【特許文献1】特開2005−328119号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は、前記問題に鑑みてなされたもので、車載用中継接続ユニットの動作速度を向上させてメッセージを高速に中継することを課題としている。
【課題を解決するための手段】
【0010】
前記課題を解決するため、本発明は、CAN通信線とFlexRay通信線からなるバスに接続され、該バスを介して行うメッセージの送受信をプロトコルを変換して中継する中継接続ユニットであって、
時分割されたタイムスロットでFlexRayメッセージを通信する前記FlexRay通信線と接続され、FlexRayメッセージを送受信するFlexRayドライバと、
ID(識別子)を備えるCANメッセージを通信するCAN通信線と接続され、CANメッセージを送受信するCANドライバと、
前記FlexRayドライバに接続されるFlexRayコントローラと、
前記CANドライバに接続されるCANコントローラと、
前記2つのコントローラに接続され、受信した前記FlexRayメッセージ及びCANメッセージの送信宛先を記憶した宛先検索テーブルと、該宛先検索テーブルからの送信の要否を検出する判断処理回路を備えたメインコントローラと、
前記メインコントローラに接続され、前記判断処理回路で送信要とされたメッセージを記憶するメモリと、
を備えていることを特徴とする車載用中継接続ユニットを提供している。
【0011】
CAN通信線からCANメッセージを受信する場合、メインコントローラはCANドライバ及びCANコントローラを介してCANメッセージを受信し、メモリに記憶している。
また、CANメッセージをFlexRay通信線に送信する場合、メインコントローラはCANメッセージをFlexRayメッセージに変換し、FlexRayコントローラ、FlexRayドライバを介してFlexRay通信線に送信している。
【0012】
このようなメッセージの中継を行うメインコントローラは、CPUではなくハードウェアで構成することができる。また、CANドライバ、CANコントローラ、FlexRayドライバ、FlexRayコントローラもハードウェアで構成し、メインコントローラと一体化した半導体として構成することができる。
このように中継接続ユニットの構成をハードウェアとして一体とすることで、メインコントローラとCANコントローラ及びFlexRayコントローラ間のメッセージの送受信にかかる時間を短縮することができる。
【0013】
また、従来技術ではCPUを用いているのでCPUとCANコントローラおよびCPUとFlexRayコントローラとのメッセージの送受信を同時に行うことができないが、中継接続ユニットの構成をハードウェアにすることで、メインコントローラとCANコントローラとの間のメッセージの送受信と、メインコントローラとFlexRayコントローラとの間のメッセージの送受信を並行して行うことができ、中継接続ユニットの動作速度を上げてメッセージを高速に中継することができる。
さらに、中継接続ユニットの構成を一体化した半導体とすることで、中継接続ユニットに搭載される半導体の数を減らすことができ、中継接続ユニットを小型化することができる。
【0014】
CAN通信線から受信した複数のCANメッセージを1つのFlexRayメッセージに変換してFlexRay通信線に送信する場合、前記判断処理回路は、前記CANコントローラと接続されるCAN判断処理回路と、FlexRayコントローラに接続されるFlexRay判断処理回路を備え、
前記CAN判断処理回路は、受信したCANメッセージを前記メモリに送信し、
前記FlexRay判断処理回路は、タイムスロットと送信周期を検知して、前記中継接続ユニットに割り当てられFlexRayメッセージを送信することができるタイムスロットと送信周期であることを判断した場合に、前記メモリに記憶されたCANメッセージを順に読み出し、FlexRayメッセージに変換して送信することが好ましい。
具体的には、前記メモリに記憶されたCANメッセージを1または複数結合して前記FlexRayメッセージのペイロードセグメントとし、該ペイロードセグメントにヘッダセグメントを付けて前記CANメッセージからFlexRayメッセージへの変換を行っている。
【0015】
前記構成とすることで、複数のCANメッセージを1つのFlexRayメッセージとすることができ、該FlexRayメッセージを中継接続ユニットに割り当てられたタイムスロット時にFlexRay通信線に送信することができるので、メッセージの中継を効率良く行うことができる。
【0016】
FlexRay通信線から受信したFlexRayメッセージをCANメッセージに変換してCAN通信線に送信する場合には、
前記FlexRay判断処理回路は、1または複数のCANメッセージを含んだペイロードセグメントを有するFlexRayメッセージを受信してCANメッセージに変換して前記メモリに送信し、前記CAN判断処理回路は、前記メモリからCANメッセージを読み出して前記CAN通信線に送信する。
【0017】
CAN通信線から受信した1つのCANメッセージを1つのFlexRayメッセージに変換してFlexRay通信線に送信する場合、前記メインコントローラの前記宛先検索テーブルは、FlexRayメッセージ通信用の時分割されたタイムスロット及び送信周期毎に前記CANメッセージのIDを割り当てており、
前記判断処理回路は、前記CANコントローラと接続されるCAN判断処理回路と、FlexRayコントローラに接続されるFlexRay判断処理回路を備え、
前記CAN判断処理回路は、受信したCANメッセージのIDから前記宛先検索テーブルを参照して、該CANメッセージをFlexRayメッセージに変換して送信する際のFlexRayのタイムスロットのスロット番号及び送信周期を読み出し、該CANメッセージ及びFlexRayのスロット番号及び送信周期を前記メモリに送信し、
前記FlexRay判断処理回路は、タイムスロットと送信周期を検知して、前記中継接続ユニットに割り当てられFlexRayメッセージを送信することができるタイムスロットと送信周期であることを判断した場合に、前記メモリからタイムスロットのスロット番号及び送信周期に該当するCANメッセージを読み出し、FlexRayメッセージに変換して送信してもよい。
【0018】
具体的には、前記CANメッセージのデータフィールドを前記FlexRayメッセージのペイロードセグメントとし、該ペイロードセグメントにヘッダセグメントを付けて前記CANメッセージからFlexRayメッセージへの変換を行っている。
【0019】
FlexRay判断処理回路はCANメッセージをFlexRayメッセージに変換し、中継接続ユニットがFlexRayメッセージを送信可能であるタイムスロットと送信周期のうち、宛先検索テーブルで割り当てられたタイムスロット及び送信周期でFlexRayメッセージをFlexRay通信線に送信している。このとき、FlexRayメッセージには必ず1つのCANメッセージしか含まれない。
従来技術では、中継接続ユニットがCANメッセージを受信するタイミングに遅延が生じたり順序が変わった場合、CANメッセージを変換したFlexRayメッセージの送信のタイミングも変動することがある。一方、前記構成によれば、CANメッセージのIDごとにFlexRayメッセージを送信する送信周期が定められているため、FlexRayメッセージの送信の時間変動の発生を防ぐことができる。
【0020】
具体的には、前記宛先検索テーブルにはCANメッセージのIDに対応するデータ長が記憶されており、
前記FlexRay判断処理回路は、受信した前記FlexRayメッセージのペイロードセグメントを前記CANメッセージのデータフィールドとすると共に、前記FlexRayメッセージを受信したタイムスロットのスロット番号と送信周期から前記宛先検索テーブルを参照してCANメッセージのIDとデータ長を読み出し、該IDをアービトレーションフィールドに記載し、データ長をコントロールフィールドに記載してCANメッセージに変換して該CANメッセージを前記メモリに送信し、前記CAN判断処理回路は、前記メモリからCANメッセージを読み出して前記CAN通信線に送信している。
【0021】
前記FlexRayコントローラは同期信号を前記FlexRay判断処理回路に送信する同期信号発生回路を備え、
該FlexRay判断処理回路は、前記同期信号からFlexRayメッセージ通信用の現在の送信周期を検知する周期管理回路と、前記同期信号からFlexRayメッセージ通信用の現在のタイムスロットのスロット番号を検知するスロット番号管理回路を備え、
前記スロット番号管理回路は、前記中継接続ユニットに割り当てられFlexRayメッセージを送信することができるスロット番号と送信周期を予め備えており、前記周期管理回路は送信周期を前記スロット番号管理回路に送信し、前記スロット番号管理回路は前記現在のスロット番号及び送信周期と前記記憶したスロット番号および送信周期を比較してFlexRayメッセージを送信できるスロットか否かを判断していることが好ましい。
【0022】
FlexRayプロトコルではあらかじめメッセージ送信についてスケジューリングされており、各タイムスロットで1つのFlexRayメッセージが送信される。FlexRayコントローラの同期信号発生回路が同期信号をFlexRay判断処理回路に送信し、FlexRay判断処理回路のスロット番号管理回路は同期信号から現在のスロット番号を検知する。また、周期管理回路は現在の送信周期を検知する。
中継接続ユニットのFlexRayメッセージのFlexRay通信線への送信のタイムスケジュールはタイムスロットのスロット番号と送信周期により定められており、スロット番号管理回路は割り当てられたスロット番号と送信周期を予め記憶している。
スロット番号管理回路は記憶したスロット番号と送信周期の情報と、検知した現在のスロット番号と送信周期を比較して、中継接続ユニットがFlexRayメッセージを送信できるスロットか否かを判断している。
該構成によれば、FlexRayコントローラが同期信号をFlexRay判断処理回路に送信しているので、FlexRayプロトコルのタイムスケジュールを管理することができる。
【発明の効果】
【0023】
前述したように、本発明の車載用中継接続ユニットによれば、メッセージの中継を行うメインコントローラは、CPUではなくハードウェアで構成し、また、CANドライバ、CANコントローラ、FlexRayドライバ、FlexRayコントローラもハードウェアで構成し、メインコントローラと一体化した半導体として構成しているため、メインコントローラとCANコントローラ及びFlexRayコントローラ等とのメッセージの送受信にかかる時間が短縮できると共に、メインコントローラとFlexRayコントローラまたはCANコントローラとの間のメッセージの送受信を並行して行うことができ、中継接続ユニットの動作速度を上げてメッセージを高速に中継することができる。
【発明を実施するための最良の形態】
【0024】
本発明の実施形態を図面を参照して説明する。
図1乃至図9は本発明の第1実施形態を示す。
本実施形態では、図1中に太線で示すFlexRay通信線11に本発明の中継接続ユニット20(20A、20B)を接続し、各中継接続ユニット20にCAN通信線12を介して夫々複数のECU13(20Aに13Aと13B、20Bに13Cと13D)を接続して車載LAN10を構成している。
前記車載LAN10では、例えば、中継接続ユニット20Aに接続したECU13Aと中継接続ユニット20Bに接続したECU13Cの間でメッセージを送受信する際、ECU13AからCAN通信線12を介して中継接続ユニット20Aに送信し、中継接続ユニット20AからFlexRay通信線11を介して中継接続ユニット20Bへ送信し、該中継接続ユニット20BからCAN通信線12を介して送信相手方のECU13Cに送信している。
即ち、中継接続ユニット20(20A、20B)は通信プロトコルが異なるFlexRay通信線11とCAN通信線12の間で通信プロトコルを変換してメッセージの中継を行う必要がある。
【0025】
前記FlexRay通信線11は時分割されたタイムスロットでFlexRayメッセージを通信するFlexRayに準拠した通信プロトコルで通信を行う通信線であり、伝送速度は最大10Mbpsである。
前記CAN通信線12はID(識別子)を備えるCANメッセージを通信するCANに準拠した通信プロトコルで通信を行う通信線であり、伝送速度は最大1Mbpsである。
【0026】
図2に示すように、中継接続ユニット20はFlexRayドライバ21と、CANドライバ22と、FlexRayコントローラ23と、CANコントローラ24と、メインコントローラ30と、メモリ26を備えており、中継接続ユニット20は図3に示すように一つの半導体チップでハードウェアとして一体に構成している。
中継接続ユニット20は、CAN通信線12からCANドライバ22、CANコントローラ24を介してCANメッセージを受信すると、メインコントローラ30により該CANメッセージをメモリ26に記憶する。また、メインコントローラ30は該メモリ26から1または複数のCANメッセージを読み出しFlexRayメッセージに変換し、FlexRayコントローラ23、FlexRayドライバ21を介してFlexRay通信線11に送信する。
【0027】
また、中継接続ユニット20はFlexRay通信線11からFlexRayメッセージを受信すると、メインコントローラ30はFlexRayメッセージを複数のCANメッセージに分割し、該CANメッセージをメモリ26に記憶する。メインコントローラ30はメモリ26から該CANメッセージを読み出してCAN通信線12に送信する。
【0028】
FlexRayドライバ21はFlexRay通信線11と接続し、FlexRayメッセージを送受信するものである。
CANドライバ22はCAN通信線12と接続し、CANメッセージを送受信するものである。
【0029】
FlexRayコントローラ23はFlexRayドライバ21と接続しており、受信回路23aと送信回路23bと同期信号発生回路27を備えている。
受信回路23aはFlexRayドライバ21を介してFlexRayメッセージを受信する回路であり、送信回路23bはメインコントローラ30から受信したFlexRayメッセージをFlexRayドライバ21を介して送信する回路である。
同期信号発生回路27はFlexRayドライバ21と接続しており、受信したFlexRayメッセージからFlexRayプロトコルのコミュニケーションサイクルの周期の先頭を検出し、同期信号を発生させてメインコントローラ30に送信している。
【0030】
CANコントローラ24はCANドライバ22と接続しており、受信回路24aと送信回路24bを備えている。
受信回路24aはCANドライバ22を介してCANメッセージを受信する回路であり、送信回路24bはCANドライバ22を介してCANメッセージを送信する回路である。
【0031】
メインコントローラ30はFlexRayコントローラ23とCANコントローラ24に接続しており、宛先検索テーブル31とFlexRay判断処理回路32とCAN判断処理回路33を備えている。
宛先検索テーブル31は、CAN判断処理回路33とFlexRay判断処理回路32と接続しており、FlexRayメッセージ及びCANメッセージの送信宛先の通信線を記憶している。
【0032】
図4は宛先検索テーブル31の例であり、図4(A)はCAN通信12から受信したCANメッセージをFlexRayメッセージに変換してFlexRay通信線11へ送信する場合の宛先検索テーブル31である。CANメッセージのIDごとに、該CANメッセージを含むFlexRayメッセージの送信宛先が記載されている。なお、送信宛先が記されていない場合は、該IDのCANメッセージは送信不要であることを示している。本実施形態では1つの中継接続ユニット20に1本のFlexRay通信線11が接続されているため、送信宛先は全て同じである。
【0033】
また、図4(B)はFlexRay通信線11から受信したFlexRayメッセージをCANメッセージに変換してCAN通信線12へ送信する場合の宛先検索テーブル31である。CANメッセージのIDごとに送信宛先を記載している。
また、図4(C)はFlexRayメッセージをFlexRay通信線11へ送信する場合のテーブルであり、FlexRayプロトコルで中継接続ユニットに割り当てられ、中継接続ユニット20がFlexRay通信線11にFlexRayメッセージの送信が可能であるタイムスロットのスロット番号と送信周期が示されている。
【0034】
CAN判断処理回路33は中継処理回路34と書込回路33aと読出回路33bを備えている。
中継処理回路34はCANドライバ22、CANコントローラ24を介してCANメッセージを受信するとCANメッセージのIDから図4(A)に示すような宛先検索テーブル31を参照して、FlexRay通信線11に送信すべきメッセージか否かを判断する。送信すべきメッセージの場合は、該CANメッセージを書込回路33aに送信し、送信不要なメッセージは破棄する。
また、メモリ26に記憶されたCANメッセージをCAN通信線12に送信する場合は、中継処理回路34は読出回路33bを介してメモリ26から読み出したCANメッセージのIDから、図4(B)に示すような宛先検索テーブル31を参照して送信先のCAN通信線12を判別し、CANコントローラ24に該CANメッセージを送信する。
【0035】
FlexRay判断処理回路32は、タイミング回路35と読出回路32bと書込回路32aを備えている。
タイミング回路35は周期管理回路36とスロット番号管理回路37を備え、FlexRayコントローラ23の同期信号発生回路27から送信される同期信号を受信している。FlexRayプロトコルでは、タイムスロットのスロット番号と送信周期から中継接続ユニット20のFlexRayメッセージの送信を管理しており、周期管理回路36は同期信号から現在の送信周期を検知すると共に、スロット番号管理回路37は同期信号から現在のタイムスロットのスロット番号を検知している。
【0036】
また、スロット番号管理回路37は周期管理回路36から送信周期を受信する。さらに、図4(C)に示す宛先検索テーブルを読み込み、現在のスロット番号と送信周期を読み込んだ宛先検索テーブルと比較し、現在のスロット番号と送信周期が宛先検索テーブルにあれば、中継接続ユニット20はFlexRayメッセージを送信可能であると判断している。送信可の場合は読出回路32bにFlexRayメッセージの読出しの指令を出している。
【0037】
読出回路32bはタイミング回路35の指令を受け、メモリ26から1または複数のCANメッセージを読み出して該メッセージを結合させてFlexRayメッセージとしている。
図5(A)に示すように、CANメッセージは、CANメッセージのID(識別子)を格納するアービトレーションフィールド41と、データ長(DLC)を格納するコントロールフィールド42と、データを格納するデータフィールド43を備えている。
【0038】
読出回路32bはCANメッセージ全体の長さを数えながらメモリ26に記憶された順にCANメッセージを読み出し、FlexRayメッセージの最大バイト数を超えない範囲で複数のCANメッセージを結合し、FlexRayメッセージのペイロードセグメント45とする。図5(B)では2つのCANメッセージを結合している。このとき、ペイロードセグメント45には図5(A)に示す各CANメッセージのアービトレーションフィールド41、コントロールフィールド42、データフィールド43の全てが含まれる。さらに、該ペイロードセグメント45にヘッダセグメント44を取り付けてFlexRayメッセージとしている。
さらに、ペイロードセグメント45として割り当てられたビット数とCANメッセージの全体のビット数とが異なる場合には、CANメッセージの末尾にゼロを入れて所定のペイロードセグメント長とするパディング処理を行っている。
【0039】
書込回路32aは、FlexRay通信線11からFlexRayメッセージを受信した場合に、FlexRayメッセージからCANメッセージを分割してメモリ26に書き込んでいる。
図5(B)に示すFlexRayメッセージをヘッダセグメント44とペイロードセグメント45に分割し、さらに、ペイロードセグメント45を図5(A)に示すようにCANメッセージごとに分割して取り出している。次いで、該CANメッセージをメモリ26に書込んでいる。
【0040】
メモリ26はメインコントローラ30と接続しており、CAN判断処理回路33及びFlexRay判断処理回路32からCANメッセージが書き込まれると共に読み込まれる。
【0041】
なお、中継接続ユニット20にFlexRay通信線11が2本以上接続されている場合には、FlexRay通信線11毎に通信速度や同期信号の送信タイミングが異なるため、FlexRayドライバ21、FlexRayコントローラ23、FlexRay判断処理回路32をFlexRay通信線11毎に備えていてもよい。
また、中継接続ユニット20にCAN通信線12が2本以上接続されている場合には、CANドライバ22とCANコントローラ24はCAN通信線毎に備え、CAN判断処理回路33は1つとしてもよい。
なお、図4(C)テーブルに記載されていない送信周期とスロット番号においては、中継接続ユニット20は該送信周期のタイムスロットのスロット番号ではFlexRayメッセージをFlexRay通信線11に送信しないことを示している。該送信周期のタイムスロットのスロット番号においては、FlexRay通信線11に接続された他の中継接続ユニット20や電子制御ユニットがメッセージを送信しているか、どの中継接続ユニット20等もメッセージを送信していない状態である。
【0042】
次に、中継接続ユニット20の動作について説明する。図1に示すCAN通信線12Aに接続したECU13A、ECU13Bが夫々CANメッセージmcA、mcBを送信する場合を例にして説明する。
図6はCAN通信線12から中継接続ユニット20がCANメッセージを受信してメモリ26に記憶する場合に、中継接続ユニット20の動作を示すフローチャートである。
【0043】
ステップS11では、CAN通信線12からCANメッセージmcA、mcBを夫々受信している。CANドライバ22、CANコントローラ24の受信回路24aを介して、メインコントローラ30がCANメッセージを受信する。
ステップS12では、メインコントローラ30の中継処理回路34がCANメッセージmcA、mcBのアービトレーションフィールド41からIDを読み出し、例えば図4(A)に示す宛先検索テーブル31を参照して送信宛先を判別している。送信先がある場合はステップS13に進み、送信不要である場合はステップS14に進む。
ステップS13では、中継処理回路34が書込回路33aに指令を出し、書込回路33aはCANメッセージmcA、mcBをメモリ26に書き込んでいる。
ステップS14ではCANメッセージを破棄している。
【0044】
図7は中継接続ユニット20がメモリ26に記憶したCANメッセージmcA、mcBをFlexRay通信線11に送信する場合の動作を示すフローチャートである。
ステップS21では、FlexRayコントローラ23の同期信号発生回路27が同期信号をFlexRay判断処理回路32の周期管理回路36とスロット番号管理回路37に周期的に送信している。
ステップS22では、周期管理回路36が、同期信号からFlexRayプロトコルの現在の送信周期を検知している。
ステップS23では、スロット番号管理回路37は、同期信号からFlexRayプロトコルの現在のスロット番号を検知している。
なお、ステップS22とステップS23は動作を並行して行っていてもよい。
【0045】
ステップS24では、周期管理回路36は送信周期をスロット番号管理回路37に送信している。
ステップS25では、スロット番号管理回路37が例えば図4(C)に示す宛先検索テーブルを読み込んで、現在のスロット番号及び送信周期情報から中継接続ユニット20がFlexRayメッセージを送信できるスロット番号及び送信周期であるか否かを判断している。送信できる場合にはステップS26に進む。送信できない場合はステップS21に戻る。
【0046】
ステップS26では、スロット番号管理回路37は読出回路32bに指令を出し、読出回路32bはメモリ26に記憶されたCANメッセージmcA、mcBを読み出してこれら2つのCANメッセージを結合してペイロードセグメント45とし、ヘッダセグメント44を取り付けてFlexRayメッセージに変換している。読出回路32bは中継接続ユニット20が送信可能な最大のバイト数を超えないようにCANメッセージを結合する。
ステップS27では、メインコントローラ30はFlexRayメッセージをFlexRayコントローラ23の送信回路23bとFlexRayドライバ21を介してFlexRay通信線11に送信している。
【0047】
なお、ステップS21からS25は、FlexRayメッセージの送信の有無に関わらず、周期的に行われている。
また、ステップS25で中継接続ユニット20がFlexRayメッセージを送信できるスロット番号及び送信周期であっても、メモリ26にCANメッセージが記憶されていなければ、読出回路32bはFlexRayメッセージへの変換は行わず、中継接続ユニット20からFlexRayメッセージの送信は行われない。
さらに、メモリ26に記憶されたCANメッセージを結合させてFlexRayメッセージに変換してもメモリ26にまだCANメッセージが残っている場合には、中継接続ユニット20がメッセージを送信できる次のスロット番号及び送信周期のタイミングで、FlexRayメッセージに変換されて、FlexRay通信線11に送信される。
【0048】
図8はFlexRay通信線11から中継接続ユニット20がFlexRayメッセージを受信してメモリ26に記憶する場合に、中継接続ユニット20の動作を示すフローチャートである。
図1に示すCAN通信線12Bに接続したECU13C、ECU13Dが送信したCANメッセージmcC、mcDを中継接続ユニット20BがFlexRayメッセージに変換してFlexRay通信線11に送信した場合の中継接続ユニット20Aの動作を例として説明する。
【0049】
ステップS31では、FlexRay通信線11からFlexRayメッセージを受信している。FlexRayドライバ21、FlexRayコントローラ23の受信回路23aを介して、メインコントローラ30がFlexRayメッセージを受信する。
ステップS32では、メインコントローラ30のFlexRay判断処理回路32の書込回路32aはFlexRayメッセージをヘッダセグメント44とペイロードセグメント45に分割し、さらにペイロードセグメント45に含まれるCANメッセージを夫々分割する。本実施形態では1つのFlexRayメッセージを2つのCANメッセージmcC、mcDに変換している。
ステップS33では、書込回路32aが各CANメッセージmcC、mcDをメモリ26へ書き込む。
【0050】
図9は中継接続ユニット20がメモリ26に記憶したCANメッセージをCAN通信線12に送信する場合の動作を示すフローチャートである。
ステップS41では、メインコントローラ30のCAN判断処理回路33がメモリ26に記憶されたCANメッセージmcC、mcDのIDを読み出す。
ステップS42では、CAN判断処理回路33が図4(A)に示す宛先検索テーブル31から該IDに対応する送信宛先のCAN通信線12を読み出し、読出回路33bに読み出しの指令を出す。
【0051】
ステップS43では、CANコントローラ24の送信回路24bが、CAN通信線12が他のECU13がメッセージの送信を行っていない開放状態であるか否かを検知している。CAN通信線12が開放状態である場合はステップS44に進む。CAN通信線12が開放状態で無い場合は、開放状態になるまでステップS43を繰り返す。
ステップS44では、読出回路33bはメモリ26からCANメッセージを読み出し、CANコントローラ24の送信回路24b、CANドライバ22を介してCAN通信線12にCANメッセージを送信する。
【0052】
前記構成によれば、メッセージの中継を行うメインコントローラ30は、CPUではなくハードウェアで構成し、また、CANドライバ22、CANコントローラ24、FlexRayドライバ21、FlexRayコントローラ23もハードウェアで構成し、メインコントローラ30と一体化した半導体として構成しているため、メインコントローラ30とCANコントローラ24及びFlexRayコントローラ23等とのメッセージの送受信にかかる時間が短縮できると共に、メインコントローラ30とFlexRayコントローラ23またはCANコントローラ24との間のメッセージの送受信を並行して行うことができ、中継接続ユニットの動作速度を上げてメッセージの中継速度を向上させることができる。
【0053】
図10乃至図14は本発明の第2実施形態を示す。
第2実施形態の中継接続ユニット20の構成は図2に示す第1実施形態の構成と同様であるが、メインコントローラ30の機能が異なっている。
【0054】
第1実施形態では、メインコントローラ30は該メモリ26から複数のCANメッセージを読み出して1つのFlexRayメッセージに変換していたが、第2実施形態では、1のCANメッセージをFlexRayメッセージに変換してFlexRay通信線11に送信している。
図10(B)に示すように、CANメッセージのうちデータフィールド43を取り出してFlexRayメッセージのペイロードセグメント45としている。
【0055】
宛先検索テーブル31は、図4(A)、(B)の宛先検索テーブル31に変えて、CANメッセージをFlexRayメッセージに変換する際に参照する第1記憶テーブルT1と、FlexRayメッセージをCANメッセージに変換する際に参照する第2記憶テーブルT2を備えている。
図11(A)は第1記憶テーブルT1の一例を示し、タイムスロットのスロット番号と送信周期とCANメッセージのIDとの関係を規定している。
図11(B)は第2記憶テーブルT2の一例を示し、CANメッセージのIDとデータ長の関係を規定している。
【0056】
CAN判断処理回路33の中継処理回路34はCANドライバ22、CANコントローラ24を介してCANメッセージを受信するとCANメッセージのIDから第1記憶テーブルT1を参照して、FlexRay通信線11に送信すべきメッセージか否かを判断する。例えば図11(A)に示す第1記憶テーブルT1にIDが存在する場合には、該CANメッセージをFlexRay通信線11に送信すべきメッセージであると判断する。送信すべきメッセージの場合は、第1記憶テーブルT1からIDに対応するFlexRay通信線11に送信する送信周期とタイムスロットのスロット番号を読み出して書込回路33aに送信する。
また、FlexRay通信線11に送信する必要がないと判断した場合は、該CANメッセージを破棄する。
【0057】
例えば、CAN通信線12から周期的に受信するCANメッセージのIDが「3」であるときには、中継処理回路34は、第1記憶テーブルT1より3周期目のタイムスロットのスロット番号「5」でFlexRay通信線11に送信することを読み出し、書込回路33aに送信する。
【0058】
FlexRay判断処理回路32のスロット番号管理回路37は周期管理回路36から現在の送信周期情報を受信すると共に現在のスロット番号を検知し、現在のスロット番号と送信周期を図11(A)に示すテーブルと比較して中継接続ユニット20がFlexRayメッセージを送信可か否かを判断している。図11(A)に現在のスロット番号と送信周期が記載されていれば送信可であると判断して、スロット番号管理回路37は第1記憶テーブルT1から現在のスロット番号と送信周期に対応するCANメッセージのIDを読み出し、読出回路32bにFlexRayメッセージ送信の指令を出すと共に、CANメッセージのIDを送信している。
【0059】
FlexRay判断処理回路32の読出回路32bはタイミング回路35の指令を受け、メモリ26から該IDのCANメッセージを読み出してFlexRayメッセージに変換している。
読出回路32bは読み出したCANメッセージからデータフィールド43を取り出し、ヘッダセグメント44を取り付けると共にパディング処理を行ってFlexRayメッセージとしている。
即ち、中継接続ユニット20がCANメッセージをFlexRayメッセージに変換して中継するタイミングは第1記憶テーブルT1により定め、中継接続ユニット20がCANメッセージを受信するタイミングに基づかない。
【0060】
また、中継接続ユニット20がFlexRayメッセージを受信した場合には、FlexRay判断処理回路32のスロット番号管理回路37はFlexRayメッセージを受信したスロット番号と送信周期から、前記第1記憶テーブルT1を参照してFlexRayメッセージに含まれるCANメッセージのIDを読み出す。次に、メッセージのIDから第2記憶テーブルT2を参照してCANメッセージのデータ長を読み出し、IDとデータ長を書込回路33aに送信する。
書込回路32aでは、FlexRayメッセージをヘッダセグメント44とペイロードセグメント45に分割し、ペイロードセグメント45のデータにアービトレーションフィールド41とコントロールフィールド42を付けてIDとデータ長(DLC)を格納してCANメッセージに変換している。さらに、該CANメッセージをメモリ26に記憶させている。
【0061】
なお、第1記憶テーブルT1に記載されていない送信周期とスロット番号においては、中継接続ユニット20は該送信周期のタイムスロットのスロット番号ではFlexRayメッセージをFlexRay通信線11に送信しないことを示している。該送信周期のタイムスロットのスロット番号においては、FlexRay通信線11に接続された他の中継接続ユニット20や電子制御ユニットがメッセージを送信しているか、どの中継接続ユニット20等もメッセージを送信していない状態である。
【0062】
第2実施形態の中継接続ユニット20の動作を説明する。
図1に示すCAN通信線12Aに接続したECU13A、ECU13Bが夫々CANメッセージmcA、mcBを送信する場合を例にして説明する。
図12はCAN通信線12から中継接続ユニット20がCANメッセージを受信してメモリ26に記憶する場合に、中継接続ユニット20の動作を示すフローチャートである。
【0063】
ステップS51では、CAN通信線12からCANメッセージmcA、mcBを夫々受信している。
ステップS52では、メインコントローラ30の中継処理回路34がCANメッセージのアービトレーションフィールド41からIDを読み出し、宛先検索テーブル31の第1記憶テーブルT1を参照して、該CANメッセージを変換したFlexRayメッセージをFlexRay通信線11に送信する送信周期とスロット番号を読み出す。第1記憶テーブルT1にCANメッセージのIDが記載されている場合は、送信先があるとしてステップS53に進む。IDが記載されていない場合は、送信不要であるとしてステップS55に進む。
ステップS53では、中継処理回路34は書込回路33aにCANメッセージの書込みの指令を出すと共に、スロット番号と送信周期を書込回路33aに送信している。
ステップS54では、書込回路33aはCANコントローラ24から受信したCANメッセージと、スロット番号及び送信周期をメモリ26に書き込んでいる。
ステップS55ではCANメッセージを破棄している。
【0064】
図13は中継接続ユニット20がメモリ26に記憶したCANメッセージをFlexRay通信線11に送信する場合の動作を示すフローチャートである。
ステップS61からステップS65は第1実施形態のステップS21からステップS25と同様であり、FlexRayコントローラ23の同期信号発生回路27が送信する同期信号から周期管理回路36とスロット番号管理回路37が送信周期とスロット番号を検知して、中継接続ユニット20が例えば図11(A)に示す宛先検索テーブルからFlexRayメッセージを送信できるスロット番号及び送信周期であるか否かを判断している。
【0065】
ステップS66では、スロット番号管理回路37は読出回路32bにスロット番号及び送信周期の情報を送信する。
ステップS67では、読出回路32bはメモリ26に記憶されたスロット番号及び送信周期と一致するCANメッセージを読み出す。
【0066】
ステップS68では、読出回路32bはCANメッセージのデータフィールド43だけを取り出してFlexRayメッセージのペイロードセグメント45に格納し、ヘッダセグメント44を取り付けてFlexRayメッセージに変換する。
ステップS69では、メインコントローラ30はFlexRayメッセージをFlexRayコントローラ23の送信回路23bとFlexRayドライバ21を介してFlexRay通信線11に送信している。
【0067】
図14はFlexRay通信線11から中継接続ユニット20がFlexRayメッセージを受信してメモリ26に記憶する場合に、中継接続ユニット20の動作を示すフローチャートである。
図1に示すCAN通信線12Bに接続したECU13C、ECU13Dが送信したCANメッセージmcC、mcDを中継接続ユニット20BがFlexRayメッセージに変換してFlexRay通信線11に送信した場合の中継接続ユニット20Aの動作を例として説明する。
【0068】
ステップS71では、FlexRay通信線11からFlexRayメッセージを受信しており、FlexRayドライバ21、FlexRayコントローラ23の受信回路23aを介して、メインコントローラ30の書込回路32aがFlexRayメッセージを受信する。
ステップS72では、同期信号発生回路27が同期信号をスロット番号管理回路37と周期管理回路36に送信し、スロット番号管理回路37が現在のスロット番号を検知すると共に、周期管理回路36が送信周期を検知し、スロット番号管理回路37に周期管理回路36から送信周期の情報が送信される。
ステップS73では、スロット番号管理回路37は、宛先検索テーブル31の第1記憶テーブルT1を参照して、スロット番号と送信周期からFlexRayメッセージに含まれるCANメッセージのIDを読出している。
【0069】
ステップS74では、スロット番号管理回路37は該IDから第2記憶テーブルT2を参照してDLC(データ長)を読出している。
ステップS75では、スロット番号管理回路37はIDとDLCを書込回路32aに送信している。
ステップS76では、書込回路32aが受信したFlexRayメッセージのペイロードセグメント45に格納されたデータをCANメッセージのデータフィールド43に格納すると共に、アービトレーションフィールド41とコントロールフィールド42にIDとDLCを格納する。即ち、FlexRayメッセージをCANメッセージに変換している。
ステップS77では書込回路32aはCANメッセージをメモリ26に記憶している。
【0070】
中継接続ユニット20がメモリ26に記憶したCANメッセージをCAN通信線12に送信する場合の動作は第1実施形態と同様であるため、記載を省略する。
【0071】
本実施形態によっても、中継接続ユニットの構成をハードウェア化することで、中継接続ユニットの動作速度を上げてメッセージの中継速度を向上させることができる。
なお、他の構成および作用効果は第1実施形態と同様のため、同一の符号を付して説明を省略する。
【図面の簡単な説明】
【0072】
【図1】本発明の中継接続ユニットを備えた車載LANの構成図である。
【図2】第1実施形態の中継接続ユニットのブロック図である。
【図3】中継接続ユニットを半導体チップとした説明図である。
【図4】宛先検索テーブルの例であり、(A)はCAN通信線への送信宛先、(B)はFlexRay通信線への送信宛先、(C)は中継接続ユニットがFlexRay通信線に送信可能なスロット番号と送信周期を示す図である。
【図5】CANメッセージとFlexRayメッセージの説明図である。
【図6】CAN通信線からメッセージを受信してメモリに記憶する動作を示すフローチャートである。
【図7】メモリからFlexRay通信線へメッセージを送信する動作を示すフローチャートである。
【図8】FlexRay通信線からCANメッセージを受信してメモリに記憶する動作を示すフローチャートである。
【図9】メモリからCAN通信線へメッセージを送信する動作を示すフローチャートである。
【図10】第2実施形態を示すCANメッセージとFlexRayメッセージの説明図である。
【図11】宛先検索テーブルの例であり、(A)は第1記憶テーブル、(B)は第2記憶テーブル示す図である。
【図12】CAN通信線からメッセージを受信してメモリに記憶する動作を示すフローチャートである。
【図13】メモリからFlexRay通信線へメッセージを送信する動作を示すフローチャートである。
【図14】FlexRay通信線からCANメッセージを受信してメモリに記憶する動作を示すフローチャートである。
【図15】従来例を示す図である。
【符号の説明】
【0073】
11 FlexRay通信線
12 CAN通信線
20 中継接続ユニット
21 FlexRayドライバ
22 CANドライバ
23 FlexRayコントローラ
24 CANコントローラ
26 メモリ
27 同期信号発生回路
30 メインコントローラ
31 宛先検索テーブル
35 タイミング回路
36 周期管理回路
37 スロット番号管理回路
【技術分野】
【0001】
本発明は、車載用の中継接続ユニットに関し、詳しくは、CAN通信線とFlexRay通信線の間に接続して、メッセージを高速に中継するものである。
【背景技術】
【0002】
自動車に搭載されるエンジン、トランスミッション、ブレーキ、エアコン、ライト、パワーウィンドウなどの電装品は電子制御ユニット(ECU)によって制御されており、該ECUは車載LANを介して各ECU間でメッセージを通信している。
車載LANの通信プロトコルとして、従来よりCANが広く用いられている。CANはイベントドリブン型であり、通信線に他のECUのメッセージが通信されている間は、自ECUはメッセージを送信できず、通信線が空いている時にはいつでもメッセージを送信することができる。
【0003】
また、近年では自動車に搭載されるECUの増加により車載LAN上の通信データ量も増加しており、CANよりも高速かつ信頼性の高いプロトコルが求められている。そこで、新たな通信プロトコルとしてFlexRayが注目されている。FlexRayはタイムトリガ型であり、所定の単位時間で時分割されたタイムスロットを用いてメッセージの送受信が行われる。FlexRayの通信線に接続された各ECUは、予め割り当てられたタイムスロットにおいてメッセージの送信を行っている。
【0004】
通信プロトコルにFlexRayを用いて車載LANの信頼性や通信速度を向上させる場合、車両には既にCANを用いた車載LANが構築されていることがあるため、既存のCANの車載LANをそのまま活用して、CANの車載LAN同士をFlexRayの通信線で接続することが多い。このとき、異なる通信プロトコルの通信線間でメッセージの中継を行う必要が生じる。
【0005】
このため、特開2005−328119号公報(特許文献1)では、通信プロトコルとしてCANを用いた通信線と、FlexRayを用いた通信線との間に通信メッセージ変換装置(中継接続ユニット)を設け、通信メッセージ変換装置が各通信プロトコルの通信形式やメッセージのフレーム形式に合わせてメッセージの変換を行い、メッセージの中継を行っている。
【0006】
具体的には、図15に示すように、CANアプリケーションデバイス(ECU)102が接続されたCAN通信線103とFlexRay通信線104は通信メッセージ変換装置(中継接続ユニット)100を介してメッセージの送受信を行っている。ECU102からCANメッセージがCAN通信線103に送信されると、中継接続ユニット100はCANコントローラ100cを介して該CANメッセージを受信する。CPU100aはCANメッセージをFlexRayメッセージに変換し、FlexRay通信線105に送信している。
また、FlexRay通信線からCAN通信線にメッセージを送信するときは、中継接続ユニットは前述した動作とは逆の動作を行い、FlexRayコントローラ100bを介してFlexRayメッセージを受信し、CANメッセージに変換してCAN通信線に送信している。
【0007】
しかし、特許文献1では、FlexRayコントローラまたはCANコントローラとCPUは別体として設けられているため、CPUと両コントローラ間のメッセージの送受信に時間がかかるという問題がある。
また、メッセージの送受信において、CPUは同時に両コントローラとメッセージの送受信を行うことはできないため、中継接続ユニットの動作速度が遅くなるという問題がある。
【0008】
【特許文献1】特開2005−328119号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は、前記問題に鑑みてなされたもので、車載用中継接続ユニットの動作速度を向上させてメッセージを高速に中継することを課題としている。
【課題を解決するための手段】
【0010】
前記課題を解決するため、本発明は、CAN通信線とFlexRay通信線からなるバスに接続され、該バスを介して行うメッセージの送受信をプロトコルを変換して中継する中継接続ユニットであって、
時分割されたタイムスロットでFlexRayメッセージを通信する前記FlexRay通信線と接続され、FlexRayメッセージを送受信するFlexRayドライバと、
ID(識別子)を備えるCANメッセージを通信するCAN通信線と接続され、CANメッセージを送受信するCANドライバと、
前記FlexRayドライバに接続されるFlexRayコントローラと、
前記CANドライバに接続されるCANコントローラと、
前記2つのコントローラに接続され、受信した前記FlexRayメッセージ及びCANメッセージの送信宛先を記憶した宛先検索テーブルと、該宛先検索テーブルからの送信の要否を検出する判断処理回路を備えたメインコントローラと、
前記メインコントローラに接続され、前記判断処理回路で送信要とされたメッセージを記憶するメモリと、
を備えていることを特徴とする車載用中継接続ユニットを提供している。
【0011】
CAN通信線からCANメッセージを受信する場合、メインコントローラはCANドライバ及びCANコントローラを介してCANメッセージを受信し、メモリに記憶している。
また、CANメッセージをFlexRay通信線に送信する場合、メインコントローラはCANメッセージをFlexRayメッセージに変換し、FlexRayコントローラ、FlexRayドライバを介してFlexRay通信線に送信している。
【0012】
このようなメッセージの中継を行うメインコントローラは、CPUではなくハードウェアで構成することができる。また、CANドライバ、CANコントローラ、FlexRayドライバ、FlexRayコントローラもハードウェアで構成し、メインコントローラと一体化した半導体として構成することができる。
このように中継接続ユニットの構成をハードウェアとして一体とすることで、メインコントローラとCANコントローラ及びFlexRayコントローラ間のメッセージの送受信にかかる時間を短縮することができる。
【0013】
また、従来技術ではCPUを用いているのでCPUとCANコントローラおよびCPUとFlexRayコントローラとのメッセージの送受信を同時に行うことができないが、中継接続ユニットの構成をハードウェアにすることで、メインコントローラとCANコントローラとの間のメッセージの送受信と、メインコントローラとFlexRayコントローラとの間のメッセージの送受信を並行して行うことができ、中継接続ユニットの動作速度を上げてメッセージを高速に中継することができる。
さらに、中継接続ユニットの構成を一体化した半導体とすることで、中継接続ユニットに搭載される半導体の数を減らすことができ、中継接続ユニットを小型化することができる。
【0014】
CAN通信線から受信した複数のCANメッセージを1つのFlexRayメッセージに変換してFlexRay通信線に送信する場合、前記判断処理回路は、前記CANコントローラと接続されるCAN判断処理回路と、FlexRayコントローラに接続されるFlexRay判断処理回路を備え、
前記CAN判断処理回路は、受信したCANメッセージを前記メモリに送信し、
前記FlexRay判断処理回路は、タイムスロットと送信周期を検知して、前記中継接続ユニットに割り当てられFlexRayメッセージを送信することができるタイムスロットと送信周期であることを判断した場合に、前記メモリに記憶されたCANメッセージを順に読み出し、FlexRayメッセージに変換して送信することが好ましい。
具体的には、前記メモリに記憶されたCANメッセージを1または複数結合して前記FlexRayメッセージのペイロードセグメントとし、該ペイロードセグメントにヘッダセグメントを付けて前記CANメッセージからFlexRayメッセージへの変換を行っている。
【0015】
前記構成とすることで、複数のCANメッセージを1つのFlexRayメッセージとすることができ、該FlexRayメッセージを中継接続ユニットに割り当てられたタイムスロット時にFlexRay通信線に送信することができるので、メッセージの中継を効率良く行うことができる。
【0016】
FlexRay通信線から受信したFlexRayメッセージをCANメッセージに変換してCAN通信線に送信する場合には、
前記FlexRay判断処理回路は、1または複数のCANメッセージを含んだペイロードセグメントを有するFlexRayメッセージを受信してCANメッセージに変換して前記メモリに送信し、前記CAN判断処理回路は、前記メモリからCANメッセージを読み出して前記CAN通信線に送信する。
【0017】
CAN通信線から受信した1つのCANメッセージを1つのFlexRayメッセージに変換してFlexRay通信線に送信する場合、前記メインコントローラの前記宛先検索テーブルは、FlexRayメッセージ通信用の時分割されたタイムスロット及び送信周期毎に前記CANメッセージのIDを割り当てており、
前記判断処理回路は、前記CANコントローラと接続されるCAN判断処理回路と、FlexRayコントローラに接続されるFlexRay判断処理回路を備え、
前記CAN判断処理回路は、受信したCANメッセージのIDから前記宛先検索テーブルを参照して、該CANメッセージをFlexRayメッセージに変換して送信する際のFlexRayのタイムスロットのスロット番号及び送信周期を読み出し、該CANメッセージ及びFlexRayのスロット番号及び送信周期を前記メモリに送信し、
前記FlexRay判断処理回路は、タイムスロットと送信周期を検知して、前記中継接続ユニットに割り当てられFlexRayメッセージを送信することができるタイムスロットと送信周期であることを判断した場合に、前記メモリからタイムスロットのスロット番号及び送信周期に該当するCANメッセージを読み出し、FlexRayメッセージに変換して送信してもよい。
【0018】
具体的には、前記CANメッセージのデータフィールドを前記FlexRayメッセージのペイロードセグメントとし、該ペイロードセグメントにヘッダセグメントを付けて前記CANメッセージからFlexRayメッセージへの変換を行っている。
【0019】
FlexRay判断処理回路はCANメッセージをFlexRayメッセージに変換し、中継接続ユニットがFlexRayメッセージを送信可能であるタイムスロットと送信周期のうち、宛先検索テーブルで割り当てられたタイムスロット及び送信周期でFlexRayメッセージをFlexRay通信線に送信している。このとき、FlexRayメッセージには必ず1つのCANメッセージしか含まれない。
従来技術では、中継接続ユニットがCANメッセージを受信するタイミングに遅延が生じたり順序が変わった場合、CANメッセージを変換したFlexRayメッセージの送信のタイミングも変動することがある。一方、前記構成によれば、CANメッセージのIDごとにFlexRayメッセージを送信する送信周期が定められているため、FlexRayメッセージの送信の時間変動の発生を防ぐことができる。
【0020】
具体的には、前記宛先検索テーブルにはCANメッセージのIDに対応するデータ長が記憶されており、
前記FlexRay判断処理回路は、受信した前記FlexRayメッセージのペイロードセグメントを前記CANメッセージのデータフィールドとすると共に、前記FlexRayメッセージを受信したタイムスロットのスロット番号と送信周期から前記宛先検索テーブルを参照してCANメッセージのIDとデータ長を読み出し、該IDをアービトレーションフィールドに記載し、データ長をコントロールフィールドに記載してCANメッセージに変換して該CANメッセージを前記メモリに送信し、前記CAN判断処理回路は、前記メモリからCANメッセージを読み出して前記CAN通信線に送信している。
【0021】
前記FlexRayコントローラは同期信号を前記FlexRay判断処理回路に送信する同期信号発生回路を備え、
該FlexRay判断処理回路は、前記同期信号からFlexRayメッセージ通信用の現在の送信周期を検知する周期管理回路と、前記同期信号からFlexRayメッセージ通信用の現在のタイムスロットのスロット番号を検知するスロット番号管理回路を備え、
前記スロット番号管理回路は、前記中継接続ユニットに割り当てられFlexRayメッセージを送信することができるスロット番号と送信周期を予め備えており、前記周期管理回路は送信周期を前記スロット番号管理回路に送信し、前記スロット番号管理回路は前記現在のスロット番号及び送信周期と前記記憶したスロット番号および送信周期を比較してFlexRayメッセージを送信できるスロットか否かを判断していることが好ましい。
【0022】
FlexRayプロトコルではあらかじめメッセージ送信についてスケジューリングされており、各タイムスロットで1つのFlexRayメッセージが送信される。FlexRayコントローラの同期信号発生回路が同期信号をFlexRay判断処理回路に送信し、FlexRay判断処理回路のスロット番号管理回路は同期信号から現在のスロット番号を検知する。また、周期管理回路は現在の送信周期を検知する。
中継接続ユニットのFlexRayメッセージのFlexRay通信線への送信のタイムスケジュールはタイムスロットのスロット番号と送信周期により定められており、スロット番号管理回路は割り当てられたスロット番号と送信周期を予め記憶している。
スロット番号管理回路は記憶したスロット番号と送信周期の情報と、検知した現在のスロット番号と送信周期を比較して、中継接続ユニットがFlexRayメッセージを送信できるスロットか否かを判断している。
該構成によれば、FlexRayコントローラが同期信号をFlexRay判断処理回路に送信しているので、FlexRayプロトコルのタイムスケジュールを管理することができる。
【発明の効果】
【0023】
前述したように、本発明の車載用中継接続ユニットによれば、メッセージの中継を行うメインコントローラは、CPUではなくハードウェアで構成し、また、CANドライバ、CANコントローラ、FlexRayドライバ、FlexRayコントローラもハードウェアで構成し、メインコントローラと一体化した半導体として構成しているため、メインコントローラとCANコントローラ及びFlexRayコントローラ等とのメッセージの送受信にかかる時間が短縮できると共に、メインコントローラとFlexRayコントローラまたはCANコントローラとの間のメッセージの送受信を並行して行うことができ、中継接続ユニットの動作速度を上げてメッセージを高速に中継することができる。
【発明を実施するための最良の形態】
【0024】
本発明の実施形態を図面を参照して説明する。
図1乃至図9は本発明の第1実施形態を示す。
本実施形態では、図1中に太線で示すFlexRay通信線11に本発明の中継接続ユニット20(20A、20B)を接続し、各中継接続ユニット20にCAN通信線12を介して夫々複数のECU13(20Aに13Aと13B、20Bに13Cと13D)を接続して車載LAN10を構成している。
前記車載LAN10では、例えば、中継接続ユニット20Aに接続したECU13Aと中継接続ユニット20Bに接続したECU13Cの間でメッセージを送受信する際、ECU13AからCAN通信線12を介して中継接続ユニット20Aに送信し、中継接続ユニット20AからFlexRay通信線11を介して中継接続ユニット20Bへ送信し、該中継接続ユニット20BからCAN通信線12を介して送信相手方のECU13Cに送信している。
即ち、中継接続ユニット20(20A、20B)は通信プロトコルが異なるFlexRay通信線11とCAN通信線12の間で通信プロトコルを変換してメッセージの中継を行う必要がある。
【0025】
前記FlexRay通信線11は時分割されたタイムスロットでFlexRayメッセージを通信するFlexRayに準拠した通信プロトコルで通信を行う通信線であり、伝送速度は最大10Mbpsである。
前記CAN通信線12はID(識別子)を備えるCANメッセージを通信するCANに準拠した通信プロトコルで通信を行う通信線であり、伝送速度は最大1Mbpsである。
【0026】
図2に示すように、中継接続ユニット20はFlexRayドライバ21と、CANドライバ22と、FlexRayコントローラ23と、CANコントローラ24と、メインコントローラ30と、メモリ26を備えており、中継接続ユニット20は図3に示すように一つの半導体チップでハードウェアとして一体に構成している。
中継接続ユニット20は、CAN通信線12からCANドライバ22、CANコントローラ24を介してCANメッセージを受信すると、メインコントローラ30により該CANメッセージをメモリ26に記憶する。また、メインコントローラ30は該メモリ26から1または複数のCANメッセージを読み出しFlexRayメッセージに変換し、FlexRayコントローラ23、FlexRayドライバ21を介してFlexRay通信線11に送信する。
【0027】
また、中継接続ユニット20はFlexRay通信線11からFlexRayメッセージを受信すると、メインコントローラ30はFlexRayメッセージを複数のCANメッセージに分割し、該CANメッセージをメモリ26に記憶する。メインコントローラ30はメモリ26から該CANメッセージを読み出してCAN通信線12に送信する。
【0028】
FlexRayドライバ21はFlexRay通信線11と接続し、FlexRayメッセージを送受信するものである。
CANドライバ22はCAN通信線12と接続し、CANメッセージを送受信するものである。
【0029】
FlexRayコントローラ23はFlexRayドライバ21と接続しており、受信回路23aと送信回路23bと同期信号発生回路27を備えている。
受信回路23aはFlexRayドライバ21を介してFlexRayメッセージを受信する回路であり、送信回路23bはメインコントローラ30から受信したFlexRayメッセージをFlexRayドライバ21を介して送信する回路である。
同期信号発生回路27はFlexRayドライバ21と接続しており、受信したFlexRayメッセージからFlexRayプロトコルのコミュニケーションサイクルの周期の先頭を検出し、同期信号を発生させてメインコントローラ30に送信している。
【0030】
CANコントローラ24はCANドライバ22と接続しており、受信回路24aと送信回路24bを備えている。
受信回路24aはCANドライバ22を介してCANメッセージを受信する回路であり、送信回路24bはCANドライバ22を介してCANメッセージを送信する回路である。
【0031】
メインコントローラ30はFlexRayコントローラ23とCANコントローラ24に接続しており、宛先検索テーブル31とFlexRay判断処理回路32とCAN判断処理回路33を備えている。
宛先検索テーブル31は、CAN判断処理回路33とFlexRay判断処理回路32と接続しており、FlexRayメッセージ及びCANメッセージの送信宛先の通信線を記憶している。
【0032】
図4は宛先検索テーブル31の例であり、図4(A)はCAN通信12から受信したCANメッセージをFlexRayメッセージに変換してFlexRay通信線11へ送信する場合の宛先検索テーブル31である。CANメッセージのIDごとに、該CANメッセージを含むFlexRayメッセージの送信宛先が記載されている。なお、送信宛先が記されていない場合は、該IDのCANメッセージは送信不要であることを示している。本実施形態では1つの中継接続ユニット20に1本のFlexRay通信線11が接続されているため、送信宛先は全て同じである。
【0033】
また、図4(B)はFlexRay通信線11から受信したFlexRayメッセージをCANメッセージに変換してCAN通信線12へ送信する場合の宛先検索テーブル31である。CANメッセージのIDごとに送信宛先を記載している。
また、図4(C)はFlexRayメッセージをFlexRay通信線11へ送信する場合のテーブルであり、FlexRayプロトコルで中継接続ユニットに割り当てられ、中継接続ユニット20がFlexRay通信線11にFlexRayメッセージの送信が可能であるタイムスロットのスロット番号と送信周期が示されている。
【0034】
CAN判断処理回路33は中継処理回路34と書込回路33aと読出回路33bを備えている。
中継処理回路34はCANドライバ22、CANコントローラ24を介してCANメッセージを受信するとCANメッセージのIDから図4(A)に示すような宛先検索テーブル31を参照して、FlexRay通信線11に送信すべきメッセージか否かを判断する。送信すべきメッセージの場合は、該CANメッセージを書込回路33aに送信し、送信不要なメッセージは破棄する。
また、メモリ26に記憶されたCANメッセージをCAN通信線12に送信する場合は、中継処理回路34は読出回路33bを介してメモリ26から読み出したCANメッセージのIDから、図4(B)に示すような宛先検索テーブル31を参照して送信先のCAN通信線12を判別し、CANコントローラ24に該CANメッセージを送信する。
【0035】
FlexRay判断処理回路32は、タイミング回路35と読出回路32bと書込回路32aを備えている。
タイミング回路35は周期管理回路36とスロット番号管理回路37を備え、FlexRayコントローラ23の同期信号発生回路27から送信される同期信号を受信している。FlexRayプロトコルでは、タイムスロットのスロット番号と送信周期から中継接続ユニット20のFlexRayメッセージの送信を管理しており、周期管理回路36は同期信号から現在の送信周期を検知すると共に、スロット番号管理回路37は同期信号から現在のタイムスロットのスロット番号を検知している。
【0036】
また、スロット番号管理回路37は周期管理回路36から送信周期を受信する。さらに、図4(C)に示す宛先検索テーブルを読み込み、現在のスロット番号と送信周期を読み込んだ宛先検索テーブルと比較し、現在のスロット番号と送信周期が宛先検索テーブルにあれば、中継接続ユニット20はFlexRayメッセージを送信可能であると判断している。送信可の場合は読出回路32bにFlexRayメッセージの読出しの指令を出している。
【0037】
読出回路32bはタイミング回路35の指令を受け、メモリ26から1または複数のCANメッセージを読み出して該メッセージを結合させてFlexRayメッセージとしている。
図5(A)に示すように、CANメッセージは、CANメッセージのID(識別子)を格納するアービトレーションフィールド41と、データ長(DLC)を格納するコントロールフィールド42と、データを格納するデータフィールド43を備えている。
【0038】
読出回路32bはCANメッセージ全体の長さを数えながらメモリ26に記憶された順にCANメッセージを読み出し、FlexRayメッセージの最大バイト数を超えない範囲で複数のCANメッセージを結合し、FlexRayメッセージのペイロードセグメント45とする。図5(B)では2つのCANメッセージを結合している。このとき、ペイロードセグメント45には図5(A)に示す各CANメッセージのアービトレーションフィールド41、コントロールフィールド42、データフィールド43の全てが含まれる。さらに、該ペイロードセグメント45にヘッダセグメント44を取り付けてFlexRayメッセージとしている。
さらに、ペイロードセグメント45として割り当てられたビット数とCANメッセージの全体のビット数とが異なる場合には、CANメッセージの末尾にゼロを入れて所定のペイロードセグメント長とするパディング処理を行っている。
【0039】
書込回路32aは、FlexRay通信線11からFlexRayメッセージを受信した場合に、FlexRayメッセージからCANメッセージを分割してメモリ26に書き込んでいる。
図5(B)に示すFlexRayメッセージをヘッダセグメント44とペイロードセグメント45に分割し、さらに、ペイロードセグメント45を図5(A)に示すようにCANメッセージごとに分割して取り出している。次いで、該CANメッセージをメモリ26に書込んでいる。
【0040】
メモリ26はメインコントローラ30と接続しており、CAN判断処理回路33及びFlexRay判断処理回路32からCANメッセージが書き込まれると共に読み込まれる。
【0041】
なお、中継接続ユニット20にFlexRay通信線11が2本以上接続されている場合には、FlexRay通信線11毎に通信速度や同期信号の送信タイミングが異なるため、FlexRayドライバ21、FlexRayコントローラ23、FlexRay判断処理回路32をFlexRay通信線11毎に備えていてもよい。
また、中継接続ユニット20にCAN通信線12が2本以上接続されている場合には、CANドライバ22とCANコントローラ24はCAN通信線毎に備え、CAN判断処理回路33は1つとしてもよい。
なお、図4(C)テーブルに記載されていない送信周期とスロット番号においては、中継接続ユニット20は該送信周期のタイムスロットのスロット番号ではFlexRayメッセージをFlexRay通信線11に送信しないことを示している。該送信周期のタイムスロットのスロット番号においては、FlexRay通信線11に接続された他の中継接続ユニット20や電子制御ユニットがメッセージを送信しているか、どの中継接続ユニット20等もメッセージを送信していない状態である。
【0042】
次に、中継接続ユニット20の動作について説明する。図1に示すCAN通信線12Aに接続したECU13A、ECU13Bが夫々CANメッセージmcA、mcBを送信する場合を例にして説明する。
図6はCAN通信線12から中継接続ユニット20がCANメッセージを受信してメモリ26に記憶する場合に、中継接続ユニット20の動作を示すフローチャートである。
【0043】
ステップS11では、CAN通信線12からCANメッセージmcA、mcBを夫々受信している。CANドライバ22、CANコントローラ24の受信回路24aを介して、メインコントローラ30がCANメッセージを受信する。
ステップS12では、メインコントローラ30の中継処理回路34がCANメッセージmcA、mcBのアービトレーションフィールド41からIDを読み出し、例えば図4(A)に示す宛先検索テーブル31を参照して送信宛先を判別している。送信先がある場合はステップS13に進み、送信不要である場合はステップS14に進む。
ステップS13では、中継処理回路34が書込回路33aに指令を出し、書込回路33aはCANメッセージmcA、mcBをメモリ26に書き込んでいる。
ステップS14ではCANメッセージを破棄している。
【0044】
図7は中継接続ユニット20がメモリ26に記憶したCANメッセージmcA、mcBをFlexRay通信線11に送信する場合の動作を示すフローチャートである。
ステップS21では、FlexRayコントローラ23の同期信号発生回路27が同期信号をFlexRay判断処理回路32の周期管理回路36とスロット番号管理回路37に周期的に送信している。
ステップS22では、周期管理回路36が、同期信号からFlexRayプロトコルの現在の送信周期を検知している。
ステップS23では、スロット番号管理回路37は、同期信号からFlexRayプロトコルの現在のスロット番号を検知している。
なお、ステップS22とステップS23は動作を並行して行っていてもよい。
【0045】
ステップS24では、周期管理回路36は送信周期をスロット番号管理回路37に送信している。
ステップS25では、スロット番号管理回路37が例えば図4(C)に示す宛先検索テーブルを読み込んで、現在のスロット番号及び送信周期情報から中継接続ユニット20がFlexRayメッセージを送信できるスロット番号及び送信周期であるか否かを判断している。送信できる場合にはステップS26に進む。送信できない場合はステップS21に戻る。
【0046】
ステップS26では、スロット番号管理回路37は読出回路32bに指令を出し、読出回路32bはメモリ26に記憶されたCANメッセージmcA、mcBを読み出してこれら2つのCANメッセージを結合してペイロードセグメント45とし、ヘッダセグメント44を取り付けてFlexRayメッセージに変換している。読出回路32bは中継接続ユニット20が送信可能な最大のバイト数を超えないようにCANメッセージを結合する。
ステップS27では、メインコントローラ30はFlexRayメッセージをFlexRayコントローラ23の送信回路23bとFlexRayドライバ21を介してFlexRay通信線11に送信している。
【0047】
なお、ステップS21からS25は、FlexRayメッセージの送信の有無に関わらず、周期的に行われている。
また、ステップS25で中継接続ユニット20がFlexRayメッセージを送信できるスロット番号及び送信周期であっても、メモリ26にCANメッセージが記憶されていなければ、読出回路32bはFlexRayメッセージへの変換は行わず、中継接続ユニット20からFlexRayメッセージの送信は行われない。
さらに、メモリ26に記憶されたCANメッセージを結合させてFlexRayメッセージに変換してもメモリ26にまだCANメッセージが残っている場合には、中継接続ユニット20がメッセージを送信できる次のスロット番号及び送信周期のタイミングで、FlexRayメッセージに変換されて、FlexRay通信線11に送信される。
【0048】
図8はFlexRay通信線11から中継接続ユニット20がFlexRayメッセージを受信してメモリ26に記憶する場合に、中継接続ユニット20の動作を示すフローチャートである。
図1に示すCAN通信線12Bに接続したECU13C、ECU13Dが送信したCANメッセージmcC、mcDを中継接続ユニット20BがFlexRayメッセージに変換してFlexRay通信線11に送信した場合の中継接続ユニット20Aの動作を例として説明する。
【0049】
ステップS31では、FlexRay通信線11からFlexRayメッセージを受信している。FlexRayドライバ21、FlexRayコントローラ23の受信回路23aを介して、メインコントローラ30がFlexRayメッセージを受信する。
ステップS32では、メインコントローラ30のFlexRay判断処理回路32の書込回路32aはFlexRayメッセージをヘッダセグメント44とペイロードセグメント45に分割し、さらにペイロードセグメント45に含まれるCANメッセージを夫々分割する。本実施形態では1つのFlexRayメッセージを2つのCANメッセージmcC、mcDに変換している。
ステップS33では、書込回路32aが各CANメッセージmcC、mcDをメモリ26へ書き込む。
【0050】
図9は中継接続ユニット20がメモリ26に記憶したCANメッセージをCAN通信線12に送信する場合の動作を示すフローチャートである。
ステップS41では、メインコントローラ30のCAN判断処理回路33がメモリ26に記憶されたCANメッセージmcC、mcDのIDを読み出す。
ステップS42では、CAN判断処理回路33が図4(A)に示す宛先検索テーブル31から該IDに対応する送信宛先のCAN通信線12を読み出し、読出回路33bに読み出しの指令を出す。
【0051】
ステップS43では、CANコントローラ24の送信回路24bが、CAN通信線12が他のECU13がメッセージの送信を行っていない開放状態であるか否かを検知している。CAN通信線12が開放状態である場合はステップS44に進む。CAN通信線12が開放状態で無い場合は、開放状態になるまでステップS43を繰り返す。
ステップS44では、読出回路33bはメモリ26からCANメッセージを読み出し、CANコントローラ24の送信回路24b、CANドライバ22を介してCAN通信線12にCANメッセージを送信する。
【0052】
前記構成によれば、メッセージの中継を行うメインコントローラ30は、CPUではなくハードウェアで構成し、また、CANドライバ22、CANコントローラ24、FlexRayドライバ21、FlexRayコントローラ23もハードウェアで構成し、メインコントローラ30と一体化した半導体として構成しているため、メインコントローラ30とCANコントローラ24及びFlexRayコントローラ23等とのメッセージの送受信にかかる時間が短縮できると共に、メインコントローラ30とFlexRayコントローラ23またはCANコントローラ24との間のメッセージの送受信を並行して行うことができ、中継接続ユニットの動作速度を上げてメッセージの中継速度を向上させることができる。
【0053】
図10乃至図14は本発明の第2実施形態を示す。
第2実施形態の中継接続ユニット20の構成は図2に示す第1実施形態の構成と同様であるが、メインコントローラ30の機能が異なっている。
【0054】
第1実施形態では、メインコントローラ30は該メモリ26から複数のCANメッセージを読み出して1つのFlexRayメッセージに変換していたが、第2実施形態では、1のCANメッセージをFlexRayメッセージに変換してFlexRay通信線11に送信している。
図10(B)に示すように、CANメッセージのうちデータフィールド43を取り出してFlexRayメッセージのペイロードセグメント45としている。
【0055】
宛先検索テーブル31は、図4(A)、(B)の宛先検索テーブル31に変えて、CANメッセージをFlexRayメッセージに変換する際に参照する第1記憶テーブルT1と、FlexRayメッセージをCANメッセージに変換する際に参照する第2記憶テーブルT2を備えている。
図11(A)は第1記憶テーブルT1の一例を示し、タイムスロットのスロット番号と送信周期とCANメッセージのIDとの関係を規定している。
図11(B)は第2記憶テーブルT2の一例を示し、CANメッセージのIDとデータ長の関係を規定している。
【0056】
CAN判断処理回路33の中継処理回路34はCANドライバ22、CANコントローラ24を介してCANメッセージを受信するとCANメッセージのIDから第1記憶テーブルT1を参照して、FlexRay通信線11に送信すべきメッセージか否かを判断する。例えば図11(A)に示す第1記憶テーブルT1にIDが存在する場合には、該CANメッセージをFlexRay通信線11に送信すべきメッセージであると判断する。送信すべきメッセージの場合は、第1記憶テーブルT1からIDに対応するFlexRay通信線11に送信する送信周期とタイムスロットのスロット番号を読み出して書込回路33aに送信する。
また、FlexRay通信線11に送信する必要がないと判断した場合は、該CANメッセージを破棄する。
【0057】
例えば、CAN通信線12から周期的に受信するCANメッセージのIDが「3」であるときには、中継処理回路34は、第1記憶テーブルT1より3周期目のタイムスロットのスロット番号「5」でFlexRay通信線11に送信することを読み出し、書込回路33aに送信する。
【0058】
FlexRay判断処理回路32のスロット番号管理回路37は周期管理回路36から現在の送信周期情報を受信すると共に現在のスロット番号を検知し、現在のスロット番号と送信周期を図11(A)に示すテーブルと比較して中継接続ユニット20がFlexRayメッセージを送信可か否かを判断している。図11(A)に現在のスロット番号と送信周期が記載されていれば送信可であると判断して、スロット番号管理回路37は第1記憶テーブルT1から現在のスロット番号と送信周期に対応するCANメッセージのIDを読み出し、読出回路32bにFlexRayメッセージ送信の指令を出すと共に、CANメッセージのIDを送信している。
【0059】
FlexRay判断処理回路32の読出回路32bはタイミング回路35の指令を受け、メモリ26から該IDのCANメッセージを読み出してFlexRayメッセージに変換している。
読出回路32bは読み出したCANメッセージからデータフィールド43を取り出し、ヘッダセグメント44を取り付けると共にパディング処理を行ってFlexRayメッセージとしている。
即ち、中継接続ユニット20がCANメッセージをFlexRayメッセージに変換して中継するタイミングは第1記憶テーブルT1により定め、中継接続ユニット20がCANメッセージを受信するタイミングに基づかない。
【0060】
また、中継接続ユニット20がFlexRayメッセージを受信した場合には、FlexRay判断処理回路32のスロット番号管理回路37はFlexRayメッセージを受信したスロット番号と送信周期から、前記第1記憶テーブルT1を参照してFlexRayメッセージに含まれるCANメッセージのIDを読み出す。次に、メッセージのIDから第2記憶テーブルT2を参照してCANメッセージのデータ長を読み出し、IDとデータ長を書込回路33aに送信する。
書込回路32aでは、FlexRayメッセージをヘッダセグメント44とペイロードセグメント45に分割し、ペイロードセグメント45のデータにアービトレーションフィールド41とコントロールフィールド42を付けてIDとデータ長(DLC)を格納してCANメッセージに変換している。さらに、該CANメッセージをメモリ26に記憶させている。
【0061】
なお、第1記憶テーブルT1に記載されていない送信周期とスロット番号においては、中継接続ユニット20は該送信周期のタイムスロットのスロット番号ではFlexRayメッセージをFlexRay通信線11に送信しないことを示している。該送信周期のタイムスロットのスロット番号においては、FlexRay通信線11に接続された他の中継接続ユニット20や電子制御ユニットがメッセージを送信しているか、どの中継接続ユニット20等もメッセージを送信していない状態である。
【0062】
第2実施形態の中継接続ユニット20の動作を説明する。
図1に示すCAN通信線12Aに接続したECU13A、ECU13Bが夫々CANメッセージmcA、mcBを送信する場合を例にして説明する。
図12はCAN通信線12から中継接続ユニット20がCANメッセージを受信してメモリ26に記憶する場合に、中継接続ユニット20の動作を示すフローチャートである。
【0063】
ステップS51では、CAN通信線12からCANメッセージmcA、mcBを夫々受信している。
ステップS52では、メインコントローラ30の中継処理回路34がCANメッセージのアービトレーションフィールド41からIDを読み出し、宛先検索テーブル31の第1記憶テーブルT1を参照して、該CANメッセージを変換したFlexRayメッセージをFlexRay通信線11に送信する送信周期とスロット番号を読み出す。第1記憶テーブルT1にCANメッセージのIDが記載されている場合は、送信先があるとしてステップS53に進む。IDが記載されていない場合は、送信不要であるとしてステップS55に進む。
ステップS53では、中継処理回路34は書込回路33aにCANメッセージの書込みの指令を出すと共に、スロット番号と送信周期を書込回路33aに送信している。
ステップS54では、書込回路33aはCANコントローラ24から受信したCANメッセージと、スロット番号及び送信周期をメモリ26に書き込んでいる。
ステップS55ではCANメッセージを破棄している。
【0064】
図13は中継接続ユニット20がメモリ26に記憶したCANメッセージをFlexRay通信線11に送信する場合の動作を示すフローチャートである。
ステップS61からステップS65は第1実施形態のステップS21からステップS25と同様であり、FlexRayコントローラ23の同期信号発生回路27が送信する同期信号から周期管理回路36とスロット番号管理回路37が送信周期とスロット番号を検知して、中継接続ユニット20が例えば図11(A)に示す宛先検索テーブルからFlexRayメッセージを送信できるスロット番号及び送信周期であるか否かを判断している。
【0065】
ステップS66では、スロット番号管理回路37は読出回路32bにスロット番号及び送信周期の情報を送信する。
ステップS67では、読出回路32bはメモリ26に記憶されたスロット番号及び送信周期と一致するCANメッセージを読み出す。
【0066】
ステップS68では、読出回路32bはCANメッセージのデータフィールド43だけを取り出してFlexRayメッセージのペイロードセグメント45に格納し、ヘッダセグメント44を取り付けてFlexRayメッセージに変換する。
ステップS69では、メインコントローラ30はFlexRayメッセージをFlexRayコントローラ23の送信回路23bとFlexRayドライバ21を介してFlexRay通信線11に送信している。
【0067】
図14はFlexRay通信線11から中継接続ユニット20がFlexRayメッセージを受信してメモリ26に記憶する場合に、中継接続ユニット20の動作を示すフローチャートである。
図1に示すCAN通信線12Bに接続したECU13C、ECU13Dが送信したCANメッセージmcC、mcDを中継接続ユニット20BがFlexRayメッセージに変換してFlexRay通信線11に送信した場合の中継接続ユニット20Aの動作を例として説明する。
【0068】
ステップS71では、FlexRay通信線11からFlexRayメッセージを受信しており、FlexRayドライバ21、FlexRayコントローラ23の受信回路23aを介して、メインコントローラ30の書込回路32aがFlexRayメッセージを受信する。
ステップS72では、同期信号発生回路27が同期信号をスロット番号管理回路37と周期管理回路36に送信し、スロット番号管理回路37が現在のスロット番号を検知すると共に、周期管理回路36が送信周期を検知し、スロット番号管理回路37に周期管理回路36から送信周期の情報が送信される。
ステップS73では、スロット番号管理回路37は、宛先検索テーブル31の第1記憶テーブルT1を参照して、スロット番号と送信周期からFlexRayメッセージに含まれるCANメッセージのIDを読出している。
【0069】
ステップS74では、スロット番号管理回路37は該IDから第2記憶テーブルT2を参照してDLC(データ長)を読出している。
ステップS75では、スロット番号管理回路37はIDとDLCを書込回路32aに送信している。
ステップS76では、書込回路32aが受信したFlexRayメッセージのペイロードセグメント45に格納されたデータをCANメッセージのデータフィールド43に格納すると共に、アービトレーションフィールド41とコントロールフィールド42にIDとDLCを格納する。即ち、FlexRayメッセージをCANメッセージに変換している。
ステップS77では書込回路32aはCANメッセージをメモリ26に記憶している。
【0070】
中継接続ユニット20がメモリ26に記憶したCANメッセージをCAN通信線12に送信する場合の動作は第1実施形態と同様であるため、記載を省略する。
【0071】
本実施形態によっても、中継接続ユニットの構成をハードウェア化することで、中継接続ユニットの動作速度を上げてメッセージの中継速度を向上させることができる。
なお、他の構成および作用効果は第1実施形態と同様のため、同一の符号を付して説明を省略する。
【図面の簡単な説明】
【0072】
【図1】本発明の中継接続ユニットを備えた車載LANの構成図である。
【図2】第1実施形態の中継接続ユニットのブロック図である。
【図3】中継接続ユニットを半導体チップとした説明図である。
【図4】宛先検索テーブルの例であり、(A)はCAN通信線への送信宛先、(B)はFlexRay通信線への送信宛先、(C)は中継接続ユニットがFlexRay通信線に送信可能なスロット番号と送信周期を示す図である。
【図5】CANメッセージとFlexRayメッセージの説明図である。
【図6】CAN通信線からメッセージを受信してメモリに記憶する動作を示すフローチャートである。
【図7】メモリからFlexRay通信線へメッセージを送信する動作を示すフローチャートである。
【図8】FlexRay通信線からCANメッセージを受信してメモリに記憶する動作を示すフローチャートである。
【図9】メモリからCAN通信線へメッセージを送信する動作を示すフローチャートである。
【図10】第2実施形態を示すCANメッセージとFlexRayメッセージの説明図である。
【図11】宛先検索テーブルの例であり、(A)は第1記憶テーブル、(B)は第2記憶テーブル示す図である。
【図12】CAN通信線からメッセージを受信してメモリに記憶する動作を示すフローチャートである。
【図13】メモリからFlexRay通信線へメッセージを送信する動作を示すフローチャートである。
【図14】FlexRay通信線からCANメッセージを受信してメモリに記憶する動作を示すフローチャートである。
【図15】従来例を示す図である。
【符号の説明】
【0073】
11 FlexRay通信線
12 CAN通信線
20 中継接続ユニット
21 FlexRayドライバ
22 CANドライバ
23 FlexRayコントローラ
24 CANコントローラ
26 メモリ
27 同期信号発生回路
30 メインコントローラ
31 宛先検索テーブル
35 タイミング回路
36 周期管理回路
37 スロット番号管理回路
【特許請求の範囲】
【請求項1】
CAN通信線とFlexRay通信線からなるバスに接続され、該バスを介して行うメッセージの送受信をプロトコルを変換して中継する中継接続ユニットであって、
時分割されたタイムスロットでFlexRayメッセージを通信する前記FlexRay通信線と接続され、FlexRayメッセージを送受信するFlexRayドライバと、
ID(識別子)を備えるCANメッセージを通信するCAN通信線と接続され、CANメッセージを送受信するCANドライバと、
前記FlexRayドライバに接続されるFlexRayコントローラと、
前記CANドライバに接続されるCANコントローラと、
前記2つのコントローラに接続され、受信した前記FlexRayメッセージ及びCANメッセージの送信宛先を記憶した宛先検索テーブルと、該宛先検索テーブルからの送信の要否を検出する判断処理回路を備えたメインコントローラと、
前記メインコントローラに接続され、前記判断処理回路で送信要とされたメッセージを記憶するメモリと、
を備えていることを特徴とする車載用中継接続ユニット。
【請求項2】
前記判断処理回路は、前記CANコントローラと接続されるCAN判断処理回路と、FlexRayコントローラに接続されるFlexRay判断処理回路を備え、
前記CAN判断処理回路は受信したCANメッセージを前記メモリに送信し、
前記FlexRay判断処理回路は、タイムスロットと送信周期を検知して、前記中継接続ユニットに割り当てられFlexRayメッセージを送信することができるタイムスロットと送信周期であることを判断した場合に、前記メモリに記憶されたCANメッセージを順に読み出し、FlexRayメッセージに変換して送信する請求項1に記載の車載用中継接続ユニット。
【請求項3】
前記メモリに記憶されたCANメッセージを1または複数結合して前記FlexRayメッセージのペイロードセグメントとし、該ペイロードセグメントにヘッダセグメントを付けて前記CANメッセージからFlexRayメッセージへの変換を行っている請求項2に記載の車載用中継接続ユニット。
【請求項4】
前記FlexRay判断処理回路は、1または複数のCANメッセージを含んだペイロードセグメントを有するFlexRayメッセージを受信してCANメッセージに変換して前記メモリに送信し、前記CAN判断処理回路は、前記メモリからCANメッセージを読み出して前記CAN通信線に送信する請求項1乃至請求項3のいずれか1項に記載の車載用中継接続ユニット。
【請求項5】
前記メインコントローラの前記宛先検索テーブルは、FlexRayメッセージ通信用の時分割されたタイムスロット及び送信周期毎に前記CANメッセージのIDを割り当てており、
前記判断処理回路は、前記CANコントローラと接続されるCAN判断処理回路と、FlexRayコントローラに接続されるFlexRay判断処理回路を備え、
前記CAN判断処理回路は、受信したCANメッセージのIDから前記宛先検索テーブルを参照して、該CANメッセージをFlexRayメッセージに変換して送信する際のFlexRayのタイムスロットのスロット番号及び送信周期を読み出し、該CANメッセージ及びFlexRayのスロット番号及び送信周期を前記メモリに送信し、
前記FlexRay判断処理回路は、タイムスロットと送信周期を検知して、前記中継接続ユニットに割り当てられFlexRayメッセージを送信することができるタイムスロットと送信周期であることを判断した場合に、前記メモリからタイムスロットのスロット番号及び送信周期に該当するCANメッセージを読み出し、FlexRayメッセージに変換して送信する請求項1に記載の車載用中継接続ユニット。
【請求項6】
前記CANメッセージのデータフィールドを前記FlexRayメッセージのペイロードセグメントとし、該ペイロードセグメントにヘッダセグメントを付けて前記CANメッセージからFlexRayメッセージへの変換を行っている請求項5に記載の車載用中継接続ユニット。
【請求項7】
前記宛先検索テーブルにはCANメッセージのIDに対応するデータ長が記憶されており、
前記FlexRay判断処理回路は、受信した前記FlexRayメッセージのペイロードセグメントを前記CANメッセージのデータフィールドとすると共に、前記FlexRayメッセージを受信したタイムスロットのスロット番号と送信周期から前記宛先検索テーブルを参照してCANメッセージのIDとデータ長を読み出し、該IDをアービトレーションフィールドに記載し、データ長をコントロールフィールドに記載してCANメッセージに変換して該CANメッセージを前記メモリに送信し、前記CAN判断処理回路は、前記メモリからCANメッセージを読み出して前記CAN通信線に送信する請求項1、5、6のいずれか1項に記載の車載用中継接続ユニット。
【請求項8】
前記FlexRayコントローラは同期信号を前記FlexRay判断処理回路に送信する同期信号発生回路を備え、
該FlexRay判断処理回路は、前記同期信号からFlexRayメッセージ通信用の現在の送信周期を検知する周期管理回路と、前記同期信号からFlexRayメッセージ通信用の現在のタイムスロットのスロット番号を検知するスロット番号管理回路を備え、
前記スロット番号管理回路は、前記中継接続ユニットに割り当てられFlexRayメッセージを送信することができるスロット番号と送信周期を予め備えており、前記周期管理回路は送信周期を前記スロット番号管理回路に送信し、前記スロット番号管理回路は前記現在のスロット番号及び送信周期と前記記憶したスロット番号および送信周期を比較してFlexRayメッセージを送信できるスロットか否かを判断している請求項1乃至請求項7のいずれか1項に記載の車載用中継接続ユニット。
【請求項1】
CAN通信線とFlexRay通信線からなるバスに接続され、該バスを介して行うメッセージの送受信をプロトコルを変換して中継する中継接続ユニットであって、
時分割されたタイムスロットでFlexRayメッセージを通信する前記FlexRay通信線と接続され、FlexRayメッセージを送受信するFlexRayドライバと、
ID(識別子)を備えるCANメッセージを通信するCAN通信線と接続され、CANメッセージを送受信するCANドライバと、
前記FlexRayドライバに接続されるFlexRayコントローラと、
前記CANドライバに接続されるCANコントローラと、
前記2つのコントローラに接続され、受信した前記FlexRayメッセージ及びCANメッセージの送信宛先を記憶した宛先検索テーブルと、該宛先検索テーブルからの送信の要否を検出する判断処理回路を備えたメインコントローラと、
前記メインコントローラに接続され、前記判断処理回路で送信要とされたメッセージを記憶するメモリと、
を備えていることを特徴とする車載用中継接続ユニット。
【請求項2】
前記判断処理回路は、前記CANコントローラと接続されるCAN判断処理回路と、FlexRayコントローラに接続されるFlexRay判断処理回路を備え、
前記CAN判断処理回路は受信したCANメッセージを前記メモリに送信し、
前記FlexRay判断処理回路は、タイムスロットと送信周期を検知して、前記中継接続ユニットに割り当てられFlexRayメッセージを送信することができるタイムスロットと送信周期であることを判断した場合に、前記メモリに記憶されたCANメッセージを順に読み出し、FlexRayメッセージに変換して送信する請求項1に記載の車載用中継接続ユニット。
【請求項3】
前記メモリに記憶されたCANメッセージを1または複数結合して前記FlexRayメッセージのペイロードセグメントとし、該ペイロードセグメントにヘッダセグメントを付けて前記CANメッセージからFlexRayメッセージへの変換を行っている請求項2に記載の車載用中継接続ユニット。
【請求項4】
前記FlexRay判断処理回路は、1または複数のCANメッセージを含んだペイロードセグメントを有するFlexRayメッセージを受信してCANメッセージに変換して前記メモリに送信し、前記CAN判断処理回路は、前記メモリからCANメッセージを読み出して前記CAN通信線に送信する請求項1乃至請求項3のいずれか1項に記載の車載用中継接続ユニット。
【請求項5】
前記メインコントローラの前記宛先検索テーブルは、FlexRayメッセージ通信用の時分割されたタイムスロット及び送信周期毎に前記CANメッセージのIDを割り当てており、
前記判断処理回路は、前記CANコントローラと接続されるCAN判断処理回路と、FlexRayコントローラに接続されるFlexRay判断処理回路を備え、
前記CAN判断処理回路は、受信したCANメッセージのIDから前記宛先検索テーブルを参照して、該CANメッセージをFlexRayメッセージに変換して送信する際のFlexRayのタイムスロットのスロット番号及び送信周期を読み出し、該CANメッセージ及びFlexRayのスロット番号及び送信周期を前記メモリに送信し、
前記FlexRay判断処理回路は、タイムスロットと送信周期を検知して、前記中継接続ユニットに割り当てられFlexRayメッセージを送信することができるタイムスロットと送信周期であることを判断した場合に、前記メモリからタイムスロットのスロット番号及び送信周期に該当するCANメッセージを読み出し、FlexRayメッセージに変換して送信する請求項1に記載の車載用中継接続ユニット。
【請求項6】
前記CANメッセージのデータフィールドを前記FlexRayメッセージのペイロードセグメントとし、該ペイロードセグメントにヘッダセグメントを付けて前記CANメッセージからFlexRayメッセージへの変換を行っている請求項5に記載の車載用中継接続ユニット。
【請求項7】
前記宛先検索テーブルにはCANメッセージのIDに対応するデータ長が記憶されており、
前記FlexRay判断処理回路は、受信した前記FlexRayメッセージのペイロードセグメントを前記CANメッセージのデータフィールドとすると共に、前記FlexRayメッセージを受信したタイムスロットのスロット番号と送信周期から前記宛先検索テーブルを参照してCANメッセージのIDとデータ長を読み出し、該IDをアービトレーションフィールドに記載し、データ長をコントロールフィールドに記載してCANメッセージに変換して該CANメッセージを前記メモリに送信し、前記CAN判断処理回路は、前記メモリからCANメッセージを読み出して前記CAN通信線に送信する請求項1、5、6のいずれか1項に記載の車載用中継接続ユニット。
【請求項8】
前記FlexRayコントローラは同期信号を前記FlexRay判断処理回路に送信する同期信号発生回路を備え、
該FlexRay判断処理回路は、前記同期信号からFlexRayメッセージ通信用の現在の送信周期を検知する周期管理回路と、前記同期信号からFlexRayメッセージ通信用の現在のタイムスロットのスロット番号を検知するスロット番号管理回路を備え、
前記スロット番号管理回路は、前記中継接続ユニットに割り当てられFlexRayメッセージを送信することができるスロット番号と送信周期を予め備えており、前記周期管理回路は送信周期を前記スロット番号管理回路に送信し、前記スロット番号管理回路は前記現在のスロット番号及び送信周期と前記記憶したスロット番号および送信周期を比較してFlexRayメッセージを送信できるスロットか否かを判断している請求項1乃至請求項7のいずれか1項に記載の車載用中継接続ユニット。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2008−277873(P2008−277873A)
【公開日】平成20年11月13日(2008.11.13)
【国際特許分類】
【出願番号】特願2007−115464(P2007−115464)
【出願日】平成19年4月25日(2007.4.25)
【出願人】(395011665)株式会社オートネットワーク技術研究所 (2,668)
【出願人】(000183406)住友電装株式会社 (6,135)
【出願人】(000002130)住友電気工業株式会社 (12,747)
【Fターム(参考)】
【公開日】平成20年11月13日(2008.11.13)
【国際特許分類】
【出願日】平成19年4月25日(2007.4.25)
【出願人】(395011665)株式会社オートネットワーク技術研究所 (2,668)
【出願人】(000183406)住友電装株式会社 (6,135)
【出願人】(000002130)住友電気工業株式会社 (12,747)
【Fターム(参考)】
[ Back to top ]