Scanning electron microscope digitizer project completed!

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

Reply to
Jeff Miller
Loading thread data ...

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

formatting link

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.

Reply to
Mike Harrison

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.