S-58LM20A

S-58LM20A is a temperatures sensor IC (-55 to +130 °C) made by ABLIC. This posting will provide the OSS-ECAL(Open Source Software for Electronic Components Abstraction Layer) for S-58LM20A.
MCU interface : ADC

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

S-58LM20A

General description

The S-58LM20A Series is a high-accuracy temperature sensor IC on a single chip, provides output voltage which is linear
against the temperature change.
Each chip consists of a temperature sensor, a constant current circuit, and an operational amplifier.
The operating ambient temperature is from –55°C to 130°C. This IC has much better linearity than other conventional
temperature sensors such as thermistor, it is possible to achieve the extensive application for temperature control.

Feature
  • Temperature accuracy : ±2.5°C (-55°C to +130°C)
  • Linear output voltage
    –11.77 mV/°C typ.
    Ta = -30°C : 2.205 V typ.
    Ta = +30°C: 1.515 V typ.
    Ta = +130°C: 0.303 V typ.
  • Nonlinearity ±0.4% typ. (-20°C to +80°C)
  • Wide power supply voltage operation
    VDD = 2.4 V to 10.0 V(-30°C to +130°C)
    VDD = 2.7 V to 10.0 V(-55°C to +130°C)
  • Low current consumption 4.5 μA typ. (+25°C) 6.0 μA typ. (-55°C to +130°C)
  • Built-in operational amplifier
  • Output voltage referred to VSS
  • Lead-free, Sn 100%, halogen-free
Application
  • Compensation of high-frequency circuits such as cellular phones and radio equipment
  • Compensation of oscillation frequency in crystal oscillator
  • LCD contrast compensation
  • Compensation of amplifier gain
  • Compensation of auto focus circuits
  • Temperature detection in battery management
  • Overheating prevention for charged batteries or halogen lights

OSS-ECAL specification

API Function

etSTS oS58LM20A( etCMD cmd, float32* rlt )

Return value
Parameter IN
Parameter OUT

etSTS
etCMD cmd
float32* rlt

OSS-ECAL status code
OSS-ECAL command code
Temperature -55 to 130 [°C]

etCMD
eCMD_START


Feature :
Command to start AD conversion.

Process :
1. AD conversion start.

Command API function :
etSTS oS58LM20A_START( void )

Return value :
eSTS_FIN
eSTS_ERR_HAL_ADC
eSTS_ERR_COMMAND_CODE
eSTS_ERR_OTHERS_RUN
eSTS_ERR_ADC_OBJECT

NOTE :
Arduino, Mbed, ModusToolbox not supported.

eCMD_READ

Feature :
Command that reads the AD conversion value, converts the AD conversion value to a characteristic Temperature, and stores the Temperature in rlt.

Process :
1. Read AD conversion value.
2. Convert AD conversion value to Temperature.
Voltage value = (AD conversion value × VDD) / ( 2AD bit )
Temperature = ((voltage value – voltage offset value) / gain) + Temperature offset value (Min, Max Limit)
3. Store Temperature to rlt.

Command API function :
etSTS oS58LM20A_READ( float32* rlt )

Return value :
eSTS_FIN
eSTS_ERR_MIN
eSTS_ERR_MAX
eSTS_ERR_HAL_ADC
eSTS_ERR_COMMAND_CODE
eSTS_ERR_OTHERS_RUN
eSTS_ERR_ADC_OBJECT

NOTE :
Please execute this API function after starting AD conversion.
Arduino, Mbed, ModusToolbox not supported.

eCMD_START_READ

Feature :
Command that starts AD conversion, waits for AD conversion to finish, reads out the AD conversion value, converts the AD conversion value to a characteristic Temperature, and stores the Temperature in rlt.

Process :
1. AD conversion start.
2. Wait until AD conversion is completed.
3. Read AD conversion value.
4. Convert AD conversion value to Temperature.
Voltage value = (AD conversion value × VDD) / ( 2AD bit )
Temperature = ((voltage value – voltage offset value) / gain) + Temperature offset value (Min, Max Limit)
5. Store Temperature to rlt.

Command API function :
etSTS oS58LM20A_START_READ( float32* rlt )

Return value :
eSTS_FIN
eSTS_ERR_MIN
eSTS_ERR_MAX
eSTS_ERR_HAL_ADC
eSTS_ERR_COMMAND_CODE
eSTS_ERR_OTHERS_RUN
eSTS_ERR_ADC_OBJECT

NOTE :

Files
Folder*Filesummary
S58LM20A_HALNAME/samplesample.c (.cpp)Sample Application Program
sample.hSample Application Header
S58LM20A_HALNAMEoS58LM20A.c (.cpp)OSS-ECAL Program for S-58LM20A
oS58LM20A.hOSS-ECAL Header for S-58LM20A
oss_ecal.hOSS-ECAL Common Header (Ver 01.00.00 or later)
user_setting.c (.cpp)Const and Table of User setting
user_setting.hHeader of User setting
readme.mdReadme
OSS-ECAL Terms of Use.txtOSS-ECAL Terms of Use

* For HALNAME, please refer to HAL Support.

HAL Support List
MCU/Board
manufacturer
HALMCU*Development environment*HALNAME
ArduinoArduino 1.8.6ATmega2560
ATmega328P
Mega 2560 Rev3
Arduino Pro Mini 3.3V
ARDUINO
ARMMbed 6.17.0STM32F401RETxSTM32 Nucleo-64 boardsMBED
InfineonModusToolbox HAL Cat1 2.4.3CYBLE-416045-02CY8CPROTO-063-BLE PSoC 6 BLE Prototyping KitModusToolbox
NXPMCUXpresso SDK
iMXRT1051B_1052B
ksdk2_0
CYBLE-416045-02IMXRT1050-EVKBiMXRT1051B1052B
RenesasSSP 2.4.0R7FS7G27H3A01CFCS7G2 SKSSP
STMSTM32Cube FW_F4 V1.27.1STM32F401RETxSTM32 Nucleo-64 boardsSTM32F4
Debian ProjectDebian(Linux) v2022.04TI AM335xBeagleBone Black – Rev CLinux

* MCU and development environment at the time of development. Even if the same HAL is used, different MCUs and development environments may not work together.

OSS-ECAL Download

Please login before downloading. To register as a new user, please click here.
This OSS-ECAL is a sample version and can be downloaded without user registration, but please accept the OSS-ECAL Terms of Use before downloading.

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

OSS-ECAL English
error: Content is protected !!