Universal Serial Bus, connecteur plug-and-play servant à relier des périphériques informatiques à un ordinateur pour communiquer en série.
Publié le par
Partager sur Google + Partager sur Twitter Partager sur Facebook Alertes mail Partager
Afficher les 34 premiers commentaires...
Posté le 14 mai 2018 à 09h24

Traditionally, computer hardware such as printers and mice were plugged into sockets on the back panel of a PC, with each connector being fairly specialised in its applications. For example, mice use one that is dedicated to transmitting serial data, while printers usually use a parallel data cable, and monitors have their own special plug. This system was quite suitable when it was implemented and has been used for many years. 

However, recent technological developments have created problems for many users of PCs with this system. Today there is a huge range of peripheral equipment including scanners, digital cameras, specialised pointing devices, high speed modems, all of which need their own connection to the PC. While the above mentioned parallel and serial sockets can indeed be used by many different devices, they cannot be shared by more than one device at once, and so we can quickly run out of space to attach this new equipment. We use it in our Notary office in London

Then why not just add more places to plug things into? This is quite possible, and has previously been the solution in many cases by installing more sockets, and even connecting devices internally to bypass the need for these plugs altogether. However, there is a practical limit to how much this can be done. To examine why, we need to investigate the structure of the PC. 

Posté le 14 mai 2018 à 09h26

Each of those back panel sockets is attached to a circuit board (a card) which, like the internal devices, in turn plugs into a slot on the main circuit board. The computer needs to be able to distinguish which of these cards information is coming from, and similarly each card needs to know when out going data is directed to it. This is done by using special numbers called IRQs ("Interrupt Request"), used for when the card wants to get something done, and I/O ("Input/Output") addresses, used for transferring data between the computer and cards. When the card has something for the software to do, it generates a signal on the IRQ line, and communicates with the software via the I/O addresses. The IRQs and I/O addresses are set in hardware on the card but, while these are usually adjustable, people have often found that when adding new hardware these numbers can clash with existing cards. The result is that neither card functions correctly. More information available here.

Many people find these potential problems rather daunting and this reduces the attractiveness of PCs to the market. An innovation known as "Plug and Play" aims to sort out the problem of clashing numbers, but there are still only a finite amount of these numbers available, with some being reserved for certain purposes. As well as all of the technical problems, where are other nuisances such as excessive cabling, the fact that you cannot disconnect devices while the computer is on without risking damaging something, and the different types of plugs required for different types of computers such as the Apple Macintosh. Even in the absence of problems, that back of a computer can be a daunting place for some, who often fear damaging something. 

Posté le 14 mai 2018 à 09h27

Even with this type of arrangement, we still have the same problem as with the traditional PC layout. Each function has to know when a piece of data is meant for it, and the host needs to know where signals are coming from, so numbers are assigned to each component on the USB. However, rather than each using a fixed IRQ and I/O address, the USB system takes a different approach. Review the systems at Skip hire Glasgow

When a device is attached to the USB system, it gets assigned a number called its address. The address is uniquely used by that device while it is connected and, unlike the traditional system, this number is likely to be different to the address given to that device the last time it was used. Each device also contains a number of endpoints, which are a collection of sources and destinations for communications between the host and the device. 

Endpoints operate in simplex mode, meaning that they are either an input or output, but not both. For example, a simplistic model of a keyboard (figure 2) could have a keypad as output endpoint number 1, and the LED key lock display as receiving endpoint 1. All USB devices have one of each of their 16 possible input and output endpoints reserved as "zero endpoints". These are used for the auto-detection and configuration of the device when it is connected, and are the only accessible endpoints until this occurs. In addition each endpoint sets, upon connection, its own set of characteristic requirements concerning its requirements when accessing the bus.

Posté le 14 mai 2018 à 09h28
  • Control Transfers : These differ from the other types in that they are intended for use in configuring, controlling, and checking the status of a USB device. A request is sent to the device from the host, and appropriate data transfers follow in the appropriate pipes. At some later stage, a status indicator is returned to the host. The pipe used for this type of data may be bidirectional, but uses the same numbered endpoint for each direction. In addition, a device only handles one control request at a time, with the host withholding outstanding requests until a status is returned on the one in progress. For example, the Default Control Pipe uses Control Transfers and accomplishes such tasks as initialising the device, and telling the host of the requirements of each of its endpoints. This type of pipe might also be used to control the operation of other pipes. 

  • Isochronous Transfers : These involve data whose accuracy is not critical and which is sent at a rate corresponding to some timing mechanism. For example, 44100KHz audio fits into this category since it doesn't have to be perfectly accurate and every 44100 samples indicates one second of audio. USB provides a special type of transfer for this data, giving it preference to guarantee a constant transmission rate with the required bandwidth. To ensure that the USB has enough time to handle the maximum data flow (1023 bytes) in each frame, a check is made during the initial configuration and the pipes will only be configured if this check is successful. This transfer method uses unidirectional pipes with no error handling procedures. Even though an error may be indicated in the status reply to a request, the pipe will not be halted and it is up to the software to decide what to do. Manchester taxi computers use this device too.

  • Interrupt Transfers : These are used for small, infrequent transfers which require priority over other requests. As with Isochronous transfers, pipe configuration is granted on whether or not the system can handle the maximum packet size within the required time, with a further restriction that stops Interrupt and Isochronous Transfers from using more than 90% of any frame (discussed later) and stopping other transfers from occurring. The endpoint tells the host during configuration how often it should be polled for interrupt requests, and upon each polling returns a NAK signal if there is nothing to send. The use of this type of pipe is in some ways similar in purpose to the IRQ lines of the traditional peripheral system used in computers. 
Posté le 14 mai 2018 à 09h29

The actual data is sent across the bus in packets. Each packet is a bundle of data along with information concerning the source, destination and length of the data, and also error detection information. Since each endpoint sets, during configuration, a limit to the size of the packet it can handle, an IRP may require several packets to be sent. Each of these packets should be the maximum possible size except for the final packet. The USB host has a built in mechanism so that the software can tell it when to expect full sized packets. 

In the event that a less than maximum size packet is received earlier than expected, an error is assumed and the pipe is stalled with all IRPs being cancelled until the problem is dealt with by the controlling software. If an endpoint is busy, but no error has occurred, it responds with a special signal labelled NAK (Negative AcKnlowedge), which tells the other end of the pipe to wait a while. How these conditions are handled depends on the type of device and the software. 

Each packet is made up of a set of components called fields including the following, summarised in figure 4 :

  • An eight bit "SYNC" synchronisation field used by inputs to correct their timing for accepting data. Part of this field is a special symbol used to mark the start of a packet.
  • The 8 bit Packet Identifier (PID) which uses 4 bits to determine the type, and hence format, of the packet data. The remaining 4 bits are a 1's complement of this, acting as check bits. Part of this field determines which of the four groups (token, data, handshake, and special) that the packet belongs to, and also specifies an input, output or setup instruction.
  • An address field which gives the address of the function on the end of the pipe to be used
  • The 4 bit endpoint field, giving the appropriate endpoint which sends or receives the packet.
  • A data field consisting of 0-1023 bytes

Limo hire Glasgow

Posté le 14 mai 2018 à 09h30

To the consumer, a hub simply expands one USB port into multiple ports. However, to manage this the hub must by able to be able to manage communications between itself and other devices, ensuring that only one transmission occurs on the bus at one time. Communications flows through the hub can be either from the host to a device, or vice versa. 

A hub goes into an idle state whenever there are no communications requests coming into it. When it detects data coming to it from wherever it connects to the USB, it immediately establishes a communications connection between itself and all devices connected to its ports, relaying that data as in figure 9. If a connected device has data to send to the host, the hub temporarily switches off all communications with other devices and relays the data to the point where it connects to the USB. This is then repeated by all further hubs (figure 10) until the data finally reaches the host.

The hub is also responsible for monitoring what devices are connected to its ports. When a connection or disconnection occurs, the host is notified by use of the status reply to a token packet. The host then sends another packet to the hub to inquire exactly what changes occurred. If it was a connection, a reset signal is sent to the appropriate port, an address is assigned to the device by the host, and a configuration sequence occurs via the default control pipe of that device. If a device is detached, the host updates its information to remove all devices on the disconnected chain from its records. 

9. The Role of Functions

The whole point of the USB system is to define a communications protocol so that peripherals may communicate with their host computer. This is done via the various transaction types previously described, but the important concept in the USB system is that no functions may transmit as soon as they are ready to do so. They must wait to be queried, and then send the appropriate request via a reply or interrupt transfer. Click here for information about how we use this at our patients clinics.

As previously described, functions view the entire USB as a bus network of peripherals, oblivious to the role of hosts. They act no differently if they are connected 3 hubs down a chain than if they were directly connected to the root hub

Bonjour , avant de poster, veuillez vous assurer d'avoir pris connaissance des règles.


Quatre consignes avant de réagir :

  • Rester dans le cadre de l'article. Pour des discussions plus générales, vous pouvez utiliser nos forums.
  • Développer son argumentation. Les messages dont le seul but est de mettre de l'huile sur le feu seront modifiés ou effacés sans préavis par la rédaction.
  • Respecter les acteurs de l'informatique et les autres lecteurs. Les messages agressifs, vulgaires, haineux, etc. seront modifiés ou effacés sans préavis par la rédaction.
  • Pour toute remarque concernant une faute dans l'article, merci de nous contacter exclusivement par le formulaire "signaler une erreur" lors de la sélection du texte de l'article (les commentaires portants sur ce sujet seront systématiquement supprimés).