ADXL345

ADXL345の概要と、ADXL345用OSS-ECALの提供についてご紹介いたします。ADXL345は、Analog Devices製の高精度3軸加速度センサー(±2 g, ±4 g, ±8 g, ±16 g)です。
MCUインタフェース:I2C, SPI

ご注意:このリソースの元の言語は英語です。 翻訳は概要を便宜的に提供するもので、機械翻訳を使用していることがあり、私たちは翻訳の正確性および妥当性につきましては一切保証いたしません。 また、実際の設計などの前には、必ず最新版Datasheetをご参照くださいますようお願いいたします。

ADXL345

概要

ADXL345は小型、薄型、低消費電力の3軸加速度センサーで、最大±16gの測定範囲で高分解能(13ビット)の加速度計測が可能です。デジタル出力データは16ビットの「2の補数」フォーマットで、SPI(3または4線)あるいはI2Cのデジタル・インターフェースを介してアクセスできます。

ADXL345は、モバイル機器アプリケーションに非常に適しています。この製品は、傾き検出アプリケーションのような重力の静的加速度を計測することができると同時に、動き、衝撃あるいは振動のような動的加速度も計測できます。その高分解能(4 mg/LSB)によって、1.0°以下の傾き変化を測定することが可能です 。

この製品には複数のスペシャル・センシング機能が内蔵されています。アクティビティ・インアクテビティ検出機能は、加速度の有無や、いずれかの軸の加速度がユーザー設定レベルを超えたかどうかを検出します。タップ・センシングはシングル・タップとダブル・タップを検出します。自由落下検出はデバイスが自由落下しているかを検出します。これらの機能は、2つの割り込み出力ピンの一つに割り当てることができます。内蔵された、特許申請中の32レベルのファーストイン、ファーストアウト(FIFO)バッファに、加速度データを格納する事でホストプロセッサへ通信を最小限に減らすことができます。

低消費電力モードでは、超低消費電力でのスレシュホールド・センシングと加速度計測により、加速度の入力信号に基づいたインテリジェント・パワーマネージメントを可能にします。

ADXL345は小型・薄型の3mm×5mm×1mm、14ピンプラスチック・パッケージを採用しています。

特徴

  • 超低消費電力:VS = 2.5 V(代表値)で測定モード時23 µA、スタンバイモード時0.1 µAという低電力
  • 消費電力は帯域幅に応じて自動的に増減
  • ユーザーが選択可能な解像度
    固定10ビット分解能
    フル分解能(gレンジとともに分解能が向上、±16gで最大13ビット分解能)(すべてのgレンジで4mg/LSBのスケールファクターを維持
  • FIFO技術による組み込みメモリ管理システムにより、ホスト・プロセッサの負荷を最小化
  • シングルタップ/ダブルタップ検出
  • アクティビティ/インアクティビティのモニタリング
  • フリーフォール検出
  • 電源電圧範囲:2.0 V~3.6 V
  • 入出力電圧範囲: 1.7 V~VS
  • SPI(3線式および4線式)およびI2Cデジタル・インターフェース
  • いずれかの割り込みピンにマッピング可能な柔軟な割り込みモード
  • 測定レンジはシリアルコマンドで選択可能
  • シリアル・コマンドで帯域幅を選択可能
  • 広い温度範囲(-40℃~+85)
  • 10,000g 耐久
  • 鉛フリー/RoHS対応
  • 小さくて薄い: 3mm×5mm×1mmLGAパッケージ

用途

  • ハンドセット
  • 医療機器
  • ADXL345-EPは、防衛および宇宙航空アプリケーション(AQEC)をサポート

OSS-ECAL仕様

API関数

OSS-ECALのAPI関数は、基本的に定周期Thread(TASK)から関数コールされることを前提としています。

etSTS oADXL345_INIT( void )

oADXL345_INIT関数は、次のADXL345の初期設定を行い、計測モードへ移行する関数です。尚、下表のuser_setting.hのRegister初期値を設定してください。

– Step1 Data Format Setting
– Step2 Data rate and power mode control Setting
– Step3 Offset-X, Offset-Y, Offset-Z compensation Setting
– Step4 Activity Detection Setting
– Step5 Inactivity Detection Setting
– Step6 Single Tap Setting
– Step7 Double Tap Setting
– Step8 Free-Fall Setting
– Step9 FIFO Setting Setting
– Step10 Interrupt Enable and Mapping Setting
– Step11 Measurement Mode Enable

Label名Register仮の初期値
DATA_FORMAT_INIDATA_FORMATbit7: SELF_TEST_EN = 0
bit6: SPI_MODE = 0
bit5: INT_INVERT = 0
bit4: RESERVED_BIT = 0
bit3: FULL_RES = 1
bit2: JUSTIFY_MODE = 0
bit1: RANGE_SEL1 = 1
bit0: RANGE_SEL0 = 0
BW_RATE_INIBW_RATEbit4: LOW_POWER_EN = 0
bit3: RATE_SEL3 = 1
bit2: RATE_SEL2 = 0
bit1: RATE_SEL1 = 1
bit0: RATE_SEL0 = 0
OFSX_INIOFSX [15.6 mg/LSB]0.0
OFSY_INIOFSY [15.6 mg/LSB]0.0
OFSZ_INIOFSZ [15.6 mg/LSB]0.0
THRESH_ACT_INITHRESH_ACT [62.5 mg/LSB]0.5
ACT_INACT_CTL_INIACT_INACT_CTLbit7: ACT_MODE = 0
bit6: ACT_X_EN = 1
bit5: ACT_Y_EN = 1
bit4: ACT_Z_EN = 1
bit3: INACT_MODE = 0
bit2: INACT_X_EN = 1
bit1: INACT_Y_EN = 1
bit0: INACT_Z_EN = 1
THRESH_INACT_INITHRESH_INACT [62.5 mg/LSB]0.2
TIME_INACT_INITIME_INACT [1 sec/LSB]5.0
THRESH_TAP_INITHRESH_TAP [62.5 mg/LSB]1.5
DUR_INIDUR [625 us/LSB]10.0
TAP_AXES_INITAP_AXESbit3: SUPPRESS_EN = 0
bit2: TAP_X_EN = 1
bit1: TAP_Y_EN = 1
bit0: TAP_Z_EN = 1
Latent_INILatent [1.25 ms/LSB]20.0
Window_INIWindow [1.25 ms/LSB]80.0
THRESH_FF_INITHRESH_FF [62.5 mg/LSB]0.375
TIME_FF_INITIME_FF [5 ms/LSB]300.0
FIFO_MODEFIFO_CTL bit7-bit6
次の値から選択
iFIFO_BYPASS, iFIFO_FIFO, iFIFO_STREAM, iFIFO_TRIGGER
iFIFO_STREAM
FIFO_TRIGGERFIFO_CTL bit50
FIFO_SAMPLEFIFO_CTL bit4-bit016
INT_ENABLE_INIINT_ENABLEbit7: DATA_READY_EN = 1
bit6: SINGLE_TAP_EN = 0
bit5: DOUBLE_TAP_EN = 0
bit4: Activity_EN = 0
bit3: Inactivity_EN = 0
bit2: FREE_FALL_EN = 0
bit1: WATER_MARK_EN = 1
bit0: OVER_RUN_EN = 0
INT_MAP_INIINT_MAPbit7: DATA_READY_INT = 0
bit6: SINGLE_TAP_INT = 0
bit5: DOUBLE_TAP_INT = 0
bit4: Activity_INT = 0
bit3: Inactivity_INT = 0
bit2: FREE_FALL_INT = 0
bit1: WATER_MARK_INT = 0
bit0: OVER_RUN_INT = 0
MEASURE_MODEPOWER_CTL
次の値から選択
iMEASURE, iSLEEP, iAUTO_SLEEP, iSTANDBY
iMEASURE
WAKEUP_FREQPOWER_CTL
次の値から選択
1 = 1 Hz, 2 = 2 Hz, 4 = 4 Hz, 8 = 8 Hz
8
戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_PARAMETER次の値が範囲外の場合
-2.0 g ≦ OFSX_INI ≦ 2.0 g
-2.0 g ≦ OFSY_INI ≦ 2.0 g
-2.0 g ≦ OFSZ_INI ≦ 2.0 g
0.0 g ≦ THRESH_ACT_INI ≦ 16 g
0.0 g ≦ THRESH_INACT_INI ≦ 16 g
0 sec ≦ TIME_INACT_INI ≦ 255 sec
0.0 g ≦ THRESH_TAP_INI ≦ 16 g
0 ms ≦ DUR_INI ≦ 159.375 ms
0 ms ≦ Latent_INI ≦ 318.75 ms
0 ms ≦ Window_INI ≦ 318.75 ms
0.0 g ≦ THRESH_FF_INI ≦ 16 g
0 ms ≦ TIME_FF_INI ≦ 1275 ms
1 ≦ FIFO_SAMPLE ≦ 31

FIFO_MODEの値が、iFIFO_BYPASS、iFIFO_FIFO、iFIFO_STREAM、iFIFO_TRIGGER以外の場合

MEASURE_MODEの値が、iMEASURE、iSLEEP、iAUTO_SLEEP、iSTANDBY以外の場合

WAKEUP_FREQの値が、1、2、4、8以外の場合
etSTS oADXL345_WRITE_ACT( float32 thresh_act_g, uint8 act_ctl )

oADXL345_WRITE_ACT関数は、ADXL345 加速度センサのアクティブな状態を検出するための閾値とアクションを設定するAPI関数です。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_PARAMETER次の値が範囲外の場合
0.0 g ≦ thresh_act_g ≦ 16 g
引数 INfloat32 thresh_act_gRegister THRESH_ACTの設定値[62.5 mg/LSB]
uint8 act_ctlRegister ACT_INACT_CTLの設定値bit7 ACT ac/dc
bit6 ACT_X enable
bit5 ACT_Y enable
bit4 ACT_Z enable
bit3 INACT ac/dc
bit2 INACT_X enable
bit1 INACT_Y enable
bit0 INACT_Z enable
etSTS oADXL345_WRITE_INACT( float32 thresh_inact_g, float32 time_inact_s, uint8 inact_ctl )

oADXL345_WRITE_INACT関数は、ADXL345 加速度センサの非アクティブ状態を検出するための閾値、時間、アクションを設定 するAPI関数です。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_PARAMETER次の値が範囲外の場合
0.0 g ≦ thresh_inact_g ≦ 16 g
0 sec ≦ time_inact_s ≦ 255 sec
引数 INfloat32 thresh_inact_gRegister THRESH_INACTの設定値[62.5 mg/LSB]
float32 time_inact_sRegister TIME_INACTの設定値[1 sec/LSB]
uint8 act_ctlRegister ACT_INACT_CTLの設定値bit7 ACT ac/dc
bit6 ACT_X enable
bit5 ACT_Y enable
bit4 ACT_Z enable
bit3 INACT ac/dc
bit2 INACT_X enable
bit1 INACT_Y enable
bit0 INACT_Z enable
etSTS oADXL345_WRITE_ST( float32 thresh_g, float32 duration_ms, uint8 axis )

oADXL345_WRITE_ST関数は、ADXL345 シングルタップ検出機能の設定するAPI関数です。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_PARAMETER次の値が範囲外の場合
0.0 g ≦ thresh_g ≦ 16 g
0 ms ≦ duration_ms ≦ 159.375 ms
引数 INfloat32 thresh_gRegister THRESH_TAPの設定値[62.5 mg/LSB]
float32 duration_msRegister DURの設定値[625 us/LSB]
uint8 axisRegister TAP_AXESの設定値bit3 Suppress
bit2 TAP_X enable
bit1 TAP_Y enable
bit0 TAP_Z enable
etSTS oADXL345_WRITE_DT( float32 thresh_g, float32 duration_ms, float32 latent_ms, float32 window_ms, uint8 axis )

oADXL345_WRITE_DT関数は、ADXL345 ダブルタップ検出機能の設定するAPI関数です。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_PARAMETER次の値が範囲外の場合
0.0 g ≦ thresh_g ≦ 16 g
0 ms ≦ duration_ms ≦ 159.375 ms
0 ms ≦ latent_ms ≦ 318.75 ms
0 ms ≦ window_ms ≦ 318.75 ms
引数 INfloat32 thresh_gRegister THRESH_TAPの設定値[62.5 mg/LSB]
float32 duration_msRegister DURの設定値[625 us/LSB]
float32 latent_msRegister Latentの設定値[1.25 ms/LSB]
float32 window_msRegister Windowの設定値[1.25 ms/LSB]
uint8 axisRegister TAP_AXESの設定値bit3 Suppress
bit2 TAP_X enable
bit1 TAP_Y enable
bit0 TAP_Z enable
etSTS oADXL345_WRITE_FF( float32 thresh_mg, float32 time_ms )

oADXL345_WRITE_FF関数は、ADXL345 自由落下検出機能の設定するAPI関数です。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_PARAMETER次の値が範囲外の場合
0.0 g ≦ thresh_g ≦ 16 g
0 ms ≦ time_ms ≦ 1275 ms
引数 INfloat32 thresh_gRegister THRESH_FFの設定値[62.5 mg/LSB]
float32 time_msRegister TIME_FFの設定値[5 ms/LSB]
etSTS oADXL345_WRITE_OFFSET( float32 offset_x_g, float32 offset_y_g, float32 offset_z_g )

oADXL345_WRITE_OFFSET関数は、ADXL345 加速度X-axis-XやY-axis、Z-axisのオフセットを設定するAPI関数です。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_PARAMETER次の値が範囲外の場合
-2.0 g ≦ offset_x_g ≦ 2.0 g
-2.0 g ≦ offset_y_g ≦ 2.0 g
-2.0 g ≦ offset_z_g ≦ 2.0 g
引数 INfloat32 offset_x_gRegister OFSXの設定値[15.6 mg/LSB]
float32 offset_y_gRegister OFSYの設定値[15.6 mg/LSB]
float32 offset_z_gRegister OFSZの設定値[15.6 mg/LSB]
etSTS oADXL345_WRITE_INT( uint8 int_enable_mask, uint8 int_map )

oADXL345_WRITE_INT関数は、ADXL345 割り込み設定するAPI関数です。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
引数 INuint8 int_enable_maskRegister INT_ENABLEの設定値bit7 DATA_READY
bit6 SINGLE_TAP
bit5 DOUBLE_TAP
bit4 Activity
bit3 Inactivity
bit2 FREE_FALL
bit1 Watermark
bit0 Overrun
uint8 int_mapRegister INT_MAPの設定値bit7 DATA_READY
bit6 SINGLE_TAP
bit5 DOUBLE_TAP
bit4 Activity
bit3 Inactivity
bit2 FREE_FALL
bit1 Watermark
bit0 Overrun
etSTS oADXL345_WRITE_FIFO( uint8 fifo, uint8 samples, uint8 int_map )

oADXL345_WRITE_FIFO関数は、ADXL345 FIFO 設定するAPI関数です。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_PARAMETER次の値が範囲外の場合
1 ≦ samples≦ 31

fifoの値が、iFIFO_BYPASS、iFIFO_FIFO、iFIFO_STREAM、iFIFO_TRIGGER以外の場合
引数 INuint8 fifoRegister FIFO_CTLの設定値bit7-bit6 FIFO_MODE
次の値から選択
iFIFO_BYPASS、iFIFO_FIFO、iFIFO_STREAM、iFIFO_TRIGGER
uint8 samplesRegister FIFO_CTLの設定値bit4-bit0 Samples 1~31の値
uint8 int_mapRegister INT_MAPの設定値bit7 DATA_READY
bit6 SINGLE_TAP
bit5 DOUBLE_TAP
bit4 Activity
bit3 Inactivity
bit2 FREE_FALL
bit1 Watermark
bit0 Overrun
etSTS oADXL345_WRITE_MODE( uint8 mode, uint8 wakeup )

oADXL345_WRITE_MODE関数は、ADXL345 動作モードの測定モード、スリープモード、オートスリープモード、スタンバイモードを切り替えるAPI関数です。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_PARAMETERmodeの値が、iMEASURE、iSLEEP、iAUTO_SLEEP、iSTANDBY以外の場合

wakeupの値が、1、2、4、8以外の場合
引数 INuint8 modeRegister POWER_CTLの設定値bit4-bit2 Power mode
次の値から選択
iAUTO_SLEEP, iMEASURE, iSLEEP, iSTANDBY
uint8 wakeupRegister POWER_CTLの設定値bit1-bit0 Wakeup
次の値から選択
1, 2, 4, 8
etSTS oADXL345_READ_REG( uint8 adr, uint8* val )

oADXL345_READ_REG関数は、ADXL345 Registerアドレスを指定してRegisterの値を読み込み、読み込んだ値をvalに保存するAPI関数です。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
引数 INuint8 adr読み込むRegisterアドレス
引数OUTuint8* val読み込んだRegister値をvalに保存
etSTS oADXL345_READ_ACC( stACC* axis )

oADXL345_READ_ACC 関数は、Register DATA_FORMAT の値を読み取った後、Register DATAX0:DATAX1、DATAY0:DATAY1、DATAZ0:DATAZ1 の値を取得し、DATA_FORMAT の Range 設定に基づいて、X 軸の値を axis.acc_x、Y 軸の値を axis.acc_y、Z 軸の値を axis.acc_z に保存する API 関数です。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
引数 OUTstACC* axisDATAX0:DATAX1をRangeにより変換し、axis.acc_xに保存
DATAY0:DATAY1をRangeにより変換し、axis.acc_yに保存
DATAZ0:DATAZ1をRangeにより変換し、axis.acc_zに保存
[mg]
etSTS oADXL345_READ_ACC_FIFO( stACC* axis )

oADXL345_READ_ACC_FIFO 関数は、Register DATA_FORMATの値を読み取った後、FIFO 設定に基づいて Register DATAX0:DATAX1、DATAY0:DATAY1、DATAZ0:DATAZ1 の値を取得し、DATA_FORMAT の Range 設定に基づいて、X 軸の値を axis.acc_x、Y 軸の値を axis.acc_y、Z 軸の値を axis.acc_z に保存する API 関数です。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_DATA_STALERegister
FIFO_STATUS Entries>32の場合
引数 OUTstACC* axisDATAX0:DATAX1をRangeにより変換し、axis.acc_xに保存
DATAY0:DATAY1をRangeにより変換し、axis.acc_yに保存
DATAZ0:DATAZ1をRangeにより変換し、axis.acc_zに保存
[mg]
etSTS oADXL345_SELF_TEST_MODE( uint8 sw )

oADXL345_SELF_TEST_MODE関数は、ADXL345 セルフテストモードの有効/無効を設定するAPI関数です。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
引数 INuint8 swRegister DATA_FORMATのSELF_TEST bitの設定値sw = iON: Enable self-test mode
sw = iOFF: Disable self-test mode

Sampleアプリケーション

OSS-ECALには、sampleフォルダ内にサンプルアプリケーションが含まれています。ここでは、そのアプリケーションの概要について説明いたします。OSS-ECALを皆様の製品プログラムに組み込む際の参考資料としてご活用ください。

StatevgADXL345_COMMAND状態遷移条件処理概要API関数
InitializeiADXL345_INITIALIZE1. 初回ADXL345の初期設定oADXL345_INIT
MeasureiADXL345_MEASUREMENT1. Initialize完了
2. vgADXL345_COMMAND=iADXL345_MEASUREMENT
3軸加速度計測oADXL345_READ_REG
Self-testiADXL345_SELF_TEST1. vgADXL345_COMMAND=iADXL345_SELF_TESTセルフテストoADXL345_SELF_TEST_MODE
CalibrationiADXL345_CALIBRATION1. vgADXL345_COMMAND=iADXL345_CALIBRATIONキャリブレーションoADXL345_WRITE_OFFSET
oADXL345_WRITE_ST
oADXL345_WRITE_DT
oADXL345_WRITE_ACT
oADXL345_WRITE_INACT
oADXL345_WRITE_FF
Auto-SleepiADXL345_AUTO_SLEEP1. vgADXL345_COMMAND=iADXL345_AUTO_SLEEPオートスリープ
ErroriADXL345_ERROR1. vgADXL345_COMMAND=iADXL345_ERRORError処理*-*

* 製品プログラムで対応してください。

HALサポート

OSS-ECALのHAL対応は、次の通りです。(順次拡大中)尚、同じHALであってもVerやMCU、開発環境が異なると動作が合わない場合がありますので、ご注意ください。

メーカSDK/IDE ツールHAL名称VerHALNAMESupport
ArduinoArduino IDEArduino1.8.6ARDUINOX
ArmKeil MDK v6Mbed OS6.17.0MBEDX
DebianGNU/Linux10.3LinuxX
InfineonModusToolboxmtb-hal-cat12.4.3ModusToolboxX
NXPMCUXpresso SDKSDK_2.x_EVKB-IMXRT10502.16iMXRT1051B1052BX
NXPPlatformSDK_S32K1_2022_02AUTOSAR MCAL4.4MCAL
RenesasSynergy Software PackageHAL2.6.0SSPX
STMicroelectronicsSTM32CubeSTM32CubeF4V1.28.1STM32F4X
開発環境

OSS-ECAL開発時のMCUおよび開発環境は、次の通りです。

HALNAMEメーカ開発ボードMCUIDE
ARDUINOArduino1.Mega 2560 Rev3
2.Arduino Pro Mini 3.3V
ATmega2560
ATmega328P
Arduino IDE 2.3.3
MBEDSTMicroelectronicsSTM32 Nucleo-64 boardsSTM32F401RETxArm Keil Studio Cloud
LinuxBeagleBoardBeagleBone BlackTI AM335x
ModusToolboxInfineonCY8CPROTO-063-BLE PSoC 6 BLE Prototyping KitCYBLE-416045-02ModusToolbox
iMXRT1051B1052BNXPIMXRT1050-EVKBi.MX RT1050MCUXpresso IDE
MCALSTMicroelectronicsS32K144EVB-Q100S32K144S32 Design Studio for S32 Platform
SSPRenesasS7G2 SKR7FS7G27H3A01CFCe² studio for Renesas Synergy
STM32F4STMicroelectronicsSTM32 Nucleo-64 boardsSTM32F401RETxSTM32CubeIDE

File構成

フォルダ*ファイル概要
ADXL345_HALNAME_VERSION/samplesample.c (.cpp)サンプル・アプリケーション・プログラム
sample.hサンプル・アプリケーション・ヘッダ
ADXL345_HALNAME_VERSIONoADXL345.c (.cpp)ADXL345用OSS-ECALプログラム
oADXL345.hADXL345用OSS-ECALヘッダ
oss_ecal.hOSS-ECAL 共通ヘッダ
ADXL345_ARDUINO.inoArduino用サンプル・アプリケーション・プログラム
user_setting.c (.cpp)ユーザ設定定数・テーブル
user_setting.hユーザ設定ヘッダ
oHAL_i2c_stm32f4.cSTM32Cube FW_F4用HALプログラム
oHAL_i2c_stm32f4.hSTM32Cube FW_F4用HALヘッダ
readme.mdReadme
OSS-ECAL Terms of Use.txtOSS-ECAL利用条件

* HALNAMEは、HALサポートを参照してください。

OSS-ECAL ダウンロード

OSS-ECALのダウンロードは、英語版OSS-ECALサイトからお願いいたします。なお、ダウンロードを行う際は、英語版OSS-ECALサイトにログインしてから操作してください。

組込み方法

ユーザプログラムにOSS-ECALを組み込む方法

ユーザプログラムに複数のOSS-ECAL(同じMCU機能の電子部品)を組み込む方法

ユーザプログラムに複数のOSS-ECAL(異なるMCU機能の電子部品)を組み込む方法

ユーザプログラムに複数同じ電子部品を組み込む方法

電子部品の入れ替えによるユーザプログラムへの影響低減方法

注意事項

サンプル版OSS-ECALは、優先順位の異なるThread(Task)や割込みで用いることを前提としていません。下記の例のような使い方はしないでください。

例)同じADCグループに各センサーが割り当てられ、優先順位が異なる処理でOSS-ECAL APIを実行すると、正しい値を取得できない場合があります。
ADC Gr0 Ch0 温度センサ AD22100A 100ms周期 Thread(優先順位低)で温度取込み
ADC Gr0 Ch1 圧力センサ MPX5999D イベント割込み(優先順位高)で圧力取込み

OSS-ECAL Japanese
error: コンテンツは保護されている