
The development of a multi-channel analog to digital converter for RS-232 ports was motivated by the need to connect multiple resistive or voltage-based loads or sensors and have their data continuously streamed to an RS-232 port for application software to interpret or analyse. The data stream should provide at least 8-bit resolution and should be delivered at a high enough rate of speed so as to support simple real time data input and measurement from various sensory devices.
The first attempt to build such a device was centered around using the Basic Stamp II from Parallax Inc. The BS2 has 16 I/O pins, each of which is capable of measuring a resistive load based on time taken for a capacitor to discharge. The worst case resulting in 131ms per sample, or about 2 seconds for 16 a/d samples. Note that the results of the sample data is at 16 bits and there is no straight forward means to lower sampling to resolution to 8 bits to achieve faster sampling rates.
The question now arose : if the BS2 is slow as an A/D converter, what about using a dedicated A/D chip(s) and rig up the BS2 as a controller ? This is essentially what has been accomplished by the above circuit. Additional A/D chips may be added as long as each chip is provided its dedicated CLK and DO lines. This method of acquiring analog samples has produced a data stream of about 100+ 8-bit samples per second.
The following diagram illustrates how some minor modifications can be made to accomodate up to 6 A2D converters (ie 48 analog ports). This is accomplished by sharing Clock, and Data Out pins, but having dedicated ChipSelect and Data In pins.
