Posts Tagged ‘Device’

The Flow Control Condition on Responding

To conserve bandwidth and to enable inactive links to transition to low-power states, USB 3.0 hosts stop requesting to send or receive data from SuperSpeed endpoints that are in the flow control condition. This condition indicates that the endpoint temporarily can’t send or receive data. To request to resume communications, the endpoint sends an ERDY Transaction Packet. A device can send the ERDY at any time without waiting for the host to request a packet.

On receiving the ERDY, the host resumes communications with the endpoint. An IN endpoint is in the flow control condition after responding to an ACK Transaction Packet with either of the following A NRDY Transaction Packet. A Data Packet with the End of Burst (EOB) field set to 1, indicating that the packet is the last in a burst. The device sets EOB if the data payload is equal to the endpoint’s maximum packet size and the endpoint is returning fewer than the number of packets requested in the previous ACK Transaction Packet.

An OUT endpoint is in the flow control condition on responding to a Data Packet with either of the following A NRDY Transaction Packet. An ACK Transaction Packet with the NumP field set to zero, indicating that the endpoint can’t accept any Data Packets. Hosts retain the option to attempt communications with bulk endpoints in the flow-control condition before receiving ERDY.

Tags: , , , , , , ,

No Comments


Detecting an Incoming Data Packet

The data-toggle value enables detecting missed or duplicate data packets in control, bulk, and interrupt transfers. IN and OUT transactions have a data toggle value in the data packet’s PID field. DATA0 is a code of 0011, and DATA  is 1011. In controller chips, a register bit often indicates the data-toggle state, so the data-toggle value is sometimes called the data-toggle bit. Each endpoint maintains its own data toggle.

Both the sender and receiver keep track of the data toggle. Host controllers handle data toggles at a low level that is invisible to applications and device drivers. Some device controller chips handle the data toggles completely in hardware, while others require some firmware control. If you’re debugging a device where the correct data is transmitting on the bus but the receiver is ignoring or discarding the data, chances are good that the device isn’t sending or expecting the correct data-toggle value.

When the host configures a device on power up or attachment, the host and device each set their data toggles to DATA for all except some high-speed isochronous endpoints. On detecting an incoming data packet, the host or device compares the state of its data toggle with the received data toggle. If the values match, the receiver toggles its value and returns an ACK handshake packet. The ACK causes the sender to toggle its value for the next transaction.

Tags: , , , , ,

No Comments


Human Interface Device

The name human interface device suggests that HIDs interact directly with people, and many HIDs do just that. A mouse detects when someone moves it or presses a key. A host may send data that translates to an effect that a user senses on a joystick. Besides keyboards, mice, and joysticks, devices with HID interfaces include remote controls; telephone keypads; game controls such as data gloves and steering wheels; barcode readers; and UPS units.

Devices with physical control panels can use a HID interface to send control-panel input to the host. Devices with virtual control panels on the host can use a HID interface to send control-panel data to the device.

A virtual control panel can be cheaper to implement than traditional physical controls on a device.A HID doesn’t have to have a human interface. The device just needs to be able to function within the limits of the HID class specification.

Tags: , ,

No Comments



SetPageWidth