Part of the  

Chip Design Magazine

  Network

About  |  Contact

Intelligent Embedded Devices: Engineer Toys Part I

Functional verification, especially at the chip or system level has always been fun for me because I get to play with the entire chip, learn how  it will be used, and learn about the devices where it will be used.  At Advanced Micro Devices, I got to learn the intricacies of x86 protection levels and paging schemes as well as the ins and outs of MESI cache schemes and the chipsets that interconnect the various devices on a motherboard.  At Cirrus Logic, I got to delve into digital signal processors and different digital to analog conversion schemes.  I have a confession to make though.  I always though it would have been even more fun to be a firmware engineer.    While the verification team was making sure that each piece of functionality would work according to the device’s specifications, the firmware guys were getting to actually use all the functionality to make cool systems.  At AMD, they were writing device drivers for the chipsets and sample BIOS code for motherboards.  At Cirrus logic, they were writing complete MP3 player systems.  Cool stuff! Meanwhile, I got to see all the functionality and imagine what I could do with it.  I occasionally thought about building up my own circuit board with the latest device we had verified, or getting my hands on a system eval board from technical marketing, but the task seemed too daunting.

That’s why a few years ago when I noticed the advent of the Arduino I was slightly awestruck.  Here was an-off-the shelf programmable embedded processor with a programming package whose intended audience was non-engineers, such as middle school students, artists and fashion designers.  The official Arduino, came on a printed circuit board with a variety of connectors sprinkled around the edge.  There were several resistors and caps sprinkled around the board.  I suspected they were mostly for buffering inputs and outputs and de-ringing power supplies, but I didn’t really feel like taking the time to find out, so I shied away once again.

Then, last year, I finally found the embedded programming platform I was looking for.  It was still an Arduino, but it was bare!  The only things that really needed to be on the plug board shown here were the ATMega328, the USB to RS232 daughter card, the 16 MHz clock crystal and the power jumpers.

The board is powered by the two supply lines present on the USB connector.  All the devices such as the ADCs, and digital outputs on the processor are available to you through the Arduino, (freeware), programming interface using a C style language.  Programs are compiled and uploaded to the board through the USB interface.  When I cycle power to the system, the program that was last loaded to the Arduino is still running, so apparently it’s stored in the 32 kB of on board flash memory in the ATMega.

The Arduino programming pcakage comes with a variety of working examples.  I was able to construct a one channel data acquisition system for pulling information from a Geiger counter using one of the embedded processor’s ADC inputs in about ten minutes.  Not only did I have a new engineering toy to play with, I had a useful tool for my laboratory!

And there’s more!  I’ll save the rest next time though.  Just keep intelligent embedded devices in mind in the mean time.

 

One Response to “Intelligent Embedded Devices: Engineer Toys Part I”

  1. Project Computers | The Canonical Hamiltonian Says:

    [...] Arduinos are cool, but what about Raspberry Pis and BeagleBones? I recently came across the BeagleBone OMAP eval/hobbyist system from TI.  With a 1 GHz ARM core, all the ports needed to hook it up quickly and get to work, and a price tag of $45, it’s looking like a pretty nice alternative to the Arduino for folks that already know how to program in a linux environment.  It also looks like a very nice simple data acquisition system for laboratories and hobbyists.  The BeagleBone’s ADC has a sample rate of 125 ns which comes out to eight million samples per second, which engineers at national labs in the ’90s would have killed for.  The Raspberry Pi is cheaper than the BeagleBone, but it doesn’t have a built-in ADC. There are, however, resources available for attaching an auxiliary ADC to the board. [...]

Leave a Reply