ADC1034 driver

This page describes how to add an 4channel 10-bit ADC to your flight computer and also contains software to drive it. Please don't consider this to be the be-all and end-all of A/D converters for the flight computer - I'm very interested in higher precision parts (say 12 or 16-bits) - if anyone can run some down I'd love to know about them.

An ADC1034 is a 4-channel ADC made by National Semiconductor - chip data can be found here (you have to register - it costs nothing). It has a serial interface which requires 4 80C32 pins (P1.0-P1.3) to communicate with, when you are not talking to it 3 of these pins (P1.1-P1.3) are available for other uses.

ADC1034s are available from DigiKey for ~$10 each.

To hook it up use the following diagram:

Note that if you solder it into the proto area of te flight computer as close to the ROM/74HC00 as possible then there will be a GND pad right next to pin 8 and a +5V pad right next to pin 16 ..... hook up the 4 wires to the pad area on the LHS of the 80C32.

The 4 analog inputs can handle signals between 0 and 5V - just for the moment let's reserve channel 0 for an accelerometer and channel 1 for an altimeter.

The driver software is here I'll eventually add it into the ROM through the utility interface and provide a hook you can call to get at it. The ADC1034 interface is rather pipelined this driver does not take advantage of that - smarter code could go twice as fast - currently it takes ~300uS to take a sample so you can probably do 3000/second. The interface requires you to put the analog channel number you want to sample in R0 (value 0-3) then to call the entry point, the 10-bit result is returned in R1:R0