Post Go back to editing

SPI Port

Category: Hardware
Product Number: AD9528

I am currently using AD9528 IC and trying to programme it using spi from stm32. But in the AD9528 side, SCLK and SDIO pins are showing 2.1V voltage when it is not connected to stm32. Can it be a problem with IC?. Those pins are not connected or shorted with any other pin or location. what are the possibilities that can raise this kind of error?

  • As in this datasheet, in spi mode, sclk is pulled down. But in my pcb, the voltage of sclk pin is 2.1V. it might be a problem of AD9528 IC?

  • Hi,

    The SCLK pin is an input to the AD9528. Why would you want to have the pin unconnected? Connect it to the stm32, send a (for example) a read command to the AD9528 of the register 0x0003 that has a value of 0x5, put the oscilloscope probes on the SPI pins and see if they meet the voltage levels from table 17 in the data sheet rev F.

    The SDIO pin behavior depends on the SPI 3-wire or 4-wire modes. It may be an input or may be an output. Why would you leave this pin unconnected? Do what I recommended above. Do not use long wires between the stm32 SPI and the AD9528 SPI pins.

    Petre 

  • No I don't want to keep pins unconnected. But when those are unconnected, the voltage of those pins is 2.1V. Then when I connect it to the STM32, there are high current through those. That's the problem

  • therefore the spi signals from the stm32 are also distorted

  • Hi,

    most likely you have a conflict on those SPI lines. My bet is that the USB IC on the eval board also tries to manage those lines. Did you do anything to cut its SPI connections to the AD9528?

    From the AD928 eval board schematic, there are these jumpers P2, P15, P16, P311. Take them out. Take also out P4 which seems to tell the USB IC not to use the SPI.

    Then apply the stm32 SPI lines and ground to P5 (which comes DNI).

    Petre

  • I am using my custom PCB design contains AD9528 IC. There I had that problem

  • Now that issue is fine. But spi read is not working yet. This is my code. Is there any mistake in that?

  • Hi,

    I already told you to read a register that by default, has a non-zero value, like the register 0x0003 that has a value of 0x05. You never told me if the SPI is in 3-wire or 4-wire mode.

    Don't do any writing to any register after power up because you do not know if the write operation is correct.

    By default, the AD9528 is in 3-wire mode. 

    If you want to function in 4-wire mode, execute a write operation on register 0x0000 with 0x18. Decide also if the controller sends first the MSB or LSB. Set bits 6 and 1 in register 0x0000 accordingly:

    Put the oscilloscope probes on the SPI lines CSB, SCLK, SDIO and verify the first word is 0x8003

    Then, the AD9528 should respond with 0x05 on SDIO line (if 3-wire mode, so make sure the controller stops controlling SDIO line to avoid the conflict) or on SDO line. Keep generating SCLK for this byte to be generated by the AD9528.

    Petre

  • Thanks for the reply and I did as you said and I used 3 wire mode. But AD9528 is not responding. In the designing of PCB, I designed it according to the AD9152 evaluation board schematic from Analog devices since i am also using AD9152 in my design. Therefore I hope there is no any error in the design. Soldering of AD9528 is fine and all other requirements are fine. But AD9528 is not responding.

  • Please Check the power first whether it is going or not in our case we have used AD5054 for power distribution Now

    1. Check the Reset pin of AD9528

    2. Check if you are using slave select line in spi or not we are using this and our spi configuration was chipSelectIndex 1 writeBitPolarity 0 longInstructionWord 1MSBFirst 1CPHA 0 CPOL 0 enSpiStreaming 0 autoIncAddrUp 1 fourWireMode 1.

    3 connect the scope on MISO MOSI and Chip select then after writing on AD9528_ADDR_ADI_SPI_CONFIG_A and AD9528_ADDR_ADI_SPI_CONFIG_B register.

    4. Read register 0x0C it should return 0x56.

    5. Clock out is different thing at least it should return vendor ID if your SPI communication is OK. If you are using four wire mode then your SPI write of configuration register must PASS.