Samsung S3C84E5 Microphone User Manual


 
S3C84E5/C84E9/P84E9 A/D CONVERTER
15-1
15 A/D CONVERTER
OVERVIEW
The 10-bit A/D converter (ADC) module uses successive approximation logic to convert analog levels entering at one
of the eight input channels to equivalent 10-bit digital values. The analog input level must lie between the AV
REF
and
AV
SS
values. The A/D converter has the following components:
Analog compactor with successive approximation logic
D/A converter logic (resistor string type)
ADC control register, ADCON (set 1, bank 0, F7H, read/write, but ADCON.3 is read only)
Eight multiplexed analog data input pins (ADC0–ADC7)
10-bit A/D conversion data output register (ADDATAH, ADDATAL)
Internal AVREF and AVSS
FUNCTION DESCRIPTION
To initiate an analog-to-digital conversion procedure, at first, you must configure P3.0P3.7 to analog input before
A/D conversions because the P3.0 P3.7 pins can be used alternatively as normal data I/O or analog input pins. To
do this, you load the appropriate value to the P3CONH, and P3CONL (for ADC0 ADC7) register.
And you write the channel selection data in the A/D converter control register ADCON to select one of the eight
analog input pins (ADCn, n = 07) and set the conversion start or enable bit, ADCON.0. A 10-bit conversion
operation can be performed for only one analog input channel at a time. The read-write ADCON register is located in
set 1, bank 0 at address F7H.
During a normal conversion, ADC logic initially sets the successive approximation register to 200H (the approximate
half-way point of an 10-bit register). This register is then updated automatically during each conversion step. The
successive approximation block performs 10-bit conversions for one input channel at a time. You can dynamically
select different channels by manipulating the channel selection bit value (ADCON.6.4) in the ADCON register.
To start the A/D conversion, you should set the enable bit, ADCON.0. When a conversion is completed, ADCON.3,
the end-of-conversion (EOC) bit is automatically set to 1 and the result is dumped into the ADDATAH, ADDATAL
registers where it can be read. The ADC module enters an idle state. Remember to read the contents of ADDATAH
and ADDATAL before another conversion starts. Otherwise, the previous result will be overwritten by the next
conversion result.
NOTE
Because the ADC does not use sample-and-hold circuitry, it is important that any fluctuations in the analog
level at the ADC0ADC7 input pins during a conversion procedure be kept to an absolute minimum. Any
change in the input level, perhaps due to circuit noise, will invalidate the result.