Maker Pro
Maker Pro

Scanning electron microscope digitizer project completed!

J

Jeff Miller

Jan 1, 1970
0
Hi, some of you may recall some posts I made several months ago asking about
common SEM drive circuits, trace rotation, and the limitations of human
eyesight. The goal was to build a digitizer for my MINI-SEM so I could do
away with the console.

Just wanted to pop in and say the project is coming along, in fact it works
very well. Based on a Silicon Labs microcontroller with 2 simultaneous
sampling 16 bit 1MSPS A/D converters, some glue and transceiver logic, a NI
IMAQ-1424 parallel digital camera PCI card, and a pair of Linear Tech D/A
converters, it can do 256*256 through 8K*8K resolution at about 750K
samples/sec. The other A/D is used to digitize voltage levels from pots and
slide switched

It took perhaps 45 days of spare time. It was my first microcontroller
project. The SW is written in assembly language, the code is short but it
was very challenging. Ideally the heart of the code could only be 25 cycles:
in fact 32 were needed thus the slightly depressed sample rate. More
importanly, the IMAQ card is sensitive to clock jitter. I ended up with
about 6 loops, all exactly 32 cycles long, some padded with NOPS, the code
jumps around from loop to loop. A code change in any loop required padding
and entry-point changes in all the others for testing. Another challenging
aspect was that the SILABS demo board has only 1 8 bit I/O port fleshed out
and it required extensive multiplexing. I finished it about 6 weeks ago,
since then I've been focusing on high vacuum stuff but will be setting up
the MINI-SEM soon.

So far I'm only looking at test images created with signal generators, but
it's working exactly as expected and I don't think I'll have much trouble
conditioning the signal for the 'scope.

I'll be adding magnification control soon, followed by focus, astig, dynamic
focus, condenser etc.

Ultimately I'd like to eliminate the IMAQ card, considering PC parallel
port, USB 2.0, and Ethernet. USB 2.0 microcontrollers don't really seem to
be happening yet as far as I can tell.

I'll post again once I get some images.

Thank yous to all the folk who helped give me soem of the insight I needed
early on!

-Jeff
 
M

Mike Harrison

Jan 1, 1970
0
Hi, some of you may recall some posts I made several months ago asking about
common SEM drive circuits, trace rotation, and the limitations of human
eyesight. The goal was to build a digitizer for my MINI-SEM so I could do
away with the console.

Just wanted to pop in and say the project is coming along, in fact it works
very well. Based on a Silicon Labs microcontroller with 2 simultaneous
sampling 16 bit 1MSPS A/D converters, some glue and transceiver logic, a NI
IMAQ-1424 parallel digital camera PCI card, and a pair of Linear Tech D/A
converters, it can do 256*256 through 8K*8K resolution at about 750K
samples/sec. The other A/D is used to digitize voltage levels from pots and
slide switched

It took perhaps 45 days of spare time. It was my first microcontroller
project. The SW is written in assembly language, the code is short but it
was very challenging. Ideally the heart of the code could only be 25 cycles:
in fact 32 were needed thus the slightly depressed sample rate. More
importanly, the IMAQ card is sensitive to clock jitter. I ended up with
about 6 loops, all exactly 32 cycles long, some padded with NOPS, the code
jumps around from loop to loop. A code change in any loop required padding
and entry-point changes in all the others for testing. Another challenging
aspect was that the SILABS demo board has only 1 8 bit I/O port fleshed out
and it required extensive multiplexing. I finished it about 6 weeks ago,
since then I've been focusing on high vacuum stuff but will be setting up
the MINI-SEM soon.

So far I'm only looking at test images created with signal generators, but
it's working exactly as expected and I don't think I'll have much trouble
conditioning the signal for the 'scope.

I'll be adding magnification control soon, followed by focus, astig, dynamic
focus, condenser etc.

Ultimately I'd like to eliminate the IMAQ card, considering PC parallel
port, USB 2.0, and Ethernet. USB 2.0 microcontrollers don't really seem to
be happening yet as far as I can tell.

Cypress do some USB2 micros, but hi-speed USB2 is more than the micros themselves can handle.
For USB2 for a 1-off project, look at
https://www.quickusb.com/index.htm

You will probably need to use a CPLD (e.g. Xilinx 95xx series) to handle the actual data transfer
in hardware. You may need a small amount of buffer RAM to match the USB modules burst clock rate -
you could either hook this to a CPLD, or use internal RAM in a small FPGA - e.g. the Digilant
Spartan-3 starter kit ($99). I think they do a USB2 module for this.

If you can live with USB1.1 speeds, look at the FTDI FT232 or FT245 chips.
 
Top