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

舘 伸幸

tag: 組み込み

技術解説 2006年2月17日

● 実際にマイコンをスリープさせるのはアプリで

 マスタからスリープ要求を受信した場合,あるいは4秒間バスが動作しなかった場合,スリープ状態に遷移します.このとき,LINドライバ・ソフトウェアは単に状態を遷移するだけです.実際にマイコンをハードウェア的にスリープ状態にするのは,アプリケーション・ソフトウェアで行います.

 リスト6はスリープ遷移の処理例です.マイコンのスリープ状態は割り込みで解除されてしまうので,不要な割り込み要因となるハードウェアは停止しておきます.ただし,LINバス上のウェイクアップ信号で目覚める必要があるため,関連するリソース(ここでは外部エッジ割り込み)は許可しておきます(6行目~8行目).

 アプリケーション・ソフトウェアは,LINがスリープ状態になったことをl_ifc_read_statusというAPIで知ることができます.10行目はそのための情報を設定する手続きです.API経由でスリープ検出を行うためには,アプリケーション・ソフトウェアは定期的にこのl_ifc_read_statusを呼び続ける(ポーリングする)必要があります.それは少し不便なので,今回作成したドライバ・ソフトウェアでは,スリープ移行時にアプリケーション・ソフトウェア内の処理モジュールを呼び出す(コールアウト)処理を追加しています(13行目).つまり,ここで呼び出しているConfLin_vogCallSleepIfcの実体は,アプリケーション・ソフトウェア側にあります.

リスト6 スリープ遷移

list06_01.gif



参考・引用*文献

 (1) * LIN Consortium;LIN Specification Package Revision 2.0,Sep.23,2003.
 (2) NECエレクトロニクス; 78K0/KC1+ユーザーズマニュアル第2版(U16961JJ2V0UD00).


たち・のぶゆき
NECマイクロシステム(株)
<筆者プロフィール>
舘 伸幸.組み込み系ソフトウェア・エンジニア.1983年入社以来,デバイス会社でソフトウェアひとすじ.

組み込みキャッチアップ

お知らせ 一覧を見る

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