Hello all,
I'm toying (pun intended) with ideas in the context of a future challenge and while I'm not settled on what the thing should do, I'm decided on using the MAX32666FTHR2 board that I was gifted with a couple of years back.
The "Light Up Your Life Challenge" gave me a push to finally use the 8*8 WS2812B matrix that I once bought because it looked nice and was not expensive, and so I'm trying to hook it up to the board.
As I can't seem to get the proper output signal to send to the LEDs, I decided to observe what's coming out of the MAX32666 pins.
My first experiment was to use a continuous timer, whose clock is half the system clock (96MHz) and which toggles the output pin every time the counter reaches the comparison value. Here is what I get with two relatively high values:

The signal should be a nice square wave, it does not look that clean, but I know there's always some rise and fall time coming into play.
But things get worse when the comparison value for the timer is even lower, like here with 3:

After further fiddling with the various peripherals on the MCU, I was able to output the 96MHz clock signal, and this is what I get:

I had to stop the oscilloscope because it was not able to see a proper trigger level, let alone compute the frequency from such small signal.
Now, if I read the graph properly, there's about 10ns between two peaks, which is consistent with a 96MHz frequency for the signal.
However, what I'm really wondering about is the fact that the faster the signal, the more distorted I observe it, to the point where it won't even reach full voltage swing between 0V and 3.3V.
Out the top of my head, I can see three reasons for these results:
- Reaching the limits of the MAX32666 pin switching capabilities
- Reaching the limits of what the oscilloscope can see
- Reaching the limits of my own stupidity
For point 1, I tried looking for rise and fall time on output pins in the electrical characteristics for the MAX32666 but could not find anything related to this in the (somewhat confusing) datasheet.
For point 2, the DSO is said to be "100MHz" so as 96 is lower than 100, it should be fine. But maybe Shannon law should be taken into account and 100/2 being lower than 96, the results are expected.
For point 3, well, it could come on top of the two other points, and so I won't rule it out just yet.
I know there is a "Oscilloscope 101" webinar in the works which might actually answer those questions just fine. If that's the case, I'd gladly wait for it.
Thanks for your attention.