Compare commits
No commits in common. "d38700665638768610bdafb53b0d41a21c54e7e9" and "440b3ef3df58678f509d0f6749d0c9b643b1dee8" have entirely different histories.
d387006656
...
440b3ef3df
|
@ -607,23 +607,13 @@ Typically, with the coarse RTIO clock at 125 MHz, a \texttt{ClockGen} channel ca
|
|||
\inputcolorboxminted{firstline=72,lastline=75}{examples/ttl.py}
|
||||
|
||||
\newpage
|
||||
\subsection{Minimum Sustained Event Separation}
|
||||
The minimum sustained event separation is the least amount of time separation between input gated events, in which all gated edges can be continuously \& reliabily timestamped by the RTIO system without causing \texttt{RTIOOverflow} exceptions.
|
||||
\subsection{Maximum Sustained Event Separation}
|
||||
The maximum sustained event separation is the least amount of time separation between input gated events, in which all gated edges can be continuously \& reliabily timestamped by the RTIO system without causing \texttt{RTIOOverflow} exceptions.
|
||||
The following \texttt{run()} function finds the separation by approximating the time of running \texttt{timestamp\char`_mu()} as a constant. Import the \texttt{time} library to use \texttt{time.sleep()}.
|
||||
|
||||
\inputcolorboxminted{firstline=63,lastline=98}{examples/ttl_in.py}
|
||||
\inputcolorboxminted{firstline=60,lastline=92}{examples/ttl_in.py}
|
||||
|
||||
\begin{center}
|
||||
\begin{table}[H]
|
||||
\captionof{table}{Minimum sustained event separation of different carrier}
|
||||
\centering
|
||||
\begin{tabular}{|c|c|c|}
|
||||
\hline
|
||||
Carrier & Kasli v1.1 & Kasli-SoC \\ \hline
|
||||
Duration & 650 ns & 600 ns \\ \hline
|
||||
\end{tabular}
|
||||
\end{table}
|
||||
\end{center}
|
||||
The result fluctuates at around 650ns with Kasli v1.1.
|
||||
|
||||
\section{Ordering Information}
|
||||
To order, please visit \url{https://m-labs.hk} and select the 2118 BNC-TTL/2128 SMA-TTL in the ARTIQ Sinara crate configuration tool. The card may also be ordered separately by writing to \url{mailto:sales@m-labs.hk}.
|
||||
|
|
|
@ -51,9 +51,6 @@ class ExternalTrigger(EnvExperiment):
|
|||
self.ttlout.pulse(1*us)
|
||||
|
||||
|
||||
import time
|
||||
|
||||
|
||||
class MeanTimestampDuration(EnvExperiment):
|
||||
def build(self):
|
||||
self.setattr_device("core")
|
||||
|
@ -75,10 +72,7 @@ class MeanTimestampDuration(EnvExperiment):
|
|||
|
||||
# Guarantee t0 > gate_end_mu
|
||||
# Otherwise timestamp_mu may wait for pulses till gate_end_mu
|
||||
rtio_time_mu = self.core.get_rtio_counter_mu()
|
||||
sleep_mu = float(gate_end_mu - rtio_time_mu)
|
||||
self.rpc_sleep(self.core.mu_to_seconds(sleep_mu))
|
||||
|
||||
self.rpc_sleep(1*ms)
|
||||
t0 = self.core.get_rtio_counter_mu()
|
||||
while self.ttlin.timestamp_mu(gate_end_mu) >= 0:
|
||||
pass
|
||||
|
|
Loading…
Reference in New Issue