10月 162014
 

こんにちは
前回の「I2C RTCデバイスにアクセスする」では、REX-USB61にI2Cバス接続で
RTC (Real Time Clock)へのアクセスについてお話しました。

今回のSPI/I2Cデバイスは、気圧センサーです。
気圧センサーは、最近ではスマートフォン、タブレット端末、活動量計や時計
などにも搭載されており、気圧だけでなく高度の計測等にも利用されています。

具体的なデバイスとしてST Micro製 気圧センサー LPS331AP を取り上げます。

1. LPS331APについて

まずは、今回使用するSPI/I2CデバイスのLPS331APについて簡単に見ていきましょう。

※ 詳しい仕様は、ST Microの以下を参照してください。

http://www.st-japan.co.jp/web/jp/catalog/sense_power/PF251601

1-1. LPS331APの仕様

LPS331AP-Spec
LPS331APは、I2C と SPI の両方に対応していますが、今回は I2Cバス接続で使用するので
I2Cバスモードに絞って説明します。

入出力信号(I2Cモード関連のみ抜粋)

LPS331APをI2Cモードで使用する場合での主な入出力信号には以下のものがあります。

LPS331AP-Signals

1-2. LPS331APのレジスタ構成

LPS331APは、以下のレジスタを内蔵しています。

LPS331AP レジスタテーブル
LPS331AP-register

上記レジスタから今回は以下のレジスタを使用して制御します。

デバイス識別レジスタ(WHO_AM_I)
LPS331APのチップを識別するためのレジスタで常に0xBBが読み出されます。
LPS331AP-WhoAmI-reg

コントロールレジスタ1(CTRL_REG1)
LPS331AP-Control-reg1

気圧データレジスタ(PRESS_OUT_XL, PRESS_OUT_L, PRESS_OUT_H)
LPS331AP-PressData-reg
気圧データは、3バイトの2の補数(符号付24bit)で表されます。

気圧(mbar) = [PRESS_OUT_H] ×256×256 + [PRESS_OUT_L] ×256 + [PRESS_OUT_XL] / 4096

温度データレジスタ(TEMP_OUT_L, TEMP_OUT_H)
LPS331AP-TempData-reg
温度データは、2バイトの2の補数(符号付16bit)で表されます。

温度(℃) = ( [TEMP_OUT_H] ×256 + [TEMP_OUT_L] / 480 ) + 42.5

2. LPS331APとの接続

今回は、LPS331APが実装された市販の気圧・温度センサーモジュール(*)を使用します。

REX-USB61とは、LPS331APの信号線のSCL, SDA, Vdd, GND のみを接続し、他の信号は今回は使用しません。

LPS331AP-Connect

気圧・温度センサーモジュールの接続端子
LPS331AP-Module

*サンハヤト製 MM-TX803 を使用

次頁[2]へ続く…


関連記事
SPI/I2C Serial EEPROMへのアクセスを簡単に(その1)
SPI/I2C Serial EEPROMへのアクセスを簡単に(その2)
SPI/I2C Serial EEPROMへのアクセスを簡単に(その3)
SPI/I2C Serial EEPROMへのアクセスを簡単に(その4)
SPI/I2C Serial EEPROMへのアクセスを簡単に(その5)

I2C RTCデバイスにアクセスする

 返信する

以下のHTML タグと属性が利用できます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(必須)

(必須)

*