Hi everyone,
I am trying to get an Urukul up and running. Works fine so far, but I have a problem with the determinism of the device. Below is the full example I put together. It generates a pulse with the Urukul and a DIO at the same time. The phase mode is set to absolute, so I would expect the phase to be deterministic relative to the DIO signal.
When I use an oscilloscope and trigger on the DIO's TTL output I can see two different phase offsets. The distance between the two signal types is always approximately 1.5ns, independent of the frequency of phase value I generate with the Urukul. Can someone explain this behaviour and maybe suggest a solution?
from artiq.coredevice.ad9910 import PHASE_MODE_ABSOLUTE, PHASE_MODE_CONTINUOUS, PHASE_MODE_TRACKING
class Urukul_Frequency_Pulse(EnvExperiment):
"""Urukul Single Frequency Pulse"""
def build(self):
self.setattr_device("core")
self.setattr_device("urukul0_ch1")
self.setattr_device("ttl0")
@kernel
def run(self):
self.core.reset()
self.urukul0_ch1.cpld.init()
self.urukul0_ch1.init()
delay(100*ms)
self.urukul0_ch1.set_att(1.0)
while True:
self.urukul0_ch1.set(frequency = 100*MHz, amplitude = 0.8, phase = 0.0, phase_mode = PHASE_MODE_ABSOLUTE)
self.urukul0_ch1.sw.on()
self.ttl0.on()
delay(1*ms)
self.urukul0_ch1.sw.off()
self.ttl0.off()
delay(1*ms)`