組み込みシステム設計者のためのLIN2.0マイコン実装術(前編) ――プロトコル仕様を正しく読みこなすコツ
次に,レスポンス・スペース,すなわちスレーブ・タスクが保護IDを受信してレスポンスの送信を開始する部分について検討してみます(図9).
保護IDの受信完了は,ストップ・ビットの中央でサンプリングされます.ここから実際に保護IDのストップ・ビットが終了するまでは,例えば9,600bpsの場合で52μs(=1÷9600÷2)必要です.一方,スレーブ・タスクはストップ・ビットのサンプリングから受信完了割り込みを受け,データ(レスポンス)の送信処理へと移行します.この処理が高速である場合,例えば9,600bpsでは52μs以下でレスポンスの送信を開始してしまう可能性があります.このとき,レスポンス・スペースは負の値となり,仕様から逸脱してしまいます.
したがって,レスポンス送信処理はレスポンス・スペースに対して少なくとも0s(秒)であることを保証する必要があります.レスポンス受信処理は,レスポンス・スペースがなくても(0であっても)受信できなければなりません.
インター・フレーム・スペースについても,同じような注意が必要です.
図9 レスポンス・スペース
保護IDのストップ・ビットが終了する前にスレーブ・タスクがレスポンスを返してしまう場合,レスポンス・スペースは負の値となり,仕様から逸脱する.
参考・引用*文献
(1) * LIN Consortium;LIN Specification Package Revision 2.0,Sep 2003.
たち・のぶゆき
NECマイクロシステム(株)
<筆者プロフィール>舘 伸幸.組み込み系ソフトウェア・エンジニア.1983年入社以来,デバイス会社でソフトウェアひとすじ.