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

舘 伸幸

tag: 組み込み

技術解説 2006年2月17日

 このため,ここはブレークに見えるロー・パルスについて真偽を確かめる処理を施しておくほうがよいでしょう.この処理としては,フレーム途中のブレーク検出後はボーレート補正を行わず,0x55を受信できるかどうかで直前のロー・パルスがブレークだったかどうかを調べる方法が挙げられます.この方法がもっとも負荷が小さく,かつ適切に処理できます.フレーム途中ということは,直前にボーレート補正を行っているはずなので,通信品質上は問題ありません.

 再度,リスト3を見てください.このリストは,UARTの1バイト受信の割り込みハンドラです.9行目のswitch文で,状態(フレームの位置)に応じて処理を分岐しています.19行目が同期バイト処理のcase文であり,20行目で受信データが0x55,つまり同期バイトに相当する値かどうかを判断しています.同期バイトでなければ直前のロー・パルスはブレークではなかったと判断し,正規のブレーク待ち(状態遷移における休止状態)に遷移します.同期バイトと判断された場合,次のフィールドである保護IDの処理へと遷移します.

組み込みキャッチアップ

お知らせ 一覧を見る

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