Hi, I'm an italian student of electronic engineering... recently I started a project like this and I think you made an impressive project!! good job!! :)
But I found some difficulties on the USB protocol, so I would ask you some questions:
-what type of transfer does your oscilloscope use for transmitting data to pc? (I mean interrupt, bulk, or isochronous?)
-did you use HID interface or a specific interface created by you?
@darioshow90 Thanks for your kind words. This is from a few years back, so some of the details might be a little off...
I captured 512, 128bit samples from the ADC and sent them as one large packet to the PC. I did all the processing (FFT, level shifts, sync) on the PC side to maximize the overall speed.
The data was sent as ASCII through a virtual serial port through USB. I used Microchip's supplied drivers and code for communication.
@mdmde Hey thanks for the positive comments! The hardest part was optimization with communication. The USB, graphing, triggers, etc were all building blocks with a lot of information available, but coming up with a robust method of getting the information from the PIC to the PC quickly is tricky.
@mdmde I really have no idea how long the project took. Between working on this and our senior design project (an Autonomous Paintball Sentry) there were many nights I was in the lab till 3 or 4am during my senior year.
Impressive for a 3 month project. Very minor point: you should have normalized the samples between [-2.5,2.5) or [-1, 1) so that the DC component didn't show up in the PSD. This would have been a quick change.
@iq66 To maximize speed, the only thing that the PIC does while in scope mode is grab data and send it. The DFT and FFT code slows down my Intel Core 2 Duo PC so I can't imagine what it would do the the little PIC!
@Whitedarklight Hey, sorry I didn't reply. I had my settings to not email me when I got responses, but that is changed now! The best advice that I can give is get Visual Studio from Microsoft. The included help, and the links to on-line help are HUGELY powerful. It is also amazing with the errors and warnings it gives while programming and compiling. It isn't as easy as writing a Word document, but it is getting close :)
Thanks for sharing. Nicely done. I'm actually trying to do something similar in terms of a PIC with USB and a GUI, except that I'm doing the embedded software in C18 from microchip and the GUI in C++. I'm having a hard time and don't know where to start. I know little about C18 as I've been working with assembly and GUI in C++. Could you please shed some light on where to start?
Thanks. Sampling rate about 30ksp, wonder if you missed some package when sending data to PC using serial port?
Jacteful 3 months ago
Hi, I'm an italian student of electronic engineering... recently I started a project like this and I think you made an impressive project!! good job!! :)
But I found some difficulties on the USB protocol, so I would ask you some questions:
-what type of transfer does your oscilloscope use for transmitting data to pc? (I mean interrupt, bulk, or isochronous?)
-did you use HID interface or a specific interface created by you?
P.S. excuse me for my poor english :)
darioshow90 11 months ago
@darioshow90 Thanks for your kind words. This is from a few years back, so some of the details might be a little off...
I captured 512, 128bit samples from the ADC and sent them as one large packet to the PC. I did all the processing (FFT, level shifts, sync) on the PC side to maximize the overall speed.
The data was sent as ASCII through a virtual serial port through USB. I used Microchip's supplied drivers and code for communication.
JacobScherer 11 months ago
@JacobScherer Ok, thank you!! :)
darioshow90 11 months ago
Is this computer engineering?
poopinitup 1 year ago
@poopinitup Yes, it is both a Computer and Electrical Engineering class.
JacobScherer 1 year ago
really amazing im studying electrical engenering but i cant understand this things how can you help me : ) ?any reference please?? thank you
sertolli01 1 year ago
This is extremely impressive. How many man hours did it take? Was the USB stuff hard?
mdmde 1 year ago
@mdmde Hey thanks for the positive comments! The hardest part was optimization with communication. The USB, graphing, triggers, etc were all building blocks with a lot of information available, but coming up with a robust method of getting the information from the PIC to the PC quickly is tricky.
JacobScherer 1 year ago
@mdmde I really have no idea how long the project took. Between working on this and our senior design project (an Autonomous Paintball Sentry) there were many nights I was in the lab till 3 or 4am during my senior year.
JacobScherer 1 year ago
Impressive for a 3 month project. Very minor point: you should have normalized the samples between [-2.5,2.5) or [-1, 1) so that the DC component didn't show up in the PSD. This would have been a quick change.
Wwallace67 2 years ago
good job. Did you write the dft and fft codes in PIC or pc?
iq66 2 years ago
@iq66 To maximize speed, the only thing that the PIC does while in scope mode is grab data and send it. The DFT and FFT code slows down my Intel Core 2 Duo PC so I can't imagine what it would do the the little PIC!
JacobScherer 1 year ago
Great job, Jake!
planckscnst 2 years ago
@planckscnst Thanks!
JacobScherer 1 year ago
Sorry, I also don't know about GUI in C++ as I've done only basic C++. Thanks.
Whitedarklight 2 years ago
@Whitedarklight Hey, sorry I didn't reply. I had my settings to not email me when I got responses, but that is changed now! The best advice that I can give is get Visual Studio from Microsoft. The included help, and the links to on-line help are HUGELY powerful. It is also amazing with the errors and warnings it gives while programming and compiling. It isn't as easy as writing a Word document, but it is getting close :)
JacobScherer 1 year ago
@JacobScherer Thanks for the reply! I've moved on now :)
Whitedarklight 1 year ago
Thanks for sharing. Nicely done. I'm actually trying to do something similar in terms of a PIC with USB and a GUI, except that I'm doing the embedded software in C18 from microchip and the GUI in C++. I'm having a hard time and don't know where to start. I know little about C18 as I've been working with assembly and GUI in C++. Could you please shed some light on where to start?
Many thanks.
Whitedarklight 2 years ago