つながるワイヤレス通信機器の開発手法(14) ファームウェアを設計する(その2) ──エラー制御と高周波制御を実現する方法
図3の機能ブロックの代わりに,時間軸をもとにARQの動作を示したものが図4である.時間軸における動作の流れも,受信→エラー検出→ACKまたはNAKの指示→メッセージの組み立て→送信の順序である.ほとんどのシステムでは受信して次に送信するまでの時間が決まっている(ただし,これは通信システムによる).
なお,図4はBluetoothのシステムの例である.Blue-toothの規定では,受信フレームの先頭から正常受信通知(または再送要求)の送信フレームの先頭までが625μsである.そのため,これらの時間を満足するようにハードウェアとファームウェアの処理時間を決める必要がある.ハードウェアで行っているエラー検出とメッセージ組み立ての部分の処理時間は,通常,数μs程度である.これに対してファームウェアの処理は非常に時間がかかり,数十μs~数百μsかかることもよくある.これらの処理時間を考慮してハードウェアとファームウェアの処理の切り分けを行うことがたいせつである.