組み込みシステム設計者のためのLIN2.0マイコン実装術(中編) ――使用するCPU性能に応じたオプション選び
式(2)の最初の10は,同期バイトや保護IDと同じく,1バイト通信に要するビット数を表しています.NData(レスポンス中のデータのバイト数)+1となっているのは,チェックサム分を加えているからです.式(1)と式(2)を足したものが式(3)であり,フレームを扱うのに最低限必要なスロット時間となります.
実際の通信では処理の遅れなどを考慮して,40%のマージンを加えます.それが式(4)~(6)になります.フレーム・スロットを設計する際は,この40%余裕を加えた式(6)の値かそれ以上の時間を確保する必要があります.
ブレークの説明ではロー・パルスは「少なくとも13ビット幅」としており,上限についての記述はありませんでした.しかし,この式(4)で示される値がヘッダの上限となるので,おのずとブレークの上限も制約を受けることになります.
また,仕様書には「すべてのノードはゼロ・オーバヘッドのフレームを受信できなくてはならない」という注意書きがあります.おそらく,この点についてもっとも留意が必要になるのはインター・フレーム・スペースです.確度の高い発振器を利用して,ブレーク検出にUARTのフレーミング・エラーを利用するような場合は,それほどシビアではないでしょう.しかし,別の回路でブレーク検出を行わせたり,UARTに(ブレーク受信のための)特別な指定や設定が必要な場合,フレーム受信完了後にチェックサムを計算したり,次のブレーク受信のための手続きにもたもたしていると,処理が間に合わなくなってしまいます.とくにスレーブに使うような非力なCPUの場合,フレーム間の処理タイミングについて十分に検討しておく必要があります.