AD9371: SDO pin: No output

Hello all,

I have two AD9371 and one AD9528 on the custom board.

For AD9371 spi lines, we have used level translators IC also.

AD9528 is successfully programmed by FPGA.

Both AD9371's SDO pin is continuously high even when i am writing register 0x0A (value is 0xAB) and reading the same register back.

I have checked clk and sdio through oscilloscope. It is fine.

Please suggest how can i debug.

  • 0
    •  Analog Employees 
    on Jul 20, 2021 5:19 AM

    Can you please check and share the oscilloscope capture for chipselect, SDIO, CLK signal?.

    Are you able to readback the product id of AD9371?

    Please make sure you are providing the reset as required and all the power supply and ref clk signals are valid.

  • Hi

    Thank u for the reply.

    Replying to this point "Are you able to readback the product id of AD9371?"

    I am getting product id code 0x03 in other working cards. Check the log in working card

    ADI-1: JESD Link Re-Init !!
    [   41.386000] ad9371 spi1.0: Framer:m=4, l=2, k=32
    [   41.393240] ad9371 spi1.0: lane_rate_kHz 4915200, Input_rate_khz 122880, m 4, l 2
    [   41.400814] ad9371 spi1.0: Framer:m=2, l=2, k=32
    [   41.405510] ad9371 spi1.0: lane_rate_kHz 4915200, Input_rate_khz 245760, m 2, l 2
    [   41.413071] ad9371 spi1.0: Dframer:m=4, l=4, k=32
    [   41.417853] ad9371 spi1.0: lane_rate_kHz 4915200, Input_rate_khz 245760, m 4, l 4
    [   42.159259] ad9371 spi1.0: Product ID retrieved 0x3
    [   42.168342] ad9371 spi1.0: MCS Passed !!
    [   42.182027] ad9371 spi1.0: JESD RX Framer: ML 42
    [   42.186883] ad9371 spi1.0: MYKONOS: FRAMER: L =2, M=4, K=32, N=16, F=4, CS=0, C=1, Np=16
    [   42.196796] ad9371 spi1.0: MYKONOS: OBS FRAMER:: L =2, M=2, K=32, N=16, F=2, CS=0, S=1, Np=16

    But in this non-working card, i was getting log like this

    [    3.524848] ad9371 spi1.0: ad9371_probe : enter
    [    3.530081] ad9371 spi1.0: phy->reset_gpio 0x7afb3020
    [    3.535220] ad9371 spi1.0: ...phy->sysref_req_gpio 0x7afb30c0
    [    3.541640] ad9371 spi1.0: Framer:m=4, l=2, k=32
    [    3.546341] ad9371 spi1.0: lane_rate_kHz 4915200, Input_rate_khz 122880, m 4, l 2
    [    3.553899] ad9371 spi1.0: Framer:m=2, l=2, k=32
    [    3.558594] ad9371 spi1.0: lane_rate_kHz 4915200, Input_rate_khz 245760, m 2, l 2
    [    3.566156] ad9371 spi1.0: Dframer:m=4, l=4, k=32
    [    3.570938] ad9371 spi1.0: lane_rate_kHz 4915200, Input_rate_khz 245760, m 4, l 4
    [    4.303182] ad9371 spi1.0: Probe Failed:  product ID retreived 0x1F
    [    4.309442] ad9371 spi1.0: Framer:m=4, l=2, k=32
    [    4.314135] ad9371 spi1.0: lane_rate_kHz 4915200, Input_rate_khz 122880, m 4, l 2
    [    4.321697] ad9371 spi1.0: Framer:m=2, l=2, k=32
    [    4.326393] ad9371 spi1.0: lane_rate_kHz 4915200, Input_rate_khz 245760, m 2, l 2
    [    4.333953] ad9371 spi1.0: Dframer:m=4, l=4, k=32
    [    4.338736] ad9371 spi1.0: lane_rate_kHz 4915200, Input_rate_khz 245760, m 4, l 4
    [    5.070947] ad9371 spi1.0: Probe Failed:  product ID retreived 0x1F

    After that i have made changes in ad9371.h file.

    ID_AD9371 = 0x001F

    Then log is

    [    3.532924] ad9371 spi1.0: ad9371_probe : enter
    [    3.538158] ad9371 spi1.0: phy->reset_gpio 0x7b001020
    [    3.543300] ad9371 spi1.0: ...phy->sysref_req_gpio 0x7b0010c0
    [    3.549725] ad9371 spi1.0: Framer:m=4, l=2, k=32
    [    3.554421] ad9371 spi1.0: lane_rate_kHz 4915200, Input_rate_khz 122880, m 4, l 2
    [    3.561979] ad9371 spi1.0: Framer:m=2, l=2, k=32
    [    3.566674] ad9371 spi1.0: lane_rate_kHz 4915200, Input_rate_khz 245760, m 2, l 2
    [    3.574235] ad9371 spi1.0: Dframer:m=4, l=4, k=32
    [    3.579018] ad9371 spi1.0: lane_rate_kHz 4915200, Input_rate_khz 245760, m 4, l 4
    [    4.331401] ad9371 spi1.0: MCS Passed !!
    [    4.345096] ad9371 spi1.0: JESD RX Framer: ML 42
    [    4.349950] ad9371 spi1.0: MYKONOS: FRAMER: L =2, M=4, K=32, N=16, F=4, CS=0, 
    C=1, Np=16
    [    4.359862] ad9371 spi1.0: MYKONOS: OBS FRAMER:: L =2, M=2, K=32, N=16, F=2, 
    CS=0, S=1, Np=16
    [    4.370529] ad9371 spi1.0: MYKONOS: DEFRAMER: L =4, M=4, K=32, N=16, F=2, CS=2, 
    S=1, Np= 16
    [    4.952871] random: crng init done
    [    6.840289] ERROR: 256: ARM Mailbox Busy. Command not executed in 
    MYKONOS_sendArmCommand()
    [    6.848546] ERROR: 256: ARM Mailbox Busy. Command not executed in 
    MYKONOS_sendArmCommand()
    [    6.856802] ad9371 spi1.0: ARM Mailbox Busy. Command not executed in 
    MYKONOS_sendArmCommand()
    
    2) Replying to "Please make sure you are providing the reset as required and
    all the power supply and ref clk signals are valid."

    AD9528 is programmed successfully. And 2 device clocks are generated and are checked in oscilloscope.

    All Power supplies are checked and they are ok

    Continuously high voltage is there at RESETB pin

    Is there any special requirement for RESET pin ?

    3) Replying to Can you please check and share the oscilloscope capture for
    chipselect, SDIO, CLK signal?.

    Please check the below SPI waveform

    Blue : CSB

    Green : SDO

    Yellow : SDIO

  • 0
    •  Analog Employees 
    on Jul 23, 2021 5:32 AM in reply to mahima90

    Reset pin in active low(chip will work when a low signal is provided to its input). Please give a low voltage signal to its input. Are you able towrite and readback from the scratch pad register?

  • According to AD9371 datasheet, RESETB (Pin J4) is Active Low Chip Reset. It means if we give low voltage then device will be in reset state.

    Please explain me if i am saying wrong.

    I have checked three times.. RESET is high and it is going low for 4 micro seconds and then it is high.