組み込みシステム設計者のためのLIN2.0マイコン実装術(後編) ――スレーブ・ノード用ドライバ・ソフトウェア開発のポイント
三つ目は,マイコンのエッジ割り込み端子を使う方法です.立ち上がり/立ち下がりの両エッジにおける割り込み,もしくはタイマのトリガを設定して,タイマのカウント値からパルス幅を得てブレークの検出を行います(図9).この方法は,RC発振器を用いた精度の低いクロック動作の場合や,ブレーク検出のための特別な回路を備えていない場合に有効です.
図9 パルス幅の計測
実際には,割り込みでタイマをスタートさせると,その処理分だけ誤差が生じてしまう.設計時にはタイマをあらかじめ動作させておき,割り込みの際に値を読み取って差分を計算するほうがよい.