MCP3561 / MCP3562 / MCP3564 Nonsense Conversion Results
Hello All, Has anyone out there used MCs new MCP356x ADCs at all and got sensible readings out of them?
I have a MCP3562 with its REF+ driven direct from a 1.2V from a MCP1501 and REF- to GND, and all the SPI comms to a PIC32 are all working fine (the same as figure 7.1 in its datasheet).
If I set the MUX register (addr=0x06) to measure various internal signals the device permits, the results in the 24bit ADC register are:
VREF vs GND = 7fffffh (full range+, as expected)
GND vs VREF = 800000h (full range-, as expected)
GND vs GND = 000000h (as expected) AVDD vs GND = 7fffffh (as expected as its at 3.3v which is over 2*1.2v)
But if I try to read AVDD vs GND with the input gain set to 0.333 (in Config3 Register @ address 0x03) in theory the ADC should report 7555xxh or close to it, but still reports full range 7fffff despite 3.3V*0.3333=1.1V....ie less than VRef still. Not expected at all.
Worse still, if I supply real voltages between 0~2.4V (verses GND) to any input, if the input is close to Vref the ADC register reports results near to 000000h but as the input signal moves away from VREF (either negative or positive) the ADC results are far too large, and around +/-50mV just reports full scale 7fffffh or 800000h already!
I have used various differential delta-sigma ADCs before now (mainly Analog Devices) and realise these MCP356x devices are new, but simply cant believe they perform so poorly....its as it the VRef is used in conversion is affected by the input signal itself or the gain is changing internally based on this input signal....all very wierd!
Thanks for any ideas or experiences of using these ADCs.
PS I also have noted whether I use Static Read or Incremental Read features this makes no difference to the ADC output clocked out via SPI...not sure it would do, but I presumed initially it would.
pps. Just for the record the developement setup is:
Dev board: PIC32 Usb starter Kit II
MPLabX 5.05, XC32
PCB: as per fig7-1 of MCP3562 datasheet