Many devices both within and external to a computing device can be connected via a serial link such as in accordance with a given universal serial bus (USB) specification. Originally, USB technology provided for communications at relatively low bit rates, e.g., beginning at 1.5 megabits per second (Mbits/s) and then expanding to 12 Mbits/s and higher. With the most recent of the USB specification, Universal Serial Bus Revision 3.0 Specification (Nov. 17, 2008), a maximum transmission speed of up to 5 gigabits per second is specified.
While high data rates are available with existing USB technologies, certain drawbacks exist. These include the voltage signaling requirements which are currently at 3.3 volts (with a 5.0 volt tolerance) which may not be compatible with advanced technology node silicon processes. In addition, USB communications are not power optimized, and the proliferation of use of USB connections for internal devices unnecessarily consumes available pins within a system.
Referring now to
In the embodiment of
As further seen in
To provide for communication at low power, embodiments may provide a wire protocol of relatively reduced complexity. This protocol may have various elements including: providing of bus idles between packets, even if the same master communicates multiple packets (thus simplifying receiver complexity); a preamble for purposes of bit locking; a postamble at a transmission end to provide for returning to an idle state of the link to thus enable the receiver to explicitly recognize the end of a transmission without higher-level mechanisms; and providing a predetermined encoding for data communication such as an encoding according to an 8 bit/9 bit (8b/9b) encoding to enable ease of identification of various information of a packet.
In an embodiment this 8b/9b encoding may be as follows: for each data byte of 8 bits, an additional start bit may be provided. This start bit may be of alternating value (e.g., zero then one). Note that in some embodiments this alternating pattern is not followed for a last byte of a data portion of the packet to mark the last byte before a postamble portion of the packet.
Referring now to
As seen, packet 100 can begin with a start bit 1050, which is one of multiple start bits 1050-105z, each of which can be interspersed throughout the packet to thus accommodate the 8b/9b encoding of information in the packet. After this start bit, a preamble portion 110 may be provided. This preamble portion may be of a predetermined value, such as the series of alternating logic one and logic zero bits shown in
As further seen in
After the content portion 120, another start bit 105n may be provided. Note that it is assumed that content portion 120 includes, in
Thereafter, an error detection portion 130 may be provided within the packet. This error detection portion can be an inverted or one's complement version of content portion 120, and as will be described further below, can be used by the receiver for purposes of detecting an error in communication. Finally, a terminal start bit 105z is provided and thereafter a postamble portion 140 occurs, which again may be of a predetermined value, such as a repeating 4 bit pattern of logic ones and zeros as seen in
Although not shown for ease of illustration, understand that after communication of this packet, the interconnect may return to a logic high level until a next packet is communicated, given the open drain configuration and the pull-up resistor present and coupled to the interconnect. Also note that while shown with this particular implementation of a packet for purposes of illustration, understand that other packet types are contemplated for other embodiments. For example, different values of the preamble and postamble portions may be present. Furthermore, different alternating or other patterns for the start bits may be provided. Still further, different arrangements of the content and error detection portions may also be present in some embodiments. Note further that in some implementations, some type of scrambling of the data information may be provided for purposes of electromagnetic interference (EMI) reduction. Other possibilities exist such as providing for a defined address portion and so forth.
Note also that in various embodiments, content portion 120 may include, at a beginning portion, a unique identifier of the sender of the packet, which can be implemented via a unique address that can be statically or dynamically determined. By way of this unique identifier provided within the content portion (and thus within each packet communicated) it can be guaranteed that colliding packets will be detected, even in the case where both components start transmitting at the same time.
In some embodiments, arbitration between components coupled via such an interconnect may be performed using collision detection in which each component can attempt to transmit a packet and monitor for collisions on the interconnect. Accordingly, the PHY present in each component coupled to such an interconnect may provide for collision detection, e.g., via an open drain connection.
In some embodiments a protocol for this interconnect may provide certain parameters such as minimum idle/turnaround time between transmissions. For example in an embodiment, for an acknowledgment-type response a turnaround time of one symbol time (which as discussed above may correspond to a 9-bit portion) may occur. And for a return to an idle state, a minimum of 1 symbol time may occur.
In some embodiments, retry mechanisms may also be provided. For example, in an implementation providing for such a retry mechanism, if there is no acknowledgment received when expected, the transmitter may perform a retry transmission after a predetermined number of symbol times if it is the host or upstream device, or after a second, e.g., longer predetermined number of symbol times if it is the target or downstream device. In one such embodiment, the host-based retry mechanism may occur after between approximately 11 and 17 symbols without receipt of an expected acknowledgement, and the receiver-based retry mechanism may occur after between approximately 31 and 43 symbols without receipt of an expected acknowledgement. In other embodiments, such retry mechanisms may occur after another interval as dictated by an upper level protocol. In general, a retry timer may be set to be greater than X, where X is the expected time within an acknowledgment is to be received. Note also that the values may depend on a largest packet size. Note also that the different and non-overlapping windows in different directions may ensure that repeated collisions are avoided.
Referring now to
As seen, first port 2120 couples to a hub device 220. In various embodiments, device 220 may be a hub device to enable conversion and interfacing between LPS host controller 210 and devices according to another interconnect protocol such as USB devices (e.g., USB2 devices). As such, hub 220 may provide, in addition to conversion of data information between the different protocols, voltage conversion, e.g., from signals having a 1.0 volt system operation via the LPS links to 3.3 volt signals for communication via USB2. As seen, hub 220 can include a plurality of ports (e.g., ports 2220-222n) that can be provided as ports to external devices or internal devices.
Also seen in
Note that host controller 210 may be enabled to provide for support of bridging of LPS and legacy devices for compatibility (such as USB2 devices). In an embodiment, host controller 210 may reuse a USB2 protocol stack and retain a USB programming model, while operating at a lower power level, e.g., due to voltage rails operating at a lower voltage (e.g., one volt). In this way, substantially lower active and idle power can be realized, along with a reduced pin count, as the LPS interconnect may act as a multi-drop bus.
Referring now to
By providing a multi-drop interconnect structure, a plurality of individual devices can be coupled to host controller 310. In various embodiments up to eight and possibly greater amounts of devices may be coupled in a multi-drop fashion. In the embodiment shown, clock and data communication may be differential, with data communicated in a bidirectional, half duplex manner. The arrangement may be controlled by host controller 310 and can be of DC-coupled connection.
As seen in detail in
In a transmit direction, such serial packets may be communicated differentially via a transmit driver 311 via differential signal link 330, which as seen may be coupled to each of devices 3401-340n. In turn, a clock signal, which may be generated on or off die, can be communicated through a clock driver 315 and driven differentially via differential clock link 335 to the plurality of devices. As further seen, termination and pull up impedances can be coupled to links 340 and 345 under control of host controller 310. More specifically, by way of controlling switches, a supply voltage can be coupled to a given one of these links via a corresponding pull up resistance 317. And similarly, via selective coupling of a switch, a reference voltage (e.g., a ground voltage) can be coupled to a given one or more of these links via a corresponding termination resistance 318.
As further seen, incoming data to host controller 310 may be provided to a receive buffer 313 to thus communicate serially received information to the upper layers of host controller 310. Although shown at this high level in the embodiment of
Referring now to
Still referring to
Referring now to
As seen in
Still referring to
In addition, PHY unit 540 may further include an SB link manager 542 that can be used to control SB PHY 544. In addition, a link training and state manager 545 may be present and can be used to adapt the protocol stack, which is of a first communication protocol, to first PHY 550, which is of a second communication protocol, as well as providing overall control of first PHY 550 and interconnect 580.
As further seen, various components may be present in first PHY 550. More specifically, transmitter and receiver circuitry (namely TX 553 and RX 554) may be present. In general, this circuitry may be used to perform serialization operations, deserialization operations along with the transmission and receipt of data via primary interconnect 580. A save state manager 551 may be present and can be used to save a configuration and other state information regarding first PHY 550 when it is in a low-power state. Also, a coder 552 can be present to perform line coding, e.g., according to an 8b/10b protocol.
As further seen in
In addition to these main communication mechanisms, an additional communication interface may be by way of a LPS PHY unit 555, coupled via a separate stack including a software layer 516, a transaction layer 521, and a link layer 531 between cores 510 and one or more off-chip devices 560a-c along an LPS multi-drop interconnect 559. These devices, which can be various low data rate peripheral devices such as sensors, accelerometers, temperature sensors, global positioning system (GPS) circuitry, compass circuitry, touch-screen circuitry, keyboard circuitry, mouse circuitry and so forth, may thus communicate according to the protocol described herein.
Note that in various embodiments, both the sideband interconnect 570 and primary interconnect 580 can couple between SoC 500 and another semiconductor component, e.g., another IC, such as a multi-band radio solution.
Embodiments thus can be used in many different environments. Referring now to
To enable communications to be transmitted and received, various circuitry may be coupled between baseband processor 610 and an antenna 680. Specifically, a radio frequency (RF) transceiver 670 and a wireless local area network (WLAN) transceiver 675 may be present. In general, RF transceiver 670 may be used to receive and transmit wireless data and calls according to a given wireless communication protocol such as 3G or 4G wireless communication protocol such as in accordance with a code division multiple access (CDMA), global system for mobile communication (GSM), long term evolution (LTE) or other protocol. Other wireless communications such as receipt or transmission of radio signals, e.g., AM/FM, or global positioning satellite (GPS) signals may also be provided. In addition, via WLAN transceiver 675, local wireless signals, such as according to a Bluetooth™ standard or an IEEE 802.11 standard such as IEEE 802.11a/b/g/n can also be realized. Note that the link between baseband processor 610 and one or both of transceivers 670 and 675 may be via a low power converged interconnect that combines and maps functionality of a PCIe™ interconnect and a low power interconnect such as a MIPI interconnect. Although shown at this high level in the embodiment of
Embodiments may be used in many different types of systems. For example, in one embodiment a communication device can be arranged to perform the various methods and techniques described herein. Of course, the scope of the present invention is not limited to a communication device, and instead other embodiments can be directed to other types of apparatus for processing instructions, or one or more machine readable media including instructions that in response to being executed on a computing device, cause the device to carry out one or more of the methods and techniques described herein.
Embodiments may be implemented in code and may be stored on a non-transitory storage medium having stored thereon instructions which can be used to program a system to perform the instructions. The storage medium may include, but is not limited to, any type of disk including floppy disks, optical disks, solid state drives (SSDs), compact disk read-only memories (CD-ROMs), compact disk rewritables (CD-RWs), and magneto-optical disks, semiconductor devices such as read-only memories (ROMs), random access memories (RAMs) such as dynamic random access memories (DRAMs), static random access memories (SRAMs), erasable programmable read-only memories (EPROMs), flash memories, electrically erasable programmable read-only memories (EEPROMs), magnetic or optical cards, or any other type of media suitable for storing electronic instructions.
While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention.
This application is a continuation of U.S. patent application Ser. No. 13/532,962, filed Jun. 26, 2012, the content of which is hereby incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
5396376 | Chambors et al. | Mar 1995 | A |
6009488 | Kavipurapu | Dec 1999 | A |
7187307 | Schmidt et al. | Mar 2007 | B1 |
7769883 | Harriman et al. | Aug 2010 | B2 |
7782805 | Belhadj et al. | Aug 2010 | B1 |
7949794 | Ajanovic et al. | May 2011 | B2 |
8924611 | Harriman | Dec 2014 | B2 |
20050078614 | Haartsen | Apr 2005 | A1 |
20060023633 | Caruk et al. | Feb 2006 | A1 |
20060184809 | Kojou et al. | Aug 2006 | A1 |
20070239900 | Beasley et al. | Oct 2007 | A1 |
20080084836 | Baird et al. | Apr 2008 | A1 |
20080233912 | Hunsaker et al. | Sep 2008 | A1 |
20080235528 | Kim et al. | Sep 2008 | A1 |
20090310699 | Kodama | Dec 2009 | A1 |
20100014541 | Harriman et al. | Jan 2010 | A1 |
20100081406 | Tan | Apr 2010 | A1 |
20100254202 | Asauchi | Oct 2010 | A1 |
20100332868 | Tan et al. | Dec 2010 | A1 |
20110016373 | Teruyama et al. | Jan 2011 | A1 |
20110060931 | Radhakrishnan et al. | Mar 2011 | A1 |
20110087952 | Marin et al. | Apr 2011 | A1 |
20130346635 | Morriss et al. | Dec 2013 | A1 |
Number | Date | Country |
---|---|---|
101217348 | Jul 2008 | CN |
101859235 | Oct 2010 | CN |
101958732 | Jan 2011 | CN |
10 2006 017094 | Nov 2006 | DE |
2237161 | Oct 2010 | EP |
WO 01-72067 | Sep 2001 | WO |
Entry |
---|
European Patent Office, Extended Search Report mailed Dec. 23, 2015 in European Patent Application No. 13809192.1. |
International Searching Authority, “Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority,” mailed Oct. 18, 2013, in International application No. PCT/US2013/046460. |
MPI Alliance, “MIPI Alliance Launches New M-PHY and UniPro Specifications for Mobile Device Applications,” Jun. 10, 2011, 1 page. |
MPI Alliance,“Physical Layer Specifications, MIPI Alliance Launches M-PHY v1.0 + UniPro v1.40 Specifications,” 2012, 3 pages. |
Intel Corporation, “An Introduction to the Intel QuickPath Interconnect,” Jan. 2009, pp. 1-22. |
U.S. Appl. No. 13/477,310 entitled, “Optimized Link Training and Management Mechanism,” filed May 22, 2012, by Mahesh Wagh, et al. |
U.S. Appl. No. 13/477,304 entitled, “Providing a Consolidated Sideband Communication Channel Between Devices,” filed May 22, 2012, by David Harriman, et al. |
U.S. Appl. No. 13/477,322 entitled, “Providing a Load/Store Communication Protocol With a Low Power Physical Unit” filed May 22, 2012, by Sridharan Ranganathan, et al. |
Intel Technology Journal, “The Emergence of PCI Express in the Next Generation of Mobile Platforms,” Feb. 17, 2005, 16 pages. |
State Intellectual Property Office of the People's Republic of China, First Office Action mailed Sep. 12, 2016, in Chinese Application in China Application No. 201380027640.5. |
Number | Date | Country | |
---|---|---|---|
20150089107 A1 | Mar 2015 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13532962 | Jun 2012 | US |
Child | 14558942 | US |