You are on page 1of 19

EE 472 – Senior Project

“Noise Characterization of A/D


Converter on PIC Microcontroller”

Hang B. Lee, Applied Physics & EE


Advisor: Prof. Robert Grober
EE 472 – Senior Project

PIC Microcontroller

• PIC: Programmable Interface Controller


• Modifiable by end user:
- Software (C code)
- Hardware (modification to circuitry)
• Common use in robotics and control applications
• Potential use in data acquisition or measurement
EE 472 – Senior Project

Project Goal

• Understand noise characteristics of A/D Converter


• Investigate methods to minimize or eliminate noise
• Artificially enhance resolution – software methods
EE 472 – Senior Project

A/D Converter
• 10-bit resolution
• 8 channels for analog input
• Throughput: 35,000 samples per sec
• Method of conversion:
(i) sample and hold
(ii) successive approximation
EE 472 – Senior Project

Resolution

• What is maximum resolution?

Vref + 5V
Δ= = 10 ∪5mV
2N 2

• For 5V, maximum resolution ~ 5 mV


• 1 LSB represents 5mV increment
EE 472 – Senior Project

A/D Converter Noise


• Quantization noise (error due to discretizing)
• Thermal noise
• Reference voltage variations
• Etc.

What is the sum of all these contributions?


EE 472 – Senior Project

Oversampling and Averaging

• Artificially enhance resolution


• Cost efficient alternative to paying for higher resolution

BUT ….

• Tradeoff throughput
(High resolution means slower conversion speed)
• More CPU intensive
EE 472 – Senior Project

Requirements

• Must be able to approximate sum of all noise contributions


as white noise

• White noise has uniform power spectral density

Two ways to check for this:

(1) Histogram analysis


(2) Take FT of autocorrelation
EE 472 – Senior Project

Data Measurement

• Built-in potentiometer / DC power supply


• Labview collects digital output values
• Histogram analysis
EE 472 – Senior Project

Serial Interface

• Serial interface PIC chip with PC


• Receive streaming data from output pin
• Approaches taken:
(1) Visual Basic – failed effort
(2) Labview – better
EE 472 – Senior Project

Problems with Visual Basic

• Buffer check requires too much time


• Causes lag in data acquisition
• Too slow for collecting large number of data points
EE 472 – Senior Project

Labview Waveform
EE 472 – Senior Project

Waveform Close-up
EE 472 – Senior Project

Another Waveform
EE 472 – Senior Project

Histogram – 88
Histogram of Digital Output - 88

30000

Counts

20000

10000

0
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96

Digital Output
EE 472 – Senior Project

Histogram - 11
Histogram of Digital Output - 11
20000

15000

Counts

10000

5000

0
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Digital Output
EE 472 – Senior Project

Histogram – 255
Histogram of Digital Output - 255
40000

30000

Counts

20000

10000

0
240 245 250 255 260 265 270
Digital Output
EE 472 – Senior Project

DC Histogram – 18
Histogram of Digital Output - 18
4000

3000

Counts

2000

1000

0
13 14 15 16 17 18 19 20 21 22 23 24 25

Digital Output
EE 472 – Senior Project

What Now?
• We understand that “effective” resolution is not
nearly as good as maximum resolution
• Dithering may help – introduce white noise
then oversample and average

You might also like