Hi all. I see this chip very popular because many people can't get it working. I decided to make new topic because my case is little different.
First of all, I should say that we already read all previous topics carefully, studied whole datasheet from cover to cover and made all possible experiments. So please, don't advice such trivial things like "SPI mode must be CPOL = 0, CPHA = 1", "0x1803 command must be sent to disable write protection", etc.
Attached is scheme fragment. SPI lines are short enough on PCB topology. SDO and RDY pins are pulled up on master side with internal pull-ups. Later we soldered required decoupling capacitors to Vlogic and Vdd pins.
Issue details. We use chip as voltage divider. After power-up wiper pin outputs half-value of voltage applied to terminal A. Seems like everything ok. But actually works only those part of chip which implements serial interface and shifted register. After MCU sends any 16-bit value to chip it readbacks same value in next frame. It makes impossible to readback something useful from chip (commands 2, 5, 7). Executing command 1 doesn't change wiper position. RDY pin is always low. SDO pin is low in idle (when SYNC is high). We analyzed SPI bus with oscilloscope and digital analyzer. All waveforms precisely match expected activity on the bus. VDD current consumption (whole board) is 40mA. Also, if we set RESET pin to low chip behavior doesn't change.
We tried following experiments:
- attach RESET pin to MCU and send low impulse on start-up;
- send software reset command;
- change various SPI modes (we didn't restricted our fantasy with standard ones only);
- remove VDD supply (from whole board);
- increase delays between commands;
- other witchcraft and hacking.