This disclosure relates to networking protocol compatibility. This disclosure also relates to a modular analog frontend for multiple networking protocols.
Data networks interconnect computing devices and facilitate information exchange. Multiple networking protocol standards are in use on these data networks. The varied standards offer differing levels of speed and performance. Some devices offer compatibility with multiple protocols. These devices may be implemented in a variety of networking environments.
The disclosure below concerns techniques and architectures for facilitating compatibility with multiple networking protocols via a modular analog frontend (MAFE). The MAFE may be placed in multiple configurations to allowing compatibility with multiple networking protocols. The MAFE also allows resource conservation by placing hardware unused by a given protocol in an inactive or low power state. For example, a first protocol may implement first and second amplifier stages of the MAFE, and a second protocol may implement the first amplifier stage. When communicating over the second protocol, the MAFE may implement the first stage and turn off power to the second amplifier stage.
The example device described below provides an example context for explaining the techniques and architectures to support compatibility with multiple networking protocols via a MAFE.
The device 100 may include a network interface 102 to support network communications over multiple protocols, and one or more processors 104 to support execution of applications and operating systems, and to govern operation of the device. Further, the one or more processors 104 may run processes to determine the transmission protocol that is active on the interface 102. The device 100 may include memory 106 for execution support and storage of system instructions 108 and operational parameters 112. The communication device 100 may include a user interface 116 to allow for user operation of the device. An analog frontend 114 within the network interface 102 may also be included to support transmission and reception of signals. The analog frontend 114 may include amplifiers to adjust input signal levels to useable output levels. The analog frontend may further include analog-to-digital converter (ADC).
The sets 210, 250 may include amplifiers 212, 252, e.g. programmable gain amplifiers, continuously variable gain amplifiers, and or other amplifier types. The amplifiers may be implemented to amplify a signal experiencing a determined maximum level of loss during transmission. For example, an amplifier may be programmed to supply a gain to amplify a signal experiencing loss from traversing a 100 m long ethernet cable. The amplifier may be implemented to help ensure that a trip of a given length may result in a usable signal.
The sets 210, 250 may also include ADCs 214, 254. ADCs may implement different resolutions and sample rates in order to support modulation schemes associated with different protocols. For example, a modulation scheme associated with one protocol may require a resolution of 10 bits per 800 MHz sample and a modulation scheme associated with a different protocol may require a resolution of 8 bits per 3200 MHz sample. The various ADCs 214, 254 may support different resolutions and sample rates. In some implementations, other modulation schemes may be used for example, the ADCs 214, 254 may be configured to support different resolutions and sample rates. For example, the 6 bit and 4 bit ADCs may be combined to provide a single 10 bit ADC. Other combinations of resolutions and sample rates may be implemented. To achieve the required resolution and sample rate, ADCs may be implemented in series, parallel, or some combination of both series and parallel.
The stages 310, 320, 330, 340 may include ADCs 314, 324, 334, 344 and amplifiers 316, 326, 336, e.g. programmable gain amplifiers, continuously variable gain amplifiers, and/or other amplifier types. In some cases, a stage may not include an amplifier or an ADC. For example, a first protocol may have similar noise and/or signal level guidelines to a second protocol. In some cases, the first protocol and second protocol may share amplifier stages, e.g. amplifiers 316, 326, 336. In some cases, the first protocol may use a different number of bits per symbol and/or symbol group than that of the second protocol. The first and the second protocol may not share some ADCs. For example, ADCs 314, 324, 334 may be shared by the first and second protocols, but ADC 344 may not be shared by the first and second protocols, e.g. ADC 344 may be bypassed during operation of the second protocol.
ADCs 314, 324, 334, 344 may operate in series to allow for differing numbers of bits to be implemented in different configurations. For example, the ADCs may include flash ADCs producing a number of bits in series, e.g. a first ADC that measures 2 bit, a second that measures 2 bits, a third that measure 3.5 bits, and a fourth that measures 1 bit. Other combinations may be used. In some cases, a flash ADC or multiple flash ADCs measuring a number of bits may be followed by a successive approximation register (SAR) ADC measuring the remaining bits. For example a first flash ADC may measure 1.5 bits, a second flash ADC may measure 1 bit, and a SAR ADC may measure 7 bits. Other types and combinations of ADCs may be implemented.
In some implementations, stages may be activated/deactivated in response to conditions within a protocol. For example, when noise conditions become favorable, usage of a given number of amplifier stages may be relaxed for a given protocol. Physical conditions may also affect stage usage within a protocol. For example, a protocol may support cables of length B. To support the cables of length B, the protocol may implement a given amplifier power. The given amplifier power may be achieved through multiple stages of smaller amplifiers. In some cases, a system may be able to determine a cable length and/or a cable length may be indicated to the system via an external detection system. If the cable length is at a second length C that meets determined criteria, e.g. below a threshold length A, within a length range, or other length criteria, the system may adjust the number of amplifiers used. In some cases, the number of amplifier stages may be decreased. Decreasing the number of amplifier stages may decrease the noise contribution from amplification. In some cases, the number of amplifier stages may be increased. For example, the system may adjust to support cable lengths greater than B, e.g. greater than the protocol-determined maximum length. In some implementations, the number of amplification stages may be dynamically increased or decreased in response to signal conditions. For example, a high detected noise floor may cause the MAFE 300 to reduce the number of amplification stages in operation for a given protocol. A low signal level may cause the MAFE 300 to increase the number of active amplification stages. The MAFE 300 may maintain multiple profiles for different connection conditions/protocols. The MAFE 300 may activate/deactivate stages or stage portions in accord with the connection profiles.
In some implementations, the amplification stages 316, 326, 336 may not provide equal levels of amplification. In some cases, to increase/decrease the level of amplification the MAFE 300 may activate a stage and deactivate a second stage, e.g. perform a substitution.
In some implementations, an input amplifier stage 410 may be programmable and/or otherwise adaptable. The input amplifier stage 410 may allow for multiple gain ranges and channel shapes. The adaptability of the input amplifier stage 410 may accommodate multiple protocols. Other amplifier stages, e.g. second amplifier stage 420 or amplifiers 316, 326, 336, may be implemented with similar adaptability.
10GBASE-T may support cable lengths of 100 m. 40GBASE-T may support cable lengths of 30 m. The MAFE may include controls 550 to determine if the cable length of a 10GBASE-T stream is 30 m or less. In some cases, the controls 550 may deactivate amplifier 522 of stage 520 when the cable length is 30 m or less. For these shorter cables, the amplification usage of 10GBASE-T may be similar to that of 40GBASE-T.
Additionally or alternatively, MAFEs may support other protocols. For example, the multiple stages of a MAFE may support 1GBASE-T, 10GBASE-T and 40GBASE-T. The MAFEs may also be implemented in multi-lane ethernet protocols such as 100G and 400G protocols.
The methods, devices, and logic described above may be implemented in many different ways in many different combinations of hardware, software or both hardware and software. For example, all or parts of the system may include circuitry in a controller, a microprocessor, or an application specific integrated circuit (ASIC), or may be implemented with discrete logic or components, or a combination of other types of analog or digital circuitry, combined on a single integrated circuit or distributed among multiple integrated circuits. All or part of the logic described above may be implemented as instructions for execution by a processor, controller, or other processing device and may be stored in a tangible or non-transitory machine-readable or computer-readable medium such as flash memory, random access memory (RAM) or read only memory (ROM), erasable programmable read only memory (EPROM) or other machine-readable medium such as a compact disc read only memory (CDROM), or magnetic or optical disk. Thus, a product, such as a computer program product, may include a storage medium and computer readable instructions stored on the medium, which when executed in an endpoint, computer system, or other device, cause the device to perform operations according to any of the description above.
The processing capability of the system may be distributed among multiple system components, such as among multiple processors and memories, optionally including multiple distributed processing systems. Parameters, databases, and other data structures may be separately stored and managed, may be incorporated into a single memory or database, may be logically and physically organized in many different ways, and may implemented in many ways, including data structures such as linked lists, hash tables, or implicit storage mechanisms. Programs may be parts (e.g., subroutines) of a single program, separate programs, distributed across several memories and processors, or implemented in many different ways, such as in a library, such as a shared library (e.g., a dynamic link library (DLL)). The DLL, for example, may store code that performs any of the system processing described above.
Various implementations have been specifically described. However, many other implementations are also possible.
This application claims priority to U.S. Provisional Application Ser. No. 61/907,627, filed Nov. 22, 2013, which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61907627 | Nov 2013 | US |