CAN-LINゲートウェイのソフトウェア・モジュールの実装 ――高い信頼性を確保して異なるプロトコル通信間をつなぐ

館 伸幸,木下秀昭

tag: 組み込み

技術解説 2005年4月 1日

 一方,LINでは1マスタ+複数スレーブのプロトコルになっているので,ゲートウェイについて図3のような三つの接続方法が考えられます.

1) ゲートウェイがLINマスタとして動作する
2) ゲートウェイがスレーブとして動作する
3) ゲートウェイの存在を透明にする

 もっとも設計が簡単でコストがかからないのが,1)の方法です.使用するマイコンに必要な数の通信チャネルとCPU性能があれば,マルチマスタ,すなわち一つのゲートウェイに複数のLINバスをつなげるような設計も容易です.

 ただし,この方法ではゲートウェイが故障すると,そこにつながるLINクラスタ全体がダウンしてしまう危険性があります.もし,対象のLINクラスタがそれだけで機能的に閉じているような場合(例えば,スレーブ・ノードにスイッチとランプがあり,スイッチを入れればランプが点灯するといった機能),信頼性について検討する必要があります.LINノードの機能がすべてCANからの指令でのみ従属的に動作するような場合,ゲートウェイが故障すればスレーブ・ノードが生きていても意味がないので,ほかの方法と信頼性の差はありません.

 2)は,ゲートウェイのトラブルからLINクラスタを守ることができる一つの方法です.とくにLIN
2.0では,故障ノードの切り離しがプロトコルで規定されているので,ゲートウェイの故障に対してCANと同じくらいの信頼性を確保することができます.

 3)の方法は,信頼性については2)の方法と同じです.動作的には,いくつかのCANノードがマスタからはLINスレーブとして見えることになります.このため,2)の方法と比べてLINマスタとCAN側の依存関係が強くなります.

 2),3)ともに,ゲートウェイはLINスレーブとして働くので,マスタは定期的にCANからのメッセージを確認する(ポーリングする)必要があります.さらに,タイミング調停などは,1)の方法よりも処理が複雑になります.

 今回は,上記の接続方法の中からもっとも設計が簡単な「CANノード(図2(a))+LINマスタ(図3(a))」として働くゲートウェイについて実例を紹介します(図4)

f03_01.gif
図3 ゲートウェイ内のLINの扱い
(a)ではゲートウェイがLINマスタとして,また,(b)ではLINのスレーブとして機能する.(c)の場合,ゲートウェイにつながるCANノードがLINのスレーブに見える.

f04_01.gif
図4 今回作成したゲートウェイ
もっとも設計が簡単な「CANノード+LINマスタ」という接続方法を採用したゲートウェイを今回作成した.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日