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

SO-called

  • 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

  • Microphone Arrays : A Tutorial

    This report presents a tutorial of fundamental array processing and beamforming theory relevant to microphone array speech processing. A microphone array consists of multiple microphones placed at different spatial locations. Built upon a knowledge of sound propagation principles, the multiple inputs can be manipulated to enhance or attenuate signals emanating from particular directions. In this way, microphone arrays provide a means of enhancing a desired signal in the presence of corrupting noise sources. Moreover, this enhancement is based purely on knowledge of the source location, and so microphone array techniques are applicable to a wide variety of noise types. Microphone arrays have great potential in practical applications of speech processing, due to their ability to provide both noise robustness and hands-free signal acquisition.

    标签: Microphone array Tutorial Array Signal Processing

    上传时间: 2016-06-12

    上传用户:halias

  • c#简单计算器

    // 学生管理.cpp : Defines the entry point for the application. // #include "stdafx.h" #include "resource.h" #define MAX_LOADSTRING 100 // Global Variables: HINSTANCE hInst; // current instance TCHAR szTitle[MAX_LOADSTRING]; // The title bar text TCHAR szWindowClass[MAX_LOADSTRING]; // The title bar text // Foward declarations of functions included in this code module: ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM); struct person {   char name[10];   int ID;   int cj_yw;   int cj_sx;   struct person* next;   struct person* pro; }per; int APIENTRY WinMain(HINSTANCE hInstance,                      HINSTANCE hPrevInstance,                      LPSTR     lpCmdLine,                      int       nCmdShow) {   // TODO: Place code here. MSG msg; HACCEL hAccelTable; // Initialize global strings LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadString(hInstance, IDC_MY, szWindowClass, MAX_LOADSTRING); MyRegisterClass(hInstance); // Perform application initialization: if (!InitInstance (hInstance, nCmdShow))  { return FALSE; } hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_MY); // Main message loop: while (GetMessage(&msg, NULL, 0, 0))  { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))  { TranslateMessage(&msg); DispatchMessage(&msg); } } return msg.wParam; } // //  FUNCTION: MyRegisterClass() // //  PURPOSE: Registers the window class. // //  COMMENTS: // //    This function and its usage is only necessary if you want this code //    to be compatible with Win32 systems prior to the 'RegisterClassEx' //    function that was added to Windows 95. It is important to call this function //    so that the application will get 'well formed' small icons associated //    with it. // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wcex; wcex.cbSize = sizeof(WNDCLASSEX);  wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = (WNDPROC)WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_MY); wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = (LPCSTR)IDC_MY; wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL); return RegisterClassEx(&wcex); } // //   FUNCTION: InitInstance(HANDLE, int) // //   PURPOSE: Saves instance handle and creates main window // //   COMMENTS: // //        In this function, we save the instance handle in a global variable and //        create and display the main program window. // BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) {    HWND hWnd;    hInst = hInstance; // Store instance handle in our global variable    hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,       CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);    if (!hWnd)    {       return FALSE;    }    ShowWindow(hWnd, nCmdShow);    UpdateWindow(hWnd);    return TRUE; } // //  FUNCTION: WndProc(HWND, unsigned, WORD, LONG) // //  PURPOSE:  Processes messages for the main window. // //  WM_COMMAND - process the application menu //  WM_PAINT - Paint the main window //  WM_DESTROY - post a quit message and return // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; PAINTSTRUCT ps; HDC hdc; TCHAR szHello[MAX_LOADSTRING]; LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING); switch (message)  { case WM_COMMAND: wmId    = LOWORD(wParam);  wmEvent = HIWORD(wParam);  // Parse the menu selections: switch (wmId) { case IDM_ABOUT:   DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);   break; case IDM_EXIT:   DestroyWindow(hWnd);   break; default:   return DefWindowProc(hWnd, message, wParam, lParam); } break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); // TODO: Add any drawing code here... RECT rt; GetClientRect(hWnd, &rt); DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER); EndPaint(hWnd, &ps); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam);    }    return 0; } // Mesage handler for about box. LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_INITDIALOG: return TRUE; case WM_COMMAND: if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)  { EndDialog(hDlg, LOWORD(wParam)); return TRUE; } break; }     return FALSE; }

    标签: 计算器 学生

    上传时间: 2016-12-29

    上传用户:767483511

  • 简单的计算器

    // 学生管理.cpp : Defines the entry point for the application. // #include "stdafx.h" #include "resource.h" #define MAX_LOADSTRING 100 // Global Variables: HINSTANCE hInst; // current instance TCHAR szTitle[MAX_LOADSTRING]; // The title bar text TCHAR szWindowClass[MAX_LOADSTRING]; // The title bar text // Foward declarations of functions included in this code module: ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM); struct person {   char name[10];   int ID;   int cj_yw;   int cj_sx;   struct person* next;   struct person* pro; }per; int APIENTRY WinMain(HINSTANCE hInstance,                      HINSTANCE hPrevInstance,                      LPSTR     lpCmdLine,                      int       nCmdShow) {   // TODO: Place code here. MSG msg; HACCEL hAccelTable; // Initialize global strings LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); LoadString(hInstance, IDC_MY, szWindowClass, MAX_LOADSTRING); MyRegisterClass(hInstance); // Perform application initialization: if (!InitInstance (hInstance, nCmdShow))  { return FALSE; } hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_MY); // Main message loop: while (GetMessage(&msg, NULL, 0, 0))  { if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))  { TranslateMessage(&msg); DispatchMessage(&msg); } } return msg.wParam; } // //  FUNCTION: MyRegisterClass() // //  PURPOSE: Registers the window class. // //  COMMENTS: // //    This function and its usage is only necessary if you want this code //    to be compatible with Win32 systems prior to the 'RegisterClassEx' //    function that was added to Windows 95. It is important to call this function //    so that the application will get 'well formed' small icons associated //    with it. // ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wcex; wcex.cbSize = sizeof(WNDCLASSEX);  wcex.style = CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc = (WNDPROC)WndProc; wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hInstance = hInstance; wcex.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_MY); wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wcex.lpszMenuName = (LPCSTR)IDC_MY; wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL); return RegisterClassEx(&wcex); } // //   FUNCTION: InitInstance(HANDLE, int) // //   PURPOSE: Saves instance handle and creates main window // //   COMMENTS: // //        In this function, we save the instance handle in a global variable and //        create and display the main program window. // BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) {    HWND hWnd;    hInst = hInstance; // Store instance handle in our global variable    hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,       CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);    if (!hWnd)    {       return FALSE;    }    ShowWindow(hWnd, nCmdShow);    UpdateWindow(hWnd);    return TRUE; } // //  FUNCTION: WndProc(HWND, unsigned, WORD, LONG) // //  PURPOSE:  Processes messages for the main window. // //  WM_COMMAND - process the application menu //  WM_PAINT - Paint the main window //  WM_DESTROY - post a quit message and return // // LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; PAINTSTRUCT ps; HDC hdc; TCHAR szHello[MAX_LOADSTRING]; LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING); switch (message)  { case WM_COMMAND: wmId    = LOWORD(wParam);  wmEvent = HIWORD(wParam);  // Parse the menu selections: switch (wmId) { case IDM_ABOUT:   DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);   break; case IDM_EXIT:   DestroyWindow(hWnd);   break; default:   return DefWindowProc(hWnd, message, wParam, lParam); } break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); // TODO: Add any drawing code here... RECT rt; GetClientRect(hWnd, &rt); DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER); EndPaint(hWnd, &ps); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam);    }    return 0; } // Mesage handler for about box. LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_INITDIALOG: return TRUE; case WM_COMMAND: if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)  { EndDialog(hDlg, LOWORD(wParam)); return TRUE; } break; }     return FALSE; }

    标签: 学生 计算器

    上传时间: 2016-12-29

    上传用户:767483511

  • MPO与MTP接插件的定义与区别

    The CommScope InstaPATCH® 360 and ReadyPATCH® solutions utilize a standards-compliant multi-fiber connector to provide high density termination capability. The connector is called an MPO (Multi-fiber Push On) connector by the standards. In many cases, multi-fiber connector products are referred to as MTP connectors. This document is intended to clarify the difference between the two terms – MPO and MTP.

    标签: MPO MTP 插件 定义

    上传时间: 2017-04-12

    上传用户:asdfghjkl1234567890

  • Linux静、动态库获取系统时间

    Linux采用动态库获取系统时间,自己编写动态库的源码和Makefile文件,生成.so动态库后,简单的使用动态链接库的函数

    标签: Linux 动态 系统时间

    上传时间: 2017-05-25

    上传用户:Joshour

  • SGL8022W/K/S/WS/SGL8023W单通道/双通道直流LED 灯光控制调节触摸芯片控制

      产品型号:SGL8022K 产品品牌:SGL/希格玛 封装形式:DIP8 SOP8 产品年份:新年份 希格玛大陆总代理,原装现货具有优势!工程服务,技术支持,让您的生产高枕无忧。                         两通道触摸按键控制芯片 概述       SGL8022K是一款两触摸通道带两个逻辑控制输出的电容式触摸芯片。具有如下功能特点和优势:可通过触摸实现各种逻辑功能控制。操作简单、方便实用。可在有介质(如玻璃、亚克力、塑料、陶瓷等)隔离保护的情况下实现触摸功能,安全性高。应用电压范围宽,可在2.4~4.5V之间任意选择。应用电路简单,外围器件少,加工方便,成本低。抗电源干扰及手机干扰特性好。EFT可以达到±2KV以上;近距离、多角度手机干扰情况下,触摸响应灵敏度及可靠性不受影响。 特点  ●  LO1与LO2在上电后的初始输出状态由上电前OSC的输入状态决定。OSC管脚接VDD(高电平)上电,上电后LO1与LO2输出高电平;OSC管脚接GND(低电平)上电,上电后LO1与LO2输出低电平。 ●  TI1触摸输入对应LO1逻辑输出,TI2触摸输入对应LO2逻辑输出。 ● 按住TI1或TI2,对应LO1或LO2的输出状态翻转;松开后回复初始状态。 应用范围     ●    各种消费性产品     ●    取代按钮按键 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:SGL8022S 产品品牌:SGL/希格玛 封装形式:DIP8 SOP8 产品年份:新年份 希格玛大陆总代理,原装现货具有优势!工程服务,技术支持,让您的生产高枕无忧。 量大价优,保证原装正品。您有量,我有价! 概述 ● SGL8022S是一款两触摸通道带两个逻辑控制输出的电容式触摸芯片。具有如下功能特点和优势:可通过触摸实现各种逻辑开关控制。操作简单、方便实用。可在有介质(如玻璃、亚克力、塑料、陶瓷等)隔离保护的情况下实现触摸功能,安全性高。应用电压范围宽,可在2.4~4.5V之间任意选择。应用电路简单,外围器件少,加工方便,成本低。抗电源干扰及手机干扰特性好。EFT可以达到±2KV以上;近距离、多角度手机干扰情况下,触摸响应灵敏度及可靠性不受影响。 特点 ● LO1与LO2在上电后的初始输出状态由上电前OSC的输入状态决定。OSC管脚接VDD(高电平)上电,上电后LO1与LO2输出高电平;OSC管脚接GND(低电平)上电,上电后LO1与LO2输出低电平。 ●  TI1触摸输入对应LO1逻辑输出,TI2触摸输入对应LO2逻辑输出。 ●  每一次触摸TI1或TI2,对应LO1或LO2的输出状态翻转一次。如此循环。应用范围 各种消费性产品 取代按钮按键  ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:SGL8022W 产品品牌:SGL/希格玛 封装形式:DIP8 SOP8 产品年份:新年份 希格玛大陆总代理,原装现货具有优势!工程服务,技术支持,让您的生产高枕无忧。 单通道直流LED 灯光控制触摸芯片  概述    ● SGL8022W 是一款用于LED 灯光亮度调节及开关控制的单通道触摸芯片。使用该芯片可以实现LED 灯光的触摸开关控制和亮度调节。具有如下功能特点和优势:  灯光亮度可根据需要随意调节,选择范围宽,操作简单方便。可在有介质(如玻璃、亚克力、塑料、陶瓷等)隔离保护的情况下实现触摸功能,安全性高。应用电压范围宽,可在2.4~5.5V 之间任意选择。应用电路简单,外围器件少,加工方便,成本低。抗电源干扰及手机干扰特性好。EFT 可以达到±2KV 以上;近距离、多角度手机干扰情况下,触摸响应灵敏度及可靠性不受影响。  特性   ● TI 触摸输入对应SO 灯光控制输出。共有四种功能可选,由OPT1 和OPT2 管脚上电前的输入状态来决定。具体如下: 1)OPT1=1,OPT2=1 对应:不带亮度记忆突明突暗的LED 触摸无级调光功能 2)OPT1=0,OPT2=1 对应:不带亮度记忆渐明渐暗的LED 触摸无级调光功能 3)OPT1=1,OPT2=0 对应:带亮度记忆渐明渐暗的LED 触摸无级调光功能 4)OPT1=0,OPT2=0 对应:LED 三段触摸调光功能 ● 不带亮度记忆突明突暗的LED 触摸无级调光功能如下: 初始上电时,灯为关灭状态。点击触摸(触摸持续时间小于550ms)时,可实现灯光的亮灭控制。一次点击触摸,灯亮;再一次点击触摸,灯灭。如此循环。灯光点亮或关灭时,无亮度缓冲。且灯光点亮的初始亮度固定为全亮度的90%。 长按触摸(触摸持续时间大于550ms)时,可实现灯光无级亮度调节。一次长按触摸,灯光亮度逐渐增加,松开时灯光亮度停在松开时刻对应的亮度,若长按时间超过3 秒钟,则灯光亮度达到最大亮度后不再变化;再一次长按触摸,灯光亮度逐渐降低,松开时灯光亮度停在松开时刻对应的亮度,若长按时间超过3 秒钟,则灯光亮度达到最小亮度后不再变化。如此循环。 点击触摸和长按触摸可以在任何时候随意使用,相互之间功能不受干扰和限制。 不带亮度记忆渐明渐暗的LED 触摸无级调光功能是在不带亮度记忆突明突暗的LED 触摸无级调光功能的基础上,在点击触摸开灯和关灯时,通过使灯光由一个较低亮度缓慢平滑过渡到开灯初始亮度,在点击触摸关灯时,使灯光由当前亮度缓慢平滑降低直至关灭,从而达到亮度缓慢变化的视觉缓冲效果,起到保护眼睛和视力的效果。 带亮度记忆渐明渐暗的LED 触摸无级调光功能是在不带亮度记忆渐明渐暗的LED 触摸无级调光功能的基础上增加了亮度记忆功能。即在AC220V 电源不断电的情况下,每次点击触摸关灯时的亮度会被记忆,下次点击触摸开灯时会以此亮度作为初始亮度。在AC220V 电源掉电的情况下,重新上电后的第一次点击触摸开灯,初始亮度固定为全亮度的50%。LED 三段触摸调光功能, 初始上电时,灯为关灭状态。 每次点击触摸,灯光亮度按低亮度->中两度->高亮度->灭依次循环变化。   ●  此篇产品叙述为产品功能简介,如需要完整产品PDF资料可以联系许先生QQ:1918885898索取! 应用范围 ● 各种消费性产品 ● 取代按钮按键 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:SGL8022WS 产品品牌:SGL/希格玛 封装形式:DIP8  SOP8 产品年份:新年份 希格玛大陆总代理,原装现货具有优势!工程服务,技术支持,让您的生产高枕无忧。 单通道直流LED调光触摸芯片 概述 ● SGL8022WS 是一款专用于LED 灯光开关控制及亮度调节的单通道触摸芯片。使用该芯片可以方便地实现LED 灯光的触摸开关控制和分档及无级亮度调节。具有如下功能特点和优势: 灯光亮度可根据需要随意调节,选择范围宽,操作简单方便。可在有介质(如玻璃、亚克力、塑料、陶瓷等)隔离保护的情况下实现触摸功能,安全性高。 应用电压范围宽,可在2.4~5.5V之间任意选择。 应用电路简单,外围器件少,加工方便,成本低。抗电源干扰及手机干扰特性好。EFT可以达到±2KV以上;近距离、多角度手机干扰情况下,触摸响应灵敏度及可靠性不受影响。 特点 ● 工作电压:2.4~5.5V ● 工作频率:4MHz ● 触摸输入:一路(TI) 选项输入:两路(OP1/OP2) 控制输出:一路(SO) 控制输出PWM频率:20KHz 功能描述: TI触摸输入对应SO灯光控制输出,通过调制PWM输出信号的占空比控制LED灯的开关和亮度变化,PWM信号的频率固定为20KHz左右。共有四种功能可选,由OPT1/OPT2管脚上电前的输入状态来决定。具体如下: 1)OP1 & OP2全部悬空:不带亮度记忆不带亮度缓冲的LED触摸无级调光2)OP1接地,OP2悬空:带亮度记忆不带亮度缓冲的LED触摸无级调光3)OP1悬空,OP2接地:LED三段触控调光,【高->中->低->灭】循环4)OP1 & OP2全部接地:LED三段触控调光,【低->中->高->灭】循环以下为详细功能说明: ● 不带亮度记忆不带亮度缓冲的LED触摸无级调光功能如下:初始上电时,SO输出全低电平,LED灯不亮。短按触摸(触摸持续时间小于550ms),可实现灯光的开关亮灭控制。一次短按触摸,灯亮;再一次短按触摸,灯灭。多次短按,依此循环。灯光点亮或关灭时,无亮度缓冲。且每次开灯的亮度固定为最高亮度,对应输出PWM信号的高电平占空比为100%。 长按触摸(触摸持续时间大于550ms),可实现灯光无级亮度调节。一次长按触摸,灯光亮度逐渐降低,松开时停在当时的亮度,若长按时间超过3秒钟,则灯光亮度达到最低后不再变化;再一次长按触摸,灯光亮度逐渐升高,松开时停在当时的亮度,若长按时间超过3秒钟,则灯光亮度达到最高后不再变化。多次长按,依此循环。最低亮度的PWM信号占空比为2%,最高亮度为100%。灯不亮的情况下,长按触摸也可开灯。此种情况下,按键按下后首先以最高亮度亮灯,若超过550ms后仍未松开,则开始向下无级调光。点击触摸和长按触摸可在任何时候随意使用,相互之间功能不受干扰和限制。 带亮度记忆不带亮度缓冲的LED触摸无级调光功能是在不带亮度记忆不带亮度缓冲的LED触摸无级调光功能的基础上增加了亮度记忆功能。即在电源不断电的情况下,每次短按触摸关灯时的亮度会被记忆保存,下次触摸开灯时会以此亮度作为初始亮度。开灯后第一次调光的方向由之前记忆的亮度值来决定,若记忆亮度值大于50%,则向下调光;若记忆亮度值小于50%,则向上调光。初始上电或断电后重新上电,第一次开灯的初始亮度固定为100%最高亮度,第一次调光的方向固定为向下调光。 ● LED三段触控调光,【高->中->低->灭】循环 ● 初始上电时,SO输出全低电平,LED灯不亮。 ●  第一次触摸,灯光为高档亮度;第二次触摸,灯光为中档亮度;第三次触摸,灯光为低档亮度;第四次触摸,灯灭。多次按键,依此循环。高中低三档亮度对应的输出PWM信号占空比分别为100%、40%、10%。 ● LED三段触控调光,【低->中->高->灭】循环 ● 初始上电时,SO输出全低电平,LED灯不亮。 ●  第一次触摸,灯光为低档亮度;第二次触摸,灯光为中档亮度;第三次触摸,灯光为高档亮度;第四次触摸,灯灭。多次按键,依此循环。低中高三档亮度对应的输出PWM信号占空比分别为10%、40%、100%。    ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:SGL8023W 产品品牌:SGL/希格玛 封装形式:DIP8 SOP8 产品年份:新年份 希格玛大陆总代理,原装现货具有优势!工程服务,技术支持,让您的生产高枕无忧。 单通道直流 LED 灯光亮度调节及开关控制的单通道触摸芯片 概 述 ● SGL8023W 是一款用于LED 灯光亮度调节及开关控制的单通道触摸芯片。使用该芯片可以实现 LED 灯光的触摸开关控制和亮度调节。具有如下功能特点和优势: 灯光亮度可根据需要随意调节,选择范围宽,操作简单方便。可在有介质(如玻璃、亚克力、塑料、陶瓷等)隔离保护的情况下实现触摸功能,安全性高。应用电压范围宽,可在2.4~5.5V 之间任意选择。应用电路简单,外围器件少,加工方便,成本低。抗电源干扰及手机干扰特性好。EFT 可以达到±2KV 以上;近距离、多角度手机干扰情况下,触摸响应灵敏度及可靠性不受影响。 特 点 ● TI 触摸输入对应SO1 以及SO2 灯光控制输出。SO2/OPT2 为输入输出功能复用管脚,既可以用作调光输出SO2,也可以用作选项输入OPT2。共有六种功能可选,由OPT1/OPT2/OPT3管脚上电前的输入状态来决定。芯片管脚有内部上拉,悬空为1,接GND 为0,具体如下: 1)OPT1=1,OPT2=1,OPT3=1:不带亮度记忆不带亮度缓冲单输出LED 触摸无级调光 2)OPT1=1,OPT2=1,OPT3=0:带亮度记忆不带亮度缓冲单输出LED 触摸无级调光 3)OPT1=1,OPT2=0,OPT3=1:不带亮度记忆不带亮度缓冲双输出LED 触摸无级调光 4)OPT1=1,OPT2=0,OPT3=0:带亮度记忆不带亮度缓冲双输出LED 触摸无级调光 5)OPT1=0,OPT2=0,OPT3=1:LED 三段触控调光,顺序低->中->高->灭 6)OPT1=0,OPT2=0,OPT3=0:LED 三段触控调光,顺序高->中->低->灭 以下为详细功能说明: ●  不带亮度记忆不带亮度缓冲单输出LED 触摸无级调光功能如下: ● TI 触控输入对应SO1 一路LED 输出。初始上电时,灯为关灭状态。 ●  点击触摸(触摸持续时间小于550ms)时,可实现灯光的亮灭控制。一次点击触摸,灯亮;再一次点击触摸,灯灭。如此循环。灯光点亮或关灭时,无亮度缓冲。且灯光点亮的初始亮度固定为最高亮度。 ● 长按触摸(触摸持续时间大于550ms)时,可实现灯光无级亮度调节。一次长按触摸,灯光亮度逐渐增加,松开时灯光亮度停在松开时刻对应的亮度,若长按时间超过3 秒钟,则灯光亮度达到最大亮度后不再变化;再一次长按触摸,灯光亮度逐渐降低,松开时灯光亮度停在松开时刻对应的亮度,若长按时间超过3 秒钟,则灯光亮度达到最小亮度后不再变化。如此循环。 ●  点击触摸和长按触摸可以在任何时候随意使用,相互之间功能不受干扰和限制。 ●  带亮度记忆不带亮度缓冲单输出LED 触摸无级调光功能是在不带亮度记忆不带亮度缓冲单输出LED 触摸无级调光功能的基础上增加了亮度记忆功能。即在电源不断电的情况下,每次点击触摸关灯时的亮度会被记忆,下次点击触摸开灯时会以此亮度作为初始亮度。在电源掉电的情况下,重新上电后的第一次点击触摸开灯,初始亮度固定为最高亮度。 ●  不带亮度记忆不带亮度缓冲双输出LED 触摸无级调光功能是在不带亮度记忆不带亮度缓冲单输出LED 触摸无级调光功能基础上将输出由一路LED 扩展为两路LED。 ●  TI 触摸输入对应SO1、SO2 两路LED 输出。初始上电时,两路灯均为关灭状态。 ●  第一次点击触摸,第一路灯(SO1 输出驱动)亮;第二次点击触摸,第一路灯灭,第二路灯(SO2 输出驱动)亮;第三次点击触摸,两路灯都灭。 当某一路灯亮时,长按触摸可对此灯亮度进行无级调光。调节方式同上。当两路灯都不亮时,长按触摸会首先点亮第一路灯,然后再对此路灯进行无级调光。 ●  带亮度记忆不带亮度缓冲双输出LED 触摸无级调光功能是在不带亮度记忆不带亮度缓冲双输出LED 触摸无级调光功能的基础上增加了亮度记忆功能。即在不掉电的情况下,每次触摸关灯或切换到另外一路灯前的亮度会被记忆保存,下次触摸开灯或切换到此路灯时会以此被记忆的亮度点亮LED。如发生断电的话,则重新上电后第一次触摸开灯或第一次切换到此路灯时亮度,固定为最高亮度。 ●  LED 三段触摸调光功能 ●  初始上电时,灯为关灭状态。 ●  每次点击触摸,依OPTION 选择不同,灯光亮度按[低亮度->中亮度->高亮度->灭]依次循环变化,或按[高亮度->中亮度->低亮度->灭]依次循环变化。应用范围 ● 各种消费性产品 ● 取代按钮按键   

    标签: SGL 8022 8023 LED WS 单通道 双通道 直流 灯光控制 控制

    上传时间: 2018-12-07

    上传用户:shubashushi66

  • 原厂优势总代理SGL8022W/K/S/WS/8023W希格玛原装技术支持!

      产品型号:SGL8022K 产品品牌:SGL/希格玛 封装形式:DIP8 SOP8 产品年份:新年份 希格玛大陆总代理,原装现货具有优势!工程服务,技术支持,让您的生产高枕无忧。                         两通道触摸按键控制芯片 概述       SGL8022K是一款两触摸通道带两个逻辑控制输出的电容式触摸芯片。具有如下功能特点和优势:可通过触摸实现各种逻辑功能控制。操作简单、方便实用。可在有介质(如玻璃、亚克力、塑料、陶瓷等)隔离保护的情况下实现触摸功能,安全性高。应用电压范围宽,可在2.4~4.5V之间任意选择。应用电路简单,外围器件少,加工方便,成本低。抗电源干扰及手机干扰特性好。EFT可以达到±2KV以上;近距离、多角度手机干扰情况下,触摸响应灵敏度及可靠性不受影响。 特点  ●  LO1与LO2在上电后的初始输出状态由上电前OSC的输入状态决定。OSC管脚接VDD(高电平)上电,上电后LO1与LO2输出高电平;OSC管脚接GND(低电平)上电,上电后LO1与LO2输出低电平。 ●  TI1触摸输入对应LO1逻辑输出,TI2触摸输入对应LO2逻辑输出。 ● 按住TI1或TI2,对应LO1或LO2的输出状态翻转;松开后回复初始状态。 ●  此篇产品叙述为功能简介,如需要完整产品PDF资料可以联系许先生索取 QQ:191 888 5898 应用范围     ●    各种消费性产品     ●    取代按钮按键 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:SGL8022S 产品品牌:SGL/希格玛 封装形式:DIP8 SOP8 产品年份:新年份 希格玛大陆总代理,原装现货具有优势!工程服务,技术支持,让您的生产高枕无忧。 量大价优,保证原装正品。您有量,我有价! 概述 ● SGL8022S是一款两触摸通道带两个逻辑控制输出的电容式触摸芯片。具有如下功能特点和优势:可通过触摸实现各种逻辑开关控制。操作简单、方便实用。可在有介质(如玻璃、亚克力、塑料、陶瓷等)隔离保护的情况下实现触摸功能,安全性高。应用电压范围宽,可在2.4~4.5V之间任意选择。应用电路简单,外围器件少,加工方便,成本低。抗电源干扰及手机干扰特性好。EFT可以达到±2KV以上;近距离、多角度手机干扰情况下,触摸响应灵敏度及可靠性不受影响。 特点 ● LO1与LO2在上电后的初始输出状态由上电前OSC的输入状态决定。OSC管脚接VDD(高电平)上电,上电后LO1与LO2输出高电平;OSC管脚接GND(低电平)上电,上电后LO1与LO2输出低电平。 ●  TI1触摸输入对应LO1逻辑输出,TI2触摸输入对应LO2逻辑输出。 ●  每一次触摸TI1或TI2,对应LO1或LO2的输出状态翻转一次。如此循环。应用范围 各种消费性产品 取代按钮按键 此资料为产品概述,可能会有错漏。如需完整产品PDF资料可以联系许先生索取QQ:191 888 5898  ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:SGL8022W 产品品牌:SGL/希格玛 封装形式:DIP8 SOP8 产品年份:新年份 希格玛大陆总代理,原装现货具有优势!工程服务,技术支持,让您的生产高枕无忧。 单通道直流LED 灯光控制触摸芯片  概述    ● SGL8022W 是一款用于LED 灯光亮度调节及开关控制的单通道触摸芯片。使用该芯片可以实现LED 灯光的触摸开关控制和亮度调节。具有如下功能特点和优势:  灯光亮度可根据需要随意调节,选择范围宽,操作简单方便。可在有介质(如玻璃、亚克力、塑料、陶瓷等)隔离保护的情况下实现触摸功能,安全性高。应用电压范围宽,可在2.4~5.5V 之间任意选择。应用电路简单,外围器件少,加工方便,成本低。抗电源干扰及手机干扰特性好。EFT 可以达到±2KV 以上;近距离、多角度手机干扰情况下,触摸响应灵敏度及可靠性不受影响。  特性   ● TI 触摸输入对应SO 灯光控制输出。共有四种功能可选,由OPT1 和OPT2 管脚上电前的输入状态来决定。具体如下: 1)OPT1=1,OPT2=1 对应:不带亮度记忆突明突暗的LED 触摸无级调光功能 2)OPT1=0,OPT2=1 对应:不带亮度记忆渐明渐暗的LED 触摸无级调光功能 3)OPT1=1,OPT2=0 对应:带亮度记忆渐明渐暗的LED 触摸无级调光功能 4)OPT1=0,OPT2=0 对应:LED 三段触摸调光功能 ● 不带亮度记忆突明突暗的LED 触摸无级调光功能如下: 初始上电时,灯为关灭状态。点击触摸(触摸持续时间小于550ms)时,可实现灯光的亮灭控制。一次点击触摸,灯亮;再一次点击触摸,灯灭。如此循环。灯光点亮或关灭时,无亮度缓冲。且灯光点亮的初始亮度固定为全亮度的90%。 长按触摸(触摸持续时间大于550ms)时,可实现灯光无级亮度调节。一次长按触摸,灯光亮度逐渐增加,松开时灯光亮度停在松开时刻对应的亮度,若长按时间超过3 秒钟,则灯光亮度达到最大亮度后不再变化;再一次长按触摸,灯光亮度逐渐降低,松开时灯光亮度停在松开时刻对应的亮度,若长按时间超过3 秒钟,则灯光亮度达到最小亮度后不再变化。如此循环。 点击触摸和长按触摸可以在任何时候随意使用,相互之间功能不受干扰和限制。 不带亮度记忆渐明渐暗的LED 触摸无级调光功能是在不带亮度记忆突明突暗的LED 触摸无级调光功能的基础上,在点击触摸开灯和关灯时,通过使灯光由一个较低亮度缓慢平滑过渡到开灯初始亮度,在点击触摸关灯时,使灯光由当前亮度缓慢平滑降低直至关灭,从而达到亮度缓慢变化的视觉缓冲效果,起到保护眼睛和视力的效果。 带亮度记忆渐明渐暗的LED 触摸无级调光功能是在不带亮度记忆渐明渐暗的LED 触摸无级调光功能的基础上增加了亮度记忆功能。即在AC220V 电源不断电的情况下,每次点击触摸关灯时的亮度会被记忆,下次点击触摸开灯时会以此亮度作为初始亮度。在AC220V 电源掉电的情况下,重新上电后的第一次点击触摸开灯,初始亮度固定为全亮度的50%。LED 三段触摸调光功能, 初始上电时,灯为关灭状态。 每次点击触摸,灯光亮度按低亮度->中两度->高亮度->灭依次循环变化。   ●  此篇产品叙述为产品功能简介,如需要完整产品PDF资料可以联系许先生QQ:1918885898索取! 应用范围 ● 各种消费性产品 ● 取代按钮按键 此资料为产品概述,可能会有错漏。如需完整产品PDF资料可以联系许先生索取QQ:191 888 5898 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:SGL8022WS 产品品牌:SGL/希格玛 封装形式:DIP8  SOP8 产品年份:新年份 希格玛大陆总代理,原装现货具有优势!工程服务,技术支持,让您的生产高枕无忧。 单通道直流LED调光触摸芯片 概述 ● SGL8022WS 是一款专用于LED 灯光开关控制及亮度调节的单通道触摸芯片。使用该芯片可以方便地实现LED 灯光的触摸开关控制和分档及无级亮度调节。具有如下功能特点和优势: 灯光亮度可根据需要随意调节,选择范围宽,操作简单方便。可在有介质(如玻璃、亚克力、塑料、陶瓷等)隔离保护的情况下实现触摸功能,安全性高。 应用电压范围宽,可在2.4~5.5V之间任意选择。 应用电路简单,外围器件少,加工方便,成本低。抗电源干扰及手机干扰特性好。EFT可以达到±2KV以上;近距离、多角度手机干扰情况下,触摸响应灵敏度及可靠性不受影响。 特点 ● 工作电压:2.4~5.5V ● 工作频率:4MHz ● 触摸输入:一路(TI) 选项输入:两路(OP1/OP2) 控制输出:一路(SO) 控制输出PWM频率:20KHz 功能描述: TI触摸输入对应SO灯光控制输出,通过调制PWM输出信号的占空比控制LED灯的开关和亮度变化,PWM信号的频率固定为20KHz左右。共有四种功能可选,由OPT1/OPT2管脚上电前的输入状态来决定。具体如下: 1)OP1 & OP2全部悬空:不带亮度记忆不带亮度缓冲的LED触摸无级调光2)OP1接地,OP2悬空:带亮度记忆不带亮度缓冲的LED触摸无级调光3)OP1悬空,OP2接地:LED三段触控调光,【高->中->低->灭】循环4)OP1 & OP2全部接地:LED三段触控调光,【低->中->高->灭】循环以下为详细功能说明: ● 不带亮度记忆不带亮度缓冲的LED触摸无级调光功能如下:初始上电时,SO输出全低电平,LED灯不亮。短按触摸(触摸持续时间小于550ms),可实现灯光的开关亮灭控制。一次短按触摸,灯亮;再一次短按触摸,灯灭。多次短按,依此循环。灯光点亮或关灭时,无亮度缓冲。且每次开灯的亮度固定为最高亮度,对应输出PWM信号的高电平占空比为100%。 长按触摸(触摸持续时间大于550ms),可实现灯光无级亮度调节。一次长按触摸,灯光亮度逐渐降低,松开时停在当时的亮度,若长按时间超过3秒钟,则灯光亮度达到最低后不再变化;再一次长按触摸,灯光亮度逐渐升高,松开时停在当时的亮度,若长按时间超过3秒钟,则灯光亮度达到最高后不再变化。多次长按,依此循环。最低亮度的PWM信号占空比为2%,最高亮度为100%。灯不亮的情况下,长按触摸也可开灯。此种情况下,按键按下后首先以最高亮度亮灯,若超过550ms后仍未松开,则开始向下无级调光。点击触摸和长按触摸可在任何时候随意使用,相互之间功能不受干扰和限制。 带亮度记忆不带亮度缓冲的LED触摸无级调光功能是在不带亮度记忆不带亮度缓冲的LED触摸无级调光功能的基础上增加了亮度记忆功能。即在电源不断电的情况下,每次短按触摸关灯时的亮度会被记忆保存,下次触摸开灯时会以此亮度作为初始亮度。开灯后第一次调光的方向由之前记忆的亮度值来决定,若记忆亮度值大于50%,则向下调光;若记忆亮度值小于50%,则向上调光。初始上电或断电后重新上电,第一次开灯的初始亮度固定为100%最高亮度,第一次调光的方向固定为向下调光。 ● LED三段触控调光,【高->中->低->灭】循环 ● 初始上电时,SO输出全低电平,LED灯不亮。 ●  第一次触摸,灯光为高档亮度;第二次触摸,灯光为中档亮度;第三次触摸,灯光为低档亮度;第四次触摸,灯灭。多次按键,依此循环。高中低三档亮度对应的输出PWM信号占空比分别为100%、40%、10%。 ● LED三段触控调光,【低->中->高->灭】循环 ● 初始上电时,SO输出全低电平,LED灯不亮。 ●  第一次触摸,灯光为低档亮度;第二次触摸,灯光为中档亮度;第三次触摸,灯光为高档亮度;第四次触摸,灯灭。多次按键,依此循环。低中高三档亮度对应的输出PWM信号占空比分别为10%、40%、100%。 ●此资料为产品概述,可能会有错漏。如需完整产品PDF资料可以联系许先生索取QQ:191 888 5898    ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 产品型号:SGL8023W 产品品牌:SGL/希格玛 封装形式:DIP8 SOP8 产品年份:新年份 希格玛大陆总代理,原装现货具有优势!工程服务,技术支持,让您的生产高枕无忧。 单通道直流 LED 灯光亮度调节及开关控制的单通道触摸芯片 概 述 ● SGL8023W 是一款用于LED 灯光亮度调节及开关控制的单通道触摸芯片。使用该芯片可以实现 LED 灯光的触摸开关控制和亮度调节。具有如下功能特点和优势: 灯光亮度可根据需要随意调节,选择范围宽,操作简单方便。可在有介质(如玻璃、亚克力、塑料、陶瓷等)隔离保护的情况下实现触摸功能,安全性高。应用电压范围宽,可在2.4~5.5V 之间任意选择。应用电路简单,外围器件少,加工方便,成本低。抗电源干扰及手机干扰特性好。EFT 可以达到±2KV 以上;近距离、多角度手机干扰情况下,触摸响应灵敏度及可靠性不受影响。 特 点 ● TI 触摸输入对应SO1 以及SO2 灯光控制输出。SO2/OPT2 为输入输出功能复用管脚,既可以用作调光输出SO2,也可以用作选项输入OPT2。共有六种功能可选,由OPT1/OPT2/OPT3管脚上电前的输入状态来决定。芯片管脚有内部上拉,悬空为1,接GND 为0,具体如下: 1)OPT1=1,OPT2=1,OPT3=1:不带亮度记忆不带亮度缓冲单输出LED 触摸无级调光 2)OPT1=1,OPT2=1,OPT3=0:带亮度记忆不带亮度缓冲单输出LED 触摸无级调光 3)OPT1=1,OPT2=0,OPT3=1:不带亮度记忆不带亮度缓冲双输出LED 触摸无级调光 4)OPT1=1,OPT2=0,OPT3=0:带亮度记忆不带亮度缓冲双输出LED 触摸无级调光 5)OPT1=0,OPT2=0,OPT3=1:LED 三段触控调光,顺序低->中->高->灭 6)OPT1=0,OPT2=0,OPT3=0:LED 三段触控调光,顺序高->中->低->灭 以下为详细功能说明: ●  不带亮度记忆不带亮度缓冲单输出LED 触摸无级调光功能如下: ● TI 触控输入对应SO1 一路LED 输出。初始上电时,灯为关灭状态。 ●  点击触摸(触摸持续时间小于550ms)时,可实现灯光的亮灭控制。一次点击触摸,灯亮;再一次点击触摸,灯灭。如此循环。灯光点亮或关灭时,无亮度缓冲。且灯光点亮的初始亮度固定为最高亮度。 ● 长按触摸(触摸持续时间大于550ms)时,可实现灯光无级亮度调节。一次长按触摸,灯光亮度逐渐增加,松开时灯光亮度停在松开时刻对应的亮度,若长按时间超过3 秒钟,则灯光亮度达到最大亮度后不再变化;再一次长按触摸,灯光亮度逐渐降低,松开时灯光亮度停在松开时刻对应的亮度,若长按时间超过3 秒钟,则灯光亮度达到最小亮度后不再变化。如此循环。 ●  点击触摸和长按触摸可以在任何时候随意使用,相互之间功能不受干扰和限制。 ●  带亮度记忆不带亮度缓冲单输出LED 触摸无级调光功能是在不带亮度记忆不带亮度缓冲单输出LED 触摸无级调光功能的基础上增加了亮度记忆功能。即在电源不断电的情况下,每次点击触摸关灯时的亮度会被记忆,下次点击触摸开灯时会以此亮度作为初始亮度。在电源掉电的情况下,重新上电后的第一次点击触摸开灯,初始亮度固定为最高亮度。 ●  不带亮度记忆不带亮度缓冲双输出LED 触摸无级调光功能是在不带亮度记忆不带亮度缓冲单输出LED 触摸无级调光功能基础上将输出由一路LED 扩展为两路LED。 ●  TI 触摸输入对应SO1、SO2 两路LED 输出。初始上电时,两路灯均为关灭状态。 ●  第一次点击触摸,第一路灯(SO1 输出驱动)亮;第二次点击触摸,第一路灯灭,第二路灯(SO2 输出驱动)亮;第三次点击触摸,两路灯都灭。 当某一路灯亮时,长按触摸可对此灯亮度进行无级调光。调节方式同上。当两路灯都不亮时,长按触摸会首先点亮第一路灯,然后再对此路灯进行无级调光。 ●  带亮度记忆不带亮度缓冲双输出LED 触摸无级调光功能是在不带亮度记忆不带亮度缓冲双输出LED 触摸无级调光功能的基础上增加了亮度记忆功能。即在不掉电的情况下,每次触摸关灯或切换到另外一路灯前的亮度会被记忆保存,下次触摸开灯或切换到此路灯时会以此被记忆的亮度点亮LED。如发生断电的话,则重新上电后第一次触摸开灯或第一次切换到此路灯时亮度,固定为最高亮度。 ●  LED 三段触摸调光功能 ●  初始上电时,灯为关灭状态。 ●  每次点击触摸,依OPTION 选择不同,灯光亮度按[低亮度->中亮度->高亮度->灭]依次循环变化,或按[高亮度->中亮度->低亮度->灭]依次循环变化。应用范围 ● 各种消费性产品 ● 取代按钮按键 联 系 人:许先生 联 系 QQ:1918885898   联系手机:18898582398        

    标签: 单键触摸芯片 替代传统按键开关

    上传时间: 2019-02-17

    上传用户:shubashushi66

  • Bi-density twin support vector machines

    In this paper we present a classifier called bi-density twin support vector machines (BDTWSVMs) for data classification. In the training stage, BDTWSVMs first compute the relative density degrees for all training points using the intra-class graph whose weights are determined by a local scaling heuristic strategy, then optimize a pair of nonparallel hyperplanes through two smaller sized support vector machine (SVM)-typed problems. In the prediction stage, BDTWSVMs assign to the class label depending on the kernel density degree-based distances from each test point to the two hyperplanes. BDTWSVMs not only inherit good properties from twin support vector machines (TWSVMs) but also give good description for data points. The experimental results on toy as well as publicly available datasets indicate that BDTWSVMs compare favorably with classical SVMs and TWSVMs in terms of generalization

    标签: recognition Bi-density machines support pattern vector twin for

    上传时间: 2019-06-09

    上传用户:lyaiqing

  • 标日初级超详细笔记

    1.   日语假名及其发音一览     平  片  罗     平  片  罗     平  片  罗     平  片  罗     平  片  罗    假  假  马     假  假  马     假  假  马     假  假  马     假  假  马    音            音            音            音            音 ______________________________________________________________________________   あ  ア  a       い  イ  i       う  ウ  u       え  エ  e       お  オ  o      か  カ  ka      き  キ  ki      く  ク  ku      け  ケ  ke      こ  コ  ko     さ  サ  sa      し  シ  si/shi  す  ス  su      せ  セ  se      そ  ソ  so     た  タ  ta      ち  チ  chi     つ  ツ  tsu     て  テ  te      と  ト  to     な  ナ  na      に  ニ  ni      ぬ  ヌ  nu      ね  ネ  ne      の  ノ  no     は  ハ  ha      ひ  ヒ  hi      ふ  フ  fu      へ  ヘ  he      ほ  ホ  ho     ま  マ  ma      み  ミ  mi      む  ム  mu      め  メ  me      も  モ  mo     や  ヤ  ya                     ゆ  ユ  yu                     よ  ヨ  yo     ら  ラ  ra      り  リ  ri      る  ル  ru      れ  レ  re      ろ  ロ  ro     わ  ワ  wa                                                    を  ヲ    o/wo     ん  ン  n         が  ガ  ga      ぎ  ギ  gi      ぐ  グ  gu      げ  ゲ  ge      ご  ゴ  go     ざ  ザ  za      じ  ジ  zi/ji   ず  ズ  zu      ぜ  ゼ  ze      ぞ  ゾ  zo     だ  ダ  da      ぢ  ヂ  ji/di   づ  ヅ  zu/du   で  デ  de      ど  ド  do     ば  バ  ba      び  ビ  bi      ぶ  ブ  bu      べ  ベ  be      ぼ  ボ  bo     ぱ  パ  pa      ぴ  ピ  pi      ぷ  プ  pu      ぺ  ペ  pe      ぽ  ポ  po       きゃ キャ kya                  きゅ キュ kyu                  きょ キョ kyo     しゃ シャ sya                  しゅ シュ syu                  しょ ショ syo     ちゃ チャ cya                  ちゅ チュ cyu                  ちょ チョ cyo     にゃ ニャ nya                  にゅ ニュ nyu                  にょ ニョ nyo     ひゃ ヒャ hya                  ひゅ ヒュ hyu                  ひょ ヒョ hyo     みゃ ミャ mya                  みゅ ミュ myu                  みょ ミョ myo     りゃ リャ rya                  りゅ リュ ryu                  りょ リョ ryo     ぎゃ ギャ gya                  ぎゅ ギュ gyu                  ぎょ ギョ gyo じゃ ジャ zya/ja               じゅ ジュ yu/ju                じょ ジョzyo/jo     びゃ ビャ bya                  びゅ ビュ byu                  びょ ビョ byo     ぴゃ ピャ pya                  ぴゅ ピュ pyu                  ぴょ ピョ pyo

    标签: 日语

    上传时间: 2019-07-19

    上传用户:sxc1997