MPL115A2 小型のI2Cデジタル気圧計 - ne...-4/13-3機能と操作の概要...
Transcript of MPL115A2 小型のI2Cデジタル気圧計 - ne...-4/13-3機能と操作の概要...
- 1/13 -
個人で使用するために翻訳した物です。翻訳間違いや誤字による、いかなる損害にも責任を負いません。日本語訳は、Freescale Semiconductor社の監修を受けておりません。 Rev.1 2013/ 5/20
Freescale Semiconductor MPL115A2 Rev. 9, 02/2013
データシート:技術データ
MPL115A2 小型のI2Cデジタル気圧計MPL115A2は、低価格アプリケーションを対象とした、デジタルI2C出力を持つ絶対圧センサーです。
小型で5×3×1.2mmのLGAパッケージは、携帯用の電子機器やスペースに制約のある要件に、理想的に適しています。
低消費電力のアプリケーションに焦点を当てたとき、動作中(アクティブ・モード)の5μA、および、シャット・ダウン中(スリープ・モード)の1μAの低消費電流は不可欠です。
-40℃から+105℃までの広い動作温度範囲は、きびしい環境条件に適合しています。
MPL115A2は、50kPa(500hPa)から115kPa(1150hPa)までの正確な圧力測定を提供するために、調整ICとMEMS圧力センサーを採用しています。
内蔵されたADCは、I2Cポートを介して圧力および温度センサーの読み取り値を、デジタル化された出力に変換します。
工場較正データは、内部に搭載されたROMに格納されています。
ホスト・マイクロ・コントローラは、未加工のセンサー出力と較正データを利用して、±1kPa(10hPa)の精度で補償絶対圧力を与えるために、補正アルゴリズムを実行します。
MPL115A2圧力センサーの、小型フォームファクター、低消費電力性能、精度、およびデジタル出力は、気圧の測定アプリケーションを最適化します。
特 徴・ホスト・マイクロが使用するための、プログラムされた校正係数と、デジタル化された圧力と温度の情報。
・工場出荷時にキャリブレーション(較正)。
・50kPa(500hPa)から115kPa(1150hPa)までの絶対圧力。
・1kPa(10hPa)の精度。
・2.375Vから5.5Vの電源。
・内蔵されたADC。
・I2Cインターフェース。 (400kHzのまで動作)
・7ビットのI2Cアドレス = 0x60
・単調な(連続した)圧力と温度のデータ出力。
・表面実装のRoHS準拠パッケージ。
応 用 例・気圧測定(携帯用や卓上型)
・高度計
・気象観測所
・ハードディスク・ドライブ(HDD)
・産業用機器
・健康管理
・空調設備
オーダー情報
パッケージ ケース #の開口 圧力の種類 デジタルデバイス名
オプション 番号 なし 1つ 2つ ゲージ 差動 絶対 インターフェース
MPL115A2 トレー 2015 ・ ・ I2C
MPL115A2T1 トレーとリール(1000) 2015 ・ ・ I2C
- 2/13 -
1 ブロック図とピンの説明
図1.ブロック図とピン接続
表1.ピンの説明
ピン 名 称 機 能
1 VDD VDD 電源接続。 VDDの範囲は、2.375V~5.5Vです。
外付けコンデンサー。2 CAP 主な内部レギュレーター用の、デカップリング・コンデンサー出力。
1μFのコンデンサーを、グラウンドと接続してください。
3 GND グラウンド。
シャット・ダウン (スリープ)。デバイスを使用不可にするには、GNDと接続してください。
4 SHDN シャット・ダウンすると、部品の電源電流が1μAになり、すべての通信端子(RST、SCL、SDA)がハイ・インピーダンスになります。
通常動作にするには、VDDと接続してください。
リセット (内蔵プルアップ抵抗は無いので、通常はHighレベルにしてください)
5 RSTI2C通信を使用不可にするには、ラインをLowにしてください。I2Cのピンはハイ・インピーダンスになり、通信は無視されます。すべての内部機能は、通常動作します。
6 NC N.C. 接続なし
I2Cシリアル・データのI/O線。7 SDA
I2C通信のために、4.7KΩのプルアップ抵抗を使用してください。
I2Cシリアル・クロック入力。8 SCL
I2C通信のために、4.7KΩのプルアップ抵抗を使用してください。
- 3/13 -
2 機械的および電気的仕様
2.1 最大定格電 圧 (特に明記しない限り、GNDを基準として)
・VDD ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ -0.3V ~ +5.5V
・SHDN , SCLK , CS , DIN , DOUT ・・・・・・・・ -0.3V ~ VDD+0.3V
・動作温度範囲 ・・・・・・・・・・・・・・・・・・・・・・・・・・ -40℃ ~ +105℃
・保存温度範囲 ・・・・・・・・・・・・・・・・・・・・・・・・・・ -40℃ ~ +125℃
・過大圧力 ・・・・・・・・・・・・・・・・・・・・・・・・・・・ 1000kPa (10000hPa)
2.2 動作特性
(VDD = 2.375V~5.5V、TA = -40℃~+105℃、特に明記しない限り) (標準値はVDD = 3.3V、TA = +25℃)
番号 項 目 記号 条 件 最小 標準 最大 単位
1 動作電源電圧 VDD 2.375 3.3 5.5 V
シャット・ダウン:(SHDN=GND) - - 1 μA
2 電源電流 IDD スタンバイ - 3.5 10 μA
平均:毎秒1回の測定 - 5 6 μA
圧力センサー
50 - 115 kPa3 範 囲
500 - 1150 hPa
- 0.15 - kPa4 分解能
- 1.5 - hPa
- - ±1 kPa5 精 度 -20℃~85℃
- - ±10 hPa
DCでの標準的な動作回路。 - 0.1 - kPa/V
6 電源除去比 10MHzの帯域幅を持つ100mVp-p 217Hz- 0.1 - kPa
の方形波と、100mVの擬似ランダムノイズ。
変換時間 変換開始命令と、圧力と温度レジスター7 tc - 1.6 3 ms
(圧力と温度を変換開始) のデータが利用可能になる間の時間
シャットダウン・モード(SHDNがハイになる)8 起動時間 tw から出て、コマンドを発行するかデータを読 - 3 5 ms
むためにデバイスと通信するまでの時間。
I2C I/O上 : SCL、SDA
9 SCLクロック周波数 fSCL - - 400 KHz
10 低(Low)レベル入力電圧 VIL - - 0.3VDD V
11 高(High)レベル入力電圧 VIH 0.7VDD - - V
I2C 出力 : SDA
データの コマンドの受信から送信する12 tSU 0 - 0.4 S
セットアップ時間 準備までのセットアップ時間。
I2C アドレス指定
MPL115A2は、7ビットアドレスを使用するので、一斉呼び出しアドレス0000_000は認識しません。スレーブアドレスは、0x60または1100_000に設定されています。
- 4/13 -
3 機能と操作の概要
MPL115Aは、ユーザのアプリケーションで、ホスト(またはシステム)マイクロ・コントローラに接続します。
すべての通信は、I2Cを介します。
一般的な使用順序は、以下の通りです:
最初の電源投入。
全ての回路素子が作動します。
I2Cポートピンは、ハイ・インピーダンスです。そして、関連するレジスターはクリアされます。
その後、デバイスは待機モードに入ります。
係数データを読み出す
次にユーザは、決まった箇所にアクセスして、係数データを読み出します。
スレーブ・デバイス内の主回路は、読み取り作業の間、無効になっています。
係数は通常ホスト・マイクロ・コントローラのローカル・メモリーに保存されますが、いつでも再読み取りをすることができます。
係数の読み出しは、一度だけ実行されるかもしれません。
値はホスト・マイクロ・コントローラに保存されます。
デバイス内の係数は一定であり変化しないので、これを複数回 図2.手順のフローチャート読み取る必要はありません。
ただし、係数はデバイスによって異なり、別の部品には使用できないことに注意してください。
データ変換
これは、「CONVERT」コマンドを送るホストによって始められて、新しい圧力の読み込みが要求されるたびに実行される最初のステップです。
メイン・システムの回路は、コマンドに応じて起動(起きる)します。そして変換が完了した後に、結果が圧力と温度のADC出力レジスターに置かれます。
変換は、最大変換時間内tc(2.2 動作特性表の行7を参照)に完了します。
その後、デバイスは待機モードに入ります。
補償された圧力を読み出す
変換が完了するのに十分な時間が経過した後、ホスト・マイクロ・コントローラは、ADC出力レジスターから結果を読み取って、補償圧力(温度と圧力センサーの直線性の変化を補償される大気圧/気圧値)を計算します。
これは、補償方程式(詳細は後述)において、MPL115Aからの係数データと生のサンプリング圧力および温度ADC出力値を用いて行われます。
これが基準と真空との絶対圧測定であることに注意してください。
このステップからホスト・コントローラは、次の圧力測定値を得るためにデータ変換のステップに戻ってもよいし、シャット・ダウンのステップに行くこともできます。
シャット・ダウン
より長い不活動の期間、ユーザはSHDN入力のアサートで、システムの電力消費量を抑えるために、このピンをローに駆動することができます。
これは、すべての内部回路(いかなるレジスターも含む)から、電源を除去します。
シャット・ダウン状態では、圧力および温度レジスターはリセットされて、いかなる以前のADC出力値も失います。
このステップは、SHDNピンをハイにすることによって終了します。
最大起動時間tw(2.2 動作特性表の行8を参照)を待ちます。その後、データ変換ステップに移行することによって、別の圧力を読み取ることができます。
- 5/13 -
表2.デバイスのメモリーマップ
アドレス 名 称 説 明 サイズ(bits)
0x00 Padc_MSB 10-bit 圧力 ADC 出力値 上位バイト 8
0x01 Padc_LSB 10-bit 圧力 ADC 出力値 下位バイト 2
0x02 Tadc_MSB 10-bit 温度 ADC 出力値 上位バイト 8
0x03 Tacd_LSB 10-bit 温度 ADC 出力値 下位バイト 2
0x04 a0_ MSB a0 係数 上位バイト 8
0x05 a0_ LSB a0 係数 下位バイト 8
0x06 b1_ MSB b1 係数 上位バイト 8
0x07 b1_ LSB b1 係数 下位バイト 8
0x08 b2_ MSB b2 係数 上位バイト 8
0x09 b2_ LSB b2 係数 下位バイト 8
0x0A c12_ MSB c12 係数 上位バイト 8
0x0B c12_ LSB c12 係数 下位バイト 8
0x0C 予約済み ※
0x0D 予約済み ※
0x0E 予約済み ※
0x0F 予約済み ※
0x10 予約済み
0x11 予約済み
0x12 CONVERT 圧力と温度の変換を開始
※ これらのレジスターは、0x00にセットされます。これらは予約されており、以前は係数値のc11とc22として利用されました。それらは常に0x00でした。
16ビット未満の値については、下位のLSBはゼロです。
例えば、c12は14ビットで、次のように2バイトに格納されます:
c12 MS byte = c12[13:6] = [c12b13 , c12b12 , c12b11 , c12b10 , c12b9 , c12b8 , c12b7 , c12b6]
c12 LS byte = c12[5:0] & "00" = [c12b5 , c12b4 , c12b3 , c12b2 , c12b1 , c12b0 , 0 , 0]
3.1 圧力・温度と係数のビット幅仕様
以下の表は、補償アルゴリズムの初期係数ビット幅の仕様と、圧力と温度のADC値の仕様を明記します。
圧力・温度および補償係数の仕様
a0 b1 b2 c12 Padc Tadc
総ビット数 16 16 16 14 10 10
符号ビット 1 1 1 1 0 0
整数ビット 12 2 1 0 10 10
小数部分のビット 3 13 14 13 0 0
小数点に0を詰める 0 0 0 9 0 0
- 6/13 -
バイナリー・フォーマット定義の例:
a0 符号付き, 整数ビット = 12, 小数部分のビット = 3 : Coeff a0 = S I11 I10 I9 I8 I7 I6 I5 I4 I3 I2 I1 I0 . F2 F1 F0
b1 符号付き, 整数ビット = 2, 小数部分のビット = 13 : Coeff b1 = S I1 I0 . F12 F11 F10 F9 F8 F7 F6 F5 F4 F3 F2 F1 F0
b2 符号付き, 整数ビット = 1, 小数部分のビット = 14 : Coeff b2 = S I0 . F13 F12 F11 F10 F9 F8 F7 F6 F5 F4 F3 F2 F1 F0
c12 符号付き, 整数ビット = 0, 小数部分のビット = 13, 小数点に0を詰める = 9 : 係数 c12 = S 0 . 000 000 000 F12 F11 F10 F9 F8 F7 F6 F5 F4 F3 F2 F1 F0
Padc 符号なし,整数ビット = 10 : Padc U = I9 I8 I7 I6 I5 I4 I3 I2 I1 I0
Tadc 符号なし,整数ビット =10 : Tadc U = I9 I8 I7 I6 I5 I4 I3 I2 I1 I0
注:負の係数は2の補数表現でコード化されます。
3.2 補 償
10ビットの補償された圧力出力(Pcomp)は、以下のように計算されます:
Pcomp = a0 + (b1 + c12 * Tadc) * Padc + b2 * Tadc 方程式.1
ここで: Padcは、MPL115Aの10ビットの圧力ADC出力です。
Tadcは、MPL115Aの10ビットの温度ADC出力です。
a0は、圧力オフセット係数です。
b1は、圧力感度係数です
b2は、オフセット(TCO)の温度係数です。
c12は、感度(TCS)の温度係数です。
Pcompは、50kPaの入力圧力で0の値を生成し、115kPaの入力圧力で1023のフルスケール値を生成するでしょう。
115 – 50Pressure (kPa) = Pcomp * + 50 方程式.2
1023
3.3 評価手順・算術演算回路
以下はPcompのための計算の例です。補償された圧力が出力されます。
入力値は太字で示しています。
c12x2 = c12 * Tadca1 = b1 + c12x2a1x1 = a1 * Padcy1 = a0 + a1x1a2x2 = b2 * TadcPcomp = y1 + a2x2
これは、書式 y = a + b * x の乗算累積(MAC)操作の連続のように計算することができます:
多項式は、一連の3つのMACとして評価することができます。(方程式1):
Pcomp = a0 + (b1 + c12 * Tadc) * Padc + b2 * Tadc
実装の詳細な注意事項については、フリースケールのアプリケーション・ノートAN3785を参照してください。
- 7/13 -
I2CインターフェースMPL115A2は、最大400kbits/sec(高速モード)のバス速度が可能な、I2Cスレーブとして動作します。
MPL115A2は、7ビットのアドレスを使用するので、一斉呼び出しアドレスの0000_000は認識しません、そしてクロックの延長を実行しません。
MPL115A2に設定されている現在のアドレスは、0x60または1100_000です。
I2CポートピンのSDAとSCLは、最大電源電圧範囲と適合します。
データは8ビットのブロックとして、ビット順序でデバイスに書き込まれ、そして読み取られます。
書き込みモード
I2Cデバイスへの書き込みは、規定のI2Cプロトコルを使用して行われます。
I2Cスタート・コンディションの後に、7ビットのスレーブ・アドレスと書き込みビットが続きます。
スレーブは、書き込み要求を認識し、マスターから次のデータ・バイトを受け取ります。
通常の(ユーザー)モードであるとき、それ以上のバイトは無視されます。 (注.誤記です)
ストップまたはリピート・スタート・コンディションは、シーケンスを完了するために、マスターが送らなければなりません
ユーザー・モードの書き込みコマンドは、圧力と温度の変換開始コマンドから成ります。
これらのコマンドは、表3において示されます。
ユーザ・モードのI2C書き込みシーケンスの例は、図12に示されます。
図12. I2C書き込みシーケンス(ユーザー・モード)
注.変換開始コマンドの後に、ダミーのデータ送信が必要です。 例えば$01
読み出しモード
規定のI2Cプロトコルを使用して、処理したことをデバイスから読み取ります。
デバイスから読み取るために、マスターは必要なデータの先に、最初にデータのアドレスやコマンドを送信する必要があります。
これを行うには、マスターは7ビットのスレーブ・アドレスと書き込みビットが続く、データのアドレス・バイトを送ります。
伝送は、I2Cスタート・コンディションによって開始され、リピート・スタートまたはストップ・コンディションのいずれかによって終了されます。
リピート・スタート・コンディションが直接続く、あるいはI2Cスタート・コンディションが先行して、前の送信がストップ・コンディションで終わった場合のどちらかで、マスターは今回、読み出しビットで7ビットのスレーブ・アドレスを再び送ります。
スレーブは、それぞれのバイト受信を確認し、2回目のスレーブ・アドレスの受信に続き、要求されたデータを送り始めます。
スレーブは、個々のバイトの終わりにアドレス・ポインターを増加し、データを送信し続けます。
マスターは、スレーブから送信される個々のバイト受信を確認して、伝送の終わりにストップ(またはリピート・スタート)コンディションを主張(アサート)します。
I2Cの読み出し例として、圧力データ(2バイト)と係数データ(最大12バイト)を、図13と図14に示します。
10ビットの圧力と温度のデータは、後に続く0と共に最初にMSBが送信されます。
これによりユーザーは、部品のフル解像度を必要とせず、限られた処理能力だけを持つシステムでは、最初のバイトだけを読み取ることができます。
伝送が完了しているか、マスターがストップ・コンディションを出すか、"Ack"ビットで主張(アサート)しない(すなわち、スレーブはストップ・ビットと同様に"Nak"(承認しない)と処理する)まで、デバイスはデータを送り続けます。
マスターは、このように受信するデータの量を制御し、必要でない何れのデータも廃棄します。
- 8/13 -
* 標準的な終了シーケンスは、"Nak"に続くストップ・コンディションです。 "Ack"に続くストップ・コンディションも使用できます。
図13. I2C 圧力の読み出しシーケンス
* 標準的な終了シーケンスは、"Nak"に続くストップ・コンディションです。 "Ack"に続くストップ・コンディションも使用できます。
図14. I2C 係数の読み出しシーケンス
I2Cバス・タイミング
SCLラインが安定してHighレベルの間、データはSDAライン上で有効です。
SCLがLowの間、スレーブはSDAラインの状態を変更することができます。
これは一般的に、SCLの立ち下がりエッジで制御されます。
SCLとSDAラインのタイミングは、図15に示されます。
図15. I2Cバス・タイミング
I2C RST (CSと同様な機能)
I2C入力が有効なのに対し、I2C RST機能は、I2C回路がバスから電流を引き込むのを防ぎます。
理論上、これはI2CのI/O回路から、電源を取り除くことによって実現されます。
RSTが主張(アサート)され、I2C接続中の推移により、加えた電源を引き込まない場合には、その部品はI2C通信を無視します。
I2C通信を使用不可にするためには、ラインをLowに駆動してください。
I2Cのピンは、ハイ・インピーダンスになり、通信は無視されます。
もしI2Cの伝送中にRSTが主張(アサート)されるならば、伝送は中止されます。(そして失われます)
他のすべての内部機能は通常作動します。
他の機能やレジスターは、この機能の主張(アサート)の結果でリセットされません。
- 9/13 -
3.4 I2Cデバイスの読み出し・書き込み操作デバイスの読み出しと書き込みの操作は、すべてメモリー・マップです。
デバイス作動の例: 「変換の開始」を、適切なメモリー・アドレス位置に書くことによって制御されます。
すべてのメモリー・アドレスの位置付けは6ビットです。(表2を参照)
I2Cデバイスの場合、MSB(ビット7)は「問わず」であり、ビット6~0はメモリー・アドレスに利用可能です。例えば、ビット6は常に0にして、残りのビット(5~0)で、MPL115A2の6ビットアドレスを作ります。
基本的なデバイスの書き込みコマンドは、表3で示されます。
表3. I2C 書き込みコマンド
コ マ ン ド バイナリ HEX (1)
デバイス・アドレス + 書き込みビット 1100_0000 0xC0
変換の開始 X001_0010 0x12
X = 未使用。
(1) コマンド・バイトは、変換開始の受け渡しを完了するために、I2Cでのやり取りの一部として0x00とペアにする必要があります。 [コマンド]+[00]の2バイト。
各コマンドに応じてデバイスによって実行される動作は次のとおりです:
表4.I2C書き込みコマンドの説明
コマンド 実行される動作
・主な回路を起動します。・クロックを開始します。・供給安定時間を待ちます。・圧力センサ入力を選択します。
変換を開始 ・絶対的なセンサー励起を適用して、アナログからデジタル変換を実行します。
・温度入力を選択します。・アナログからデジタル変換を実行します。・圧力と温度レジスターに結果をロードします。・主回路とクロックをシャットダウンします。
表5.I2C読み出しコマンドの例
コ マ ン ド バイナリ HEX (1)
デバイス・アドレス + 書き込みビット 1100_0001 0xC1
圧力の上位バイトを読み出す X000_0000 0x00
圧力の下位バイトを読み出す X000_0001 0x01
温度の上位バイトを読み出す X000_0010 0x02
温度の下位バイトを読み出す X000_0011 0x03
係数データバイト1を読み出す X000_0100 0x04
X = 未使用。
これらは、係数を読み込んで、圧力と温度変換を実行し、圧力と温度のデータを読み出す、MPL115A2I2Cコマンドです。
MPL115A2を操作するための例として、一連のコマンド手順を与えます。
この集められたデータを利用して算出する補償圧力測定値の例は、浮動小数点表記で与えられます。
- 10/13 -
係数のI2C読み出しの例
I2Cの転送中に、連続したバイトがアドレス順序でデバイスから読み取ることができるように、デバイスは各バイトの後にアドレス・ポインタを増加させます。
すべてのデータは、MSBが最初に送られます。
I2Cコマンド (通信のために簡略化)
デバイス・アドレス + 書き込みビット = 0xC0
デバイス・アドレス + 読み出しビット = 0xC1
書き込みコマンド 「圧力と温度を変換」 = 0x12
読み出しコマンド 「圧力ADCの上位バイト」 = 0x00
読み出しコマンド 「圧力ADCの下位バイト」 = 0x01
読み出しコマンド 「温度ADCの上位バイト」 = 0x02
読み出しコマンド 「温度ADCの下位バイト」 = 0x03
読み出しコマンド 「係数データバイト1の上位バイト」 = 0x04
係数を読む:
[Start], [0xC0], [0x04]
[Restart], [0xC1], [a0_MSB], [a0_LSB], [b1_MSB], [b1_LSB], [b2_MSB], [b2_LSB], [c12_MSB],
[c12_LSB], [Stop]
図3.I2C係数読み出しのデータグラム
a0 係数 上位バイト = 0x3Ea0 係数 下位バイト = 0xCE a0 係数 = 0x3ECE = 2009.75
b1 係数 上位バイト = 0xB3b1 係数 下位バイト = 0xF9 b1 係数 = 0xB3F9 = -2.37585
b2 係数 上位バイト = 0xC5b2 係数 下位バイト = 0x17 b2 係数 = 0xC517 = -0.92047
c12 係数 上位バイト = 0x33c12 係数 下位バイト = 0xC8 c12 係数 = 0x33C8 = 0.000790
- 11/13 -
圧力と温度の変換を開始して、生の圧力と温度を読み出す:
[Start], [0xC0], [0x12], [0x00], [Stop] (変換中の待ち時間 標準1.6ms)
[Start], [0xC0], [0x00], [Restart], [0xC1], [Padc_MSB], [Padc_LSB], [Tadc_MSB]. [Tadc_LSB], [Stop]
図4.I2C変換開始のデータグラム
圧力と温度変換開始のコマンド 0x12
図5.I2C結果読み出しのデータグラム
圧力 上位バイト = 0x66圧力 下位バイト = 0x80 圧力 = 0x6680 = 0110 0110 1000 0000 = 410 ADCカウント
温度 上位バイト = 0x7E温度 下位バイト = 0xC0 温度 = 0x7EC0 = 0111 1110 1100 0000 = 507 ADCカウント
3.5 浮動小数点表記の圧力補償計算の例。
a0 係数 = 2009.75b1 係数 = -2.37585b2 係数 = -0.92047c12 係数 = 0.000790圧力 = 410 ADCカウント温度 = 507 ADCカウント
圧力補償:
Pcomp = a0 + (b1 + c12 * Tadc) * Padc + b2 * Tadc
セクション3.3に示さる評価順序を使用します:
c12x2 = c12 * Tadc = 0.000790 * 507 = 0.40053
a1 = b1 + c12x2 = -2.37585 + 0.40053 = -1.97532
a1x1 = a1 * Padc = -1.97532 * 410 = -809.8812
y1 = a0 + a1x1 = 2009.75 + (-809.8812) = 1199.8688
a2x2 = b2 * Tadc = -0.92047 * 507 = -466.67829
PComp = y1 + a2x2 = 1199.8688 + (-466.67829) = 733.19051
115 – 50Pressure (kPa) = Pcomp * + 50
1023
115 – 50= 733.19 * + 50 = 96.59kPa
1023
- 12/13 -
4 ハンダ推奨事項
1.約217℃融点のSACはんだ合金(すなわち、Sn-Ag-Cu系)を使用してください。それは、SAC305(すなわち、Sn-3.0 wt.% Ag-0.5 wt.% Cu)を使用することをお勧めします。
2. リフロー・立ち上げ速度:2~3C/s・予熱フラット(浸し):110~130秒。・リフローのピーク温度:250℃~260℃(正確なSAC合金の組成に依存)。・217℃を上回る時間:40~90秒(ボードの種類、リフローで基板/量の熱量に依存する)。・立ち下げ速度:5~6C/s・活性リフロー環境(5~15ppm程度O2レベルで)を使用。
注: デバイスのストレス・レベルと信号のオフセットは、ボードタイプ、ボード中心素材、板厚と金属仕上に依存します。
5 推薦する取り扱い
吸引のピック・アンド・プレース・ツールで、MPL115A圧力センサーを扱うことをお勧めします。MPL115A圧力センサーを移動するために利用される鋭利な物は、小さな露出開口に異物/ツールによる損傷の可能性を高めます。センサー・チップは、光露出に敏感です。開口穴を通して直接の光露出は、圧力測定の異なった精度をもたらすかもしれません。通常動作時は、開口にそのような露出を避けてください。
6.ハンダ付け/ランディング・パッド情報
LGAパッケージは、RoHS規格に準拠しています
これは、圧力検出素子を損傷したり寿命を短くすることがある、化学薬品と高い圧力にさらす洗浄を減らすために、無洗浄ソルダーペーストを使用することをお勧めします。
* 以下、英文マニュアルを参照 *
- 13/13 -
サンプル・プログラム
Coding Section
/*********************************************************\* ADCと係数値の最後のセットから、補償された圧力PCompを計算します。\*********************************************************/sint16 MPL115A2_CalculatePComp(void){uint16 Padc, Tadc;sint16 a0, b1, b2, c12;sint16 PComp;// extract adc outputsPadc = (MPL115A2_regs[0x00] << 8) | MPL115A2_regs[0x01];Tadc = (MPL115A2_regs[0x02] << 8) | MPL115A2_regs[0x03];// extract coefficientsa0 = (MPL115A2_regs[0x04] << 8) | MPL115A2_regs[0x05];b1 = (MPL115A2_regs[0x06] << 8) | MPL115A2_regs[0x07];b2 = (MPL115A2_regs[0x08] << 8) | MPL115A2_regs[0x09];c12 = (MPL115A2_regs[0x0A] << 8) | MPL115A2_regs[0x0B];PComp = calculatePCompShort(Padc, Tadc, a0, b1, b2, c12);return (sint16)PComp;}/*********************************************************\* 補償されたPComp値から、1/16kPaの圧力を計算します。\*********************************************************/uint16 MPL115A2_CalculatePressure(sint16 PComp){sint32 Pressure;// 最後のステップでは、内部のPComp値をkPaの単位に変えることです。// Pressure = PComp ∙ ((115.0 ‐ 50.0) / 1023.0) + 50//// 浮動小数点除算の使用は、以下の近似を用いて除くことができます:// Pressure = ( ( PComp ∙ 1041 ) >> 14 ) + 50//// この実装例では、最終的な圧力値を4ビットの小数部で報告されることに注意してください。Pressure = ((((sint32)PComp) * 1041) >> 14) + 800;return (uint16)Pressure;}
/*********************************************************\* 簡潔なバージョンを使用して、補償された圧力PComp値を算出します。\*********************************************************/sint16 calculatePCompShort(uint16 Padc, uint16 Tadc, sint16 a0, sint16 b1, sint16 b2, sint16 c12){sint32 c12x2, a1, a1x1, y1, a2x2, PComp;// Pressure calculation (short)//=============================// 圧力計算機能のこのバージョンは、ロングバージョンと同じ機能を有し、全く同じ結果を得るが、// より簡潔に実現されます。Padc >>= 6; //Note that the Padc is the raw value from Pegasus >>6 since its 10 bit unsignedTadc >>= 6; //Note that the Tadc is the raw value from Pegasus >>6 since its 10 bit unsignedc12x2 = (((sint32)c12) * Tadc) >> 11; // c12x2 = c12 * Tadca1 = (sint32)b1 + c12x2; // a1 = b1 + c12x2a1x1 = a1 * Padc; // a1x1 = a1 * Padcy1 = (((sint32)a0) << 10) + a1x1; // y1 = a0 + a1x1a2x2 = (((sint32)b2) * Tadc) >> 1; // a2x2 = b2 * TadcPComp = (y1 + a2x2) >> 9; // PComp = y1 + a2x2return (sint16)PComp;}