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 inertial and non-inertial frame of references, Q. What are inertia...

Q. What are inertial and non-inertial frame of references? (i) Inertial (or) unaccelerated frames: Bodies in this frame follow Newton's law of intertia as well as othe

What is cache memory, What is cache memory? The small and fast RAM unit...

What is cache memory? The small and fast RAM units are known as caches. When the implementation of an instruction calls for data located in main memory, the data are obtained a

Implementation of a data entry application, Develop and submit an original ...

Develop and submit an original implementation of a data entry application. Identify and declare variables which will hold all data that needs to be entered to fill in the attached

Comparison between motorola processors and intel processors, Comparison bet...

Comparison between Motorola processors and INTEL processors: Intel/AMD processors are really about the same thing.  They run the same software and operate in a very similar ma

Assembly program, where do i get some sample assembly projects (with coding...

where do i get some sample assembly projects (with coding included)?

Demux., Implement the full substractor using 8:1demux

Implement the full substractor using 8:1demux

Texts in the text elements of the program, Which Texts  in the text elemen...

Which Texts  in the text elements of the program helps in changing the displayed names of variables in the parameters statement. Selection text in the elements of the program

Extjs, tell some thing about htmleditor in extjs whether it contains attach...

tell some thing about htmleditor in extjs whether it contains attachment button or not

Example of arrays pointers, Q. Example of arrays pointers? General form...

Q. Example of arrays pointers? General form of declaration of array in Fortran 90 is type, DIMENSION(bound) [,attr] :: name E.g. the declaration          INTEGER, D

Write a bash-c shell script, Write a BASH/C shell script which takes a name...

Write a BASH/C shell script which takes a name of a directory as a command line argument, and prints unique login name of the users having files in that directory. Your code should

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