The BitScope DSO includes an integrated "DSO Data Recorder" (DDR).
DDR records selected analog and logic channels to an internal buffer for immediate playback, review and comparison with newly captured data.
Most importantly it also allows captured data to be recorded to DDR Files which may be reopened by the DSO for replay or analyzed with third party numerical analysis tools such as a spreadsheet or software such as MatLab.
DDR operation is integrated with the main DSO controls so other than choosing when to record and which file to record to you should not need to pay it much attention.
DDR commands are available via a pop-up menu selected by right-clicking the DDR status.
The example to the left shows DDR commands available when paused while recording data to the internal buffer.
Other commands are available in other modes such as when recording to a file or replaying captured data.
The selection of which channels to record is automatic; if the channels are visible on the main display they will be recorded by DDR when Record or Listen commands are selected and capture is commenced.
Likewise for replay; if the DDR file or buffer has data available for the channels selected for the main display they will be replayed when Replay or Review commands are selected.
The recorder's "transport controls", that is the controls that start it actually recording or replaying, are the same as those used by the DSO itself; the timebase TRACE and REPEAT.
DDR exists in one of four states: RESET, PAUSED, RECORDING or REPLAYING.
The RECORDING and REPLAYING states have two "alter egos": LISTENING and REVIEWING.
These are the same as RECORDING and REPLAYING except that no DDR file needs to be specified and you can flip between them at will to compare new data with previously captured data.
When the DSO is first started DDR is RESET.
This is indicated with the word Reset appearing in the DDR status as shown on the right and in this state three DDR commands are available; Listen, New and Open, as shown on the left.
Of these, Listen is the default and will be selected automatically if you left-click the DDR status.
Clicking the DDR status or selecting Listen from the menu puts DDR into listening mode as indicated by the word Listen which replaces Reset in the DDR status.
The next time TRACE or REPEAT is selected, the captured waveform and logic data is recorded to a buffer as well as displayed and the DDR status shows the word LISTEN (ie, upper case) showing data has been recorded.
Listening mode records selected waveform and logic data to an internal circular buffer. It does not require a DDR file and is a convenient mode to have enabled just in case "something interesting" happens. If it does, the recorded data can then be saved to a file.
Because the listen buffer is finite and circular previously captured data frames will eventually be overwritten with new ones unless you save them to a DDR file.
While listening (or recording, reviewing or replaying) clicking the DDR status or selecting Pause from the menu puts DDR into pause mode.
Pause mode stops DDR from listening (or recording, reviewing or replaying).
Clicking TRACE (or REPEAT) operates the DSO as usual but has no effect on DDR which remains idle but data previously recorded (or loaded from a file) remains loaded and available.
When paused you can continue to listen to more data by selecting Listen from the menu or review what you have already recorded by selecting Review.
Review means to replay previously recorded data from the DDR frame buffer. When paused, left-clicking the DDR status selects Review mode (indicated by the word REVIEW). Clicking it again reselects PAUSE.
In this way it is simply a matter of repeatedly clicking the DDR status to toggle between viewing previously recorded data replayed by DDR and live data newly captured by the DSO.
Listening and reviewing analog waveforms and logic data is very useful in its own right but the main purpose of DDR is to record captured waveforms to data files for export to other analysis tools or for replay via another BitScope DSO.
When DDR is PAUSED, REVIEWING or LISTENING and has buffered data available, these data may be saved to a new file by selecting New from the menu. This opens a standard file dialog:
By default the data is saved in the BitScope WaveData directory to a file named as you choose. If a file of that name already exists DDR will ask if you want to overwrite it.
Alternatively if you want to append the captured data to an existing file choose Append from the DDR menu instead of New. If an existing file is selected the new data will not overwrite data already existing in that file. If no file of that name exists one will be created.
The standard file name extension for DDR files is .CSV but you can choose a different extension if you prefer. Note that CSV is used for a reason; DDR files are ASCII encoded as CSV formatted data files so they are (with some care) suitable for direct import into spreadsheets, databases and any other software tool capable of importing CSV files.
To open a previously recorded DDR file for replay, choose Open from the menu. The file must exist and be a suitable DDR formatted CSV file otherwise DDR will ignore the file.
In addition to saving a finite duration of previously captured data stored in the buffer to a file, it is also possible to stream captured frames continuously to an open DDR file for as long as you have disk space available for the file as it grows in size.
Record mode is effectively "listening directly to a DDR file" except that it is not possible to review recorded data until the file is closed and reopened for replay.
It is however possible to pause a recording (by left-clicking status or selecting Stop from the menu) and restart it without closing the file so you can make DSO setup changes without recording the interim junk data.
Record pause mode is similar to Pause mode but allows only the resumption of recording or closing of the DDR file. The default is to resume recording so toggling between recording and paused modes is simply a matter of clicking DDR status.
When a recording is closed, all remaining data in the buffer is flushed to disk to ensure no data is lost.
One of the most useful features of DDR in collaborative or educational environments is its ability to replay previously recorded data to the display, even if no BitScope is connected to the PC.
With this feature it is possible to record reference waveforms and/or logic traces and distribute them to colleagues to compare with live data collected with other BitScopes. It is also possible to synthesize DDR files directly with a spreadsheet for replay via the DSO.
Replay mode is effectively "reviewing data directly from a DDR file" except that it is not possible to record more data until the replay file is closed and a new file opened for recording. It is however possible to pause replay (by left-clicking status or selecting Pause from the menu).
Replay pause mode is similar to Pause mode but allows only the resumption of replay or closing of the DDR file. The default is to resume replay so toggling between the replay of a data file and display of live capture data is simply a matter of clicking DDR status.
DDR records whatever channels and data formats you select for display.
This ensures it can open and display a file without information loss.
However if your intention is to export data to another application you may wish to record the raw data (as captured by BitScope itself) or you may need to limit the amount data recorded per frame so it can be imported to Excel.
Use the data mode to choose the format of the data to be captured (and displayed). In particular choose Raw Data to record the raw data captured by BitScope but choose Decimated or Enhanced if you need a more compact encoding format.
Similarly, to maximize the amount of data recorded per frame in data modes other than Raw Data choose the Dot/Vector or Dots display mode. These modes have twice the display (and recording) resolution of the alternative Vector display mode.
DDR files are simply lists of data records encoded as ASCII values recorded to files in CSV format suitable for import into a spreadsheet or database (so long as certain conditions are met).
When recording, each data frame for every selected channel (both analog and logic) is appended the DDR file as a discrete CSV data record. This makes continuous data logging possible.
In addition to the capture data itself each record includes the following meta data:
As all fields are ASCII encoded it is possible to open a DDR file with a simple text editor, word processor or spreadsheet to examine it.
While CSV files are standard for spreadsheets, many (including Microsoft Excel) do not take kindly to being given too much data to load but using DDR it is very easy to produce vast quantities of data so there's a potential problem.
Specifically, if a CSV row contains more than 256 fields (ie, columns) Excel will refuse to load it. Similarly if it has more than 65k rows it will truncate it.
If you're using DDR to produce files for import into Excel and similar spreadsheets you will need to ensure that the data records you produce are shorted than 256 fields and that you don't attempt to load more than 65k of them.
Because DDR is designed to avoid information loss (so you can reload a file and play it) it records as many samples per frame as the display requires to display the waveforms correctly. Further if you record raw data you potentially get every sample captured by BitScope (which can be more than 130k samples per frame per channel).
Clearly most raw data DDR files will be big and completely overwhelm most spreadsheets !
To use DDR files with Excel you must configure DDR to record fewer samples per frame. This will produce files which may be replayed via DDR but there will be some information loss so replayed waveforms will not be as precise as the originals and spectra produced from replayed data may be lower resolution.
DDR was added to the DSO with another enhancement called Waveform Intuitive Display Engine (WIDE). WIDE replaces the old display engine to enable replay of DDR waveforms.
Unlike live capture, replaying previously recorded waveforms means you do not control how the waveform is triggered; instead this information is embedded in the recording.
Consequently if you are comparing new waveforms with previously recorded ones the trigger setup, waveform offset and delay may be different. However in most cases you will be interested to see both waveforms referenced to the same relative time (ie, a common trigger point).
This is what WIDE does; it displays waveforms relative to the trigger, timebase, waveform zoom and offset you have set up given the waveform data that's actually available for replay.
In practice this means is that replayed waveforms may be longer or shorter than the current display duration, or they may be offset to one side or the other (or not shown at all).
This screenshot shows one example. In this case the waveform was recorded at 50uS/Div but replayed at 100uS/Div.
As a consequence, data before the left edge and after the right edge of the display as recorded is not shown upon replay.
This is because it was not recorded in the first place.
DDR records whatever is displayed on screen at the time of the recording only.
It is however easy to have DDR record as much data as BitScope can capture regardless of the displayed time duration to be used upon replay; simply choose the widest zoom and slowest timebase required to capture all the data of interest when recording.
If you need to maintain the highest time resolution (ie, sample rate) as well, choose the largest buffer size you can and capture Raw Data. Be warned though; doing this can produce very large DDR files and they will certainly not be suitable for import into a spreadsheet.
Another benefit of the WIDE engine, especially when used with DDR recordings is that you can change the rate at which multi-frame captures are replayed. If for example you recorded 200 frames over 24 hours you can replay them at whatever frame rate you like to make looking at frame-to-frame differences or transient features easier.
A related feature is that if you are using a BitScope via a slow link (eg, a remote Network BitScope via a dial-up link) but choose a fast frame rate, WIDE ensures that already displayed (ie cached) waveform data is redisplayed immediately upon a relevant parameter change (such as timebase or waveform offset) and new data is then appended dynamically when it finally arrives.