マイコン 工作入門 インドア・プレーン 玄箱PRO   オーディオ工房   100均   イベント

2007年08月10日 アーカイブ

2007年08月10日

USBSPYDER08を使ってみよう(独立したアプリケーションを作成-中編) (連載6回)

 今回は、前回作成した小型ディジタル温度計のソフトウェアを作成します。

= 新規プロジェクトを作成する =

 今回もProcessor Expertのビーンを利用してプログラムを書きます。
 まず、CodeWarriorとProcessorExpertを使って、新しいプロジェクトを作成します。プロジェクト・ウィザードでは、以下のように設定し、「完了」ボタンをクリックします。
 
プロジェクト・ウィザードの設定

デバイスと接続方法の選択ダイアログ
 
使用する言語とプロジェクト名ダイアログ
 
Processor Expert選択ダイアログ
 
 このアプリケーションでは、温度の計算に64ビットの浮動小数点数を使用しています。
 
C/C++言語オプション選択ダイアログ

 すると、新しいプロジェクトが作成され、使用するマイコンのパッケージと使い方を選択するダイアログが現れます。
 ここで使用するのは、16ピンDIPパッケージのMC9S08QG8です。"MC9S08QG8CPB 16-pins PDIP"を選択します。
  
パッケージの選択ダイアログ
 
 このアプリケーションも、デバッグ状態で使用するので、Debugだけをチェックします。
 
使い方の選択ダイアログ
 
 これでプロジェクトの準備は完了です。

= A-Dコンバータ・ビーンを設定する =

 このアプリケーションでは、A-Dコンバータで内部バンドギャップと温度センサの出力を取得して、この二つの値から温度の計算を行います。
 
 右下にある"Bean Selector"(ビーンの選択)サブウィンドウから

"Measurement" (測定)-
"Measure, prepare or compare analog signal" (アナログ信号の測定と比較)-
"Measure analog input" (アナログ入力の測定)
をダブルクリックで選択していき、ADC(A-Dコンバータ)ビーンを呼び出します。
 
ADCビーンの呼び出し


 ビーンの属性を以下のように設定します。
 属性の設定は、"ADVANCED"(高度な機能)モードで行ってください。これは、測定精度を上げるために複数回測定の機能を使用しているためです。
 
ADCビーンの属性の設定完了
 
 何とかして変換精度を得るために、"ADC clock source"(A-D変換クロック源)にA-D変換専用の"AsynchroClock"(非同期クロック)を使用し、"Conversion time"(A-D変換の時間)を最長の46マイクロ秒に設定しています。
 さらに、アナログ電圧を取り込むための"Sampling time"(サンプル時間)も"long"(長い)にしています。

 また、分解能を上げるために、"Number of conversion"(変換回数)に"64"を指定し、A-D変換64回分の平均を16ビットの値で返すようにしています。
 メイン・プログラムでは、この値の128回分の平均を求めているので、合計でA-D変換8192回分の平均を使って計算を行っていることになります。

 以上でADCビーンの設定は完了です。


= LEDにバイト入出力ビーンをつなぐ =

 このアプリケーションでは、7セグメントLEDに温度を表示します。
 このLEDは、8ビットのポートにそのまま接続されているので、バイト単位で制御を行うことのできるバイト入出力(ByteIO)ビーンを使います。

右下にある"Bean Selector"(ビーンの選択)サブウィンドウから

"Digital input/output" (ディジタル入出力)-
"Standard I/O" (標準的な入出力)-
"One 8-pin port" (8端子ポートを一つ)

をダブルクリックで選択していき、ByteIO(バイト入出力)ビーンを呼び出します。

ByteIOビーンの呼び出し
 
 ビーンの属性を以下のように設定します。
 このビーンは、出力専用で使用します。初期値をすべての出力がVDDレベルになるように"255"としているので、リセット後はLEDが消灯します。
 
ByteIOビーンの属性の設定完了
 
 次にメソッドを選択します。
 数あるメソッドのうち、今回は"PutVal"(値設定)ビーンだけを使用します。
 
ByteIOビーンのメソッドの設定
 
 以上でByteIOビーンの設定は完了です。

= Cpuビーンのメソッドを有効にする =

 ビーンを設定した後で作成するユーザプログラムでは、Cpuビーンに属する"Delay100US"(100usec単位で遅延させる)というメソッドを使用します。
 そのため、あらかじめこのメソッドのコードを生成させるように設定しておきます。

 左の"Project Panel"(プロジェクト・パネル)で"Cpu:MC9S08QG8CPB"をクリックし、中央の"Bean Inspector"(ビーンの検査官?)の"Methods"(メソッド)タブをクリックします。
 そして、"Delay100US"を"generate code"(コードを生成させる)に設定します。
 
Cpuビーンのメソッドの設定
 
= スタック領域を拡張する =

 ProcessorExpertでMC9S08QG8のプロジェクトを作成したときのスタック容量は、64バイトになっています。浮動小数点演算を行うプログラムを記述するとスタックを消費するので、初期値の64バイトでは不足してしまいます。
 そこで、128バイトに拡張しておきます。

中央の"Bean Inspector"(ビーンの検査官)の
"Build options"(構築時オプション)タブをクリック。
そして、"Generate PRM file"(リンク・ファイルを生成する)-
"Stack specification"(スタックの仕様)-
"Stack size"(スタック容量)
を"80"(16進数の80)に設定します。
    スタック容量の設定

 以上でビーンの設定はおしまいです。
 ビーンの設定が終わったら、メニュー・バーから"Project" - "Make"を選択するか、F7ボタンを押してコードの生成とコンパイルを行います。
 これで、プログラムのひながたができました。


 次回は、アプリケーション・ソフトウェアの核となるメイン・プログラムを記述して、小型ディジタル温度計を完成させます。


田中範明

タグ:  

投稿日時: 2007年08月10日 10:02 | | コメント (0) | トラックバック (0)

新製品 nFET内蔵の過電圧保護コントローラ

マキシム・インテグレーテッド・プロダクツは、nFET内蔵の過電圧保護(OVP)コントローラ「MAX4943~MAX4946/MAX4949」を発表した。これらは最大+28VまでのOVPを提供する。

特徴
・4.56V~8.9Vの過電圧トリップ・レベルと2.45V~4.15Vの低電圧トリップ・レベルを提供
・nFETスイッチを2×2mmのパッケージに内蔵することにより、外部システム部品点数と基板面積を削減
・動作温度範囲:-40℃~+85℃
・パッケージ:2×2mmの8ピンμDFN

MAX4943~MAX4946/MAX4949

タグ:    

投稿日時: 2007年08月10日 15:16 | | コメント (0) | トラックバック (0)

新製品 ポータブル機器向け同期整流降圧型DC-DCコンバータ

日本テキサス・インスツルメンツは、2mm角パッケージで1A出力可能な2.25MHz動作の高性能同期整流降圧型DC-DCコンバータ「TPS62290」を発表した。また、同時に600mA出力の「TPS62260」、および300mA出力の「TPS62240」も合わせて発表した。

新製品は、0.6V~6Vの出力電圧を高効率かつ±1.5%の電圧精度で出力する。
ローパワー動作のDSPおよびマイクロコントローラを搭載するポータブル電子機器向けで、バッテリ動作時間の延長と基板実装面積の節約に役立つ。
パッケージは、2mm角、高さ0.8mmのロー・プロファイル6ピンSON。

TPS62290

タグ:  

投稿日時: 2007年08月10日 19:38 | | コメント (0) | トラックバック (0)