Infineon MOTIX™ MCU TLE987x Device Family SDK
sdadc.h
Go to the documentation of this file.
1 /*
2  ***********************************************************************************************************************
3  *
4  * Copyright (c) Infineon Technologies AG
5  * All rights reserved.
6  *
7  * The applicable license agreement can be found at this pack's installation directory in the file
8  * license/IFX_SW_Licence_MOTIX_LITIX.txt
9  *
10  **********************************************************************************************************************/
20 /*******************************************************************************
21 ** Author(s) Identity **
22 ********************************************************************************
23 ** Initials Name **
24 ** ---------------------------------------------------------------------------**
25 ** DM Daniel Mysliwitz **
26 ** BG Blandine Guillot **
27 ** JO Julia Ott **
28 *******************************************************************************/
29 
30 /*******************************************************************************
31 ** Revision Control History **
32 ********************************************************************************
33 ** V0.1.0: 2017-11-07, DM: Initial version **
34 ** MISRA 2012 compliance, the following PC-Lint **
35 ** rules are globally deactivated: **
36 ** - Info 793: ANSI/ISO limit of 6 'significant **
37 ** characters in an external identifier **
38 ** - Info 835: A zero has been given as right **
39 ** argument to operator **
40 ** - Info 845: The left argument to operator '&' **
41 ** is certain to be 0 **
42 ** V0.1.1: 2017-11-21, DM: ADC34 prefix in API function replaced by SDADC **
43 ** V0.1.2: 2018-11-27, JO: Doxygen update **
44 ** Moved revision history from sdadc.c to sdadc.h **
45 ** V0.1.3: 2020-04-15, BG: Updated revision history format **
46 ** V0.1.4: 2020-07-21, BG: EP-439: Formatted .h/.c files **
47 ** V0.1.5: 2022-02-28, JO: EP-936: Updated copyright and branding **
48 ** V0.1.6: 2022-10-18, VO: EP-1252: Updated enum definitions **
49 ** V0.1.7: 2025-01-02, JO: EP-1493: Updated license **
50 *******************************************************************************/
51 
52 #ifndef SDADC_H
53 #define SDADC_H
54 
55 /*******************************************************************************
56 ** Includes **
57 *******************************************************************************/
58 #include "tle987x.h"
59 #include "types.h"
60 #include "sfr_access.h"
61 
62 /*******************************************************************************
63 ** Global Type Declarations **
64 *******************************************************************************/
68 typedef enum SDADC_OSR
69 {
74  SDADC_OSR_2048 = 11
76 
80 typedef enum SDADC_DITHVAL
81 {
99 
103 typedef enum SDADC_EOC_CNT
104 {
110 
111 /*******************************************************************************
112 ** Global Inline Function Definitions **
113 *******************************************************************************/
127 {
129 }
130 
144 {
147 }
148 
162 {
164 }
165 
179 {
182 }
183 
202 {
203  return ((sint16)ADC34->RESU.bit.ADC3_RESU);
204 }
205 
224 {
225  return ((sint16)ADC34->RESU.bit.ADC4_RESU);
226 }
227 
244 {
246 }
247 
264 {
266 }
267 
281 {
283 }
284 
298 {
300 }
301 
317 {
319 }
320 
336 {
338 }
339 
354 {
356 }
357 
372 {
374 }
375 
390 {
392 }
393 
408 {
410 }
411 
427 {
429 }
430 
446 {
449 }
450 
470 {
472 }
473 
493 {
495 }
496 
510 {
512 }
513 
527 {
529 }
530 
545 {
547 }
548 
563 {
565 }
566 
581 {
583 }
584 
599 {
601 }
602 
621 {
623 }
624 
643 {
645 }
646 
665 {
667 }
668 
688 {
690 }
691 
710 {
712 }
713 
733 {
735 }
736 
737 /*******************************************************************************
738 ** Global Function Declarations **
739 *******************************************************************************/
744 void SDADC_Init(void);
745 
746 #endif
#define SCUPM
Definition: tle987x.h:6072
#define ADC34
Definition: tle987x.h:6059
#define ADC34_CTRL_STS_ADC3_OFS_MEAS_EN_Pos
Definition: tle987x.h:6781
#define ADC34_CTRL_STS_ADC3_OSR_Msk
Definition: tle987x.h:6772
#define ADC34_CTRL_STS_ADC34_DITHVAL_Pos
Definition: tle987x.h:6757
#define SCUPM_SYS_IRQ_CTRL_ADC4_EOC_IE_Msk
Definition: tle987x.h:9567
#define ADC34_CTRL_STS_ADC4_SOC_Msk
Definition: tle987x.h:6766
#define ADC34_CTRL_STS_ADC34_REF_SEL_Msk
Definition: tle987x.h:6774
#define SCUPM_SYS_ISCLR_ADC4_EOC_ICLR_Pos
Definition: tle987x.h:9676
#define SCUPM_SYS_IRQ_CTRL_ADC3_EOC_IE_Msk
Definition: tle987x.h:9569
#define ADC34_CTRL_STS_ADC34_REF_SEL_Pos
Definition: tle987x.h:6773
#define ADC34_CTRL_STS_ADC4_EoC_STS_Pos
Definition: tle987x.h:6763
#define SCUPM_SYS_ISCLR_ADC4_EOC_ICLR_Msk
Definition: tle987x.h:9677
#define ADC34_CTRL_STS_ADC3_SOC_Pos
Definition: tle987x.h:6779
#define ADC34_CTRL_STS_ADC34_DITHEN_Msk
Definition: tle987x.h:6760
#define ADC34_CTRL_STS_ADC34_DITHEN_Pos
Definition: tle987x.h:6759
#define ADC34_CTRL_STS_ADC4_SOC_Pos
Definition: tle987x.h:6765
#define ADC34_CTRL_STS_ADC3_EoC_STS_Pos
Definition: tle987x.h:6777
#define ADC34_CTRL_STS_ADC4_EN_Pos
Definition: tle987x.h:6769
#define ADC34_CTRL_STS_ADC4_EoC_STS_Msk
Definition: tle987x.h:6764
#define ADC34_CTRL_STS_ADC4_OFS_MEAS_EN_Pos
Definition: tle987x.h:6767
#define ADC34_CTRL_STS_ADC4_OSR_Pos
Definition: tle987x.h:6755
#define ADC34_CTRL_STS_ADC4_EN_Msk
Definition: tle987x.h:6770
#define ADC34_CTRL_STS_ADC4_OFS_MEAS_EN_Msk
Definition: tle987x.h:6768
#define ADC34_CTRL_STS_ADC3_EN_Msk
Definition: tle987x.h:6784
#define ADC34_CTRL_STS_ADC3_EoC_STS_Msk
Definition: tle987x.h:6778
#define SCUPM_SYS_IRQ_CTRL_ADC3_EOC_IE_Pos
Definition: tle987x.h:9568
#define SCUPM_SYS_ISCLR_ADC3_EOC_ICLR_Msk
Definition: tle987x.h:9679
#define ADC34_CTRL_STS_ADC3_SOC_Msk
Definition: tle987x.h:6780
#define ADC34_CTRL_STS_ADC3_OFS_MEAS_EN_Msk
Definition: tle987x.h:6782
#define ADC34_CTRL_STS_ADC34_DITHVAL_Msk
Definition: tle987x.h:6758
#define ADC34_CTRL_STS_ADC3_OSR_Pos
Definition: tle987x.h:6771
#define ADC34_CTRL_STS_ADC3_EN_Pos
Definition: tle987x.h:6783
#define ADC34_CTRL_STS_ADC34_EoC_CNT_Msk
Definition: tle987x.h:6762
#define SCUPM_SYS_ISCLR_ADC3_EOC_ICLR_Pos
Definition: tle987x.h:9678
#define SCUPM_SYS_IRQ_CTRL_ADC4_EOC_IE_Pos
Definition: tle987x.h:9566
#define ADC34_CTRL_STS_ADC4_OSR_Msk
Definition: tle987x.h:6756
#define ADC34_CTRL_STS_ADC34_EoC_CNT_Pos
Definition: tle987x.h:6761
INLINE void SDADC_Ch1_SOC_Rst(void)
disables ADC4 conversion
Definition: sdadc.h:407
INLINE uint8 SDADC_Ch0_EOC_Sts(void)
reads ADC3 End of Conversion Status
Definition: sdadc.h:469
INLINE void SDADC_Ch0_Power_On(void)
enables ADC3 analog frontend.
Definition: sdadc.h:126
INLINE void SDADC_Dithering_Dis(void)
disables ADC34 Dithering
Definition: sdadc.h:297
INLINE void SDADC_Ch1_Power_Off(void)
disables ADC4 analog frontend and ADC4 conversion.
Definition: sdadc.h:178
SDADC_DITHVAL
Definition: sdadc.h:81
@ SDADC_DITH_0_mV
Definition: sdadc.h:82
@ SDADC_DITH_25_0_mV
Definition: sdadc.h:84
@ SDADC_DITH_150_0_mV
Definition: sdadc.h:94
@ SDADC_DITH_12_5_mV
Definition: sdadc.h:83
@ SDADC_DITH_112_5_mV
Definition: sdadc.h:91
@ SDADC_DITH_162_5_mV
Definition: sdadc.h:95
@ SDADC_DITH_175_0_mV
Definition: sdadc.h:96
@ SDADC_DITH_75_0_mV
Definition: sdadc.h:88
@ SDADC_DITH_62_5_mV
Definition: sdadc.h:87
@ SDADC_DITH_125_0_mV
Definition: sdadc.h:92
@ SDADC_DITH_50_0_mV
Definition: sdadc.h:86
@ SDADC_DITH_87_5_mV
Definition: sdadc.h:89
@ SDADC_DITH_137_5_mV
Definition: sdadc.h:93
@ SDADC_DITH_187_5_mV
Definition: sdadc.h:97
@ SDADC_DITH_100_0_mV
Definition: sdadc.h:90
@ SDADC_DITH_37_5_mV
Definition: sdadc.h:85
INLINE void SDADC_IRQ_Rate_Sel(uint32 rate)
selects ADC34 EoC counter (IRQ rate of ADC34)
Definition: sdadc.h:335
INLINE void SDADC_VAREF_Set(void)
sets ADC34 reference voltage to VAREF
Definition: sdadc.h:509
INLINE void SDADC_Ch1_SOC_Set(void)
enables ADC4 conversion
Definition: sdadc.h:389
INLINE void SDADC_Ch0_Offset_Meas_Dis(void)
disables ADC3 Offset Measurement
Definition: sdadc.h:562
INLINE void SDADC_Dithering_En(void)
enables ADC34 Dithering
Definition: sdadc.h:280
INLINE void SDADC_Dithering_Sel(uint32 dith)
selects ADC34 Dithering value
Definition: sdadc.h:316
INLINE void SDADC_Ch0_Int_En(void)
enables ADC3 EOC Interrupt.
Definition: sdadc.h:664
INLINE void SDADC_VDDEXT_Set(void)
sets ADC34 reference voltage to VDDEXT
Definition: sdadc.h:526
INLINE void SDADC_Ch0_OverSamplingRatio_Sel(uint32 osr)
selects ADC3 Oversampling Ratio
Definition: sdadc.h:243
void SDADC_Init(void)
Initializes the SDADC module (ADC3 and ADC4) based on the Config Wizard for MOTIX MCU configuration.
INLINE void SDADC_Ch1_Int_Clr(void)
clears ADC4 EOC Interrupt flag.
Definition: sdadc.h:642
INLINE void SDADC_Ch1_Int_Dis(void)
disables ADC4 EOC Interrupt.
Definition: sdadc.h:732
INLINE void SDADC_Ch1_Power_On(void)
enables ADC4 analog frontend.
Definition: sdadc.h:161
INLINE void SDADC_Ch0_Int_Dis(void)
disables ADC3 EOC Interrupt.
Definition: sdadc.h:687
INLINE void SDADC_Ch1_Offset_Meas_En(void)
enables ADC4 Offset Measurement
Definition: sdadc.h:580
INLINE void SDADC_Ch1_Int_En(void)
enables ADC4 EOC Interrupt.
Definition: sdadc.h:709
INLINE void SDADC_Ch1_OverSamplingRatio_Sel(uint32 osr)
selects ADC4 Oversampling Ratio
Definition: sdadc.h:263
INLINE void SDADC_Ch0_Int_Clr(void)
clears ADC3 EOC Interrupt flag.
Definition: sdadc.h:620
enum SDADC_EOC_CNT TSDADC_EOC_CNT
INLINE void SDADC_Ch0_SOC_Set(void)
enables ADC3 conversion
Definition: sdadc.h:353
INLINE void SDADC_SOC_Set(void)
enables ADC3 and ADC4 conversions
Definition: sdadc.h:426
INLINE uint8 SDADC_Ch1_EOC_Sts(void)
reads ADC4 End of Conversion Status
Definition: sdadc.h:492
enum SDADC_DITHVAL TSDADC_DITHVAL
INLINE void SDADC_Ch1_Offset_Meas_Dis(void)
disables ADC4 Offset Measurement
Definition: sdadc.h:598
enum SDADC_OSR TSDADC_OSR
INLINE void SDADC_SOC_Rst(void)
disables ADC3 and ADC4 conversions
Definition: sdadc.h:445
INLINE sint16 SDADC_Ch1_Result_Get(void)
gets ADC4 Result value
Definition: sdadc.h:223
SDADC_EOC_CNT
Definition: sdadc.h:104
@ SDADC_IRQ_AFTER_EVERY_EOC
Definition: sdadc.h:105
@ SDADC_IRQ_AFTER_16TH_EOC
Definition: sdadc.h:107
@ SDADC_IRQ_AFTER_8TH_EOC
Definition: sdadc.h:106
@ SDADC_IRQ_AFTER_32ND_EOC
Definition: sdadc.h:108
INLINE void SDADC_Ch0_SOC_Rst(void)
disables ADC3 conversion
Definition: sdadc.h:371
INLINE void SDADC_Ch0_Power_Off(void)
disables ADC3 analog frontend and ADC3 conversion.
Definition: sdadc.h:143
INLINE sint16 SDADC_Ch0_Result_Get(void)
gets ADC3 Result value
Definition: sdadc.h:201
SDADC_OSR
Definition: sdadc.h:69
@ SDADC_OSR_128
Definition: sdadc.h:70
@ SDADC_OSR_1024
Definition: sdadc.h:73
@ SDADC_OSR_2048
Definition: sdadc.h:74
@ SDADC_OSR_256
Definition: sdadc.h:71
@ SDADC_OSR_512
Definition: sdadc.h:72
INLINE void SDADC_Ch0_Offset_Meas_En(void)
enables ADC3 Offset Measurement
Definition: sdadc.h:544
SFR low level access library.
INLINE void Field_Mod32(volatile uint32 *reg, uint32 pos, uint32 msk, uint32 val)
This function writes a bit field in a 32-bit register.
Definition: sfr_access.h:347
INLINE uint8 u1_Field_Rd32(const volatile uint32 *reg, uint32 pos, uint32 msk)
This function reads a 1-bit field of a 32-bit register.
Definition: sfr_access.h:392
INLINE void Field_Wrt32(volatile uint32 *reg, uint32 pos, uint32 msk, uint32 val)
This function writes a bit field in a 32-bit register.
Definition: sfr_access.h:332
CMSIS register HeaderFile.
General type declarations.
#define INLINE
Definition: types.h:132
uint8_t uint8
8 bit unsigned value
Definition: types.h:137
int16_t sint16
16 bit signed value
Definition: types.h:143
uint32_t uint32
32 bit unsigned value
Definition: types.h:139