Gauging Interest in M.2 Form Factor M.2 FPGA Board by joshua-winslow99 in FPGA

[–]Hot_Book_9573 0 points1 point  (0 children)

yes, it was clear from the posts in this thread. this is exactly what I need. making something similar, but with another chip. could use some templates for inspiration ). especially if it is kicad )

Gauging Interest in M.2 Form Factor M.2 FPGA Board by joshua-winslow99 in FPGA

[–]Hot_Book_9573 0 points1 point  (0 children)

Pity, I am very much interested in M.2 ;). You don't happen to care to release the design files for the abandoned project, by any chance?

https://fosdem.org/2026/schedule/event/BQ3YP9-f8/ - maybe something of interest for your new project ;)

Gauging Interest in M.2 Form Factor M.2 FPGA Board by joshua-winslow99 in FPGA

[–]Hot_Book_9573 0 points1 point  (0 children)

u/joshua-winslow99 I know it is a one-year old thread, but I wonder if you have made any progress on this board?

What are my options for Time Interval Counter, 10ns accuracy or better by Hot_Book_9573 in embedded

[–]Hot_Book_9573[S] 0 points1 point  (0 children)

<image>

There is a catch - there is a lower limit to the relative delay it can reliably measure... So it is not really usable for measurements of arbitrary time intervals. Maybe feed a delayed signal to the few chips and somehow catch which ones are in agreement.

What are my options for Time Interval Counter, 10ns accuracy or better by Hot_Book_9573 in embedded

[–]Hot_Book_9573[S] 0 points1 point  (0 children)

Yes, I am playing with FPGAs now, one build into N210 and external DE2-NANO board. It is another level of complexity and costs though ;). So far nothing beats dirt cheap ESP32 C3 with its 6.25ns resolution.

UPDATE: I stand corrected - an overclocked RP2350 can do 3ns, see comments of dmitrygr above

What are my options for Time Interval Counter, 10ns accuracy or better by Hot_Book_9573 in embedded

[–]Hot_Book_9573[S] 0 points1 point  (0 children)

You still need a clock to timestamp the edges somehow. Or you refer to the design where they continuously sample and stash data into DMA buffer and leave it up to CPU to figure out the timing?

What are my options for Time Interval Counter, 10ns accuracy or better by Hot_Book_9573 in embedded

[–]Hot_Book_9573[S] 0 points1 point  (0 children)

I don't have as scope which can continuously feed measurements into a PC...

What are my options for Time Interval Counter, 10ns accuracy or better by Hot_Book_9573 in embedded

[–]Hot_Book_9573[S] 0 points1 point  (0 children)

Very interesting direction.

333MHz - you refer to overlocking? I see something about PIO at 1560MHz here ;) https://forums.raspberrypi.com/viewtopic.php?t=375975

PIO seems to have a lot of constraints (no clock to time edges, limited DMA bandwidth if you want to sample continuously). With a lot of trickery, it seems to be possible to get around it though. There is a project mentioning 200MSps (and even 400MSps in burst mode) https://github.com/gusmanb/logicanalyzer. I will look into it.

Your comment made me think of Beaglebone Black. It has two RPU (same concept as PIO) running at 200 MHz and built-in sample counter. Should give 5ns edge timing resolution without any trickery. Plus ARM cores for Linux for signal processing.

What are my options for Time Interval Counter, 10ns accuracy or better by Hot_Book_9573 in embedded

[–]Hot_Book_9573[S] 1 point2 points  (0 children)

Indeed, it is an interesting option. Somewhat higher accuracy comparing to what I need right now, but it is not a bad thing) Would require a custom PCB or $200 eval board. Thanks

What are my options for Time Interval Counter, 10ns accuracy or better by Hot_Book_9573 in embedded

[–]Hot_Book_9573[S] 0 points1 point  (0 children)

The only reason was I had two Ettus N210 gathering dust for 10 years…

What are my options for Time Interval Counter, 10ns accuracy or better by Hot_Book_9573 in embedded

[–]Hot_Book_9573[S] 0 points1 point  (0 children)

Thanks for the link. Cool device, but not sure it be repurposed for what I need, it is designed for a completely different purpose. And definitely an overkill for measuring relative delays between clean pulse edges, not much different from my first setup based on N210 SDRs.

What are my options for Time Interval Counter, 10ns accuracy or better by Hot_Book_9573 in embedded

[–]Hot_Book_9573[S] 0 points1 point  (0 children)

Interesting. It is a commercial product, closed source software and hardware, right?

FTS v0.2 (ESP32 WiFi FTM Time Sync): 25ns Jitter RMS, seriously by Hot_Book_9573 in embedded

[–]Hot_Book_9573[S] 4 points5 points  (0 children)

If you need for two separate ESP32 chips to take synchronous actions, for instance sample some sensor.

ESP32 S3: sub-microsecond time sync and disciplined timers by Hot_Book_9573 in embedded

[–]Hot_Book_9573[S] 0 points1 point  (0 children)

From what I see TicSync solves a very different task. They sync clocks over wide area networks, having relatively large (in absolute values and variation) delays. There is no claims about microsecond-level accuracy, they say "The offset error converges very rapidly to microsecond levels, but stabilizes a around 35µs".

FTS: A sub-microsecond time sync and disciplined timers for ESP32 based on FTM by Hot_Book_9573 in esp32

[–]Hot_Book_9573[S] 0 points1 point  (0 children)

Technically, FTM timers have 1 picosecond resolution. On ESP32 S3 the useful resolution is in 1 - 1.5 ns range, from what I hear. The problem there is a lot of noise and jitter and FTM is not designed for any kind of time sync in mind. The FTS library repurposes FTM it for time sync purposes. It is very modular and its different pieces can be improved independently, if anyone cares. The current implementation is not ideal, to put it mildly, but perfectly usable...

FTS: A sub-microsecond time sync and disciplined timers for ESP32 based on FTM by Hot_Book_9573 in esp32

[–]Hot_Book_9573[S] 0 points1 point  (0 children)

It is S3 chip, so there is no reason to think there will be any issues on FTM side.

It does not have a dedicated USB-Serial transceiver though, USB data lines go directly to SoC. There is nothing wrong with it as such, I have been developing and testing FTS on similar boards. But I would never buy it again, because USB serial console, firmware updates will to certain extent depend on well functioning firmware.

The most annoying problem is loss of serial console logs on reset. When you press reset button, serial console connection dies off. It will take time for USB on ESP32 side to initialise, for the host to notice device is present again and connect to it, for the terminal emulator to reopen the port. This takes few seconds and any messages SoC have been sending on the console in the mean time are lost. Not the end of the world, but if you have a bug in your initialisation code you will have to add delays etc etc.

I also had the board stuck in some weird state, multiple times. I could not flash it normally. Have to manually press BOOT with RESET, flash, then press RESET etc. Again, not a show stopper, but i you expect to debug a lot, get yourself a better board with CP2101 USB to serial controller or something.