つながるワイヤレス通信機器の開発手法(14) ファームウェアを設計する(その2) ──エラー制御と高周波制御を実現する方法

太田博之

tag: 組み込み

技術解説 2004年10月18日

 これらの時間を測るために,マイコンの空いているポート(ポートについては後ほど説明)に現在の状態を示す信号レベルを出力し,そのポートをオシロスコープなどで観察する方法がよく使用されている.この方法では,図7のようにあらかじめ処理の最初にポートONのプログラムを,処理の最後にポートOFFのプログラムを埋め込む.ポートONのプログラムでは,あらかじめ決めたポートのレベルを"H"にする.ポートOFFのプログラムでは,同一ポートのレベルを"L"にする.この結果,処理に入ったところでポートの信号は"H"レベルになり,処理が終わったところでポートの信号は"L"レベルになる.この信号を観測することで処理がどれぐらいの時間で完了するかを見積もることができる.

 ポートを使って内部状態を書き出す以外に,内部状態をRAMの未使用領域に書き込んだり,シリアル・ポートから出力するといった方法もある.デバッグ作業を効率良く進めるために,図7のポートON/OFFの処理などをデバッグ用関数としてファームウェア開発の初期に用意しておくことがある.表1に,ポートを使う場合,RS-232-Cなどのシリアル・ポートを使う場合,システムで使用するRAMを使う場合のそれぞれの方法の特徴を示す.

f07_01.gif
図7 処理時間計測
マイコンの空きポートを利用して処理時間を測定する方法.あらかじめ処理の最初にポートONのプログラムを,処理の最後にポートOFFのプログラムを埋め込む.

表1 デバッグ方法の比較

 
ポート
RAM
シリアル
備 考
リアルタイム性
×
RAMの内容はICE(in- circuit emulator)など,何らかの方法で読み出す必要がある.シリアルの場合,ハードウェアの応答速度に依存する
処理時間
×
シリアルのハードウェア処理が大きい
用意するハードウェア
×(○)
シリアル・ポートが存在 するシステムでは,新たに用意する必要がないので○

◎がいちばん有利.続いて○,△,×の順に不利になる.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日