虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

Wave<b>Form</b>

  • net_tcp.h

    /* ********************************************************************************************************* *                                             uC/TCP-IP V2 *                                      The Embedded TCP/IP Suite * *                          (c) Copyright 2003-2010; Micrium, Inc.; Weston, FL * *               All rights reserved.  Protected by international copyright laws. * *               uC/TCP-IP is provided in source form to registered licensees ONLY.  It is  *               illegal to distribute this source code to any third party unless you receive  *               written permission by an authorized Micrium representative.  Knowledge of  *               the source code may NOT be used to develop a similar product. * *               Please help us continue to provide the Embedded community with the finest  *               software available.  Your honesty is greatly appreciated. * *               You can contact us at www.micrium.com. ********************************************************************************************************* */ /* ********************************************************************************************************* * *                                          NETWORK TCP LAYER *                                   (TRANSMISSION CONTROL PROTOCOL) * * Filename      : net_tcp.h * Version       : V2.10 * Programmer(s) : ITJ ********************************************************************************************************* * Note(s)       : (1) Supports Transmission Control Protocol as described in RFC #793 with the following *                     restrictions/constraints : * *                     (a) TCP Security & Precedence NOT supported               RFC # 793, Section 3.6 * *                     (b) TCP Urgent Data           NOT supported               RFC # 793, Section 3.7 *                                                                                'The Communication of *                                                                                  Urgent Information' * *                     (c) The following TCP options NOT supported :              * *                         (1) Window Scale                                      RFC #1072, Section 2 *                                                                               RFC #1323, Section 2 *                         (2) Selective Acknowledgement (SACK)                  RFC #1072, Section 3 *                                                                               RFC #2018 *                                                                               RFC #2883 *                         (3) TCP Echo                                          RFC #1072, Section 4 *                         (4) Timestamp                                         RFC #1323, Section 3.2 *                         (5) Protection Against Wrapped Sequences (PAWS)       RFC #1323, Section 4 * *                     (d) #### IP-Options-to-TCP-Connection                     RFC #1122, Section 4.2.3.8 *                                Handling NOT           supported * *                     (e) #### ICMP-Error-Message-to-TCP-Connection             RFC #1122, Section 4.2.3.9 *                                Handling NOT currently supported * *                 (2) TCP Layer assumes/requires Network Socket Layer (see 'net_sock.h  MODULE  Note #1a2'). ********************************************************************************************************* */ /*$PAGE*/ /* ********************************************************************************************************* *                                               MODULE * * Note(s) : (1) TCP Layer module is NOT required for UDP-to-Application API configuration. * *               See also 'net_cfg.h  TRANSPORT LAYER CONFIGURATION' *                      & 'net_cfg.h  USER DATAGRAM PROTOCOL LAYER CONFIGURATION'. * *               See also 'net_tcp.h  Note #2'. * *           (2) The following TCP-module-present configuration value MUST be pre-#define'd in  *               'net_cfg_net.h' PRIOR to all other network modules that require TCP Layer *               configuration (see 'net_cfg_net.h  TCP LAYER CONFIGURATION  Note #2b') : * *                   NET_TCP_MODULE_PRESENT ********************************************************************************************************* */ #ifdef   NET_TCP_MODULE_PRESENT                                 /* See Note #2.                                         */ /* ********************************************************************************************************* *                                               EXTERNS ********************************************************************************************************* */ #if ((defined(NET_TCP_MODULE)) && \      (defined(NET_GLOBALS_EXT))) #define  NET_TCP_EXT #else #define  NET_TCP_EXT  extern #endif /*$PAGE*/ /* ********************************************************************************************************* *                                               DEFINES ********************************************************************************************************* */ /* ********************************************************************************************************* *                                         TCP HEADER DEFINES * * Note(s) : (1) The following TCP value MUST be pre-#define'd in 'net_def.h' PRIOR to 'net_buf.h' so that *               the Network Buffer Module can configure maximum buffer header size (see 'net_def.h  TCP *               LAYER DEFINES' & 'net_buf.h  NETWORK BUFFER INDEX & SIZE DEFINES  Note #1') : * *               (a) NET_TCP_HDR_SIZE_MAX                  60        (NET_TCP_HDR_LEN_MAX *                                                                  * NET_TCP_HDR_LEN_WORD_SIZE) * *           (2) Urgent pointer & data NOT supported (see 'net_tcp.h  Note #1b'). ********************************************************************************************************* */ #define  NET_TCP_HDR_LEN_MASK                         0xF000u #define  NET_TCP_HDR_LEN_SHIFT                            12u #define  NET_TCP_HDR_LEN_NONE                              0u #define  NET_TCP_HDR_LEN_MIN                               5u #define  NET_TCP_HDR_LEN_MAX                              15u #define  NET_TCP_HDR_LEN_WORD_SIZE                       CPU_WORD_SIZE_32 #define  NET_TCP_HDR_SIZE_MIN                           (NET_TCP_HDR_LEN_MIN * NET_TCP_HDR_LEN_WORD_SIZE) #if 0                                                           /* See Note #1a.                                        */ #define  NET_TCP_HDR_SIZE_MAX                           (NET_TCP_HDR_LEN_MAX * NET_TCP_HDR_LEN_WORD_SIZE) #endif #define  NET_TCP_HDR_SIZE_TOT_MIN                       (NET_IP_HDR_SIZE_TOT_MIN + NET_TCP_HDR_SIZE_MIN) #define  NET_TCP_HDR_SIZE_TOT_MAX                       (NET_IP_HDR_SIZE_TOT_MAX + NET_TCP_HDR_SIZE_MAX) #define  NET_TCP_PSEUDO_HDR_SIZE                          12u   /*  = sizeof(NET_TCP_PSEUDO_HDR)                        */ #define  NET_TCP_PORT_NBR_RESERVED                       NET_PORT_NBR_RESERVED #define  NET_TCP_PORT_NBR_NONE                           NET_TCP_PORT_NBR_RESERVED #define  NET_TCP_HDR_URG_PTR_NONE                     0x0000u   /* See Note #2.                                         */ /*$PAGE*/ /* ********************************************************************************************************* *                                       TCP HEADER FLAG DEFINES * * Note(s) : (1) See 'TCP HEADER  Note #2' for flag fields. * *           (2) Urgent pointer & data NOT supported (see 'net_tcp.h  Note #1b'). ********************************************************************************************************* */ #define  NET_TCP_HDR_FLAG_MASK                        0x0FFFu #define  NET_TCP_HDR_FLAG_NONE                    DEF_BIT_NONE #define  NET_TCP_HDR_FLAG_RESERVED                    0x0FE0u   /* MUST be '0'.                                         */ #define  NET_TCP_HDR_FLAG_URGENT                  DEF_BIT_05    /* See Note #2.                                         */ #define  NET_TCP_HDR_FLAG_ACK                     DEF_BIT_04 #define  NET_TCP_HDR_FLAG_PUSH                    DEF_BIT_03 #define  NET_TCP_HDR_FLAG_RESET                   DEF_BIT_02 #define  NET_TCP_HDR_FLAG_SYNC                    DEF_BIT_01 #define  NET_TCP_HDR_FLAG_FIN                     DEF_BIT_00 #define  NET_TCP_HDR_FLAG_CLOSE                   NET_TCP_HDR_FLAG_FIN /* ********************************************************************************************************* *                                          TCP FLAG DEFINES ********************************************************************************************************* */                                                                 /* ------------------ NET TCP FLAGS ------------------- */ #define  NET_TCP_FLAG_NONE                        DEF_BIT_NONE #define  NET_TCP_FLAG_USED                        DEF_BIT_00    /* TCP conn cur used; i.e. NOT in free TCP conn pool.   */                                                                 /* ------------------ TCP TX  FLAGS ------------------- */                                                                 /* TCP tx flags copied from TCP hdr flags.              */ #define  NET_TCP_FLAG_TX_FIN                      NET_TCP_HDR_FLAG_FIN #define  NET_TCP_FLAG_TX_CLOSE                    NET_TCP_FLAG_TX_FIN #define  NET_TCP_FLAG_TX_SYNC                     NET_TCP_HDR_FLAG_SYNC #define  NET_TCP_FLAG_TX_RESET                    NET_TCP_HDR_FLAG_RESET #define  NET_TCP_FLAG_TX_PUSH                     NET_TCP_HDR_FLAG_PUSH #define  NET_TCP_FLAG_TX_ACK                      NET_TCP_HDR_FLAG_ACK #define  NET_TCP_FLAG_TX_URGENT                   NET_TCP_HDR_FLAG_URGENT #define  NET_TCP_FLAG_TX_BLOCK                    DEF_BIT_07                                                                 /* ------------------ TCP RX  FLAGS ------------------- */ #define  NET_TCP_FLAG_RX_DATA_PEEK                DEF_BIT_08 #define  NET_TCP_FLAG_RX_BLOCK                    DEF_BIT_15 /*$PAGE*/ /* ********************************************************************************************************* *                                          TCP TYPE DEFINES * * Note(s) : (1) NET_TCP_TYPE_&&& #define values specifically chosen as ASCII representations of the TCP *               types.  Memory displays of TCP types will display with their chosen ASCII names. ********************************************************************************************************* */                                                                 /* ------------------ NET TCP TYPES ------------------- */ #if     (CPU_CFG_ENDIAN_TYPE == CPU_ENDIAN_TYPE_BIG) #define  NET_TCP_TYPE_NONE                        0x4E4F4E45u   /* "NONE" in ASCII.                                     */ #define  NET_TCP_TYPE_CONN                        0x54435020u   /* "TCP " in ASCII.                                     */ #else #if     (CPU_CFG_DATA_SIZE   == CPU_WORD_SIZE_32) #define  NET_TCP_TYPE_NONE                        0x454E4F4Eu   /* "NONE" in ASCII.                                     */ #define  NET_TCP_TYPE_CONN                        0x20504354u   /* "TCP " in ASCII.                                     */ #elif   (CPU_CFG_DATA_SIZE   == CPU_WORD_SIZE_16) #define  NET_TCP_TYPE_NONE                        0x4F4E454Eu   /* "NONE" in ASCII.                                     */ #define  NET_TCP_TYPE_CONN                        0x43542050u   /* "TCP " in ASCII.                                     */ #else                                                           /* Dflt CPU_WORD_SIZE_08.                               */ #define  NET_TCP_TYPE_NONE                        0x4E4F4E45u   /* "NONE" in ASCII.                                     */ #define  NET_TCP_TYPE_CONN                        0x54435020u   /* "TCP " in ASCII.                                     */ #endif #endif /* ********************************************************************************************************* *                                     TCP SEQUENCE NUMBER DEFINES * * Note(s) : (1) TCP initial transmit sequence number is incremented by a fixed value, preferably a large *               prime value or a large value with multiple unique factors. * *               (a) One reasonable TCP initial transmit sequence number increment value example : * *                       65527  =  37 * 23 * 11 * 7 * * *               #### NET_TCP_TX_SEQ_NBR_CTR_INC could be developer-configured in 'net_cfg.h'. * *               See also 'NET_TCP_TX_GET_SEQ_NBR()  Notes #1b2 & #1c2'. ********************************************************************************************************* */ #define  NET_TCP_SEQ_NBR_NONE                              0u #define  NET_TCP_ACK_NBR_NONE                            NET_TCP_SEQ_NBR_NONE #define  NET_TCP_TX_SEQ_NBR_CTR_INC                    65527u   /* See Note #1.                                         */ #define  NET_TCP_ACK_NBR_DUP_WIN_SIZE_SCALE                4 /*$PAGE*/ /* ********************************************************************************************************* *                                    TCP DATA/TOTAL LENGTH DEFINES * * Note(s) : (1) (a) TCP total length #define's (NET_TCP_TOT_LEN)  relate to the total size of a complete *                   TCP packet, including the packet's TCP header.  Note that a complete TCP packet MAY *                   be fragmented in multiple Internet Protocol packets. * *               (b) TCP data  length #define's (NET_TCP_DATA_LEN) relate to the data  size of a complete *                   TCP packet, equal to the total TCP packet length minus its TCP header size.  Note  *                   that a complete TCP packet MAY be fragmented in multiple Internet Protocol packets. ********************************************************************************************************* */                                                                                 /* See Notes #1a & #1b.                 */ #define  NET_TCP_DATA_LEN_MIN                              0u #define  NET_TCP_TOT_LEN_MIN                            (NET_TCP_HDR_SIZE_MIN + NET_TCP_DATA_LEN_MIN) #define  NET_TCP_TOT_LEN_MAX                            (NET_IP_TOT_LEN_MAX   - NET_IP_HDR_SIZE_MIN ) #define  NET_TCP_DATA_LEN_MAX                           (NET_TCP_TOT_LEN_MAX  - NET_TCP_HDR_SIZE_MIN) /*$PAGE*/ /* ********************************************************************************************************* *                                      TCP SEGMENT SIZE DEFINES * * Note(s) : (1) (a) RFC # 879, Section 3 states that the TCP Maximum Segment Size "counts only *                   data octets in the segment, ... not the TCP header or the IP header". * *               (b) RFC #1122, Section 4.2.2.6 requires that : * *                   (1) "The MSS value to be sent in an MSS option must be less than or equal to * *                        (A) MMS_R - 20 * *                        where MMS_R is the maximum size for a transport-layer message that can *                        be received." * *                   (2) "If an MSS option is not received at connection setup, TCP MUST assume a *                        default send MSS of 536 (576 - 40)." * *                   See also 'net_ip.h  IP DATA/TOTAL LENGTH DEFINES  Note #1'. ********************************************************************************************************* */                                                                                         /* See Note #1.                 */ #define  NET_TCP_MAX_SEG_SIZE_DFLT                      (NET_IP_MAX_DATAGRAM_SIZE_DFLT - NET_IP_HDR_SIZE_MIN - NET_TCP_HDR_SIZE_MIN) #define  NET_TCP_MAX_SEG_SIZE_DFLT_RX                    NET_TCP_DATA_LEN_MAX           /* See Note #1b1.               */ #define  NET_TCP_MAX_SEG_SIZE_DFLT_TX                    NET_TCP_MAX_SEG_SIZE_DFLT      /* See Note #1b2.               */ #define  NET_TCP_MAX_SEG_SIZE_NONE                         0u #define  NET_TCP_MAX_SEG_SIZE_MIN                        NET_TCP_MAX_SEG_SIZE_DFLT #define  NET_TCP_MAX_SEG_SIZE_MAX                        NET_TCP_DATA_LEN_MAX #define  NET_TCP_SEG_LEN_MIN                             NET_TCP_DATA_LEN_MIN #define  NET_TCP_SEG_LEN_MAX                             NET_TCP_DATA_LEN_MAX #define  NET_TCP_SEG_LEN_SYNC                              1u #define  NET_TCP_SEG_LEN_FIN                               1u #define  NET_TCP_SEG_LEN_CLOSE                           NET_TCP_SEG_LEN_FIN #define  NET_TCP_SEG_LEN_ACK                               0u #define  NET_TCP_SEG_LEN_RESET                             0u #define  NET_TCP_SEG_LEN_PROBE                             0u #define  NET_TCP_DATA_LEN_TX_SYNC                          0u #define  NET_TCP_DATA_LEN_TX_FIN                           0u #define  NET_TCP_DATA_LEN_TX_CLOSE                       NET_TCP_DATA_LEN_TX_FIN #define  NET_TCP_DATA_LEN_TX_ACK                           0u #define  NET_TCP_DATA_LEN_TX_PROBE_NO_DATA                 0u #define  NET_TCP_DATA_LEN_TX_PROBE_DATA                    1u #define  NET_TCP_DATA_LEN_TX_RESET                         0u #define  NET_TCP_TX_PROBE_DATA                          0x00u /* ********************************************************************************************************* *                                       TCP WINDOW SIZE DEFINES * * Note(s) : (1) Although NO RFC specifies the absolute minimum TCP connection window size value allowed, *               RFC #793, Section 3.7 'Data Communication : Managing the Window' states that for "the *               window ... there is an assumption that this is related to the currently available data *               buffer space available for this connection". ********************************************************************************************************* */ #define  NET_TCP_WIN_SIZE_NONE                             0u #define  NET_TCP_WIN_SIZE_MIN                            NET_TCP_MAX_SEG_SIZE_MIN #define  NET_TCP_WIN_SIZE_MAX                            DEF_INT_16U_MAX_VAL /*$PAGE*/ /* ********************************************************************************************************* *                                     TCP HEADER OPTIONS DEFINES * * Note(s) : (1) See the following RFC's for TCP options summary : * *               (a) RFC # 793, Section  3.1 'Header Format : Options' *               (b) RFC #1122; Sections 4.2.2.5, 4.2.2.6 * *           (2) TCP option types are encoded in the first octet for each TCP option as follows : * *                           -------- *                           | TYPE | *                           -------- * *               The TCP option type value determines the TCP option format : * *               (a) The following TCP option types are single-octet TCP options -- i.e. the option type *                   octet is the ONLY octet for the TCP option. * *                   (1) TYPE =  0   End of Options List *                   (2) TYPE =  1   No Operation * * *               (b) All other TCP options MUST be multi-octet TCP options (see RFC #1122, Section 4.2.2.5) : * *                           ------------------------------ *                           | TYPE | LEN  |   TCP OPT    | *                           ------------------------------ * *                       where  *                               TYPE        Indicates the specific TCP option type *                               LEN         Indicates the total    TCP option length, in octets, including  *                                                the option type & the option length octets *                               TCP OPT     Additional TCP option octets, if any, that contain the remaining *                                                TCP option information * *                   The following TCP option types are multi-octet TCP options where the option's second *                   octet specify the total TCP option length, in octets, including the option type & the *                   option length octets : * *                   (1) TYPE =  2   Maximum Segment Size        See RFC # 793, Section  3.1 'Header Format : *                                                                   Options : Maximum Segment Size'; *                                                                   RFC #1122, Section 4.2.2.6; *                                                                   RFC # 879, Section 3 * *                   (2) TYPE =  3   Window  Scale               See 'net_tcp.h  Note #1c1' *                   (3) TYPE =  4   SACK Allowed                See 'net_tcp.h  Note #1c2' *                   (4) TYPE =  5   SACK Option                 See 'net_tcp.h  Note #1c2' *                   (5) TYPE =  6   Echo Request                See 'net_tcp.h  Note #1c3' *                   (6) TYPE =  7   Echo Reply                  See 'net_tcp.h  Note #1c3' *                   (7) TYPE =  8   Timestamp                   See 'net_tcp.h  Note #1c4' * *           (3) TCP header allows for a maximum option list length of 40 octets : * *                   NET_TCP_HDR_OPT_SIZE_MAX = NET_TCP_HDR_SIZE_MAX - NET_TCP_HDR_SIZE_MIN * *                                            = 60 - 20 * *                                            = 40 * *           (4) 'NET_TCP_OPT_SIZE'  MUST be pre-defined PRIOR to all definitions that require TCP option  *                size data type. ********************************************************************************************************* */ /*$PAGE*/ #define  NET_TCP_HDR_OPT_END_LIST                          0u #define  NET_TCP_HDR_OPT_NOP                               1u #define  NET_TCP_HDR_OPT_MAX_SEG_SIZE                      2u #define  NET_TCP_HDR_OPT_WIN_SCALE                         3u #define  NET_TCP_HDR_OPT_SACK_PERMIT                       4u #define  NET_TCP_HDR_OPT_SACK                              5u #define  NET_TCP_HDR_OPT_ECHO_REQ                          6u #define  NET_TCP_HDR_OPT_ECHO_REPLY                        7u #define  NET_TCP_HDR_OPT_TS                                8u #define  NET_TCP_HDR_OPT_PAD                             NET_TCP_HDR_OPT_END_LIST #define  NET_TCP_HDR_OPT_LEN_END_LIST                      1u #define  NET_TCP_HDR_OPT_LEN_NOP                           1u #define  NET_TCP_HDR_OPT_LEN_MAX_SEG_SIZE                  4u #define  NET_TCP_HDR_OPT_LEN_WIN_SCALE                     3u #define  NET_TCP_HDR_OPT_LEN_SACK_PERMIT                   2u #define  NET_TCP_HDR_OPT_LEN_ECHO_REQ                      6u #define  NET_TCP_HDR_OPT_LEN_ECHO_REPLY                    6u #define  NET_TCP_HDR_OPT_LEN_TS                           10u #define  NET_TCP_HDR_OPT_LEN_SACK_MIN                      6u #define  NET_TCP_HDR_OPT_LEN_SACK_MAX                     38u #define  NET_TCP_HDR_OPT_LEN_MIN                           1u #define  NET_TCP_HDR_OPT_LEN_MIN_LEN                       2u #define  NET_TCP_HDR_OPT_LEN_MAX                          38u typedef  CPU_INT32U  NET_TCP_OPT_SIZE;                          /* TCP opt size data type (see Note #4).                */ #define  NET_TCP_HDR_OPT_SIZE_WORD               (sizeof(NET_TCP_OPT_SIZE)) #define  NET_TCP_HDR_OPT_SIZE_MAX                       (NET_TCP_HDR_SIZE_MAX - NET_TCP_HDR_SIZE_MIN) #define  NET_TCP_HDR_OPT_NBR_MIN                           0u #define  NET_TCP_HDR_OPT_NBR_MAX                        (NET_TCP_HDR_OPT_SIZE_MAX / NET_TCP_HDR_OPT_SIZE_WORD) #define  NET_TCP_HDR_OPT_IX                              NET_TCP_HDR_SIZE_MIN /*$PAGE*/ /* ********************************************************************************************************* *                                TCP OPTION CONFIGURATION TYPE DEFINES * * Note(s) : (1) NET_TCP_OPT_CFG_TYPE_&&& #define values specifically chosen as ASCII representations of  *               the TCP option configuration types.  Memory displays of TCP option configuration buffers  *               will display the TCP option configuration TYPEs with their chosen ASCII names. ********************************************************************************************************* */                                                                 /* ---------------- TCP OPT CFG TYPES ----------------- */ #if     (CPU_CFG_ENDIAN_TYPE == CPU_ENDIAN_TYPE_BIG) #define  NET_TCP_OPT_CFG_TYPE_NONE                0x4E4F4E45u   /* "NONE" in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE        0x4D535320u   /* "MSS " in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_WIN_SCALE           0x57494E20u   /* "WIN " in ASCII (see 'net_tcp.h  Note #1c1').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK_PERMIT         0x53434B50u   /* "SCKP" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK                0x5341434Bu   /* "SACK" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REQ            0x45524551u   /* "EREQ" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REPLY          0x4543484Fu   /* "ECHO" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_TS                  0x54532020u   /* "TS  " in ASCII (see 'net_tcp.h  Note #1c4').        */ #else #if     (CPU_CFG_DATA_SIZE   == CPU_WORD_SIZE_32) #define  NET_TCP_OPT_CFG_TYPE_NONE                0x454E4F4Eu   /* "NONE" in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE        0x2053534Du   /* "MSS " in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_WIN_SCALE           0x204E4957u   /* "WIN " in ASCII (see 'net_tcp.h  Note #1c1').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK_PERMIT         0x504B4353u   /* "SCKP" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK                0x4B434153u   /* "SACK" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REQ            0x51455245u   /* "EREQ" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REPLY          0x4F484345u   /* "ECHO" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_TS                  0x20205354u   /* "TS  " in ASCII (see 'net_tcp.h  Note #1c4').        */ #elif   (CPU_CFG_DATA_SIZE   == CPU_WORD_SIZE_16) #define  NET_TCP_OPT_CFG_TYPE_NONE                0x4F4E454Eu   /* "NONE" in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE        0x534D2053u   /* "MSS " in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_WIN_SCALE           0x4957204Eu   /* "WIN " in ASCII (see 'net_tcp.h  Note #1c1').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK_PERMIT         0x4353504Bu   /* "SCKP" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK                0x41534B43u   /* "SACK" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REQ            0x52455145u   /* "EREQ" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REPLY          0x43454F48u   /* "ECHO" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_TS                  0x53542020u   /* "TS  " in ASCII (see 'net_tcp.h  Note #1c4').        */ #else                                                           /* Dflt CPU_WORD_SIZE_08.                               */ #define  NET_TCP_OPT_CFG_TYPE_NONE                0x4E4F4E45u   /* "NONE" in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_MAX_SEG_SIZE        0x4D535320u   /* "MSS " in ASCII.                                     */ #define  NET_TCP_OPT_CFG_TYPE_WIN_SCALE           0x57494E20u   /* "WIN " in ASCII (see 'net_tcp.h  Note #1c1').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK_PERMIT         0x53434B50u   /* "SCKP" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_SACK                0x5341434Bu   /* "SACK" in ASCII (see 'net_tcp.h  Note #1c2').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REQ            0x45524551u   /* "EREQ" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_ECHO_REPLY          0x4543484Fu   /* "ECHO" in ASCII (see 'net_tcp.h  Note #1c3').        */ #define  NET_TCP_OPT_CFG_TYPE_TS                  0x54532020u   /* "TS  " in ASCII (see 'net_tcp.h  Note #1c4').        */ #endif #endif /*$PAGE*/ /* ********************************************************************************************************* *                                   TCP CONNECTION TIMEOUT DEFINES * * Note(s) : (1) (a) (1) RFC #1122, Section 4.2.2.13 'DISCUSSION' states that "the graceful close algorithm *                       of TCP requires that the connection state remain defined on (at least) one end of *                       the connection, for a timeout period of 2xMSL ... During this period, the (remote  *                       socket, local socket) pair that defines the connection is busy and cannot be reused". * *                   (2) The following sections reiterate that the TIME-WAIT state timeout scalar is two *                       maximum segment lifetimes (2 MSL) : * *                       (A) RFC #793, Section 3.9 'Event Processing : SEGMENT ARRIVES : *                               Check Sequence Number : TIME-WAIT STATE' *                       (B) RFC #793, Section 3.9 'Event Processing : SEGMENT ARRIVES : *                               Check FIN Bit         : TIME-WAIT STATE' * *               (b) (1) RFC #793, Section 3.3 'Sequence Numbers : Knowing When to Keep Quiet' states that *                       "the Maximum Segment Lifetime (MSL) is ... to be 2 minutes.  This is an engineering *                       choice, and may be changed if experience indicates it is desirable to do so". * *                   (2) Microsoft Corporation's Windows XP defaults MSL to 15 seconds. ********************************************************************************************************* */                                                                                     /* Max seg timeout (see Note #1b) : */ #define  NET_TCP_CONN_TIMEOUT_MAX_SEG_MIN_SEC   (  0u                           )   /* ... min  =  0 seconds            */ #define  NET_TCP_CONN_TIMEOUT_MAX_SEG_MAX_SEC   (  2u * DEF_TIME_NBR_SEC_PER_MIN)   /* ... max  =  2 minutes            */ #define  NET_TCP_CONN_TIMEOUT_MAX_SEG_DFLT_SEC  ( 15u                           )   /* ... dflt = 15 seconds            */ #define  NET_TCP_CONN_TIMEOUT_MAX_SEG_SCALAR       2u                               /* ... scalar (see Note #1a).       */ #define  NET_TCP_CONN_TIMEOUT_CONN_DFLT_SEC     (120u * DEF_TIME_NBR_SEC_PER_MIN)   /* Dflt conn timeout = 120 minutes  */ #define  NET_TCP_CONN_TIMEOUT_USER_DFLT_SEC     ( 30u * DEF_TIME_NBR_SEC_PER_MIN)   /* Dflt user timeout =  30 minutes  */ /*$PAGE*/ /* ********************************************************************************************************* *                                        TCP CONNECTION STATES * * Note(s) : (1) See the following RFC's for TCP state machine summary : * *               (a) RFC # 793; Sections 3.2, 3.4, 3.5, 3.9 *               (b) RFC #1122; Sections 4.2.2.8, 4.2.2.10, 4.2.2.11, 4.2.2.13, 4.2.2.18, 4.2.2.20 * *           (2) (a) #### Additional closing-data-available state used for closing connections to allow the *                   application layer to receive any remaining data. * *                   See also 'net_tcp.c  NetTCP_RxPktConnHandlerFinWait1()  Note #2f5A2', *                            'net_tcp.c  NetTCP_RxPktConnHandlerFinWait2()  Note #2f5B', *                            'net_tcp.c  NetTCP_RxPktConnHandlerClosing()   Note #2d2B2a1B', *                          & 'net_tcp.c  NetTCP_RxPktConnHandlerLastAck()   Note #2d2A1b'. ********************************************************************************************************* */ #define  NET_TCP_CONN_STATE_NONE                           0u #define  NET_TCP_CONN_STATE_FREE                           1u #define  NET_TCP_CONN_STATE_CLOSED                        10u #define  NET_TCP_CONN_STATE_LISTEN                        20u #define  NET_TCP_CONN_STATE_SYNC_RXD                      30u #define  NET_TCP_CONN_STATE_SYNC_RXD_PASSIVE              31u #define  NET_TCP_CONN_STATE_SYNC_RXD_ACTIVE               32u #define  NET_TCP_CONN_STATE_SYNC_TXD                      35u #define  NET_TCP_CONN_STATE_CONN                          40u #define  NET_TCP_CONN_STATE_FIN_WAIT_1                    50u #define  NET_TCP_CONN_STATE_FIN_WAIT_2                    51u #define  NET_TCP_CONN_STATE_CLOSING                       52u #define  NET_TCP_CONN_STATE_TIME_WAIT                     53u #define  NET_TCP_CONN_STATE_CLOSE_WAIT                    55u #define  NET_TCP_CONN_STATE_LAST_ACK                      56u #define  NET_TCP_CONN_STATE_CLOSING_DATA_AVAIL            59u   /* See Note #2a.                                        */ /* ********************************************************************************************************* *                                     TCP CONNECTION QUEUE STATES ********************************************************************************************************* */ #define  NET_TCP_RX_Q_STATE_NONE                           0u #define  NET_TCP_RX_Q_STATE_CLOSED                       100u #define  NET_TCP_RX_Q_STATE_CLOSING                      101u #define  NET_TCP_RX_Q_STATE_SYNC                         110u #define  NET_TCP_RX_Q_STATE_CONN                         111u #define  NET_TCP_TX_Q_STATE_NONE                           0u #define  NET_TCP_TX_Q_STATE_CLOSED                       200u #define  NET_TCP_TX_Q_STATE_CLOSING                      201u #define  NET_TCP_TX_Q_STATE_SYNC                         210u #define  NET_TCP_TX_Q_STATE_CONN                         211u #define  NET_TCP_TX_Q_STATE_SUSPEND                      215u #define  NET_TCP_TX_Q_STATE_CLOSED_SUSPEND               220u #define  NET_TCP_TX_Q_STATE_CLOSING_SUSPEND              221u /*$PAGE*/ /* ********************************************************************************************************* *                                     TCP CONNECTION CODE DEFINES **************

    标签: tcp uCOS-II

    上传时间: 2015-11-22

    上传用户:the same kong

  • 应用ANSOFT-HFSS对曲面结构贴片天线的模拟

    结构体的具体尺寸如下所示:a=1.20h=0.620其中介质锥的介电常数E=2.0。选定工作频率为f=15GHz相对应的真空中的波长为0=20mm,这样结构体的儿何尺寸己经完全确定,下面介绍求解的全过程选定求解方式为(Solution Type)Driven modal1.建立所求结构体的几何模型(单位:mm)。由于此结构体的几何形状较简单,使用工具栏中的Draw命令可直接画出,这里不再赘述述。画出的结构体如图4.1.2所示。2.充结构体的材料选定结构体中的锥体部分,添加其介电常数Er=20的介质材料注:如果HSS中没有提供与所需参数完全相同的材料,用户可以通过新建材料或修改已有材料,使其参数满足用户需求设定结构体的边界条件及其激励源a.选定结构体的贴片部分,设定其为理想导体(PerE)。b.画出尺寸为X×Y×Z=70mm×70mm×40mm的长方体作为辐射边界,并设定其边界条件为辐射边界条件(Radiation Boundary)。c.由于要求出结构体的RCS,因此设定激励源为平面入射波(Incident Wave Source)。如图4.1.3所示。4.设定求解细节,检验并求解a.设定求解过程的工作频率为f=15GHz.其余细节设定如图4.1.4所示。b.设定远区辐射场的求解(Far Field Radiation Sphere栏的设定)。c.使用 Validation check命令进行检验,无错误发生,下一步运行命令 Analyze,对柱锥结构体进行求解。如图4.1.5和4.1.6所示。

    标签: ansoft 天线 hfss

    上传时间: 2022-03-10

    上传用户:

  • VIP专区-嵌入式/单片机编程源码精选合集系列(40)

    VIP专区-嵌入式/单片机编程源码精选合集系列(40)资源包含以下内容:1. epson公司的一个关于s1d13706的低层驱动程序.2. ads1.2的一个工程.3. 一些FPGA的扩展电路原理图.4. 一些DSP的c语言源程序.5. 凌阳单片机声控小车源码,对于想开发声控小车的人来说,是相当有用的.6. ATMEL的下载线制作和下载软件,有需要的可以来看.7. 一个比较老的C语言编译器,WAVE的老板本仿真器只能用他.8. LM8361、TMS3450、TMS1943数字钟电路.9. 该程序代码实现对Flash Rom AM29LV160烧写数据的功能.10. 嵌入PIC16F77的激光传感器程序RS485输出.11. PIC16F77单片机I2C读写程序.12. 这是家用摄像头的源程序.13. lwIP is a small independent implementation of the TCP/IP protocol suite that has been developed by.14. 详细的MiniGUI源代码.15. 日本的嵌入式实时操作系统UITRON3.0 该系统以得到几十亿片的应用业绩.16. IEC61131-3标准说明.17. 一线通讯协议的c51例子程序源代码.18. C字符串底层函数的实现。对一些想了解C的低层函数的人很有帮助.19. 使用vhdl语言编写的交通灯控制程序.20. 使用C语言编写的单片机控制LCD显示程序.21. 此程序是一底层开发驱动代码,里面包括了I2C芯片(MAX5417)及1 wire sensor、AD驱动的源代码!稍作改动就能用于自己的产品开发中!.22. 这是利用Mifare SDK开发的读写基于ISO14443标准RF卡的程序。.23. 这是用于Mifare卡开发的programmer reference和DLL文件.24. C51单片机用C语言编写的SPI例程.25. CPLD7256的例子程序.26. SUMSUNG S3C44B0X ARM7的一个RTC实时时钟的显示和修改的例程.27. 哈工大智能电动车软件的源代码.28. 这是有关单总线数字温度芯片DS18B20的keilC和ASM汇编的混合编程.29. 这是一个在51单片机上用汇编实现的除法程序。.30. Chapter 5 "Construction case with USB host system that handles USB controller SL811" sample progra.31. "TCP/IP + Ethernet network equipment design method" sample program.32. JAPAN "RTOS technology that learns with TOPPERS".33. JAPAN RTOS TOPPERS/JSP kernel 1.4 PreRelease simulation environment JSP kernel Windows simulation.34. 键盘扫描程序.35. pcb EMI 资料很好 是英文资料.36. PCB EMI 的防护的资料是英文的.37. pcb EMI 的防护的资料.38. pcb EMI 的防护的资料.39. pcb EMI 的防护的资料.40. pcb EMI 的防护的资料.

    标签: 液压系统 模拟机

    上传时间: 2013-06-12

    上传用户:eeworm

  • 基于ARM的网络视频监控系统设计与实现.rar

    近年来,随着多媒体技术、计算机网络与通信技术的的快速发展,传统的监控系统也不断向着新的发展方向进行着不断的更新与发展。进而随着嵌入式技术的出现以及人们对降低监控系统成本和提高可靠性的迫切需求,基于嵌入式系统的网络视频监控系统将成为新的研发热点。 本文的目的是把嵌入式技术与计算机网络技术相结合,构造一个性能稳定且具有较强处理能力的数字化远程视频监控系统。该监控系统以嵌入式Linux系统平台作为服务器端,服务器程序在其上以后台方式运行,等待监控系统环境中的客户机使用浏览器向其发送访问请求,实现在局域网乃至Internet网上对摄像头的远程控制。 文中把系统设计分为三大部分:系统硬件设计、嵌入式Linux在硬件平台的实现和系统软件设计。硬件设计部分首先提出了整个硬件系统的实现方案,接着详细介绍了S3C2410处理器与存储器、以太网控制器芯片以及USB和串口的接口电路设计;第二部分详细叙述了嵌入式Linux在本系统硬件平台的移植实现及应用程序的开发特点,重点讲述了本系统平台上Linux的引导加载程序Bootloader的设计过程;系统软件部分首先介绍了USB接口摄像头驱动在嵌入式Linux下的实现,重点讲述了Video4Linux下视频采集的实现,接着论述了如何实现图像的JPEG压缩,最后针对基于B/S模式的网络通信系统结构,详细阐述了网络通信的具体实现过程和方法。 最后在办公室局域网通过对系统测试,显示了系统运行结果,实现了利用局域网或Internet网对远程环境进行监控的功能。

    标签: ARM 网络视频监控 系统设计

    上传时间: 2013-07-04

    上传用户:lgnf

  • 永磁同步发电机的电磁场分析.rar

    永磁同步发电机由于一系列高效节能的优点,在工农业生产、航空航天、国防和日常生活中得到广泛应用,并且受到许多学者的关注,其研究领域主要涉及永磁同步发电机的设计、精确性能分析、控制等方面。 本课题作为国家自然科学基金项目《无刷无励磁机谐波励磁的混合励磁永磁电机的研究》的课题,主要研究永磁电机的电磁场空载和负载计算,求出永磁电机的电压波形和电压调整率,为分段式转子的混合励磁永磁电机的研究奠定基础,主要做了以下工作: 首先介绍了永磁同步发电机的基本原理,包括永磁同步发电机的结构形式和永磁同步发电机的运行性能,采用传统解析理论给出了电压调整率的计算方法及外特性的计算模型;然后用有限元ANSYS对永磁同步发电机样机进行实体建模,经过定义分配材料、划分网格、加边界条件和载荷、求解计算等,得到矢量磁位Az、磁场强度H、磁感应强度B等结果,直观地看出电机内部的磁场分布情况。 其次根据电磁场计算结果,应用齿磁通法对其进行后处理。该方法求解转子在一个齿距内不同位置处的磁场,以定子齿的磁通为计算单位,根据绕组与齿的匝链关系,计算出磁链随时间的变化,进而得到永磁同步发电机空、负载时电压大小及波形。通过计算结果写实验结果对比,验证了齿磁通法的正确性,为计算永磁同步发电机各种性能特性提供有力工具。 最后,基于齿磁通法对永磁同步发电机的外特性进行了深入研究,定量分析了结构参数对外特性的影响规律,提出了有效降低电压调整率的方法的是:增加气隙长度g的同时,适当增加永磁体的磁化方向的长度hm;此外,要尽量的减少每相串联匝数N和增大导线面积以减小阻抗参数。通过改变电机的结构参数,对其电磁场进行计算,找到永磁电机电压调整率的变化规律,为加电励磁的混合励磁永磁电机做准备,达到稳定输出电压的目的。

    标签: 永磁同步 发电机 磁场分析

    上传时间: 2013-04-24

    上传用户:15853744528

  • 基于自适应时频分析方法的心音信号分析研究.rar

    心音信号是人体最重要的生理信号之一,包含心脏各个部分如心房、心室、大血管、心血管及各个瓣膜功能状态的大量生理病理信息。心音信号分析与识别是了解心脏和血管状态的一种不可缺少的手段。本文针对目前该研究领域中存在的分析方法问题和分类识别技术难点展开了深入的研究,内容涉及心音构成的分析、心音信号特征向量的提取、正常心音信号(NM)和房颤(AF)、主动脉回流(AR)、主动脉狭窄(AS)、二尖瓣回流(MR)4种心脏杂音信号的分类识别。本文的工作内容包括以下5个方面: a)心音信号采集与预处理。本文采用自行研制的带有录音机功能的听诊器实现对心音信号的采集。通过对心音信号噪声分析,选用小波降噪作为心音信号的滤波方法。根据实验分析,选择Donoho阈值函数结合多级阈值的方法作为心音信号预处理方案。 b)心音信号时频分析方法。文中采用5种时频分析方法分别对心音信号进行了时频谱特性分析,结果表明:不同的时频分析方法与待分析心音信号的特性有密切关系,即需要在小的交叉项干扰与高的时频分辨率之间作综合的考虑。鉴于此,本文提出了一种自适应锥形核时频(ATF)分析方法,通过实验验证该分布能较好地反映心音信号的时频结构,其性能优于一般锥形核分布(CKD)以及Choi-Williams分布(CWD)、谱图(SPEC)等固定核时频分析方法,从而选择自应锥形核时频分析方法进行心音信号分析。 c)心音信号特征向量提取。根据对3M Littmann() Stethoscopes[31]数据库中标准心音信号的时频分析结果,提取8组特征数据,通过Fihser降维处理方法提取出了实现分类可视化,且最易于分类的心音信号的2维特征向量,作为心音信号分类的特征向量。 d)心音信号分类方法。根据心音信号特征向量组成的散点图,研究了支持向量机核函数、多分类支持向量机的选取方法,同时,基于分类的目的 性和可信性,本文提出以分类精度最大为判断准则的核函数参数与松弛变量的优化方法,建立了心音信号分类的支持向量机模型,选取标准数据库中NM、AF、AR、AS、MR每类心音信号的80组2维特征向量中每类60组数据作为支持向量机的学习样本,对余下的每类20组数据进行测试,得到每类的分类精度(Ar)均为100%,同时对临床上采集的与上述4种同类心脏杂音信号和正常心音信号中每类24个心动周期进行分类实测,分类精度分别为:NM、AF、MR的分类精度均为100%,而AR、AS均为95.83%,验证了该方法的分类有效性。 e)心音信号分析与识别的软件系统。本文以MATLAB语言的可视化功能实现了心音信号分析与识别的软件运行平台构建,可完成对心音信号的读取、预处理,绘制时-频、能量特性的三维图及两维等高线图;同时,利用MATLAB与EXCEL的动态链接,实现对心音信号分析数据的存储以及统计功能;最后,通过对心音信号2维特征向量的分析,实现心音信号的自动识别功能。 本文的研究特色主要体现在心音信号特征向量提取的方法以及多分类支持向量机模型的建立两方面。 综上所述,本文从理论与实践两方面对心音信号进行了深入的研究,主要是采用自适应锥形核时频分析方法提取心音信号特征向量,根据心音信号特征向量组成的散点图,建立心音信号分类的支持向量机模型,并对正常心音信号和4种心脏杂音信号进行了分类研究,取得了较为满意的分类结果,但由于用于分类的心脏杂音信号种类及数据量尚不足,因此,今后的工作重点是采集更多种类的心脏杂音信号,进一步提高心音信号分类精度,使本文研究成果能最终应用于临床心脏量化听诊。 关键词:心音信号,小波降噪,非平稳信号,心脏杂音,信号处理,时频分析,自适应,支持向量机

    标签: 时频 分析方法

    上传时间: 2013-04-24

    上传用户:weixiao99

  • 永磁同步直线电机的矢量控制.rar

    本文分析了永磁同步直线电动机的运行机理与运行特性,并通过坐标变换,分别得出了电机在a—b—c,α—β、d—q坐标系下的数学模型。针对永磁同步直线电机模型的非线性与耦合特性,采用了次级磁场定向的矢量控制,并使id=0,不但解决了上述问题,还实现了最大推力电流比控制。为了获得平稳的推力,采用了SVPWM控制,并对它算法实现进行了研究。 针对速度环采用传统PID控制难以满足高性能矢量控制系统,通过对传统PID控制和模糊控制理论的研究,将两者相结合,设计出能够在线自整定的模糊PID控制器。将该控制器代替传统的PID控制器应用于速度环,以提高系统的动静态性能。 在以上分析的基础上,设计了永磁同步直线电机矢量控制系统的软、硬件。其中电流检测采用了新颖的电流传感器芯片IR2175,以解决温漂问题;速度检测采用了增量式光栅尺,设计了与DSP的接口电路,通过M/T法实现对电机的测速。最后在Matlab/Simlink下建立了电机及其矢量控制系统的仿真模型,并对分别采用传统PID速度控制器和模糊PID速度控制器的系统进行仿真,结果表明采用模糊PID控制具有更好的动态响应性能,能有效的抑制暂态和稳态下的推力脉动,对于负载扰动具有较强的鲁棒性。

    标签: 永磁同步 直线电机 矢量控制

    上传时间: 2013-07-04

    上传用户:13681659100

  • 射频与微波功率放大器设计.rar

    本书主要阐述设计射频与微波功率放大器所需的理论、方法、设计技巧,以及将分析计算与计算机辅助设计相结合的优化设计方法。这些方法提高了设计效率,缩短了设计周期。本书内容覆盖非线性电路设计方法、非线性主动设备建模、阻抗匹配、功率合成器、阻抗变换器、定向耦合器、高效率的功率放大器设计、宽带功率放大器及通信系统中的功率放大器设计。  本书适合从事射频与微波动功率放大器设计的工程师、研究人员及高校相关专业的师生阅读。 作者简介 Andrei Grebennikov是M/A—COM TYCO电子部门首席理论设计工程师,他曾经任教于澳大利亚Linz大学、新加坡微电子学院、莫斯科通信和信息技术大学。他目前正在讲授研究班课程,在该班上,本书作为国际微波年会论文集。 目录 第1章 双口网络参数  1.1 传统的网络参数  1.2 散射参数  1.3 双口网络参数间转换  1.4 双口网络的互相连接  1.5 实际的双口电路   1.5.1 单元件网络   1.5.2 π形和T形网络  1.6 具有公共端口的三口网络  1.7 传输线  参考文献 第2章 非线性电路设计方法  2.1 频域分析   2.1.1 三角恒等式法   2.1.2 分段线性近似法   2.1.3 贝塞尔函数法  2.2 时域分析  2.3 NewtOn.Raphscm算法  2.4 准线性法  2.5 谐波平衡法  参考文献 第3章 非线性有源器件模型  3.1 功率MOSFET管   3.1.1 小信号等效电路   3.1.2 等效电路元件的确定   3.1.3 非线性I—V模型   3.1.4 非线性C.V模型   3.1.5 电荷守恒   3.1.6 栅一源电阻   3.1.7 温度依赖性  3.2 GaAs MESFET和HEMT管   3.2.1 小信号等效电路   3.2.2 等效电路元件的确定   3.2.3 CIJrtice平方非线性模型   3.2.4 Curtice.Ettenberg立方非线性模型   3.2.5 Materka—Kacprzak非线性模型   3.2.6 Raytheon(Statz等)非线性模型   3.2.7 rrriQuint非线性模型   3.2.8 Chalmers(Angek)v)非线性模型   3.2.9 IAF(Bemth)非线性模型   3.2.10 模型选择  3.3 BJT和HBT汀管   3.3.1 小信号等效电路   3.3.2 等效电路中元件的确定   3.3.3 本征z形电路与T形电路拓扑之间的等效互换   3.3.4 非线性双极器件模型  参考文献 第4章 阻抗匹配  4.1 主要原理  4.2 Smith圆图  4.3 集中参数的匹配   4.3.1 双极UHF功率放大器   4.3.2 M0SFET VHF高功率放大器  4.4 使用传输线匹配   4.4.1 窄带功率放大器设计   4.4.2 宽带高功率放大器设计  4.5 传输线类型   4.5.1 同轴线   4.5.2 带状线   4.5.3 微带线   4.5.4 槽线   4.5.5 共面波导  参考文献 第5章 功率合成器、阻抗变换器和定向耦合器  5.1 基本特性  5.2 三口网络  5.3 四口网络  5.4 同轴电缆变换器和合成器  5.5 wilkinson功率分配器  5.6 微波混合桥  5.7 耦合线定向耦合器  参考文献 第6章 功率放大器设计基础  6.1 主要特性  6.2 增益和稳定性  6.3 稳定电路技术   6.3.1 BJT潜在不稳定的频域   6.3.2 MOSFET潜在不稳定的频域   6.3.3 一些稳定电路的例子  6.4 线性度  6.5 基本的工作类别:A、AB、B和C类  6.6 直流偏置  6.7 推挽放大器  6.8 RF和微波功率放大器的实际外形  参考文献 第7章 高效率功率放大器设计  7.1 B类过激励  7.2 F类电路设计  7.3 逆F类  7.4 具有并联电容的E类  7.5 具有并联电路的E类  7.6 具有传输线的E类  7.7 宽带E类电路设计  7.8 实际的高效率RF和微波功率放大器  参考文献 第8章 宽带功率放大器  8.1 Bode—Fan0准则  8.2 具有集中元件的匹配网络  8.3 使用混合集中和分布元件的匹配网络  8.4 具有传输线的匹配网络    8.5 有耗匹配网络  8.6 实际设计一瞥  参考文献 第9章 通信系统中的功率放大器设计  9.1 Kahn包络分离和恢复技术  9.2 包络跟踪  9.3 异相功率放大器  9.4 Doherty功率放大器方案  9.5 开关模式和双途径功率放大器  9.6 前馈线性化技术  9.7 预失真线性化技术  9.8 手持机应用的单片cMOS和HBT功率放大器  参考文献

    标签: 射频 微波功率 放大器设计

    上传时间: 2013-04-24

    上传用户:W51631

  • 基于嵌入式的远程图像采集传输系统的研究.rar

    图像的采集和传输是实时监控、远程控制、智能小区等诸多领域的关键技术。基于传统:PC的图像采集已成为现实。随着信息技术的迅速发展,嵌入式系统的研究开发成为了后PC时代的一个热点,它被广泛应用于工业现场、信息家电等各行各业。同时,图像的远程采集传输也朝着专业化、多样化和低成本的方向发展。利用嵌入式技术来实现图像的远程采集传输正顺应了时代发展,有较大的实用价值。 本文主要研究了基于嵌入式的远程图像采集传输系统。嵌入式终端采用$3C2410为核心的目标板为硬件平台,采用嵌入式Linux为系统平台。系统通过连接在嵌入式终端的USB摄像头完成静态图像数据采集,并进行图像压缩处理。在图像传输方面,论文设计了两种模式:一种是通过Intemet传输的、基于B/S模式的传输方式。在该模式下,远端客户机通过浏览器访问架设在终端里的嵌入式服务器而获得图像信息。另一种是基于GPRS网络实现远程无线图像传输。终端将采集到的图像数据通过GPRS网络发送到拥有固定Ip的监控服务器上来完成图像远程传输。 本文首先介绍了图像采集传输和嵌入式方面的相关内容,并介绍了本论文所采用的开发平台。为了顺利开发接着构建了开发环境,这里包括U-boot的移植、Linux系统的内核编译和移植、设备驱动模块的加载以及交叉编译环境的建立。在此基础上,利用Vide04Linux的接口函数,用C语言实现了图像原始数据的采集程序,并利用JPEG算法了实现图像压缩。在基于B/S模式的传输方式中,首先利用Boa架设了嵌入式服务器,然后用C语言完成CGI脚本,该脚本将图像嵌入网页并实时更新以实现网页的动态输出。在基于GPRS实现远程无线图像传输方式中,论文详细分析了系统通讯数据流的特征,提出了采用辨识特征字符、数据打包等策略以实现GPRS的网络连接和数据通讯,并且在此基础上用C语言编程实现。同时,在PC(Linux)上用Socket编程实现了监控服务器软件,该软件用以接收图像数据和控制嵌入式终端的系统状态。最后,论文分析比较了两种传输方式的区别和优缺点。试验证明,采用两种方式都能成功实现图像的远程采集传输,并且试验效果较好。

    标签: 嵌入式 远程图像

    上传时间: 2013-05-17

    上传用户:squershop

  • 基于ARM9无线图像采集系统的研究与开发.rar

    上海交通大学工程硕士学位论文 本文首先对视频监控系统的现状做了简单分析, 并介绍了本系统 中主要涉及到的相关技术,包括嵌入式技术、图像压缩技术、视频压 缩技术和移动数据通信技术。具备了一定的理论基础后,提出本系统 的总体设计方案,明确需要实现的目标功能。然后,围绕目标方案详 细介绍了具体实现方法,包括硬件总体结构、嵌入式 Linux的移植、 USB 摄像头驱动移植、Video4Linux 编程方法、网络传输模块的开发、 流媒体系统建立、WAP 程序的开发等。最后给出了在现网测试环境中 调测结果。 本系统通过嵌入式芯片实现静态图像及视频的采集、编码,并将 采集压缩编码后的数据传送到视频中心服务器, 在2G/3G 移动终端中 以 WAP 或流媒体客户端方式直接查看远程图像。 系统最大的特点是采 用了分布式架构的 C/S(采集端至视频中心服务器)和 B/S(WAP 服 务器至移动终端)结构便于系统的动态扩展;同时也借助了 WAP 技术 实现了传统视频监控的无线化。

    标签: ARM9 无线图像 采集系统

    上传时间: 2013-07-05

    上传用户:cuibaigao