US10862730B2 - Selective connection for interface circuitry - Google Patents
Selective connection for interface circuitry Download PDFInfo
- Publication number
- US10862730B2 US10862730B2 US16/144,108 US201816144108A US10862730B2 US 10862730 B2 US10862730 B2 US 10862730B2 US 201816144108 A US201816144108 A US 201816144108A US 10862730 B2 US10862730 B2 US 10862730B2
- Authority
- US
- United States
- Prior art keywords
- usb
- communication
- protocol
- controller
- pins
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
- 230000006854 communication Effects 0.000 claims abstract description 302
- 238000004891 communication Methods 0.000 claims abstract description 302
- 238000011144 upstream manufacturing Methods 0.000 claims description 10
- 230000002093 peripheral effect Effects 0.000 claims description 8
- 230000007175 bidirectional communication Effects 0.000 claims description 3
- 230000001427 coherent effect Effects 0.000 claims description 3
- 238000000034 method Methods 0.000 abstract description 22
- 230000006870 function Effects 0.000 description 17
- 238000004590 computer program Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000003993 interaction Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- H04L29/06—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K1/00—Printed circuits
- H05K1/02—Details
- H05K1/0213—Electrical arrangements not otherwise provided for
Definitions
- Embodiments herein relate generally to the technical field of communication and computing, and more particularly to interface circuitry of a computing bus.
- a computer bus or a communication link may be a part of a communication system that facilitates transfer of data between devices or components inside or between computing or communication devices, coupled to the computer bus.
- a device or component may be coupled to a computing bus through an interface circuitry.
- a computer bus in addition to the hardware components (wire, optical fiber, etc.), may have associated software, communication protocols, and so forth.
- a communication protocol may be a set of rules that allow two devices to communicate information on a computer bus or a communication link between them.
- FIG. 1 illustrates an example computing device including the present disclosure having a coordination circuitry to select a controller to control communication according to a communication protocol, in accordance with various embodiments.
- FIG. 2 illustrates an example computing device including the present disclosure having a coordination circuitry with two finite state machines to select a controller to control communication according to a communication protocol, in accordance with various embodiments.
- FIG. 3 illustrates an example interface circuitry including a plurality of pins, in accordance with various embodiments.
- FIG. 4 illustrates an example process to be performed by a coordination circuitry coupled to an interface circuitry to select a controller to control communication according to a communication protocol, in accordance with various embodiments.
- FIG. 5 illustrates a hardware component view of a computing platform suitable to practice the present disclosure, in accordance with various embodiments.
- FIG. 6 illustrates a storage medium having instructions for practicing methods described with references to FIGS. 1-4 , in accordance with various embodiments.
- a computer bus or a communication link may be a part of a communication system that facilitates transfer of data between devices or components.
- An external device to a computer device may be coupled to a computer bus of the computer device through an interface circuitry of the computer device.
- Operations of the computer bus may be based on various standards or communication protocols, e.g., a universal serial bus (USB) protocol for the USB bus, a peripheral component interconnect (PCI) protocol for the PCI bus, and so forth.
- protocols may be updated from time to time, while maintaining backward compatibility for various generations of the computer bus and its protocols.
- technology change e.g., changes on fabrication technologies, may make it difficult to maintain the backward compatibility.
- an interface circuitry includes a plurality of pins, a selected group of which functions together to communicate with a computing device in a selected one of a plurality of communication protocols.
- a first group of pins of the plurality of pins forms an interface for a first communication protocol, while a second group of pins of the plurality of pins forms an interface for a second communication protocol.
- the first and second group of pins differ from each other at least in part.
- a first controller is coupled to the interface circuitry through the first group of pins and a second controller is coupled to the interface circuitry through the second group of pins.
- a coordination circuitry is to select the first controller to control communication to or from the first group of pins according to the first communication protocol, or select the second controller to control communication to or from the second group of pins according to the second communication protocol.
- the first and second communication protocols differ also differ at least in part.
- an apparatus for communication includes a first controller, a second controller communicatively coupled to the first controller, and coordination circuitry either coupled to the first and second controllers, or disposed in part in the first controller and in part in the second controller.
- the first controller is arranged to operate at a first voltage level to control communication from or to a first group of pins of an interface circuitry according to a first communication protocol.
- the second controller is arranged to operate at a second voltage level to control communication from or to a second group of pins of the interface circuitry according to a second communication protocol.
- the first and second groups of pins of the interface circuitry are different pins at least in part.
- the first and second voltage levels are different voltage levels.
- the first and second communication protocols are different communication protocols at least in part.
- the coordination circuitry is to cause the first controller and the second controller to operate as a unified controller for the interface circuitry for communication in either the first or second communication protocol.
- an apparatus for communication includes a first die having first control circuitry, a second die communicatively coupled to the first die and having second control circuitry, and coordination circuitry, either coupled to the first and second control circuitry, or disposed in part in the first control circuitry and in part in the second control circuitry.
- the first and second dice are different dice.
- the first control circuitry is to control communication from or to a first group of pins of a connector according to a first generation of a serial communication protocol.
- the second control circuitry is to control communication from or to a second group of pins of the connector according to a second generation of the serial communication protocol.
- the first and second group of pins of the connector are different pins at least in part.
- the coordination circuitry is to cause the first and second control circuitry to operate as unified control circuitry for the connector for communication in either the first or the second generation serial communication protocol.
- an apparatus for computing includes a printed circuit board (PCB), a computer processor disposed on the PCB, and a communication port disposed at an edge of the PCB.
- the apparatus further includes a first controller to control communication from or to a first group of pins of the communication port according to a first communication protocol, and a second controller communicatively coupled to the first controller and to control communication from or to a second group of pins of the communication port according to a second communication protocol.
- the first and second group of pins are different pins at least in part.
- the apparatus includes one or more state machines to cause the first and second controllers to operate as a unified controller for the communication port for communication in either the first or second communication protocol.
- phrases “A/B,” “A or B,” and “A and/or B” mean (A), (B), or (A and B).
- the phrases “A, B, or C” and “A, B, and/or C” mean (A), (B), (C), (A and B), (A and C), (B and C), or (A, B and C).
- module may be used to refer to one or more physical or logical components or elements of a system.
- a module may be a distinct circuit, while in other embodiments a module may include a plurality of circuits.
- Coupled may mean one or more of the following. “Coupled” may mean that two or more elements are in direct physical or electrical contact. However, “coupled” may also mean that two or more elements indirectly contact each other, but yet still cooperate or interact with each other, and may mean that one or more other elements are coupled or connected between the elements that are said to be coupled with each other. By way of example and not limitation, “coupled” may mean two or more elements or devices are coupled by electrical connections on a printed circuit board such as a motherboard, for example.
- Coupled may mean two or more elements/devices cooperate and/or interact through one or more network linkages such as wired and/or wireless networks.
- a computing apparatus may include two or more computing devices “coupled” on a motherboard or by one or more network linkages.
- circuitry refers to, is part of, or includes hardware components such as an electronic circuit, a logic circuit, a processor (shared, dedicated, or group) and/or memory (shared, dedicated, or group), an Application Specific Integrated Circuit (ASIC), a field-programmable device (FPD), (for example, a field-programmable gate array (FPGA), a programmable logic device (PLD), a complex PLD (CPLD), a high-capacity PLD (HCPLD), a structured ASIC, or a programmable System on Chip (SoC)), digital signal processors (DSPs), etc., that are configured to provide the described functionality.
- the circuitry may execute one or more software or firmware programs to provide at least some of the described functionality.
- processor circuitry may refer to, is part of, or includes circuitry capable of sequentially and automatically carrying out a sequence of arithmetic or logical operations; recording, storing, and/or transferring digital data.
- processor circuitry may refer to one or more application processors, one or more baseband processors, a physical central processing unit (CPU), a single-core processor, a dual-core processor, a triple-core processor, a quad-core processor, and/or any other device capable of executing or otherwise operating computer-executable instructions, such as program code, software modules, and/or functional processes.
- interface circuitry may refer to, is part of, or includes circuitry providing for the exchange of information between two or more components or devices.
- interface circuitry may refer to one or more hardware interfaces (for example, buses, input/output (I/O) interfaces, peripheral component interfaces, network interface cards, and/or the like).
- the term “computer device” may describe any physical hardware device capable of sequentially and automatically carrying out a sequence of arithmetic or logical operations, equipped to record/store data on a machine readable medium, and transmit and receive data from one or more other devices in a communications network.
- a computer device may be considered synonymous to, and may hereafter be occasionally referred to, as a computer, computing platform, computing device, etc.
- the term “computer system” may include any type interconnected electronic devices, computer devices, or components thereof. Additionally, the term “computer system” and/or “system” may refer to various components of a computer that are communicatively coupled with one another.
- computer system and/or “system” may refer to multiple computer devices and/or multiple computing systems that are communicatively coupled with one another and configured to share computing and/or networking resources.
- Examples of “computer devices”, “computer systems”, etc. may include cellular phones or smart phones, feature phones, tablet personal computers, wearable computing devices, an autonomous sensors, laptop computers, desktop personal computers, video game consoles, digital media players, handheld messaging devices, personal data assistants, an electronic book readers, augmented reality devices, server computer devices (e.g., stand-alone, rack-mounted, blade, etc.), cloud computing services/systems, network elements, in-vehicle infotainment (IVI), in-car entertainment (ICE) devices, an Instrument Cluster (IC), head-up display (HUD) devices, onboard diagnostic (OBD) devices, dashtop mobile equipment (DME), mobile data terminals (MDTs), Electronic Engine Management Systems (EEMSs), electronic/engine control units (ECUs), vehicle-embedded computer devices (VECDs), autonomous or semi-
- network element may be considered synonymous to and/or referred to as a networked computer, networking hardware, network equipment, router, switch, hub, bridge, radio network controller, radio access network device, gateway, server, and/or any other like device.
- network element may describe a physical computing device of a wired or wireless communication network and be configured to host a virtual machine.
- network element may describe equipment that provides radio baseband functions for data and/or voice connectivity between a network and one or more users.
- network element may be considered synonymous to and/or referred to as a “base station.”
- base station may be considered synonymous to and/or referred to as a node B, an enhanced or eNB, gNB, base transceiver station (BTS), access point (AP), roadside unit (RSU), etc., and may describe equipment that provides the radio baseband functions for data and/or voice connectivity between a network and one or more users.
- V2V vehicle-to-vehicle
- V2V may refer to any communication involving a vehicle as a source or destination of a message.
- V2I vehicle-to-infrastructure
- V2N vehicle-to-network
- V2P vehicle-to-pedestrian
- V2X V2X communications
- channel may refer to any transmission medium, either tangible or intangible, which is used to communicate data or a data stream.
- the term “channel” may be synonymous with and/or equivalent to “physical channel,” “communications channel,” “data communications channel,” “transmission channel,” “data transmission channel,” “access channel,” “data access channel,” “link,” “data link,” “carrier,” “radiofrequency carrier,” and/or any other like term denoting a pathway or medium through which data is communicated.
- link may refer to a connection between two devices through a Radio Access Technology (RAT) for the purpose of transmitting and receiving information.
- RAT Radio Access Technology
- FIG. 1 illustrates an example computing device 110 including the present disclosure having a coordination circuitry to select a controller to control communication to or from interface circuitry, according to a corresponding communication protocol, in accordance with various embodiments.
- the coordination circuitry 108 features of the computing device 110 , the coordination circuitry 108 , the controllers 105 and 107 , and the interface circuitry 101 are described below as an example of a computing device including a coordination circuitry to select a controller to control communication to or from an interface circuitry according to a corresponding communication protocol. It is to be understood that there may be more or fewer components included in the computing device 110 , the coordination circuitry 108 , the controllers 105 and 107 , and the interface circuitry 101 .
- one or more of the devices and components within the computing device 110 , the coordination circuitry 108 , the controllers 105 and 107 , and the interface circuitry 101 may include additional and/or varying features from the description below, and may include any device that one having ordinary skill in the art would consider and/or refer to as a computing device including a coordination circuitry coupled to an interface circuitry to select a controller to control communication according to a communication protocol.
- the computing device 110 includes the interface circuitry 101 , a controller 105 , a controller 107 , the coordination circuitry 108 , and a processor 109 . Additional components, e.g., such as a memory 160 , one or more memory or input/output (I/O) controllers 150 , or other I/O devices 170 , may be included in the computing device as well.
- the computing device 110 further includes additional interface circuitry 140 .
- the controller 105 , the controller 107 , the coordination circuitry 108 , the processor 109 , the memory 160 , the one or more memory or I/O controllers 150 , or the other I/O devices 170 are coupled together by one or more interconnects, e.g., an interconnect 131 a , an interconnect 131 b , an interconnect 131 c , an interconnect 132 , an interconnect 133 , an interconnect 134 , and an interconnect 135 .
- the controller 105 and the controller 107 are coupled to the interface circuitry 101 , or the additional interface circuitry 140 by an interconnect bus 106 .
- the controller 105 is arranged to operate at a voltage 121 , while the controller 107 is arranged to operate at a voltage 123 , where the voltage 121 and the voltage 123 have different voltage levels.
- the voltage level for the voltage 121 is less than 3.0 voltage
- the voltage level for the voltage 123 is larger than or equal to 3.3 voltage.
- the controller 105 is communicatively coupled to the controller 107 .
- the computing device 110 is to be coupled to an external device 120 through the interface circuitry 101 .
- the computing device 110 may operate with the interface circuitry 101 as upstream facing ports in a device mode, while the external device 120 may operate in a host mode. Additionally and alternatively, the computing device 110 may operate in a host mode with the interface circuitry 101 as downstream facing ports to the external device 120 , while the external device 120 may operate in a device mode.
- the interface circuitry 101 includes a plurality of pins, e.g., a pin 111 , a pin 112 , a pin 113 , a pin 114 , a pin 115 , a pin 116 , a pin 117 , a pin 118 , and a pin 119 .
- the number of pins are illustrated as examples only, and the interface circuitry 101 may have different number pins.
- the plurality of pins e.g., the pin 111 to the pin 119 , individual groups of which may function together to facilitate communicate between the computing device 110 and the external device 120 according to a selected communication protocol.
- the plurality of pins may include a first group of pins, e.g., the pin 111 to the pin 114 , to form an interface 102 for a first communication protocol, and a second group of pins, e.g., the pin 115 to the pin 118 , to form an interface 103 for a second communication protocol.
- the interface circuitry 101 may include one or more pins, e.g., the pin 119 (with some or none of pins 111 - 118 ), to be used for communication in a third communication protocol, differs from the first and second communication protocols.
- the controller 105 is coupled to the interface circuitry 110 through the first group of pins, e.g., the pin 111 to the pin 114 , while communications to or from the pin 111 to the pin 114 are according to the first communication protocol.
- the controller 107 is coupled to the interface circuitry 110 through the second group of pins, e.g., the pin 115 to the pin 118 , while communications to or from the pin 115 to the pin 118 are according to the second communication protocol.
- the controller 105 when the computing device 110 is to operate in the host mode with interface circuitry 101 as downstream facing ports to the external device 120 , the controller 105 is to detect a first connection request from the external device 120 through the first group of pins of the interface 102 . Similarly, the controller 107 is to detect a second connection request from the external device 120 through the second group of pins of the interface 103 .
- the coordination circuitry 108 when the computing device 110 is to operate in the device mode with interface circuitry 101 as upstream facing ports to the external device 120 that is to operate as the host, the coordination circuitry 108 is to select the controller 105 to control communication with the computing device 120 , through the first group of pins of the interface 102 , according to the first communication protocol. Additionally and alternatively, the coordination circuitry 108 is to select the controller 107 to control communication with the external device 120 , through the second group of pins of the interface 103 , according to the second communication protocol. As a result, the interface circuitry 101 may function as a unified controller for communication in either the first or second communication protocol to communicate with the external device 120 without an extra interface circuitry.
- the first protocol, and the second protocol may be a bi-directional communication protocol, or a half-duplex communication protocol.
- the first protocol and the second protocol may be related to each other.
- the first protocol may be a first generation of a serial communication protocol
- the second protocol may be a second generation of a serial communication protocol.
- the first communication protocol is a USB 3.x protocol
- the second communication protocol is a USB 2.0 or USB 1.1 protocol
- the interface circuitry is a USB type-C interface circuitry.
- the third communication protocol is a selected one of a mobile industry processor interface display serial interface (MIPI-DSI) protocol, a high-definition multimedia interface (HDMI) protocol, a display port (DP) protocol, a Miracast protocol, a wireless display (WiDi) protocol, a serial peripheral interface (SPI) protocol, a scalable coherent interface (SCI) protocol, a small computer system interface (SCSI) protocol, a peripheral component interconnect (PCI) protocol, a parallel advanced technology attachment (PATA) protocol, a serial ATA (SATA) protocol, an IEEE 1394 interface (FireWire) protocol, an inter-integrated circuit (I 2 C) protocol, a small computer system interface (SCSI) protocol, or other computer bus protocols.
- MIPI-DSI mobile industry processor interface display serial interface
- HDMI high-definition multimedia interface
- DP display port
- Miracast protocol a wireless display
- WiDi wireless display
- SPI serial peripheral interface
- SCI scalable coherent interface
- SCSI small computer system
- the computing device 110 may otherwise be any computing system, for example, a laptop computer, an ultra-laptop computer, a tablet, a touch pad, a portable computer, a handheld computer, a wearable device, a palmtop computer, a personal digital assistant (PDA), an e-reader, a cellular telephone, a combination cellular telephone/PDA, a mobile smart device (e.g., a smart phone, a smart tablet, etc.), a mobile internet device (MID), a mobile messaging device, a mobile data communication device, a mobile media playing device, a camera, a mobile gaming console, etc.
- a laptop computer an ultra-laptop computer
- a tablet a touch pad
- a portable computer a handheld computer
- a wearable device e.reader
- a palmtop computer e.g., a combination cellular telephone/PDA
- a mobile smart device e.g., a smart phone, a smart tablet, etc.
- MID mobile internet device
- the computing device 110 may also be a non-mobile device that may include, but is not to be limited to, for example, a personal computer (PC), a television, a smart television, a data communication device, a media playing device, a gaming console, a gateway, an Internet of Things (IOT) device, etc.
- the computing device 110 include processors (such as processor 109 ) and other components that execute software and/or control hardware to execute local programs or consume services provided by external service providers over a network.
- the computing device 110 may also, or instead, include a web interface running in a browser from which the electronic apparatus can access such web-based services.
- the computing device 110 may also include storage devices to store logic and data associated with the programs and services used by the computing device 110 .
- the processor 109 may be a central processing unit (CPU) located in a printed circuit board (PCB). In some embodiments, the processor 109 may be a programmable device that may execute a program. In embodiments, the processor 109 may be a microcontroller, a 16-bit processor, a 32-bit processor, a 64-bit processor, a single core processor, a multi-core processor, a digital signal processor, an embedded processor, or any other processor. In embodiments, an operating system may be operated on the processor 109 , which may include the system driver for various protocols, the first protocol, or the second protocol. The operating system may include any system software that manages hardware or software resources for the computing device 110 , and may provide services to applications.
- CPU central processing unit
- PCB printed circuit board
- the operating system may be Windows®, Android OS, iOS, Linux, a real-time operating system (RTOS), an automotive infotainment operating system, among others.
- the operating system may be a real-time operating system such as VxWorks, PikeOS, eCos, QNX, MontaVista Linux, RTLinux, Windows CE, or other operating system.
- the computing device 110 , the coordination circuitry 108 , the controller 105 , the controller 107 , and the processor 109 may be implemented in various ways.
- the controller 105 and the controller 107 may be implemented as control circuitries.
- the interface circuitry 101 may be implemented as a connector or a communication port.
- the coordination circuitry 108 may be either coupled to the first and second controllers, or disposed in part in the controller 105 and in part in the controller 107 .
- the computing device 110 , the coordination circuitry 108 , the controller 105 , the controller 107 , and the processor 109 may be implemented by a computing platform 500 shown in FIG.
- a computer-readable medium e.g., the computer-readable medium 602 as shown in FIG. 6
- the logic e.g., with appropriate bit streams, logic blocks, etc.
- FIG. 2 illustrates an example computing device 210 including the present disclosure having a coordination circuitry 208 with two finite state machines to select a controller to control communication according to a communication protocol, in accordance with various embodiments.
- the computing device 210 and the coordination circuitry 208 may be examples of the computing device 110 and the coordination circuitry 108 , as shown in FIG. 1 .
- the detailed description for each part of the computing device 210 and the coordination circuitry 208 may be similar to the description of a similar part for the computing device 110 and the coordination circuitry 108 .
- the computing device 210 includes a controller 205 , a controller 207 , and the coordination circuitry 208 .
- the computing device 210 also includes interface circuitry 201 .
- computing device 210 may include a processor, memory, one or more memory or I/O controllers, or other I/O devices, not shown.
- the controller 205 , the controller 207 , and the coordination circuitry 208 are coupled together by one or more interconnects, e.g., an interconnect 231 a , an interconnect 231 b , and an interconnect 231 c .
- the controller 205 and the controller 207 are coupled to the interface circuitry 201 by an interconnect bus 206 .
- the coordination circuitry 208 includes a first finite state machine 241 and a second finite state machine 251 coupled to the first finite state machine 241 by an interconnect 231 d.
- the computing device 210 is to be coupled to an external computing device through the interface circuitry 201 .
- the computing device 210 may operate in a device mode with interface circuitry 201 as upstream facing ports to the external computing device, or operate in a host mode with interface circuitry 201 as downstream facing ports to the external device.
- the interface circuitry 201 includes a plurality of pins, e.g., a pin 211 , a pin 212 , a pin 213 , a pin 214 , a pin 215 , a pin 216 , a pin 217 , a pin 218 , and a pin 219 .
- a first group of pins e.g., the pin 211 to the pin 214 , forms an interface 202 for a first communication protocol
- a second group of pins e.g., the pin 215 to the pin 218 , forms an interface 203 for a second communication protocol.
- the plurality of pins e.g., the pin 211 to the pin 219 , selected groups of which may function together to communicate with an external device as a unified controller for communication in either the first, second or even a third communication protocol.
- the first, second and third communication protocols are different communication protocols.
- the interface circuitry 301 includes a plurality of pins, e.g., pins A 1 to A 12 , and pins B 1 to B 12 , forming a USB type-C connector. Group of these pins function together to communicate with a computing device according to a USB 3.x or 2.0/1.1 protocol. More specifically, a first group of pins, including e.g., the pins A 2 and A 3 , B 10 and B 11 , forms an interface 302 for communication in accordance with USB 3.x protocol. In addition, a second group of pins, including e.g., the pin A 6 and A 7 , B 6 and B 7 , forms an interface 303 for communication in accordance with USB 2.0 or USB 1.1 protocol.
- a first group of pins including e.g., the pins A 2 and A 3 , B 10 and B 11 , forms an interface 302 for communication in accordance with USB 3.x protocol.
- a second group of pins including e.g., the pin A 6 and A 7
- the controller 205 is coupled to the interface circuitry 201 through the first group of pins, e.g., the pin 211 to the pin 214 .
- the controller 207 is coupled to the interface circuitry 201 through the second group of pins, e.g., the pin 215 to the pin 218 .
- the coordination circuitry 208 is to select the controller 205 to control communication through the first group of pins of the interface 202 , according to the first communication protocol. Additionally and alternatively, the coordination circuitry 208 is to select the controller 207 to control communication to or from the second group of pins of the interface 203 , according to the second communication protocol.
- the interface circuitry 201 is a USB type-C interface circuitry.
- the first communication protocol is a USB 3.x protocol
- the controller 205 is a USB 3.x controller.
- the second communication protocol is a USB 2.0 or USB 1.1 protocol
- the controller 207 is a USB 2.0 or USB 1.1 controller.
- the coordination circuitry 208 includes the first finite state machine 241 , a first circuitry 242 , the second finite state machine 251 , and a second circuitry 252 .
- the first finite state machine 241 is to select the controller 205 to control communication through the first group of pins, e.g., the pin 211 to the pin 214 , of the interface circuitry 201 according to the first communication protocol.
- the second finite state machine 251 is to select the controller 207 to control communication through the second group of pins, e.g., the pin 215 to the pin 218 , of the interface circuitry 201 , according to the second communication protocol.
- the first finite state machine 241 includes a state 243 , a state 245 , and a state 247 .
- the first finite state machine 241 selects the controller 205 to control communication through the first group of pins, e.g., the pin 211 to the pin 214 , of the interface circuitry 201 .
- the first finite state machine 241 sets the first circuitry 242 to indicate to an external device, e.g., a host, the controller 205 to control communication through the first group of pins, e.g., the pin 211 to the pin 214 , of the interface circuitry 201 .
- the first finite state machine 241 is to select the controller 205 , which is a USB 3.x controller, to control communication according to the USB 3.x protocol through the first group of pins of the USB type-C interface circuitry.
- the first finite state machine 241 is also to set the first circuitry 242 to indicate the USB 3.x controller is to control communication.
- the second finite state machine 251 is to select the controller 207 , which is a USB 2.0 or USB 1.1 controller to control communication according to the USB 2.0 or USB 1.1 protocol through the second group of pins of the USB type-C interface circuitry.
- the first finite state machine 241 When the first finite state machine 241 fails to select the controller 205 , the first finite state machine 241 moves to the state 245 . In the state 245 , the first finite state machine 241 acts as a master device to send a message to the second finite state machine 251 to activate the controller 207 . Once the message is sent to the second finite state machine 251 , the first finite state machine 241 moves to the state 247 to wait to receive messages from the second finite state machine 251 .
- the controller 205 is a USB 3.x controller to control communication according to the USB 3.x protocol through the first group of pins of the USB type-C interface circuitry.
- the controller 207 is a USB 2.0 or USB 1.1 controller to control communication according to the USB 2.0 or USB 1.1 protocol through the second group of pins of the USB type-C interface circuitry.
- the first finite state machine 241 sends a message to the second finite state machine 251 to activate the controller 207 when the first finite state 241 machine has failed to select the USB 3.x controller to control communication according to the USB 3.x protocol through the first group of pins of the USB type-C interface circuitry.
- the second finite state machine 251 is in the state 255 to receive the message from the first finite state machine 241 . Once the second finite state machine 251 receives the message from the first finite state machine 241 , the second finite state machine 251 attempts to select the controller 207 to control the communication. When the selection of the controller 207 is successful, the second finite state machine 251 moves to the state 253 . In addition, the second finite state machine 251 further sets the second circuitry 252 to indicate the controller 207 to control communication through the second group of pins, e.g., the pin 215 to the pin 218 , of the interface circuitry 201 . For example, the second finite state machine 251 sets the second circuitry 252 to indicate the controller 207 , e.g., a USB 2.0 or USB 1.1 controller, is to control communication.
- the controller 207 e.g., a USB 2.0 or USB 1.1 controller
- the second finite state machine 251 moves to the state 257 , and sends a message to the first finite state machine 241 , which is in the state 247 to receive a message from the finite state machine 251 .
- the first finite state machine 241 in the state 247 receives the message from the second finite state machine 251
- the first finite state machine 241 attempts to select the controller 205 to control the communication.
- the selection of the controller 205 is successful, the first finite state machine 241 moves to the state 243 .
- the first finite state machine 241 moves to the state 245 , and sends a message to the second finite state machine 251 .
- the second finite state machine 251 sends a message to the first finite state machine 241 when the second finite state machine 251 has failed to select the USB 2.0 or USB 1.1 controller to control communication to the host according to the USB 2.0 or USB 1.1 protocol through the second group of pins of the USB type-C interface circuitry.
- the controller 205 is on a die 222 , which may also include the first finite state machine 241 and the first circuitry 242 .
- the controller 207 is on a die 224 , which may also include the second finite state machine 251 and the second circuitry 252 .
- the computing device 210 including the interface circuitry 201 , the controller 205 , the controller 207 , and the coordination circuitry 208 is within a package 226 .
- the controller 205 operates at a first voltage 221
- the controller 207 operates at a second voltage 223 different from the first voltage.
- the first voltage is larger than or equal to 3.3 voltage
- the second voltage is less than 3.0 voltage.
- the controller 205 is a USB 3.x controller
- the controller 207 is a USB 2.0 or USB 1.1 controller.
- a USB 2.0 is a legacy protocol operating at 3.3V.
- a high voltage e.g., greater than or equal to 3.3V, may no longer supported.
- the computing device 210 including the controller 205 as a low voltage USB 3.x controller and the controller 207 as a high voltage USB 2.0 or USB 1.1 controller may solve the incompatibility of the legacy USB 2.0 on the advance process nodes with the new USB Type C based high-speed protocols and usages.
- the coordination circuitry 208 allows the distributed controllers, e.g., the controller 205 and the controller 207 , to be seen as a single controller externally to the computing device 220 .
- the coordination circuitry 208 may be implemented by various architectures and technologies.
- the first finite state machine 241 and the second finite state machine 251 are merely one way to implement the coordination circuitry 208 .
- FIG. 4 illustrates an example process 400 to be performed by a coordination circuitry coupled to an interface circuitry to select a controller to control communication according to a communication protocol, in accordance with various embodiments.
- the process 400 may be a process performed by the coordination circuitry 108 coupled to the interface circuitry 101 to select a controller to control communication according to a communication protocol as described in FIG. 1 , or performed by the coordination circuitry 208 coupled to the interface circuitry 201 to select a controller to control communication according to a communication protocol as described in FIG. 2 .
- the process 400 may start at an interaction 401 .
- the coordination circuitry selects a first controller to control communication through a first group of pins of an interface circuitry.
- the coordination circuitry 208 selects the controller 205 to control communication through the first group of pins, e.g., the pins 211 to pins 214 , of the interface circuitry 201 .
- the coordination circuitry sets a first circuitry to indicate to a host the first controller to control communication through the first group of pins of the interface circuitry.
- the coordination circuitry 208 sets the first circuitry 242 to indicate to a host, e.g., the computing device 220 , the controller 205 to control communication through the first group of pins of the interface circuitry 201 .
- the coordination circuitry selects a second controller to control the communication through a second group of pins of the interface circuitry when the first controller is not selected to control communication.
- the coordination circuitry 208 selects the controller 207 to control the communication through a second group of pins, e.g., the pins 215 to pins 218 , of the interface circuitry 201 when the controller 205 is not selected to control communication.
- the coordination circuitry sets a second circuitry to indicate to the host, the second controller to control communication through the second group of pins of the interface circuitry.
- the coordination circuitry 208 sets the second circuitry 252 to indicate to the host, e.g., the computing device 220 , the controller 207 to control communication through the second group of pins of the interface circuitry 201 .
- FIG. 5 illustrates a hardware component view of a computing platform 500 for a coordination circuitry coupled to an interface circuitry to select a controller to control communication according to a communication protocol, in accordance with various embodiments.
- the computing platform 500 may include one or more SoCs 502 , ROM 503 and system memory 504 .
- Each SoCs 502 may include one or more processor cores (CPUs), one or more graphics processor units (GPU), one or more accelerators, such as computer vision (CV) and/or deep learning (DL) accelerators.
- ROM 503 may include BIOS 505 .
- CPUs, GPUs, and CV/DL accelerators may be any one of a number of these elements known in the art.
- BIOS basic input/output system services
- BIOS basic input/output system services
- system memory 504 may be any one of a number of volatile storage known in the art.
- computing platform 500 may include persistent storage devices 506 .
- persistent storage devices 506 may include, but are not limited to, flash drives, hard drives, compact disc read-only memory (CD-ROM) and so forth.
- computing platform 500 may include input/output (I/O) device interface(s) 508 to interface with one or more I/O devices (such as display, keyboard, cursor control and so forth) and communication interfaces 510 (such as network interface cards, modems and so forth).
- I/O input/output
- I/O device 508 may include a connector/port 519 , a controller 515 or a controller 517 , and a coordination circuitry 518 coupled to the connector/port 519 to select a controller 515 or 517 , to control communication to or from the connector/port 519 according to a communication protocol.
- the connector/port 519 may be similar to interface circuitry 101 of FIG. 1 or interface circuitry 201 of FIG. 2
- the coordination circuitry 518 , the controller 515 , or the controller 517 may be similar to the coordination circuitry 108 , the controller 105 , or the controller 107 in FIG. 1 , or the coordination circuitry 208 , the controller 205 , or the controller 207 in FIG. 2 .
- the computing platform 500 may further include a number of sensors 520 .
- Communication and I/O devices 508 may include any number of communication and I/O devices known in the art, a communication port 507 , which may be an example of the interface circuitry 101 or the interface circuitry 201 .
- Examples of communication devices may include, but are not limited to, networking interfaces for Bluetooth®, Near Field Communication (NFC), WiFi, Cellular communication (such as LTE, 4G, or 5G) and so forth.
- the elements may be coupled to each other via system bus 512 , which may represent one or more buses. In the case of multiple buses, they may be bridged by one or more bus bridges (not shown).
- Sensors 520 may include light detection and ranging (LiDAR) sensors, geo-positioning sensors, gyroscopes, accelerometers, temperature sensors, humidity sensors, and so forth.
- LiDAR light detection and ranging
- ROM 503 may include BIOS 505 having a boot loader.
- system memory 504 and mass storage devices 506 may be employed to store a working copy and a permanent copy of the programming instructions implementing the operations associated with an operating system, one or more applications, collectively referred to as computational logic 522 .
- the computational logic 522 may be implemented by assembler instructions supported by processor core(s) of SoCs 502 or high-level languages, such as, for example, C, that can be compiled into such instructions.
- the present disclosure may be embodied as methods or computer program products. Accordingly, the present disclosure, in addition to being embodied in hardware as earlier described, may take the form of an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to as a “circuit,” “module” or “system.” Furthermore, the present disclosure may take the form of a computer program product embodied in any tangible or non-transitory medium of expression having computer-usable program code embodied in the medium.
- FIG. 6 illustrates a storage medium having instructions for practicing methods described with references to FIGS. 1-4 , in accordance with various embodiments.
- non-transitory computer-readable storage medium 602 may include a number of programming instructions 604 .
- Programming instructions 604 may be configured to enable a device, e.g., a microcontroller or programmable circuit within I/O device interface 508 of computing platform 500 , in response to execution of the programming instructions, to implement (aspects of) operations associated with the coordination circuitry and/or the controllers to select one of the controllers to control communication to or from an interface circtruiy according to a communication protocol, as earlier described.
- programming instructions 604 may be disposed on multiple computer-readable non-transitory storage media 602 instead.
- programming instructions 604 may be disposed on computer-readable transitory storage media 602 , such as, signals.
- the computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium.
- the computer-readable medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a transmission media such as those supporting the Internet or an intranet, or a magnetic storage device.
- RAM random access memory
- ROM read-only memory
- EPROM or Flash memory erasable programmable read-only memory
- CD-ROM compact disc read-only memory
- CD-ROM compact disc read-only memory
- a transmission media such as those supporting the Internet or an intranet, or a magnetic storage device.
- a computer-usable or computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory.
- a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
- the computer-usable medium may include a propagated data signal with the computer-usable program code embodied therewith, either in baseband or as part of a carrier wave.
- the computer usable program code may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc.
- Computer program code for carrying out operations of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
- the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- LAN local area network
- WAN wide area network
- Internet Service Provider for example, AT&T, MCI, Sprint, EarthLink, MSN, GTE, etc.
- These computer program instructions may also be stored in a computer-readable medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
- the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
- Embodiments may be implemented as a computer process, a computing system or as an article of manufacture such as a computer program product of computer readable media.
- the computer program product may be a computer storage medium readable by a computer system and encoding a computer program instructions for executing a computer process.
- Example 1 may include an apparatus for communication, comprising: a first controller arranged to operate at a first voltage level to control communication from or to a first group of pins of an interface circuitry, coupled to the apparatus, according to a first communication protocol; a second controller communicatively coupled to the first controller, and arranged to operate at a second voltage level to control communication from or to a second group of pins of the interface circuitry according to a second communication protocol; and coordination circuitry, either coupled to the first and second controllers, or disposed in part in the first controller and in part in the second controller, to cause the first controller and the second controller to operate as a unified controller for the interface circuitry for communication in either the first or second communication protocol; wherein the first and second voltage levels are different voltage levels; the first and second communication protocols are different communication protocols at least in part; and the first and second groups of pins are different pins at least in part.
- Example 2 may include the apparatus of example 1 and/or some other examples herein, wherein the interface circuity, via the apparatus, is coupled to a host, and the apparatus is to operate in a device mode as upstream facing ports to the host.
- Example 3 may include the apparatus of example 1 and/or some other examples herein, further including an interconnect to couple the coordination circuitry, the first controller, and the second controller.
- Example 4 may include the apparatus of example 1 and/or some other examples herein, wherein the first voltage level is larger than or equal to 3.3 voltage, and the second voltage level is less than 3.0 voltage.
- Example 5 may include the apparatus of example 1 and/or some other examples herein, wherein the first communication protocol is a USB 3.x protocol, the second communication protocol is a USB 2.0 or USB 1.1 protocol, and the interface circuitry is a USB type-C interface circuitry.
- the first communication protocol is a USB 3.x protocol
- the second communication protocol is a USB 2.0 or USB 1.1 protocol
- the interface circuitry is a USB type-C interface circuitry.
- Example 6 may include the apparatus of example 1 and/or some other examples herein, the first protocol, or the second protocol is a bi-directional communication protocol, or a half-duplex communication protocol.
- Example 7 may include the apparatus of example 1 and/or some other examples herein, wherein the interface circuitry further includes a third group of pins to facilitate communication to or from the third group of pins, according to a third communication protocol, selected from either a mobile industry processor interface display serial interface (MIPI-DSI) protocol, a high-definition multimedia interface (HDMI) protocol, a display port (DP) protocol, a Miracast protocol, a wireless display (WiDi) protocol, a serial peripheral interface (SPI) protocol, a scalable coherent interface (SCI) protocol, a small computer system interface (SCSI) protocol, a peripheral component interconnect (PCI) protocol, or an inter-integrated circuit (I 2 C) protocol; wherein the third communication protocol differs from the first and second communication protocols, and the third group of pins differ from the first and second groups of pins, at least in part.
- a third communication protocol selected from either a mobile industry processor interface display serial interface (MIPI-DSI) protocol, a high-definition multimedia
- Example 8 may include the apparatus of example 1 and/or some other examples herein, wherein the coordination circuitry includes a first finite state machine, and a second finite state machine coupled to the first finite state machine by an interconnect; wherein the first finite state machine is to select the first controller to control communication to or from the first group of pins of the interface circuitry according to the first communication protocol; and wherein the second finite state machine is to select the second controller to control communication to or from the second group of pins of the interface circuitry according to the second communication protocol.
- the coordination circuitry includes a first finite state machine, and a second finite state machine coupled to the first finite state machine by an interconnect; wherein the first finite state machine is to select the first controller to control communication to or from the first group of pins of the interface circuitry according to the first communication protocol; and wherein the second finite state machine is to select the second controller to control communication to or from the second group of pins of the interface circuitry according to the second communication protocol.
- Example 9 may include the apparatus of example 8 and/or some other examples herein, wherein the first communication protocol is a USB 3.x protocol, the second communication protocol is a USB 2.0 or USB 1.1 protocol, and the interface circuitry is a USB type-C interface circuitry, the first controller is a USB 3.x controller, the second controller is a USB 2.0 or USB 1.1 controller, the first finite state machine is to select the USB 3.x controller to control communication according to the USB 3.x protocol through the first group of pins of the USB type-C interface circuitry, and the second finite state machine is to select the USB 2.0 or USB 1.1 controller to control communication according to the USB 2.0 or USB 1.1 protocol through the second group of pins of the USB type-C interface circuitry.
- the first communication protocol is a USB 3.x protocol
- the second communication protocol is a USB 2.0 or USB 1.1 protocol
- the interface circuitry is a USB type-C interface circuitry
- the first controller is a USB 3.x controller
- the second controller is a USB 2.0 or USB 1.1 controller
- Example 10 may include an apparatus for communication, comprising: a first die having first control circuitry to control communication from or to a first group of pins of a connector according to a first generation of a serial communication protocol; a second die communicatively coupled to the first die and having second control circuitry to control communication from or to a second group of pins of the connector according to a second generation of the serial communication protocol; and coordination circuitry, either coupled to the first and second control circuitry, or disposed in part in the first control circuitry and in part in the second control circuitry, to cause the first and second control circuitry to operate as unified control circuitry for the connector for communication in either the first or second generation serial communication protocol; wherein the first and second dice are different dice; and the first and second group of pins are different pins at least in part.
- Example 11 may include the apparatus of example 10 and/or some other examples herein, wherein the apparatus including the first die and the second die is within a package.
- Example 12 may include the apparatus of example 10 and/or some other examples herein, wherein the connector, via the apparatus, is coupled to a host, and the apparatus is to operate in a device mode as upstream facing ports to the host.
- Example 13 may include the apparatus of example 10 and/or some other examples herein, wherein the apparatus is to operate in a host mode as downstream facing ports to an external device coupled to the connector, and wherein the first controller is to detect a first connection request from the external device through the first group of pins, or the second controller is to detect a second connection request from the external device through the second group of pins.
- Example 14 may include the apparatus of example 10 and/or some other examples herein, wherein the first generation of a serial communication protocol is a USB 3.x protocol, the second generation of the serial communication protocol is a USB 2.0 or USB 1.1 protocol, and the connector is a USB type-C connector.
- the first generation of a serial communication protocol is a USB 3.x protocol
- the second generation of the serial communication protocol is a USB 2.0 or USB 1.1 protocol
- the connector is a USB type-C connector.
- Example 15 may include the apparatus of example 10 and/or some other examples herein, wherein the first die is to operate at a first voltage level, the second die is to operate at a second voltage level, and the first and second voltage levels are different voltage levels.
- Example 16 may include the apparatus of example 10 and/or some other examples herein, wherein the coordination circuitry includes a first finite state machine, and a second finite state machine coupled to the first finite state machine by an interconnect, wherein the first finite state machine is to select the first control circuitry to control communication to or from the first group of pins of the connector according to the first generation of the serial communication protocol, and the second finite state machine is to select the second control circuitry to control communication to or from the second group of pins of the connector according to the second generation of the serial communication protocol.
- the coordination circuitry includes a first finite state machine, and a second finite state machine coupled to the first finite state machine by an interconnect, wherein the first finite state machine is to select the first control circuitry to control communication to or from the first group of pins of the connector according to the first generation of the serial communication protocol, and the second finite state machine is to select the second control circuitry to control communication to or from the second group of pins of the connector according to the second generation of the serial communication
- Example 17 may include the apparatus of example 16 and/or some other examples herein, wherein the connector is a USB type-C connector, the first generation of the serial communication protocol is a USB 3.x protocol, and the second generation of the serial communication protocol is a USB 2.0 or USB 1.1 protocol, the first control circuitry is a USB 3.x controller, the second control circuitry is a USB 2.0 or USB 1.1 controller, the first finite state machine is to select the USB 3.x control circuitry to control communication according to the USB 3.x protocol to or from the first group of pins of the USB type-C connector, and the second finite state machine is to select the USB 2.0 or USB 1.1 control circuitry to control communication according to the USB 2.0 or USB 1.1 protocol to or from the second group of pins of the USB type-C connector.
- the connector is a USB type-C connector
- the first generation of the serial communication protocol is a USB 3.x protocol
- the second generation of the serial communication protocol is a USB 2.0 or USB 1.1 protocol
- the first control circuitry is a USB 3.x controller
- Example 18 may include the apparatus of example 17 and/or some other examples herein, wherein the coordination circuitry further includes first and second circuitry; wherein the first circuity is coupled to the first finite state machine to indicate whether the USB 3.x controller is to control communication; and wherein the second circuity is coupled to the second finite state machine to indicate whether the USB 2.0 or USB 1.1 controller is to control communication.
- Example 19 may include the apparatus of example 17 and/or some other examples herein, wherein the first finite state machine acts as a master device to the second finite state machine; wherein the first finite state machine sends a message to the second finite state machine to activate the second controller when the first finite state machine has failed to select the USB 3.x controller to control communication according to the USB 3.x protocol through the first group of pins of the USB type-C interface circuitry.
- Example 20 may include the apparatus of example 17 and/or some other examples herein, wherein the second finite state machine sends a message to the first finite state machine when the second finite state machine has failed to select the USB 2.0 or USB 1.1 controller to control communication according to the USB 2.0 or USB 1.1 protocol through the second group of pins of the USB type-C interface circuitry.
- Example 21 may include an apparatus for computing, comprising: a printed circuit board (PCB); a computer processor disposed on the PCB; a communication port disposed at an edge of the PCB; a first controller to control communication from or to a first group of pins of the communication port according to a first communication protocol; a second controller communicatively coupled to the first controller to control communication from or to a second group of pins of the communication port according to a second communication protocol; and one or more state machines to cause the first and second controllers to operate as a unified controller for the communication port for communication in either the first or second communication protocol; wherein the first and second group of pins are different pins at least in part.
- PCB printed circuit board
- a computer processor disposed on the PCB
- a communication port disposed at an edge of the PCB
- a first controller to control communication from or to a first group of pins of the communication port according to a first communication protocol
- a second controller communicatively coupled to the first controller to control communication from or to
- Example 22 may include the apparatus of example 21 and/or some other examples herein, wherein the first controller is on a first die, the second controller is on a second die, and the apparatus including the first die and the second die is within a package.
- Example 23 may include the apparatus of example 21 and/or some other examples herein, wherein the first controller operates at a first voltage, and the second controller operates at a second voltage different from the first voltage.
- Example 24 may include the apparatus of example 21 and/or some other examples herein, wherein the first communication protocol is a USB 3.x protocol, the second communication protocol is a USB 2.0 or USB 1.1 protocol, and the communication port is a USB type-C communication port.
- the first communication protocol is a USB 3.x protocol
- the second communication protocol is a USB 2.0 or USB 1.1 protocol
- the communication port is a USB type-C communication port.
- Example 25 may include the apparatus of example 21 and/or some other examples herein, wherein the communication port is a USB type-C communication port, the first communication protocol is a USB 3.x protocol, and the second communication protocol is a USB 2.0 or USB 1.1 protocol, the first controller is a USB 3.x controller, the second controller is a USB 2.0 or USB 1.1 controller, a first finite state machine of the one or more state machines is to select the USB 3.x controller to control communication according to the USB 3.x protocol through the first group of pins of the USB type-C communication port, and a second finite state machine of the one or more state machines is to select the USB 2.0 or USB 1.1 controller to control communication according to the USB 2.0 or USB 1.1 protocol through the second group of pins of the USB type-C communication port.
- the communication port is a USB type-C communication port
- the first communication protocol is a USB 3.x protocol
- the second communication protocol is a USB 2.0 or USB 1.1 protocol
- a first finite state machine of the one or more state machines is to select the USB 3.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
Claims (24)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/144,108 US10862730B2 (en) | 2018-09-27 | 2018-09-27 | Selective connection for interface circuitry |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/144,108 US10862730B2 (en) | 2018-09-27 | 2018-09-27 | Selective connection for interface circuitry |
Publications (2)
Publication Number | Publication Date |
---|---|
US20190044785A1 US20190044785A1 (en) | 2019-02-07 |
US10862730B2 true US10862730B2 (en) | 2020-12-08 |
Family
ID=65231753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/144,108 Active 2038-12-20 US10862730B2 (en) | 2018-09-27 | 2018-09-27 | Selective connection for interface circuitry |
Country Status (1)
Country | Link |
---|---|
US (1) | US10862730B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11493714B1 (en) * | 2018-09-19 | 2022-11-08 | Psiquantum, Corp. | Quantum computing die assembly with thru-silicon vias and connected logic circuit |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11196610B2 (en) * | 2015-12-04 | 2021-12-07 | Mitsubishi Electric Corporation | Transfer control apparatus, vehicle, and transfer control method |
CN110618672A (en) | 2019-10-18 | 2019-12-27 | 深圳市道通科技股份有限公司 | Interface circuit and interface communication method and device thereof |
EP3879792B1 (en) * | 2020-03-11 | 2023-09-13 | Tridonic GmbH & Co. KG | Building technology device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060047982A1 (en) * | 2004-08-27 | 2006-03-02 | Incomm Technologies Co., Ltd. | Mult-interface auto-switch circuit and memory device with dual interface auto-switch circuit |
US20080019357A1 (en) * | 2006-07-20 | 2008-01-24 | Dell Products L.P. | Apparatus and Method for Determining Device Presence and Type |
US20150200187A1 (en) * | 2014-01-16 | 2015-07-16 | Chul Park | Semiconductor package including stepwise stacked chips |
US20170192924A1 (en) * | 2016-01-06 | 2017-07-06 | Kabushiki Kaisha Toshiba | Electronic device |
-
2018
- 2018-09-27 US US16/144,108 patent/US10862730B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060047982A1 (en) * | 2004-08-27 | 2006-03-02 | Incomm Technologies Co., Ltd. | Mult-interface auto-switch circuit and memory device with dual interface auto-switch circuit |
US20080019357A1 (en) * | 2006-07-20 | 2008-01-24 | Dell Products L.P. | Apparatus and Method for Determining Device Presence and Type |
US20150200187A1 (en) * | 2014-01-16 | 2015-07-16 | Chul Park | Semiconductor package including stepwise stacked chips |
US20170192924A1 (en) * | 2016-01-06 | 2017-07-06 | Kabushiki Kaisha Toshiba | Electronic device |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11493714B1 (en) * | 2018-09-19 | 2022-11-08 | Psiquantum, Corp. | Quantum computing die assembly with thru-silicon vias and connected logic circuit |
US11493713B1 (en) | 2018-09-19 | 2022-11-08 | Psiquantum, Corp. | Photonic quantum computer assembly having dies with specific contact configuration and matched CTE |
US11550108B1 (en) | 2018-09-19 | 2023-01-10 | Psiquantum, Corp. | Quantum computing die assembly with thru-silicon vias |
US11892693B1 (en) | 2018-09-19 | 2024-02-06 | Psiquantum, Corp. | Photonic quantum computer assembly |
Also Published As
Publication number | Publication date |
---|---|
US20190044785A1 (en) | 2019-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10862730B2 (en) | Selective connection for interface circuitry | |
US11101649B2 (en) | Interface circuitry with multiple direct current power contacts | |
US11669481B2 (en) | Enabling sync header suppression latency optimization in the presence of retimers for serial interconnect | |
US11789889B2 (en) | Mechanism for device interoperability of switches in computer buses | |
US11157068B2 (en) | Power state management for lanes of a communication port | |
EP3234789B1 (en) | Apparatus and system for integrating devices in a root complex | |
US11599490B1 (en) | Packet queueing for network device | |
EP3789885A1 (en) | Link layer communication by multiple link layer encodings for computer buses | |
US11818058B2 (en) | Shared resources for multiple communication traffics | |
US9081703B2 (en) | Method and apparatuses for facilitating sharing device connections between a host and client based on the power mode of the host | |
US10754797B1 (en) | Consolidating write transactions for a network device | |
US10621134B1 (en) | Generating transactions with a configurable port | |
US9886410B1 (en) | Dynamic function assignment to I/O device interface port | |
US10817448B1 (en) | Reducing read transactions to peripheral devices | |
US9626319B2 (en) | Allocating lanes in a peripheral component interconnect express (‘PCIe’) bus | |
US11467998B1 (en) | Low-latency packet processing for network device | |
US11789891B2 (en) | Multi-device read protocol using a single device group read command | |
US20230153153A1 (en) | Task processing method and apparatus | |
US10355891B2 (en) | Authentication through voltage variations over communication channels | |
CN114328362A (en) | Method and system for supporting high-speed interconnection of different GPUs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VADIVELU, KARTHI;POR, CHOON GUN;SIGNING DATES FROM 20180920 TO 20180924;REEL/FRAME:046995/0862 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: TAHOE RESEARCH, LTD., IRELAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTEL CORPORATION;REEL/FRAME:061175/0176 Effective date: 20220718 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |