つながるワイヤレス通信機器の開発手法(14) ファームウェアを設計する(その2) ──エラー制御と高周波制御を実現する方法
● ファームウェア開発者は処理時間の伸縮を考慮するべし
ハードウェアの処理時間はほぼ一定であるが,ファームウェアの処理時間はそのときの条件によって延びたり縮んだりする.ファームウェアの処理時間の伸縮を一般的な形で示すと図5のようになる.ファームウェアは,複数の処理(図5の場合は処理1,2,3)を一つのマイコンで順番に処理していく.これらの処理内容はそのときの状態によって変わる.例えば,ここで話題に上げているARQの機能についても,エラーの有無によって以下のように送信するデータと受信データの取り込みかたが変わってくる.
1)エラーがある場合
- 受信データを棄却
- 再送要求メッセージをライト・レジスタに書き込む
2)エラーがない場合
- 受信データを上位処理に渡す
- 受信データを渡された上位処理ではメッセージの内容により異なるいくつかの処理を行う
- 正常受信通知をライト・レジスタに書き込む