DSP281x_Adc.h
上传用户:qingfan3
上传日期:2014-10-27
资源大小:31439k
文件大小:9k
源码类别:

DSP编程

开发平台:

C/C++

  1. //###########################################################################
  2. //
  3. // FILE:   DSP281x_Adc.h
  4. //
  5. // TITLE:  DSP281x Device ADC Register Definitions.
  6. //
  7. //###########################################################################
  8. //
  9. //  Ver | dd mmm yyyy | Who  | Description of changes
  10. // =====|=============|======|===============================================
  11. //  1.00| 11 Sep 2003 | L.H. | Changes since previous version (v.58 Alpha)
  12. //      |             |      | Separated the MAX_CONV bit fields into two
  13. //      |             |      | MAX_CONV1  // 3:0
  14. //      |             |      | MAX_CONV2  // 6:4
  15. //      |             |      | Added SEQ_OVRD bit to ADCTRL1 for RevC and after silicon
  16. //###########################################################################
  17. #ifndef DSP281x_ADC_H
  18. #define DSP281x_ADC_H
  19. #ifdef __cplusplus
  20. extern "C" {
  21. #endif
  22. //---------------------------------------------------------------------------
  23. // ADC Individual Register Bit Definitions:
  24. struct ADCTRL1_BITS {     // bits  description
  25.     Uint16  rsvd1:4;      // 3:0   reserved
  26.     Uint16  SEQ_CASC:1;   // 4     Cascaded sequencer mode
  27.     Uint16  SEQ_OVRD:1;   // 5     Sequencer override 
  28.     Uint16  CONT_RUN:1;   // 6     Continuous run
  29.     Uint16  CPS:1;        // 7     ADC core clock pre-scalar
  30.     Uint16  ACQ_PS:4;     // 11:8  Acquisition window size
  31.     Uint16  SUSMOD:2;     // 13:12 Emulation suspend mode
  32.     Uint16  RESET:1;      // 14    ADC reset
  33.     Uint16  rsvd2:1;      // 15    reserved
  34. };
  35. union ADCTRL1_REG {
  36.    Uint16                all;
  37.    struct ADCTRL1_BITS   bit;
  38. };
  39. struct ADCTRL2_BITS {         // bits  description
  40.     Uint16  EVB_SOC_SEQ2:1;   // 0     Event manager B SOC mask for SEQ2
  41.     Uint16  rsvd1:1;          // 1     reserved
  42.     Uint16  INT_MOD_SEQ2:1;   // 2     SEQ2 Interrupt mode
  43.     Uint16  INT_ENA_SEQ2:1;   // 3     SEQ2 Interrupt enable
  44.     Uint16  rsvd2:1;          // 4     reserved
  45.     Uint16  SOC_SEQ2:1;       // 5     Start of conversion for SEQ2
  46.     Uint16  RST_SEQ2:1;       // 6     Reset SEQ2
  47.     Uint16  EXT_SOC_SEQ1:1;   // 7     External start of conversion for SEQ1
  48.     Uint16  EVA_SOC_SEQ1:1;   // 8     Event manager A SOC mask for SEQ1
  49.     Uint16  rsvd3:1;          // 9     reserved
  50.     Uint16  INT_MOD_SEQ1:1;   // 10    SEQ1 Interrupt mode
  51.     Uint16  INT_ENA_SEQ1:1;   // 11    SEQ1 Interrupt enable
  52.     Uint16  rsvd4:1;          // 12    reserved
  53.     Uint16  SOC_SEQ1:1;       // 13    Start of conversion trigger for SEQ1
  54.     Uint16  RST_SEQ1:1;       // 14    Restart sequencer 1   
  55.     Uint16  EVB_SOC_SEQ:1;    // 15    EVB SOC enable
  56. };
  57. union ADCTRL2_REG {
  58.    Uint16                all;
  59.    struct ADCTRL2_BITS   bit;
  60. };
  61. struct ADCASEQSR_BITS {       // bits   description
  62.     Uint16  SEQ1_STATE:4;     // 3:0    SEQ1 state
  63.     Uint16  SEQ2_STATE:3;     // 6:4    SEQ2 state
  64.     Uint16  rsvd1:1;          // 7      reserved
  65.     Uint16  SEQ_CNTR:4;       // 11:8   Sequencing counter status 
  66.     Uint16  rsvd2:4;          // 15:12  reserved  
  67. };
  68. union ADCASEQSR_REG {
  69.    Uint16                 all;
  70.    struct ADCASEQSR_BITS  bit;
  71. };
  72. struct ADCMAXCONV_BITS {      // bits  description
  73.     Uint16  MAX_CONV1:4;      // 3:0   Max number of conversions
  74.     Uint16  MAX_CONV2:3;      // 6:4   Max number of conversions    
  75.     Uint16  rsvd1:9;          // 15:7  reserved 
  76. };
  77. union ADCMAXCONV_REG {
  78.    Uint16                  all;
  79.    struct ADCMAXCONV_BITS  bit;
  80. };
  81. struct ADCCHSELSEQ1_BITS {    // bits   description
  82.     Uint16  CONV00:4;         // 3:0    Conversion selection 00
  83.     Uint16  CONV01:4;         // 7:4    Conversion selection 01
  84.     Uint16  CONV02:4;         // 11:8   Conversion selection 02
  85.     Uint16  CONV03:4;         // 15:12  Conversion selection 03
  86. };
  87. union  ADCCHSELSEQ1_REG{
  88.    Uint16                    all;
  89.    struct ADCCHSELSEQ1_BITS  bit;
  90. };
  91. struct ADCCHSELSEQ2_BITS {    // bits   description
  92.     Uint16  CONV04:4;         // 3:0    Conversion selection 04
  93.     Uint16  CONV05:4;         // 7:4    Conversion selection 05
  94.     Uint16  CONV06:4;         // 11:8   Conversion selection 06
  95.     Uint16  CONV07:4;         // 15:12  Conversion selection 07
  96. };
  97. union  ADCCHSELSEQ2_REG{
  98.    Uint16                    all;
  99.    struct ADCCHSELSEQ2_BITS  bit;
  100. };
  101. struct ADCCHSELSEQ3_BITS {    // bits   description
  102.     Uint16  CONV08:4;         // 3:0    Conversion selection 08
  103.     Uint16  CONV09:4;         // 7:4    Conversion selection 09
  104.     Uint16  CONV10:4;         // 11:8   Conversion selection 10
  105.     Uint16  CONV11:4;         // 15:12  Conversion selection 11
  106. };
  107. union  ADCCHSELSEQ3_REG{
  108.    Uint16                    all;
  109.    struct ADCCHSELSEQ3_BITS  bit;
  110. };
  111. struct ADCCHSELSEQ4_BITS {    // bits   description
  112.     Uint16  CONV12:4;         // 3:0    Conversion selection 12
  113.     Uint16  CONV13:4;         // 7:4    Conversion selection 13
  114.     Uint16  CONV14:4;         // 11:8   Conversion selection 14
  115.     Uint16  CONV15:4;         // 15:12  Conversion selection 15
  116. };
  117. union  ADCCHSELSEQ4_REG {
  118.    Uint16                    all;
  119.    struct ADCCHSELSEQ4_BITS  bit;
  120. };
  121. struct ADCTRL3_BITS {         // bits   description
  122.     Uint16   SMODE_SEL:1;     // 0      Sampling mode select
  123.     Uint16   ADCCLKPS:4;      // 4:1    ADC core clock divider
  124.     Uint16   ADCPWDN:1;       // 5      ADC powerdown
  125.     Uint16   ADCBGRFDN:2;     // 7:6    ADC bandgap/ref power down
  126.     Uint16   rsvd1:8;         // 15:8   reserved
  127. }; 
  128. union  ADCTRL3_REG {
  129.    Uint16                all;
  130.    struct ADCTRL3_BITS   bit;
  131. };
  132. struct ADCST_BITS {           // bits   description
  133.     Uint16   INT_SEQ1:1;      // 0      SEQ1 Interrupt flag  
  134.     Uint16   INT_SEQ2:1;      // 1      SEQ2 Interrupt flag
  135.     Uint16   SEQ1_BSY:1;      // 2      SEQ1 busy status
  136.     Uint16   SEQ2_BSY:1;      // 3      SEQ2 busy status
  137.     Uint16   INT_SEQ1_CLR:1;  // 4      SEQ1 Interrupt clear
  138.     Uint16   INT_SEQ2_CLR:1;  // 5      SEQ2 Interrupt clear
  139.     Uint16   EOS_BUF1:1;      // 6      End of sequence buffer1
  140.     Uint16   EOS_BUF2:1;      // 7      End of sequence buffer2
  141.     Uint16   rsvd1:8;         // 15:8   reserved
  142. };
  143. union  ADCST_REG {
  144.    Uint16             all;
  145.    struct ADCST_BITS  bit;
  146. };
  147. struct ADC_REGS {
  148.     union ADCTRL1_REG      ADCTRL1;       // ADC Control 1
  149.     union ADCTRL2_REG      ADCTRL2;       // ADC Control 2
  150.     union ADCMAXCONV_REG   ADCMAXCONV;    // Max conversions
  151.     union ADCCHSELSEQ1_REG ADCCHSELSEQ1;  // Channel select sequencing control 1
  152.     union ADCCHSELSEQ2_REG ADCCHSELSEQ2;  // Channel select sequencing control 2
  153.     union ADCCHSELSEQ3_REG ADCCHSELSEQ3;  // Channel select sequencing control 3
  154.     union ADCCHSELSEQ4_REG ADCCHSELSEQ4;  // Channel select sequencing control 4
  155.     union ADCASEQSR_REG    ADCASEQSR;     // Autosequence status register
  156.     Uint16                 ADCRESULT0;    // Conversion Result Buffer 0
  157.     Uint16                 ADCRESULT1;    // Conversion Result Buffer 1
  158.     Uint16                 ADCRESULT2;    // Conversion Result Buffer 2
  159.     Uint16                 ADCRESULT3;    // Conversion Result Buffer 3
  160.     Uint16                 ADCRESULT4;    // Conversion Result Buffer 4
  161.     Uint16                 ADCRESULT5;    // Conversion Result Buffer 5
  162.     Uint16                 ADCRESULT6;    // Conversion Result Buffer 6
  163.     Uint16                 ADCRESULT7;    // Conversion Result Buffer 7
  164.     Uint16                 ADCRESULT8;    // Conversion Result Buffer 8
  165.     Uint16                 ADCRESULT9;    // Conversion Result Buffer 9
  166.     Uint16                 ADCRESULT10;   // Conversion Result Buffer 10
  167.     Uint16                 ADCRESULT11;   // Conversion Result Buffer 11
  168.     Uint16                 ADCRESULT12;   // Conversion Result Buffer 12
  169.     Uint16                 ADCRESULT13;   // Conversion Result Buffer 13
  170.     Uint16                 ADCRESULT14;   // Conversion Result Buffer 14
  171.     Uint16                 ADCRESULT15;   // Conversion Result Buffer 15
  172.     union ADCTRL3_REG      ADCTRL3;       // ADC Control 3  
  173.     union ADCST_REG        ADCST;         // ADC Status Register
  174. };
  175. //---------------------------------------------------------------------------
  176. // ADC External References & Function Declarations:
  177. //
  178. extern volatile struct ADC_REGS AdcRegs;
  179. #ifdef __cplusplus
  180. }
  181. #endif /* extern "C" */
  182. #endif  // end of DSP281x_ADC_H definition
  183. //===========================================================================
  184. // No more.
  185. //===========================================================================