These things seem to run at 40 MHz.... And almost at 48! #112
Replies: 5 comments 9 replies
-
I did finally make one part of these things misbehave due to clock speed. At the undocumented 4x multiplication factor, the PLL clocked from external 40 MHz clock and used to drive TCD0, glitches sometimes! Can you belive it? What a shoddy piece of engineering! I'm not even exceeding the rated max PLL speed by a factor of 4! |
Beta Was this translation helpful? Give feedback.
-
They don't already have support for 25 MHz in the dropdown menu? The speeds available on megaTinyCore are supposed to be a subset of the ones available here - all the code for those speeds was already written for megaTinyCore (though I thought I copied it all from DxCore!) |
Beta Was this translation helpful? Give feedback.
-
That may be all that's needed. If more is needed, timing will be fucked up and you'll get warnings printed - anything that needs to be brought over is already written for megaTinyCore and porting between them., I consider this to be a bug that will be dealt with in the next version, which should actually be soon because I am not going to work on anything hard over here since I have someone waiting on 2.0.0 ATTinyCore. #130 |
Beta Was this translation helpful? Give feedback.
-
And by the way, at least on the first E-spec part I tried, 48 MHz external clock worked beautifully. :-P Still looking for code that's good at crashing overclocked AVRs. :-) |
Beta Was this translation helpful? Give feedback.
-
I'm very interested in this, and I'd love to know more about the details of the overclocking tests. What supply voltage were they run at? Were there any external devices connected other than a serial connection? My intuition is that a test run at 3.3V with nothing but a serial port may not be demanding enough to prove much. A harder test would be run at 5V, with maxed out IO. Although the CPU core may run at a lower voltage, all the IO buffers run at VCCIO and power increases with the square of voltage. A harder test should also have all the IO pins connected to external devices, driving signals at 32-40-48 MHz. |
Beta Was this translation helpful? Give feedback.
-
Throughout the readme I was throwing around 48 MHz (since that's the highest I thought was plausible and hence bothered to handle), but warning people how it would probably be unstable, and that even 40 was unlikely to work.
In the unit I tested at that speed, we seem to be right on the edge. It almost works, About 1 in every 50 delay() calls seems to terminate instantly (using blink with delay changed to 100ms, and printing millis at start of loop) between calls to delay every 100ms, and the printing (but not the blinking) stops after a few thousand print's. The 40 MHz one worked like a charm!
Anyone got a benchmark that's known to be good at crashing overclocked AVRs? I'll bet if you binned them you could find some that would run at 48.....
I've ordered some of the high-temp spec'ed ones to see if they will run at higher speeds (if they're just getting them by binning the chips and calling the ones that come out better E-spec and the rest I-spec, E-spec should work at higher speeds, right?), and I've got some 32, 40, and 48 MHz crystals that will fit the footprint on my new AVR128DB64 breakout boardsso I can compare with clock generators.
Those will be listed in the store, but only after some more qualification tests (need to see which board features work and can be bragged about: the two interesting ones being the support for MVIO voltage control by the chip using an external regulator IC (I found this baller regulator IC, the idea would be you run the AVR from 5v, and that's Vin for the reg, and can turn the reg on and off and switch it between a few voltage options using three digital pins ) and rthe slot for an ESP8266 wifi adapter for internet connectivity).
Beta Was this translation helpful? Give feedback.
All reactions