Thursday, December 27, 2007

AT91SAM7S microcontroller and eval board

Recently I came across the AT91SAM7S microcontroller from Atmel (Wikipedia article). It's a very cool gadget and is affordably available at Digikey. Here is Atmel's ad copy:
The AT91SAM7SE512 is a Flash microcontroller with external memory bus based on the 32-bit ARM7TDMI RISC processor. It features 512K bytes of embedded high-speed Flash with sector lock capabilities and a security bit, and 32K bytes of SRAM. The integrated proprietary SAM-BA Boot Assistant enables in-system programming of the embedded Flash. The external bus interface supports SDRAM and static memories including CompactFlash and ECC-enabled NAND Flash.

Its extensive peripheral set includes a USB 2.0 Full Speed Device Port, USARTs, SPI, SSC, TWI and an 8-channel 10-bit ADC. Its Peripheral DMA Controller channels eliminate processor bottlenecks during peripheral-to-memory transfers. Its System Controller manages interrupts, clocks, power, time, debug and reset, significantly reducing the external chip count and minimizing power consumption.

In industrial temperature worst-case conditions, the maximum clock frequency is 48MHz. Typical core supply is 1.8V, I/Os are supplied at 1.8V or 3.3V. An integrated voltage regulator permits single supply at 3.3V. The AT91SAM7SE512 is supplied in a 128-lead LQFP Green Package, or a 144-ball LFBGA Green Package. It is supported by an Evaluation Board and extensive application development tools.

The AT91SAM7SE512 is a general-purpose microcontroller, particularly suited to applications requiring high performance, USB connectivity and extended on- and off-chip memory.
So that's already pretty cool, but even better, there is a great little evaluation board which is also available at Digikey. Software resources abound.

Monday, October 22, 2007

Brilliant collection of hobby electronics videos

http://dev.emcelettronica.com/ETUBE

This is a collection of YouTube videos about different topics in hobby electronics. I've only just discovered this and haven't yet checked out many of the videos, but it's great to see that so many have been posted. It seems to mostly be two guys working for Make Magazine.

Thursday, October 18, 2007

It's a good time to be an electronics hobbyist

OurPCB is a Chinese PCB fab outfit with an initial cost of $57.00 and a subsequent charge of around 15 to 25 cents per square inch for 2-layer boards and 50 to 75 cents per square inch for 4-layer boards. The per-square-inch costs shrink for bigger orders. So PCB fab and assembly is cheap. What do I do with this? Obviously there is a huge opportunity to do something.

PCBs and assembly (even surface mount assembly) are no longer a significant obstacle to complex electronic projects. The next obstacle is that I'm lazy about learning. To some extent that can be addressed by prioritizing what to learn - if USB does all the communication I need, I can ignore PCI.

We could have an electronics hobbyist renaissance as good as the 1970s, starting with a series of articles in Make magazine. O'Reilly would probably love it.

The economics works better for big boards than for small boards. I can envision scalable VLIW array processors spanning several FPGAs, or maybe tightly networked DSPs or GPUs. I like the look of the Analog Devices ADSP-31362. I could review some of the molecular modeling code out there (Amber, CHARMM, Gamess, Gaussian, Gromacs, NAMD) and build an scalable architecture optimized for molecular modeling, large-scale simulations, and other interesting things.

Building a supercomputer, that's so unimaginative. I don't have any interesting problems to feed it. I suppose I could build it and let other hobbyists figure out what problems to throw at it.

Wednesday, October 17, 2007

Some of the code for the board

Much of this code was written by a genius named Wolfgang Wieser, who deserves the Nobel Prize in hobbyist electronics. I've tweaked his code in places.

The firmware is at http://will.ware.googlepages.com/fx2_firmware.tgz and the Eagle design files are at http://will.ware.googlepages.com/n1ibt_board.tgz.

I work in Linux, and the stuff in these tarballs is written to work on a Linux box. To build the firmware you'll need SDCC on your machine. I've built the firmware successfully on Mandriva 2006 and Fedora Core 5. I have had trouble getting it to work on Ubuntu and hope to get that fixed because I'm migrating my home machines to Ubuntu.

Verilog/FPGA tools for Linux

Until I get more organized with this, it's just a collection of random links. I'll need to figure out a way to program the FPGA on my board.Go to the Xilinx web page for downloading WebPACK and grab a free download. It's a shell script; run it to install the Xilinx tools on your hard disk. It will take about a gigabyte so make sure to install it in a partition with that much room. Start reading doc/usenglish/books/docs/qst/qst.pdf. That's as far as I've gotten today.

Good Verilog tutorial here.

More about the board -- progress stalled, hoping to pick it up again

Periodically people email me and ask how things are going with my SDR board. Things are quite thoroughly stalled. I can program the FX2 over the USB cable, and I can wiggle the I/O pins, and I've connected the I/O pins to the FPGA's JTAG programming pins. Theoretically it should be pretty easy to program the FPGA after that. But that's where it is stalled; for some reason the FPGA won't program correctly. Go figure.

One thought is to make up a board with a lot more testpoints, like this.

This design is for a temporary two-layer board that I would use only to get the design and development effort back on track. Once I'd resolved the FPGA programming issues, I'd go back to a four-layer design with a lot fewer testpoints.

But if you're one of those impatient folks who wants to play with a software-defined radio RIGHT NOW then you should check out these links, many of which describe projects that are much further along than my board.