forked from M-Labs/artiq
ad9910: robustify SYNC window finding
don't integrate too long, find the window tip fast and early a couple 100 SYNC pulses are sufficient Signed-off-by: Robert Jördens <rj@quartiq.de>
This commit is contained in:
parent
ba4bf6e59b
commit
0b2661a34d
|
@ -446,7 +446,7 @@ class AD9910:
|
||||||
self.set_sync(in_delay, window)
|
self.set_sync(in_delay, window)
|
||||||
self.clear_smp_err()
|
self.clear_smp_err()
|
||||||
# integrate SMP_ERR statistics for a few hundred cycles
|
# integrate SMP_ERR statistics for a few hundred cycles
|
||||||
delay(10*us)
|
# delay(10*us)
|
||||||
err = urukul_sta_smp_err(self.cpld.sta_read())
|
err = urukul_sta_smp_err(self.cpld.sta_read())
|
||||||
err = (err >> (self.chip_select - 4)) & 1
|
err = (err >> (self.chip_select - 4)) & 1
|
||||||
delay(40*us) # slack
|
delay(40*us) # slack
|
||||||
|
|
|
@ -92,7 +92,7 @@ class AD9910Exp(EnvExperiment):
|
||||||
for in_delay in range(len(err)):
|
for in_delay in range(len(err)):
|
||||||
self.dev.set_sync(in_delay=in_delay, window=win)
|
self.dev.set_sync(in_delay=in_delay, window=win)
|
||||||
self.dev.clear_smp_err()
|
self.dev.clear_smp_err()
|
||||||
delay(10*us) # integrate SMP_ERR statistics
|
# delay(10*us) # integrate SMP_ERR statistics
|
||||||
e = urukul_sta_smp_err(self.dev.cpld.sta_read())
|
e = urukul_sta_smp_err(self.dev.cpld.sta_read())
|
||||||
err[in_delay] = (e >> (self.dev.chip_select - 4)) & 1
|
err[in_delay] = (e >> (self.dev.chip_select - 4)) & 1
|
||||||
delay(50*us) # slack
|
delay(50*us) # slack
|
||||||
|
|
Loading…
Reference in New Issue