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

館 伸幸,木下秀昭

tag: 組み込み

技術解説 2005年4月 1日

● LINマスタ/CANノードとして機能するためのソフト処理

 今回利用する評価ボードをゲートウェイとして機能させるためには,本ボードがLINマスタおよびCANノードとして動作することに加えて,データのバッファリング,タイミング制御,LINとCANのプロトコル変換などのソフトウェアが必要となります.以下に,今回必要となるおもなモジュールを挙げます.また,モジュール間の関係は図6のようになります.

  • LIN通信(ドライバ):図6のLINマスタ・ドライバ――LIN通信を実現するためのソフトウェア.LINマスタとして動作する.マイコン内のUARTやタイマなどを制御して通信を行う.
  • CAN通信(ドライバ):図6のCANドライバ――CAN通信を実現するためのソフトウェア.マイコン内のCANコントローラを制御して通信を行う.
  • プロトコル変換:図6のIDマッピング・テーブルとメッセージ・フィルタ――IDマッピング・テーブルには,LINとCANのID変換情報を格納している.ゲートウェイ通信が必要なIDの場合,メッセージ・フィルタはIDマッピング・テーブルに従って,CANプロトコルのIDとLINプロトコルのIDを変換する.また,LIN/CANメッセージ・バッファへのメッセージ送受信要求の格納処理も行う.
  • エラー制御:図6のエラー・ハンドラ――LINマスタ・ドライバ,CANドライバ,または,ゲートウェイ自身からのエラーを含むエラー処理を行う.
  • データ・バッファリング:図6のLINメッセージ・バッファとCANメッセージ・バッファ――FIFO(first-in first-out)リング・バッファで構成されており,LINまたはCANへのメッセージ送受信要求を格納する.LIN用,CAN用それぞれ独立のバッファで構成される.
  • タイミング制御:図6のメッセージ・スケジューラ――各メッセージ・バッファに問い合わせるためのタイミング機能を提供する.また,LINメッセージ・バッファまたはCANメッセージ・バッファから送受信要求を取得し,送受信データをLINマスタ・ドライバやCANドライバに引き渡す.

f06_01.gif
図6  モジュール構成図
図5(b)のボードをゲートウェイとして機能させるために必要なソフトウェア・モジュールとその関係を示す.図の中のゲートウェイAPI(GW-API)は,ノードからのデータ・フォワーディングのほか,ゲートウェイ自身の送受信機能を備えている.

組み込みキャッチアップ

お知らせ 一覧を見る

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