1. Transition points ADC

Introduction

The linearity parameter calculations (INLE, DNLE, etc.) of an A/D converter are based on the transition points (or trip-points) of the device. To determine the transition points of an ADC an accurate (analog) ramp with sufficient steps should be applied to the input of the device. From the measured codes the transition points can be determined.

ADC ramp input signal and transition point

The ATX7006 and the software ATView7006 has two implemented methods for determination of the trip-points:

  • Trip-point search method : The algorithm "searches" for the trip-points. The position of the measured code in the results array is taken in account.
  • Sort codes method : The number of times the code is present in the result array is a measure for the LSB step size.


Trip-point search method


Searching for trip-point from code x to code x+1 (x -> x+1), starts with seaching for the first occurrence of the code x in the data array and the last occurrence of code x+1 in the data array (or the last occurrence of code x if this is later found). This will be the search array for the trip-point.

The occurences of code x and less than code x is counted in that area. The trip-point is placed on the position where code x is first found plus this counter value (number of times code x and less is found in that area).

Missing code at the start and end will be extrapolated with ideal converter steps (DNLE = 0) with the first found trip-point as reference. At the end the trip-points are extrapolated from the last found trip-point. All other missing codes result in a DNLE of -1: the trip-point is placed on the same position as its previous trip-point.

Noise or insufficient measurement resolution can result in a DNLE less the 1 lsb.

Examples

No noise

Captured digital data array:

position 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
code 0 0 0 0 0 0 1 1 1 1 1 1 2 2 2

Trip-point 0 → 1 :
Search area: position 0 - 11.
Count: 6 
The trip-point is placed at position 5 to 6. The trip-point voltage is:
Vtrp = Vstart + (count+startpos) * Vstep - 1/2*Vstep

Where:
Vstart = start voltage of supplied ramp.
startpos = Position where code is first found, here position 0.
count = number of times code 0 is found
Vstep = voltage step size of supplied ramp.

With noise

Captured digital data array:

position 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
code 0 0 0 1 0 1 1 1 1 2 0 1 2 2 2

Trip-point 0 → 1 :
Search area: position 0 - 11.
Count: 5
The trip-point is placed at position 4 to 5.

Trip-point 1 → 2 :
Search area: position 3 - 14.
Count: 8 (6 times code 1 + 2 times code 0)
The trip-point is placed at position 10 to 11.

Missing code

Captured digital data array:

position 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
code 0 0 0 2 0 0 2 2 2 2 2 2 3 3 3

Trip-point 0 → 1 and 0 → 2:
Search area: position 0 - 11.
Count: 5
Both trip-points are placed at position 4 to 5.


Sort codes method


All codes are sorted in the data array. After sorting the data array starts with all measured codes 0 then codes 1 etc. So the position of the code in the measured data is not relevant. A DNL error less than -1 is will not occur with the sort codes method.

Example

Captured digital data array before sorting:

position 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
code 0 0 0 1 0 1 1 1 1 2 0 1 2 2 2

Captured digital data array after sorting:

position 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
code 0 0 0 0 0 1 1 1 1 1 1 2 2 2 2

<< Previous (Contents)  Next >> (2. ADC parameter calculations)