つながるワイヤレス通信機器の開発手法(13) ――ファームウェアを設計する
● リアルタイムOSとメイン・ループの関係
最近のワイヤレス通信機器では,ITRONなどのリアルタイムOSを搭載することが多くなってきた.リアルタイムOSは組み込み型プログラム向けのOSであり,優先順位を持ったタスクの切り替え機能,タスク間のメッセージング機能,メモリの管理機能を有し,設計者は処理間のタイミング調整やリソースの過多をあまり気にしなくてもプログラムを組むことができる.
リアルタイムOSの機能の一つである優先順位を持ったタスク切り替え機能は,図11のように動作する.
1)時刻t1において,タスクCが発生.時刻t1ではほかのタスクがないのでタスクCを時刻t2まで実行.
2)時刻t2でタスクCの処理が終わり,アイドル(待機)状態に移行.
3)時刻t3でタスクBが発生し,処理を開始.
4)時刻t4でタスクAが発生する.このときCPUはタスクBを処理中であるが,タスクAのほうが優先順位が高いため,CPUはタスクBの処理を一時的に停止する.
5)時刻t5でタスクAが終了.このとき,待たせていたタスクBの処理を再開.同時にタスクCも発生するが優先順位が低いため,タスクBが終わるまで待たされる.
6)時刻t6でタスクBが終了し,タスクCの処理を開始.
7)時刻t7でタスクCが終了し,CPUはアイドル状態に戻る.
数十ms以上の長さのタスク処理を切り替える場合,リアルタイムOSを使用するメリットは大きい.それより短い周期のタスクについては,割り込み型プログラムとの併用が必要になる.図10の例では,メイン処理の部分にリアルタイムOSを利用するとよい.
また,ITRONなどの標準的なリアルタイムOSの場合,アプリケーション系ファームウェアで使われるTCP/IPスタックやPIM(Personal Information Manager)などのソフトウェア部品が,多くのベンダから有償または無償で提供されている.これらを利用すれば,設計工数を削減することができる.
おおた・ひろゆき
加賀電子(株)
◆筆者プロフィール◆
20年以上にわたり,通信関連のエンジニア,エンジニアリング・チームのマネージャ,コンサルタントと,技術出身者としてはまっとうな(?)成長段階を経て,現在は電子専門商社にてマーケティング,新事業企画に従事.得意領域はこれまでのGPS,携帯電話,ワイヤレスLAN,Bluetoothに加えて,VoIP技術,テレマティクスとその領域は今でも広がり続けている.