|
|
|
// TI File $Revision: /main/1 $
|
|
|
|
// Checkin $Date: August 18, 2006 13:51:50 $
|
|
|
|
//###########################################################################
|
|
|
|
//
|
|
|
|
// FILE: DSP2833x_Adc.h
|
|
|
|
//
|
|
|
|
// TITLE: DSP2833x Device ADC Register Definitions.
|
|
|
|
//
|
|
|
|
//###########################################################################
|
|
|
|
// $TI Release: 2833x/2823x Header Files V1.32 $
|
|
|
|
// $Release Date: June 28, 2010 $
|
|
|
|
// $Copyright:
|
|
|
|
// Copyright (C) 2009-2024 Texas Instruments Incorporated - http://www.ti.com/
|
|
|
|
//
|
|
|
|
// Redistribution and use in source and binary forms, with or without
|
|
|
|
// modification, are permitted provided that the following conditions
|
|
|
|
// are met:
|
|
|
|
//
|
|
|
|
// Redistributions of source code must retain the above copyright
|
|
|
|
// notice, this list of conditions and the following disclaimer.
|
|
|
|
//
|
|
|
|
// Redistributions in binary form must reproduce the above copyright
|
|
|
|
// notice, this list of conditions and the following disclaimer in the
|
|
|
|
// documentation and/or other materials provided with the
|
|
|
|
// distribution.
|
|
|
|
//
|
|
|
|
// Neither the name of Texas Instruments Incorporated nor the names of
|
|
|
|
// its contributors may be used to endorse or promote products derived
|
|
|
|
// from this software without specific prior written permission.
|
|
|
|
//
|
|
|
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
|
|
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
|
|
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
|
|
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
|
|
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
|
|
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
|
|
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
|
|
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
|
|
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
|
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
// $
|
|
|
|
//###########################################################################
|
|
|
|
|
|
|
|
#ifndef DSP2833x_ADC_H
|
|
|
|
#define DSP2833x_ADC_H
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
//
|
|
|
|
// ADC Individual Register Bit Definitions:
|
|
|
|
//
|
|
|
|
struct ADCTRL1_BITS { // bits description
|
|
|
|
Uint16 rsvd1:4; // 3:0 reserved
|
|
|
|
Uint16 SEQ_CASC:1; // 4 Cascaded sequencer mode
|
|
|
|
Uint16 SEQ_OVRD:1; // 5 Sequencer override
|
|
|
|
Uint16 CONT_RUN:1; // 6 Continuous run
|
|
|
|
Uint16 CPS:1; // 7 ADC core clock pre-scalar
|
|
|
|
Uint16 ACQ_PS:4; // 11:8 Acquisition window size
|
|
|
|
Uint16 SUSMOD:2; // 13:12 Emulation suspend mode
|
|
|
|
Uint16 RESET:1; // 14 ADC reset
|
|
|
|
Uint16 rsvd2:1; // 15 reserved
|
|
|
|
};
|
|
|
|
|
|
|
|
union ADCTRL1_REG {
|
|
|
|
Uint16 all;
|
|
|
|
struct ADCTRL1_BITS bit;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ADCTRL2_BITS { // bits description
|
|
|
|
Uint16 EPWM_SOCB_SEQ2:1; // 0 EPWM compare B SOC mask for SEQ2
|
|
|
|
Uint16 rsvd1:1; // 1 reserved
|
|
|
|
Uint16 INT_MOD_SEQ2:1; // 2 SEQ2 Interrupt mode
|
|
|
|
Uint16 INT_ENA_SEQ2:1; // 3 SEQ2 Interrupt enable
|
|
|
|
Uint16 rsvd2:1; // 4 reserved
|
|
|
|
Uint16 SOC_SEQ2:1; // 5 Start of conversion for SEQ2
|
|
|
|
Uint16 RST_SEQ2:1; // 6 Reset SEQ2
|
|
|
|
Uint16 EXT_SOC_SEQ1:1; // 7 External start of conversion for SEQ1
|
|
|
|
Uint16 EPWM_SOCA_SEQ1:1; // 8 EPWM compare B SOC mask for SEQ1
|
|
|
|
Uint16 rsvd3:1; // 9 reserved
|
|
|
|
Uint16 INT_MOD_SEQ1:1; // 10 SEQ1 Interrupt mode
|
|
|
|
Uint16 INT_ENA_SEQ1:1; // 11 SEQ1 Interrupt enable
|
|
|
|
Uint16 rsvd4:1; // 12 reserved
|
|
|
|
Uint16 SOC_SEQ1:1; // 13 Start of conversion trigger for SEQ1
|
|
|
|
Uint16 RST_SEQ1:1; // 14 Restart sequencer 1
|
|
|
|
Uint16 EPWM_SOCB_SEQ:1; // 15 EPWM compare B SOC enable
|
|
|
|
};
|
|
|
|
|
|
|
|
union ADCTRL2_REG {
|
|
|
|
Uint16 all;
|
|
|
|
struct ADCTRL2_BITS bit;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ADCASEQSR_BITS { // bits description
|
|
|
|
Uint16 SEQ1_STATE:4; // 3:0 SEQ1 state
|
|
|
|
Uint16 SEQ2_STATE:3; // 6:4 SEQ2 state
|
|
|
|
Uint16 rsvd1:1; // 7 reserved
|
|
|
|
Uint16 SEQ_CNTR:4; // 11:8 Sequencing counter status
|
|
|
|
Uint16 rsvd2:4; // 15:12 reserved
|
|
|
|
};
|
|
|
|
|
|
|
|
union ADCASEQSR_REG {
|
|
|
|
Uint16 all;
|
|
|
|
struct ADCASEQSR_BITS bit;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ADCMAXCONV_BITS { // bits description
|
|
|
|
Uint16 MAX_CONV1:4; // 3:0 Max number of conversions
|
|
|
|
Uint16 MAX_CONV2:3; // 6:4 Max number of conversions
|
|
|
|
Uint16 rsvd1:9; // 15:7 reserved
|
|
|
|
};
|
|
|
|
|
|
|
|
union ADCMAXCONV_REG {
|
|
|
|
Uint16 all;
|
|
|
|
struct ADCMAXCONV_BITS bit;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ADCCHSELSEQ1_BITS { // bits description
|
|
|
|
Uint16 CONV00:4; // 3:0 Conversion selection 00
|
|
|
|
Uint16 CONV01:4; // 7:4 Conversion selection 01
|
|
|
|
Uint16 CONV02:4; // 11:8 Conversion selection 02
|
|
|
|
Uint16 CONV03:4; // 15:12 Conversion selection 03
|
|
|
|
};
|
|
|
|
|
|
|
|
union ADCCHSELSEQ1_REG{
|
|
|
|
Uint16 all;
|
|
|
|
struct ADCCHSELSEQ1_BITS bit;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ADCCHSELSEQ2_BITS { // bits description
|
|
|
|
Uint16 CONV04:4; // 3:0 Conversion selection 04
|
|
|
|
Uint16 CONV05:4; // 7:4 Conversion selection 05
|
|
|
|
Uint16 CONV06:4; // 11:8 Conversion selection 06
|
|
|
|
Uint16 CONV07:4; // 15:12 Conversion selection 07
|
|
|
|
};
|
|
|
|
|
|
|
|
union ADCCHSELSEQ2_REG{
|
|
|
|
Uint16 all;
|
|
|
|
struct ADCCHSELSEQ2_BITS bit;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ADCCHSELSEQ3_BITS { // bits description
|
|
|
|
Uint16 CONV08:4; // 3:0 Conversion selection 08
|
|
|
|
Uint16 CONV09:4; // 7:4 Conversion selection 09
|
|
|
|
Uint16 CONV10:4; // 11:8 Conversion selection 10
|
|
|
|
Uint16 CONV11:4; // 15:12 Conversion selection 11
|
|
|
|
};
|
|
|
|
|
|
|
|
union ADCCHSELSEQ3_REG{
|
|
|
|
Uint16 all;
|
|
|
|
struct ADCCHSELSEQ3_BITS bit;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ADCCHSELSEQ4_BITS { // bits description
|
|
|
|
Uint16 CONV12:4; // 3:0 Conversion selection 12
|
|
|
|
Uint16 CONV13:4; // 7:4 Conversion selection 13
|
|
|
|
Uint16 CONV14:4; // 11:8 Conversion selection 14
|
|
|
|
Uint16 CONV15:4; // 15:12 Conversion selection 15
|
|
|
|
};
|
|
|
|
|
|
|
|
union ADCCHSELSEQ4_REG {
|
|
|
|
Uint16 all;
|
|
|
|
struct ADCCHSELSEQ4_BITS bit;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ADCTRL3_BITS { // bits description
|
|
|
|
Uint16 SMODE_SEL:1; // 0 Sampling mode select
|
|
|
|
Uint16 ADCCLKPS:4; // 4:1 ADC core clock divider
|
|
|
|
Uint16 ADCPWDN:1; // 5 ADC powerdown
|
|
|
|
Uint16 ADCBGRFDN:2; // 7:6 ADC bandgap/ref power down
|
|
|
|
Uint16 rsvd1:8; // 15:8 reserved
|
|
|
|
};
|
|
|
|
|
|
|
|
union ADCTRL3_REG {
|
|
|
|
Uint16 all;
|
|
|
|
struct ADCTRL3_BITS bit;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ADCST_BITS { // bits description
|
|
|
|
Uint16 INT_SEQ1:1; // 0 SEQ1 Interrupt flag
|
|
|
|
Uint16 INT_SEQ2:1; // 1 SEQ2 Interrupt flag
|
|
|
|
Uint16 SEQ1_BSY:1; // 2 SEQ1 busy status
|
|
|
|
Uint16 SEQ2_BSY:1; // 3 SEQ2 busy status
|
|
|
|
Uint16 INT_SEQ1_CLR:1; // 4 SEQ1 Interrupt clear
|
|
|
|
Uint16 INT_SEQ2_CLR:1; // 5 SEQ2 Interrupt clear
|
|
|
|
Uint16 EOS_BUF1:1; // 6 End of sequence buffer1
|
|
|
|
Uint16 EOS_BUF2:1; // 7 End of sequence buffer2
|
|
|
|
Uint16 rsvd1:8; // 15:8 reserved
|
|
|
|
};
|
|
|
|
|
|
|
|
union ADCST_REG {
|
|
|
|
Uint16 all;
|
|
|
|
struct ADCST_BITS bit;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ADCREFSEL_BITS { // bits description
|
|
|
|
Uint16 rsvd1:14; // 13:0 reserved
|
|
|
|
Uint16 REF_SEL:2; // 15:14 Reference select
|
|
|
|
};
|
|
|
|
union ADCREFSEL_REG {
|
|
|
|
Uint16 all;
|
|
|
|
struct ADCREFSEL_BITS bit;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ADCOFFTRIM_BITS{ // bits description
|
|
|
|
int16 OFFSET_TRIM:9; // 8:0 Offset Trim
|
|
|
|
Uint16 rsvd1:7; // 15:9 reserved
|
|
|
|
};
|
|
|
|
|
|
|
|
union ADCOFFTRIM_REG{
|
|
|
|
Uint16 all;
|
|
|
|
struct ADCOFFTRIM_BITS bit;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ADC_REGS {
|
|
|
|
union ADCTRL1_REG ADCTRL1; //ADC Control 1
|
|
|
|
union ADCTRL2_REG ADCTRL2; //ADC Control 2
|
|
|
|
union ADCMAXCONV_REG ADCMAXCONV; //Max conversions
|
|
|
|
union ADCCHSELSEQ1_REG ADCCHSELSEQ1; //Channel select sequencing control 1
|
|
|
|
union ADCCHSELSEQ2_REG ADCCHSELSEQ2; //Channel select sequencing control 2
|
|
|
|
union ADCCHSELSEQ3_REG ADCCHSELSEQ3; //Channel select sequencing control 3
|
|
|
|
union ADCCHSELSEQ4_REG ADCCHSELSEQ4; //Channel select sequencing control 4
|
|
|
|
union ADCASEQSR_REG ADCASEQSR; //Autosequence status register
|
|
|
|
Uint16 ADCRESULT0; //Conversion Result Buffer 0
|
|
|
|
Uint16 ADCRESULT1; //Conversion Result Buffer 1
|
|
|
|
Uint16 ADCRESULT2; //Conversion Result Buffer 2
|
|
|
|
Uint16 ADCRESULT3; //Conversion Result Buffer 3
|
|
|
|
Uint16 ADCRESULT4; //Conversion Result Buffer 4
|
|
|
|
Uint16 ADCRESULT5; //Conversion Result Buffer 5
|
|
|
|
Uint16 ADCRESULT6; //Conversion Result Buffer 6
|
|
|
|
Uint16 ADCRESULT7; //Conversion Result Buffer 7
|
|
|
|
Uint16 ADCRESULT8; //Conversion Result Buffer 8
|
|
|
|
Uint16 ADCRESULT9; //Conversion Result Buffer 9
|
|
|
|
Uint16 ADCRESULT10; //Conversion Result Buffer 10
|
|
|
|
Uint16 ADCRESULT11; //Conversion Result Buffer 11
|
|
|
|
Uint16 ADCRESULT12; //Conversion Result Buffer 12
|
|
|
|
Uint16 ADCRESULT13; //Conversion Result Buffer 13
|
|
|
|
Uint16 ADCRESULT14; //Conversion Result Buffer 14
|
|
|
|
Uint16 ADCRESULT15; //Conversion Result Buffer 15
|
|
|
|
union ADCTRL3_REG ADCTRL3; //ADC Control 3
|
|
|
|
union ADCST_REG ADCST; //ADC Status Register
|
|
|
|
Uint16 rsvd1;
|
|
|
|
Uint16 rsvd2;
|
|
|
|
union ADCREFSEL_REG ADCREFSEL; //Reference Select Register
|
|
|
|
union ADCOFFTRIM_REG ADCOFFTRIM; //Offset Trim Register
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ADC_RESULT_MIRROR_REGS
|
|
|
|
{
|
|
|
|
Uint16 ADCRESULT0; // Conversion Result Buffer 0
|
|
|
|
Uint16 ADCRESULT1; // Conversion Result Buffer 1
|
|
|
|
Uint16 ADCRESULT2; // Conversion Result Buffer 2
|
|
|
|
Uint16 ADCRESULT3; // Conversion Result Buffer 3
|
|
|
|
Uint16 ADCRESULT4; // Conversion Result Buffer 4
|
|
|
|
Uint16 ADCRESULT5; // Conversion Result Buffer 5
|
|
|
|
Uint16 ADCRESULT6; // Conversion Result Buffer 6
|
|
|
|
Uint16 ADCRESULT7; // Conversion Result Buffer 7
|
|
|
|
Uint16 ADCRESULT8; // Conversion Result Buffer 8
|
|
|
|
Uint16 ADCRESULT9; // Conversion Result Buffer 9
|
|
|
|
Uint16 ADCRESULT10; // Conversion Result Buffer 10
|
|
|
|
Uint16 ADCRESULT11; // Conversion Result Buffer 11
|
|
|
|
Uint16 ADCRESULT12; // Conversion Result Buffer 12
|
|
|
|
Uint16 ADCRESULT13; // Conversion Result Buffer 13
|
|
|
|
Uint16 ADCRESULT14; // Conversion Result Buffer 14
|
|
|
|
Uint16 ADCRESULT15; // Conversion Result Buffer 15
|
|
|
|
};
|
|
|
|
|
|
|
|
//
|
|
|
|
// ADC External References & Function Declarations:
|
|
|
|
//
|
|
|
|
extern volatile struct ADC_REGS AdcRegs;
|
|
|
|
extern volatile struct ADC_RESULT_MIRROR_REGS AdcMirror;
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif /* extern "C" */
|
|
|
|
|
|
|
|
#endif // end of DSP2833x_ADC_H definition
|
|
|
|
|
|
|
|
//
|
|
|
|
// End of file
|
|
|
|
//
|
|
|
|
|