I've built a direct digital synthesis based VFO around an AD9851 and PIC24F. It has an LCD display, rotary encoder based control knob and a number of configuration options which I would like to store (tuning step, frequency, lcd contrast, backlight brightness, etc). This is a hobby project which I intend to use to drive homebrew transceivers. Frequency is the tricky one. Because this changes so frequently I don't think it's a candidate for storing in flash or eeprom due to write endurance limitations. I've thought of workarounds such as only saving the frequency if it hasn't changed in 5 seconds, to cut down on writes, but this isn't how any other device I've used works and it would just be strange. What should I do?
Like my commercial transceivers, the device is intended to be run from mains power -- which might complicate things a bit. I'm thinking along the lines of two options, neither of which I've explored much, and am hoping for some input. All of my commercial transceivers with digital tuning have have a button cell which powers some sort of non volatile storage mechanism. I'm thinking of something along the same lines. Option one might be to put the PIC into sleep mode (which preserves the internal SRAM) when mains power is turned off and run it off a battery. I've looked into this a little bit and the main issue for me would be designing a system where the PIC can be driven by both a button battery and mains power. I also haven't done a precise calculations of battery life so I don't even know if this would be an option. A second option I've thought of (the one which first came to mind) is to use some sort of external serial SRAM device which refreshes itself using power from the battery alone. Some looking online has sort of indicated that such devices exist but I haven't been able to find any specifics.
So which track should I follow? If it's the latter, can someone suggest a particular product/part number to look into?
Thanks!