Hi
I want to send data to Arduino Due with PC(USB not V-USB) with high speed, at least 1080000 byte per second! please recommend me a solution or an example.
Thanks a lot.
Hi
I want to send data to Arduino Due with PC(USB not V-USB) with high speed, at least 1080000 byte per second! please recommend me a solution or an example.
Thanks a lot.
Hi
Please...
If you use SerialUSB, it ignores the speed that you set in the begin() call. It seems to work at very high speed. I've never measured it but it might meet your specification.
I suggest you put a test sketch onto your Due that sends SerialUSB as fast as possible and then measure the performance. Note that you will need a "good" program on the PC end to receive data this fast. The Arduino serial monitor is unlikely to be able to achieve the theoretical maximum speed.
@MorganS, he wants to send data to the Due at high speed, not receive from it. Other than that, advice is sound...I have setup a relatively simple test script to illustrate this. I use the exact same code to test the other direction and while it's much better, it's a far cry from of the performance results I've seen posted here.
I've spent quite a bit of time with this. Without directly accessing the USB port via Atmel studio I don't know that this is possible. Arduino is built for ease of use first and foremost so high performance, when achieved is a bonus. I've read quite a bit in this forum about even the reference implementation in Atmel studio not using DMA in their serial driver and drastically reducing the throughput as a result. I'm struggling to get a meager bi-directional 100KBps stream going between the two.
MorganS:
If you use SerialUSB, it ignores the speed that you set in the begin() call. It seems to work at very high speed. I've never measured it but it might meet your specification.I suggest you put a test sketch onto your Due that sends SerialUSB as fast as possible and then measure the performance. Note that you will need a "good" program on the PC end to receive data this fast. The Arduino serial monitor is unlikely to be able to achieve the theoretical maximum speed.
Hi,I want to receive data from PC, I test SerialUSB and I reach 18181 byte per second at maximum.
@exedor, thanks. I use HID in Atmel Studio but I want use USB in Arduino compiler because I want to use with another Arduino library.
I read in this site (http://www.microchip.com/forums/m/tm.aspx?m=420851&p=1) that USB HID speed is very low but according to SAM3x datasheet,page 2:
"Peripherals
̶ USB 2.0 Device/Mini Host: 480 Mbps, 4 Kbyte FIFO, up to 10 bidirectional Endpoints, dedicated DMA"
How can I use USB to reach this speed?
hamsafar_a85:
Hi
I want to send data to Arduino Due with PC(USB not V-USB) with high speed, at least 1080000 byte per second! please recommend me a solution or an example.Thanks a lot.
I think you have more hope at winning the lottery!
Using a USB 3.0 port on a moderately fast PC, I can reach the dizzying heights of 30000 bytes per second.... PC>DUE speed
Regards,
Graham
ghlawrence2000:
I think you have more hope at winning the lottery!Using a USB 3.0 port on a moderately fast PC, I can reach the dizzying heights of 30000 bytes per second.... PC>DUE speed
Regards,
Graham
Hi,
thanks, but I think you don't know how convert mega byte to byte!! I say :
1Mb=1024 kb
1kb=1024 byte
1byte =8 bit
USB2 speed is 480 Mbit/s=60 mega byte per second
60MB=6010241024 byte=62914560 byte per second!!!!
usb3 speed is 5 Gbit/s=625 mega byte per second!!!
625MB=62510241024 byte =655360000 byte per second!
Acording to SAM3A(Arduino DUE core) datasheet(page1053):
39.2 Embedded Characteristics
Compatible with the USB 2.0 specification
Supports High (480Mbps), Full (12Mbps) and Low (1.5Mbps) speed communication and On-The-Go
I need 1080000 byte per second...
Thanks for the history lesson!! I was familiar with bits, bytes, nibbles and words 40+ years ago.... So let me translate 30000 bytes a second into something you might understand? 30000/1024 = 29.29KB/s !!
Don't bother trying to insult my intelligence about MY understanding of bits/bytes/kb etc... I was merely trying to say that an average transfer speed between DUE and PC using Processing as the transmitter managed a whopping 30000 bytes a second average transfer speed based on a 3MB file transfer.
I am not disagreeing with you, the speed is poor, I KNOW!!
Regards,
Graham
Excuse me!
Thanks.
Excused.
I too would like faster transfer speed, just thought you should be aware of a real life situation, not a datasheet specification!
Regards,
Graham
480Mb/s should the bus speed, not the real speed of a serial transfer because many bytes are used to: initialize the communication, check data integrity, handshake, etc