AD7574 - THE ANALOG TO DIGITAL CONVERTER

The AD7574, made by ANALOG DEVICES, is a successiveapproximation type analog to digital converter capable of a conversion time of 15 micro-seconds. The AD7574 was designed to be operated as a memory mapped input device. The CS and RD inputs control all ADC operations such as starting a conversion or reading data.

Upon receipt of a start command from either the CS or the RD lines , in our case with the DSS board we are using the RD line, the BUSY line goes low indicating that a conversion is in progress. Successive bits, starting from the most significant bit are applied to the input of the internal DAC The comparator determines whether the addition of each successive bit causes the DAC output to be greater than or less than the analog input, AIN. If the sum of the DAC bits is less than AIN, the trial bit is left on, and the next smaller bit is tried. If the sum is greater that AIN, the trial bit is turned off and the next smaller bit is tried. Each successive bit is tried and compared to AIN in this manner until the least significant bit decision has been made. At this time the BUSY line goes high indicating that the conversion is complete and that the successive approximation register contains a valid representation of the analog input. The RD control can be exercised to activate the three_state buffers, placing data on the DO D7 data output pins. RD returning high causes the clock oscillator to run for 1 clock cycle, providing an internal ADC reset ( i.e. the successive approximation register is loaded with the code 10000000 ).

The AD7574 can be configured in three different interface modes. The interface modes are, static ram mode, rom mode, and slow memory mode. The AD7574 is configured in ram mode for the DSS board. The advantage of the ram mode is it's simplicity. The major disadvantage is that the data obtained is relatively poorly defined in time inasmuch as executing a data read automatically starts a new conversion. This problem can be overcome by execution two reads separated by nop's ( or other program instructions ) and using only the data obtained from the second read.