Hi,
Currently working on testing MPC5674F's differential adc measuring capabilites. I simply test the DAN0+ and DAN0- with three resistor like below :
uint32_t CQueue_0[] =
{
( CHANNEL(96) | B0 | MESSAGE_TAG(RFIFO0) ),
( CHANNEL(10) | B0 | MESSAGE_TAG(RFIFO0) ),
( CHANNEL(11) | B0 | MESSAGE_TAG(RFIFO0) ),
( CHANNEL(12) | B0 | MESSAGE_TAG(RFIFO0) ),
( CHANNEL(13) | B1 | MESSAGE_TAG(RFIFO0) | EOQ )
};
But conversiton results are not much I wait, output on RFIFO0 -> gives in range of 2681 and 4095 (12 bit conversition). I think it can not give 4095 because of voltage difference is at most 3.3 V.
Is this test correct to understand the Diff. ADC is just working? If answer is NO, how can I test it easily?
Not: R2 and R3 is 1K ohm, R1 22K ohm pot.
Best regards,
Umit.
Solved! Go to Solution.
Both signals must be in range 0 - 5V, its differential voltage then must be from -2.5V to 2.5V (considering PREGAIN 1x).
You have two ADC inputs, for instance DAN0+ and DAN0-.
Both inputs have allowed voltage range from 0V to 5V. Its differential voltage then must be from -2.5V to 2.5V (considering PREGAIN 1x). because (VRH – VRL)/2 is 2.5V.
See datasheet spec:
Spec 18 means central point. Spec 17 means voltage range.
Thus allowed voltage range for differential input is
<DIFFcmv-DIFFmax/2, DIFFcmv+DIFFmax/2 > for all PREGAINs
Specifically in your case your differential voltage range is around 0 - 3V, thus your measuring saturates at 2.5V and observed codes are right.
Both signals must be in range 0 - 5V, its differential voltage then must be from -2.5V to 2.5V (considering PREGAIN 1x).
You have two ADC inputs, for instance DAN0+ and DAN0-.
Both inputs have allowed voltage range from 0V to 5V. Its differential voltage then must be from -2.5V to 2.5V (considering PREGAIN 1x). because (VRH – VRL)/2 is 2.5V.
See datasheet spec:
Spec 18 means central point. Spec 17 means voltage range.
Thus allowed voltage range for differential input is
<DIFFcmv-DIFFmax/2, DIFFcmv+DIFFmax/2 > for all PREGAINs
Specifically in your case your differential voltage range is around 0 - 3V, thus your measuring saturates at 2.5V and observed codes are right.
Thank you for your information David,
Could you please show me a simple test to handle differential ADC signals correctly?
Ümit.
You may for instance use 2 potentiometers and 2 resistors
One way will be potentiometer and resistor in series creating DAN0+ voltage with range for instance 0.8V-3.3V (according to pot position).
Second way will be the same i.e. potentiometer and resistor in series creating DAN0- voltage with range for instance 0.8V-3.3V
So let’s set up both potentiometers in opposite corners
DAN0+ = 3.3V
DAN0- = 0.8V
DAN0+ - DAN0- = 3.3-0.8 = 2.5V
Second configuration:
DAN0+ = 0.8V
DAN0- = 3.3V
DAN0+ - DAN0- = 0.8-3.3 = -2.5V
This way you will achieve differential voltage range -2.5V - 2.5V.