Jump to content
  • 0

Digital Discovery: How to save 80 MHz clock continuously


vabzter

Question

Dear all,

I have a PLL which has 80 MHz output and 2 status signals. I want to run this PLL for 1 day and monitor the clock and status signals to see if the PLL went out of lock.

I am using Digital Discovery with Waveforms ver 3.9.1 .I want to save this clock and status signals continuously and output the .csv.

I am using the following settings:

1.Record mode 

2. Samples 100M

3. Rate 800MHz

4.Base 10ns/div

The problem is that once 100M samples are reached it will stop writing the .csv

 

How can I implement the settings to capture more data for a longer time duration?

 

Thank you for all the help in advance.

 

Thanks and regards,

vabzter

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

Hi @vabzter

At such high rate the data is stored in the Digital Discovery DDRAM, then slowly transferred over the USB. The bandwidth of this is not suffice to stream data at such high rate.

If you have no lock signal, you could eventually use pulse triggering to detect loss of lock, and capture less samples, with the required pre- and post-trigger data.
This way you can repeatedly log lock/trigger events.

Link to comment
Share on other sites

Hi @attila,

Thank you for the reply. I think I will not store the 80 MHz clock and can infer the frequency from the 2 status signals

The other thought I had was to save only the 2 status signals.

When the PLL is locked they are logic 1 and when it is out of lock they will go to logic 0.

I tried to save the 2 status signals with the above settings.

I faced 2 issues:

1. The 100M buffer got filled up and then the .csv file was not written.

2. When I try to open the .csv file its not displaying any data, even when the size shows ~200Mb size

Can you recommend any script/settings to save only the status signals when the PLL is running for 1 day?

Thanks again for your help and time.

Best regards,

vabster

 

 

 

Link to comment
Share on other sites

Hi @vabzter 

Saving that much data in text format would take many GBs, it would take time to save, to analyze....

You can trigger on the status signals (lock, unlock...) and log only the events like this:

Here you have the workspace logic_log.dwf3work

image.thumb.png.13eaae7399c725a8bdbb18a0521abe39.png

var file = File("~/Desktop/log.txt")
if(Index==1){
    file.writeLine("Time\tDIO0\tDIO0 New\tDIO1\tDIO1 new")
}
Index++

var idx = Logic.Time.IndexOf(0) // data index at trigger 
var dio0 = Logic.Channels.DIO0.data[idx-10] // before trigger
var dio0n = Logic.Channels.DIO0.data[idx+10] // after trigger
var dio1 = Logic.Channels.DIO1.data[idx-10] // before
var dio1n = Logic.Channels.DIO1.data[idx+10] // after
var time = (new Date()).toISOString()

file.appendLine(time+"\t"+dio0+"\t"+dio0n+"\t"+dio1+"\t"+dio1n)

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...