TLE9201SG

This is an overview of the TLE9201SG and the OSS-ECAL offering for the TLE9201SG. The TLE9201SG is a MOTIX™ full-bridge IC for BDC motors manufactured by Infineon.
MCU interface : SPI and GPIO

CAUTION:Please be sure to refer to the latest version of the Datasheet prior to actual design.

TLE9201SG

Overview

The TLE9201SG is a general purpose 6 A H-Bridge, designed for (but not limited to) the control of DC motors or other inductive loads in automotive applications. The outputs can be pulse width modulated at frequencies up to 20kHz. PWM/DIR control reduces the number of PWM capable pins needed on the microcontroler side.

For load currents above the current limitation threshold (8A typ.) the H-Bridge goes into chopper current limitation mode. It is protected against short circuits and overtemperature and provides extensive diagnosis via SPI or basic error feedback via error flag. Open load can be detected when the bridge is disabled or during PWM operation of inductive loads.

The robust PG-DSO-12-17 package provides excellent thermal capabilites due to the thick copper heat slug.
Thanks to the protruding edges of the heatslug the package is well suited for automatic optical solder inspection.

Feature

  • RDSon of 100 mΩ per switch typ. at Tj=25 °C
  • Logic inputs 3.3 V and 5.0 V TTL/CMOS-compatible
  • Low standby current
  • Chopper current limitation
  • Short circuit shut down with latch behavior
  • Overtemperature shut down with latch behavior
  • VS undervoltage shutdown
  • Open load detection in ON and OFF state
  • Detailed SPI diagnosis or simple error flag
  • Green product (RoHS compliant)
  • AEC qualified

OSS-ECAL specification

API Function

OSS-ECAL API functions are basically assumed to be function calls from a periodic Thread (TASK).

etSTS oTLE9201SG_SPI_CONFIG( void )

The oTLE9201SG_SPI_CONFIG function is an API function that configures SPI.

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_SPI_OBJECTSPI object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_SPIHAL SPI error
etSTS oTLE9201SG_INIT( void )

The oTLE9201SG_INIT function is an API function that initializes the TLE9201SG in the following steps.

TLE9201SG_PIN_VSOcontrol mode*Processing
VSO pin Valid
iUSE
PWMStep1: VSO pin = Hi
Step2: iTLE9201SG_OUTPUT_WUP_DELAY_MS wait
Step3: DIS pin = Low
Step4: iTLE9201SG_OUTPUT_DIS_DELAY_US wait
Step5: DIR pin = Low
Step6: PWM 0%
Step7: PWM control mode setting (Register CTRL_REG OLDIS=1, SIN=0, SEN=0, SDIR=0, SPWM=0)
Step8: iTLE9201SG_OUTPUT_ENA_DELAY_US wait
SPIStep1: VSO pin = Hi
Step2: iTLE9201SG_OUTPUT_WUP_DELAY_MS wait
Step3: SPI control mode setting (Register CTRL_REG OLDIS=1, SIN=1, SEN=1, SDIR=0, SPWM=0 )
Step4: iTLE9201SG_OUTPUT_ENA_DELAY_US wait
VSO pin Invalid
iDONT_USE
PWMStep1: DIS pin = Low
Step2: iTLE9201SG_OUTPUT_DIS_DELAY_US wait
Step3: DIR pin = Low
Step4: PWM 0%
Step5: PWM control mode setting (Register CTRL_REG OLDIS=1, SIN=0, SEN=0, SDIR=0, SPWM=0)
Step6: iTLE9201SG_OUTPUT_ENA_DELAY_US wait
SPIStep1: SPI control mode setting (Register CTRL_REG OLDIS=1, SIN=1, SEN=1, SDIR=0, SPWM=0 )
Step2: iTLE9201SG_OUTPUT_ENA_DELAY_US wait

*: Value of TLE9201SG_START_MODE (PWM: iTLE9201SG_PWM_MODE, SPI: iTLE9201SG_SPI_MODE)
TLE9201SG_START_MODE is the set value of control mode after Wake-up.

NOTE :
The iTLE9201SG_OUTPUT_WUP_DELAY_MS [ms] elapsed measurement is calculated from the Thread period that calls this function, so set the Thread period to THREAD_OSS_ECAL_PERIOD [ms].

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_EXEDuring execution
eSTS_ERR_PARAMETERIn any of the following cases
– GPIO pin selection error
– PWM pin selection error
eSTS_ERR_COMMANDCall this API function during Initialization mode or Sleep mode
eSTS_ERR_GPIO_OBJECTGPIO object selection error
eSTS_ERR_PWM_OBJECTPWM object selection error
eSTS_ERR_SPI_OBJECTSPI object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_SPIHAL SPI error
eSTS_ERR_HAL_PWMHAL PWM error
etSTS oTLE9201SG_PWM_SPI_MODE_SELECT( uint8 mode )

The oTLE9201SG_PWM_SPI_MODE_SELECT function is an API function that sets the PWM control mode or SPI control mode based on the mode value.

modeProcessing
iTLE9201SG_PWM_MODE
(PWM control mode)
Step1: DIS pin = Low
Step2: iTLE9201SG_OUTPUT_DIS_DELAY_US wait
Step3: DIR pin = Low
Step4: PWM 0%
Step5: PWM control mode setting (Register CTRL_REG OLDIS=1, SIN=0, SEN=0, SDIR=0, SPWM=0 )
iTLE9201SG_SPI_MODE
(SPI control mode)
Step1: SPI control mode setting (Register CTRL_REG OLDIS=1, SIN=1, SEN=1, SDIR=0, SPWM=0 )
Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_PARAMETERIn any of the following cases
– GPIO pin selection error
– PWM pin selection error
eSTS_ERR_COMMANDCall this API function in Sleep mode
eSTS_ERR_GPIO_OBJECTGPIO object selection error
eSTS_ERR_PWM_OBJECTPWM object selection error
eSTS_ERR_SPI_OBJECTSPI object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_PWMHAL PWM error
eSTS_ERR_HAL_SPIHAL SPI error
Parameter INuint8 modeSelection of PWM control mode or SPI control modePWM control mode: iTLE9201SG_PWM_MODE
SPI control mode: iTLE9201SG_SPI_MODE
etSTS oTLE9201SG_DIR_PWM_SET( float32 dir_duty )

The oTLE9201SG_DIR_PWM_SET function is an API function that performs DIR and PWM output based on the value of dir_duty.

modedir_duty DIRDuty
PWM control modedir_duty < 0.0fReverse: DIR pin = LowPWM = -dir_duty
dir_duty >= 0.0fForward: DIR pin = HiPWM = dir_duty
SPI control mode*dir_duty < 0.0fReverse: Register CTRL_REG SDIR = 0Register CTRL_REG SPWM = 1
dir_duty > 0.0fForward: Register CTRL_REG SDIR = 1Register CTRL_REG SPWM = 1
dir_duty = 0.0fReverse: Register CTRL_REG SDIR = 0Register CTRL_REG SPWM = 0

*: In SPIcontrol mode, OLDIS=1

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_PARAMETERIn any of the following cases
– GPIO pin selection error
– PWM pin selection error
– PWM output setpoint -100% to 100% out of range
eSTS_ERR_COMMANDCall this API function in modes other than PWM control mode or SPI control mode
eSTS_ERR_GPIO_OBJECTGPIO object selection error
eSTS_ERR_PWM_OBJECTPWM object selection error
eSTS_ERR_SPI_OBJECTSPI object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_PWMHAL PWM error
eSTS_ERR_HAL_SPIHAL SPI error
Parameter INfloat32 dir_dutyDIR and PWM setpoints[%]
etSTS oTLE9201SG_OL_OFF_STATE( uint8* dia )

The oTLE9201SG_OL_OFF_STATE function is an API function that performs Open Load Detection in OFF state for TLE9201SG, reads the value of Register DIA_REG, and stores it in dia according to the following procedure. Please use PWM control mode.

Step1: DIS pin = Hi
Step2: iTLE9201SG_OUTPUT_DIS_DELAY_US wait
Step3: Open Load OFF State setting (Register CTRL_REG OLDIS = 0)
Step4: Register DIA_REG clear
Step5: iTLE9201SG_OUTPUT_OL_OFF_DELAY_US wait
Step6: Register DIA_REG read
Step7: Open Load OFF State release (Register CTRL_REG OLDIS = 1)
Step8: DIS pin = Low
Step9: iTLE9201SG_OUTPUT_DIS_DELAY_US wait
Step10: Save the readout value of Step6 in dia

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_PARAMETERIn any of the following cases
– GPIO pin selection error
– PWM pin selection error
eSTS_ERR_COMMANDCall this API function in modes other than PWM control mode
eSTS_ERR_GPIO_OBJECTGPIO object selection error
eSTS_ERR_SPI_OBJECTSPI object selection error
eSTS_ERR_PWM_OBJECTPWM object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_SPIHAL SPI error
Parameter OUTuint8* diaRegister DIA_REG read value
etSTS oTLE9201SG_OL_ON_STATE( uint8* dia )

The oTLE9201SG_OL_ON_STATE function is an API function that performs Open Load Detection in ON state for TLE9201SG, reads the value of Register DIA_REG, and stores it in dia according to the following procedure. Please use PWM control mode.

Step1: DIR pin = Hi
Step2: PWM = TLE9201SG_OL_ON_DUTY_TEST
Step3: iTLE9201SG_HS_RISE_TIME_US + (1000000U / TLE9201SG_PWM_FREQ) * 5U) wait
Step4: Register DIA_REG read
Step5: Save the readout value of Step4 in dia.

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_PARAMETERIn any of the following cases
– GPIO pin selection error
– PWM pin selection error
– PWM output setpoint -100% to 100% out of range
eSTS_ERR_COMMANDCall this API function in modes other than PWM control mode
eSTS_ERR_GPIO_OBJECTGPIO object selection error
eSTS_ERR_SPI_OBJECTSPI object selection error
eSTS_ERR_PWM_OBJECTPWM object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_SPIHAL SPI error
eSTS_ERR_HAL_PWMHAL PWM error
Parameter OUTuint8* diaRegister DIA_REG read value
etSTS oTLE9201SG_DISABLE( void )

oTLE9201SG_DISABLE function is an API function that sets TLE9201SG to Disable state by the following procedure. Please use PWM control mode.

Step1: MOSFET on ( DIS pin = Hi )
Step2: iTLE9201SG_OUTPUT_DIS_DELAY_US wait
Step3: Reverse ( DIR pin = Low )
Step4: PWM 0%

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_PARAMETERIn any of the following cases
– GPIO pin selection error
– PWM pin selection error
eSTS_ERR_COMMANDCall this API function in modes other than PWM control mode
eSTS_ERR_GPIO_OBJECTGPIO object selection error
eSTS_ERR_PWM_OBJECTPWM object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_PWMHAL PWM error
etSTS oTLE9201SG_SLEEP( void )

The oTLE9201SG_SLEEP function is an API function that sets the TLE9201SG to Sleep (VSO pin = Low) by the following procedure. This API function is used when VSO operation is enabled (iTLE9201SG_PIN_VSO = iUSE).

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_PARAMETERGPIO pin selection error
eSTS_ERR_GPIO_OBJECTGPIO object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
etSTS oTLE9201SG_WAKEUP( void )

oTLE9201SG_WAKEUP function is an API function to wake-up TLE9201SG from initial mode or Sleep mode by the following procedure.

TLE9201SG_PIN_VSOTLE9201SG_START_MODEProcessing
VSO pin Valid
iUSE
PWM control mode
(iTLE9201SG_PWM_MODE)
Step1: Power on ( VSO = Hi )
Step2: iTLE9201SG_OUTPUT_WUP_DELAY_MS wait
Step3: DIS pin = Low
Step4: iTLE9201SG_OUTPUT_DIS_DELAY_US wait
Step5: DIR pin = Low
Step6: PWM 0%
Step7: PWM control mode setting (Register CTRL_REG OLDIS=1, SIN=0, SEN=0, SDIR=0, SPWM=0)
SPI control mode
(iTLE9201SG_SPI_MODE)
Step1: Power on ( VSO = Hi )
Step2: iTLE9201SG_OUTPUT_WUP_DELAY_MS wait
Step3: SPI control mode setting (Register CTRL_REG OLDIS=1, SIN=1, SEN=1, SDIR=0, SPWM=0 )
VSO pin Invalid
iDONT_USE
PWM control mode
(iTLE9201SG_PWM_MODE)
Step1: DIS pin = Low
Step2: iTLE9201SG_OUTPUT_DIS_DELAY_US wait
Step3: DIR pin = Low
Step4: PWM 0%
Step5: PWM control mode setting (Register CTRL_REG OLDIS=1, SIN=0, SEN=0, SDIR=0, SPWM=0)
SPI control mode
(iTLE9201SG_SPI_MODE)
Step1: SPI control mode setting (Register CTRL_REG OLDIS=1, SIN=1, SEN=1, SDIR=0, SPWM=0 )

NOTE :
The iTLE9201SG_OUTPUT_WUP_DELAY_MS [ms] elapsed measurement is calculated from the Thread period that calls this function, so set the Thread period to THREAD_OSS_ECAL_PERIOD [ms].

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_PARAMETERIn any of the following cases
– GPIO pin selection error
– PWM pin selection error
eSTS_ERR_COMMANDCall this API function during Initialization mode or Sleep mode
eSTS_ERR_GPIO_OBJECTGPIO object selection error
eSTS_ERR_PWM_OBJECTPWM object selection error
eSTS_ERR_SPI_OBJECTSPI object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_PWMHAL PWM error
eSTS_ERR_HAL_SPIHAL SPI error
etSTS oTLE9201SG_RD_DIA( uint8* rlt )

The oTLE9201SG_RD_DIA function is an API function that reads the value of Register DIA_REG and stores it in rlt.

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_SPI_OBJECTSPI object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_SPIHAL SPI error
Parameter OUTuint8* rltRegister DIA_REG read value
etSTS oTLE9201SG_RES_DIA( void )

The oTLE9201SG_RES_DIA function is an API function that clears the value of Register DIA_REG.

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_SPI_OBJECTSPI object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_SPIHAL SPI error
etSTS oTLE9201SG_RD_REV( uint8* rlt )

The oTLE9201SG_RD_REV function is an API function that reads the value of Register REV_REG and stores it in rlt.

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_SPI_OBJECTSPI object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_SPIHAL SPI error
Parameter OUTuint8* rltRegister DIA_REG read value
etSTS oTLE9201SG_RD_CTRL( uint8* rlt )

The oTLE9201SG_RD_REV function is an API function that reads the value of Register CTRL_REG and stores it in rlt.

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_SPI_OBJECTSPI object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_SPIHAL SPI error
Parameter OUTuint8* rltRegister CTRL_REG read value
etSTS oTLE9201SG_WR_CTRL( uint8 val )

The oTLE9201SG_WR_CTRL function is an API function that writes the value of val & 0x1f to the register CTRL_REG.

Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_SPI_OBJECTSPI object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_SPIHAL SPI error
Parameter INuint8 valRegister CTRL_REG write value
etSTS oTLE9201SG_WR_CTRL_RD_DIA( uint8 val, uint8* rlt )

The oTLE9201SG_WR_CTRL_RD_DIA function is an API function that writes the value of val & 0x1f to Register CTRL_REG, then reads Register CTRL_REG and saves it to rlt.

val should be set by combining the bits of CTRL_REG from the table below.

Bit nameBitSummary
iTLE9201SG_OLDISb4Open Load Disconnect
iTLE9201SG_SINb3Control output PWM/DIR or SPI
iTLE9201SG_SENb2Enable/Disable SPI control
iTLE9201SG_SDIRb1DIR SPI control
iTLE9201SG_SPWMb0PWM SPI control
Return valueetSTSOSS-ECAL status code
eSTS_FINCompleted successfully
eSTS_ERR_SPI_OBJECTSPI object selection error
eSTS_ERR_HAL_OTHERS_RUNOther application is running HAL
eSTS_ERR_HAL_SPIHAL SPI error
Parameter INuint8 valRegister CTRL_REG write value
Parameter OUTuint8* rltRegister CTRL_REG read value

Settings at the time of provision

Common setting value

The common setting values when provided are the values in user_setting.h in the table below. Please change them according to each product.

Label nameSummarySet value
THREAD_OSS_ECAL_PERIODThread/Task cycle[ms]10U
iTLE9201SG_PIN_VSOVSO output signal presence
iUSE: Valid
iDONT_USE: Invalid
iDONT_USE
TLE9201SG_START_MODEDefault value of Control mode
iTLE9201SG_PWM_MODE: PWM control mode
iTLE9201SG_SPI_MODE: SPI control mode
iTLE9201SG_PWM_MODE
TLE9201SG_PIN_VSO_SIGSpecifies non-inverted or inverted VSO output signal
iNORMAL: Non-inverted
iREVERSE: Inverted
iNORMAL
TLE9201SG_PIN_DIS_SIGSpecifies non-inverted or inverted DIS output signal
iNORMAL: Non-inverted
iREVERSE: Inverted
iNORMAL
TLE9201SG_PIN_DIR_SIGSpecifies non-inverted or inverted DIR output signal
iNORMAL: Non-inverted
iREVERSE: Inverted
iNORMAL
TLE9201SG_OL_ON_DUTY_TESTPWM duty value when open load detection is in ON state[%]40.0F (40.0%)
CMP_PWM_NUMNumber of PWM objects used in OSS-ECAL1U
PWM_PIN_NUMNumber of PWM pins used in OSS-ECAL1U
TLE9201SG_PWM_FREQPWM period [Hz]20000U (20.0kHz)
CMP_GPIO_NUMNumber of GPIO objects used in OSS-ECAL1U
GPIO_PIN_NUMNumber of GPIOs used in OSS-ECAL3U
CMP_SPI_NUMNumber of SPI objects used in OSS-ECAL1U
HZ_TLE9201SGSPI communication baud rate[bps]1000000U (1Mbps)
SPI_RETRYNumber of retries when SPI communication error occurs3U
ESP32 HAL setting values

The ESP32 HAL setting values when provided are the values in user_setting.h in the table below. Please change them according to each product.

Label nameSummarySetting values
PWM_TLE9201SG_TIMERPWM Timer ObjectLEDC_TIMER_0
PIN_TLE9201SG_PWMPWM pinGPIO_NUM_8
TLE9201SG_PWM_CHANNELPWM Timer Object ChannelsLEDC_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
Only if 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 is a global variable in the argument const spi_device_interface_config_t *dev_config of the following spi_bus_add_device function.
Define this variable according to the definition of the spi_bus_add_device function.

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 is a global variable for the argument spi_device_handle_t *handle of the following spi_bus_add_device function.
Define this variable according to the definition of the spi_bus_add_device function.

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 setting values

The ModusToolbox mtb-hal-cat1 setting values when provided are the values in user_setting.h in the table below. Please change them according to each product.

Label nameSummarySetting values
PWM_TLE9201SGSPI_TLE9201SG is a global variable for the argument cyhal_pwm_t obj of the following cyhal_pwm_init function.
Define this variable according to the definition of the cyhal_pwm_init function.

#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
Only if iTLE9201SG_PIN_VSO=iUSE
P5_6
PIN_MOSIMOSI pinP9_0
PIN_MISOMISO pinP9_1
PIN_SCLKSCLK pinP9_2
SPI_TLE9201SGSPI_TLE9201SG is a global variable for the argument cyhal_spi_t* obj of the following cyhal_spi_init function.
Define this variable according to the definition of the cyhal_spi_init function.

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 setting values

The STM32CubeF4 setting values when provided are the values in user_setting.h in the table below. Please change them according to each product.

Label nameSummarySetting values
TIME_DELAYTimer object for measuring elapsed timehtim2
PWM_TLE9201SG_TIMERPWM Timer Objecthtim4
TLE9201SG_PWM_CHANNELPWM Timer Object ChannelsTIM_CHANNEL_1
TLE9201SG_PWM_TIMER_PERIODPWM Cycle3199U (20kHz=50µs)
LSB = 0.015625 µs
GPIO_TLE9201SG_DISDIS GPIO ObjectGPIOA
PIN_TLE9201SG_DISDIS pinGPIO_PIN_9
GPIO_TLE9201SG_DIRDIR GPIO objectGPIOA
PIN_TLE9201SG_DIRDIR pinGPIO_PIN_10
GPIO_TLE9201SG_VSOVSO GPIO object
Only if iTLE9201SG_PIN_VSO=iUSE
GPIOA
PIN_TLE9201SG_VSOVSO pin
Only if iTLE9201SG_PIN_VSO=iUSE
GPIO_PIN_12
SPI_TLE9201SGSPI Objecthspi2
GPIO_TLE9201SG_CSCS GPIO ObjectGPIOC
PIN_TLE9201SG_CSCS pinGPIO_PIN_8

Sample Applications

The sample application is provided as oss_ecal function in smple.c.
The oss_ecal function API can be used to execute TLE9201SG’s oss-ECAL API functions by setting the commands in the table below in the global variable vgTLE9201SG.cmd.

CommandSummary
iTLE9201SG_SPI_CONFIGSPI configuration command
iTLE9201SG_INI_MODEInitialize command
iTLE9201SG_SPI_MODESPI control mode command
iTLE9201SG_PWM_MODEPWM control mode command
iTLE9201SG_SLP_MODESleep mode command
Do this when the VSO pin is enabled.
iTLE9201SG_DIS_MODEDisable mode command
Please do this when in PWM control mode.
iTLE9201SG_DIR_PWM_SETPWM duty 設定command
iTLE9201SG_OL_OFF_STATEOpen load OFF command
Please do this when in PWM control mode.
iTLE9201SG_OL_ON_STATEOpen load ON command
Please do this when in PWM control mode.
iTLE9201SG_WAKEUPWake-up command
iTLE9201SG_RD_DIARD_DIA command
iTLE9201SG_RES_DIARES_DIA command
iTLE9201SG_RD_REVRD_REV command
iTLE9201SG_RD_CTRLRD_CTRL command
iTLE9201SG_WR_CTRLWR_CTRL command
iTLE9201SG_WR_CTRL_RD_DIAWR_CTRL_RD_DIA command

HAL Support List

OSS-ECAL’s HAL support is as follows. Please note that even if the same HAL is used, different versions, MCUs, and development environments may not work together. The list is being expanded sequentially.

ManufacturerSDK/IDE ToolHAL NameVerHALNAMESupport
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
Development environment

The MCU and development environment during OSS-ECAL development are as follows.

HALNAMEManufacturerBoardMCUIDE
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 Structure

Folder*FileSummary
TLE9201SG_HALNAME_VERSION/samplesample.cSample application program
sample.hSample application header
TLE9201SG_HALNAME_VERSIONoTLE9201SG.cOSS-ECAL program for TLE9201SG
oTLE9201SG.hOSS-ECAL header for TLE9201SG
oss_ecal.hOSS-ECAL common header
user_setting.cUser configured constants and tables
user_setting.hUser configuration Header
readme.mdReadme
OSS-ECAL Terms of Use.txtOSS-ECAL Terms of Use

* For HALNAME, please refer to HAL Support.

OSS-ECAL Download Contact

Please login before contacting us for downloads.
To register as a new user, click here.

Built-in How to

How to incorporate OSS-ECAL into user programs

How to incorporate multiple OSS-ECALs in a user program (same MCU function)

How to incorporate multiple OSS-ECALs in a user program (different MCU function)

How to incorporate multiple identical electronic components into a user program

How to reduce the impact on user programs by replacing electronic components

CAUTION

The sample version of OSS-ECAL is not intended to be used with Threads (Tasks) or interrupts of different priority. Please do not use it as in the example below.

Example: If each sensor is assigned to the same ADC group and the OSS-ECAL API is executed in processes with different priorities, correct values may not be obtained.
ADC Gr0 Ch0 Temperature sensor AD22100A 100ms cycle Thread (low priority) to take in temperature
ADC Gr0 Ch1 Pressure sensor   MPX5999D Event interrupts (high priority) to take pressure

OSS-ECAL English
error: Content is protected !!