register read not working in AD7606b parallel interface

Hi, We are using AD7606b in parallel mode though Linux drivers. we used HDL and linux driver from ADI reference source. for parallel interface we are able to get ADC reading. but we are facing with register read operation. we are using AD7606b in software mode, ADC reading are correctly coming, but when we try to read ADC register data we are getting 0x18CX value in return irrespective to any register address. we checked with oscilloscope , the register read in parallel mode waveform is same as datasheet , any we are even able to get register read command properly, but response from register_read from AD7606b is always in range 0x18CX for any register address we use. we even try to read register data at adders 0x2f for which we should get 0x14 but getting 0x18CX and for this we also check waveform on oscilloscope and AD7606B is actually transmitting 0x18C0. request you to kindly suggest any solution or points we might be missing out.

regards,

shivshankar thati

Parents Reply Children
  • Hi Michael,

    we have used and modified ADI parallel interface HDL code also written linux driver code on top of https://github.com/analogdevicesinc/linux/blob/master/drivers/iio/adc/ad7606_par.c . our driver is working as we are getting ADC data on parallel bus for all channel, we have made Par interface reg_read andreg_write implemented from our side.Reg_write function is working properly but reg_read functionality is not. we have checked output waveform  from scope and is correctly alligned and executing but we getting a fixed range value. refer previously posted question. 

    "Hi, We are using AD7606b in parallel mode though Linux drivers. we used HDL and linux driver from ADI reference source. for parallel interface we are able to get ADC reading. but we are facing with register read operation. we are using AD7606b in software mode, ADC reading are correctly coming, but when we try to read ADC register data we are getting 0x18CX value in return irrespective to any register address. we checked with oscilloscope , the register read in parallel mode waveform is same as datasheet , any we are even able to get register read command properly, but response from register_read from AD7606b is always in range 0x18CX for any register address we use. we even try to read register data at adders 0x2f for which we should get 0x14 but getting 0x18CX and for this we also check waveform on oscilloscope and AD7606B is actually transmitting 0x18C0. request you to kindly suggest any solution or points we might be missing out."

     is there any configuration we missing out kinldy guide us on this issue.

    regards,

    shivashankar thati.

  • Parallel register read/write is documented in the AD7606B datasheet page 35-37.

    https://www.analog.com/media/en/technical-documentation/data-sheets/ad7606b.pdf

    I would try to capture all bus cycles using a logic analyzer. 

    If you have questions related to the interface and operation please post a question in the Precision ADC forum here: https://ez.analog.com/data_converters/precision_adcs

    Regarding your driver modifications it's difficult to advice without seeing your changes.

    -Michael

  • Hi,

    we follow design as per datasheet itself, what we observe is that in parallel interface register read AD7606B returns ADC data only not the register data. we checked in oscilloscope our parallel read command goes like

    read command (WR signal low) 0xAF00 (D15 = 1 , address = 0x2f) followed by read (RD signal low). but we get ADC data only in return  instead of value 0x14 as per datasheet. we checked on hardware  OS[2:0] =1, i.e its in software mode.

    we initially posted this question in  Precision ADC forum from there we diverted to this forum.

    request you to kindly suggest for our issue.

    thanks,

    shivashankar

  • Without seeing your code, we can't provide any further recommendations.

    Please share the output of:

    #git diff drivers/iio/adc

    -Michael

  • 0001-Ad7606b-Added-the-driver-code-for-ad7606b.txt

    Hi ,

    please find the attached changes fot the ad7606b.

    Regards,

    Shivashankar Thati