AM263x MCU+ SDK  08.02.00
adc/v1/adc.h File Reference

Go to the source code of this file.

Macros

#define ADC_EVT_TRIPHI   (0x0001U)
 Header Files. More...
 
#define ADC_EVT_TRIPLO   (0x0002U)
 Trip Low Event. More...
 
#define ADC_EVT_ZERO   (0x0004U)
 Zero Crossing Event. More...
 
#define ADC_FORCE_SOC0   (0x0001U)
 SW trigger ADC SOC 0. More...
 
#define ADC_FORCE_SOC1   (0x0002U)
 SW trigger ADC SOC 1. More...
 
#define ADC_FORCE_SOC2   (0x0004U)
 SW trigger ADC SOC 2. More...
 
#define ADC_FORCE_SOC3   (0x0008U)
 SW trigger ADC SOC 3. More...
 
#define ADC_FORCE_SOC4   (0x0010U)
 SW trigger ADC SOC 4. More...
 
#define ADC_FORCE_SOC5   (0x0020U)
 SW trigger ADC SOC 5. More...
 
#define ADC_FORCE_SOC6   (0x0040U)
 SW trigger ADC SOC 6. More...
 
#define ADC_FORCE_SOC7   (0x0080U)
 SW trigger ADC SOC 7. More...
 
#define ADC_FORCE_SOC8   (0x0100U)
 SW trigger ADC SOC 8. More...
 
#define ADC_FORCE_SOC9   (0x0200U)
 SW trigger ADC SOC 9. More...
 
#define ADC_FORCE_SOC10   (0x0400U)
 SW trigger ADC SOC 10. More...
 
#define ADC_FORCE_SOC11   (0x0800U)
 SW trigger ADC SOC 11. More...
 
#define ADC_FORCE_SOC12   (0x1000U)
 SW trigger ADC SOC 12. More...
 
#define ADC_FORCE_SOC13   (0x2000U)
 SW trigger ADC SOC 13. More...
 
#define ADC_FORCE_SOC14   (0x4000U)
 SW trigger ADC SOC 14. More...
 
#define ADC_FORCE_SOC15   (0x8000U)
 SW trigger ADC SOC 15. More...
 
#define ADC_ADCSOCxCTL_STEP   (CSL_ADC_ADCSOC1CTL - CSL_ADC_ADCSOC0CTL)
 Defines used by the driver. More...
 
#define ADC_ADCINTSELxNy_STEP   (CSL_ADC_ADCINTSEL3N4 - CSL_ADC_ADCINTSEL1N2)
 Register offset difference between 2 ADCINTSELxNy registers. More...
 
#define ADC_ADCPPBx_STEP   (CSL_ADC_ADCPPB2CONFIG - CSL_ADC_ADCPPB1CONFIG)
 Register offset difference between 2 ADCPPBxCONFIG registers. More...
 
#define ADC_ADCPPBTRIP_MASK
 ADC PPB Trip Mask. More...
 
#define ADC_RESULT_ADCPPBxRESULT_STEP
 Register offset difference between 2 ADCPPBxRESULT registers. More...
 
#define ADC_RESULT_ADCRESULTx_STEP
 Register offset difference between 2 ADCRESULTx registers. More...
 

Enumerations

enum  ADC_ClkPrescale {
  ADC_CLK_DIV_1_0 = 0, ADC_CLK_DIV_2_0 = 2, ADC_CLK_DIV_2_5 = 3, ADC_CLK_DIV_3_0 = 4,
  ADC_CLK_DIV_3_5 = 5, ADC_CLK_DIV_4_0 = 6, ADC_CLK_DIV_4_5 = 7, ADC_CLK_DIV_5_0 = 8,
  ADC_CLK_DIV_5_5 = 9, ADC_CLK_DIV_6_0 = 10, ADC_CLK_DIV_6_5 = 11, ADC_CLK_DIV_7_0 = 12,
  ADC_CLK_DIV_7_5 = 13, ADC_CLK_DIV_8_0 = 14, ADC_CLK_DIV_8_5 = 15
}
 
enum  ADC_Resolution { ADC_RESOLUTION_12BIT = 0 }
 
enum  ADC_SignalMode { ADC_MODE_SINGLE_ENDED = 0, ADC_MODE_DIFFERENTIAL = 1 }
 
enum  ADC_Trigger {
  ADC_TRIGGER_SW_ONLY = 0x00, ADC_TRIGGER_RTI0 = 0x01, ADC_TRIGGER_RTI1 = 0x02, ADC_TRIGGER_RTI2 = 0x03,
  ADC_TRIGGER_RTI3 = 0x04, ADC_TRIGGER_INPUT_XBAR_OUT5 = 0x05, ADC_TRIGGER_EPWM0_SOCA = 0x08, ADC_TRIGGER_EPWM0_SOCB = 0x09,
  ADC_TRIGGER_EPWM1_SOCA = 0x0A, ADC_TRIGGER_EPWM1_SOCB = 0x0B, ADC_TRIGGER_EPWM2_SOCA = 0x0C, ADC_TRIGGER_EPWM2_SOCB = 0x0D,
  ADC_TRIGGER_EPWM3_SOCA = 0x0E, ADC_TRIGGER_EPWM3_SOCB = 0x0F, ADC_TRIGGER_EPWM4_SOCA = 0x10, ADC_TRIGGER_EPWM4_SOCB = 0x11,
  ADC_TRIGGER_EPWM5_SOCA = 0x12, ADC_TRIGGER_EPWM5_SOCB = 0x13, ADC_TRIGGER_EPWM6_SOCA = 0x14, ADC_TRIGGER_EPWM6_SOCB = 0x15,
  ADC_TRIGGER_EPWM7_SOCA = 0x16, ADC_TRIGGER_EPWM7_SOCB = 0x17, ADC_TRIGGER_EPWM8_SOCA = 0x18, ADC_TRIGGER_EPWM8_SOCB = 0x19,
  ADC_TRIGGER_EPWM9_SOCA = 0x1A, ADC_TRIGGER_EPWM9_SOCB = 0x1B, ADC_TRIGGER_EPWM10_SOCA = 0x1C, ADC_TRIGGER_EPWM10_SOCB = 0x1D,
  ADC_TRIGGER_EPWM11_SOCA = 0x1E, ADC_TRIGGER_EPWM11_SOCB = 0x1F, ADC_TRIGGER_EPWM12_SOCA = 0x20, ADC_TRIGGER_EPWM12_SOCB = 0x21,
  ADC_TRIGGER_EPWM13_SOCA = 0x22, ADC_TRIGGER_EPWM13_SOCB = 0x23, ADC_TRIGGER_EPWM14_SOCA = 0x24, ADC_TRIGGER_EPWM14_SOCB = 0x25,
  ADC_TRIGGER_EPWM15_SOCA = 0x26, ADC_TRIGGER_EPWM15_SOCB = 0x27, ADC_TRIGGER_EPWM16_SOCA = 0x28, ADC_TRIGGER_EPWM16_SOCB = 0x29,
  ADC_TRIGGER_EPWM17_SOCA = 0x2A, ADC_TRIGGER_EPWM17_SOCB = 0x2B, ADC_TRIGGER_EPWM18_SOCA = 0x2C, ADC_TRIGGER_EPWM18_SOCB = 0x2D,
  ADC_TRIGGER_EPWM19_SOCA = 0x2E, ADC_TRIGGER_EPWM19_SOCB = 0x2F, ADC_TRIGGER_EPWM20_SOCA = 0x30, ADC_TRIGGER_EPWM20_SOCB = 0x31,
  ADC_TRIGGER_EPWM21_SOCA = 0x32, ADC_TRIGGER_EPWM21_SOCB = 0x33, ADC_TRIGGER_EPWM22_SOCA = 0x34, ADC_TRIGGER_EPWM22_SOCB = 0x35,
  ADC_TRIGGER_EPWM23_SOCA = 0x36, ADC_TRIGGER_EPWM23_SOCB = 0x37, ADC_TRIGGER_EPWM24_SOCA = 0x38, ADC_TRIGGER_EPWM24_SOCB = 0x39,
  ADC_TRIGGER_EPWM25_SOCA = 0x3A, ADC_TRIGGER_EPWM25_SOCB = 0x3B, ADC_TRIGGER_EPWM26_SOCA = 0x3C, ADC_TRIGGER_EPWM26_SOCB = 0x3D,
  ADC_TRIGGER_EPWM27_SOCA = 0x3E, ADC_TRIGGER_EPWM27_SOCB = 0x3F, ADC_TRIGGER_EPWM28_SOCA = 0x40, ADC_TRIGGER_EPWM28_SOCB = 0x41,
  ADC_TRIGGER_EPWM29_SOCA = 0x42, ADC_TRIGGER_EPWM29_SOCB = 0x43, ADC_TRIGGER_EPWM30_SOCA = 0x44, ADC_TRIGGER_EPWM30_SOCB = 0x45,
  ADC_TRIGGER_EPWM31_SOCA = 0x46, ADC_TRIGGER_EPWM31_SOCB = 0x47
}
 
enum  ADC_Channel {
  ADC_CH_ADCIN0 = 0, ADC_CH_ADCIN1 = 1, ADC_CH_ADCIN2 = 2, ADC_CH_ADCIN3 = 3,
  ADC_CH_ADCIN4 = 4, ADC_CH_ADCIN5 = 5, ADC_CH_CAL0 = 6, ADC_CH_CAL1 = 7,
  ADC_CH_ADCIN0_ADCIN1 = 0, ADC_CH_ADCIN2_ADCIN3 = 2, ADC_CH_ADCIN4_ADCIN5 = 4, ADC_CH_CAL0_CAL1 = 6
}
 
enum  ADC_PulseMode { ADC_PULSE_END_OF_ACQ_WIN = 0, ADC_PULSE_END_OF_CONV = 1 }
 
enum  ADC_IntNumber { ADC_INT_NUMBER1 = 0, ADC_INT_NUMBER2 = 1, ADC_INT_NUMBER3 = 2, ADC_INT_NUMBER4 = 3 }
 
enum  ADC_PPBNumber { ADC_PPB_NUMBER1 = 0, ADC_PPB_NUMBER2 = 1, ADC_PPB_NUMBER3 = 2, ADC_PPB_NUMBER4 = 3 }
 
enum  ADC_SOCNumber {
  ADC_SOC_NUMBER0 = 0, ADC_SOC_NUMBER1 = 1, ADC_SOC_NUMBER2 = 2, ADC_SOC_NUMBER3 = 3,
  ADC_SOC_NUMBER4 = 4, ADC_SOC_NUMBER5 = 5, ADC_SOC_NUMBER6 = 6, ADC_SOC_NUMBER7 = 7,
  ADC_SOC_NUMBER8 = 8, ADC_SOC_NUMBER9 = 9, ADC_SOC_NUMBER10 = 10, ADC_SOC_NUMBER11 = 11,
  ADC_SOC_NUMBER12 = 12, ADC_SOC_NUMBER13 = 13, ADC_SOC_NUMBER14 = 14, ADC_SOC_NUMBER15 = 15
}
 
enum  ADC_IntSOCTrigger { ADC_INT_SOC_TRIGGER_NONE = 0, ADC_INT_SOC_TRIGGER_ADCINT1 = 1, ADC_INT_SOC_TRIGGER_ADCINT2 = 2 }
 
enum  ADC_PriorityMode {
  ADC_PRI_ALL_ROUND_ROBIN = 0, ADC_PRI_SOC0_HIPRI = 1, ADC_PRI_THRU_SOC1_HIPRI = 2, ADC_PRI_THRU_SOC2_HIPRI = 3,
  ADC_PRI_THRU_SOC3_HIPRI = 4, ADC_PRI_THRU_SOC4_HIPRI = 5, ADC_PRI_THRU_SOC5_HIPRI = 6, ADC_PRI_THRU_SOC6_HIPRI = 7,
  ADC_PRI_THRU_SOC7_HIPRI = 8, ADC_PRI_THRU_SOC8_HIPRI = 9, ADC_PRI_THRU_SOC9_HIPRI = 10, ADC_PRI_THRU_SOC10_HIPRI = 11,
  ADC_PRI_THRU_SOC11_HIPRI = 12, ADC_PRI_THRU_SOC12_HIPRI = 13, ADC_PRI_THRU_SOC13_HIPRI = 14, ADC_PRI_THRU_SOC14_HIPRI = 15,
  ADC_PRI_ALL_HIPRI = 16
}
 

Functions

static void ADC_setPrescaler (uint32_t base, ADC_ClkPrescale clkPrescale)
 
static void ADC_setupSOC (uint32_t base, ADC_SOCNumber socNumber, ADC_Trigger trigger, ADC_Channel channel, uint32_t sampleWindow)
 
static void ADC_setInterruptSOCTrigger (uint32_t base, ADC_SOCNumber socNumber, ADC_IntSOCTrigger trigger)
 
static void ADC_setInterruptPulseMode (uint32_t base, ADC_PulseMode pulseMode)
 
static void ADC_setInterruptCycleOffset (uint32_t base, uint16_t cycleOffset)
 
static void ADC_enableConverter (uint32_t base)
 
static void ADC_disableConverter (uint32_t base)
 
static void ADC_forceSOC (uint32_t base, ADC_SOCNumber socNumber)
 
static void ADC_forceMultipleSOC (uint32_t base, uint16_t socMask)
 
static bool ADC_getInterruptStatus (uint32_t base, ADC_IntNumber adcIntNum)
 
static void ADC_clearInterruptStatus (uint32_t base, ADC_IntNumber adcIntNum)
 
static bool ADC_getInterruptOverflowStatus (uint32_t base, ADC_IntNumber adcIntNum)
 
static void ADC_clearInterruptOverflowStatus (uint32_t base, ADC_IntNumber adcIntNum)
 
static uint16_t ADC_readResult (uint32_t resultBase, ADC_SOCNumber socNumber)
 
static bool ADC_isBusy (uint32_t base)
 
static void ADC_setBurstModeConfig (uint32_t base, ADC_Trigger trigger, uint16_t burstSize)
 
static void ADC_enableBurstMode (uint32_t base)
 
static void ADC_disableBurstMode (uint32_t base)
 
static void ADC_setSOCPriority (uint32_t base, ADC_PriorityMode priMode)
 
static void ADC_setupPPB (uint32_t base, ADC_PPBNumber ppbNumber, ADC_SOCNumber socNumber)
 
static void ADC_enablePPBEvent (uint32_t base, ADC_PPBNumber ppbNumber, uint16_t evtFlags)
 
static void ADC_disablePPBEvent (uint32_t base, ADC_PPBNumber ppbNumber, uint16_t evtFlags)
 
static void ADC_enablePPBEventInterrupt (uint32_t base, ADC_PPBNumber ppbNumber, uint16_t intFlags)
 
static void ADC_disablePPBEventInterrupt (uint32_t base, ADC_PPBNumber ppbNumber, uint16_t intFlags)
 
static uint16_t ADC_getPPBEventStatus (uint32_t base, ADC_PPBNumber ppbNumber)
 
static void ADC_clearPPBEventStatus (uint32_t base, ADC_PPBNumber ppbNumber, uint16_t evtFlags)
 
static int32_t ADC_readPPBResult (uint32_t resultBase, ADC_PPBNumber ppbNumber)
 
static uint16_t ADC_getPPBDelayTimeStamp (uint32_t base, ADC_PPBNumber ppbNumber)
 
static void ADC_setPPBCalibrationOffset (uint32_t base, ADC_PPBNumber ppbNumber, int16_t offset)
 
static void ADC_setPPBReferenceOffset (uint32_t base, ADC_PPBNumber ppbNumber, uint16_t offset)
 
static void ADC_enablePPBTwosComplement (uint32_t base, ADC_PPBNumber ppbNumber)
 
static void ADC_disablePPBTwosComplement (uint32_t base, ADC_PPBNumber ppbNumber)
 
static void ADC_enablePPBEventCBCClear (uint32_t base, uint32_t ppbNumber)
 
static void ADC_disablePPBEventCBCClear (uint32_t base, uint32_t ppbNumber)
 
static void ADC_enableInterrupt (uint32_t base, ADC_IntNumber adcIntNum)
 
static void ADC_disableInterrupt (uint32_t base, ADC_IntNumber adcIntNum)
 
static void ADC_setInterruptSource (uint32_t base, ADC_IntNumber adcIntNum, ADC_SOCNumber socNumber)
 
static void ADC_enableContinuousMode (uint32_t base, ADC_IntNumber adcIntNum)
 
static void ADC_disableContinuousMode (uint32_t base, ADC_IntNumber adcIntNum)
 
void ADC_setMode (uint32_t base, ADC_Resolution resolution, ADC_SignalMode signalMode)
 
void ADC_setPPBTripLimits (uint32_t base, ADC_PPBNumber ppbNumber, int32_t tripHiLimit, int32_t tripLoLimit)