Influence of high speed USB and full speed USB on daplink speed
Pcbsky has produced two daplink, which are based on the official STM32 and NXP lpc11u35 MCU. These two MCU are equipped with full speed USB, and the transmission speed of full speed USB is 12MB / s. The design of high-speed daplink-v4 is based on the new Tang m48x Series MCU with high-speed USB, the transmission speed can reach 480MB / s. This is just like the USB communication speed of ordinary daplink is like an ordinary train, while the USB communication speed of high-speed daplink belongs to high-speed railway.
The influence of HID protocol on daplink speed
HID protocol allows our devices to communicate with computers without installing additional drivers after USB is plugged in. Daplink drive free is because of the HID protocol, and the HID protocol itself is not designed for big data transmission, such as our mouse and keyboard, which need to respond in time but have a small amount of data is the HID protocol. Therefore, the transmission speed of HID protocol limits the speed of communication between daplink and computer.
So there are two ways to improve the burning speed of daplink
Using non hid to realize daplink data transmission (this method will not be discussed)
Improve the transmission speed of hid, which is also the way of our high-speed daplink implementation
How to improve the speed of HID transmission? In fact, this has something to do with the high speed and full speed USB. HID protocol is different under different USB standards.
In full speed USB, hid transfers up to 64 bytes per packet
In high-speed USB, hid transfers up to 1024 bytes per packet
Therefore, the comparison between the high-speed version and the full speed version is more obvious. Not only the high-speed transmission speed is fast, but also the carrying capacity of each trip is higher (the difference between 64 and 1024).
Comparison of transmission speed between high speed daplink and ordinary daplink
As shown in the figure above is an effect of my actual test. Using two different daplink to burn the same program for the same MCU, the ordinary one can burn in 12.5 seconds, while the high-speed one can burn in 6 seconds. The test is burning STM32F103 MCU in MDK environment, if there may be some differences in other environments. However, it is obvious that the speed of high-speed daplink is more than twice that of ordinary daplink.
Besides hid speed, what other factors limit daplink transmission speed
Some small partners may have doubts. According to the previous USB transmission speed and HID protocol transmission speed, the high-speed model should be more than 10 times of the ordinary model. The actual test shows that the high-speed version can achieve more than twice the burning speed of the ordinary version. Why?
As shown in the figure above, to burn the program from the computer to the MCU, it needs to be transferred to daplink through USB, and then daplink is transferred to the MCU through SWD interface. The previous analysis is to optimize the USB transmission speed, but the SWD transmission speed, as well as the microcontroller to write flash after receiving data also need time, so when we use high-speed USB, hid can no longer be a limiting factor. However, the speed of SWD interface and flash writing still have an impact.
Introduction to DAPLINK-HS V4
High-performance main control ARM® Cortex® -M4F core, main frequency up to 192MH, FLASH 512KB, RAM 160KB
Built-in high-speed USB interface, the speed is 480m, type-c interface supports positive and negative insertion
Supports MCU debugging and programming of the full range of ARM Cortex-M cores
Comes with USB to serial port
Support automatic reset after programming under keil, onboard reset button
With fuse, anti-short circuit;
With acrylic protective upper shell, effective protection to avoid PCB