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

DSP编程

开发平台:

C/C++

  1. //###########################################################################
  2. //
  3. // FILE: DSP281x_Ev.h
  4. //
  5. // TITLE: DSP281x Device Event Manager 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. //      |             |      | CAPCON, EXTCON and CAPFIFO register for EVA renamed CAPCONA
  13. //      |             |      |    EXTCONA and CAPFIFOA.  This is to be consistant
  14. //      |             |      |    with other documentation. EVB was already correct.
  15. //      |             |      | Corrected bit definitions for GPTCONA & GPTCONB registers
  16. //      |             |      | T1CON and T2CON were using the same bit definitions.  Split
  17. //      |             |      |    this so the reserved bits in T1CON would be correct
  18. //      |             |      | T3CON and T4CON were using the same bit definitions.  Split
  19. //      |             |      |    this so the reserved bits in T3CON would be correct
  20. //      |             |      | Changed QEPIQEL to QEPIQUAL in EXTCONA/EXTCONB registers
  21. //      |             |      | Added bits that are active only when EXTCONA.0 = 1 
  22. //      |             |      |    to the COMCONA and COMCONB registers. 
  23. //      |             |      | Changed CAPQEPN to CAP12EN in the CAPCONA register
  24. //      |             |      | Changed CAPQEPN to CAP45EN in the CAPCONB register
  25. //###########################################################################
  26. #ifndef DSP281x_EV_H
  27. #define DSP281x_EV_H
  28. #ifdef __cplusplus
  29. extern "C" {
  30. #endif
  31. /* --------------------------------------------------- */
  32. /* F2810/12 Event Manager (EV) GP Timer Registers      */
  33. /*                                                     */
  34. /* ----------------------------------------------------*/
  35. /* Overall Timer Control Register */
  36. struct GPTCONA_BITS  {
  37.    Uint16 T1PIN:2;         // 1:0   Polarity of GP timer 1 compare
  38.    Uint16 T2PIN:2;         // 3:2   Polarity of GP timer 2 compare
  39.    Uint16 T1CMPOE:1;       // 4     Timer1 compare output
  40.    Uint16 T2CMPOE:1;       // 5     Timer2 compare output 
  41.    Uint16 TCMPOE:1;        // 6     Compare output enable
  42.    Uint16 T1TOADC:2;       // 8:7   Start ADC with timer 1 event
  43.    Uint16 T2TOADC:2;       // 10:9  Start ADC with timer 2 event
  44.    Uint16 T1CTRIPE:1;      // 11    Enable Timer 1 compare trip
  45.    Uint16 T2CTRIPE:1;      // 12    Enable Timer 2 compare trip
  46.    Uint16 T1STAT:1;        // 13    GP Timer 1 status (read only)
  47.    Uint16 T2STAT:1;        // 14    GP Timer 2 status (read only)
  48.    Uint16 rsvd:1;          // 15    reserved
  49. };
  50. /* Allow access to the bit fields or entire register */
  51. union GPTCONA_REG {
  52.    Uint16        all;
  53.    struct  GPTCONA_BITS bit;
  54. };
  55. struct GPTCONB_BITS  {
  56.    Uint16 T3PIN:2;         // 1:0   Polarity of GP timer 3 compare
  57.    Uint16 T4PIN:2;         // 3:2   Polarity of GP timer 4 compare
  58.    Uint16 T3CMPOE:1;       // 4     Timer3 compare output
  59.    Uint16 T4CMPOE:1;       // 5     Timer4 compare output 
  60.    Uint16 TCMPOE:1;        // 6     Compare output enable
  61.    Uint16 T3TOADC:2;       // 8:7   Start ADC with timer 3 event
  62.    Uint16 T4TOADC:2;       // 10:9  Start ADC with timer 4 event
  63.    Uint16 T3CTRIPE:1;      // 11    Timer 3 trip enable
  64.    Uint16 T4CTRIPE:1;      // 12    Timer 4 trip enable
  65.    Uint16 T3STAT:1;        // 13    GP Timer 3 status (read only)
  66.    Uint16 T4STAT:1;        // 14    GP Timer 4 status (read only)
  67.    Uint16 rsvd2:1;         // 15    reserved
  68. };
  69. /* Allow access to the bit fields or entire register */
  70. union GPTCONB_REG {
  71.    Uint16        all;
  72.    struct  GPTCONB_BITS bit;
  73. };
  74. /* Timer 1 Control Register bit defintions */
  75. struct T1CON_BITS  {
  76.    Uint16  rsvd1:1;         // 0     reserved
  77.    Uint16  TECMPR:1;        // 1     Timer compare enable
  78.    Uint16  TCLD10:2;        // 3:2   Timer copare register reload
  79.    Uint16  TCLKS10:2;       // 5:4   Clock source select
  80.    Uint16  TENABLE:1;       // 6     Timer enable
  81.    Uint16  rsvd2:1;         // 7     reserved
  82.    Uint16  TPS:3;           // 10:8  Input clock prescaler
  83.    Uint16  TMODE:2;         // 12:11 Count mode selection
  84.    Uint16  rsvd:1;          // 13    reserved
  85.    Uint16  FREE:1;          // 14    Free emulation control
  86.    Uint16  SOFT:1;          // 15    Soft emulation control
  87. };      
  88. /* Allow access to the bit fields or entire register */
  89. union T1CON_REG {
  90.    Uint16             all;
  91.    struct  T1CON_BITS bit;
  92. };
  93. /* Timer 2 Control Register bit defintions */
  94. struct T2CON_BITS  {
  95.    Uint16  SET1PR:1;        // 0     Period register select
  96.    Uint16  TECMPR:1;        // 1     Timer compare enable
  97.    Uint16  TCLD10:2;        // 3:2   Timer copare register reload
  98.    Uint16  TCLKS10:2;       // 5:4   Clock source select
  99.    Uint16  TENABLE:1;       // 6     Timer enable
  100.    Uint16  T2SWT1:1;        // 7     Start GP timer 2 with GP timer 1's enable
  101.    Uint16  TPS:3;           // 10:8  Input clock prescaler
  102.    Uint16  TMODE:2;         // 12:11 Count mode selection
  103.    Uint16  rsvd:1;          // 13    reserved
  104.    Uint16  FREE:1;          // 14    Free emulation control
  105.    Uint16  SOFT:1;          // 15    Soft emulation control
  106. };      
  107. /* Allow access to the bit fields or entire register */
  108. union T2CON_REG {
  109.    Uint16             all;
  110.    struct  T2CON_BITS bit;
  111. };
  112. /* Timer 3 Control Register bit defintions */
  113. struct T3CON_BITS  {
  114.    Uint16  rsvd1:1;         // 0     reserved
  115.    Uint16  TECMPR:1;        // 1     Timer compare enable
  116.    Uint16  TCLD10:2;        // 3:2   Timer copare register reload
  117.    Uint16  TCLKS10:2;       // 5:4   Clock source select
  118.    Uint16  TENABLE:1;       // 6     Timer enable
  119.    Uint16  rsvd2:1;         // 7     reserved
  120.    Uint16  TPS:3;           // 10:8  Input clock prescaler
  121.    Uint16  TMODE:2;         // 12:11 Count mode selection
  122.    Uint16  rsvd:1;          // 13    reserved
  123.    Uint16  FREE:1;          // 14    Free emulation control
  124.    Uint16  SOFT:1;          // 15    Soft emulation control
  125. };      
  126. /* Allow access to the bit fields or entire register */
  127. union T3CON_REG {
  128.    Uint16             all;
  129.    struct  T3CON_BITS bit;
  130. };
  131. /* Timer 4 Control Register bit defintions */
  132. struct T4CON_BITS  {
  133.    Uint16  SET3PR:1;        // 0     Period register select
  134.    Uint16  TECMPR:1;        // 1     Timer compare enable
  135.    Uint16  TCLD10:2;        // 3:2   Timer copare register reload
  136.    Uint16  TCLKS10:2;       // 5:4   Clock source select
  137.    Uint16  TENABLE:1;       // 6     Timer enable
  138.    Uint16  T4SWT3:1;        // 7     Start GP timer 2 with GP timer 1's enable
  139.    Uint16  TPS:3;           // 10:8  Input clock prescaler
  140.    Uint16  TMODE:2;         // 12:11 Count mode selection
  141.    Uint16  rsvd:1;          // 13    reserved
  142.    Uint16  FREE:1;          // 14    Free emulation control
  143.    Uint16  SOFT:1;          // 15    Soft emulation control
  144. };      
  145. /* Allow access to the bit fields or entire register */
  146. union T4CON_REG {
  147.    Uint16             all;
  148.    struct  T4CON_BITS bit;
  149. };
  150. struct EXTCONA_BITS {
  151.    Uint16   INDCOE:1;        // 0      Independant compare output
  152.    Uint16   QEPIQUAL:1;      // 1      QEP/CAP3 Index Qual Mode
  153.    Uint16   QEPIE:1;         // 2      QEP index enable
  154.    Uint16   EVSOCE:1;        // 3      EvA start of conversion output enable
  155.    Uint16   rsvd:12;         // 15:4   reserved
  156. };
  157. /* Allow access to the bit fields or entire register */
  158. union EXTCONA_REG {
  159.    Uint16        all;
  160.    struct  EXTCONA_BITS bit;
  161. };
  162. struct EXTCONB_BITS {
  163.    Uint16   INDCOE:1;        // 0      Independant compare output
  164.    Uint16   QEPIQUAL:1;      // 1      QEP/CAP3 Index Qual Mode
  165.    Uint16   QEPIE:1;         // 2      QEP index enable
  166.    Uint16   EVSOCE:1;        // 3      EvB start of conversion output enable
  167.    Uint16   rsvd:12;         // 15:4   reserved
  168. };
  169. /* Allow access to the bit fields or entire register */
  170. union EXTCONB_REG {
  171.    Uint16               all;
  172.    struct  EXTCONA_BITS bit;
  173. };
  174. /* Compare Control Register */
  175. struct COMCONA_BITS {
  176.    Uint16   C1TRIPE:1;      // 0      C1TRIP enable
  177.    Uint16   C2TRIPE:1;      // 1      C2TRIP enable
  178.    Uint16   C3TRIPE:1;      // 2      C3TRIP eanble
  179.    Uint16   rsvd:2;         // 4:3    reserved
  180.    Uint16   FCMP1OE:1;      // 5      Full compare 1 output enable
  181.    Uint16   FCMP2OE:1;      // 6      Full compare 2 output enable
  182.    Uint16   FCMP3OE:1;      // 7      Full compare 3 output enable
  183.    Uint16   PDPINTASTATUS:1;// 8      Current status of the PDPINTA pin
  184.    Uint16   FCOMPOE:1;      // 9      Compare output enable
  185.    Uint16   ACTRLD:2;       // 11:10  Action control register reload
  186.    Uint16   SVENABLE:1;     // 12     Space vector PWM Mode enable
  187.    Uint16   CLD:2;          // 14:13  Compare register reload condition
  188.    Uint16   CENABLE:1;      // 15     Compare enable
  189. }; 
  190. /* Allow access to the bit fields or entire register */
  191. union COMCONA_REG {
  192.    Uint16               all;
  193.    struct  COMCONA_BITS bit;
  194. };
  195. struct COMCONB_BITS {
  196.    Uint16   C4TRIPE:1;      // 0      C4TRIP enable
  197.    Uint16   C5TRIPE:1;      // 1      C5TRIP enable
  198.    Uint16   C6TRIPE:1;      // 2      C6TRIP eanble
  199.    Uint16   rsvd:2;         // 4:3    reserved
  200.    Uint16   FCMP4OE:1;      // 5      Full compare 4 output enable
  201.    Uint16   FCMP5OE:1;      // 6      Full compare 5 output enable
  202.    Uint16   FCMP6OE:1;      // 7      Full compare 6 output enable
  203.    Uint16   PDPINTBSTATUS:1;// 8      Current status of the PDPINTB pin
  204.    Uint16   FCOMPOE:1;      // 9      Compare output enable
  205.    Uint16   ACTRLD:2;       // 11:10  Action control register reload
  206.    Uint16   SVENABLE:1;     // 12     Space vector PWM Mode enable
  207.    Uint16   CLD:2;          // 14:13  Compare register reload condition
  208.    Uint16   CENABLE:1;      // 15     Compare enable
  209. }; 
  210. /* Allow access to the bit fields or entire register */
  211. union COMCONB_REG {
  212.    Uint16               all;
  213.    struct  COMCONB_BITS bit;
  214. };
  215. /* Compare Action Control Register bit definitions */
  216. struct ACTRA_BITS {
  217.    Uint16   CMP1ACT:2;     // 1:0    Action on compare output pin 1 CMP1
  218.    Uint16   CMP2ACT:2;     // 3:2    Action on compare output pin 2 CMP2
  219.    Uint16   CMP3ACT:2;     // 5:4    Action on compare output pin 3 CMP3
  220.    Uint16   CMP4ACT:2;     // 7:6    Action on compare output pin 4 CMP4
  221.    Uint16   CMP5ACT:2;     // 9:8    Action on compare output pin 5 CMP5
  222.    Uint16   CMP6ACT:2;     // 11:10  Action on compare output pin 6 CMP6
  223.    Uint16   D:3;           // 14:12  Basic vector bits
  224.    Uint16   SVRDIR:1;      // 15     Space vecor PWM rotation dir
  225. };
  226. /* Allow access to the bit fields or entire register */
  227. union ACTRA_REG {
  228.    Uint16             all;
  229.    struct  ACTRA_BITS bit;
  230. };
  231. struct ACTRB_BITS {
  232.    Uint16   CMP7ACT:2;     // 1:0    Action on compare output pin 7 CMP7
  233.    Uint16   CMP8ACT:2;     // 3:2    Action on compare output pin 8 CMP8
  234.    Uint16   CMP9ACT:2;     // 5:4    Action on compare output pin 9 CMP9
  235.    Uint16   CMP10ACT:2;    // 7:6    Action on compare output pin 10 CMP10
  236.    Uint16   CMP11ACT:2;    // 9:8    Action on compare output pin 11 CMP11
  237.    Uint16   CMP12ACT:2;    // 11:10  Action on compare output pin 12 CMP12
  238.    Uint16   D:3;           // 14:12  Basic vector bits
  239.    Uint16   SVRDIR:1;      // 15     Space vecor PWM rotation dir
  240. };
  241. /* Allow access to the bit fields or entire register */
  242. union ACTRB_REG {
  243.    Uint16        all;
  244.    struct  ACTRB_BITS bit;
  245. };
  246. /* Dead-Band Timer Control register bit definitions */
  247. struct DBTCON_BITS {
  248.    Uint16   rsvd1:2;       // 1:0    reserved
  249.    Uint16   DBTPS:3;       // 4:2    Dead-Band timer prescaler
  250.    Uint16   EDBT1:1;       // 5      Dead-Band timer 1 enable
  251.    Uint16   EDBT2:1;       // 6      Dead-Band timer 2 enable
  252.    Uint16   EDBT3:1;       // 7      Dead-Band timer 3 enable
  253.    Uint16   DBT:4;         // 11:8   Dead-Band timer period
  254.    Uint16   rsvd2:4;       // 15:12  reserved   
  255. };
  256. /* Allow access to the bit fields or entire register */
  257. union DBTCON_REG {
  258.    Uint16        all;
  259.    struct  DBTCON_BITS bit;
  260. };
  261. /* Capture Control register bit definitions */
  262. struct CAPCONA_BITS {
  263.    Uint16  rsvd1:2;         // 1:0   reserved
  264.    Uint16  CAP3EDGE:2;      // 3:2   Edge Detection for Unit 3
  265.    Uint16  CAP2EDGE:2;      // 5:4   Edge Detection for Unit 2
  266.    Uint16  CAP1EDGE:2;      // 7:6   Edge Detection for Unit 1
  267.    Uint16  CAP3TOADC:1;     // 8     Unit 3 starts the ADC
  268.    Uint16  CAP12TSEL:1;     // 9     GP Timer selection for Units 1 and 2
  269.    Uint16  CAP3TSEL:1;      // 10    GP Timer selection for Unit 3
  270.    Uint16  rsvd2:1;         // 11    reserved
  271.    Uint16  CAP3EN:1;        // 12    Capture Unit 3 enable
  272.    Uint16  CAP12EN:2;       // 14:13 Capture Unit 1 and 2 enable
  273.    Uint16  CAPRES:1;        // 15    Capture reset (always reads 0)
  274. };
  275. /* Allow access to the bit fields or entire register */
  276. union CAPCONA_REG {
  277.    Uint16        all;
  278.    struct  CAPCONA_BITS bit;
  279. };  
  280. /* Control register bit definitions */
  281. struct CAPCONB_BITS {
  282.    Uint16  rsvd1:2;         // 1:0   reserved
  283.    Uint16  CAP6EDGE:2;      // 3:2   Edge Detection for Unit 6
  284.    Uint16  CAP5EDGE:2;      // 5:4   Edge Detection for Unit 5
  285.    Uint16  CAP4EDGE:2;      // 7:6   Edge Detection for Unit 4
  286.    Uint16  CAP6TOADC:1;     // 8     Unit 6 starts the ADC
  287.    Uint16  CAP45TSEL:1;     // 9     GP Timer selection for Units 4 and 5
  288.    Uint16  CAP6TSEL:1;      // 10    GP Timer selection for Unit 6
  289.    Uint16  rsvd2:1;         // 11    reserved
  290.    Uint16  CAP6EN:1;        // 12    Capture Unit 6 control
  291.    Uint16  CAP45EN:2;       // 14:13 Capture Unit 4 and 5 control
  292.    Uint16  CAPRES:1;        // 15    Capture reset (always reads 0)
  293. };
  294. /* Allow access to the bit fields or entire register */
  295. union CAPCONB_REG {
  296.    Uint16        all;
  297.    struct  CAPCONB_BITS bit;
  298. }; 
  299. /* Capture FIFO Status Register bit definitions */
  300. struct CAPFIFOA_BITS  {
  301.    Uint16 rsvd1:8;           // 7:0   reserved
  302.    Uint16 CAP1FIFO:2;        // 9:8   CAP1 FIFO status
  303.    Uint16 CAP2FIFO:2;        // 11:10 CAP2 FIFO status
  304.    Uint16 CAP3FIFO:2;        // 13:12 CAP2 FIFO status
  305.    Uint16 rsvd2:2;           // 15:14 reserved
  306. }; 
  307. /* Allow access to the bit fields or entire register */
  308. union CAPFIFOA_REG {
  309.    Uint16        all;
  310.    struct  CAPFIFOA_BITS bit;
  311. }; 
  312. /* Capture FIFO Status Register bit definitions */
  313. struct CAPFIFOB_BITS  {
  314.    Uint16 rsvd1:8;           // 7:0   reserved
  315.    Uint16 CAP4FIFO:2;        // 9:8   CAP4 FIFO status
  316.    Uint16 CAP5FIFO:2;        // 11:10 CAP5 FIFO status
  317.    Uint16 CAP6FIFO:2;        // 13:12 CAP6 FIFO status
  318.    Uint16 rsvd2:2;           // 15:14 reserved
  319. }; 
  320. /* Allow access to the bit fields or entire register */
  321. union CAPFIFOB_REG {
  322.    Uint16        all;
  323.    struct  CAPFIFOB_BITS bit;
  324. };
  325. /* Interrupt Mask Register bit definitions */
  326. struct EVAIMRA_BITS {
  327.     Uint16  PDPINTA:1;      // 0       Enable PDPINTA
  328.     Uint16  CMP1INT:1;      // 1       Enable
  329.     Uint16  CMP2INT:1;      // 2       Enable
  330.     Uint16  CMP3INT:1;      // 3       Enable
  331.     Uint16  rsvd1:3;        // 6:4     reserved
  332.     Uint16  T1PINT:1;       // 7       Enable
  333.     Uint16  T1CINT:1;       // 8       Enable
  334.     Uint16  T1UFINT:1;      // 9       Enable
  335.     Uint16  T1OFINT:1;      // 10      Enable
  336.     Uint16  rsvd2:5;        // 15:11   reserved
  337. };
  338.    
  339. /* Allow access to the bit fields or entire register */
  340. union EVAIMRA_REG {
  341.    Uint16         all;
  342.    struct  EVAIMRA_BITS bit;
  343. };
  344. /* Interrupt Mask Register bit definitions */
  345. struct EVBIMRA_BITS {
  346.     Uint16  PDPINTB:1;      // 0       Enable PDPINTB
  347.     Uint16  CMP4INT:1;      // 1       Enable
  348.     Uint16  CMP5INT:1;      // 2       Enable
  349.     Uint16  CMP6INT:1;      // 3       Enable
  350.     Uint16  rsvd1:3;        // 6:4     reserved
  351.     Uint16  T3PINT:1;       // 7       Enable
  352.     Uint16  T3CINT:1;       // 8       Enable
  353.     Uint16  T3UFINT:1;      // 9       Enable
  354.     Uint16  T3OFINT:1;      // 10      Enable
  355.     Uint16  rsvd2:5;        // 15:11   reserved
  356. };
  357.    
  358. /* Allow access to the bit fields or entire register */
  359. union EVBIMRA_REG {
  360.    Uint16         all;
  361.    struct  EVBIMRA_BITS bit;
  362. };
  363. struct EVAIMRB_BITS {
  364.    Uint16   T2PINT:1;       // 0       Enable
  365.    Uint16   T2CINT:1;       // 1       Enable
  366.    Uint16   T2UFINT:1;      // 2       Enable
  367.    Uint16   T2OFINT:1;      // 3       Enable
  368.    Uint16   rsvd1:12;       // 15:4    reserved
  369. };
  370. /* Allow access to the bit fields or entire register */
  371. union EVAIMRB_REG {
  372.    Uint16         all;
  373.    struct  EVAIMRB_BITS bit;
  374. };
  375. struct EVBIMRB_BITS {
  376.    Uint16   T4PINT:1;       // 0       Enable
  377.    Uint16   T4CINT:1;       // 1       Enable
  378.    Uint16   T4UFINT:1;      // 2       Enable
  379.    Uint16   T4OFINT:1;      // 3       Enable
  380.    Uint16   rsvd1:12;       // 15:4    reserved
  381. };
  382. /* Allow access to the bit fields or entire register */
  383. union EVBIMRB_REG {
  384.    Uint16         all;
  385.    struct  EVBIMRB_BITS bit;
  386. };
  387. struct EVAIMRC_BITS {
  388.     Uint16   CAP1INT:1;     // 0        Enable
  389.     Uint16   CAP2INT:1;     // 1        Enable
  390.     Uint16   CAP3INT:1;     // 2        Enable
  391.     Uint16   rsvd1:13;      // 15:3     reserved
  392. };
  393. /* Allow access to the bit fields or entire register */
  394. union EVAIMRC_REG {
  395.    Uint16         all;
  396.    struct  EVAIMRC_BITS bit;
  397. };
  398. struct EVBIMRC_BITS {
  399.     Uint16   CAP4INT:1;     // 0        Enable
  400.     Uint16   CAP5INT:1;     // 1        Enable
  401.     Uint16   CAP6INT:1;     // 2        Enable
  402.     Uint16   rsvd1:13;      // 15:3     reserved
  403. };
  404. /* Allow access to the bit fields or entire register */
  405. union EVBIMRC_REG {
  406.    Uint16         all;
  407.    struct  EVBIMRC_BITS bit;
  408. };
  409. /* Interrupt Flag Register bit definitions */
  410. struct EVAIFRA_BITS {
  411.     Uint16  PDPINTA:1;      // 0       Flag PDPINTA
  412.     Uint16  CMP1INT:1;      // 1       Flag
  413.     Uint16  CMP2INT:1;      // 2       Flag
  414.     Uint16  CMP3INT:1;      // 3       Flag
  415.     Uint16  rsvd1:3;        // 6:4     reserved
  416.     Uint16  T1PINT:1;       // 7       Flag
  417.     Uint16  T1CINT:1;       // 8       Flag
  418.     Uint16  T1UFINT:1;      // 9       Flag
  419.     Uint16  T1OFINT:1;      // 10      Flag
  420.     Uint16  rsvd2:5;        // 15:11   reserved
  421. };
  422.    
  423. /* Allow access to the bit fields or entire register */
  424. union EVAIFRA_REG {
  425.    Uint16         all;
  426.    struct  EVAIMRA_BITS bit;
  427. };
  428. /* Interrupt Mask Register bit definitions */
  429. struct EVBIFRA_BITS {
  430.     Uint16  PDPINTB:1;      // 0       Flag PDPINTB
  431.     Uint16  CMP4INT:1;      // 1       Flag
  432.     Uint16  CMP5INT:1;      // 2       Flag
  433.     Uint16  CMP6INT:1;      // 3       Flag
  434.     Uint16  rsvd1:3;        // 6:4     reserved
  435.     Uint16  T3PINT:1;       // 7       Flag
  436.     Uint16  T3CINT:1;       // 8       Flag
  437.     Uint16  T3UFINT:1;      // 9       Flag
  438.     Uint16  T3OFINT:1;      // 10      Flag
  439.     Uint16  rsvd2:5;        // 15:11   reserved
  440. };
  441.    
  442. /* Allow access to the bit fields or entire register */
  443. union EVBIFRA_REG {
  444.    Uint16         all;
  445.    struct  EVBIFRA_BITS bit;
  446. };
  447. struct EVAIFRB_BITS {
  448.    Uint16   T2PINT:1;       // 0       Flag
  449.    Uint16   T2CINT:1;       // 1       Flag
  450.    Uint16   T2UFINT:1;      // 2       Flag
  451.    Uint16   T2OFINT:1;      // 3       Flag
  452.    Uint16   rsvd1:12;       // 15:4    reserved
  453. };
  454. /* Allow access to the bit fields or entire register */
  455. union EVAIFRB_REG {
  456.    Uint16         all;
  457.    struct  EVAIFRB_BITS bit;
  458. };
  459. struct EVBIFRB_BITS {
  460.    Uint16   T4PINT:1;       // 0       Flag
  461.    Uint16   T4CINT:1;       // 1       Flag
  462.    Uint16   T4UFINT:1;      // 2       Flag
  463.    Uint16   T4OFINT:1;      // 3       Flag
  464.    Uint16   rsvd1:12;       // 15:4    reserved
  465. };
  466. /* Allow access to the bit fields or entire register */
  467. union EVBIFRB_REG {
  468.    Uint16         all;
  469.    struct  EVBIFRB_BITS bit;
  470. };
  471. struct EVAIFRC_BITS {
  472.     Uint16   CAP1INT:1;     // 0        Flag
  473.     Uint16   CAP2INT:1;     // 1        Flag
  474.     Uint16   CAP3INT:1;     // 2        Flag
  475.     Uint16   rsvd1:13;      // 15:3     reserved
  476. };
  477. /* Allow access to the bit fields or entire register */
  478. union EVAIFRC_REG {
  479.    Uint16         all;
  480.    struct  EVAIFRC_BITS bit;
  481. };
  482. struct EVBIFRC_BITS {
  483.     Uint16   CAP4INT:1;     // 0        Flag
  484.     Uint16   CAP5INT:1;     // 1        Flag
  485.     Uint16   CAP6INT:1;     // 2        Flag
  486.     Uint16   rsvd1:13;      // 15:3     reserved
  487. };
  488. /* Allow access to the bit fields or entire register */
  489. union EVBIFRC_REG {
  490.    Uint16         all;
  491.    struct  EVBIFRC_BITS bit;
  492. };
  493. /* EVA Register File */
  494. struct EVA_REGS  {
  495.   union GPTCONA_REG  GPTCONA;   //0x7400
  496.   Uint16             T1CNT;     //0x7401
  497.   Uint16             T1CMPR;    //0x7402
  498.   Uint16             T1PR;      //0x7403
  499.   union T1CON_REG    T1CON;     //0x7404
  500.   Uint16             T2CNT;     //0x7405
  501.   Uint16             T2CMPR;    //0x7406
  502.   Uint16             T2PR;      //0x7407
  503.   union T2CON_REG    T2CON;     //0x7408
  504.   union EXTCONA_REG  EXTCONA;   //0x7409
  505.   Uint16             rsvd1[7];  //0x740A-10
  506.   union COMCONA_REG  COMCONA; //0x7411
  507.   Uint16             rsvd2;     //0x7412
  508.   union ACTRA_REG    ACTRA;     //0x7413
  509.   Uint16             rsvd3;     //0x7414
  510.   union DBTCON_REG   DBTCONA;   //0x7415
  511.   Uint16             rsvd4;     //0x7416
  512.   Uint16             CMPR1;     //0x7417
  513.   Uint16             CMPR2;     //0x7418
  514.   Uint16             CMPR3;     //0x7419
  515.   Uint16             rsvd5[6];  //0x741A-F
  516.   union CAPCONA_REG  CAPCONA; //0x7420
  517.   Uint16             rsvd6;     //0x7421
  518.   union CAPFIFOA_REG CAPFIFOA;  //0x7422
  519.   Uint16             CAP1FIFO;  //0x7423
  520.   Uint16             CAP2FIFO;  //0x7424
  521.   Uint16             CAP3FIFO;  //0x7425
  522.   Uint16             rsvd7;     //0x7426
  523.   Uint16             CAP1FBOT;  //0x7427
  524.   Uint16             CAP2FBOT;  //0x7428
  525.   Uint16             CAP3FBOT;  //0x7429
  526.   Uint16             rsvd8[2];  //0x742A-B
  527.   union EVAIMRA_REG  EVAIMRA; //0x742C
  528.   union EVAIMRB_REG  EVAIMRB; //0x742D
  529.   union EVAIMRC_REG  EVAIMRC; //0x742E
  530.   union EVAIFRA_REG  EVAIFRA; //0x742F
  531.   union EVAIFRB_REG  EVAIFRB; //0x7430
  532.   union EVAIFRC_REG  EVAIFRC; //0x7431
  533. };
  534. /* EVB Register File */
  535. struct EVB_REGS  {
  536.   union GPTCONB_REG  GPTCONB; //0x7500
  537.   Uint16             T3CNT;     //0x7501
  538.   Uint16             T3CMPR;    //0x7502
  539.   Uint16             T3PR;      //0x7503
  540.   union T3CON_REG    T3CON;     //0x7504
  541.   Uint16             T4CNT;     //0x7505
  542.   Uint16             T4CMPR;    //0x7506
  543.   Uint16             T4PR;      //0x7507
  544.   union T4CON_REG    T4CON;     //0x7508
  545.   union EXTCONB_REG  EXTCONB;   //0x7509
  546.   Uint16             rsvd1[7];  //0x750A-10
  547.   union COMCONB_REG  COMCONB;   //0x7511
  548.   Uint16             rsvd2;     //0x7512
  549.   union ACTRB_REG    ACTRB;     //0x7513
  550.   Uint16             rsvd3;     //0x7514
  551.   union DBTCON_REG   DBTCONB;   //0x7515
  552.   Uint16             rsvd4;     //0x7516
  553.   Uint16             CMPR4;     //0x7517
  554.   Uint16             CMPR5;     //0x7518
  555.   Uint16             CMPR6;     //0x7519
  556.   Uint16             rsvd5[6];  //0x751A-F
  557.   union CAPCONB_REG  CAPCONB;   //0x7520
  558.   Uint16             rsvd6;     //0x7521
  559.   union CAPFIFOB_REG CAPFIFOB;  //0x7522
  560.   Uint16             CAP4FIFO;  //0x7523
  561.   Uint16             CAP5FIFO;  //0x7524
  562.   Uint16             CAP6FIFO;  //0x7525
  563.   Uint16             rsvd7;     //0x7526
  564.   Uint16             CAP4FBOT;  //0x7527
  565.   Uint16             CAP5FBOT;  //0x7528
  566.   Uint16             CAP6FBOT;  //0x7529
  567.   Uint16             rsvd8[2];  //0x752A-B
  568.   union EVBIMRA_REG  EVBIMRA;   //0x752C
  569.   union EVBIMRB_REG  EVBIMRB;   //0x752D
  570.   union EVBIMRC_REG  EVBIMRC;   //0x752E
  571.   union EVBIFRA_REG  EVBIFRA;   //0x752F
  572.   union EVBIFRB_REG  EVBIFRB;   //0x7530
  573.   union EVBIFRC_REG  EVBIFRC;   //0x7531
  574. };                              
  575. //---------------------------------------------------------------------------
  576. // Function prototypes and external definitions:
  577. //
  578. extern volatile struct EVA_REGS EvaRegs;
  579. extern volatile struct EVB_REGS EvbRegs;
  580. #ifdef __cplusplus
  581. }
  582. #endif /* extern "C" */
  583. #endif  // end of DSP281x_EV.H definition
  584. //===========================================================================
  585. // No more.
  586. //===========================================================================