Does anyone know anything about the SAMD51? I'd like to implement the following: The SAMD51 PLL increases the clock speed up to 200 MHz, and a dedicated timer counts this internal 200 MHz clock while being controlled by an external capture pin. Is something like this possible?
Time of flight measurement?
Information relevant to your question can be found in the SAMD51 data sheet, but to dig through that is not for the faint of heart.
Highly technical questions about the SAMDxx come up very rarely on this forum, so rather than wait around hoping that someone else will, consider diving in yourself.
I think not as the dedicated timer would have to be in effect an external frequency meter with its own display. Even then, the problem I see would be actually getting the output of the PLL to this meter in the first place.
A frequency meter capable of 200MHz measurement is normally made with ECL (Emitter Coupled Logic) gates.
The samd51 has the “debug, watchpoint, and trace” option of the ARM spec, so it has the DWT->CYCCNT counter that increments at the full cpu rate. “Catching” it might be tricky, though.
I don’t know much about the other timer features. There’s usually some sort of “capture” capability on some of them, and there might be the ability to run some timers faster than the cpu (like on the tiny85.)
200MHz is beyond the speck’d max speed, of course…
You could probably use an Raspberry Pi rp2xxx and its special state machines, as a peripheral…
I've looked around a bit. It would probably work with an STM32. But I'd like to try it with a SAMD51, since I already have one. That thing is incredibly complicated. How do you even build something like that?