/* ********************************************************************************************************* * 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
NI系列软件卸载不完全,再次安装时会出现问题。此卸载器可解决这个问题
标签: NI系列软件卸载
上传时间: 2015-12-24
上传用户:rawrxe
The 4.0 kbit/s speech codec described in this paper is based on a Frequency Domain Interpolative (FDI) coding technique, which belongs to the class of prototype waveform Interpolation (PWI) coding techniques. The codec also has an integrated voice activity detector (VAD) and a noise reduction capability. The input signal is subjected to LPC analysis and the prediction residual is separated into a slowly evolving waveform (SEW) and a rapidly evolving waveform (REW) components. The SEW magnitude component is quantized using a hierarchical predictive vector quantization approach. The REW magnitude is quantized using a gain and a sub-band based shape. SEW and REW phases are derived at the decoder using a phase model, based on a transmitted measure of voice periodicity. The spectral (LSP) parameters are quantized using a combination of scalar and vector quantizers. The 4.0 kbits/s coder has an algorithmic delay of 60 ms and an estimated floating point complexity of 21.5 MIPS. The performance of this coder has been evaluated using in-house MOS tests under various conditions such as background noise. channel errors, self-tandem. and DTX mode of operation, and has been shown to be statistically equivalent to ITU-T (3.729 8 kbps codec across all conditions tested.
标签: frequency-domain interpolation performance Design kbit_s speech coder based and of
上传时间: 2018-04-08
上传用户:kilohorse
#include<stdio.h> #include<windows.h> int xuanxiang; int studentcount; int banjihao[100]; int xueqihao[100][10]; char xm[100][100]; int xuehao[100][10]; int score[100][3]; int yuwen; int shuxue[000]; int yingyu[100]; int c[100]; int p; char x[1000][100]="",y[100][100]="";/*x学院 y专业 z班级*/ int z[100]; main() { void input(); void inputsc(); void alter(); void scbybannji(); printf("--------学生成绩管理-----\n"); printf("请按相应数字键来实现相应功能\n"); printf("1.录入学生信息 2.录入学生成绩 3.修改学生成绩\n"); printf("4.查询学生成绩 5.不及格科目及名单 6.按班级输出学生成绩单\n"); printf("请输入你要实现的功能所对应的数字:"); scanf("%d",&xuanxiang); system("cls"); getchar(); switch (xuanxiang) { case 1:input(); case 2:inputsc(); case 3:alter(); /*case 4:select score(); case 5:bujigekemujimingdan();*/ case 6:scbybanji; } } void input() { int i; printf("请输入你的学院名称:"); gets(x); printf("请输入你的专业名称:"); gets(y); printf("请输入你的班级号:"); scanf("%d",&z); printf("请输入你们一个班有几个人:"); scanf("%d",&p); system("cls"); for(i=0;i<p;i++) { printf("请输入第%d个学生的学号:",i+1); scanf("%d",xuehao[i]); getchar(); printf("请输入第%d个学生的姓名:",i+1); gets(xm[i]); system("cls"); } printf("您已经录入完毕您的班级所有学生的信息!\n"); printf("您的班级为%s%s%s\n",x,y,z); /*alter(p);*/ } void inputsc() { int i; for(i=0;i<p;i++) { printf("\n"); printf("--------------------------------------------------------------------------------\n\n"); printf("\t\t\t\t录入学生的成绩\n\n\n"); printf("--------------------------------------------------------------------------------\n\n"); printf("\t\t\t\t%s\n",xm[i]); printf("\n"); printf("\t\t\t\t数学:"); scanf("%d",&shuxue[i]); printf("\n"); getchar(); printf("\t\t\t\t英语:"); scanf("%d",&yingyu[i]); printf("\n"); getchar(); printf("\t\t\t\tc语言:"); scanf("%d",&c[i]); system("cls"); } } void alter() { int i;/*循环变量*/ int m[10000];/*要查询的学号*/ int b;/*修改后的成绩*/ char kemu[20]=""; printf("请输入你要修改的学生的学号"); scanf("%d",&m); for (i=0;i<p;i++) { if (m==xuehao[i]) { printf("%s的数学成绩为%d,英语成绩为%d,c语言成绩为%d,xm[i],shuxue[i],yingyu[i],c[i]"); printf("请输入你想修改的科目");} } gets(kemu); getchar(); if (kemu=="数学"); { scanf("%d",&b); shuxue[i]=b;} if (kemu=="英语"); { scanf("%d",&b); yingyu[i]=b;} if (kemu=="c语言"); { scanf("%d",&b); c[i]=b; } printf("%s的数学成绩为%d,英语成绩为%d,c语言成绩为%d,xm[i],shuxue[i],yingyu[i],c[i]"); } void scbybannji() { int i; char zyname[20]; int bjnumber; printf("请输入你的专业名称"); scanf("%s",&zyname); printf("请输入你的班级号"); scanf("%d",&bjnumber); for (i=0;i<p;i++) { if (zyname==y[i]); if (bjnumber==z[i]); printf("专业名称%s班级号%d数学成绩%d英语成绩%dc语言成绩%d,y[i],z[i],shuxue[i],yingyu[i],c[i]"); } }
标签: c语言
上传时间: 2018-06-08
上传用户:2369043090
#首先安装Quartus II 9.0 (32-Bit): #用Quartus_II_9.0破解器.exe破解C:\altera\90\quartus\bin下的sys_cpt.dll和quartus.exe文件(运行Quartus_II_9.0破解器.exe后,直接点击“应用补丁”,如果出现“未找到该文件。 搜索该文件吗?”,点击“是”,(如果直接把该破解器Copy到C:\altera\90\quartus\bin下,就不会出现这个对话框,而是直接开始破解!) 然后选中sys_cpt.dll,点击“打开”。安装默认的sys_cpt.dll路径是在C:\altera\90\quartus\bin下)。 #把license.dat里的XXXXXXXXXXXX 用您老的网卡号替换(在Quartus II 9.0的Tools菜单下选择License Setup,下面就有NIC ID)。 #在Quartus II 9.0的Tools菜单下选择License Setup,然后选择License file,最后点击OK。 #注意:license文件存放的路径名称不能包含汉字和空格,空格可以用下划线代替。 #仅限于学习,不要用于商业目的! 严禁贴到网上!!!
上传时间: 2018-11-10
上传用户:990687715
quartus,13.1,破解,用于quartus,13.1,破解,quartus,13.1,破解
上传时间: 2019-07-22
上传用户:sxliang_nwpu
永嘉微电科技优势产品——高抗干扰LCD驱动IC系列(HT16C21、HT16C22、HT16C23、HT16C24) 产品型号:HT16C21 产品品牌:HOLTEK/合泰 产品年份:新年份 封装形式:NSOP16/SOP20/SOP24/SOP28 工程技术服务支持,价格具有优势! 概述 HT16C21 是一款存储器映射和多功能 LCD 控制 / 驱动芯片。该芯片显示模式有 80 点 (20×4) 或 128 点 (16×8)。HT16C21 的软件配置特性使得它 适用于多种 LCD 应用,包括 LCD 模块和显示子 系统。HT16C21 通过双线双向 I2C 接口与大多数 微处理器 / 微控制器进行通信。 HT16C2X系列为I2C介面、RAM mapping的LCD控制暨驱动IC,此系列以先进设计技术降低IC耗电、提升抗杂讯及ESD防护能力。全系列包含HT16C22/HT16C22G、HT16C23/HT16C23G、HT16C24/HT16C24G等。HT16C22已成功获得单相电表客戶的认可及采用,HT16C23及HT16C24适合于点数需求较大的三相电表的应用。 此系列內建显示记忆体及RC振荡电路;工作电压范围:2.4V~5.5V;提供2种图框扫描频率:80Hz or 160Hz;可由外挂电阻调整VLCD电压,也提供內建可由指令调整16阶的VLCD电压;提供全屏闪烁功能、有三种频率可选。透过I2C介面及多項內置电路,HT16C2X系列与系统控制晶片的传输只需2根信号线,大大省去系统零件及布线、降低客戶系统成本。 特性 -工作电压:2.4 ~ 5.5V -内部 32kHz RC 振荡器 -Bias:1/3 或 1/4;Duty:1/4 或 1/8 -带电压跟随器的内部 LCD 偏置发生器 -I2C 接口 -两个可选 LCD 帧频率:80Hz 或 160Hz -多达 16×8 位 RAM 用来存储显示数据 -显示模式: 20×4 模式:20 SEGs 和 4 COMs 16×8 模式:16 SEGs 和 8 COMs -多种闪烁模式 -读 / 写地址自动增加 -内建 16 级 VLCD 电压调整电路 -低功耗 -提供 VLCD 引脚用来调整 LCD 工作电压 -采用硅栅极 CMOS 制造工艺 -封装类型:20/24/28 SOP, 16 NSOP 此篇产品叙述为功能简介,如需要完整产品PDF资料可以联系许先生索取! HT16C21适用于高抗噪声的小点数LCD应用 HT16C21是采用I2C接口的通用型LCD控制暨驱动器,可选用4 Common或8 Common的驱动模式,最多可显示128点;本产品采用低耗电设计、在3V工作时只有18uA耗电流。高整合性脚位设计:比竞争者封装脚数更少、可显示点数更多;与系统控制芯片的传输只需2根信号线、外挂零件少、可降低客户系统成本。 HT16C21内建有128Bit显示内存,可降低主控MCU的负担;工作电压宽广:2.4V~5.5V;提供2种图框扫瞄频率;内建调整电路可以指令设定16阶VLCD电压;提供全屏闪烁功能、有三种频率可选。更大可显示点数为4 COM x 20 SEG或8 COM x 16 SEG。 HT16C2x系列具备低耗电、高抗噪声及高ESD防护能力。全系列包含HT16C21、HT16C22/HT16C22G、HT16C23/HT16C23G、HT16C24/HT16C24G等。HT16C22已成功获得大陆、美国地区单相电表客户的认可及采用,HT16C23及HT16C24适合于点数需求较大的三相电表的应用。 HT16C21适用于家电、民生消费品、工业仪表、水表、农网表、瓦斯表等之应用。HT16C21提供28/24/20SOP及16NSOP封装,依封装不同、点数略有差异,有关点数及封装的选用。 -------------------------------------------------------- 产品型号:HT16C22 产品品牌:HOLTEK/合泰 产品年份:新年份 封装形式:LQFP48/LQFP52 工程技术服务支持,价格具有优势! 概述 HT16C22/HT16C22G 是一款存储器映射和多功能 LCD 控制 / 驱动芯片。该系列芯片显示模式有 176 点 (44×4)。HT16C22/HT16C22G 软件配置特性使 得它适用于多种 LCD 应用,包括 LCD 模块和显示子系统。HT16C22/HT16C22G 通过双线双向 I2C 接口与大多数微处理器 / 微控制器进行通信。 HT16C2X系列为I2C介面、RAM mapping的LCD控制暨驱动IC,此系列以先进设计技术降低IC耗电、提升抗杂讯及ESD防护能力。全系列包含HT16C22/HT16C22G、HT16C23/HT16C23G、HT16C24/HT16C24G等。HT16C22已成功获得单相电表客戶的认可及采用,HT16C23及HT16C24适合于点数需求较大的三相电表的应用。 特性 -工作电压:2.4V ~ 5.5V -内部 32kHz RC 振荡器 -Bias:1/2 或 1/3;Duty:1/4 -带电压跟随器的内部 LCD 偏置发生器 -I2C接口 -两个可选 LCD 帧频率:80Hz 或 160Hz -多达 44×4 位 RAM 用来存储显示数据 -更大显示模式 44×4:44 SEGs 和 4 COMs -多种闪烁模式 -读 / 写地址自动增加 -内建 16 级 VLCD 电压调整电路 -低功耗 -提供 VLCD 引脚来调整 LCD 工作电压 -采用硅栅极 CMOS 制造工艺 -封装类型:48LQFP,52QFP 此篇产品叙述为功能简介,如需要完整产品PDF资料可以联系许先生索取! LCD驱动IC推出HT16C22新I2C接口系列 本公司专注于TN/STN LCD的中小尺寸应用,HT162X系列控制暨驱动IC已营销业界多年。2010年盛群更展开I2C标准接口系列的新产品开发,此系列包含HT16C22、HT16C23、HT16C24、HT16K23等。IC特性强调低功耗、高抗噪声及高系统ESD防护能力,以高整合度的脚位包装,提供客户更大的显示点数。HT16C22是首先开发完成的型号,HT16C23、HT16C24及HT16K23会陆续推出。 HT16C22内建显示内存及RC振荡电路;工作电压宽广:2.4V~5.5V;2种Bias分压:1/2 & 1/3;更大显示点数可支持4 Common x 44 Segment(52QFP)。提供2种图框扫瞄频率:80Hzor 160Hz;可由外挂电阻调整VLCD电压,也提供16阶可由内建指令调整的VLCD电压。透过I2C接口及多项内置电路,HT16C22与系统控制芯片的传输只需2根信号线,大大省去系统零件及布线、降低客户系统成本。与其它同包装的产品,HT16C22提供更多的显示点数。 HT16C22适用于家电、车载、民生消费品、工业仪表等的LCD显示器的控制及驱动,高抗噪声及高ESD防护能力尤适合数字式LCD电表、水表、瓦斯表等。依包装不同尚有2种点数可选择:4 Common x 40 Segment(48 LQFP)及4 Common x 36 Segment(44QFP)。 -------------------------------------------------------- 产品型号:HT16C23 产品品牌:HOLTEK/合泰 产品年份:新年份 封装形式:LQFP64/LQFP48 工程技术服务支持,价格具有优势! HT16C23/HT16C23G -- RAM Mapping 56*4 / 52*8LCD Driver Controller 概述 HT16C23/HT16C23G 是一款存储器映射和多功能 的 LCD 控制 / 驱动芯片。该芯片的显示字段为 224 点 (56 SEG × 4COM) 或 416 点 (52 SEG × 8 COM)。HT16C23/HT16C23G 芯片的软件配置特 性使其适用于多种 LCD 应用,包括 LCD 模块和 显示子系统。HT16C23/HT16C23G 芯片可通过双 线双向 I2C 接口与大多数微处理器或微控制器进行通信。 HT16C2X系列为I2C介面、RAM mapping的LCD控制暨驱动IC,此系列以先进设计技术降低IC耗电、提升抗杂讯及ESD防护能力。全系列包含HT16C22/HT16C22G、HT16C23/HT16C23G、HT16C24/HT16C24G等。HT16C22已成功获得单相电表客戶的认可及采用,HT16C23及HT16C24适合于点数需求较大的三相电表的应用。 此系列內建显示记忆体及RC振荡电路;工作电压范围:2.4V~5.5V;提供2种图框扫描频率:80Hz or 160Hz;可由外挂电阻调整VLCD电压,也提供內建可由指令调整16阶的VLCD电压;提供全屏闪烁功能、有三种频率可选。透过I2C介面及多項內置电路,HT16C2X系列与系统控制晶片的传输只需2根信号线,大大省去系统零件及布线、降低客戶系统成本。 产品特性 -工作电压:2.4 ~ 5.5V -内部 32kHz RC 振荡器 -Bias:1/3 或 1/4;Duty:1/4 或 1/8 -带电压跟随器的内部 LCD 偏置发生器 -I2C 总线接口 -两种可选的 LCD 帧频率:80Hz 或 160Hz -多达 52×8 位的 RAM 用于存储显示数据 -显示模式: 56×4模式:56 SEG × 4 COM 56×4模式:56 SEG × 4 COM -多种闪烁模式 -读 / 写地址自动增加 -内建 16 级 VLCD 电压调整电路 -低功耗 -提供 VLCD引脚来调整 LCD 工作电压 -采用硅栅极 CMOS 工艺制造 -封装类型:48LQFP,64LQFP 此篇产品叙述为功能简介,如需要完整产品PDF资料可以联系许先生索取! -------------------------------------------------------- 产品型号:HT16C24 产品品牌:HOLTEK/合泰 产品年份:新年份 封装形式:LQFP80/LQFP64 工程技术服务支持,价格具有优势! HT16C24/HT16C24G -- RAM Mapping 72*4 / 68*8 /60*16 LCD Driver Controller 概述 HT16C24/HT16C24G 是 一 款 存 储 器 映 射 和 多 功 能 LCD 控制驱动芯片。该芯片显示模式有 288 点 (72×4),544 点 (68×8) 或 960 点 (60×16 )。HT16C24/HT16C24G 的软件配置特性使得它适用 于多种 LCD 应用,包括 LCD 模块和显示子系统。 HT16C24/HT16C24G 通过双线双向 I2C 接口与大 多数微处理器 / 微控制器进行通信。 HT16C2X系列为I2C介面、RAM mapping的LCD控制暨驱动IC,此系列以先进设计技术降低IC耗电、提升抗杂讯及ESD防护能力。全系列包含HT16C22/HT16C22G、HT16C23/HT16C23G、HT16C24/HT16C24G等。HT16C22已成功获得单相电表客戶的认可及采用,HT16C23及HT16C24适合于点数需求较大的三相电表的应用。 此系列內建显示记忆体及RC振荡电路;工作电压范围:2.4V~5.5V;提供2种图框扫描频率:80Hz or 160Hz;可由外挂电阻调整VLCD电压,也提供內建可由指令调整16阶的VLCD电压;提供全屏闪烁功能、有三种频率可选。透过I2C介面及多項內置电路,HT16C2X系列与系统控制晶片的传输只需2根信号线,大大省去系统零件及布线、降低客戶系统成本。 特性 -工作电压:2.4 ~ 5.5V -内部 32kHz RC 振荡器 -Bias:1/3、1/4 或 1/5;Duty:1/4、1/8 或 1/16 -带电压跟随器的内部 LCD 偏置发生器 -I2C接口 -两个可选 LCD 帧频率:80Hz 或 160Hz -多达 60×16 位 RAM 用来存储显示数据 -显示模式: 72×4模式:72 SEGs 和 4 COMs 68×8模式:68 SEGs 和 8 COMs 60×16模式:60 SEGs 和 16 COMs -多种闪烁模式 -读 / 写地址自动增加 -内建 16 级 LCD 工作电压调整电路 -低功耗 -提供 VLCD 引脚来调整 LCD 工作电压 -采用硅栅极 CMOS 制造工艺 -封装类型:64LQFP,80LQFP 此篇产品叙述为功能简介,如需要完整产品PDF资料可以联系许先生索取! 本公司是一家集产品销售及代理、技术研发、工程服务为一体的IC设计销售公司。专营LCD,LED液晶显示驱动IC 成立于2000年,具有液晶显示行业长达15年以上经验。致力为客户创造产品价值,充分发挥产品的优势!上述介绍为产品简介,如需具体产品资料欢迎联系本公司联系人索取。 LCD液晶驱动显示主要型号为VK1024,VK1056,VK1072,HT1620,HT1621,HT1622,HT1622B,HT1623,HT1625,HT1626,HT16C21,HT16C22,HT16C23,HT16C24,HT16L21,HT16L23等。产品不断更新中! LED液晶显示驱动IC主要型号HT/VK/TM1635 HT/VK/TM1620B HT/VK/TM1628 HT/VK/TM1668 HT/VK/TM1623 HT/VK/TM1637 HT/VK/TM1640 HT/VK/ TM1629 HT/VK/TM1624 HT/VK/TM1639 HT/VK/TM1626A等,产品不断更新中! 备注:产品应用领域包括各式(LCD,LED面板显示)家电、民生消费品、车载音响、医疗保健、运动机械、衡量器、工业仪表、LCD,LED显示模块、数码伴侣、电子秤、万年历、玩具、礼品等各类工业和民用电器产品上。VK16C2X系列高抗噪声及高ESD防护能力尤适合数字式LCD电表、水表、瓦斯表等。 LCD/LED/VFD液晶控制器及驱动器系列 芯片简介如下: 高抗噪LCD液晶控制器及驱动系列 HT16C21 2.4~5.5V 20seg*4com 16seg*8com 偏压1/3 1/4 I2C接口 HT16C22 2.4~5.5V 44seg*4com 偏压1/2 1/3 I2C接口 HT16C23 2.4~5.5V 56seg*4com 52seg*8com 偏压1/3 1/4 I2C接口 HT16C24 2.4~5.5V 72seg*4com 68seg*8com 60seg*16com 偏压1/3 1/4 1/5 I2C口 HT16K23 2.4~5.5V 20seg*4com 16seg*8com Keyscan 20/16*1 偏压1/3 1/4 I2C接口 HT9B92 2.4~5.5V 36seg*4com 偏压1/2 1/3 I2C接口 HT9B92G 2.4~5.5V 40seg*4com 偏压1/2 1/3 I2C接口 HT9B95A 2.4~5.5V 35seg*8com 偏压1/4 I2C接口 HT9B95B 2.4~5.5V 43seg*4com 39seg*8com 偏压1/3 1/4 I2C接口 HT9B95C 2.4~5.5V 43seg*4com 39seg*8com 偏压1/3 1/4 I2C接口 低电压LCD液晶控制器及驱动系列 HT16L21 1.8V~5.5V 32seg*4com 接口I2C,SPI 3-Wire 偏压1/2 1/3 44LQFP LED:8 HT16L23 1.8V~5.5V 52seg*4com 48*8 接口I2C,SPI 3-Wire 偏压1/3 1/4 64LQFP LED:8 HT16LK24 1.8V~5.5V 67seg*1com 67seg*2com 67seg*3com 67seg*4com 63seg*8com 接口I2C,SPI 3-Wire 偏压1/1 1/2 1/3 1/4 Keyscan:4*12 64/80LQFP LED:12 (128 Step) RAM映射LCD控制器和驱动器系列 VK1024B 2.4V~5.2V 6seg*4com 偏压1/2 1/3 NS0P16 VK1056B 2.4V~5.2V 14seg*4com 偏压1/2 1/3 SOP24 VK1056C 2.4V~5.2V 14seg*4com 偏压1/2 1/3 SSOP24 VK1072B 2.4V~5.2V 18seg*4com 偏压1/2 1/3 SOP28 VK1072C 2.4V~5.2V 18seg*4com 偏压1/2 1/3 SOP28 HT1620 2.4V~3.3V 32seg*4com 32seg*3com 32seg*2com 偏压1/2 1/3 64LQFP HT1620G 2.4V~3.3V 32seg*4com 32seg*3com 32seg*2com 偏压1/2 1/3 Goid Bump HT1621 2.4V~5.2V 32seg*4com 32seg*3com 32seg*2com 偏压1/2 1/3 44LQFP 48SSOP/LQFP HT1621G 2.4V~5.2V 32seg*4com 32seg*3com 32seg*2com 偏压1/2 1/3 Goid Bump HT1622 2.7V~5.2V 32seg*8com 偏压1/4 64QFP 44/48/52/64LQFP HT1622G 2.7V~5.2V 32seg*8com 偏压1/4 Goid Bump HT16220 2.4V~5.2V 32seg*8com 偏压1/4 64LQFP HT1623 2.7V~5.2V 48seg*8com 偏压1/4 100LQFP/100QFP HT1625 2.7V~5.2V 64seg*8com 偏压1/4 100LQFP/100QFP HT1626 2.7V~5.2V 48seg*16com 偏压1/5 100LQFP/100QFP HT1647 2.7V~5.2V 64seg*16com 偏压1/4 1/5 100LQFP/100QFP HT1647G 2.7V~5.2V 64seg*16com 偏压1/4 1/5 Goid Bump HT1650 2.7V~5.2V 80seg*16com 64seg*32com 偏压1/5 1/6 128QFP (以上型号全部封装形式规格 均有现货) 内存映射的LED控制器及驱动器 HT1632C 4.5V~5.5V 32seg*8com 24seg*16com 4-Wire接口 48/52LQFP HT1635A 4.5V~5.5V 44seg*8com 4-Wire接口 64LQFP HT1635B 4.5V~5.5V 44seg*8com I2C接口 64LQFP HT16K33 4.5V~5.5V 16seg*8com I2C接口 Keyscan:13*3 28SOP HT16K33 4.5V~5.5V 12seg*8com I2C接口 Keyscan:10*3 24SOP HT16K33 4.5V~5.5V 8seg*8com I2C接口 Keyscan:8*3 20SOP (以上型号全部封装形式规格 均有现货) (所有型号全部封装均有现货,欢迎加Q查询 191 888 5898 许生) LCD液晶显示驱动控制器 HT1620 HT1620G HT1621 HT1621B HT1621G HT1622 HT1622G HT1623 HT1625 HT1626 HT16C21 HT16C22 HT16C23 HT16C24 HT1620 HT16220 HT1647 HT1650 HT1660 HT1670 HT16K23 HT9B92 HT9B92G HT9B95A HT9B95B HT9B95C HT16LK24 HT16L21 HT16L23 HT1611C HT1613C HT1616C (全部封装、规格形式 均有海量现货!) 二:LED/VFD控制、驱动器 HT16506 HT16511 HT16512 HT16515 HT16514 HT16561 HT16562 HT16565 HT16566 HT16523 HT16525 HT1632C HT16K33 HT16K33 HT16528-001 HT16528-002 HT16528-003 (全部封装、规格形式 均有海量现货!) 芯片主要应用领域如下: -显示模块:电子秤、无线麦克风、录音笔、影音多媒体、小家电周边 -家电类:电风扇、电饭煲、玩具、冷气机、暖风机、空调扇、饮水机、抽油烟机、消毒柜、电热水器、面包机、豆浆机、咖啡壶、电冰箱、洗衣机控制器、空调控制板等。 -通讯类:来电显示电话、无绳电话、IC电话、投币电话、对讲机等 -玩具游戏类:无线遥控车、PS游戏机、跳舞毯、方向盘、手柄、电子枪、PS开机IC等。 -计算机周边:显示器控制、PC-MOUSE、单/双滚、遥控MOUSE、键盘、手写板等。 -智能卡类:IC卡煤气表、电能表、水表、IC读写器、IC卡门禁系统等。 -汽车及防盗类:机车防盗器、********器、汽车天线控制器、里程表、汽车日历等。 -医用保健类:电子针灸器、甩脂机、智能体温计、LCD显示血压计、跑步机、按摩器、按摩垫、按摩椅等。 -仪表类:电压表、瓦斯表、电池电压检测器、频率计、计数器、电度表、水位检测器等。 -其它类:充电器、照相机、电子万年钟、自动给皂机、路灯控制器、呼叫服务器等
标签: 8LCD 16c c21 RAM 416 ht 16 21 微电 映射
上传时间: 2020-01-09
上传用户:2937735731
通达信指标破解器,可以做简单破解,抓取文件
上传时间: 2021-02-07
上传用户:
|- 数据科学速查表 - 0 B|- 迁移学习实战 - 0 B|- 零起点Python机器学习快速入门 - 0 B|- 《深度学习入门:基于Python的理论与实现》高清中文版PDF+源代码 - 0 B|- 《Python生物信息学数据管理》中文版PDF+英文版PDF+源代码 - 0 B|- 《Python深度学习》2018中文版pdf+英文版pdf+源代码 - 0 B|- 《Python编程:从入门到实践》中文版+源代码 - 0 B|- stanford machine learning - 0 B|- Python语言程序设计2018版电子教案 - 0 B|- Python网络编程第三版 (原版+中文版+源代码) - 0 B|- Python机器学习实践指南(中文版带书签)、原书代码、数据集 - 0 B|- python官方文档 - 0 B|- Python编程(第4版 套装上下册) - 0 B|- PyQt5快速开发与实战(pdf+源码) - 0 B|- linux - 0 B|- 征服PYTHON-语言基础与典型应用.pdf - 67.40 MB|- 与孩子一起学编程_中文版_详细书签.pdf - 69.10 MB|- 用Python做科学计算.pdf - 6.10 MB|- 用Python写网络爬虫.pdf - 9.90 MB|- 用Python进行自然语言处理(中文翻译NLTK).pdf - 4.40 MB|- 像计算机科学家那样思考 Python中文版第二版.pdf - 712.00 kB|- 网络爬虫-Python和数据分析.pdf - 6.90 MB|- 图解机器学习.pdf - 59.40 MB|- 凸优化.pdf - 5.70 MB|- 数据挖掘导论.pdf - 2.50 MB|- 数据科学入门.pdf - 13.30 MB|- 数据结构与算法__Python语言描述_裘宗燕编著_北京:机械工业出版社_,_2016.01_P346.pdf - 74.30 MB|- 神经网络与深度学习.pdf - 92.60 MB|- 深入Python3...
标签: python
上传时间: 2022-06-06
上传用户:
1前言莱钢型钢厂大型生产线传动系统采用西门子SIMOVERT MASTER系列PWM交-直-交电压型变频器供电,变频器采用公共直流母线式结构;冷床传输链采用4台电机单独传动,每台电机分别由独立的逆变单元控制,逆变单元的控制方式为无速度编码器的矢量控制,相互之间依靠速度给定的同时性保持同步。自2005年投入生产以来,冷床传输链运行较为稳定,但2007年2月以后,冷床传输链逆变单元频繁出现绝缘栅双极型晶体管(Insolated Gate Bipolar Transistor,IGBT)损坏现象,具体故障情况统计见表1由表1可知,冷床传输链4台逆变器都出现过IGBT损坏的现象,故障代码是F025和F0272原因分析1)IGBT损坏一般是由于输出短路或接地等外部原因造成。但从实际情况上看,检查输出电缆及电机等外部条件没有问题,并且更换新的IGBT后,系统可以立即正常运行,从而排除了输出短路或接地等外部条件造成IGBT损坏。2)IGBT存在过压。该系统采用公共直流母线控制方式,制动电阻直接挂接于直流母线上,当逆变单元的反馈能量使直流母线电压超过DC 715 V时,制动单元动作,进行能耗制动;此外挂接于该直流母线上的其他逆变单元并没有出现IGBT损坏的现象,因此不是由于制动反馈过压造成IGBT烧坏。3)由于负荷分配不均造成出力大的IGBT损坏。从实际运行波形上看,负荷分配相对较为均匀,相互差别仅为2%左右,应该不会造成IGBT损坏。此外,4只逆变单元都出现了IGBT损坏现象,如果是由于负荷分配不均造成,应该出力大的逆变单元IGBT总是烧坏,因此排除由于负荷分配不均造成IGBT损坏。4)逆变单元容量选择不合适,装置容量偏小造成长期过流运行,从而导致IGBT烧毁。逆变单元型号及电机参数:额定功率90kw,额定电流186A,负载电流169 A,短时电流254 A,中间同路额定电流221 A,电源电流205 A,电机功率110kw,电机额定电流205 A,电机正常运行时的电流及转矩波形如图1所示。
上传时间: 2022-06-22
上传用户: