
S3C828B/F828B/C8289/F8289/C8285/F8285
A/D CONVERTER
15-1
15
10-BIT ANALOG-TO-DIGITAL 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
AVREF and AVSS values. The A/D converter has the following components:
— Analog comparator with successive approximation logic
— D/A converter logic (resistor string type)
— ADC control register (ADCON)
— Eight multiplexed analog data input pins (AD0–AD7)
— 10-bit A/D conversion data output register (ADDATAH/L)
— 8-bit digital input port (Alternately, I/O port.)
— AVREF and AVSS pins, AVSS is internally connected to VSS
FUNCTION DESCRIPTION
To initiate an analog-to-digital conversion procedure, at the first you must set ADCEN signal for ADC input enable
at port 2, the pin set with 1 can be used for ADC analog input. And you write the channel selection data in the A/D
converter control register ADCON.4–.6 to select one of the eight analog input pins (ADC0–7) and set the
conversion start or enable bit, ADCON.0. The read-write ADCON register is located in set 1, bank 0, at address
F3H. The pins which are not used for ADC can be used for normal I/O.
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/L register where it can be read. The A/D converter then enters an idle state. Remember to read the
contents of ADDATAH/L before another conversion starts. Otherwise, the previous result will be overwritten by
the next conversion result.
NOTE
Because the A/D converter has no sample-and-hold circuitry, it is very important that fluctuation in the
analog level at the AD0–AD7 input pins during a conversion procedure be kept to an absolute minimum.
Any change in the input level, perhaps due to noise, will invalidate the result. If the chip enters to STOP or
IDLE mode in conversion process, there will be a leakage current path in A/D block. You must use STOP
or IDLE mode after ADC operation is finished.