USB:
Under normal circumstances: the host terminal D+ D- is connected to a pull-down 15K resistor, and the Device terminal, if it is a full-speed device, pulls up a 1.5K pull-up resistor on D+, and pulls up a 1.5K pull-up resistor on D- for low-speed devices. Resistance accuracy: +-5%.
Actual waveform:
1. Insert the device, D+ is pulled high

2. The host drives the data line to the reset state SE0 for at least 10ms (Reset signal)
What is SE0, refer to the table below:

After the reset is complete, D+ returns to high:

Reset signal: SE0 state remains for 10ms. The host sends a Reset signal to reset the device before communicating with the device.
The device is configured to the default unconfigured state. The reset signal lasts at least 10ms. If a device sees its upstream end
If the SE0 state of the port exceeds 2.5us, it will be treated as a reset signal. Reset within 10ms of clearing the reset signal
After the recovery time, the Hub must be able to receive all Hub requests, and the device must also receive SetAddress requests,
Failure to receive the request will result in the device not being recognized by the USB system.
3. USB communication:
Numbers form domains, domains form packets, packets are divided into different things (PID domain distinction), and transactions finally form different transmission types (interrupt transmission, parallel transmission, batch transmission and
control transfer)
SOF 0 waveform:

Transmission order: from bit to high bit (LSB.....MSB)
NRZI encoding (non-return-to-zero encoding) that is: if the input data is 0, it will be encoded as a level inversion, and if the input data is 1, it will be encoded as a level without inversion.



If it is a frame, the PID is 0101B



Interval 1ms, SOF 1 waveform:


Python and STM32 transmit data, because there is no USB3300 on my development board, I can only use the full speed, I want to increase bandwidth (set to 64byte package and bulk mode). surroundings: Sy...
USB3.0, PCIe, PCI and other bus speed comparison and introduction Note that, in some of the new technical standards in order to prevent erroneous data transmission at high speed and the check c...
1. Basic knowledge: How to identify USB low -speed and USB full -speed equipment 1.USB usb: UniversalSerial Bus, translated as "General Serial Bus" in Chinese. The most significant advantage...
1. Test the write/read speed to/from block device with dd. test the write speed to block device '/dev/block/mmcblk0p29', which is local emmc. test the read speed from block device '/dev/block/mmcblk0p...
Performance - usb rndis speed - iperf 1. Download iperf3 tool. iperf3 for windows 2. Download iperf3 source code iperf3 source code 3. Build iperf3 code for android 3.1 build method pending 3.2 downlo...
cause: Need to determine if the USRP B210 board is a USB3.0 connection, otherwise the requirements will not be met, and the UHD will report an error. solution:...
The USB HID device needs to be used in the project, and data is issued to the small end by the PC endpoint. However, the test speed is not ideal, record the optimization process, and then there is a g...
USB2.0 is backward compatible with USB1.X, that is, USB2.0 supports high-speed, full-speed, and low-speed USB devices (HIGH-SPEED, FULL-SPEED, LOW-SPEED), and USB1.X does not support high-speed device...
1 Introduction About the STM32F4USB driver (Full Speed) is currently available, but there are many problems, such as the problem of NAK, which causes the U disk to read and write errors. The problem o...
Transfer from: www.usb.org. 3 Layout Guidelines 3.1 General Routing and Placement Use the following general routing and placement guidelines when laying out a new design. These guidelines will he...