Skip to main content

Starting Watchdog from I2c?

DA9062

7 months ago

Posted by pshepherd 30 points 8 replies
0 upvotes

(I am starting from the DA9062-11_BA .ini file (Zynq SoC)

I am wondering if I can turn on the watchdog via the I2C interface. I think I am supposed to do the following to make sure the WDT is turned on:

  1. set CONTROL_D (0x011) to a non-zero value (0x01-0x07)

Is this sufficient? I know I should write 0x01 to CONTROL_F (0x13) to feed the watchdog. 

I have tried this on my board, and I cannot seem to get the DA9062 to cause a reset.

 

6 months ago

ED_Dialog

Hello,

That is correct, you will need to set the TWDSCALE register to enable the watchdog.

The DA9061/62 GUIs have been configured to toggle the watchdog when polling is enabled. This can be disabled: Options -> Settings -> Send watchdog bit when polling. 

Could you check this setting?

Kind regards,

Elliott

6 months ago

pshepherd 30 points

Hi Elliot,

My original test was on my target board, but today I set up my DA9062 motherboard and put a device into it. The device is already OTP programmed with the ini file for the MicroZed board (DA9062-11_BA, CRC D7C6). I tried to observe a WDT reset on the EVM, but was unable to do so. This is the process I followed:

  1. Power up the DA9062 by applying 5V to VSYS
  2. Connect I2C from the Smart Canvas Software
  3. Check the ADC Plot to confirm that the output voltages were correct
  4. Enable polling with Watchdog Automation turned on, set to poll all registers
  5. Set Control_D (TWDScale) to 0x01 in the GUI (~2s WDT)
  6. Switch to the Event/Status/IRQ page.
  7. Turn off Watchdog automation on the Settings dialog box.

At this point, I would expect to see something change on the EVENT/Status/IRQ page. As an example, when I hit the SHUTDOWN button on the Control_F register box, I can click over to the Event page and see that two status bits have now been set: NRESETREQ and E_SEQ_RDY.

Should I be able to set the WDT to run on a device that has been OTP programmed for it to be off, or must this feature be turned on via OTP?

Thanks,
Paul

6 months ago

ED_Dialog

Hello Paul,

I need to look further into.

The process you are following is similar to mine, except my device is programmed with a different OTP(also WDT is disabled). 

Could you check the i2c comms on both set-ups? 

You should be able to enable the watchdog via I2C.

Kind regards,

Elliott 

6 months ago

pshepherd 30 points

Hi Elliott, 

What information would you like from the I2C comms? I can share the log window from the Smart Canvas GUI. On my board, I am reading and writing the I2C bus from kernel commands. When I read the device ID, I am getting the expected response (0x62, I think. It has been a few days.) when I write a value to TWDScale, I can read back the value I just wrote. 
 

Do you want to look at the ini file I am using, or tell me which one you are using? I am happy to try setting the WDT with a different ini file. If I can cause the WDT to timeout with the other file, we can compare the two files with Smart Canvas, and see if there is some other bit that is set incorrectly.

Thanks,

Paul 

6 months ago

ED_Dialog

Hi Paul,

I have just programmed a DA9062 with the -11 OTP and tested the watchdog, in both PowerCommader mode and programmed mode. 

The process i follow:

1. Turn Powercommander mode off(default setting).

2. Apply power and wait for device to boot.

3. Measure Buck3 output voltage with scope, then change Buck3 output voltage to confirm i2c comms.  

4. Set TWDSCALE to 2.048s.  Polling is enabled and the polling watchdog trigger function is enabled(default setting). Device remains in Active mode. 

5. Disabling the polling watchdog trigger function and the WDG times out. This causes a down sequence and the device to remain in powerdown. 6

6. Disable TWDSCALE and trigger a wake-up.  I now have a TWD_ERROR in the faults tab.

 

Could you share an image of you DA9062 EVK set-up? 

 

When you set TWDSCALE and disable the polling watchdog trigger function,  could you take a register dump?

 

Kind regards,
Elliott

 

 

6 months ago

pshepherd 30 points

Hi Elliott,

I am successfully getting the system to reset now on the EVM! I'm not sure why it was not working before, but probably I tried too many things and messed up some register settings.

I looked in the DA9062 datasheet, but I am struggling to understand. Is there a way to automatically restart the power sequencer after RESET, and not stay in POWERDOWN mode? The GUI indicates that I have AUTOBOOT set high, but the part stays in POWERDOWN after the WDT expires. I have attached the register dump after the part stops in PD mode.

 

Thanks,

Paul

 

Attachment Size
da9062 screenshot.png 62.1 KB
DA9062 Register Dump.txt 3.6 KB

6 months ago

ED_Dialog

Hello Paul,

I will need to look into a work around. However i am unsure if there is one, the device will require a wake-up event.

Kind regards,
Elliott 

6 months ago

pshepherd 30 points

So, it sounds like this is handled differently for a POR vs a WDT RESET? In the case of POR, the Sequencer will move through the POWERDOWN state automatically, but in the case of the WDT RESET, it needs an external event source? If that is the case, I can understand, but it will be unfortunate. This WDT is not absolutely required, but it would be a very nice-to-have feature. I don't see a possibility to add an external source to exit POWERDOWN.

Thanks for your support, Elliott!

Paul