PC USB scope project.

Built up another single channel 23 mega sample scope.
It didn't work right to start with.
I suspected SMD soldering so resoldered but no joy.
Then noticed a molex connector for the A2D daughterboard had a solder joint unsoldered.
Works well now.
The SMD soldering is fun. I am getting the knack now.
Put some flux paste beneath pins and body of IC to hold it down on the pcb while I tack first pin. Run solder along both sides of IC making sure every pin is well soldered.
Check for shorts and use coper braid to remove any shorts.
 
Built up and sold quite a few different scopes now.
Current scopes were a couple of budget ones.
5Ms/s dual channel and 7.4 Ms/s single channel scopes.
Good enough for analogue audio work.

I have another scope on the drawing board which uses Arm Cortex 300MHz core.
The last 200MHz core I used disappointed in speed as it had lots of wait cycles but I believe the Arm to be faster.

An externally hosted image should be here but it was not working when we last tested it.
 
Latest scope pcb came in today from JLCPCB China.
This one uses a 300MHz ARM 7 processor.
This one will be quite a bit quicker than previous offerings.
Just taking it one step at a time.
Got the processor and A2D soldered on the pcb.
They are 0.5mm pitch so great fun soldering them.
The trick is to use as little solder as possible to stop blobs of solder forming.
Waiting for a programmer/debugger pcb from Microchip to arrive and an 8 way connector lead.
Just populating the pcb enough to test if the processor works ok first.
An externally hosted image should be here but it was not working when we last tested it.
 
Been working on mark 2 version of pcb while waiting for components.
Managed to move crystal about 1/3 inch closer to the processor.
I have had trouble locating fast op amps with minimal input bias current.
To get to 10MHz BW I only found TL974 but that has 200nA input bias current.
This means it needs a high value trimmer to -ve rail to balance out the offset.
So i have added a couple of trimmers to the pcb for that.

Also been looking at ATSAME70 coding trying to make it as a fast as possible.
Code below, simple loop clockin gA2D selecting a or b channel then inputting A2D data from port b.
ptr=scopebuffer;
ptr2=scopebuffer2;
fastptr=scopebufferlength;

do
{
//////////////////////////////////////////


a2dclock_Set();
a2dchannel_Clear(); //keep clock slow
a2dclock_Clear();
*ptr++= PIO_PortRead(PIO_PORT_B);

a2dchannel_Set();
*ptr2++= PIO_PortRead(PIO_PORT_B);


} while (--fastptr);
 
Interesting. How long does the loop take? Have you encontered problems with parallel data settling time in the fast sampling (12 parallel bits)? Good job, you are very persistent, I like it :)

I need to get the software running off the programmer which I am waiting for to determine how fast the loop is.
Microchip do a cheap "snap" programmer which should do the job.
 
Sadly I couldnt get the processor to run or eve nprogram.
First problem I found was reset line to processor was on wrong pin of programming port.
So I moved it from pin 6 to pin 1.
I then managed to program it once but it wouldnt program again.
I asked Microchip and they said I had "bricked" it.
So I held "ERASE" pin at 3 volts while reseting the processor and that unbricked it.
I could then program it ok but ti wouldnt run.
SO into debug mode and single step the code.
It goes through clock setup fine.
Into PIO setup it goes so far then locks up.
SO at the moment I have left my code and hardware setup with Microchip.
That was about a week ago, so not sure if they will ever get back to me.
 
revisited the atsame70j21b project that i couldnt get running.
turned out i had put usbid function on the same pin used to program chip and this messed up programming and debugging.
i had been trying to see how fast an io pin could go.
apparently this chip doesnt like setting then resetting sequentially.
so i need a padding instruction in between.
living and learning.
 
Working on a new scope using atsame70n19 processor.
my first attempt when i used 64 pin processor with faulty usb hardware !
apparently you have to read errata before using microcontrollers.
however the bad processor did allow me to do some a2d speed tests.
it looks like best capture speed is 28mega samples/second.
i am told the 100 pin 70n19 has working usb.
 
Its basically an op amp buffer, then level translator into a PIC micro A2D converter.
It has a negative rail generator for the op amp.
Very little intelligence there as most of the hard stuff is done in the Windows PC software.
I deliberately kept the PIC software simple, just capturing A2D data at required speed.
Even the voltage ranges are done digitally at the PC.

Now Working on a slightly faster version using a faster PIC about 5 mega samples/s.