labscript-suite-temp / labscript

The labscript Python library provides a translation from simple Python code to complex hardware instructions. The library is used to construct a "connection table" containing information about what hardware is being used and how it is interconnected. Devices described in this connection table can then have their outputs set by using a range of functions, including arbitrary ramps.
BSD 2-Clause "Simplified" License
0 stars 0 forks source link

Asymmetric clock pulses #8

Closed philipstarkey closed 5 years ago

philipstarkey commented 10 years ago

Original report (archived issue) by Shaun Johnstone (Bitbucket: shjohnst, GitHub: shjohnst).


Currently, labscript’s clocking signals are symmetric, meaning the line is high for as long as it is low. This limits the rate at which we can clock the Novatech DDS9m to approximately half its maximum possible rate (for details see http://labscriptsuite.org/blog/implementation-of-the-novatech-dds9m/)

Ideally, we should use asymmetric pulses, which are calculated based on the minimum high time, minimum low time, and requested clock rate for each device on the pseudoclock.

This would be a substantial change to labscript, however given the current re-write (see http://labscriptsuite.org/blog/development-roadmap/) this would be the ideal time to implement it.

Is it worth it for the factor of 2 in sample rate? It would mean we can go from the current 200 microsecond minimum rf pulses on the Novatech DDS9m to 100.01 microsecond pulses.

philipstarkey commented 9 years ago

Original comment by Shaun Johnstone (Bitbucket: shjohnst, GitHub: shjohnst).


philipstarkey commented 9 years ago

Original comment by Shaun Johnstone (Bitbucket: shjohnst, GitHub: shjohnst).


philipstarkey commented 5 years ago

Original comment by Chris Billington (Bitbucket: cbillington, GitHub: chrisjbillington).


Fixed in labscript devices PR 67. For the PulseBlaster, anyway. The PineBlaster is not capable of asymmetric pulses as currently. It would be pretty easy to make it do asymmetric pulses, but I think the pineblaster is 'legacy' and I don't really want to change it. Rory's FPGA pulse generator (which should replace the PineBlaster as the recommended cheap way to make a pseudoclock) is capable of asymmetric pulses.

philipstarkey commented 5 years ago

Original comment by Chris Billington (Bitbucket: cbillington, GitHub: chrisjbillington).