ADE9078 - first ADC values -

Hi,

I have a problem with the first values of the Burts read Adress : 0x607.0x61C.

I wait until the ADE set the RSTDONE bit in STATUS1 and then I configure all register and starts the chip.

When I make the first burst read I get "crazy" values for all rms-values, for example AIRMS_1 = 0x7A4F780A.

The next access of the register is 0x00000000.

To fix the problem I have to know what happens inside the ADE and is only the first value wrong ?

I tried with different delays, 1second, 3 seconds, 10 seconds, after configuration and only 10 seconds solve the problem.

Can you help me ?

Parents
  • 0
    •  Analog Employees 
    on Feb 8, 2019 6:26 PM over 1 year ago

    Hi Bastler

    I need to know more about your setup . Are you using our eval board? What is your current sensor? If you are using a CT what is your burden? What is the voltage divider ration? Voltages and currents (220v,5A)

    What is your SPI CLK rate?

    Can you share your code? 

    How long between the run bit is set and you start the burst?

    What registers are you modifying after reset? What order do you write the registers?

    If you read the xRMS registers individually do you get the same issue? 0x20C,0x20D, 0x22C,0x22D,0x24C,0x24D

    Dave

  • Hi Dave,

    I try to give you the needed information :

    • we have our own pcb , no sensors, 10mohm shunt, 998k/1k5 voltage divider
    • SPI-CLK 1.15Mhz
    • time between run bit and the first burst read is adjustable, I try 1 second and 3 second the first value fails. If I wait 10 seconds, the first value will be all right.
    • after reset all offset/ gain registers [xIGAIN,xVGAIN,xIRMSOS,xAVRMSOS,xAPHCAL0,xPGAIN.xWATTOS,xFVAROS will be written with the value I get during calibration, then I configure ADC_redirect, config1, vlevel.....run -wait- 
    • no I didn't read the xRMS individually, because our deice work very fine only the first value is wrong
    •                     first          / second
    • AIRMS : 0x7A4F780a / 0x00000000
    • BIRMS : 0xBA6D8937 / 0x00000000
    • CIRMS,AVRMS,BVRMS,CVRMS, NIRMS,AWATT....

    I can fix this problem with a counter, but I have to be sure how many samples will be wrong. After the first access, no further problems, all rms-values will be fine.

    What part of the code you need ?

    regards

  • 0
    •  Analog Employees 
    on Feb 11, 2019 6:24 PM over 1 year ago in reply to Bastler

    Hi I would like to understand if the individual RMS registers give the same value as burst read. Can you please try to read the individual  RMS registers. 

    Dave

  • 0
    •  Analog Employees 
    on Feb 11, 2019 6:51 PM over 1 year ago in reply to dave.smith

    Could you tell me what the config1 register is written to? 

    Also the cmd_hdr you send to start the burst.

    Dave

  • Hi Dave,

    yes both register the individual and the burst one give the same value.

    But during the impletation of the test code, I imagine that I start my DMA-controller, which is responsible for the SPI communication, directly after setting the run bit.

    My delay, I inserted has only an affect of the evaluation of the spi-buffer.

    Now I start the first access after 1ms and the first value is 0x000.

    Sorry my mistake , the ADE works fine !

    Kind regrads

Reply
  • Hi Dave,

    yes both register the individual and the burst one give the same value.

    But during the impletation of the test code, I imagine that I start my DMA-controller, which is responsible for the SPI communication, directly after setting the run bit.

    My delay, I inserted has only an affect of the evaluation of the spi-buffer.

    Now I start the first access after 1ms and the first value is 0x000.

    Sorry my mistake , the ADE works fine !

    Kind regrads

Children
No Data