TLE493D-P2B6

TLE493D-P2B6の概要と、TLE493D-P2B6用OSS-ECALの提供についてご紹介いたします。TLE493D-P2B6は、Infineon社製の高精度低消費電力3Dホールセンサー(Full range -160 to 160 mT, Short range -100 to 100 mT)です。
MCUインタフェース:I2C

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

TLE493D-P2B6

概要

この3次元ホール効果センサーは、マイクロコントローラーで設定することができます。測定データはデジタル形式でマイクロコントローラーに送信されます。マイクロコントローラーがマスターで、センサーがスレーブです。また、テスト機能やスリープ状態のシステムをウェイクアップする機能も備えています。

特徴

  • 3D(X、Y、Z)磁束密度センシング ±160 mT
  • 65µT(typ)までプログラム可能なフラックス分解能
  • X-Y角度測定モード
  • センサーのデジタル部品、アナログ部品、ホールプローブをチェックする診断測定
  • ウェイクアップ機能および消費電力7 nA(typ)のパワーダウン・モード
  • 各測定方向に12ビットのデータ分解能と10ビットの温度センサーを装備
  • 可変更新周波数と電力モード(動作中に設定可能)
  • 温度範囲 Tj = -40°C…125°C, 電源電圧範囲 = 2.8 V…3.5 V
  • I2Cプロトコルによる外部µCからのトリガーが可能
  • マイクロコントローラーに有効な測定を示す割り込み信号

用途

TLE493D-P2B6は、以下のような幅広い磁気センシング用に設計されています:

  • ギアスティックの位置
  • トップコラムモジュールとマルチファンクションステアリングホイールのコントロールエレメント
  • 多機能ノブ
  • ペダル/バルブポジション・センシング

メリット

  • 3次元磁気測定原理による部品削減
  • 高い柔軟性により、幅広いアプリケーションに対応可能
  • デバイスのコンフィギュレーションによるプラットフォーム適応性
  • 統合診断による機能安全のサポート
  • ウェイクアップモードにより、システム消費電力が非常に低く、バッテリ駆動時間の延長が可能
  • 高い磁束測定範囲と比較すると、小さな漂遊磁場の妨害は無視できる

OSS-ECAL仕様

API関数

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

提供時の設定値

Label NameDescriptionSet value at the time of provision
TLE493D_P2B6_TYPEProduct Typeを次の値から選択。
eTLE493D_P2B6_A0: Product Type A0
eTLE493D_P2B6_A1: Product Type A1
eTLE493D_P2B6_A2: Product Type A2
eTLE493D_P2B6_A3: Product Type A3
eTLE493D_P2B6_A0
I2C_PROTOCOL_INII²C 1バイトまたは2バイト読み出しプロトコルを次の値から選択。
i1BYTE: 1byte
i2BYTE: 2byte
i1BYTE
WAKEUP_FEATURERegister WU bit6 WUを次の値から選択。
iENABLE: Enable
iDISABLE: Disable
iDISABLE
WAKEUP_XL_INIRegister XLの設定値。
X-Direction : Wake Up lower threshold [mT]
0.0F
WAKEUP_XH_INIRegister XHの設定値。
X-Direction : Wake Up lower threshold [mT]
0.0F
WAKEUP_YL_INIRegister YLの設定値。
X-Direction : Wake Up lower threshold [mT]
0.0F
WAKEUP_YH_INIRegister YHの設定値。
Y-Direction : Wake Up upper threshold [mT]
0.0F
WAKEUP_ZL_INIRegister ZLの設定値。
Z-Direction : Wake Up lower threshold [mT]
0.0F
WAKEUP_ZH_INIRegister ZHの設定値。
Z-Direction : Wake Up upper threshold [mT]
0.0F
SENSITIVITYFull-rangeまたはShort-rangeを次の値から選択。
iRANGE_FULL: Full-range
iRANGE_SHORT: Short-range
iRANGE_FULL
Config_INIRegister Configの設定値bit7 DT = 0
bit6 AM = 0
bit5:4 TRIG = 00
bit3 X2 = 0
bit2:1 TL_mag = 00
bit0 CP = 1
READ_OUT磁気データを12bitまたは8bitで読み込むか次の値から選択。
i12BITS: 12bit
i8BITS: 8bit
i12BITS
POWER_MODEPower Modeを次の値から選択。
eLOW_POWER_MODE: Low power mode
eMASTER_CONTROL_MODE: Master control mode
eFAST_MODE: Fast mode
eMASTER_CONTROL_MODE
UPDATE_RATE_INIRegister MOD2 PRDの周波数設定を次の値から選択。
eRATE_700_HZ: 770 Hz
eRATE_97_HZ: 97 Hz
eRATE_24_HZ: 24 Hz
eRATE_12_HZ: 12 Hz
eRATE_6_HZ: 6 Hz
eRATE_3_HZ: 3 Hz
eRATE_0_4_HZ: 0.4 Hz
eRATE_0_05_HZ: 0.05 Hz
eRATE_12_HZ
etSTS oTLE493D_P2B6_RESET( void )

oTLE493D_P2B6_RESET関数は、TLE493D-P2B6をリセットするAPI関数です。

– Step1 Send 0xFF
– Step2 Send 0xFF again
– Step3 Send 0x00
– Step4 Send 0x00 again
– Step5 Wait 30μs required after device reset to ensure stable startup
– Step6 Correct CP bit

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
etSTS oTLE493D_P2B6_INIT( void )

oTLE493D_P2B6_INIT関数は、リセット後にTLE493D-P2B6を設定するAPI関数です。

– Step1 Configuration bus
– Step2 Disable Interrupt before other settings
– Step3 Sensor Configuration
– Step4 Disable Test Mode
– Step5 Enable/Disable Wake-Up
– Step6 Set Wake-Up Threshold
– Step7 Set Power Mode
– Step8 Set Update Rate
– Step9 Enable/Disable Collision Avoidance or Clock Stretching
– Step10 Enable/Disable Interrupt

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_PARAMETER次のいづれかの場合
1. I2C_PROTOCOL_INIの値が次の値以外の場合
i1BYTE, i2BYTES

2. TLE493D_P2B6_TYPEの値が次の値以外の場合
eTLE493D_P2B6_A0, eTLE493D_P2B6_A1,
eTLE493D_P2B6_A2, eTLE493D_P2B6_A3

3. Wake-up Thresholdの値が次の場合
WAKEUP_XL_INI > WAKEUP_XH_INI
WAKEUP_YL_INI > WAKEUP_YH_INI
WAKEUP_ZL_INI > WAKEUP_ZH_INI

4.Wake-up Thresholdの設定値が次の範囲以外の場合
iMIN_TLE493D_P2B6_XL_f ≦ WAKEUP_XL_INI ≦ iMAX_TLE493D_P2B6_XL_f
iMIN_TLE493D_P2B6_YL_f ≦ WAKEUP_YL_INI ≦ iMAX_TLE493D_P2B6_YL_f
iMIN_TLE493D_P2B6_ZL_f ≦ WAKEUP_ZL_INI ≦ iMAX_TLE493D_P2B6_ZL_f
iMIN_TLE493D_P2B6_XH_f ≦ WAKEUP_XHL_INI ≦ iMAX_TLE493D_P2B6_XH_f
iMIN_TLE493D_P2B6_YH_f ≦ WAKEUP_YH_INI ≦ iMAX_TLE493D_P2B6_YH_f
iMIN_TLE493D_P2B6_ZH_f ≦ WAKEUP_ZH_INI ≦ iMAX_TLE493D_P2B6_ZH_f

5. POWER_MODEの値が次の値以外の場合
eLOW_POWER_MODE, eFAST_MODE, eMASTER_CONTROL_MODE

6. UPDATE_RATE_INIの値が次の値以外の場合
eRATE_700_HZ, eRATE_97_HZ, eRATE_24_HZ, eRATE_12_HZ,
eRATE_6_HZ, eRATE_3_HZ, eRATE_0_4_HZ, eRATE_0_05_HZ
eSTS_ERR_DIAG次のいづれかの場合
1. Fuse Parity Error
2. Register Diag CF = 0
3. Register Diag T = 1
etSTS oTLE493D_P2B6_WRITE_WAKEUP( uint8 wu_sts )

oTLE493D_P2B6_WRITE_WAKEUP関数は、Wake-up機能の有効/無効を設定するAPI関数です。

– Step1 Read all registers and retrieve the WU, Config, and Diag register values
– Step2 Confirm test mode is disabled and CF = 1
– Step3 Write Register 0x0D( WU ) : Setting wake-up bit
– Step4 Write Register 0x0D( WU ) : Setting wake-up
– Step5 Write Register 0x10(Config): Update CP bit

Note:Wake-up機能が有効な場合は、Test Mode機能を無効にしなければなりません。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_DIAG次のいづれかの場合
1. Register Diag CF = 0
2. Register Diag T = 1
引数 INuint8 wu_stsWake-up機能の有効/無効を設定次の値から選択
iENABLE, iDISABLE
etSTS oTLE493D_P2B6_WRITE_WAKEUP_THRES( float32 thres_xl, float32 thres_yl, float32 thres_zl, float32 thres_xh, float32 thres_yh, float32 thres_zh )

oTLE493D_P2B6_WRITE_WAKEUP_THRES関数は、Wake-up機能のスレッシュホールドを設定するAPI関数です。

– Step1 Check Threshold
– Step2 Set Wake-Up Lower Threshold
– Step3 Set Wake-Up Upper Threshold

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_PARAMETER次のいづれかの場合
1. Wake-up Thresholdの値が次の場合
thres_xl > thres_xh
thres_yl > thres_yh
thres_zl > thres_zh

2.Wake-up Thresholdの設定値が次の範囲以外の場合
iMIN_TLE493D_P2B6_XL_f ≦ thres_xl ≦ iMAX_TLE493D_P2B6_XL_f
iMIN_TLE493D_P2B6_YL_f ≦ thres_yl ≦ iMAX_TLE493D_P2B6_YL_f
iMIN_TLE493D_P2B6_ZL_f ≦ thres_zl ≦ iMAX_TLE493D_P2B6_ZL_f
iMIN_TLE493D_P2B6_XH_f ≦ thres_xh ≦ iMAX_TLE493D_P2B6_XH_f
iMIN_TLE493D_P2B6_YH_f ≦ thres_yh ≦ iMAX_TLE493D_P2B6_YH_f
iMIN_TLE493D_P2B6_ZH_f ≦ thres_zh ≦ iMAX_TLE493D_P2B6_ZH_f

full range
iMIN_TLE493D_P2B6_XL_f -160.0mT
iMAX_TLE493D_P2B6_XL_f 160.0mT
iMIN_TLE493D_P2B6_YL_f -160.0mT
iMAX_TLE493D_P2B6_YL_f 160.0mT
iMIN_TLE493D_P2B6_ZL_f -160.0mT
iMAX_TLE493D_P2B6_ZL_f 160.0mT

short range
iMIN_TLE493D_P2B6_XL_f -100.0mT
iMAX_TLE493D_P2B6_XL_f 100.0mT
iMIN_TLE493D_P2B6_YL_f -100.0mT
iMAX_TLE493D_P2B6_YL_f 100.0mT
iMIN_TLE493D_P2B6_ZL_f -100.0mT
iMAX_TLE493D_P2B6_ZL_f 100.0mT
引数 INfloat32 thres_xlWake-Up Lower X Thresholdfull range 7.7LSB/mT (Typ.)
short range 15.4LSB/mT (Typ.)
float32 thres_ylWake-Up Lower Y Thresholdfull range 7.7LSB/mT (Typ.)
short range 15.4LSB/mT (Typ.)
float32 thres_zlWake-Up Lower Z Thresholdfull range 7.7LSB/mT (Typ.)
short range 15.4LSB/mT (Typ.)
float32 thres_xhWake-Up Upper X Thresholdfull range 7.7LSB/mT (Typ.)
short range 15.4LSB/mT (Typ.)
float32 thres_yhWake-Up Upper Y Thresholdfull range 7.7LSB/mT (Typ.)
short range 15.4LSB/mT (Typ.)
float32 thres_zhWake-Up Upper Z Thresholdfull range 7.7LSB/mT (Typ.)
short range 15.4LSB/mT (Typ.)
etSTS oTLE493D_P2B6_WRITE_POWER_MODE( etTLE493D_P2B6_POWER power )

oTLE493D_P2B6_WRITE_POWER_MODE関数は、Power Modeを設定するAPI関数です。

– Step1 Validate input and determine MODE bitsValidate input and determine MODE bits
– Step2 Read 0x11(MOD1), 0x13(MOD2) Register Value and Check Fuse Parity
– STep3 Write Register 0x11( MOD1 ) : Setting Power mode

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_PARAMETER次の値以外の場合
eLOW_POWER_MODE,
eFAST_MODE,
eMASTER_CONTROL_MODE
eSTS_ERR_DIAGFuse Parity Error
引数 INetTLE493D_P2B6_POWER powerRegister MOD1 MODEの設定値次の値から選択
eLOW_POWER_MODE,
eFAST_MODE,
eMASTER_CONTROL_MODE
etSTS oTLE493D_P2B6_WRITE_RATE( etTLE493D_P2B6_RATE rate )

oTLE493D_P2B6_WRITE_RATE関数は、センシング周期を設定するAPI関数です。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_PARAMETER次の値以外の場合
eRATE_700_HZ,
eRATE_97_HZ,
eRATE_24_HZ,
eRATE_12_HZ,
eRATE_6_HZ,
eRATE_3_HZ,
eRATE_0_4_HZ,
eRATE_0_05_HZ
eSTS_ERR_DIAGFuse Parity Error
引数 INetTLE493D_P2B6_RATE rateRegister MOD2 PRDの設定値次の値から選択
eRATE_700_HZ,
eRATE_97_HZ,
eRATE_24_HZ,
eRATE_12_HZ,
eRATE_6_HZ,
eRATE_3_HZ,
eRATE_0_4_HZ,
eRATE_0_05_HZ
etSTS oTLE493D_P2B6_WRITE_INT( uint8 en_dis )

oTLE493D_P2B6_WRITE_INT関数は、/INT機能の有効/無効を設定するAPI関数です。

– Step1 Read 0x11(MOD1), 0x13(MOD2) Register Value and Check Fuse Parity
– Step2 Write Register 0x11( MOD1 ) : Interrupt enable/disable

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_DIAGFuse Parity Error
引数 INuint8 en_disRegister MOD1 INTの設定値次の値から選択
iENABLE, iDISABLE
etSTS oTLE493D_P2B6_WRITE_CA( uint8 ca )

oTLE493D_P2B6_WRITE_CA関数は、Collision avoidance機能の有効/無効を設定するAPI関数です。

– Step1 Read 0x11(MOD1), 0x13(MOD2) Register Value and Check Fuse Parity
– Step2 Write Register 0x11( MOD1 ) : Setting Collision avoidance

Note:クロック・ストレッチは、Master-controlledおよびLow-Powerモードでのみサポートされます。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_DIAGFuse Parity Error
引数 INuint8 caRegister MOD1 CAの設定値次の値から選択
iENABLE, iDISABLE
etSTS oTLE493D_P2B6_WRITE_TEST_MODE( etTLE493D_P2B6_TEST mode )

oTLE493D_P2B6_WRITE_TEST_MODE関数は、Test Mode機能を設定するAPI関数です。

– Step1 Input validation and determine Regsiter TMode TST bit
– Step2 Update Regsiter TMode TST bits

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_PARAMETER次の値以外の場合
eTEST_MODE_NO,
eTEST_MODE_VAHLL,
eTEST_MODE_SPIN,
eTEST_MODE_SAT
eSTS_ERR_DIAGFuse Parity Error
引数 INetTLE493D_P2B6_TEST modeRegsiter TMode TSTの設定値次の値から選択
eTEST_MODE_NO,
eTEST_MODE_VAHLL,
eTEST_MODE_SPIN,
eTEST_MODE_SAT
etSTS oTLE493D_P2B6_WRITE_TRIGGER( etTLE493D_P2B6_TRIGGER trig_type )

oTLE493D_P2B6_WRITE_TRIGGER関数は、Trigger機能を設定するAPI関数です。

– Step1 Validate input and determine Register Config TRIG bits
– Step2 Update Register Config TRIG bits
– Step3 Write Register 0x10( Config ) : Setting Trigger

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_PARAMETER次の値以外の場合
eTRIG_NO_TRIGGER,
eTRIG_AFTER_WRITE,
eTRIG_BEFORE_MSB,
eTRIG_AFTER_05H
引数 INetTLE493D_P2B6_TRIGGER trig_typeRegister Config TRIGの設定値次の値から選択
eTRIG_NO_TRIGGER,
eTRIG_AFTER_WRITE,
eTRIG_BEFORE_MSB,
eTRIG_AFTER_05H
etSTS oTLE493D_P2B6_READ_MAG_RAW( stTLE493D_P2B6_RAW_O* rlt )

oTLE493D_P2B6_READ_MAG_RAW関数は、X軸、Y軸、Z軸の磁場RAW(生データ)値の読み出すAPI関数です。

Note:この関数を使用して、温度が不要な場合に磁気測定を高速化できます。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
引数 OUTstTLE493D_P2B6_RAW_O* rltRegister Bx, By and Bzの読み出し値
sint16 rlt.raw_bx [mT/LSB]
sint16 rlt.raw_by [mT/LSB]
sint16 rlt.raw_bz [mT/LSB]
etSTS oTLE493D_P2B6_READ_MAG( stTLE493D_P2B6_O* rlt )

oTLE493D_P2B6_READ_MAG関数は、X軸、Y軸、Z軸磁気データの読み出すAPI関数です。

Note:この関数を使用して、温度が不要な場合に磁気測定を高速化できます。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_MAXfull-range:160.0mTを超えた場合
short-range:100.0mTを超えた場合
eSTS_ERR_MINfull-range:-160.0mT未満の場合
short-range:-100.0mT未満の場合
引数 OUTstTLE493D_P2B6_O* rltRegister Bx, By and Bzの磁気データ
float32 rlt.bx [mT]
float32 rlt.by [mT]
float32 rlt.bz [mT]
etSTS oTLE493D_P2B6_READ_MAG_TEMP_RAW( stTLE493D_P2B6_RAW_O* rlt )

oTLE493D_P2B6_READ_MAG_TEMP_RAW関数は、X軸、Y軸、Z軸磁場および温度のRAW(生データ)値の読み出すAPI関数です。

Note:この関数を使用するには、温度測定を有効にする必要があります。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
引数 OUTstTLE493D_P2B6_O* rltRegister Bx, By, Bz and Tempの読み出し値
sint16 rlt.raw_bx [mT/LSB]
sint16 rlt.raw_by [mT/LSB]
sint16 rlt.raw_bz [mT/LSB]
sint16 rlt.raw_temp [°C]
etSTS oTLE493D_P2B6_READ_MAG_TEMP( stTLE493D_P2B6_O* rlt )

oTLE493D_P2B6_READ_MAG_TEMP関数は、X軸、Y軸、Z軸磁気データおよび温度データの読み出すAPI関数です。

Note:この関数を使用するには、温度測定を有効にする必要があります。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_MAX次のいづれかの場合
1. Bx > iMAX_TLE493D_P2B6_BX_f
2. By > iMAX_TLE493D_P2B6_BY_f
3. Bz > iMAX_TLE493D_P2B6_BZ_f
4. temp > 125.0 °C

full range
iMAX_TLE493D_P2B6_BX_f 160.0mT
iMAX_TLE493D_P2B6_BY_f 160.0mT
iMAX_TLE493D_P2B6_BZ_f 160.0mT

short range
iMAX_TLE493D_P2B6_BX_f 100.0mT
iMAX_TLE493D_P2B6_BY_f 100.0mT
iMAX_TLE493D_P2B6_BZ_f 100.0mT
eSTS_ERR_MIN次のいづれかの場合
1. Bx < iMIN_TLE493D_P2B6_BX_f
2. By < iMIN_TLE493D_P2B6_BY_f
3. Bz < iMIN_TLE493D_P2B6_BZ_f
4. temp < -40.0 °C

full range
iMIN_TLE493D_P2B6_BX_f -160.0mT
iMIN_TLE493D_P2B6_BY_f -160.0mT
iMIN_TLE493D_P2B6_BZ_f -160.0mT

short range
iMIN_TLE493D_P2B6_BX_f -100.0mT
iMIN_TLE493D_P2B6_BY_f -100.0mT
iMIN_TLE493D_P2B6_BZ_f -100.0mT
引数 OUTstTLE493D_P2B6_O* rltRegister Bx, By and Bzの磁気データ
Register Tempの温度値
float32 rlt.bx [mT]
float32 rlt.by [mT]
float32 rlt.bz [mT]
float32 rlt.temp [°C]
etSTS oTLE493D_P2B6_READ_DIAG( uint8* diag )

oTLE493D_P2B6_READ_DIAG関数は、Register Diagの診断情報を読み出すAPI関数です。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_DIAGFuse Parity Error
引数 INuint8 caRegister Diagの読み出し値
etSTS oTLE493D_P2B6_READ_REG( uint8* reg )

oTLE493D_P2B6_READ_REG関数は、全てのRegisterの値を読み出すAPI関数です。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_I2C_OBJECTI2Cオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_I2CHAL I2Cエラー
eSTS_ERR_DIAGFuse Parity Error
引数 OUTuint8* regreg[0] = Register Bx
reg[1] = Register By
reg[2] = Register Bz
reg[3] = Register Temp
reg[4] = Register Bx2
reg[5] = Register Temp2
reg[6] = Register Diag
reg[7] = Register XL
reg[8] = Register XH
reg[9] = Register YL
reg[10] = Register YH
reg[11] = Register ZL
reg[12] = Register ZH
reg[13] = Register WU
reg[14] = Register TMode
reg[15] = Register TPhase
reg[16] = Register Config
reg[17] = Register MOD1
reg[18] = Register Reserved
reg[19] = Register MOD2
reg[20] = Register Reserved
reg[21] = Register Reserved
reg[22] = Register Ver

Sampleアプリケーション

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

StatevgTLE493D_P2B6_COMMAND状態遷移条件処理概要API関数
InitializeiTLE493D_P2B6_INITIALIZE初回TLE493D-P2B6 Initialize StateoTLE493D_P2B6_RESET
oTLE493D_P2B6_WRITE_TRIGGER
MeasureiTLE493D_P2B6_MEASURE1. Initialize完了
2. vgTLE493D_P2B6_COMMAND=
 iTLE493D_P2B6_MEASURE
3Dホール磁気計測oTLE493D_P2B6_READ_DIAG
oTLE493D_P2B6_READ_MAG_TEMP
Self-testiTLE493D_P2B6_SELF_TESTvgTLE493D_P2B6_COMMAND=
iTLE493D_P2B6_SELF_TEST
セルフテストoTLE493D_P2B6_WRITE_TEST_MODE
oTLE493D_P2B6_WRITE_TRIGGER
oTLE493D_P2B6_READ_MAG_TEMP_RAW
ErroriTLE493D_P2B6_ERRORvgTLE493D_P2B6_COMMAND=
iTLE493D_P2B6_ERROR
Error処理-*
Low PoweriTLE493D_P2B6_LOW_POWERvgTLE493D_P2B6_COMMAND=
iTLE493D_P2B6_LOW_POWER
Low PoweroTLE493D_P2B6_WRITE_POWER_MODE

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

HALサポート

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

メーカSDK/IDE ツールHAL名称VerHALNAMESupport
ArduinoArduino IDEArduino1.8.6ARDUINOX
DebianGNU/Linux10.3LinuxX
InfineonModusToolboxmtb-hal-cat12.4.3ModusToolboxX
NXPMCUXpresso SDKSDK_2.x_EVKB-IMXRT10502.16iMXRT1051B1052BX
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
LinuxBeagleBoardBeagleBone BlackTI AM335x
ModusToolboxInfineonCY8CPROTO-063-BLE PSoC 6 BLE Prototyping KitCYBLE-416045-02ModusToolbox
iMXRT1051B1052BNXPIMXRT1050-EVKBi.MX RT1050MCUXpresso IDE
SSPRenesasS7G2 SKR7FS7G27H3A01CFCe² studio for Renesas Synergy
STM32F4STMicroelectronicsSTM32 Nucleo-64 boardsSTM32F401RETxSTM32CubeIDE

File構成

フォルダ*ファイル概要
TLE493D_P2B6_HALNAME_VERSION/samplesample.c (.cpp)サンプル・アプリケーション・プログラム
sample.hサンプル・アプリケーション・ヘッダ
TLE493D_P2B6_HALNAME_VERSIONoTLE493D_P2B6.c (.cpp)TLE493D-P2B6用OSS-ECALプログラム
oTLE493D_P2B6.hTLE493D-P2B6用OSS-ECALヘッダ
oTLE493D_P2B6_user.hTLE493D-P2B6用ユーザ設定ヘッダ
oss_ecal.hOSS-ECAL 共通ヘッダ
TLE493D_P2B6_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: コンテンツは保護されている