Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Experiences with "Spectrum Instrumentation" Digital I/O or AWG-cards?

229 views
Skip to first unread message

Lars Kohfahl

unread,
Aug 2, 2021, 8:55:10 AM8/2/21
to the labscript suite
Dear labscript community,
we have found a company "Spectrum Instrumentation GmbH"  here in Germany selling fast Digitizers, AWG and digital I/O cards.
For us the most useful cards for atom experiments seem to be the AWG's (e.g. M4i.6631-x8 ) and maybe the Digital I/O cards (e.g. M2p.7515-x4 ) as digital output card or even as pseudoclock.
My question is: Has any other lab already experience with those cards implemented into labscript or thought about implementation?

Additional thoughts from what I found out until now:
From the specs these cards are comparable with e.g. SpinCore cards and in some features (Digital pulses of <10ns, memory size, more outputs) even better.
Especially regarding the DIO-cards I suppose that an implementation as pseudoclock is not possible (waits option only usable via segmented memories; looping arguments for ramps is not possible).

Thanks in advance for your thoughts and suggestions.

Lars

Philip Starkey

unread,
Aug 31, 2021, 7:15:49 PM8/31/21
to labscri...@googlegroups.com
Hi Lars,

We've discovered that this post may have fallen through the mailing list cracks. Seems like Gmail users may have had the email go to the spam folder (my Gmail seems to think your email domain is associated with spam).

So I'm just replying here to hopefully bump it in visibility!


--
You received this message because you are subscribed to the Google Groups "the labscript suite" group.
To unsubscribe from this group and stop receiving emails from it, send an email to labscriptsuit...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/labscriptsuite/2732f12e-f36b-4cc7-bbf3-9cdd45aee5e4n%40googlegroups.com.

Lars Pause

unread,
Sep 1, 2021, 5:06:11 AM9/1/21
to the labscript suite
Thanks for information. I hope now a new mail address should be used which works better.
Lars
Message has been deleted

Nelson Werum

unread,
Sep 20, 2024, 6:02:24 AM9/20/24
to the labscript suite
Hey Lars,

we are now also thinking about implementing one of those AWGs in our experiment.
I am currently trying to accumulate some information on how to implement them into the labscript and was wondering if you have made some experience with it in the end and maybe have some thoughts or suggestions on it.

Best regards and greetings from Berlin,
Nelson

Lincoln Turner

unread,
Sep 20, 2024, 8:39:37 AM9/20/24
to labscri...@googlegroups.com
Hi Nelson & Lars,

Good news: We bought two Spectrum Inst cards last year (M4i.6622-x8 and .6631-x8) and Alex Tritt wrote labscript drivers for them. I expect they'll work with any M4i series card at least with minimal or no modification. (Apologies, I should have announced this here some time ago!)

The cards work very nicely. We are using them to drive acousto-optical deflectors and product arrays of dipole-trapped cold atoms.

Alex's labscript driver is at https://github.com/alexander-tritt-monash/labscript_spectrum_awg and it depends on his lower-level python wrapper of SI GmbH's DLL https://github.com/alexander-tritt-monash/spectrum_card. I think you can 'pip install spectrum_card', but it doesn't look like the labscript driver is packaged for release per se, but maybe that's not a thing - just dump them in labscript_devices. There is documentation there that probably requires running sphinx...

Likely better documentation is in Alex's thesis. That's under examination at present. When Alex is back from a well-deserved break in a couple of weeks, I will ask him if he is OK to post the relevant chapter of his thesis. The interface is idiomatically labscript though, and lets you append blocks (with loops etc) in 'labscript time'. 

Feedback appreciated!

Best,

Lincoln







--
Lincoln Turner
Senior Lecturer
Fellow - Monash Education Academy

School of Physics & Astronomy
Monash University
G.06, New Horizons Centre
20 Research Way, Clayton Campus
Victoria 3800, Australia

Lincoln Turner

unread,
Sep 20, 2024, 10:37:05 PM9/20/24
to labscri...@googlegroups.com
There is a bit more documentation than I thought for Alex's "Spectrum AWG" driver...

The thin python wrapper around the SI library is documented at https://spectrum-card.readthedocs.io/en/latest/index.html. This is a dependency, but unless you want to manipulate the card in python outside of labscript, you don't need to call this layer from your labscript.

The actual labscript driver "labscript-spectrum-awg" is documented here: https://labscript-spectrum-awg.readthedocs.io/en/latest/, but it is sphinx autogen. I've attached the relevant excerpt from Alex's thesis, but it's also pretty brief. 

As I understand it, you create the card device in your connection table as usual and then create channel objects of class SpectrumAwgOut on that parent device, just as one does for other multi-output devices. You then add "waves" (blocks of samples) to play on a given channel with a set_wave_and_enable(t, wave) channel method. These will be looped automatically, if they are not disable()d at the end of the wave. This seems, to me at least, to be a natural enough extension of the DDS interface...

There are of course details with triggering etc but this abstracts away the need to engage with the memory management, segment alignment and sequencer. I'm not sure that it copes with mismatched wave start and end times across channels, i.e. splitting waves into segments rather as labscript-core does at a lower level with incommensurate device clocks, but this is something we are going to need in the lab quite soon so there may be some further development activity. If so, I'll manage to update this list this time!

Lincoln
AlexTritt_PhDthesis_S5_1_3_spectrumAWG.pdf

Johannes Schabbauer

unread,
Sep 23, 2024, 5:45:12 AM9/23/24
to the labscript suite
Hi Nelson, Hi Lincoln,

Thanks a lot for sharing Alex's work here! The driver looks very powerful and well written. We also have a Spectrum M4i AWG card that we will use for Tweezers, where we wrote some Python code for testing and then a labscript device around that. Our code is probably less universal and more limited than Alex's driver, because so far it can mainly step through pre-programmed waveforms in sequence mode by getting hardware triggers during the shot. However, I only save the frequencies of the multiple tweezer tones in the hdf5 file and calculate the actual waveform in the BLACS worker, which avoids storing up to 1GS memory of the AWG in the file for every shot.


Let me know if you have any questions.

Best wishes,
Johannes Schabbauer

Zhang Shukun

unread,
Nov 19, 2024, 4:02:34 AM11/19/24
to the labscript suite
we are also using the M4i 66xx with the code from  https://gitlab.tuwien.ac.at/quantuminfo/experiment-control/labscript-userlib/leolab_devices/-/tree/main/SpectrumAWG which is really good for one channel. For 2 channels we just implemented it by ourselves.

Nelson Werum

unread,
Nov 21, 2024, 9:26:13 AM11/21/24
to the labscript suite
Hey Lincoln, hey Johannes,

I´m sorry for disappearing from the conversation, I went on vacation the day after and when I came back there were other, more urgent projects to do first.
Thank you so much for sharing your work Johannes and also big thanks to you, Lincoln and Alex, for sharing Alex´s. As the plans in our laboratory have changed somewhat recently, it is unfortunately no longer so predictable when and whether we will use these AWG's. When the time comes, I will report whether everything worked out and whether we were perhaps even able to contribute something.

Best wishes and thank you one more time,
Nelson
Reply all
Reply to author
Forward
0 new messages