組み込みシステム設計者のためのLIN2.0マイコン実装術(後編) ――スレーブ・ノード用ドライバ・ソフトウェア開発のポイント

舘 伸幸

tag: 組み込み

技術解説 2006年2月17日

 前編と中編でLIN 2.0のプロトコル仕様について説明しました.今回は,このLIN2.0プロトコルを実際にマイコンに実装するためのドライバ・ソフトウェアの設計について,事例を交えて解説します.  (筆者)

 前編で解説したように,LINは大きく分けて「マスタ・タスク」と「スレーブ・タスク」という二つの機能で動作します.マスタ・タスクは基本的にスケジュールに従ってヘッダを送信するのみであるのに対し,スレーブ・タスクはヘッダを受信し,その内容に従ってレスポンスを送信または受信しなければなりません(図1).さらに,スレーブ・タスクが単体で搭載されるスレーブ・ノードは,コストを低く抑えるために非力なマイコンで実現することがほとんどです.また,RC発振器など,精度の低いクロックによる動作を補正する必要が生じる場合もあります.したがって,ドライバ・ソフトウェアの設計にあたっては,マイコンの機能をうまく使いこなすくふうを施さなければなりません.

 一方,マスタ・タスクは,LINプロトコルの実装よりは,むしろゲートウェイとしての動作や,OS(またはスケジューラ)との連携といったところに設計のポイントがあります.実際の動作環境ではLINクラスタが単独で動作することは少なく,マスタ・ノードは別の基幹回線(例えば,CANなど)とのゲートウェイとしての動作が主であるためです(図2)

 本稿では,LINプロトコルを実装するうえで,マイコンのハードウェア制御に関する技術的ポイントが多く,また実際にノードを設計する機会がより多いスレーブ・ノード(タスク)について解説します.

f01_01.gif
図1 マスタ・スレーブ間通信
マスタ・タスクがヘッダを送信して,スレーブ・タスクがそれを受信することで,後に続くデータの送受信を行う.

f02_01.gif
図2 実際の使用環境の例
とくに車載用途では,LINクラスタは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日