Arbitrary Waveform Generator Streaming for Continuous Real-Time Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Arbitrary waveform generators (AWGs) face limitations in real-time waveform modification and testing due to their inability to read and write waveform data simultaneously, requiring output pauses during data updates, which hinders continuous testing and efficient iterative development.
Innovation Solution
The AWG architecture introduces a memory multiplexer and arbitrator system that allows real-time streaming of waveforms from an external source, enabling simultaneous read/write operations and external control of DAC inputs, along with modes for real-time sequencer instruction updates and flow control, facilitating continuous testing without interruptions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If waveform data is loaded into onboard memory before output, then waveform generation reliability is ensured, but real-time waveform modification capability deteriorates due to output pauses during data updates
Solution Approach 1:
The memory system is divided into multiple banks (first bank and second bank) that can operate independently. While one bank is being read for waveform output, the other bank can be written to with new waveform data, enabling simultaneous read/write operations and eliminating output pauses during updates.
Solution Approach 2:
A memory arbitrator is introduced as an intermediary component that manages and coordinates access to the memory banks. The arbitrator determines which bank should be read or written at any given time, enabling seamless switching between banks and maintaining continuous waveform output while updates occur.
2Manufacturing precision
If waveform output pauses during memory updates, then data integrity is maintained, but testing productivity deteriorates due to interruptions
Solution Approach 1:
The dual-bank memory architecture enables continuous waveform output by ensuring that while one bank is being updated, the other bank continues to supply data to the DAC without interruption. This maintains both data integrity and continuous testing operation.
Solution Approach 2:
New waveform data is prepared and loaded into the standby memory bank in advance before it is needed for output. This preliminary loading into the non-active bank ensures that when the switch occurs, the new waveform is already ready, maintaining continuous operation without pauses.
3Device complexity
If sequential waveform loading is used, then device complexity is minimized, but development time increases due to inability to perform simultaneous read/write operations
Solution Approach 1:
The memory system is segmented into multiple independently accessible banks, allowing parallel read and write operations to occur simultaneously in different banks. This reduces the total time required for waveform updates and iterative development.
Solution Approach 2:
The memory arbitrator acts as an intelligent intermediary that manages the complexity of dual-bank coordination, providing a simple interface for users while handling the complex switching and synchronization internally, thus not increasing user-facing device complexity.
Data Source
AI summary
A device has a digital-to-analog converter to convert waveform data into analog waveforms, a waveform memory to store stored waveform data, an external waveform interface to receive real-time waveform data from an external device, a waveform multiplexer connected to the digital-to-analog converter to select between the first memory and the external waveform interface, a sequencer to receive and execute instructions to identify and access waveform data to drive the digital-to-analog converter, a sequencer instruction memory to provide stored instructions to the sequencer, an external instruction interface to receive real-time instructions for the sequencer, and a sequencer multiplexer to select between the sequencer instruction memory and the external instruction interface connected to the sequencer. A method of controlling a waveform generator includes selecting a mode of operation, where the mode of operation is selected from streaming waveform data, real-time waveform memory updates, real-time sequencer instructions, real-time sequencer instruction updates, and real-time sequencer flow control.


