24
2014 Microchip Technology Inc. DS00001607A_JP - p. 1 はじめに PIC24FJ128GC010 ファミリは高速な 16 ビット PIC24 MCU にアナログ周辺モジュールを内蔵して います。PIC24FJ128GC010 ファミリのデータシー (DS30009312) Microchip 社ウェブサイト (www.microchip.com/pic24fj128gc010) からダウン ロードできます。PIC24FJ128GC010 はデジタルブ ロック (USB、液晶ディスプレイ (LCD) コントローラ ) に加えて、各種のアナログ周辺モジュール (12 ビッ /10 Msps パイプライン ADC16 ビット ∆Σ ADC2 個のオペアンプ、2 チャンネル 10 ビット DAC ) を内蔵しています。 本書では、インテリジェント アナログを内蔵した PIC24FJ128GC010 マイクロコントローラ ファミリが 最適に使える各種のアプリケーションを紹介します。 本書に記載した回路はあくまでも初期設計用の参考例 であり、最終的な製品での使用を意図していません。 本書に記載したアプリケーションの一部には関連機関 (FDAULCE ) による認証が必要であり、それら の規格への適合性は完全に検証していません。 以下に、 PIC24FJ128GC010 が内蔵する各アナログ ジュールの機能の概要を記載します。詳細については、 dsPIC33/PIC24 ファミリ リファレンス マニュアル (FRM) の各モジュールに関連するセクションを参照し てください。 PIC24FJ128GC010 のアナログ モジュール 16 ビット ∆Σ A/D コンバータ (SD_ADC) - FRM (DS30687) 参照 SD_ADC DC 4 kHz の信号を変換する高精度 / 分解能 ADC です。このコンバータは、低帯域幅信号 (AC 電源の監視、温度計測、重量計、圧力センサ、ブ リッジ計測等 ) に最適なローパスフィルタ特性を備え ています。完全差動 PGA ( プログラマブル ゲインアン ) に接続された 2 つの入力チャンネルを備えるため、 単電源 / 高コモンモード条件での計測を大幅に簡素化 できます。ほとんどの場合、アンチエイリアシングに は単極フィルタで十分です。 SD_ADC を使う場合、AC 計測にはディザリングが効 果的です (1) 。ディザリング レベルは、 SD1CON1 特殊 機能レジスタ (SFR) を使って 3 通りに設定できます。 ディザリングは入力信号のスペクトルを拡散させる効 果を持ちます。これによりスペクトルのピークが抑え られ、結果として総 SNR (Signal-to-Noise Ratio) が向 上します。また、ディザリングによって入力信号に微 小ノイズを付加する事で、全てのアナログ / デジタル 変換で生じる量子化ノイズの影響が抑えられます (2) ∆Σ ADC は比較的大きなゲイン誤差とオフセット誤 差を生じるため、それらを補償する必要があります。 PIC24FJ128GC010 は、ゲインおよびオフセット誤差 を計測するための特殊な計測モードを備えています。 計測した誤差値を MCU ファームウェアによる簡潔な インライン計算に適用する事で最終的な ADC 値を生 成します。ゲインおよびオフセット計算を使った詳細 なファームウェア例については、 「基本構成要素」 を参 照してください。 12 ビット高速パイプライン A/D コンバータ - FRM (DS30687) 参照 非常に高速な 12 ビット パイプライン ADC 10 MHz の変換レートを達成可能です。PIC24FJ128GC010 50 個の独立したチャンネルを備え、それらは静電容量 式タッチパッド用入力または標準的な電圧入力として 使えます。この ADC のノイズフロアは比較的高いた め、最良の結果を得るにはサンプルを平均化する必要 があります。 オペアンプ - FRM (DS30505) 参照 PIC24FJ128GC010 は、消費電力 / 速度モードを設定可 能な 2 個の独立したオペアンプ モジュールを内蔵して います。パワーオンリセット (POR) 後は低消費電力 / 速モードに設定されます。これらのオペアンプの入力 バイアス電流は非常に低い (<10 pA) ですが、回路で入 力オフセット電圧の補償が必要になる場合がありま す。 10 ビット D/A コンバータ (DAC) - FM (DS39615) 参照 DAC モジュールは 2 つの独立した電圧出力を備えてい ます。 DAC の参照電圧には各種の電圧源を選択できま す。 DAC は、センサ用アンプ / フィルタのアナログ「フ ロントエンド」に DC バイアスをかける場合に非常に 便利です。また、トーン生成と適応的差分パルス符号 変調 (ADPCM) 方式の音声再生にも使えます。詳細は、 アプリケーション ノート『AN643 - Adaptive Differential Pulse Code Modulation Using PIC® Microcontrollers(11) 参照してください。 Author: Paul Schreiber Microchip Technology Inc. AN1607 PIC24FJ128GC010 アナログ デザインガイド 注意 : この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジ ナルの英語版をご参照願います。

IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607PIC24FJ128GC010 アナログ デザインガイド

注意 : この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジナルの英語版をご参照願います。

はじめに

PIC24FJ128GC010 ファミリは高速な 16 ビットPIC24 MCU にアナログ周辺モジュールを内蔵しています。PIC24FJ128GC010 ファミリのデータシート (DS30009312) は Microchip 社ウェブサイト(www.microchip.com/pic24fj128gc010) からダウンロードできます。PIC24FJ128GC010 はデジタルブロック (USB、液晶ディスプレイ (LCD) コントローラ等 )に加えて、各種のアナログ周辺モジュール (12ビット /10 Msps パイプライン ADC、16 ビット ∆Σ型 ADC、2 個のオペアンプ、2 チャンネル 10 ビット DAC 等 )を内蔵しています。

本書では、インテリジェント アナログを内蔵したPIC24FJ128GC010マイクロコントローラ ファミリが最適に使える各種のアプリケーションを紹介します。本書に記載した回路はあくまでも初期設計用の参考例であり、最終的な製品での使用を意図していません。本書に記載したアプリケーションの一部には関連機関(FDA、UL、CE 等 ) による認証が必要であり、それらの規格への適合性は完全に検証していません。

以下に、PIC24FJ128GC010 が内蔵する各アナログ モジュールの機能の概要を記載します。詳細については、dsPIC33/PIC24 ファミリ リファレンス マニュアル(FRM)の各モジュールに関連するセクションを参照してください。

PIC24FJ128GC010 のアナログ モジュール

16 ビット ∆Σ型 A/D コンバータ (SD_ADC) - FRM (DS30687) 参照SD_ADC は DC ~ 4 kHz の信号を変換する高精度 / 高分解能 ADC です。このコンバータは、低帯域幅信号(AC 電源の監視、温度計測、重量計、圧力センサ、ブリッジ計測等 ) に最適なローパスフィルタ特性を備えています。完全差動 PGA ( プログラマブル ゲインアンプ )に接続された2つの入力チャンネルを備えるため、単電源 / 高コモンモード条件での計測を大幅に簡素化できます。ほとんどの場合、アンチエイリアシングには単極フィルタで十分です。

SD_ADC を使う場合、AC 計測にはディザリングが効果的です (1)。ディザリング レベルは、SD1CON1 特殊機能レジスタ (SFR) を使って 3 通りに設定できます。ディザリングは入力信号のスペクトルを拡散させる効果を持ちます。これによりスペクトルのピークが抑えられ、結果として総 SNR (Signal-to-Noise Ratio) が向上します。また、ディザリングによって入力信号に微小ノイズを付加する事で、全てのアナログ / デジタル変換で生じる量子化ノイズの影響が抑えられます (2)。

∆Σ型 ADC は比較的大きなゲイン誤差とオフセット誤差を生じるため、それらを補償する必要があります。PIC24FJ128GC010 は、ゲインおよびオフセット誤差を計測するための特殊な計測モードを備えています。計測した誤差値を MCU ファームウェアによる簡潔なインライン計算に適用する事で最終的な ADC 値を生成します。ゲインおよびオフセット計算を使った詳細なファームウェア例については、「基本構成要素」を参照してください。

12ビット高速パイプラインA/Dコンバータ - FRM (DS30687) 参照非常に高速な 12 ビット パイプライン ADC は 10 MHzの変換レートを達成可能です。PIC24FJ128GC010 は50 個の独立したチャンネルを備え、それらは静電容量式タッチパッド用入力または標準的な電圧入力として使えます。この ADC のノイズフロアは比較的高いため、最良の結果を得るにはサンプルを平均化する必要があります。

オペアンプ - FRM (DS30505) 参照PIC24FJ128GC010 は、消費電力 / 速度モードを設定可能な 2 個の独立したオペアンプ モジュールを内蔵しています。パワーオンリセット (POR) 後は低消費電力 / 低速モードに設定されます。これらのオペアンプの入力バイアス電流は非常に低い (<10 pA) ですが、回路で入力オフセット電圧の補償が必要になる場合があります。

10 ビット D/A コンバータ (DAC) - FM (DS39615) 参照DACモジュールは 2つの独立した電圧出力を備えています。DAC の参照電圧には各種の電圧源を選択できます。DAC は、センサ用アンプ / フィルタのアナログ「フロントエンド」に DC バイアスをかける場合に非常に便利です。また、トーン生成と適応的差分パルス符号変調 (ADPCM) 方式の音声再生にも使えます。詳細は、アプリケーション ノート『AN643 - Adaptive DifferentialPulse Code Modulation Using PIC® Microcontrollers』(11) を参照してください。

Author: Paul SchreiberMicrochip Technology Inc.

2014 Microchip Technology Inc. DS00001607A_JP - p. 1

Page 2: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

その他の便利なモジュール上記のモジュールに加えて、PIC24FJ128GC010 は内部バンドギャップ参照電圧、しきい値検出機能を備えた充電時間計測ユニット (CTMU) (DS39743参照 )、3 個のコンパレータ、LCD コントローラ、USB OTGモジュールも内蔵します。

本書の構成

回路例は以下の 4 項目に分けて記載しています。

•「基本構成要素」

•「産業用アプリケーション」

•「コンシューマ / 電化製品アプリケーション」

•「医療アプリケーション」

各項目では、各種のアナログ周辺モジュールを使った複数の回路例について説明します。最後の「参考資料」には、参考資料と関連情報へのリンクを掲載しています。

基本構成要素以下に記載する回路例は、他の回路と組み合わせて使う「構成要素」であり、完全な製品用の回路ではありません。各回路は特定の動作だけを実行しますが、これらの動作はほとんどのアナログ「フロントエンド」計測 / 信号生成回路で一般的に使われています。

これらの回路例の使用に際しては以下に注意してください。

• ESD 保護、EMI フィルタ処理、実際の製品で生じるその他の干渉に対処するには回路を追加する必要があります。

• 各モジュールのコモンモード電圧 (VCM) を超えない事が必要です。これらの仕様値は

『PIC24FJ128GC010 ファミリ データシート』内の「電気的特性」に記載されています。

• 低消費電流 / バッテリ駆動製品では、部品の特性値の選択に特別な注意が必要です。

構成要素 -1: 電流の監視シャント抵抗と SD_ADC の PGA を使った電流計測回路 ( 図 1) は、最も簡潔で部品点数の少ないアプリケーションの 1 つです。

図 1: シャント抵抗と SD_ADC の PGA を使った電流計測回路

VDD VDD

C2C1

L1

SVDDCH1-CH1+

G = 32PGA

1RLOAD

SD_ADC

DS00001607A_JP - p. 2 2014 Microchip Technology Inc.

Page 3: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

この回路構成は SD_ADC の差動入力チャンネルを使います。計算を容易にするため、抵抗値は通常 10 倍刻みで選択します (1、0.1等 )。抵抗値が低いほど抵抗器で消費する電力は減少し、より大きな電流を計測できます。抵抗における電圧降下が PGA のコモンモード レンジ内であれば、SD_ADC は AC 電流でも DC 電流でも計測できます。擬似型差動入力ではなく真の差動入力は、入力ピンを基準として正極性または負極性の電流を検出できます。PGA の出力電圧 (= SD_ADC への入力電圧 ) が参照電圧を超えないよう、電流の予測レンジと抵抗値に基づいてPGAのゲインを設定する必要があります。

DC 電流を計測する場合、SD_ADC 制御ビットを以下のように設定します。

• DITHER - 参照電圧に基づいてディザリングのレベルを設定します ( 参照電圧が SVDD から 0.5 V 以内の場合は低レベルに設定し、SVDD - 0.5 V よりも低い場合は高レベルに設定する )。

• PWRLVL = 0 ( 標準帯域幅 )• CHOP = 0b11 ( チョッピング有効 )• SDOSR = 0 ( オーバーサンプリング比 = 1024)AC 電流を計測する場合、アプリケーション要件と電流波形の性質によってはオーバーサンプリング比(SDOSR) を 1024 よりも小さくする必要があります。

一般的に、電流計測には 0.1 ( 許容誤差 : 1%、サイズ : 0805) の抵抗を使います。この抵抗を使った場合、最大で 1 A ( 電圧降下 = 100 mV) まで計測できます。PGA のゲインは SD_ADC の入力電圧が参照電圧を超えないように設定します。計測に高精度を求めない場合、受動フィルタ ( 図 1 の C1、C2、L1 ( フェライトビーズ )) を使って VDD から SVDD を生成できます。この回路例で SVDD = 3.3 V とした場合、ゲインを 32 に設定する事で、上記の標準的なシャント抵抗を 1 個使って最大で 100 mA の電流を計測できます。

完全な 16 ビット精度を要求するアプリケーションでは、低ノイズ / 高安定度 (<9 ppm) の外部参照電圧をCH1+ ピンに接続し、SD1CON レジスタでこのピンを選択する必要があります。平均化するサンプルの個数(16、32、64 を選択可能 ) を大きくする事で精度を向上させる事もできます。

SVDD フィルタの標準的な値は以下の通りです。

C1: 2.2 F/25 V

C2: 0.1 F/50V

L1: 100 フェライトビーズ

サンプルコード

この回路例 (シャント抵抗式電流計 )向けのC言語ルーチンを例 1 に示します。このコードは SD_ADC をゲイン / オフセット計算用に初期化し、SD_ADC の「未処理」結果値を読み出し、ゲイン / オフセット計算を実行します。この計算では、SD_ADC の参照電圧 = 3.3 V(SVDD ピンを使用 )、シャント抵抗 = 1を想定しています。

2014 Microchip Technology Inc. DS00001607A_JP - p. 3

Page 4: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

例 1: SD_ADC のゲイン / オフセット計算static signed long int offset;static double SD_gain;//------------------------------------------------------------------------------//Public prototypes//------------------------------------------------------------------------------void ADC_SD_Init();float ADC_SD_GetCalibratedResult();signed short int ADC_SD_GetRawResult();//------------------------------------------------------------------------------// Description:Initializes the sigma delta ADC module and performs initial// measurements to establish gain and offset errors, so that they can be used// later to get calibrated results.This API should also be called first,// prior to calling the other sigma delta ADC API functions.The measurement// channel is CH1 (only option in this demo, but can be expanded to include CH0).//------------------------------------------------------------------------------void ADC_SD_Init()

unsigned int i;unsigned char count;signed long int maxValue;#define EXPECTED_MAX_VALUE (double)10430

// 32.83mV static input, 32 gain, 3300mV ref, 32767 count register//Disable ADC while configuring it.

SD1CON1 = 0x0000;//Setup Sigma Delta ADC Module, so that it is ready to perform gain and//offset measurements (so we get proper gain and offset calibration values to use later). SD1CON1bits.PWRLVL = 1; // High power mode SD1CON1bits.SDREFP = 0; // Positive Voltage Reference is SVDD SD1CON1bits.SDREFN = 0; // Negative Voltage Reference is SVSS SD1CON1bits.VOSCAL = 1; // Internal Offset Measurement Enable SD1CON1bits.DITHER = 1; // Low Dither, because using SVDD as reference SD1CON1bits.SDGAIN = 5; // Gain is 32:1 for offset measurement and application SD1CON2bits.RNDRES = 2; // Round result to 16-bit SD1CON2bits.SDWM = 1; // SDxRESH/SDxRESL updated on every Interrupt SD1CON2bits.SDINT = 3; // Interrupt on every data output SD1CON2bits.CHOP = 3; // Chopping should be enabled always SD1CON3bits.SDCH = 1; // Channel 1 is used for this demo code SD1CON3bits.SDCS = 1; // Clock Source is 8MHz FRC SD1CON3bits.SDOSR = 0; // Oversampling Ratio (OSR) is 1024 (best quality) SD1CON3bits.SDDIV = 1; // Input Clock Divider is 2 (SD ADC clock is 4MHz)// Enable the ADC module now that it is configured SD1CON1bits.SDON = 1;// Wait for a minimum of five interrupts to be generated.Need to throw at least// the first four away when using interrupt every period option, since the// SINC filter needs to be flushed with new data when we change// ADC channel or initialize the ADC. for (i = 0; i<6; i++) // (value must be >= 5) IFS6bits.SDA1IF = 0; //Clear interrupt flag while(IFS6bits.SDA1IF == 0); //Wait until hardware says we have a result ready. IFS6bits.SDA1IF = 0; //Clear interrupt flag while(IFS6bits.SDA1IF == 0); //Wait until hardware says we have a result ready. IFS6bits.SDA1IF = 0; //Clear interrupt flag offset = (signed short int)SD1RESH; // cast to accommodate the sign bit extend// Switch off offset measurement mode, now that we have the value SD1CON1bits.SDON = 0; SD1CON1bits.VOSCAL = 0;// Now reconfigure ADC so as to measure the SVDD through channel 1,// and compare it against the expected result (after offset correction).// Use the comparison to compute the optimum gain calibration factor, and// save the value, so that it may be used later. SD1CON3bits.SDCH = 1; // point to the input voltage SD1CON1bits.SDON = 1; // SD_ADC back on to make next measurement// Wait for a minimum of five interrupts to be generated. for(count=0; count<6; count++)

DS00001607A_JP - p. 4 2014 Microchip Technology Inc.

Page 5: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

EXAMPLE 1: SD_ADC のゲイン / オフセット計算 ( 続き )// Clear interrupt flag. IFS6bits.SDA1IF = 0;// Wait for the result ready. while(IFS6bits.SDA1IF == 0);// Save the maximum value to calculate the gain. maxValue = (signed short int) SD1RESH;// must cast as signed as is declared unsigned in header// Calculate gain.SD_gain = EXPECTED_MAX_VALUE/((double)((signed long int)maxValue-offset));//// It is important to note that the gain error of the PGA is not corrected in this example, as// the gain is 1 when measuring SVDD.You can always 'hard code' the gain correction to some// value or other scheme.A good initial value is in the range of 1.0475 to 1.0575// Disable ADC while re-configuring it (for normal operation mode, now that// we have establish gain/offset calibration values for the ADC). SD1CON1bits.SDON = 0; //Setup Module for normal reads on CH1 SD1CON3bits.SDCH = 1; SD1CON1bits.SDGAIN = 5; // Gain is back to 32:1 for the application code SD1CON1bits.SDON = 1;

// Wait for SYNC filter to flush, so the next result the application tries //to read will be valid for(count = 0; count < 6; count++) //throw away first >=4 samples for SINC filter delay while(IFS6bits.SDA1IF == 0); //Wait until hardware says we have a result ready. IFS6bits.SDA1IF = 0; //Clear interrupt flag// The ADC is now ready, and the first sample of the newly selected channel// should be available in SD1RESH. //------------------------------------------------------------------------------// Function: signed short int ADC_SD_GetCalibratedResult(BYTE Channel)// Description:Does what is needed to get an ADC sample from the channel// specified.The value that is returned is the raw result generated by// the hardware, and will therefore contain offset and gain error.//------------------------------------------------------------------------------signed short int ADC_SD_GetRawResult()// Wait for a new resultIFS6bits.SDA1IF = 0; //Clear interrupt flagwhile(IFS6bits.SDA1IF == 0); //Wait until hardware says we have a result ready.return SD1RESH; //------------------------------------------------------------------------------// Function: signed short int ADC_SD_GetCalibratedResult(BYTE Channel)/ Description:Does what is needed to get an ADC sample from the channel// specified, and then compensate it for offset and gain.The calibrated// result is then returned.//------------------------------------------------------------------------------float ADC_SD_GetCalibratedResult()

signed long int OffsetCalibratedResult;double GainAndOffsetCorrectedResult;

// Get the raw ADC result OffsetCalibratedResult = ADC_SD_GetRawResult();// Correct for offset error measured previously OffsetCalibratedResult -= offset;// Now compute the gain corrected result. GainAndOffsetCorrectedResult = (double)OffsetCalibratedResult * (double) SD_gain; // ratio of adc result to max count of 15bits plus the sign bit GainAndOffsetCorrectedResult = GainAndOffsetCorrectedResult / 32767; // multiply by voltage in mV to get result in milliamps GainAndOffsetCorrectedResult = GainAndOffsetCorrectedResult * 3300.0; ; //scales back from 32x gain and divides by 1 (the shunt resistor) GainAndOffsetCorrectedResult = GainAndOffsetCorrectedResult / 32.0

return (float) GainAndOffsetCorrectedResult; // current in ma

2014 Microchip Technology Inc. DS00001607A_JP - p. 5

Page 6: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

構成要素 -2: プログラマブル電流源測温抵抗体 (RTD) 等の計測用変換器には、出力電圧を生成するために定電流を供給する必要があります。そのための基本回路を図 2 に示します。

図 2: 定電流源の基本回路

VDD

VDD

RSET

BC560C

R_ loadIOUT = (VDD – VREF)/RSET

1K

OA1VREF

R1

R210 F

DS00001607A_JP - p. 6 2014 Microchip Technology Inc.

Page 7: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

内蔵オペアンプの 1 つを使って電流増幅用のトランジスタを駆動します。オペアンプの一方の入力は参照電圧に接続します。通常この参照電圧は VDD 電源から単

純な分圧器を使って生成します。図 3 に、SD_ADC を使って負荷電流を計測するよう改良した回路を示します。

図 3: SD_ADC による負荷電流の計測

ファームウェアは計測値から得られる誤差値に基づいて DAC を適正電圧に駆動します。これは SD_ADC を使って DAC 値を増減する事でオフセットまたはゲイン誤差をキャンセルするサーボループ方式の一例です。正確な目標 DAC 電圧値を格納した校正済みルックアップ テーブルは不要です。ファームウェアは、SD_ADC で計測した電流が適正値になるまで DAC の

出力電圧を増減します。例えば VDD 電圧が変化した場合、サーボループ回路は電流の変化を検出し、DAC に対する設定値を書き換える事で電流源を調整します。サーボループの応答速度は、単位時間当たりの変化率が一定のアルゴリズムを使ってファームウェアで容易に設定できます。

VDD

RSET

BC560C

R_ loadIOUT = (VDD – VDAC)/RSET

1K

OA1

DACSD_ADC

2014 Microchip Technology Inc. DS00001607A_JP - p. 7

Page 8: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

構成要素 -3: 入力フィルタ /DCオフセット修正 PIC24FJ128GC010 の内蔵 ADC は非常に高レートで入力信号をサンプリングします。SD_ADC は 1/2/4 MHzのいずれかのサンプリング クロックを使います (可変データレートまたは OSR クロックと混同しないよう注意してください )。パイプライン コンバータのサンプリング レートは 1 MHz ~ 10 MHz のレンジで可変

です。どのようなサンプリング システムでも、変換結果にエイリアシング成分が混入する事を防ぐために入力ローパスフィルタが必要です。

加えて、SD_ADC を使う場合、変調器の出力パルスを16 ビット値に変換するためのデシメーション フィルタが固有のローパス応答性を持つため特別な配慮が必要です。デシメーション フィルタの周波数応答は選択した OSR によって異なります ( 図 4 参照 )。

図 4: デシメーション フィルタの周波数応答に対する OSR の影響

このフィルタの -3 dB 点近くのロールオフ特性は緩やかです。デシメーション フィルタの「フラット」応答部 ( 減衰率が 0.1 dB 未満の区間 ) は -3dB 帯域幅の約 1/8 である事に留意する事が大切です。AC 信号を精度良くサンプリングするには、入力信号の周波数成分がデシメーション フィルタの「フラット」通過帯域内に収まる必要があります。デシメーション フィルタの全通過帯域から外れる入力信号の高調波成分は、非常に大きな歪みを生じる原因となるため、外付けフィルタで除去する必要があります。これは ∆Σ 型に特有の要件です。従来型のパイプライン ADC 等では、サンプリング周波数における高調波を約 -6 dB/bit以下に抑える事が必要です。このため、PIC24FJ128GC010のSD_ADCはAC正弦波またはDC信号の計測に最も適しています。∆Σ 型アーキテクチャは、オーディオ信号等の比較的高帯域幅の信号サンプリングに使われる事がありますが、それらの ∆Σ型 ADC は PIC24F が備えていない特殊な回路要素を実装しています。

SD_ADC のデシメーション フィルタのローパスフィルタ応答は、変換器からの DC 信号を計測する場合に大きな利点をもたらします。デシメーション フィルタは高周波ノイズを大幅に減衰させますが、OSR を最高値 (1024) に設定した場合でも入力の -3 dB 帯域幅は約325 Hz であるため、AC 電源ラインの高調波成分は帯域幅に含まれます。これらの高調波成分が問題となる場合、フィルタを追加する必要があります ( 詳細は次の項目参照 )。

通常アンチエイリアシング フィルタは、AC 信号をデジタル化するという目的で使われます。しかし温度等の DC 信号を計測する場合でも、センサのラインから混入するノイズ、電源および参照電圧ラインに含まれるノイズ、プリント基板上のノイズ源からのノイズ等を除去するために、やはり入力フィルタが必要です。全てのケースについて必要な対応策を具体的に述べる事は困難ですが、以下で説明する例とアプリケーションでは、いくつかのガイドラインを示します。

OSR = 1024 OSR = 16

DS00001607A_JP - p. 8 2014 Microchip Technology Inc.

Page 9: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

SD_ADC を使う場合、単極 RC フィルタだけでナイキスト周波数を超える信号成分を 20 dB 以上減衰させる事ができます。この要件はパイプライン ADC とは大きく異なる事に注意してください。パイプライン ADCでエイリアシングを防ぐには、ナイキスト周波数において 74 dB を超える信号減衰率が必要です。SD_ADC内の変調器はノイズ成分を帯域外に追いやります。図 5 に、SD_ADC に適した単純な RC フィルタを示します。

図 5: 単純な RC フィルタ

このフィルタの応答は 8 kHz までフラットであり、48 kHz の -3dB 帯域幅と 500 kHz 以上で 20dB を超える減衰率を有します。変調器の目標サンプリングレートが 4 MHz であるのに対し、2 MHz 以上での減衰率は32 dB を超えています。

12 ビット パイプライン ADC の場合、アンチエイリアシング フィルタの極数はアプリケーションが要求する帯域幅によって決まります。パイプライン ADC の最低サンプリング レートは 1 MHz である事から、アンチエイリアシング フィルタの傾きに対する要求はある程度緩和されます。表 1 に、バターワース フィルタに関する簡単なガイドラインを示します。正確な回路特性はアプリケーションによって異なります。この表は、サンプリング レートが 1 MHz の場合の値を示しています。

表 1: パイプライン ADC のバターワース フィルタ

アンチエイリアシング フィルタの詳細な説明と回路については、Microchip 社のアプリケーション ノート

『AN699 - Anti-Aliasing, Analog Filters for DataAcquisition Systems』 (DS00699)を参照してください。

フィルタ例 -1: PGA 入力ピンに接続するセンサのラインが長い場合

多くの場合、計測用センサは PIC24FJ128GC010 を実装したプリント基板から離れた場所に置かれます。センサから基板までのラインには、AC 電源ラインからのノイズや AM ラジオ放送からの RF 信号等、各種干渉源からのノイズが混入します。PGA の入力インピーダンスは高い (>1 MΩ) ため、計測時には高調波信号によるジッタを生じないよう配慮する必要があります。

図 6 に、SD_ADC の差動 PGA 入力向けの代表的な入力信号コンディショニング回路を示します。

図 6: 差動フィルタノイズ用の入力信号コンディショニング

2 つの R 同士および 2 つの C1 同士の値は同じです。PGA 入力のコモンモード ノイズ除去率は非常に高いため、ディファレンシャル モードノイズの方をより大きく減衰させる必要があります。このため、通常はディファレンシャル モード コンデンサ C2 の容量を C1 の10 倍に設定します。フィルタの -3 dB 点の周波数は式 1 により求まります。

式 1:

代表的なアプリケーションとして、皮膚に電気的に接触するセンサを使った心拍計があります。抵抗Rはローパス ノイズフィルタを形成するだけでなく、ESD 保護を追加すると共に皮膚への電流を制限する効果も持ちます。標準的なアプリケーションにおける抵抗とコンデンサの値は R = 100 kΩ、 C1 = 220 pF、C2 = 2.2 nFです。これらの値によって得られる -3dB 点の周波数は、ディファレンシャル モードに対して 345 Hz、コモンモードに対し 7.2 kHz です。

極数入力信号帯域幅

( 折り返し防止歪フイルタ処理の前 )

1 90 Hz

2 6 kHz

3 24 kHz

4 50 kHz

1 kSignalInput

3.3 nF

SD_ADCInput

R

C2

CH0+

R

CH0-

C1

C1

InputSignal

FREQdiff =

FREQcm =

1

4R(C2 + )C12

12RC1

2014 Microchip Technology Inc. DS00001607A_JP - p. 9

Page 10: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

フィルタ例 -2: ローパスフィルタと DAC を使ったバイアシング

図 7 に、2 極サーレンキー型 1 kHz ローパスフィルタ回路を示します。内蔵オペアンプを使ったこの回路のゲインは 12 です。Microchip 社は、各種のフィルタに対応する無償のフィルタ設計ツール (FilterLab® 2.0)(3) を提供しています。

図 7: 2 極サーレンキー型 1 kHz ローパスフィルタ

これは単電源システムであるため、コモンモード電圧VCM が必要です。コモンモード電圧を生成するための標準的な回路を図 8 に示します。抵抗 R1 と R2 は分圧器を形成し、C1 は追加のフィルタです。オペアンプによるボルテージ フォロワが接続先の回路に低インピーダンス電圧源を提供します。この電圧源回路の

代わりに PIC24FJ128GC010 の DAC 出力チャンネルの 1 つを使う事ができます ( 図 8 の上段 )。コモンモード電圧は通常 VDD/2 であるため、DAC を使って容易に生成できます。DAC を使うと電圧をファームウェアで調整でき、フィルタ用に使う内蔵オペアンプの DCオフセットも補償できるという利点が得られます。

図 8: コモンモード電圧生成回路

OA1

27K

27K56KSignalInput

10 nF

1 nF

2.4K

SignalOutput

VCM

VDD

R1

OA2

DAC

51K

VCM

VCM

R251K

C110 F

DS00001607A_JP - p. 10 2014 Microchip Technology Inc.

Page 11: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

アプリケーション実行中でも MCU サイクルにまだ余裕がある場合、特殊なソフトウエア アルゴリズムを使って DC オフセットを除去できます (4)。

データ収集システムでよく使われるフィルタのもう 1つの例として、AC 電源ラインの干渉を除去するためのノッチフィルタがあります。この干渉は医療機器でよく起こる問題です。医療機器では、装置から患者までの接続ラインが長いため、高インピーダンス アンプは電源ラインからの AC ハムノイズと天井照明の蛍光灯バラストからのノイズ ( 電源ラインの 2 倍の周波数 )の影響を受けやすくなります。図 9 に、阻止帯域で50dB を超える減衰率を達成する受動型ノッチフィルタの回路を示します (5)。

図 9: 50 dB の阻止帯域減衰率を持つ受動型ノッチフィルタ

図 10: ノッチフィルタの特性

より効果的な「くし型」フィルタをファームウェアで実装する事もできます。このフィルタは基本周波数と2 次高調波の両方を除去できるため、AC 電源ラインと照明バラストからの干渉問題を同時に解消します (6)。

6.98K6.98K

InputSignal

220 nF 220 nF

220 nF

RF 82.5K

R R

Output

3 個のコンデンサの容量は全て同じです。RF の抵抗値は R の 12 倍です。

fNOTCH = 12RC3

2014 Microchip Technology Inc. DS00001607A_JP - p. 11

Page 12: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

フィルタ例 -3: PGA 入力を使った自己バイアシング

外部信号を ADC に入力するには、それらの信号の電圧を入力ピンのコモンモード レンジ内に収める必要があります。AC 信号レベルが低くて DC オフセットレベルが高いというのはよくある問題です。特に AC信号周波数が 5 Hz よりも低い場合、AC カップリングによる通常の対策では最良の結果が得られない可能性

があります。MCU を使って信号を前処理する事で、アナログ フィルタ処理と MPU 算術ルーチンを組み合わせた巧妙なテクニックを使って最終的に良好な結果を得る事ができます。

以下では、図 11 に示す自己バイアス方式の例について説明します。この回路は、ホームセキュリティ等でモーションセンサ用に使われる受動型赤外線 (PIR) レシーバへのインターフェイスを提供します。

図 11: 受動型赤外線 (PIR) レシーバへのインターフェイス

一般的な PIR モジュールの出力段は FET ソースフォロワであり、47 kΩ の抵抗を使ってグランドからバイアスします。この回路構成は電源のリップル / ノイズに対して非常に敏感であるため、RC フィルタ (100/10 F) を使います。PIR の出力は、約 2 V の DC 電圧成分と微弱な AC 信号成分 ( 熱源の動きに比例し、電圧レンジは 10 mV 以内 ) を含みます。DC 電圧は、照明や振動等の要因による「バックグラウンド」の熱的変化によって変動します。

回路は 2 個の RC フィルタを使います。すなわち PGAの非反転入力には応答の速い (時定数が小さい )フィルタを使い、反転入力 ( 参照入力 ) には大幅に応答の遅い( 時定数は前者の 10,000 倍 ) フィルタを使います。これにより、差動アンプで PIR 出力信号からバックグラウンドの DC バイアス成分を減算する事ができます。PGA のゲインは 32 に設定します。このゲインはSD_ADC に対してフルスケールに近い入力信号振幅を達成するには小さすぎますが、16 ビット分解能のサンプルを平均化する事でモーション検出には十分な精度が得られます。

PGA

100Ω

VDD

10 F

SD_ADC

G = 320.1 F47K

1K

10 F

100K

PIR

DS00001607A_JP - p. 12 2014 Microchip Technology Inc.

Page 13: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

産業用アプリケーション

ブリッジ計測一般的な産業用プロセス制御向けの計測にはブリッジ計測が不可欠です。これは、4 個の抵抗によるホイートストン ブリッジと呼ばれる回路構成を使います。 4 個の抵抗の内 3 個の値は等しく既知ですが、1 個の値は未知です。未知の抵抗値は、センサに作用した現象 ( 空気圧、圧縮 / 引っ張り応力、湿度等 ) の結果として変化します。標準的なブリッジ変換器のモデルを図 12 に示します。

図 12: 標準的なブリッジ変換器

このタイプの変換器は、精密にレシオのマッチングが取られた抵抗器を使って、式 2 に従う出力電圧を生成します。

式 2:

VE は励起電圧と呼び、AC でも DC でも構いません。RG の抵抗値は変化し、他の抵抗 R の値は一定です ( 通常、5 k ~ 20 kΩ)。変換器計測レンジ内の RG 抵抗値の変化幅は小さいため、生成される差動出力電圧も大きくありません。一般的なフルスケール仕様値は5 ~ 50 mV 程度です。このため、ADC 入力ピンの前で出力電圧を増幅すると共に DC バイアス成分を除去する必要があります。

多くのブリッジ計測のフルスケール出力は 5 ~ 10 mVしかないため、ゲインが 32 (PIC24FJ128GC010 のPGAの最大ゲイン )では計測に必要なダイナミックレンジは得られません。このため、2 個の内蔵オペアンプを使って 1 つの計装アンプを構成し、1 個の抵抗器を使ってゲインを設定します。このアンプは、 2 個のコンデンサを 2 個のフィードバック抵抗に対して並列に追加する事で、アンチエイリアシング フィルタとしても機能します。PGA のゲインを低く (2 ~ 8 倍に )設定する事で、SD_ADC に対する総合的な入力ノイズを低減できます。ブリッジ型変換器から得られるデータの変化は遅いため、多数個のサンプルを平均化する事でノイズを低減すると共に計測精度を向上させる事ができます。 図 13 に、内蔵オペアンプを使った回路例を示します。

図 13: ブリッジ型変換器に内蔵オペアンプを使った例

R

R

RG

R

+

VE

VOUT

VOUT = VER

R + RG[[ ] – 12]

OA1

SD_ADC

VDD

PGA

OA2

G = 4

Gain = 10

R

40.1KAltimeter

RG9.1K

40.1K

R

10 nF

10K 10K

10K10K

10 nF

2014 Microchip Technology Inc. DS00001607A_JP - p. 13

Page 14: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

オペアンプの入力フィルタのゲインは下式によって求まります。

式 3:

図 13 に示した値を使う場合、初段のゲインは約 9.8、PGA のゲインは 4 であるため、総合ゲインは約 39 です。使用する変換器のタイプに応じて抵抗 RG を調整する事で、必要なダイナミックレンジが得られます。40.1 kΩのフィードバック抵抗と10 nFのコンデンサにより、アンプの応答は 400 Hz でロールオフ (-3dB) します。実際のゲインおよびフィルタ要件はアプリケーションによって異なります。図 13 に示した回路 ( 高度計 ) はフルスケールで 0 ~ 60 mV (0 ~ 20,000 ft に対応 ) を出力するため、SD_ADC への入力電圧は 約 0 ~2.4 V です。

内蔵オペアンプの CMRR ( 同相信号除去比 ) では不十分である場合のために、Microchip 社はスタンドアロン計装アンプ MCP6N11 を提供しています。「血圧計」に記載した回路例ではこの計装アンプを使います。

ブリッジ計測を使ったその他のアプリケーションについては、Microchip 社のアプリケーション ノート

『AN695 - Interfacing Pressure Sensors to Microchip’sAnalog Peripherals』(DS00695) を参照してください。

AC 電源ラインモニタAC 電源ラインモニタは、課金用とそれ以外の一般用に分類されます。電力供給事業者が電力利用者への課金を目的として使う電気メータには厳格な規格(IEC 62052、IEC 62053、ANSI C12.20) が適用されます。これらのメータには 0.2% または 0.5% の精度要件が課せられ、規格に準拠するには 30 項目を超える試験と校正が必要です。Microchip 社は、課金用の高精度計測に関する各種のリファレンス デザインとアプリケーション ノートを以下の弊社ウェブサイトで提供しています。

www.microchip.com/powermonitoring

本書では、課金以外の目的 ( 機器試験、故障検出、一般的な情報収集等を含む ) で使われる AC 電源モニタの設計例について説明します。実際の電力計算については、『PIC18F87J72 Single-Phase Energy MeterReference Design』(DS51931) 向けのサンプルコードと設計ガイドを参照してください。

電気メータの計測部の回路を図 14 に示します。

図 14: 単相 AC120 V 電力モニタ

Gain = 1 + 2RRG

SD_ADC

1K

1K

150K 150K

SD_ADCCH1

CH0

100 nF

330

330

330Ω 100 nF

100 nF

60A Shunt

Neutral

Line

注:本図は参照用です。実用にあたっては適切な回路を設計する必要があります。

特に SD_ADC のどの入力電圧も -300 mV を下回らないようにしてください。

DS00001607A_JP - p. 14 2014 Microchip Technology Inc.

Page 15: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

AC 電力モニタ用のインターフェイスは単純です。電圧計測には、中性線に接続した単純な抵抗分圧器とアンチエイリアシング フィルタの組み合わせを使います (10)。信号は AC であり、変換結果の符号ビットは変化するため、SD_ADC の差動入力を使っている事に注意してください。AC 電流計測には、キャビネットに取り付けた低抵抗 / 高定格電力の電流計測用シャント抵抗器を使います。電圧降下を直接計測し、ダイナミック レンジが最大になるように PGA のゲインを設定します。この設定は使用するシャント抵抗によって決まります。

SD_ADC のチャンネル MUX の切り換えによって電圧計測と電流計測の間に 5 サイクルのパイプライン遅延が生じます。このため、課金用に瞬時 AC 電力を直接計測する事はできません。パイプライン遅延はデータサンプリング周期の5倍で一定です。従ってデータレートが高いほど位相誤差は減少します。表 2 に、OSR と位相誤差の関係を示します。データの平均化またはフィルタ処理アルゴリズムを使わない場合、OSR が小さいほどコンバータの精度は低下する事に注意してください。

表 2: OSR と位相誤差の関係

OSR を小さくするとデシメーション フィルタの帯域幅が拡大するため、計測結果のノイズは増加します。通常、このアプリケーションの表示更新レートは 1 Hzであるため、最終的な計算は低レートで実行できます。従って、数 100 個のサンプルをフィルタ処理 / 平均化する事で、負荷が消費する電力をより精度良く計算できます。

より高精度な計測や課金用の計測が必要な場合、電圧計測用に12ビット パイプラインADCを使い、SD_ADC割込みフラグによってパイプライン ADC をトリガします。SD_ADC は電流計測用に使います。アプリケーション ソフトウェアは、12ビットADC計測とSD_ADCデシメーション フィルタに固有のレイテンシ間の遅延を正確に補償する必要があります。これには、計測値を RAM バッファに書き込み、MCU のサイクル遅延に対して計算を調整し、正しく対応する電圧および電流サンプルを使って計算する必要があります。

2 チャンネル SD_ADC を使った位相遅延補償付きの課金用電気メータの設計に関しては、Microchip 社製2 チャンネル アナログ フロントエンド MCP3901 を参 照 し て く だ さ い。こ の デ バ イ ス の 詳 細 は、www.microchip.com/mcp3901 でご覧になれます。

OSR 値 位相誤差

1024 30.7%

512 15.4%

256 7.7%

128 3.8%

64 1.9%

32 1.0%

16 0.5%

2014 Microchip Technology Inc. DS00001607A_JP - p. 15

Page 16: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

コンシューマ / 電化製品アプリケーション

高機能サーモスタット現在のサーモスタットは、過去のダイアル型インジケータで温度を計測するだけのタイプから大幅に進化しています。それらは温度、湿度、CO2 濃度、大気圧を記録するミニ気象観測所であると言えます。データ

は Wi-Fi または Bluetooth を介して携帯電話またはコンピュータへ無線送信できます。ユーザが在宅中かどうか等を検出するためのモーションセンサを採用する事も可能です。以下の例では、サーモスタット用の3 ~ 4 個のセンサを PIC24FJ128GC010 に接続する方法について説明します。回路例を図 15 に示します。

図 15: 高機能サーモスタット用センサを PIC24FJ128GC010 に接続するためのインターフェイス

CO2 濃度が 350 ppm の清浄な屋外の空気と比べた場合、部屋の CO2 濃度が約 1200 ppm を超えると人は

「空気が淀んでいる」または「息苦しい」と感じるという事が研究によって示されています (7)。この回路例では、CO2 濃度を計測するために特殊なセンサを使います。このセンサには 6 V/200 mA の電源が必要です。これは昇圧型レギュレータ MCP1650 を使ってシステムの 3.3 V 電源から供給します (8)。センサの出力段は非常に高い入力インピーダンスを要求しますが、これには内蔵 CMOS オペアンプで対応できます。オペアンプは電圧フォロワとして構成します (AMP1CON レジスタの NINSEL<2:0> ビットを「110」に設定 )。

このサーモスタットはPIC24FJ128GC010のCTMU回路に接続した NTC サーミスタを使って温度を計測します (9)。相対湿度の計測には、SD_ADC に接続した DC レシオメトリック センサを使います。PIC24FJ128GC010 が生成したデータはローカルのLCDに表示するか、USBまたは無線アダプタ モジュール (MRF24WG0MA 等、SPI ポートを使用 ) を介して外部へ転送できます。

SD_ADCCH0

OA2

SD_ADCCH1

3.3V

3.3V

Gain = 3210K

100 nF

Set as Follower

CO2 Sensor

6VMCP1650

HumiditySensor

HIH-5030

10K 100 nF

Gain = 1

CTMUModule

TemperatureSensor

10K NTC

MG811

DS00001607A_JP - p. 16 2014 Microchip Technology Inc.

Page 17: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

DAC 出力を使ったオーディオ再生2 つの DAC チャンネルを使って、ADPCM 方式の音声再生や警報音の生成等、各種のオーディオ信号を生成できます。適切なバッファアンプを使う事で、標準的

な 16のイヤフォンを駆動できます。図 16 に、DACチャンネルを使って小型スピーカまたはヘッドフォンを駆動する簡単な回路を示します。

図 16: 2 つの DAC チャンネルを使ったヘッドフォンの駆動

DAC が生成したオーディオ / トーン信号は、ローパスフィルタを介して MCP6022 バッファアンプに入力します。このオペアンプの高電流出力段は ±20 mA の駆動能力を有します。標準的なイヤフォンを適度な音量で駆動するにはこれで十分です。アンプ出力に直列に挿入した 15 抵抗は音量を制限するための物であり、アプリケーションによっては不要です。AC オーディオ信号に含まれる DC バイアス成分は、100 F コンデンサによって除去します。

この回路例のローパスフィルタのカットオフ周波数は約 16 kHz です。音声出力の場合、カットオフ周波数は約 4 kHz に下げます。電化製品で警報用にスピーカを駆動する場合、15の抵抗は必要音量に応じて約3まで小さくできます。

MCP6022

1 nF

DAC1

10K

15 100 F Audio

Out

2014 Microchip Technology Inc. DS00001607A_JP - p. 17

Page 18: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

医療アプリケーション以下では、PIC24FJ128GC010 が適する医療機器アプリケーションとして、血圧計と血糖値計について説明します。デバイスが内蔵する LCD、USB、XLP 超低消費電力機能と 16 ビット SD_ADC を使った高精度計測回路を組み合わせる事で、各種の小型 / 携帯型機器を設計できます。

血圧計最新の血圧計は、旧式の水銀柱の代わりにデジタル計測方式を採用しています。計測値の単位には従来通りmmHg ( 水銀柱の高さ ) を使います ( レンジは 0 ~250 mmHg)。圧力変換器は抵抗ブリッジ回路を使って腕帯の圧力変化を示す微弱な DC 信号 ( フルスケールで 25 mV 程度 ) を出力します。圧力変換器の仕様値の単位は psi ( ポンド / 平方インチ ) または kPa であるため、mmHg 値への換算が必要です。圧力単位の変換係数は以下の通りです。

1 kPa = 7.5 mmHg

1 psi = 51.7 mmHg

圧力変換器は計測用腕帯内ではなくプリント基板上に実装し、腕帯にはチューブを介してエアポンプを接続します。DC エアポンプを使って腕帯を膨らませる事で初期圧力を発生させ、ソレノイドバルブを使って数秒間で時間に対して直線的に圧力を抜きます。PIC24FJ128GC010 は MWI (Measurement WhileInflating) と呼ぶアルゴリズを実行する事で、検出した圧力変化から心拍数と収縮期および膨張期血圧を計算します。これらの値は LCD に表示する共に、フラッシュメモリに保存して USB 経由で健康管理プログラムへダウンロードできます。詳細については、アプリケーション ノート『AN1556 - Microchip PIC24F マイクロコントローラとアナログデバイスを使った血圧計の設計』(DS00001556) を参照してください。

血圧計の回路例を図 17 に示します。ほとんどの変換器の定格レンジは切りの良い値 (0 ~ 50 kPa 等 )で指定されますが、この例で使った圧力変換器(OMRON 2SMPP-02) の定格レンジは特殊です (0 ~37 kPa)。これは、この変換器が血圧計専用に設計されたためであり、未校正出力のスケールはほぼ 1 mV= 10 mmHg です。フルレンジは 0 ~ 310 mmHg であるため、血圧計測用として十分なレンジを確保しています。この圧力変換器を駆動するために必要な100 A の電流源は、1 つの DAC チャンネルと 1 つの内蔵オペアンプを使って供給します。DAC を使って回路に約 1 V を供給する事で、必要な 100 A を生成します。

100 A の定電流によって生成される変換器の出力電圧は、PGA/SD_ADC を使って計測するには小さすぎます。このため外付けの計装アンプ (MCP6N11) を使います ( ゲインは 31 に固定 )。PIC24FJ128GC010 のもう 1 つのオペアンプを使ったゲイン 4.6 のハイパスフィルタによって、この信号を AC 結合および増幅します。以上により得られる複合ゲインは約 143であり、圧力が 200 mmHg の場合、SD_ADC に 2.85 V が入力されます。入力信号を PGA のコモンモード レンジ内に収めるため、もう 1 つの DAC チャンネルを使ってDC オフセットを生成します ( 総合ノイズ電圧を低く抑えるため、この PGA のゲインは 1 に設定します )。

計算後のデータは、USB モジュール経由で LCD に表示するか、Microchip 社製無線モジュールを使って無線送信できます。PIC24FJ128GC010 が内蔵する RTCC を使うと、計測値に容易にタイムスタンプ ( 時刻 / 日付 )を付けて血圧の推移を記録できます。

Note: 以下の例はあくまでも基本的なガイドラインであり、最終的なアプリケーションには各種の認証が必要です。以下の例はあくまでも説明用であり、実際の医療診断に使われる事を意図していません。

DS00001607A_JP - p. 18 2014 Microchip Technology Inc.

Page 19: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

図 17: 血圧計回路

DAC1

SD_ADCOA1

DAC2

OA2

1 nF

2SMPP-2

10K0.1%

MCP6N11

+

–FB

O

30K

1K

1 F

1 F

1M

1K

1 F

3.6K

10K

2014 Microchip Technology Inc. DS00001607A_JP - p. 19

Page 20: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

血糖値計血糖値計は、糖尿病患者が日常的に使う家庭用血糖値監視装置の重要エレメントです。血糖値計は、電流を印加するとグルコースと反応する特殊な化学物質を添加した「検査ストリップ」を使います。血糖値計は、この化学反応によって生じる検出電極への電子移動を一定期間計測する事で、グルコース濃度 ( 単位は mg/dl ま

たは mmol/L) を算出します。詳細な実装例については、アプリケーション ノート『AN1560 - Glucose MeterReference Design』(DS00001560)を参照してください。

コネクタとインターフェイスの仕様が異なる様々なタイプの検査ストリップが存在します。この回路例は一般的な 3 端子型 ( グランド、駆動信号入力、電流出力 ) の検査ストリップを使います。実装方法は使用する検査ストリップによって異なります。 下の図 18 を参照してください。

図 18: 血糖値計

化学反応に必要な励起電流は DAC1 で設定します。検査ストリップからの電流は、オペアンプ OA1 で電圧に変換した後に、2 極 16 Hz ノイズフィルタを介してSD_ADC に入力します。コモンモード ノイズを低減するため、DAC2 は DC オフセットに合わせて調整します。2 本の SD_ADC 入力ピンにおけるインピーダンスは同じであるため、ノイズは最小限に保たれる事に注意してください。帯域幅を最小限にするため、ソフ

トウェアで OSR を 1024 に設定します。反応には数秒間かかるため、SD_ADC で多数個のサンプルを平均化する事で計算精度を向上させる事ができます。最終的なグルコース濃度値の計算には直線回帰法を使います。

OA1

SD_ADC

DAC1

TestStrip

100 nF

100K

10K

100 nF

100 nF

1 F

10K

DAC2

DS00001607A_JP - p. 20 2014 Microchip Technology Inc.

Page 21: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

参考資料1. J. Vanderkooy and S.P.Lipshitz, “Resolution Below

the Least Significant Bit in Digital Systems withDither”.J.Audio Eng. Soc., Vol. 32, pp.106-113.

2. R. Lyons and R. Yates, “Reducing ADCQuantization Noise”.Microwaves and RFMagazine, June 2005.

3. “FilterLab® 2.0 User’s Guide”(DS51419).Microchip Technology Inc. 2003.

4. R. Bristow-Johnson, “Fixed-Point DC BlockingFilter with Noise Shaping”.www.dspguru.com

5. P. Horowitz and W. Hill, “The Art ofElectronics”.Cambridge University Press, pg.281,1989.

6. M. Ferdjallah, R. E. Barr.“Adaptive Digital NotchFilter Design on the Unit Circle for the Removal ofPower-line Noise from Biomedical Signals”.IEEETransactions on Biomedical Engineering, Vol. 41,Issue 6.

7. M. Apte, W. Fisk and J. Daisey, “AssociationsBetween Indoor CO2 Contrations and SickBuilding Syndrome Symptoms in U.S. OfficeBuildings”.Indoor Air, Vol. 10, pg.246-257, 2000.

8. 「MCP1650/51/52/53 750 kHz ブーストコントローラ」(DS21876)Microchip Technology Inc.2013.

9. P. Yedamale and J. Bartling, 「AN1375 - CTMU の多彩な機能」(DS01375)Microchip Technology Inc.,pg.7, 2011.

10. B. Baker, AN699, “Anti-Aliasing, Analog Filters forData Acquisition Systems” (DS00699).MicrochipTechnology Inc. 1999.

11. Rodger Richey, AN643, “Adaptive DifferentialPulse Code Modulation Using PIC®Microcontrollers” (DS00643).MicrochipTechnology Inc. 2007.

2014 Microchip Technology Inc. DS00001607A_JP - p. 21

Page 22: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

AN1607

NOTE:

DS00001607A_JP - p. 22 2014 Microchip Technology Inc.

Page 23: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

2014 Microchip Technology Inc. DS00001607A_JP - p. 23

本書に記載されているデバイス アプリケーション等に関する

情報は、ユーザの便宜のためにのみ提供されているものであ

り、更新によって無効とされる事があります。お客様のアプ

リケーションが仕様を満たす事を保証する責任は、お客様に

あります。Microchip 社は、明示的、暗黙的、書面、口頭、法

定のいずれであるかを問わず、本書に記載されている情報に

関して、状態、品質、性能、商品性、特定目的への適合性を

はじめとする、いかなる類の表明も保証も行いません。

Microchip 社は、本書の情報およびその使用に起因する一切の

責任を否認します。Microchip 社の明示的な書面による承認な

しに、生命維持装置あるいは生命安全用途に Microchip 社の製

品を使用する事は全て購入者のリスクとし、また購入者はこ

れによって発生したあらゆる損害、クレーム、訴訟、費用に

関して、Microchip 社は擁護され、免責され、損害をうけない

事に同意するものとします。暗黙的あるいは明示的を問わず、

Microchip社が知的財産権を保有しているライセンスは一切譲

渡されません。

商標

Microchip 社の名称と Microchip ロゴ、dsPIC、FlashFlex、KEELOQ、KEELOQ ロゴ、MPLAB、PIC、PICmicro、PICSTART、PIC32 ロゴ、rfPIC、SST、SST ロゴ、SuperFlash、UNI/O は、

米国およびその他の国における Microchip TechnologyIncorporated の登録商標です。

FilterLab、Hampshire、HI-TECH C、Linear Active Thermistor、MTP、SEEVAL、Embedded Control Solutions Company は、

米国における Microchip Technology Incorporated の登録商標

です。

Silicon Storage Technologyは、その他の国におけるMicrochipTechnology Incorporated の登録商標です。

Analog-for-the-Digital Age、Application Maestro、BodyCom、

chipKIT、chipKIT ロゴ、CodeGuard、dsPICDEM、dsPICDEM.net、dsPICworks、dsSPEAK、ECAN、ECONOMONITOR、FanSense、HI-TIDE、In-Circuit Serial Programming、ICSP、Mindi、MiWi、MPASM、MPF、MPLAB 認証ロゴ、MPLIB、MPLINK、mTouch、Omniscient Code Generation、PICC、PICC-18、PICDEM、

PICDEM.net、PICkit、PICtail、REAL ICE、rfLAB、Select Mode、SQI、Serial Quad I/O、Total Endurance、TSHARC、UniWinDriver、WiperLock、ZENA、Z-Scale は、米国およびその他の国におけ

る Microchip Technology Incorporatedの登録商標です。

SQTP は、米国における Microchip Technology Incorporatedのサービスマークです。

GestICとULPPは、その他の国におけるMicrochip TechnologyGermany II GmbH & Co. & KG (Microchip TechnologyIncorporated の子会社 ) の登録商標です。

その他、本書に記載されている商標は各社に帰属します。

©2013, Microchip Technology Incorporated, Printed in theU.S.A., All Rights Reserved.

ISBN: 978-1-63276-143-9

Microchip 社製デバイスのコード保護機能に関して次の点にご注意ください。

• Microchip 社製品は、該当する Microchip 社データシートに記載の仕様を満たしています。

• Microchip 社では、通常の条件ならびに仕様に従って使用した場合、Microchip 社製品のセキュリティ レベルは、現在市場に流

通している同種製品の中でも最も高度であると考えています。

• しかし、コード保護機能を解除するための不正かつ違法な方法が存在する事もまた事実です。弊社の理解ではこうした手法は、

Microchip 社データシートにある動作仕様書以外の方法で Microchip 社製品を使用する事になります。このような行為は知的所

有権の侵害に該当する可能性が非常に高いと言えます。

• Microchip 社は、コードの保全性に懸念を抱くお客様と連携し、対応策に取り組んでいきます。

• Microchip 社を含む全ての半導体メーカーで、自社のコードのセキュリティを完全に保証できる企業はありません。コード保護

機能とは、Microchip 社が製品を「解読不能」として保証するものではありません。

コード保護機能は常に進歩しています。Microchip 社では、常に製品のコード保護機能の改善に取り組んでいます。Microchip 社

のコード保護機能の侵害は、デジタル ミレニアム著作権法に違反します。そのような行為によってソフトウェアまたはその他の著

Microchip 社では、Chandler および Tempe ( アリゾナ州 )、Gresham( オレゴン州 ) の本部、設計部およびウェハー製造工場そしてカリフォルニア州とインドのデザインセンターが ISO/TS-16949:2009 認証を取得しています。Microchip 社の品質システム プロセスおよび手順は、PIC® MCU および dsPIC® DSC、KEELOQ® コード ホッピング デバイス、シリアル EEPROM、マイクロペリフェラル、不揮発性メモリ、アナログ製品に採用されています。さらに、開発システムの設計と製造に関する Microchip 社の品質システムは ISO 9001:2000 認証を取得しています。

QUALITY MANAGEMENT SYSTEM CERTIFIED BY DNV

== ISO/TS 16949 ==

Page 24: IntroAnalogDesign - Microchip Technologyww1.microchip.com/downloads/jp/AppNotes/00001607A_JP.pdf2014 Microchip Technology Inc. DS00001607A_JP - p. 3 AN1607 この回路構成はSD_ADC

DS00001607A_JP - p. 24 2014 Microchip Technology Inc.

北米本社2355 West Chandler Blvd.Chandler, AZ 85224-6199Tel:480-792-7200 Fax:480-792-7277技術サポート : http://www.microchip.com/supportURL: www.microchip.com

アトランタDuluth, GA Tel:678-957-9614 Fax:678-957-1455

オースティン (TX)Tel:512-257-3370

ボストンWestborough, MA Tel:774-760-0087 Fax:774-760-0088

シカゴItasca, IL Tel:630-285-0071 Fax:630-285-0075

クリーブランドIndependence, OH Tel:216-447-0464

Fax:216-447-0643

ダラスAddison, TX Tel:972-818-7423 Fax:972-818-2924

デトロイトNovi, MI Tel:248-848-4000

ヒューストン (TX) Tel:281-894-5983

インディアナポリスNoblesville, IN Tel:317-773-8323Fax:317-773-5453

ロサンゼルスMission Viejo, CA Tel:949-462-9523 Fax:949-462-9608

ニューヨーク (NY) Tel:631-435-6000

サンノゼ (CA) Tel:408-735-9110

カナダ - トロントTel:905-673-0699 Fax:905-673-6509

アジア / 太平洋

アジア太平洋支社Suites 3707-14, 37th FloorTower 6, The GatewayHarbour City, KowloonHong KongTel:852-2943-5100Fax:852-2401-3431

オーストラリア - シドニーTel:61-2-9868-6733Fax:61-2-9868-6755

中国 - 北京Tel:86-10-8569-7000 Fax:86-10-8528-2104

中国 - 成都Tel:86-28-8665-5511Fax:86-28-8665-7889

中国 - 重慶Tel:86-23-8980-9588Fax:86-23-8980-9500

中国 - 杭州Tel:86-571-8792-8115 Fax:86-571-8792-8116

中国 - 香港 SARTel:852-2943-5100 Fax:852-2401-3431

中国 - 南京Tel:86-25-8473-2460Fax:86-25-8473-2470

中国 - 青島Tel:86-532-8502-7355Fax:86-532-8502-7205

中国 - 上海Tel:86-21-5407-5533 Fax:86-21-5407-5066

中国 - 瀋陽Tel:86-24-2334-2829Fax:86-24-2334-2393

中国 - 深圳Tel:86-755-8864-2200 Fax:86-755-8203-1760

中国 - 武漢Tel:86-27-5980-5300Fax:86-27-5980-5118

中国 - 西安Tel:86-29-8833-7252Fax:86-29-8833-7256

中国 - 厦門Tel:86-592-2388138 Fax:86-592-2388130

中国 - 珠海Tel:86-756-3210040 Fax:86-756-3210049

アジア / 太平洋

インド - バンガロールTel:91-80-3090-4444 Fax:91-80-3090-4123

インド - ニューデリーTel:91-11-4160-8631Fax:91-11-4160-8632

インド - プネTel:91-20-3019-1500

日本 - 大阪Tel:81-6-6152-7160 Fax:81-6-6152-9310

日本 - 東京Tel:81-3-6880- 3770 Fax:81-3-6880-3771

韓国 - 大邱Tel:82-53-744-4301Fax:82-53-744-4302

韓国 - ソウルTel:82-2-554-7200Fax:82-2-558-5932 または 82-2-558-5934

マレーシア - クアラルンプールTel:60-3-6201-9857Fax:60-3-6201-9859

マレーシア - ペナンTel:60-4-227-8870Fax:60-4-227-4068

フィリピン - マニラTel:63-2-634-9065Fax:63-2-634-9069

シンガポールTel:65-6334-8870Fax:65-6334-8850

台湾 - 新竹Tel:886-3-5778-366Fax:886-3-5770-955

台湾 - 高雄Tel:886-7-213-7830

台湾 - 台北Tel:886-2-2508-8600 Fax:886-2-2508-0102

タイ - バンコクTel:66-2-694-1351Fax:66-2-694-1350

ヨーロッパ

オーストリア - ヴェルスTel:43-7242-2244-39

Fax:43-7242-2244-393

デンマーク - コペンハーゲンTel:45-4450-2828 Fax:45-4485-2829

フランス - パリTel:33-1-69-53-63-20 Fax:33-1-69-30-90-79

ドイツ - デュッセルドルフTel:49-2129-3766400

ドイツ - ミュンヘンTel:49-89-627-144-0 Fax:49-89-627-144-44

ドイツ - プフォルツハイムTel:49-7231-424750

イタリア - ミラノ Tel:39-0331-742611 Fax:39-0331-466781

イタリア - ベニスTel:39-049-7625286

オランダ - ドリューネンTel:31-416-690399 Fax:31-416-690340

ポーランド - ワルシャワTel:48-22-3325737

スペイン - マドリッドTel:34-91-708-08-90Fax:34-91-708-08-91

スウェーデン - ストックホルムTel:46-8-5090-4654

イギリス - ウォーキンガムTel:44-118-921-5800Fax:44-118-921-5820

各国の営業所とサービス

03/25/14