Free 8051 asm compiler for linux new host platforms: Win32 and Linux macro processing dramatically improved conditional assembly output in Intel-HEX or OMF-51 format 37 new MCU files documentation in both ASCII and HTML format numberless small extensions and improvements bug fixes For details see the ASEM-51 Release Notes.
标签: processing dramatica platforms compiler
上传时间: 2014-10-28
上传用户:wxhwjf
编程精粹 ─── Microsoft编写优质无错C程序秘诀 Writing Clean Code ─── Microsoft Techniques for Developing Bug-free C Programs Steve Maguire 著 姜静波 佟金荣 译 麦中凡 校 电子工业出版社
标签: Microsoft Developing Techniques Writing
上传时间: 2014-07-15
上传用户:dongqiangqiang
/* ********************************************************************************************************* * 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 **************
上传时间: 2015-11-22
上传用户:the same kong
狐猴天气 A:狐猴天气,一款天气信息预报查询app,基于人性化设计,使用简单,支持中国多个城市天气预报,能够精准定位,及时推送,实时监测各个城市天气情况,app内部提供天气预报,空气质量预报,实时空气质量及空气质量等级预报。特殊天气提前发送预警信息,更好的帮助用户做出生活决策,从容应对各种天气情况。 B:狐猴天气,一款以可用性为中心,确保美观和可用性,一致性,三项全能的天气预报软件,坚持用数据转化成操作性极强的指示性信息,满足用户各种需求,让狐猴天气具有极强实用性。 C:狐猴天气app,一个界面稳定,不闪退,bug少,推送通知高效,及时显示各种天气情况,操作简单方便,字体协调,配备人性化动画界面,直观反馈用户看到的天气,支持多个平台,通过多个平台共享天气情况,让人人都可以做气象员。
标签: HUHOU
上传时间: 2017-11-13
上传用户:小菁的盒子
是否要先打开ALLEGRO? 不需要(当然你的机器须有CADENCE系统)。生成完封装后在你的输出目录下就会有几千个器件(全部生成的话),默认输出目录为c:\MySym\. Level里面的Minimum, Nominal, Maximum 是什么意思? 对应ipc7351A的ABC封装吗? 是的 能否将MOST, NOMINAL, LEAST三种有差别的封装在命名上也体现出差别? NOMINAL 的名称最后没有后缀,MOST的后缀自动添加“M”,LEAST的后缀自动添加“L”,你看看生成的库名称就知道了。(直插件以及特别的器件,如BGA等是没有MOST和LEAST级别的,对这类器件只有NOMINAL) IC焊盘用长方形好像比用椭圆形的好,能不能生成长方形的? 嗯。。。。基本上应该是非直角的焊盘比矩形的焊盘好,我记不得是AMD还是NS还是AD公司专门有篇文档讨论了这个问题,如果没有记错的话至少有以下好处:信号质量好、更省空间(特别是紧密设计中)、更省锡量。我过去有一篇帖子有一个倒角焊盘的SKILL,用于晶振电路和高速器件(如DDR的滤波电容),原因是对宽度比较大的矩形用椭圆焊盘也不合适,这种情况下用自定义的矩形倒角焊盘就比较好了---你可以从网上另外一个DDR设计的例子中看到。 当然,我已经在程序中添加了一选择项,对一些矩形焊盘可以选择倒角方式. 刚才试了一下,感觉器件的命名的规范性不是太好,另好像不能生成器件的DEVICE文件,我没RUN完。。。 这个程序的命名方法基本参照IPC-7351,每个人都有自己的命名嗜好,仍是不好统一的;我是比较懒的啦,所以就尽量靠近IPC-7351了。 至于DEVICE,的选项已经添加 (这就是批量程序的好处,代码中加一行,重新生产的上千上万个封装就都有新东西了)。 你的库都是"-"的,请问用过ALLEGRO的兄弟,你们的FOOTPRINT认"-"吗?反正我的ALLEGRO只认"_"(下划线) 用“-”应该没有问题的,焊盘的命名我用的是"_"(这个一直没改动过)。 部分丝印画在焊盘上了。 丝印的问题我早已知道,只是尽量避免开(我有个可配置的SilkGap变量),不过工作量比较大,有些已经改过,有些还没有;另外我没有特别费功夫在丝印上的另一个原因是,我通常最后用AUTO-SILK的来合并相关的层,这样既方便快捷也统一各个器件的丝印间距,用AUTO-SILK的话丝印线会自动避开SOLDER-MASK的。 点击allegro后命令行出现E- Can't change to directory: Files\FPM,什么原因? 我想你一定是将FPM安装在一个含空格的目录里面了,比如C:\Program Files\等等之类,在自定义安装目录的时候该目录名不能含有空格,且存放生成的封装的目录名也不能含有空格。你如果用默认安装的话应该是不会有问题的, 默认FPM安装在C:\FPM,默认存放封装的目录为C:\MYSYM 0.04版用spb15.51生成时.allegro会死机.以前版本的Allegro封装生成器用spb15.51生成时没有死机现象 我在生成MELF类封装的时候有过一次死机现象,估计是文件操作错误导致ALLEGRO死机,原因是我没有找到在skill里面直接生成SHAPE焊盘的方法(FLASH和常规焊盘没问题), 查了下资料也没有找到解决方法,所以只得在外部调用SCRIPT来将就一下了。(下次我再查查看),用SCRIPT的话文件访问比较频繁(幸好目前MELF类的器件不多). 解决办法: 1、对MELF类器件单独选择生成,其它的应该可以一次生成。 2、试试最新的版本(当前0.05) 请说明运行在哪类器件的时候ALLEGRO出错,如果不是在MELF附近的话,请告知,谢谢。 用FPM0.04生成的封装好像文件都比较大,比如CAPC、RES等器件,都是300多K,而自己建的或采用PCB Libraries Eval生成的封装一般才几十K到100K左右,不知封装是不是包含了更多的信息? 我的每个封装文件包含了几个文字层(REF,VAL,TOL,DEV,PARTNUMBER等),SILK和ASSEM也是分开的,BOND层和高度信息,还有些定位线(在DISP层),可能这些越来越丰富的信息加大了生成文件的尺寸.你如果想看有什么内容的话,打开所有层就看见了(或REPORT) 非常感谢 LiWenHui 发现的BUG, 已经找到原因,是下面这行: axlDBChangeDesignExtents( '((-1000 -1000) (1000 1000))) 有尺寸空间开得太大,后又没有压缩的原因,现在生成的封装也只有几十K了,0.05版已经修复这个BUG了。 Allegro封装生成器0.04生成do-27封装不正确,生成封装的焊盘的位号为a,c.应该是A,B或者1,2才对. 呵呵,DIODE通常管脚名为AC(A = anode, C = cathode) 也有用AK 或 12的, 极少见AB。 除了DIODE和极个别插件以及BGA外,焊盘名字以数字为主, 下次我给DIODE一个选择项,可以选择AC 或 12 或 AK, 至于TRANSISTER我就不去区分BCE/CBE/ECB/EBC/GDS/GSD/DSG/DGS/SGD/SDG等了,这样会没完没了的,我将对TRANSISTER强制统一以数字编号了,如果用家非要改变,只得在生成库后手工修改。
标签: Footprint Maker 0.08 FPM skill
上传时间: 2018-01-10
上传用户:digitzing
近年来,随着多媒体技术、计算机网络与通信技术的的快速发展,传统的监控系统也不断向着新的发展方向进行着不断的更新与发展。进而随着嵌入式技术的出现以及人们对降低监控系统成本和提高可靠性的迫切需求,基于嵌入式系统的网络视频监控系统将成为新的研发热点。 本文的目的是把嵌入式技术与计算机网络技术相结合,构造一个性能稳定且具有较强处理能力的数字化远程视频监控系统。该监控系统以嵌入式Linux系统平台作为服务器端,服务器程序在其上以后台方式运行,等待监控系统环境中的客户机使用浏览器向其发送访问请求,实现在局域网乃至Internet网上对摄像头的远程控制。 文中把系统设计分为三大部分:系统硬件设计、嵌入式Linux在硬件平台的实现和系统软件设计。硬件设计部分首先提出了整个硬件系统的实现方案,接着详细介绍了S3C2410处理器与存储器、以太网控制器芯片以及USB和串口的接口电路设计;第二部分详细叙述了嵌入式Linux在本系统硬件平台的移植实现及应用程序的开发特点,重点讲述了本系统平台上Linux的引导加载程序Bootloader的设计过程;系统软件部分首先介绍了USB接口摄像头驱动在嵌入式Linux下的实现,重点讲述了Video4Linux下视频采集的实现,接着论述了如何实现图像的JPEG压缩,最后针对基于B/S模式的网络通信系统结构,详细阐述了网络通信的具体实现过程和方法。 最后在办公室局域网通过对系统测试,显示了系统运行结果,实现了利用局域网或Internet网对远程环境进行监控的功能。
上传时间: 2013-07-04
上传用户:lgnf
永磁同步发电机由于一系列高效节能的优点,在工农业生产、航空航天、国防和日常生活中得到广泛应用,并且受到许多学者的关注,其研究领域主要涉及永磁同步发电机的设计、精确性能分析、控制等方面。 本课题作为国家自然科学基金项目《无刷无励磁机谐波励磁的混合励磁永磁电机的研究》的课题,主要研究永磁电机的电磁场空载和负载计算,求出永磁电机的电压波形和电压调整率,为分段式转子的混合励磁永磁电机的研究奠定基础,主要做了以下工作: 首先介绍了永磁同步发电机的基本原理,包括永磁同步发电机的结构形式和永磁同步发电机的运行性能,采用传统解析理论给出了电压调整率的计算方法及外特性的计算模型;然后用有限元ANSYS对永磁同步发电机样机进行实体建模,经过定义分配材料、划分网格、加边界条件和载荷、求解计算等,得到矢量磁位Az、磁场强度H、磁感应强度B等结果,直观地看出电机内部的磁场分布情况。 其次根据电磁场计算结果,应用齿磁通法对其进行后处理。该方法求解转子在一个齿距内不同位置处的磁场,以定子齿的磁通为计算单位,根据绕组与齿的匝链关系,计算出磁链随时间的变化,进而得到永磁同步发电机空、负载时电压大小及波形。通过计算结果写实验结果对比,验证了齿磁通法的正确性,为计算永磁同步发电机各种性能特性提供有力工具。 最后,基于齿磁通法对永磁同步发电机的外特性进行了深入研究,定量分析了结构参数对外特性的影响规律,提出了有效降低电压调整率的方法的是:增加气隙长度g的同时,适当增加永磁体的磁化方向的长度hm;此外,要尽量的减少每相串联匝数N和增大导线面积以减小阻抗参数。通过改变电机的结构参数,对其电磁场进行计算,找到永磁电机电压调整率的变化规律,为加电励磁的混合励磁永磁电机做准备,达到稳定输出电压的目的。
上传时间: 2013-04-24
上传用户:15853744528
心音信号是人体最重要的生理信号之一,包含心脏各个部分如心房、心室、大血管、心血管及各个瓣膜功能状态的大量生理病理信息。心音信号分析与识别是了解心脏和血管状态的一种不可缺少的手段。本文针对目前该研究领域中存在的分析方法问题和分类识别技术难点展开了深入的研究,内容涉及心音构成的分析、心音信号特征向量的提取、正常心音信号(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
本文分析了永磁同步直线电动机的运行机理与运行特性,并通过坐标变换,分别得出了电机在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
本书主要阐述设计射频与微波功率放大器所需的理论、方法、设计技巧,以及将分析计算与计算机辅助设计相结合的优化设计方法。这些方法提高了设计效率,缩短了设计周期。本书内容覆盖非线性电路设计方法、非线性主动设备建模、阻抗匹配、功率合成器、阻抗变换器、定向耦合器、高效率的功率放大器设计、宽带功率放大器及通信系统中的功率放大器设计。 本书适合从事射频与微波动功率放大器设计的工程师、研究人员及高校相关专业的师生阅读。 作者简介 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