(2004.07.28更新) | |
(2004.11.11修正) | |
(2004.11.11修正) | |
(2004.11.11更新) |
C言語で記述されたマイコン用 Treva 画像取得ファームウェアの処理時間とオブジェクトサイズを測定することで、マイコンの性能を評価します。マイコン用ファームはポート入出力や内蔵周辺の設定、割り込み記述を除き、なるべく共通になるようにします。
Treva のヘッダ情報取得後から全画像データを取り込むまでの処理時間をマイコンの内蔵タイマで 1ms 単位で測定し、測定時間を UART で PC 側アプリに渡して表示させます。オブジェクトサイズは MAP ファイルに記載された ROM 領域のサイズを記録します。
念のため書いておきますが、この評価はあくまで Treva 画像取得処理の処理時間が対象ですので、対象マイコンの性能の一部しか反映されないものとなります。アプリケーションや内蔵機能の使い方によって結果が変わり得ることをご了解下さい。
マイコン側ファーム
評価対象のマイコンには LED と Treva と RS232C レベル変換 IC を接続します。時間測定用に 1ms 周期で割り込みを発生させます。この割り込み周期が正しいことを確認出来るように LED を 500ms 周期で点滅させます。
UART 経由で PC から 0xF0 が送られたら Treva からの画像取得処理を開始します。そして Treva ヘッダ情報取得後から画像データ取得完了までの 1ms 割り込みの回数をカウントし、UART を通じて上位バイト、下位バイトの順で 16bit のカウント値を PC に送信します。
UART 経由で PC から 0x0F が送られた場合も Treva からの画像取得処理を開始しますが、処理時間の測定は行わず、動作を確認するために Treva から取得したデータをそのまま UART で PC に送ります。Treva から取得するデータのサイズは 96x72x2 = 13,824byte であり、マイコンの内蔵 RAM には収まらない場合が多いので Treva から 1byte 分のデータを取得したらすぐに UART で PC に送信します。
PC との通信速度は 38400bps とします。
PC 側アプリ
PC 側アプリは VC++ で作成し exe 単体で動作します。左下のコンボボックスでマイコンとの通信を行う COM ポートとボーレートの指定を行います。
Get Image ボタンを押すと、指定した COM ポートに 0x0F が送信され、Treva 画像データ 13,824byte の受信待ちとなります。全データの受信が終わったら左上の Captured Image に画像データが表示されます。ヤッツケアプリなのでタイムアウトは仕込んでおりません。
Get Time ボタンを押すと、指定した COM ポートに 0xF0 が送信され、2byte の測定結果データの受信待ちとなります。測定結果の受信が終わったら左中の Process Time に ms 単位で測定結果の時間が表示されます。
Save Data ボタンを押すと、受信した Treva 画像データをファイルに出力します。受信データそのままの Raw フォーマットか BMP フォーマットかをチェックボックスで選択できます。Save が終わるとファイル名が更新されます。ヤッツケアプリなのでファイルの上書き確認は仕込んでおりません。
Exit ボタンを押すとアプリケーションが終了します。
結線情報
Treva | CLKIN | |
Treva | DOUT | |
LED | Output | |
UART | TxD | |
UART | RxD |
測定結果
96〜97ms | |
574byte (0x0000-0x023E) |
マイコン用ファームウェア
結線情報
Treva | DOUT | |
Treva | CLKIN | |
LED | Output (OAKS8 基板上 LED を使用) | |
UART | TxD | |
UART | RxD |
測定結果
360〜361ms | |
745+256byte (0xD000-0xD2E9, 0xFF00-0xFFFF) |
マイコン用ファームウェア
結線情報
Treva | DOUT | |
Treva | CLKIN | |
LED | Output | |
UART | TxD | |
UART | RxD |
測定結果
589〜590ms | |
1408byte (0x000-0x57F) |
マイコン用ファームウェア