組み込みシステム設計者のためのLIN2.0マイコン実装術(中編) ――使用するCPU性能に応じたオプション選び
● 「空き時間」も考慮してスロット時間を定める
各フレームは,「スロット(slot)」という時間枠の中で送信されます.プロトコル仕様書では"2.2 Flame Slot"という章の中で記述されており,具体的な時間については以下の(1)~(6)の六つの式が定義されています注3.
THeader_Nominal=34TBit (1)
TResponse_Nominal=10(NData+1)・TBit (2)
TFrame_Nominal=THeader_Nominal+TResponse_Nominal (3)
THeader_Maximum=1.4 THeader_Nominal (4)
TResponse_Maximum=1.4 TResponse_Nominal (5)
TFrame_Maximum=THeader_Maximum+TResponse_Maximum (6)
公称値(nominal)は,フレームの内容を構成するビット数で定義されています.フレームには,図5に示すように,ヘッダからレスポンスまでの空き時間「レスポンス・スペース」や,フレーム終了から次のフレーム(ヘッダ)送信までの空き時間「インター・フレーム・スペース」などの"すき間"が含まれます(詳細は本稿の前編を参照).さらにデータとデータの間にはバイト・スペースという空き時間も見込まれます.フレーム・スロットの公称値には,これらの空き時間は含みません.
そういう意味では,式(1),(2)で示している値は,スロットの最小時間と言えるでしょう. 式(1)では,ヘッダの値を求めています.1ビット時間の34倍です.ヘッダ・フレームにはブレーク,同期バイト,保護IDが含まれますが,同期バイトと保護IDはそれぞれ10ビット(スタート・ビット1ビット+データ8ビット+ストップ・ビット1ビット)なので,それらを差し引くとブレークには14ビットが割り当てられます.これは,上述した最低13ビット幅のロー・パルス(ブレーク)と1ビット分のブレーク・デリミタ(ブレークと次に続く同期バイトの境界のための"H"レベル1ビット)を意味します.
注3;ここでの式(1)~(6)は,プロトコル仕様書の"2.2 Flame Slot"の式(3)~(8)に対応していることに注意.