TLE9201SG

TLE9201SGの概要と、TLE9201SG用OSS-ECALの提供についてご紹介いたします。TLE9201SGは、Infineon製のBDCモーター用MOTIX™フルブリッジICです。
MCUインタフェース:SPI, GPIO

ご注意:実際の設計などの前には、必ず最新版Datasheetをご参照くださいますようお願いいたします。

TLE9201SG

概要

TLE9201SGは、自動車アプリケーションにおけるDCモーターやその他の誘導負荷の制御を目的として設計された汎用6A Hブリッジです(ただし、これに限定されません)。出力は最大20kHzの周波数でパルス幅変調(PWM)が可能です。PWM/DIR制御により、マイクロコントローラー側で必要なPWM対応ピン数を削減できます。

負荷電流が電流制限閾値(8A 典型値)を超えると、Hブリッジはチョッパー電流制限モードに移行します。短絡や過温度から保護され、SPI経由の広範な診断機能またはエラーフラグ経由の基本的なエラーフィードバックを提供します。ブリッジが無効化されている場合や誘導負荷のPWM動作中に、オープン負荷を検出できます。

堅牢なPG-DSO-12-17パッケージは、厚い銅製ヒートスラグにより優れた熱性能を提供します。

ヒートスラグの突起したエッジにより、パッケージは自動光学はんだ検査に最適です。

特徴

  • Tj=25 °Cでスイッチあたり100 mΩのRDSon typ.
  • ロジック入力 3.3 Vおよび5.0 V TTL/CMOS対応
  • 低いスタンバイ電流
  • チョッパー電流制限
  • ラッチ動作による短絡シャットダウン
  • ラッチ動作による過熱シャットダウン
  • VS低電圧シャットダウン
  • ONおよびOFF状態でのオープンロード検出
  • 詳細なSPI診断または単純なエラーフラグ
  • グリーン製品(RoHS対応)
  • AEC認定

OSS-ECAL仕様

API関数

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

etSTS oTLE9201SG_SPI_CONFIG( void )

oTLE9201SG_SPI_CONFIG関数は、SPIをコンフィグレーションするAPI関数です。

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

oTLE9201SG_INIT関数は、次の手順でTLE9201SGの初期化を行うAPI関数です。

Step1: VSO操作有効(iTLE9201SG_PIN_VSO = iUSE)の場合、
1) VSO = Hi
2) iTLE9201SG_OUTPUT_WUP_DELAY_MS待機
3) MOSFET on (DIS pin = Low)
4) iTLE9201SG_OUTPUT_DIS_DELAY_US待機
5) Reverse (DIR pin =Low)
6) PWM 0%
Step2: SPI controlモードに設定(oTLE9201SG_SPI_CONTROL_SET関数参照)
Step3: Diagnosis Registerクリア
Step4: MOSFET off ( DIS pin = Hi )
Step5: iTLE9201SG_OUTPUT_DIS_DELAY_US待機
Step6: PWM controlモードに設定(oTLE9201SG_PWM_CONTROL_SET関数参照)
Step7: PWM 0%

備考:
iTLE9201SG_OUTPUT_WUP_DELAY_MS[ms]経過計測は、この関数をコールするThread周期から計算するので、THREAD_OSS_ECAL_PERIOD [ms]にThread周期を設定してください。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_EXE実行中
eSTS_ERR_PARAMETER次のいづれかの場合
– GPIO pin 選択エラー
– GPIO Output レベル選択エラー
– PWM pin 選択エラー
– PWM出力設定値 0%~100%範囲外
eSTS_ERR_GPIO_OBJECTGPIOオブジェクト選択エラー
eSTS_ERR_SPI_OBJECTSPIオブジェクト選択エラー
eSTS_ERR_PWM_OBJECTPWMオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_SPIHAL SPIエラー
eSTS_ERR_HAL_PWMHAL PWMエラー
etSTS oTLE9201SG_PWM_CONTROL( float32 dir_duty )

oTLE9201SG_PWM_CONTROL関数は、dir_dutyの値に基づき、DIR pin出力およびPWM出力を行うAPI関数です。

備考:
この関数を使用する前に、oTLE9201SG_PWM_CONTROL_SET関数を使用してPWMモードに切り替える必要があります。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_PARAMETER次のいづれかの場合
– GPIO pin 選択エラー
– GPIO Output レベル選択エラー
– PWM pin 選択エラー
– PWM出力設定値 0%~100%範囲外
eSTS_ERR_GPIO_OBJECTGPIOオブジェクト選択エラー
eSTS_ERR_PWM_OBJECTPWMオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_PWMHAL PWMエラー
引数 INfloat32 dir_dutyDIR pinおよびPWM duty設定値dir_duty < 0.0f の時:
DIR pin = Low(Reverse), PWM duty = -dir_duty

dir_duty >= 0.0fの時:
DIR pin = Hi(Forward), PWM duty = dir_duty
etSTS oTLE9201SG_SPI_CONTROL( float32 dir_duty )

oTLE9201SG_SPI_CONTROL関数は、dir_dutyの値に基づき、SPIにてDIRおよびPWMの値を設定するAPI関数です。

備考:
この関数を使用する前に、oTLE9201SG_SPI_CONTROL_SET関数を使用してSPIモードに切り替える必要があります。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_SPI_OBJECTSPIオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_SPIHAL SPIエラー
引数 INfloat32 dir_dutyRegister CTRL_REGのSDIRおよびSPWMの設定値dir_duty < 0.0f の時:
SDIR = 0 (Reverse), SPWM = 1

dir_duty == 0.0fの時:
SDIR = 0 (Reverse), SPWM = 0

dir_duty > 0.0fの時:
SDIR = 1 (Forward), SPWM = 1
etSTS oTLE9201SG_OPEN_LOAD( uint8* dia )

oTLE9201SG_OPEN_LOAD関数は、次の手順でTLE9201SGをOpen Loadを行い、Register DIA_REGの値を読み出し、diaに保存する API関数です。

Step1: SPIモード(oTLE9201SG_SPI_CONTROL_SET関数実行)
Step2: 負荷電流源の開放(Register CTRL_REG OLDIS=1)
Step3: MOSFET on (DIS pin = Hi)
Step4: iTLE9201SG_OUTPUT_DIS_DELAY_US待機
Step5: SPIモード(oTLE9201SG_SPI_CONTROL_SET関数実行)
Step6: Register DIA_REG読込み
Step7: PWMモード(oTLE9201SG_PWM_CONTROL_SET関数実行)
Step8: diaにStep6の読み出し値保存

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_PARAMETER次のいづれかの場合
– GPIO pin 選択エラー
– GPIO Output レベル選択エラー
– PWM pin 選択エラー
– PWM出力設定値 0%~100%範囲外
eSTS_ERR_GPIO_OBJECTGPIOオブジェクト選択エラー
eSTS_ERR_SPI_OBJECTSPIオブジェクト選択エラー
eSTS_ERR_PWM_OBJECTPWMオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_SPIHAL SPIエラー
eSTS_ERR_HAL_PWMHAL PWMエラー
引数 OUTuint8* diaRegister DIA_REGの読み出し値
etSTS oTLE9201SG_PWM_CONTROL_SET( void )

oTLE9201SG_PWM_CONTROL_SET関数は、次の手順でTLE9201SGをPWM controlモードに設定するAPI関数です。この関数は、Sleepモードの時は、使用しないでください。

Step1: MOSFET on ( DIS pin = Low)
Step2: iTLE9201SG_OUTPUT_DIS_DELAY_US待機
Step3: Reverse ( DIR pin = Low )
Step4: PWM 0%
Step5: iTLE9201SG_OUTPUT_ENA_DELAY_US待機
Step6: Register CTRL_REG読込み
Step7: Register CTRL_REG SEN = 0, SIN = 0 書込み
Step8: Forward ( DIR pin = Hi )

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_PARAMETER次のいづれかの場合
– GPIO pin 選択エラー
– GPIO Output レベル選択エラー
– PWM pin 選択エラー
– PWM出力設定値 0%~100%範囲外
eSTS_ERR_GPIO_OBJECTGPIOオブジェクト選択エラー
eSTS_ERR_SPI_OBJECTSPIオブジェクト選択エラー
eSTS_ERR_PWM_OBJECTPWMオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_SPIHAL SPIエラー
eSTS_ERR_HAL_PWMHAL PWMエラー
etSTS oTLE9201SG_SPI_CONTROL_SET( void )

oTLE9201SG_SPI_CONTROL_SET関数は、次の手順でTLE9201SGをSPI controlモードに設定するAPI関数です。この関数は、Sleepモードの時は、使用しないでください。

Step1: MOSFET on ( DIS pin = Low)
Step2: iTLE9201SG_OUTPUT_DIS_DELAY_US待機
Step3: Reverse ( DIR pin = Low )
Step4: PWM 0%
Step5: iTLE9201SG_OUTPUT_ENA_DELAY_US待機
Step6: Register CTRL_REG読込み
Step7: Register CTRL_REG SEN = 1, SIN = 1 書込み

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_PARAMETER次のいづれかの場合
– GPIO pin 選択エラー
– GPIO Output レベル選択エラー
– PWM pin 選択エラー
– PWM出力設定値 0%~100%範囲外
eSTS_ERR_GPIO_OBJECTGPIOオブジェクト選択エラー
eSTS_ERR_SPI_OBJECTSPIオブジェクト選択エラー
eSTS_ERR_PWM_OBJECTPWMオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_SPIHAL SPIエラー
eSTS_ERR_HAL_PWMHAL PWMエラー
etSTS oTLE9201SG_DISABLE( void )

oTLE9201SG_DISABLE関数は、次の手順でTLE9201SGをDisableに設定するAPI関数です。

Step1: MOSFET off ( DIS pin = Hi)
Step2: iTLE9201SG_OUTPUT_DIS_DELAY_US待機
Step3: Reverse ( DIR pin = Low )
Step4: PWM 0%

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_PARAMETER次のいづれかの場合
– GPIO pin 選択エラー
– GPIO Output レベル選択エラー
– PWM pin 選択エラー
– PWM出力設定値 0%~100%範囲外
eSTS_ERR_GPIO_OBJECTGPIOオブジェクト選択エラー
eSTS_ERR_PWM_OBJECTPWMオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_PWMHAL PWMエラー
etSTS oTLE9201SG_SLEEP( void )

oTLE9201SG_SLEEP関数は、次の手順でTLE9201SGをSleepに設定するAPI関数です。このAPI関数は、VSO 動作が有効になっている(iTLE9201SG_PIN_VSO = iUSE)場合に用います。

Step1: MOSFET on ( DIS pin = Low)
Step2: iTLE9201SG_OUTPUT_DIS_DELAY_US待機
Step3: Reverse ( DIR pin = Low )
Step4: PWM 0%
Step5: 電源off ( VSO = Low )

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_PARAMETER次のいづれかの場合
– GPIO pin 選択エラー
– GPIO Output レベル選択エラー
– PWM pin 選択エラー
– PWM出力設定値 0%~100%範囲外
eSTS_ERR_GPIO_OBJECTGPIOオブジェクト選択エラー
eSTS_ERR_PWM_OBJECTPWMオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_PWMHAL PWMエラー
etSTS oTLE9201SG_WAKEUP( void )

oTLE9201SG_WAKEUP関数は、次の手順でTLE9201SGをSleepモードからWake-upするAPI関数です。

Step1: 電源on ( VSO = Hi )
Step2: iTLE9201SG_OUTPUT_WUP_DELAY_MS待機
Step3: MOSFET on ( DIS pin = Low)
Step4: iTLE9201SG_OUTPUT_DIS_DELAY_US待機
Step5: Reverse ( DIR pin = Low )
Step6: PWM 0%

備考:
iTLE9201SG_OUTPUT_WUP_DELAY_MS[ms]経過計測は、この関数をコールするThread周期から計算するので、THREAD_OSS_ECAL_PERIOD [ms]にThread周期を設定してください。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_PARAMETER次のいづれかの場合
– GPIO pin 選択エラー
– GPIO Output レベル選択エラー
– PWM pin 選択エラー
– PWM出力設定値 0%~100%範囲外
eSTS_ERR_GPIO_OBJECTGPIOオブジェクト選択エラー
eSTS_ERR_PWM_OBJECTPWMオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_PWMHAL PWMエラー
etSTS oTLE9201SG_RD_DIA( uint8* rlt )

oTLE9201SG_RD_DIA関数は、Register DIA_REGの値を読み出し、rltに保存するAPI関数です。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_SPI_OBJECTSPIオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_SPIHAL SPIエラー
引数 OUTuint8* diaRegister DIA_REGの読み出し値
etSTS oTLE9201SG_RES_DIA( void )

oTLE9201SG_RES_DIA関数は、Register DIA_REGの値をクリアするAPI関数です。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_SPI_OBJECTSPIオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_SPIHAL SPIエラー
etSTS oTLE9201SG_RD_REV( uint8* rlt )

oTLE9201SG_RD_REV関数は、Register REV_REGの値を読み出し、rltに保存するAPI関数です。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_SPI_OBJECTSPIオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_SPIHAL SPIエラー
引数 OUTuint8* rltRegister REV_REGの読み出し値
etSTS oTLE9201SG_RD_CTRL( uint8* rlt )

oTLE9201SG_RD_REV関数は、Register CTRL_REGの値を読み出し、rltに保存するAPI関数です。

戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_SPI_OBJECTSPIオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_SPIHAL SPIエラー
引数 OUTuint8* rltRegister CTRL_REGの読み出し値
etSTS oTLE9201SG_WR_CTRL( uint8 val )

oTLE9201SG_WR_CTRL関数は、val & 0x1fの値をRegister CTRLに書き込むAPI関数です。

valは、下表からCTRL_REGのbitを組み合わせて設定してください。

Bit名Bit概要
iTLE9201SG_OLDISb4Open Load Disconnect
iTLE9201SG_SINb3Control output PWM/DIR or SPI
iTLE9201SG_SENb2Enable/Disable SPI control
iTLE9201SG_SDIRb1DIR SPI control
iTLE9201SG_SPWMb0PWM SPI control
戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_SPI_OBJECTSPIオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_SPIHAL SPIエラー
引数 INuint8 valRegister CTRL_REGの書込み値
etSTS oTLE9201SG_WR_CTRL_RD_DIA( uint8 val, uint8* rlt )

oTLE9201SG_WR_CTRL_RD_DIA関数は、val & 0x1fの値をRegister CTRLに書き込み、その後Register CTRLを読み出し、rltに保存するAPI関数です。

valは、下表からCTRL_REGのbitを組み合わせて設定してください。

Bit名Bit概要
iTLE9201SG_OLDISb4Open Load Disconnect
iTLE9201SG_SINb3Control output PWM/DIR or SPI
iTLE9201SG_SENb2Enable/Disable SPI control
iTLE9201SG_SDIRb1DIR SPI control
iTLE9201SG_SPWMb0PWM SPI control
戻り値etSTSOSS-ECALステータスコード
eSTS_FIN正常終了
eSTS_ERR_SPI_OBJECTSPIオブジェクト選択エラー
eSTS_ERR_HAL_OTHERS_RUN他のアプリケーションがHAL実行中
eSTS_ERR_HAL_SPIHAL SPIエラー
引数 INuint8 valRegister CTRL_REGの書込み値
引数 OUTuint8* rltRegister CTRL_REGの読み出し値

提供時の設定

共通設定値

提供時の共通設定値は、下表のuser_setting.hの値です。各製品に合わせて変更してください。

ラベル名概要提供時の設定値
THREAD_OSS_ECAL_PERIODThread/Task 周期[ms]10U
iTLE9201SG_PIN_VSOVSO出力信号の制御の有無
iUSE: 有
iDONT_USE: 無
iDONT_USE
iTLE9201SG_PIN_VSO_SIGVSO出力信号の非反転または反転を指定
iNORMAL: 非反転
iREVERSE: 反転
iNORMAL
iTLE9201SG_PIN_DIS_SIGDIS出力信号の非反転または反転を指定
iNORMAL: 非反転
iREVERSE: 反転
iNORMAL
iTLE9201SG_PIN_DIR_SIGDIR出力信号の非反転または反転を指定
iNORMAL: 非反転
iREVERSE: 反転
iNORMAL
CMP_PWM_NUMOSS-ECALで使用するPWM object数1U
PWM_PIN_NUMOSS-ECALで使用するPWM pin数1U
TLE9201SG_PWM_FREQPWMの周期[Hz]20000U
CMP_GPIO_NUMOSS-ECALで使用するGPIO object数1U
GPIO_PIN_NUMOSS-ECALで使用するGPIO数3U
CMP_SPI_NUMOSS-ECALで使用するSPI object数1U
HZ_TLE9201SGSPI通信ボーレート1000000U
SPI_RETRYSPIの通信エラー発生時リトライ数3U
ESP32 HAL設定値

提供時のESP32 HAL設定値は、下表のuser_setting.hの値です。各製品に合わせて変更してください。

ラベル名概要設定値
PWM_TLE9201SG_TIMERPWMタイマ・オブジェクトLEDC_TIMER_0
PIN_TLE9201SG_PWMPWM pinGPIO_NUM_8
TLE9201SG_PWM_CHANNELPWMタイマ・オブジェクトのチャンネルLEDC_CHANNEL_0
PWM_TLE9201SG_MODELEDC speed modeLEDC_LOW_SPEED_MODE
TLE9201SG_PWM_RESOLUTION_BITSPWM resolution (10-bit = 0~1023 duty)LEDC_TIMER_10_BIT
PIN_TLE9201SG_DISDIS pinGPIO_NUM_1
PIN_TLE9201SG_DIRDIR pinGPIO_NUM_2
PIN_TLE9201SG_VSOVSO pin
iTLE9201SG_PIN_VSO=iUSEの場合のみ
GPIO_NUM_3
PIN_MOSIMOSI pinGPIO_NUM_6
PIN_MISOMISO pinGPIO_NUM_5
PIN_SCLKSCLK pinGPIO_NUM_4
PIN_TLE9201SG_CSCS pinGPIO_NUM_7
SPI_TLE9201SG_CFGSPI_TLE9201SG_CFGは、次のspi_bus_add_device関数の引数const spi_device_interface_config_t *dev_configのグローバル変数です。
この変数の定義は、spi_bus_add_device関数の定義に合わせて定義してください。

esp_err_t spi_bus_add_device(spi_host_device_t host, const spi_device_interface_config_t *dev_config, spi_device_handle_t *handle)
vgTLE9201SG_CONFIG
SPI_TLE9201SGSPI_TLE9201SGは、次のspi_bus_add_device関数の引数spi_device_handle_t *handleのグローバル変数です。
この変数の定義は、spi_bus_add_device関数の定義に合わせて定義してください。

esp_err_t spi_bus_add_device(spi_host_device_t host, const spi_device_interface_config_t *dev_config, spi_device_handle_t *handle)
vgTLE9201SG_HANDLE
ModusToolbox mtb-hal-cat1の設定値

提供時のModusToolbox mtb-hal-cat1設定値は、下表のuser_setting.hの値です。各製品に合わせて変更してください。

ラベル名概要設定値
PWM_TLE9201SGSPI_TLE9201SGは、次のcyhal_pwm_init関数の引数cyhal_pwm_t objのグローバル変数です。
この変数の定義は、cyhal_pwm_init関数の定義に合わせて定義してください。

#define cyhal_pwm_init( obj, pin, clk )
vgPWM_OBJ
PIN_TLE9201SG_PWMPWM pinP7_1
PIN_TLE9201SG_DISDIS pinP5_4
PIN_TLE9201SG_DIRDIR pinP5_5
PIN_TLE9201SG_VSOVSO pin
iTLE9201SG_PIN_VSO=iUSEの場合のみ
P5_6
PIN_MOSIMOSI pinP9_0
PIN_MISOMISO pinP9_1
PIN_SCLKSCLK pinP9_2
SPI_TLE9201SGSPI_TLE9201SGは、次のcyhal_spi_init関数の引数cyhal_spi_t* objのグローバル変数です。
この変数の定義は、cyhal_spi_init関数の定義に合わせて定義してください。

cy_rslt_t cyhal_spi_init(cyhal_spi_t* obj,
cyhal_gpio_t mosi,
cyhal_gpio_t miso,
cyhal_gpio_t sclk,
cyhal_gpio_t ssel,
const cyhal_clock_t * clk,
uint8_t bits,
cyhal_spi_mode_t mode,
bool is_slave)
vgSPI_OBJ
PIN_TLE9201SG_CSCS pinP9_3
STM32CubeF4の設定値

提供時のSTM32CubeF4設定値は、下表のuser_setting.hの値です。各製品に合わせて変更してください。

ラベル名概要設定値
TIME_DELAY経過時間の計測用タイマ・オブジェクトhtim2
PWM_TLE9201SGPWMタイマ・オブジェクトhtim4
TLE9201SG_PWM_CHANNELPWMタイマ・オブジェクトのチャンネルTIM_CHANNEL_1
TLE9201SG_PWM_TIMER_PERIODPWM周期3199U (20kHz)
GPIO_TLE9201SG_DISDIS GPIOオブジェクトGPIOA
PIN_TLE9201SG_DISDIS pinGPIO_PIN_9
GPIO_TLE9201SG_DIRDIR GPIOオブジェクトGPIOA
PIN_TLE9201SG_DIRDIR pinGPIO_PIN_10
GPIO_TLE9201SG_VSOVSO GPIOオブジェクト
iTLE9201SG_PIN_VSO=iUSEの場合のみ
GPIOA
PIN_TLE9201SG_VSOVSO pin
iTLE9201SG_PIN_VSO=iUSEの場合のみ
GPIO_PIN_12
SPI_TLE9201SGSPIオブジェクトhspi2
GPIO_TLE9201SG_CSCS GPIOオブジェクトGPIOC
PIN_TLE9201SG_CSCS pinGPIO_PIN_8

サンプルアプリケーション

サンプルアプリケーションは、smple.c の oss_ecal 関数として提供しています。
oss_ecal関数のAPIは、グローバル変数vgTLE9201SGに下表のコマンドを設定することで、TLE9201SGのOSS-ECAL API関数を実行することができます。

コマンド概要
iTLE9201SG_SPI_CONFIGTLE9201SG SPI configuration command
iTLE9201SG_INITIALIZETLE9201SG Initialize command
iTLE9201SG_PWM_CTRLTLE9201SG PWM control command
iTLE9201SG_OPEN_LOADTLE9201SG Open load command
iTLE9201SG_DISABLETLE9201SG Disable command
iTLE9201SG_SLEEPTLE9201SG Sleep command.
This command is used when VSO operation is enabled (iTLE9201SG_PIN_VSO = iUSE).
iTLE9201SG_WAKEUPTLE9201SG Wake-up command.
iTLE9201SG_SPI_CTRLTLE9201SG SPI control command
iTLE9201SG_RD_DIATLE9201SG RD_DIA command
iTLE9201SG_RES_DIATLE9201SG RES_DIA command
iTLE9201SG_RD_REVTLE9201SG RD_REV command
iTLE9201SG_RD_CTRLTLE9201SG RD_CTRL command
iTLE9201SG_WR_CTRLTLE9201SG WR_CTRL command
iTLE9201SG_WR_CTRL_RD_DIATLE9201SG WR_CTRL_RD_DIA command

HALサポート

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

メーカSDK/IDE ツールHAL名称VerHALNAMESupport
ArduinoArduino IDEArduino1.8.6ARDUINO
DebianGNU/Linux10.3Linux
EspressifESP-IDFHALv5.5ESP32X
InfineonModusToolboxmtb-hal-cat12.4.3ModusToolboxX
NXPMCUXpresso SDKSDK_2.x_EVKB-IMXRT10502.16iMXRT1051B1052B
RenesasSynergy Software PackageHAL2.6.0SSP
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
ESP32EspressifESP32-C3-DevKitC-02ESP32-C3-WROOM-02UEspressif-IDE
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構成

フォルダ*ファイル概要
TLE9201SG_HALNAME_VERSION/samplesample.cサンプル・アプリケーション・プログラム
sample.hサンプル・アプリケーション・ヘッダ
TLE9201SG_HALNAME_VERSIONoTLE9201SG.cTLE9201SG用OSS-ECALプログラム
oTLE9201SG.hTLE9201SG用OSS-ECALヘッダ
oss_ecal.hOSS-ECAL 共通ヘッダ
user_setting.cユーザ設定定数・テーブル
user_setting.hユーザ設定ヘッダ
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: コンテンツは保護されている