0
\$\begingroup\$

I wanted to ask what communication protocol arduino boards use exactly to communicate with pc?

How can the serial monitor work on such high baud rates through usb?

Will it be possible for using a dsPIC33 MCU to have such high speed communication with pc? (MCU having on-board usb on-the-go, USART modules)

I have heard that even though dsPIC MCU comes with USB 2.0 module capable of theoretical full speed(12Mbps), practically the speed acheivableis in kilobits not mega. Reason being the pc is also communicating with usb mouse, keyboard and other peripherals, and operating system busy doing other stuff, and MCU doing other stuff (not dedicated to just communication). This is the reason why usb drives transfer data in kilobytes not the theoretical speed of 12 Mbps. Is this all true?

If so, how can I optimize for best speed possible?

All this should be answered keeping in mind I am working on a portable oscilloscope using a dsPIC33 MCU. Sampling using the on board adc, transmitting the data to pc through a communication protocol to be decided (most probably usb), and displaying the data in gui software. Sampling speed of adc can be upto 1.1Msps where each sample is 10 bits. That make up alot of data to be transmitted and wondering whether usb will be able to such fast speeds.

\$\endgroup\$
  • \$\begingroup\$ USB is not a communication protocol. USB 2.0 is capable of 480Mbps (USB 1.x has a top limit of 12Mbps). Don't confuse bits with bytes - 12Mbps (mega-bits-per-second) is equal to 1.5MBps (mega-bytes-per-second) but only if every bit is used for data (which is unlikely). \$\endgroup\$ – brhans Jul 18 '16 at 16:59
0
\$\begingroup\$

Have you considered buffering on the embedded side and uploading at whatever speed you can get? For low speed where you scroll you can use real-time serial, but for high speed you can sample a screen-full and then upload it to the host.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.