I'm designing what's essentially an I2C-to-PWM output driver, based on SLG46533.
For PWM, I'm using a DFF+Delay circuit described in September 2018 GreenPAK Cookbook, page 38: "Technique: Setting a Constant Duty Cycle". To control the PWM duty cycle, I use an idea from Application Note AN-1144 "I2C IO Controllers 8-bit BUS". I update CNT/DLY module's Counter Data via I2C by sending a command to modify the appropriate registers; for example, CNT2/DLY2 in SLG46533 is reg<1543:1536>. This solution works great in emulation, but...
My question is: every time I modify the Counter Data - am I rewriting the NVM? Is there a limit to how many times I can do this? Is there perhaps a more elegant way to control up to 3 PWM outputs' duty cycles via I2C?
I'm attaching my design to this message, too