2
\$\begingroup\$

I want to count short LVTTL pulses (about 20-25 nanosecond.)

Right now, I use an Arduino with four IN74AC161N binary counters, but this solution has some Arduino limitations.

I count pulses, send the numbery to USB-serial every 20ms (the Arduino can't be faster) and use analog output to set proportional level (with worth Arduino's DAC.)

I thought about a solution based on internal counter. I found that the STM32 has HRTIM (hi-res timer) and it has a resolution of 180-300 ps! It's great, but I think it's using a sledgehammer to crack a nut.

How I can calculate what controller is good for me? STM32, ESP8266, ESP32 or any else?

\$\endgroup\$
6
  • 1
    \$\begingroup\$ It depends how you want to do the counting. If you want the MCU to use one of the internal timers to count pulses for you, and pulse length is 20ns, then you need at least 100 MHz MCU or timer subsystem, preferably more. \$\endgroup\$
    – Justme
    Commented Feb 10, 2022 at 11:32
  • \$\begingroup\$ Use an external counter or pre-divider ? \$\endgroup\$
    – Antonio51
    Commented Feb 10, 2022 at 12:30
  • \$\begingroup\$ @Justme, thank you. You answered to my question. \$\endgroup\$
    – BinSmile
    Commented Feb 10, 2022 at 16:10
  • \$\begingroup\$ As I understand, using a binary counter is the most useful solution. Just, I found existence of binary counters with i2c interface, which requires only 2 wire for readout. \$\endgroup\$
    – BinSmile
    Commented Feb 10, 2022 at 16:12
  • \$\begingroup\$ Such like S-35770. But all counters, which I can find – are slow. Can you recommend some solution for readout a number from binary counter? \$\endgroup\$
    – BinSmile
    Commented Feb 10, 2022 at 16:18

0

Browse other questions tagged or ask your own question.