ソース・コードはサンプルコードと共に提供される機能ライブラリを使用します。μVision4ツールで表示した時のプロジェクトに使用されるソース・ファイルのリスト・ビューです。6.μVision4で表示したソース・ファイルコードのキャリブレーション・セクションADCとDACのキャリブレーション・ルーチンをイネーブル又はディスエーブルするために(ADC1やDACのキャリブレーション)コード内の#define値で設定/調整する事ができます。OBエミュレータ(USB-SWD/UART-EMUZ)をJ1とPCのUSBポートに接続する必要があります。(Windowsのハイパー・ターミナルのような)COMポートと通信可能なプログラムを使って、キャリブレーション・ルーチンのキャリブレーションのメニューとステップを見る事ができます。AIN3に接続する事を要求します。AIN2は正入力である事に注意してください。キャリブレーション・ルーチンの完了時に、ADC1INTGNレジスタとADC1OFレジスタの新しいキャリブレーション値が内蔵フラッシュに保存されます。DACをキャリブレーションする時、高精度電流計を通してVLOOP+出力を接続してください。mA出力を設定するためにDACをキャリブレーションします。mA出力の設定に使用されるDACコードはフラッシュに保存されます。mAの最終設定時のAIN9の測定電圧も記録されフラッシュに保存されます。AIN9の電圧はRLOOPを通して流れる電流と直線的な関係にあるので、これらの値はDACの調整ファクタを計算するために使用されます。ADCを使って微調整されます。UARTはボーレート9600bps、8データ・ビット、パリティ無し、フローコントロール無しに設定します。7に示すように、プログラムによってUARTに送信された結果を(Windowsのハイパー・ターミナルのような)通信ポート表示アプリケーションを使って見る事ができます。表示ターミナル上で必要な文字などを入力することで、ADuCM360はキャリブレーション・ルーチンで必要な指示などをUARTポートを介して受信します。DACをキャリブレーションする時のハイパー・ターミナルの出力コードの温度測定セクション温度の測定値を得るためには、熱電対とRTDの温度を測定します。RTD温度はルックアップ・テーブルを用いてその等価熱電対電圧に変換されます(ISE社、表ITS-90のTタイプ熱電対を参照してください)。この2つの電圧は加算され、熱電対での絶対値が得られます。RTD電圧が測定され、ルックアップ・テーブルを使ってそれが温度に変換され、次にこの温度はその等価熱電対電圧(V2)に変換されます。次にV1とV2は加算され全体の熱電対電圧を得て、最後にその値は温度測定値に変換されます。一定数の熱電対電圧は配列に保存されます。温度の中間値は隣接する2点間で線形補間を行う事により計算します。8はADuCM360のADC1を使用して、熱電対の動作範囲全体にわたり52の熱電対電圧を測定した時に得られた誤差を示します。全体のワーストケース誤差は<1°Cです。8.ADuCM360/ADuCM361で測定した52のキャリブレーション点を使用して区分的線形近似を行った時の誤差RTDの温度はルックアップ・テーブルを使って計算され、RTDについても熱電対に対する方法と同じ方法で処理されます。RTDはその温度を抵抗の関数として表す多項式が異なる事に注意してください。Microcontrollerを参照してください。電流出力セクション一度最終温度が測定されたら、RLOOPを通して必要な電流が流れるようにDACの出力電圧を適切な値に設定します。+350°Cと予想されます。9に示すようなクローズド・ループ回路を実行し、AIN9のフィードバック電圧がADC0によって測定されますが、その値がDAC出力の設定を補正するために使用されます。FineTuneDAC(void)関数がこの補正を行います。最高の結果を得るために、この回路の性能テストを始める前にDACをキャリブレーションしてください。RS-232インターフェースには、FT232Rトランシーバがありますが、これをADM3202(3V電源を必要とする)のようなデバイスと置き換える事ができます。広い温度範囲の測定にはタイプJのような異なる熱電対が使用できます。冷接点補償誤差を最小限にするために、サーミスタをPCB上に配置する代わりに実際の冷接点に接触して配置する事ができます。冷接点温度の測定にRTDと外付けリファレンスを使用する代わりに、外部デジタル温度センサを使用する事ができます。I2Cインターフェースを介してADuCM360に接続する事ができます。追加する必要があります。回路の評価とテスト電流出力の測定DACと外付け電圧/電流変換回路は、同時に性能テストを実施しました。図1.に示すように、電流計はVLOOP+に直列に接続しました。初期キャリブレーションが行われる時とVDAC出力のクローズド・ループ制御が使われた時の回路の性能は0.5°Cの温度値になりますが、それはDAC出力回路によって明らかになります。ADCにより調整されます。温度はゆっくり変化する入力パラメータなので、このクローズド回路はこのアプリケーションに理想的です。11は理想的なDAC出力を青で示し、クローズド・ループ制御無しの実際のDAC出力(DAC出力を補正するためにADC0を使用しない)を赤で示します。誤差はクローズド・ループ制御無しで>10°Cになります。(青=理想値、赤=オープン・ループ動作:補正無しのDAC出力)図12は推奨されるクローズド・ループ制御を使用した場合のグラフです。誤差は小さく、理想値から0.5°C以下です。熱電対をJ2に接続します。回路の性能を評価するために2つの方法を使用しました。最初は、ボードに接続した熱電対を使って回路をテストしました。具体的にはその熱電対を使いアイスボックスの温度を測定し、次にその熱電対を使い沸騰水の温度を測定しました。13に示すように、誤差を十分に評価するためにWavetek社の多機能校正器4808を使用しました。このテストでは熱電対をこの校正器に置き換え、校正器を電圧源として使用しました。~+350°Cの範囲の52ポイントに等価の熱電対電圧を設定しました(ISE社の表ITS-90のTタイプ熱電対を参照)。8にテスト結果を示します。OBはEVAL-CN0300-EB1Zボードをプログラム、キャリブレーション、デバッグする時のみに使用します。わたって回路を調整、テストするために使用したテスト構成RTD測定テストRTD回路とリニアライゼーション・ソースコードを評価するために、ボードのRTDを高精度に調整可能な抵抗源と置き換えました。使用した計器は十進抵抗器1433-Zです。+114°Cに相当します。