-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Scan mode #86
Comments
I don't see this as relevant for the choice of command interface infrastructure (#54). It's more part of some gui functionality. |
Are you saying you would implement this entirely in the GUI (ie. have the GUI set the DAC, then request the ADC value for each point in the scan)? Wouldn't network latency be an issue? It seems like it would be more efficient to have some simple firmware code that generates the scan points on the fly based on a set of parameters (eg. start, end, step size) and then returns the whole scan. |
We'd like to use stabilizer in anger but we really need this to do it. Would you be willing to prepare a contract to expedite this feature? |
Sure. |
|
It'd be nice to have an asymmetry parameter too (for example, where 0 is a sawtooth, 0.5 is a triangle, and 1 is the opposite sawtooth). This is useful for driving piezos where the rapid flyback of a sawtooth causes ringing, but triangle is annoyingly slow.
Until there is a decent GUI I imagine a lot of people will use a scope for live tuning (eg. optical cavity alignment). For that, a digital trigger out is nice so, unless it is particularly difficult, I'd move that higher up the priority list.
I think we could just guess the DAC/sweep data from the known parameters. For one of my applications I want to be able to view the cavity signal on the WAND so would need to be able to stream the ADC data. |
Ok. Asymmetry sounds pertinent. |
For some reason I recalled the two front panel DIO being direction selectable. In retrospect that may have been a good idea.
What's the problem - just the pin assignments making it tricky? Does that limit what's achievable?
I was thinking the scan might define and initiate the stream somehow. But I can see how you could decouple the two if the sweep generator could report some kind of timestamps so you can sync up your streamed data during analysis or in a GUI. |
Many things are achievable. But you'll need to be more specific about what you actually need. Then after that it makes sense to propose approaches and discuss them. If you say you want to be able to use X to do Y and the implementation should be Z, then you're preempting entire solution spaces to what may be your actual requirement W. |
No, I'm asking for a clarification of what you meant by "but that connection is currently more tailored to SPI." |
Well, take a look at the schematic. The hardware is populated to suit SPI EEMs, not DIO. You can certainly change the hardware. But the outer product of all these hardware variants would need to receive support in firmware. |
I don't see any barrier to using the 2x EEM_GPIO input and 2x EEM_GPIO outputs without hardware modification. Am I missing something on the uC side? Obviously having to add a whole DIO card just to break out 4 digital signals is pretty unwieldy but, you know, just exploring the options. |
Which DIO EEM do you want to use for that, in what configuration? |
I think the most straightforward would be a DIO_MCX. You'd have to make a custom ribbon cable to get the inputs and outputs on different banks - not great, but like a 2 min job. On one hand, DIO_MCX is a bit overkill but on the other hand, it's actually a pretty minimal board. You could also economize by omitting the mezannine or using the other 8 channels with a Kasli or another Stabilizer. Again, not saying this is a good/best idea. Just exploring if there is something that would work with existing hardware. |
Custom ribbon cables and 2-minute duct tape jobs with so many rough edges and traps can typically not be maintained and supported sustainably. You can always use them yourself but I see no way to mainline them. |
Twisted ribbon cables are a sound solution, not rough edge duct tape job: https://www.nostalgianerd.com/why-are-floppy-cables-twisted. Easier to support a new cable than a new PCB. Also, not sure what needs 'mainlining'. The DIO is just transparent to the stabiliser. I'm still not convinced this is the best way to get a digital output from stabiliser but want to keep that solution space wiiiide open you know. |
I know how ribbon cables work, I built hundreds. But that floppy cable is irrelevant as it won't work here and I'm not aware of anyone building custom IDC rewired cables. Even if there was, it's likely not a solution anybody will be willing to provide support for (reasons above). Again, feel free to configure ribbon cables any way you like. But to get your firmware support in (or developed), you need to sit down and specify detailed requirements and convince others that they have merit. This repository is about firmware. Mainlining the firmware support for certain user configurable GPIOs on certain events with certain pin configurations and directions while documenting what works and supporting people that want to use that. |
Just an example of wide deployment to make clear it's not a duct tape hack.
I imagine Technosystem have an IDC tool.
Yes, I'll move the discussion to: sinara-hw/Stabilizer#86
For triggering a scope from the scan generator: How many? - 2 digital outputs, one per scan generator When? - A rising edge at the start of ramp up and a falling edge at the start of ramp down. For sawtooths with instantaneous ramp up or down there would have so be a minimum gap between rising/falling edges. Perhaps 1us but not critical. How fast? - Presumably the edge speed will be dictated by hardware. Synchronization with the actual scan coming out of the DAC output needs to be reasonable, say better than 1us. How configurable? - Ability to turn off and free the digital channels up for other features would be useful if/when those other features exist. The ability to switch rising/falling edges might be useful for triggering dumb hardware that expects a certain edge (though obviously not needed for triggering scope). |
388: Feature/scan mode r=jordens a=ryan-summers This PR is to add visibility on design decisions for the scan mode implementation for #86 This PR: * Adds a signal generator for sinusoids, triangular waves, and square waves to both channels of `dual-iir` Testing: The new signal generator was scanned across 0-100% symmetry for all waveform types using frequencies of 500-1KHz. It was observed on an oscilloscope to contain nominal, well-formed outputs. Co-authored-by: Ryan Summers <[email protected]>
It would be good to be able to repeatedly scan an output and then observe the response on the corresponding input (eg. a cavity resonance or an atomic feature) in real time on a PC. This sounds fairly trivial to implement on the Stabilizer side, however a good interface to the PC may need some thought and I mention it now as it's relevant to #54.
The text was updated successfully, but these errors were encountered: