LPC55xx: ADC results show huge gaps

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

LPC55xx: ADC results show huge gaps

1,479 次查看
danielholala
Senior Contributor II

Hi,

In high resolution mode (16 bit), the LPC5528 ADC has a large number of "missing codes", i.e., between every code the ADC generates, there are codes that will never been generated no matter what the input voltage is. Specifically, the LPC5528 ADC exhibits a quite regular behavior with (mostly) 3 consecutive missing codes in between two generated codes. See here.

Obviously this ADC also exhibits "code gaps". With code gaps I mean that there are not only 3 consecutive single codes missing but 5 to 10 successive codes. This is because at the gaps the codes that the ADC usually can generate are missing, too, or rarely generated. These code gaps are quite evenly spaced and about 1000 codes steps (LSBs) apart.

See this graph: ADC conversion results (in purple) over conversion number for slowly changing input signal.

danielholala_0-1678368883192.png

 

 

That's bad. 

I can work-around missing codes by averaging. However, this does not work for codes at the "gap". There, the ADC's behavior with result to codes is highly nonlinear and can not be cured by averaging.

Any ideas?

 

0 项奖励
回复
3 回复数

1,457 次查看
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi,

As the following Table I copied from data sheet of LPC5528, for single-end analog input, 16 bits resolution sampling, the ENOB is 12 bits, which means that low 4 bits from D3 to D0 are in accurate in 16 bits ADC result register, the D15~D4 are accurate. The ENOB is a synthetic spec which represents the ADC accuracy of course including the missing code effect.

Unfortunately, the missing code for ADC of LPC55xx is not tested, so we can not give more information,I am sorry.

BR

XiangJun Rong

 

 

 

 

xiangjun_rong_0-1678414423749.png

 

1,450 次查看
danielholala
Senior Contributor II

Hello @xiangjun_rong ,

Thank you for your response.

I was under the impression that the ENOB value describes the ADC's "AC" performance. Most of all because it's measured by feeding a sine signal with a certain frequency to the ADC's input.

However, I am working with a signal that I consider as "DC". In other words, the signal I'm interested in has no frequency components.

So I was hoping wondering whether the performance of the ADC will be different for "DC" signals.

Best regards,
Daniel

0 项奖励
回复

1,423 次查看
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi, Daniel,

I agree with you, when ENOB is tested, the ADC samples a sine signal, compute the signal energy and noise energy. Although the ENOB spec is computed based on testing a sine signal, but it represents the ADC sample accuracy, the ENOB is also valid for DC signal.

Hope it can help you

BR

XiangJun Rong