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

舘 伸幸

tag: 組み込み

技術解説 2006年2月17日

 二つ目のブレーク検出の方法は,ハードウェアによるブレーク検出機能を利用することです.今回使用したマイコンに搭載されているLIN対応UART(UART6)には,ブレーク検出モードの制御レジスタASICL6が用意されています(図7).このレジスタのSBRT6ビットを'1'にするとブレーク検出モードとなり,11ビット以上のロー・パルスを受信すると受信割り込みが発生します(図8)

 リスト2に,実際の設定処理を示します.該当ビットを設定するだけです.ブレークを受信すると,通常の受信割り込みが発生します.リスト3は,その受信ハンドラです.ブレーク受信による割り込みかどうかは,内部の状態変数で判別しています(リスト3の9行目).受信後は,同期バイト処理へ移行しています(12行目).

f07_01.gif
図7 UART6のブレーク検出モードの制御レジスタASICL6
通常は,ブレーク受信モードの開始トリガであるSBRT6ビットのみ使用する.

f08_01.gif
図8 ブレーク検出時の動作
SBRF6ビットを読むことで,ブレーク受信中を検知できる.

リスト2  ブレーク検出機能を用いた処理
SBRT設定処理のプログラム.UART6のブレーク受信補助機能を有効にする.

list02_01.gif

リスト3 受信ハンドラ

list03_01.gif

組み込みキャッチアップ

お知らせ 一覧を見る

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