組み込みシステム設計者のためのLIN2.0マイコン実装術(前編) ――プロトコル仕様を正しく読みこなすコツ
● LIN 1.3と比べてソフトを開発しやすい仕様になった
"Changes between LIN1.3 and LIN2.0"という章は,タイトルのとおりLIN 1.3とLIN 2.0の違いを列挙しています.その中でもとくに重要と思われる相違点を以下に挙げます.
最初のポイントは,バイト・アレイ信号がサポートされ,信号サイズが8バイトまで許容されるようになったという点です.LIN 1.3をご存じの方は,「もともとフレームのデータ域は8バイト分あったのに何が変わったんだ?」と感じるかもしれません.これは,フレーム構造ではなく,単にAPIの仕様が拡張されたことを意味しています.LIN 1.3のAPIでは2バイトまでの読み書き関数しか用意されていませんでした.一方,LIN 2.0では配列(へのポインタ)の読み書きが拡張されています.代わりに,LIN 1.3にあった信号グループという仕様を削除しています.APIを使う側にしてみれば,単にデータ配列を渡せるLIN 2.0のほうが単純で使いやすくなったと思います.
次のポイントは,スポラディック・フレーム(表2を参照)が追加された点です.スポラディック(sporadic)とは「散発的な」という意味ですが,スポラディック・フレームとは,変更があまり頻繁ではない信号を扱うためのしくみです(詳細は,本記事の中編で解説予定).
また,LIN 1.3ではフレームやフィールドの間隔などは「何ビット分」と,ビット単位で規定されていましたが,LIN
2.0では「秒」,すなわち時間単位になりました.プログラムを作る立場としては,こちらのほうが設計しやすくなるので,ありがたい変更です.