Update README.md
This commit is contained in:
parent
42fa8c76cd
commit
a18439807c
1 changed files with 16 additions and 1 deletions
17
README.md
17
README.md
|
|
@ -24,17 +24,32 @@ The serial port of the computer usually meets RS-232 standard. It has signal vol
|
|||
The data is transferred from these two data lines using NRZI encoding.
|
||||
|
||||

|
||||
# Data flow from USB port to FT2232H
|
||||
According to USB communication protocol, data is sent through packets. It consists of 3 common packets.
|
||||
|
||||

|
||||
|
||||
Data field can carry varying size of data depending upon the speed at which data is transferred.
|
||||
- For low speed devices, data can be upto 8B
|
||||
- For full speed devices, data can be upto 1023B
|
||||
- For high speed devices, data can be upto 1024B
|
||||
|
||||

|
||||
|
||||
Data is sent through endpoint buffers within the device.
|
||||
Basically, the data transaction can be done in 4 types:
|
||||
- Control: It is generally used by host for sending commands and parameters.
|
||||
- Interrupt: It is used by devices for sending small amounts of data. It is a polled message from the host to request specific data of the device
|
||||
- Bulk: this is used by devices for sending large amounts of data.
|
||||
- Isochronous: this is generally used by devices like audio channels etc, for streaming real time data.
|
||||
FTDI supports bulk data transaction. Data is sent through endpoint buffers within the device. FT2232H can have a maximum packet size of 512B.
|
||||
|
||||

|
||||
|
||||
The following example code is considered to demonstrate how the data flows from one block to other. ( Image courtesy: [Shivanishah/riscv](https://github.com/shivanishah269/risc-v-core/blob/master/Images/main_ABI.png))
|
||||
|
||||

|
||||
|
||||
The example code has a bitstream of 44bytes. This is sent through data packet in data field.
|
||||

|
||||
|
||||

|
||||
|
|
|
|||
Loading…
Reference in a new issue