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

舘 伸幸

tag: 組み込み

技術解説 2006年2月17日

● 同期バイトにおけるボーレートの設定

 ノードが水晶発振器など精度の高いクロックで動作していて,かつ使用するボーレートが固定でよい場合は,単にUARTの1バイト受信を行って0x55であるかどうかを確認すれば,同期バイトを検出できます.RC発振器などを用いているため周波数補正の必要がある場合は,パルス間隔を測定してボーレート補正を行います注3図10に,その処理概要を示します.

 まず,UARTを停止します.立ち下がりエッジ割り込みを有効にし,その割り込み回数によって処理を行います.立ち下がりエッジ割り込み1回目でタイマをスタートし,2回目はスキップ(無処理)します.3回目の割り込みが発生すると,タイマ値を読み取って,最初の割り込みから4ビット分の時間を得ることができます.これをもとにボーレートを計算し,設定します.4回目はスキップして,5回目でエッジ割り込みを禁止し,UARTを起動します.

 注3;詳細は中編を参照のこと.

f10_01.gif
図10 ボーレート計測
処理時間に余裕を持たせるため,前半4ビット分を計測している.

組み込みキャッチアップ

お知らせ 一覧を見る

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