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

館 伸幸,木下秀昭

tag: 組み込み

技術解説 2005年4月 1日

● CANとLINのID変換のルールを決める

 ネットワーク内のノードIDに合わせて,CANとLINのID変換ルールを決める必要があります.今回は,IDテーブルを作成して変換ルールを実装しています(表3)

 また,作成したゲートウェイはLINマスタとしての機能を兼ねているため,LINのスリープ・コマンドや,ウェイクアップ・コマンド処理も実装しています.

 エラー制御としては,CANドライバとLINマスタ・ドライバ,およびゲートウェイ自身からのエラー・フラグをモニタできるようにしました.今回用意したエラー情報を表4に示します.

表3 ID変換テーブル例

LIN ID
CAN ID
メッセージ属性
0x80 0x80000C00 BROADCAST :全ノードに送信 (それぞれのIDはブロードキャストIDとなる)
0x03 0xC0000C03 CAN_NET :CANネットワーク中のCANノードから開始
0x85 0xC0000C05 CAN_GW :ゲートウェイ(CANノード)から開始
0x0D 0x80000C0D LIN_M :ゲートウェイ(LINマスタ)から開始
0xFF 0xFFFFFFFF END :テーブルの終端

表4 エラー一覧

場所
エラー情報
LIN バス応答なし
メッセージ・タイムアウト
ビット・エラー
フレーミング・エラー
IDパリティ・エラー
チェックサム・エラー
オーバラン・エラー
CAN パリティ・エラー
CANモジュール・ステータス・エラー
設定済みエラー
メッセージ未取得エラー
GW メモリ・バッファあふれ
  • オーバラン・エラー
    受信バッファ・レジスタからデータを読み出す前に,次のデータを受信した場合に発生する(UARTのオーバラン・エラーと同じ)
  • CANモジュール・ステータス・エラー
    CANの通信速度やサンプル・ポイントを設定するためには,CANマクロが初期化モードでなければならない.初期化モードでないときに変更しようとした場合,このエラーが発生する
  • 設定済みエラー
    すでにCAN コントローラが起動されており,CANクロックの設定ができない場合に発生する
組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! 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日