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

DSP编程

开发平台:

C/C++

  1. //###########################################################################
  2. //
  3. // FILE: DSP281x_Sci.h
  4. //
  5. // TITLE: DSP281x Device SCI 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. //      |             |      | Added SCIRST bit field to SCIFFTX register
  13. //      |             |      | Renamed RXERR to RXERROR to match documentation
  14. //      |             |      | Renamed RXOVF_CLR to RXFFOVRCLR to match user documentation
  15. //###########################################################################
  16. #ifndef DSP281x_SCI_H
  17. #define DSP281x_SCI_H
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21. //---------------------------------------------------------------------------
  22. // SCI Individual Register Bit Definitions
  23. //----------------------------------------------------------
  24. // SCICCR communication control register bit definitions:
  25. //
  26. struct  SCICCR_BITS {        // bit    description
  27.    Uint16 SCICHAR:3;         // 2:0    Character length control        
  28.    Uint16 ADDRIDLE_MODE:1;   // 3      ADDR/IDLE Mode control
  29.    Uint16 LOOPBKENA:1;       // 4      Loop Back enable
  30.    Uint16 PARITYENA:1;       // 5      Parity enable   
  31.    Uint16 PARITY:1;          // 6      Even or Odd Parity
  32.    Uint16 STOPBITS:1;        // 7      Number of Stop Bits
  33.    Uint16 rsvd1:8;           // 15:8   reserved
  34. }; 
  35. union SCICCR_REG {
  36.    Uint16              all;
  37.    struct SCICCR_BITS  bit;
  38. };
  39. //-------------------------------------------
  40. // SCICTL1 control register 1 bit definitions:
  41. //
  42.                        
  43. struct  SCICTL1_BITS {       // bit    description
  44.    Uint16 RXENA:1;           // 0      SCI receiver enable
  45.    Uint16 TXENA:1;           // 1      SCI transmitter enable
  46.    Uint16 SLEEP:1;           // 2      SCI sleep  
  47.    Uint16 TXWAKE:1;          // 3      Transmitter wakeup method
  48.    Uint16 rsvd:1;            // 4      reserved
  49.    Uint16 SWRESET:1;         // 5      Software reset   
  50.    Uint16 RXERRINTENA:1;     // 6      Recieve interrupt enable
  51.    Uint16 rsvd1:9;           // 15:7   reserved
  52. }; 
  53. union SCICTL1_REG {
  54.    Uint16               all;
  55.    struct SCICTL1_BITS  bit;
  56. };
  57. //---------------------------------------------
  58. // SCICTL2 control register 2 bit definitions:
  59. // 
  60. struct  SCICTL2_BITS {       // bit    description
  61.    Uint16 TXINTENA:1;        // 0      Transmit interrupt enable    
  62.    Uint16 RXBKINTENA:1;      // 1      Receiver-buffer break enable
  63.    Uint16 rsvd:4;            // 5:2    reserved
  64.    Uint16 TXEMPTY:1;         // 6      Transmitter empty flag
  65.    Uint16 TXRDY:1;           // 7      Transmitter ready flag  
  66.    Uint16 rsvd1:8;           // 15:8   reserved
  67. }; 
  68. union SCICTL2_REG {
  69.    Uint16               all;
  70.    struct SCICTL2_BITS  bit;
  71. };
  72. //---------------------------------------------------
  73. // SCIRXST Receiver status register bit definitions:
  74. //
  75. struct  SCIRXST_BITS {       // bit    description
  76.    Uint16 rsvd:1;            // 0      reserved
  77.    Uint16 RXWAKE:1;          // 1      Receiver wakeup detect flag
  78.    Uint16 PE:1;              // 2      Parity error flag
  79.    Uint16 OE:1;              // 3      Overrun error flag
  80.    Uint16 FE:1;              // 4      Framing error flag
  81.    Uint16 BRKDT:1;           // 5      Break-detect flag   
  82.    Uint16 RXRDY:1;           // 6      Receiver ready flag
  83.    Uint16 RXERROR:1;         // 7      Receiver error flag
  84. }; 
  85. union SCIRXST_REG {
  86.    Uint16               all;
  87.    struct SCIRXST_BITS  bit;
  88. };
  89. //----------------------------------------------------
  90. // SCIRXBUF Receiver Data Buffer with FIFO bit definitions:
  91. // 
  92. struct  SCIRXBUF_BITS {      // bits   description
  93.    Uint16 RXDT:8;            // 7:0    Receive word
  94.    Uint16 rsvd:6;            // 13:8   reserved
  95.    Uint16 SCIFFPE:1;         // 14     SCI PE error in FIFO mode
  96.    Uint16 SCIFFFE:1;         // 15     SCI FE error in FIFO mode
  97. };
  98. union SCIRXBUF_REG {
  99.    Uint16                all;
  100.    struct SCIRXBUF_BITS  bit;
  101. };
  102. //--------------------------------------------------
  103. // SCIPRI Priority control register bit definitions:
  104. // 
  105. //
  106.                                                    
  107. struct  SCIPRI_BITS {        // bit    description
  108.    Uint16 rsvd:3;            // 2:0    reserved
  109.    Uint16 FREE:1;            // 3      Free emulation suspend mode
  110.    Uint16 SOFT:1;            // 4      Soft emulation suspend mode
  111.    Uint16 rsvd1:3;           // 7:5    reserved
  112. }; 
  113. union SCIPRI_REG {
  114.    Uint16              all;
  115.    struct SCIPRI_BITS  bit;
  116. };
  117. //-------------------------------------------------
  118. // SCI FIFO Transmit register bit definitions:
  119. // 
  120. //
  121.                                                   
  122. struct  SCIFFTX_BITS {       // bit    description
  123.    Uint16 TXFFILIL:5;        // 4:0    Interrupt level
  124.    Uint16 TXFFIENA:1;        // 5      Interrupt enable
  125.    Uint16 TXINTCLR:1;        // 6      Clear INT flag
  126.    Uint16 TXFFINT:1;         // 7      INT flag
  127.    Uint16 TXFFST:5;          // 12:8   FIFO status
  128.    Uint16 TXFIFOXRESET:1;    // 13     FIFO reset
  129.    Uint16 SCIFFENA:1;        // 14     Enhancement enable
  130.    Uint16 SCIRST:1;          // 15     SCI reset rx/tx channels 
  131. }; 
  132. union SCIFFTX_REG {
  133.    Uint16               all;
  134.    struct SCIFFTX_BITS  bit;
  135. };
  136. //------------------------------------------------
  137. // SCI FIFO recieve register bit definitions:
  138. // 
  139. //
  140.                                                
  141. struct  SCIFFRX_BITS {       // bits   description
  142.    Uint16 RXFFIL:5;          // 4:0    Interrupt level
  143.    Uint16 RXFFIENA:1;        // 5      Interrupt enable
  144.    Uint16 RXFFINTCLR:1;      // 6      Clear INT flag
  145.    Uint16 RXFFINT:1;         // 7      INT flag
  146.    Uint16 RXFIFST:5;         // 12:8   FIFO status
  147.    Uint16 RXFIFORESET:1;     // 13     FIFO reset
  148.    Uint16 RXFFOVRCLR:1;      // 14     Clear overflow
  149.    Uint16 RXFFOVF:1;         // 15     FIFO overflow
  150. }; 
  151. union SCIFFRX_REG {
  152.    Uint16               all;
  153.    struct SCIFFRX_BITS  bit;
  154. };
  155. // SCI FIFO control register bit definitions:
  156. struct  SCIFFCT_BITS {     // bits   description
  157.    Uint16 FFTXDLY:8;         // 7:0    FIFO transmit delay
  158.    Uint16 rsvd:5;            // 12:8   reserved
  159.    Uint16 CDC:1;             // 13     Auto baud mode enable
  160.    Uint16 ABDCLR:1;          // 14     Auto baud clear
  161.    Uint16 ABD:1;             // 15     Auto baud detect
  162. };
  163. union SCIFFCT_REG {
  164.    Uint16               all;
  165.    struct SCIFFCT_BITS  bit;
  166. };
  167. //---------------------------------------------------------------------------
  168. // SCI Register File:
  169. //
  170. struct  SCI_REGS {
  171.    union SCICCR_REG     SCICCR;     // Communications control register
  172.    union SCICTL1_REG    SCICTL1;    // Control register 1
  173.    Uint16               SCIHBAUD;   // Baud rate (high) register
  174.    Uint16               SCILBAUD;   // Baud rate (low) register
  175.    union SCICTL2_REG    SCICTL2;    // Control register 2
  176.    union SCIRXST_REG    SCIRXST;    // Recieve status register
  177.    Uint16               SCIRXEMU;   // Recieve emulation buffer register
  178.    union SCIRXBUF_REG   SCIRXBUF;   // Recieve data buffer  
  179.    Uint16               rsvd1;      // reserved
  180.    Uint16               SCITXBUF;   // Transmit data buffer 
  181.    union SCIFFTX_REG    SCIFFTX;    // FIFO transmit register
  182.    union SCIFFRX_REG    SCIFFRX;    // FIFO recieve register
  183.    union SCIFFCT_REG    SCIFFCT;    // FIFO control register
  184.    Uint16               rsvd2;      // reserved
  185.    Uint16               rsvd3;      // reserved
  186.    union SCIPRI_REG     SCIPRI;     // FIFO Priority control   
  187. };
  188. //---------------------------------------------------------------------------
  189. // SCI External References & Function Declarations:
  190. //
  191. extern volatile struct SCI_REGS SciaRegs;
  192. extern volatile struct SCI_REGS ScibRegs;
  193. #ifdef __cplusplus
  194. }
  195. #endif /* extern "C" */
  196. #endif  // end of DSP281x_SCI_H definition
  197. //===========================================================================
  198. // No more.
  199. //===========================================================================