Does jetson nano has hardware timer that could accurate to microseconds?

Hello Experts,

We want to use jetson nano’s gpio to control step motor. we use the gpio pin simulates the pulse signal by jetson-gpio library. And using time delay to set pulse frequency.
Now we meet those problems:

  1. Jetson-gpio takes too long to initialize and set up the gpio. I tested the time required to get close to one millisecond. This makes a big difference when it comes to producing high frequency pulses.
    Is there a more efficient way to configure GPIO pins on this platform?

2.if I use hardware PWM as then step motor pulse input, is there the register or API like pulse counter?

3.Does this platform have a hardware timer? Can be used to get precise time intervals or trigger tasks accurately.

In forums, I saw many other platforms have TRM document. Is there a development manual for nano platform?
I only have the NVIDIA Jetson Linux Developer Guide for reference.

hello Ricardo_2007,

you may looking for Technical Reference Manual from download center.
since Nano were based-on T210 series. you may check [Tegra X1 SoC Technical Reference Manual] for details.

Dont have much experience but everything I have read says to use real time control on a separate board.

hello Ricardo_2007,

please refer to below topics about using Nano’s PWM

  1. PWM Frequency Upper Limitation with Jetson.GPIO
  2. Nano pwm0 cant work

you may have some implementation to gather kernel timestamps for usage. for example, ktime_get() or do_gettimeofday()
you may access L4T sources, and check below for more details.
i.e. $L4T_Sources/r32.4.3/Linux_for_Tegra/source/public/kernel/kernel-4.9/kernel/time/timekeeping.c

Thank you for your helpful information, I will try it.