Data packets - universal serial bus, Computer Engineering

Assignment Help:

Data packets:

A data packet consists of the PID which is followed a 16-bit CRC and by 0-1023 bytes of data payload (up to 1024 in high speed and at most 8 at low speed)

There are 2 basic data packets, DATA0 and DATA1. They have to always be preceded by an address token, and are typically followed by a handshake token from the receiver back to the transmitter. The 2 packet types provide the 1-bit sequence number needed by Stop-and-wait ARQ. If a USB host does not retain a response (such as an ACK) for data it has transmitted, it doesn't know if the data was retained or not; the data may have been lost in transit, or it may have been received but the handshake response was lost.

To solve this type of problem, the device keeps track of the type of DATA x packet it last accepted. If it retains another DATA x packet of the similar type, it is acknowledged but ignored as a case of duplicate. Only a DATA x packet of the opposite type is really received.

When a device is reset having a SETUP packet, it expects an 8-byte DATA0 packet next.

USB 2.0 added DATA2 and MDATA packet types as well. They are used just by high-speed devices doing high-bandwidth isochronous transfers which required transferring more than 1024 bytes per 125 µs "micro frame" (8192 kB/s),PRE "packet"

Low-speed components are supported with a special PID value, PRE. It marks the beginning of a low-speed packet, and it is used by hubs which usually do not send full-speed packets to low-speed devices. As all PID bytes include four 0 bits, they leave the bus in the FS(full speed)K state, which is the similar as the low-speed J state. It is followed by a deep pause during which hubs enable their low-speed outputs that is already idling in the J state, then a low-speed packet follows the starting with a sync sequence and PID byte, and ending with a deep period of SE0. Full-speed components other than hubs can simply avoid the PRE packet and its low-speed contents, till the final SE0 indicates that a new packet follows.


Related Discussions:- Data packets - universal serial bus

What are the differences between simulation and synthesis, What are the dif...

What are the differences between SIMULATION and SYNTHESIS Simulation synthesis Simulation is used to verify functionality of the circuit.. a) Functional Simulation:stud

Gantt chart and kiviat diagram, Q. What is Gantt chart and Kiviat diagram? ...

Q. What is Gantt chart and Kiviat diagram? Gantt chart: Gantt chart explains numerous activities of every processor with respect to progress in time in busy -overhead - id

Artificial intelligence software, Artificial Intelligence Software A...

Artificial Intelligence Software Artificial Intelligence (AI) software employs non numerical algorithms to resolve complex problems that are not amenable to computation or s

Explain about joint application development, Q. Explain about Joint Applica...

Q. Explain about Joint Application Development? It is defined as a structured approach in which users, managers, and analysts work together for many days in a series of intensi

What is the use of boot block, What is the use of boot block? For a com...

What is the use of boot block? For a computer to start running when powered up or rebooted it needs to have an initial program to run. This bootstrap program tends to be simple

The three main elements of ldb, The three main elements of LDB are:- St...

The three main elements of LDB are:- Structure Selections and Database Program.

gui component handle its own events, A component can handle its own events...

A component can handle its own events by executing the needed event-listener interface and adding itself as its own event listener.

What is php, The PHP Hypertext Pre processor is a programming language that...

The PHP Hypertext Pre processor is a programming language that permits web developers to make dynamic content that interacts with databases. PHP is basically used for developing we

Difference between relocatable and self relocatable programs, Difference be...

Difference between relocatable and self relocatable programs. A relocatable program is one which can be processed to relocate it to a selected area of memory. For illustratio

DBMS, Difference between Paperbase and computer base system?

Difference between Paperbase and computer base system?

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd