I'm kind of new here, so if this in the wrong forum, feel free to move me.
So, for a project I was working on, I needed to clock the AVR up to 30 MHz or get an ATXMEGA. I am a die hard USBtinyISP user, and so finding out I needed to use PDI was out of the question. Not to mention no one has them in stock any way.
I tried googling for this sort of thing and I just couldn't find it. And, while I could have just dropped in an oscillator at my frequency and played with the voltage that would have been lame.
I got my hands on an DS1077@133MHz and made a jig controlled by an AVR that talks V-USB to my host so I can vary the power by PWM, control the frequency by divisors of 133MHz, watch the voltage by ADC (And volt meter for comparison) and watch three debugging outputs on the AVR.
This is a LONG ways from perfect and I intend to improve up on it by getting more DS1077s at different frequencies if I can find them.
DISCLAIMER: I am an engineer, not a scientist. I am not certified to perform science in any jurisdiction. Do not design production projects using this data. This data reflects ONE IC and will not hold for the general case.
All I cared about was the CPU core, the ability to use the hardware multiply and the UARTs functionality.
Put chip in reset mode, change voltage to new voltage (or frequency if shifting frequencies).
Allow to settle.
Bring chip out of reset mode with new voltage (voltage is marginally higher at beginning of reset than what is listed in the chart because of limitations).
Allow everything to settle out.
Read chip to see how it's doing, and read the three pins to see how its tests went.
Put the chip back into reset.
I over clocked the face off my ATMega168-20PU (0820 date code) ... and it worked all the way up to 46 MHz (DS1077 was actually running at ~140MHz).
The voltage knee that's described in Atmel's documentation is very real.
Click here for an interactive chart, so you can mouse over any data point to get its exact values.
Please note the charts use the /read/ ADC values after the chip was powered on. The PWM values did not directly related to actual output voltage because of some poor design decisions on my part.
I intend to actually take these boards and the extra junk I needed to add to make the test work and put it onto a PCB and use a ribbon cable to hook up new chips to test so I can blast through them much more quickly.
I will see how practical it is to make use of multiple DS1077's and put their output into high-z mode so I can fill in the chart much more completely.
If I ever actually get this far, I may be able to open up requests for tests, where people could request I run a given chip with a series of tests on it.