AD5271 does not update the resistor value

Hi,

Before create this thread I tried different SPI command sequence in order to update the resistor of the AD5271.

Currently I am doing the following:

    AD5271 connected to a FPGA.

    CPOL => '0'
    CPHA => '1'

    SCLK frequency 200kHz

System boot.

1. 0x2400 = device is removed from shutdown mode

2. 0x1C02 = allow update of wiper position through digital interface

3. 0x0400 = write zero-scale

After the step 3, dport value is updated sendidng the command (0000 01XX XXXX XX00) at 100 hz frequency (SCLK still 200Khz). 

Resistor value never changes. 

Do you have any hint about what is happening?

Thanks!

  • 0
    •  Analog Employees 
    on Dec 18, 2018 6:28 AM

    Hi,

    Could you answer the following question so that i can understand the system better:

    1. Is the device going to Zero scale when you write 0x400?

    2. Could you elaborate a little more on this sentence "dport value is updated sendidng the command (0000 01XX XXXX XX00) at 100 hz frequency (SCLK still 200Khz)". I did not understand what is that you are running at 100hz.

    Regards,

    Koushik 

  • Hi!

    Thanks for your quickly response.

    1) Seems like no. As additional information, terminal A is connected to ground. The resistance I measure between A and W, after write 0x400 is 10.25K.


    2) Sorry I didnt explain properly.

        2-1 Right now, the implemented sequence for testing and debuging purposes is:

            1- Turn on the ystem.
            2- Write 0x2400. Wait for 10ms.
            3- Write 0x1C02. Wait for 10ms.
            4- Write 0x0400. Wait for 10ms.

            5- Write periodically (10ms) another data, for example:
                - Write 0x045C. Wait for 10ms.


        2.2 The first sequence tested (the one we would expect for production), is:

            1- Turn on the ystem.
            2- Write 0x2400. Wait for 10ms.
            3- Write 0x1C02. Wait for 10ms.
            4- Write 0x0400. Wait for 10ms.

            5- Write new data when change in resistor value is desired, for example:
                - Write 0x045C. Wait for 1000ms.
                - Write 0x046C. Wait for minutes.
                - Write 0x047C. Wait for hours.

        In any case the result is the same as point 1) (after write 0x400 or another data value, R_AW = 10.25K ohms)


    Checking the HW design, the capacitor of 0.1uF in Vdd is missing. Could it be related?

  • In order to take a look of the timing implementation, I attach a scope capture when we write 0x0424

    Thanks!

  • 0
    •  Analog Employees 
    on Jan 2, 2019 1:27 PM in reply to gatsuk

    Hi,

    I dont think the capacitor could give so much of a problem.

    Could you share the schematic?

    Regards,

    Koushik

  • Hi!

    The problem was in the cable management (too long). Now its working properly.

    Thanks!