CN112261117B - Virtual transmission method based on multiple USB interrupt endpoints - Google Patents

Virtual transmission method based on multiple USB interrupt endpoints Download PDF

Info

Publication number
CN112261117B
CN112261117B CN202011117270.2A CN202011117270A CN112261117B CN 112261117 B CN112261117 B CN 112261117B CN 202011117270 A CN202011117270 A CN 202011117270A CN 112261117 B CN112261117 B CN 112261117B
Authority
CN
China
Prior art keywords
usb interrupt
data
virtual
usb
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011117270.2A
Other languages
Chinese (zh)
Other versions
CN112261117A (en
Inventor
王春华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Qinheng Microelectronics Co ltd
Original Assignee
Nanjing Qinheng Microelectronics Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Qinheng Microelectronics Co ltd filed Critical Nanjing Qinheng Microelectronics Co ltd
Priority to CN202011117270.2A priority Critical patent/CN112261117B/en
Publication of CN112261117A publication Critical patent/CN112261117A/en
Application granted granted Critical
Publication of CN112261117B publication Critical patent/CN112261117B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Abstract

The invention discloses a virtual transmission method based on multiple USB interrupt endpoints, which comprises a sending method and a receiving method, wherein a multichannel parallel transmission mechanism is adopted to transmit target data, the target data is divided into virtual USB interrupt transmission packets, and the virtual USB interrupt transmission packets are transmitted through the multiple USB interrupt endpoints. The invention can realize accurate data transmission; compared with the traditional batch transmission mode, the real-time performance can be guaranteed; compared with the traditional interrupt transmission mode, the interrupt transmission mode can also meet the requirement of large transmission data volume, namely can meet the requirements of large transmission data volume, high real-time performance and accuracy, fully improves the utilization rate of USB data transmission, makes the USB data transmission more convenient and more applicable occasions.

Description

Virtual transmission method based on multiple USB interrupt endpoints
Technical Field
The invention belongs to the technical field of USB, and particularly relates to a virtual transmission method based on multiple USB interrupt endpoints.
Background
At present, USB products are widely applied, and great convenience is brought to life of people. The existing USB data transmission methods have four types: and (3) control transmission: the device is used for configuring the device when the peripheral is connected for the first time, and can exchange a small amount of data with the device after enumeration is completed; batch transmission: the method has the advantages that the transmission data volume is large, the transmitted data is accurate, but the real-time performance of the transmission cannot be guaranteed; synchronous transmission: the method has the advantages that the data transmission quantity is large, the real-time performance is high, but the data integrity cannot be guaranteed; and (3) interrupting transmission: its advantages are high real-time performance, correct data transmission, and less data transmission amount. However, some existing devices require large data transmission amount, high real-time transmission performance and accurate data transmission, and no transmission method can be simultaneously satisfied at present.
Disclosure of Invention
The purpose of the invention is as follows: in order to solve the problem that USB data transmission cannot meet the requirements of large transmission data volume, high real-time performance, accuracy and no error at the same time in the prior art, the invention provides a virtual transmission method based on multiple USB interrupt endpoints.
The invention provides a virtual receiving method based on multiple USB interrupt endpoints.
The technical scheme is as follows: a virtual sending method based on multiple USB interrupt endpoints comprises the following steps:
(a1) setting N USB interrupt endpoints, wherein N is more than or equal to 2; setting the length of data uploaded by each USB interrupt endpoint in the service interval time of interrupt inquiry as EnpSize;
(a2) grouping target data: splitting a plurality of virtual USB interrupt transmission packets from front to back according to the length of EnpSize x N, splitting N sections of effective data into each virtual USB interrupt transmission packet according to the length of EnpSize, sequentially transmitting the N sections of effective data through N USB interrupt endpoints according to endpoint numbers, setting the USB interrupt endpoints in an idle state after the data packets in the USB interrupt endpoints are read, continuously transmitting the effective data split from the next virtual USB interrupt transmission packet, and enabling the positions of the effective data transmitted by the same USB interrupt endpoint every time in the virtual USB interrupt transmission packets to be the same;
(a3) until all target data are split and sent.
Further, the method for determining that the splitting and sending of all the target data in the step (a 3) are completed is as follows: the length of the virtual USB interrupt transmission packet is non-EnpSize × N, and includes the following two cases:
when the total length of the target data is an integral multiple of EnpSize x N, transmitting a virtual zero-length packet after all the target data is transmitted, wherein the virtual zero-length packet is a zero-length data packet transmitted by N USB interrupt endpoints, and completing splitting and transmitting all the target data;
when the total length of the target data is not an integral multiple of EnpSize, for the last split virtual USB interrupt transmission packet, firstly splitting effective data according to the length of EnpSize, respectively transmitting each section of effective data through a corresponding USB interrupt endpoint, and if a USB interrupt endpoint without effective data transmission exists, transmitting a zero-length data packet to the USB interrupt endpoint, completing the splitting and transmission of all the target data.
Further, in step (a 1), an N +1 th USB interrupt endpoint is further included, where the N +1 th USB interrupt endpoint is used to transmit data length information.
Further, the method for determining that the splitting and sending of all the target data in the step (a 3) are completed is as follows:
and the (N + 1) th USB interrupt endpoint transmits the total length information of the target data at least once, calculates the times needing to be transmitted according to the total length information of the target data, and completes the splitting and sending of the target data when the transmission times of the virtual USB interrupt transmission data packet reach the times needing to be transmitted.
Further, the method for determining that the splitting and sending of all the target data in the step (a 3) are completed is as follows:
the N +1 th USB interrupt endpoint transmits the length information of the virtual USB interrupt transmission packet transmitted this time, and when the length information is not EnpSize.
When the length of the target data is an integer multiple of the EnpSize × N, transmitting a virtual zero-length packet after all the target data is transmitted, wherein the virtual zero-length packet is a zero-length packet transmitted by N USB interrupt endpoints, and the length information transmitted by the N +1 th USB interrupt endpoint is 0;
when the target data length is not an integer multiple of the EnpSize × N, the length information transmitted by the N +1 th USB interrupt endpoint is the length of the last split virtual USB interrupt transmission packet, and at this time, the length information transmitted by the N +1 th USB interrupt endpoint is less than the EnpSize × N.
A virtual receiving method based on multiple USB interrupt endpoints comprises the following steps:
defining N storage areas, wherein each USB interrupt endpoint corresponds to one storage area;
initiating a USB IN request to USB interrupt endpoints, wherein N USB interrupt endpoints are provided, and N is more than or equal to 2;
the USB interrupt endpoint receives the data packet and stores the received data packet in a storage area corresponding to the USB interrupt endpoint number; after receiving a data packet, the USB interrupt endpoint initiates a USB IN request again to the USB interrupt endpoint receiving the data packet;
when the N storage areas all contain at least one data packet, respectively taking out one data packet from front to back in each storage area, forming a virtual USB interrupt transmission packet by the N taken out data packets according to the USB interrupt endpoint numbers corresponding to the storage areas, and reading the virtual USB interrupt transmission packet by the application layer;
and the application layer circularly reads the virtual USB interrupt transmission packet until the target data is received.
Further, the method for judging the completion of the target data reception comprises the following steps:
the length of the virtual USB interrupt transport packet is non-EnpSize N;
or the USB interface further comprises an N +1 th USB interrupt endpoint, wherein the N +1 th USB interrupt endpoint is used for transmitting data length information, and whether the target data is received or not is judged according to the data length information.
Further, the storage area is a buffer chain table, and the specific method for each USB interrupt endpoint to store the received data packet in the corresponding buffer chain table is as follows:
(b1) after the USB interrupt endpoint receives the data packet, a linked list structure is distributed, the data packet is unpacked and filled into the linked list structure, the linked list structure comprises a data buffer area and an effective data length, the content of the effective data of the data packet is read and filled into the data buffer area of the linked list structure, and the effective data length is the length of the data packet;
(b2) and (4) inserting the linked list structure body into the buffer linked list according to the receiving sequence, and returning to the step (b 1) until the target data is received.
Further, the specific method for the application layer to read the virtual USB interrupt transport packet is as follows:
(c1) checking the N buffer area linked lists, and judging whether each buffer area linked list receives a data packet;
(c2) if all the buffer area linked lists have at least one data packet, the application layer respectively takes out one data packet from front to back in the N buffer area linked lists, the N taken out data packets form a virtual USB interrupt transmission data packet according to the endpoint number of the USB interrupt endpoint corresponding to the buffer area linked lists, and the virtual USB interrupt transmission data packet is returned to the application layer; if at least one buffer linked list is empty, the application layer directly returns;
(c3) and (c 2) returning to the step (c) until the data in the buffer chain list is completely read.
A virtual transmission method based on multiple USB interrupt endpoints comprises the virtual transmission method based on the multiple USB interrupt endpoints and the virtual reception method based on the multiple USB interrupt endpoints.
Has the beneficial effects that: the invention provides a virtual transmission method based on multiple USB interrupt endpoints, which comprises a data sending method and a data receiving method, wherein the method can realize accurate and error-free data transmission, and in addition, compared with the traditional batch transmission mode, the real-time property can be ensured; compared with a traditional interrupt transmission mode, the USB data transmission device can also meet the requirement of large transmission data volume, namely can meet the requirements of large transmission data volume, high real-time performance, accuracy and no error, and is more convenient and faster in USB data transmission and more applicable occasions. In the data transmission process, only effective data need to be transmitted, data similar to serial numbers do not need to be transmitted, space is saved, the transmission utilization rate is fully improved, and the data transmission device is simple and convenient to use and high in practicability.
Drawings
Fig. 1 is a schematic diagram of a real-time and efficient USB data transmission method.
Detailed Description
The invention is further explained below with reference to the figures and the embodiments.
The first embodiment is as follows:
as shown in fig. 1, a virtual transmission method based on multiple USB interrupt endpoints includes a virtual transmission method based on multiple USB interrupt endpoints and a virtual reception method based on multiple USB interrupt endpoints.
1. The virtual sending method based on the multiple USB interrupt endpoints comprises the following steps:
setting four USB interrupt endpoints, or setting other number according to requirement, but at least two; the endpoint numbers of the four USB interrupt endpoints are endpoint 1, endpoint 2, endpoint 3 and endpoint 4; setting the service interval (i.e. the minimum time interval of interrupt inquiry allowed by the device) of the USB interrupt inquiry to 125us, wherein 125us is the minimum value allowed by the specification, so as to improve the data transmission speed; the length of data uploaded by the USB interrupt endpoint within the service interval time of the interrupt query is EnpSize, 3072 bytes are taken by the EnpSize in the embodiment, and 3072 bytes are taken as maximum 3 1024 data packets in one service interval by taking a USB3.0 burst mode as an example, so that the data packets sent each time are as large as possible, the transmission space is fully utilized, and the transmission speed is further improved;
grouping and splitting target data for sending: dividing target data into a plurality of virtual USB interrupt transmission packets according to the length of 3072 × 4 from front to back, namely the length of one virtual USB interrupt transmission packet is 3072 × 4, dividing each virtual USB interrupt transmission packet into 4 segments of effective data according to the length of 3072, sequentially transmitting the 4 segments of effective data through 4 USB interrupt end points according to end point numbers respectively (actually, the effective data are not necessarily transmitted according to the sequence of 1,2, 3 and 4, and can also be transmitted in a reverse sequence or according to other certain rules, but the negotiation between a sender and a receiver is ensured to be consistent), after a data packet in the USB interrupt end point is read, setting the USB interrupt end point to be in an idle state, continuously transmitting the effective data divided from the next virtual USB interrupt transmission packet, wherein the position of the effective data transmitted by the same USB interrupt end point each time in the virtual USB interrupt transmission packet is the same, namely, the data transmitted by the end point 1 is 3072 × 4K (K =0,1,2 …), the data transmitted by endpoint 2 is 3072 data starting from the target data 3072+3072 × 4 × K (K =0,1,2 …), the data transmitted by endpoint 3 is 3072 data starting from the target data 2 × 3072+3072 × 4 × K (K =0,1,2 …), and so on. Because each virtual USB interrupt transmission packet contains data packets to be transmitted by 4 USB interrupt endpoints, the total times of data transmission of each USB interrupt endpoint are the same.
If the length of the target data is exactly an integral multiple of 3072 × 4, after all the virtual USB interrupt transmission packets are transmitted, transmitting a virtual zero-length packet, wherein the virtual zero-length packet comprises N zero-length data packets, the N zero-length data packets are transmitted through N USB interrupt endpoints respectively, and the target data is transmitted; if the length of the target data is not an integral multiple of 3072 x 4, splitting the last virtual USB interrupt transmission packet according to the length of 3072, if the length of the last section of the virtual USB interrupt transmission packet is less than 3072 and is also used as a section of effective data, respectively transmitting each section of the effective data through a corresponding USB interrupt endpoint, transmitting a zero-length data packet by the remaining USB interrupt endpoints without effective data transmission, and finishing the transmission of the target data.
2. The virtual receiving method based on the multiple USB interrupt endpoints comprises the following steps:
defining 4 storage areas, wherein one USB interrupt endpoint corresponds to one storage area: namely a storage area 1, a storage area 2, a storage area 3 and a storage area 4;
initiating a USB IN request to USB interrupt endpoints, wherein the number of the USB interrupt endpoints is 4, and the endpoint numbers of the 4 USB interrupt endpoints are respectively as follows: endpoint 1, endpoint 2, endpoint 3, endpoint 4;
the USB interrupt endpoint receives the data packet and stores the received data packet in a storage area corresponding to the USB interrupt endpoint; after receiving a data packet, the USB interrupt endpoint initiates a USB IN request again to the USB interrupt endpoint receiving the data packet;
when each storage area in the 4 storage areas at least comprises one data packet, respectively taking out one data packet from front to back in each storage area, and totally taking out 4 data packets, and forming virtual USB interrupt transmission packets by the 4 data packets according to the end point number sequence of the USB interrupt end points corresponding to the storage areas (actually, the data packets are not necessarily sequenced according to 1,2, 3 and 4, and the data packets can also be sequenced reversely or according to other certain rules, but the data packets are consistent with the negotiation of a sender), because the storage area numbers correspond to the end point numbers, the contents of the virtual USB interrupt transmission packets can be restored according to the end point number sequence, and the application layer reads the virtual USB interrupt transmission packets;
and the application layer circularly reads the virtual USB interrupt transmission packet until the length of the virtual USB interrupt transmission packet is not EnpSize.
The storage area in this embodiment is a buffer linked list, and other storage areas capable of implementing the same function may also be used. The specific method for storing the received data packets in the corresponding buffer area linked list by each USB interrupt endpoint is as follows:
(b1) after the USB interrupt endpoint receives the data packet, a linked list structure is distributed, the data packet is unpacked and filled into the linked list structure, the linked list structure comprises a data buffer area and an effective data length, the content of effective data of the data packet is read and filled into the data buffer area of the linked list structure, the effective data length is the total length of the data packet, and the purpose of setting the effective data length is to find a zero-length data packet and indicate that the communication is finished;
(b2) and (4) inserting the linked list structure body into the buffer linked list according to the receiving sequence, and returning to execute the step (b 1) until the target data receiving is completed.
The specific method for reading the virtual USB interrupt transmission packet by the application layer comprises the following steps:
(c1) checking 4 buffer area linked lists, and judging whether each buffer area linked list receives a data packet;
(c2) if all the buffer area linked lists have at least one data packet, the application layer respectively takes out one data packet from the front to the back in 4 buffer area linked lists, the 4 taken out data packets form a virtual USB interrupt transmission data packet according to the USB interrupt endpoint sequence corresponding to the buffer area linked lists, and the virtual USB interrupt transmission data packet is returned to the application layer; if at least one buffer linked list is empty, the application layer directly returns;
(c3) and (c 2) returning to the step (c) until the data in the buffer chain list is completely read.
The second embodiment:
the difference between the second embodiment and the first embodiment is that the USB device further includes an N +1 th USB interrupt endpoint, and the N +1 th USB interrupt endpoint is used to transmit data length information.
The data length information may be the total length information of the target data, or may be the length information of the virtual USB interrupt transmission packet transmitted each time.
When the data length information is the total length information of the target data, the data length information is transmitted at least once, then the number of times of transmission is calculated according to the total length information of the target data, and when the number of times of transmission of the interrupt transmission data packet of the virtual USB reaches the number of times of transmission, the target data is completely split and transmitted.
When the data length information is the length information of the virtual USB interrupt transmission packet transmitted this time, and when the length information is non-empsize × N, all the splitting transmission of the target data is completed, which specifically includes the following two cases:
when the length of the target data is an integral multiple of EnpSize x N, transmitting a virtual zero-length packet after all the target data is transmitted, wherein the virtual zero-length packet is a zero-length data packet transmitted by N USB interrupt endpoints, and the length information transmitted by the (N + 1) th USB interrupt endpoint is 0;
when the target data length is not an integer multiple of the EnpSize × N, the length information transmitted by the N +1 th USB interrupt endpoint is the length of the last split virtual USB interrupt transmission packet, and at this time, the length information transmitted by the N +1 th USB interrupt endpoint is less than the EnpSize × N.
Similarly, when receiving the virtual USB interrupt transport packet, the receiving side also determines whether the target data is received according to the data length information received by the (N + 1) th USB interrupt endpoint.
The rest of the contents are the same as the first embodiment.

Claims (10)

1. A virtual sending method based on multiple USB interrupt endpoints is characterized by comprising the following steps:
(a1) setting N USB interrupt endpoints, wherein N is more than or equal to 2; setting the length of data uploaded by each USB interrupt endpoint in the service interval time of interrupt inquiry as EnpSize;
(a2) grouping target data: splitting a plurality of virtual USB interrupt transmission packets from front to back according to the length of EnpSize x N, splitting N sections of effective data into each virtual USB interrupt transmission packet according to the length of EnpSize, sequentially transmitting the N sections of effective data through N USB interrupt endpoints according to endpoint numbers, setting the USB interrupt endpoints in an idle state after the data packets in the USB interrupt endpoints are read, continuously transmitting the effective data split from the next virtual USB interrupt transmission packet, and enabling the positions of the effective data transmitted by the same USB interrupt endpoint every time in the virtual USB interrupt transmission packets to be the same;
(a3) until the target data is completely split and sent.
2. The virtual sending method based on multiple USB interrupt endpoints according to claim 1, wherein the method for determining that the target data is completely split and sent in step (a 3) is: the length of the virtual USB interrupt transmission packet is not EnpSize, and the method comprises the following two conditions:
when the total length of the target data is an integral multiple of EnpSize x N, transmitting a virtual zero-length packet after all the target data is transmitted, wherein the virtual zero-length packet is a zero-length data packet transmitted by N USB interrupt endpoints, and completing splitting and transmitting all the target data;
when the total length of the target data is not integral multiple of EnpSize N, splitting the last virtual USB interrupt transmission packet into effective data according to the length of EnpSize, transmitting each section of effective data through corresponding USB interrupt endpoints, and if a USB interrupt endpoint without effective data transmission exists, transmitting a zero-length data packet to the USB interrupt endpoint, completing splitting and transmitting the target data.
3. The multi-USB interrupt endpoint-based virtual transmission method according to claim 1, wherein the step (a 1) further includes an N +1 th USB interrupt endpoint, and the N +1 th USB interrupt endpoint is used to transmit data length information.
4. The virtual sending method based on multiple USB interrupt endpoints according to claim 3, wherein the method for determining that the sending of all the target data in step (a 3) is split is:
and the (N + 1) th USB interrupt endpoint transmits the total length information of the target data at least once, calculates the times needing to be transmitted according to the total length information of the target data, and completes the splitting and sending of the target data when the transmission times of the virtual USB interrupt transmission data packet reach the times needing to be transmitted.
5. The virtual sending method based on multiple USB interrupt endpoints according to claim 3, wherein the method for determining that the sending of all the target data in step (a 3) is split is:
when the length information is not EnpSize, all target data are split and sent, and the method comprises the following two conditions:
when the length of the target data is an integer multiple of the EnpSize × N, transmitting a virtual zero-length packet after all the target data is transmitted, wherein the virtual zero-length packet is a zero-length packet transmitted by N USB interrupt endpoints, and the length information transmitted by the N +1 th USB interrupt endpoint is 0;
when the target data length is not an integer multiple of the EnpSize × N, the length information transmitted by the N +1 th USB interrupt endpoint is the length of the last split virtual USB interrupt transmission packet, and at this time, the length information transmitted by the N +1 th USB interrupt endpoint is less than the EnpSize × N.
6. A multi-USB interrupt endpoint-based virtual reception method for receiving target data, wherein the target data is transmitted by using the multi-USB interrupt endpoint-based virtual transmission method according to any one of claims 1 to 5, the method comprising the following steps:
defining N storage areas, wherein each USB interrupt endpoint corresponds to one storage area;
initiating a USB IN request to USB interrupt endpoints, wherein N USB interrupt endpoints are provided, and N is more than or equal to 2;
the USB interrupt endpoint receives the data packet and stores the received data packet in a storage area corresponding to the USB interrupt endpoint number; after receiving a data packet, the USB interrupt endpoint initiates a USB IN request again to the USB interrupt endpoint receiving the data packet;
when the N storage areas all contain at least one data packet, respectively taking out one data packet from front to back in each storage area, forming a virtual USB interrupt transmission packet by the N taken out data packets according to the endpoint numbers of the USB interrupt endpoints corresponding to the storage areas, and reading the virtual USB interrupt transmission packet by the application layer;
and the application layer circularly reads the virtual USB interrupt transmission packet until the target data is received.
7. The virtual receiving method based on multiple USB interrupt endpoints of claim 6, wherein the determination method of the completion of the target data receiving is:
the length of the virtual USB interrupt transport packet is non-EnpSize N;
or the USB interface further comprises an N +1 th USB interrupt endpoint, wherein the N +1 th USB interrupt endpoint is used for transmitting data length information, and whether the target data is received or not is judged according to the data length information.
8. The virtual receiving method based on multiple USB interrupt endpoints according to claim 6 or 7, wherein the storage area is a buffer area linked list, and the specific method for each USB interrupt endpoint to store the received data packet in the corresponding buffer area linked list is:
(b1) after the USB interrupt endpoint receives the data packet, a linked list structure is distributed, the data packet is unpacked and filled into the linked list structure, the linked list structure comprises a data buffer area and an effective data length, the content of the effective data of the data packet is read and filled into the data buffer area of the linked list structure, and the effective data length is the length of the data packet;
(b2) and (4) inserting the linked list structure body into the buffer linked list according to the receiving sequence, and returning to the step (b 1) until the target data is received.
9. The virtual reception method based on multiple USB interrupt endpoints of claim 8, wherein the specific method for the application layer to read the virtual USB interrupt transport packet is:
(c1) checking the N buffer area linked lists, and judging whether each buffer area linked list receives a data packet or not;
(c2) if all the buffer area linked lists have at least one data packet, the application layer respectively takes out one data packet from front to back in the N buffer area linked lists, the N taken out data packets form a virtual USB interrupt transmission data packet according to the endpoint number of the USB interrupt endpoint corresponding to the buffer area linked lists, and the virtual USB interrupt transmission data packet is returned to the application layer; if at least one buffer linked list is empty, the application layer directly returns;
(c3) and (c 2) returning to the step (c) until the data in the buffer chain list is completely read.
10. A multi-USB interrupt endpoint-based virtual transmission method, comprising the multi-USB interrupt endpoint-based virtual transmission method according to claim 1 and the multi-USB interrupt endpoint-based virtual reception method according to claim 6.
CN202011117270.2A 2020-10-19 2020-10-19 Virtual transmission method based on multiple USB interrupt endpoints Active CN112261117B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011117270.2A CN112261117B (en) 2020-10-19 2020-10-19 Virtual transmission method based on multiple USB interrupt endpoints

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011117270.2A CN112261117B (en) 2020-10-19 2020-10-19 Virtual transmission method based on multiple USB interrupt endpoints

Publications (2)

Publication Number Publication Date
CN112261117A CN112261117A (en) 2021-01-22
CN112261117B true CN112261117B (en) 2022-07-22

Family

ID=74244774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011117270.2A Active CN112261117B (en) 2020-10-19 2020-10-19 Virtual transmission method based on multiple USB interrupt endpoints

Country Status (1)

Country Link
CN (1) CN112261117B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785452A (en) * 2022-03-16 2022-07-22 浙江万胜智能科技股份有限公司 Multi-channel data transmission method fusing terminal USB

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035948B1 (en) * 2001-03-19 2006-04-25 Transdimension, Inc. System and method for USB controllers
CN100538679C (en) * 2006-09-08 2009-09-09 北京飞天诚信科技有限公司 A kind of method and device that improves compatibility of man-machne interface device
US20140149611A1 (en) * 2012-11-26 2014-05-29 Qualcomm Incorporated CHANNEL CONDITION AWARE USB DATA DELIVERY OVER Wi-Fi WITH DIFFERENTIAL TREATMENT ON DISTINCT USB ENDPOINTS

Also Published As

Publication number Publication date
CN112261117A (en) 2021-01-22

Similar Documents

Publication Publication Date Title
CN107395565B (en) Serial port receiving preprocessing method under fixed-length single byte format message protocol
US7418524B2 (en) Universal serial bus (USB) extension
CN102932224A (en) CAN network-based data communication system and data communication method based on same
CN112261117B (en) Virtual transmission method based on multiple USB interrupt endpoints
CN105450785A (en) File transmission method and device
CN109213828B (en) Block generation method, device, equipment and storage medium
CN110381051A (en) A kind of method of packet parsing, system, equipment and computer readable storage medium
CN106301969A (en) The management method of HTTP length link and system
CN102724122A (en) Reliable serial port transmission method and device based on hardware system
CN112181887B (en) Data transmission method and device
CN106533976B (en) data packet processing method and device
CN111405534B (en) Information transmission method, first terminal and computer storage medium
CN106227673A (en) A kind of sequence waveform synthetic method based on DMA
CN100591067C (en) A method for realizing SDH adaptation to Ethernet rate with logic
CN107329917A (en) A kind of data transmission method and device
CN111813727B (en) Real-time and efficient USB data transmission method
CN101252415A (en) Complete package data transmission method and transmission system
CN106790320A (en) A kind of method that multi-application inter-system data is pushed
US8050294B2 (en) Method and system for transmitting in TDM mode
CN101374112B (en) Method, system and apparatus for transmitting packet
CN109241362B (en) Block generation method, device, equipment and storage medium
CN104734810A (en) Method and device for processing transmission data
CN102780579A (en) Method and device for inquiring bulk data based on simple network management protocol (SNMP)
CN103034493A (en) Timer node management method and system
CN115291898B (en) Multi-FPGA slave mode rapid burning method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant