forked from M-Labs/artiq
1
0
Fork 0

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:
Robert Jördens 2018-11-06 12:40:15 +00:00
parent ba4bf6e59b
commit 0b2661a34d
2 changed files with 2 additions and 2 deletions

View File

@ -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

View File

@ -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