I2C SPI USB CAN eSPI Cable Testing View All Videos Quick Start Guides Software Downloads App Notes White Papers User Manuals Knowledge Base Sales Support About Us
Products Blog Sales Support Contact Search
Can I Get Past the RAM Limitations of Saving Captured USB Data?
Rena Ayeras

Image by tookapic from Pixabay

Question from the Customer:

We are using the Beagle USB 5000 v2 SuperSpeed Protocol Analyzer – Ultimate Edition with the Data Center Software. Our computers have 512GB or 1TB of RAM.  We understand that the volume of saving captured data is related to RAM. Here are our questions:

  • Can we set 80% of 512GB /1TB as the capturing memory?
  • Is there a maximum amount of RAM that can be used from the analysis computer?
Response from Technical Support:

Thanks for your questions! The Data Center Software streams the data capture to the RAM on your computer. As your question implied, the capture limit is based on the capacity of RAM. The availability of RAM has many factors, including the hardware, the operating system, and other applications that may also be running on the analysis computer. If applications start swapping memory, incoming capture data may be lost.

We have not specified a maximum amount of RAM per system. With the correct settings and significant RAM available on the analysis computer, collecting data for longer durations should not be an issue. However, as setups may have different requirements, such as long-term capture for analysis and verification, we have two alternatives for saving larger volumes of captured data: an API script that you customize or using a remote terminal.

Beagle Software API

With the Beagle Software API, you can create an application that fulfills your system requirements. Our API comes with support for multiple OS (Windows, Linux, and Mac) and programming languages (C, Python, Visual Basic, and C#). We also provide functional examples, such as capture_usb5000 that can be used as is or modified as needed.

Controlling Data Center Software with a Remote Terminal

For capturing data, you can also use a remote console for running the Data Center Software from an external process. This method enables a Telnet terminal for other applications (or computers) to connect to and control the software. The remote terminal takes the same commands as the internal command line interface. For more information, see Remote Console in the Data Center Software User Manual.

Automating Tasks

If you want to automate monitoring and capturing data, take a look at our article about Controlling Data Center Software with a Remote Terminal. The provided example uses a Python script that uses the Telnet module to connect to the Data Center Software, both of which are running on the same computer. Remote terminal sends commands to start the capture, waits 3 seconds, and then sends commands to stop capturing, save data, and clear the buffer. A similar process can be used for exporting data.

Here are the steps for using Telnet port to control the Data Center Software from a remote computer, PC-2. The Beagle analyzer is connected to a separate computer, PC-1.

  1. Connect PC-1 with the Beagle analyzer and configure with Telnet.
  2. Configure a remote PC-2 with Telnet and open Telnet terminal to access PC-1.
  3. In PC-1, ..\data-center-windows-x86_64-v6.73\bin and run the datacenter.cmd as follows in command line: > datacenter.cmd -r 6000. From the above step, users can control the Data Center application when they cannot physically be in front of the machine running the application.
  4. In PC-2, run a script like this:

    import time

    import datetime

    import telnetlib

    from time import gmtime, strftime

    tn=telnetlib.Telnet(‘localhost’, 6000)

    def send (cmd, ret, timeout=1):

    tn.write(“%s/n” % cm

    tn.read_until(ret, timeout)

    #main program – insert the datapath and the filename you will use:

    SAVE = “save(u ‘data path/filename.tdc’, {‘no_timing’ : False, ‘filtered_only’: False), True)”

For your task, we suggest the following sequence for a continuous capture:

  1. Start capture.
  2. Run capture for a specified period of time
  3. Stop capture.
  4. Save data to a file.
  5. Loop back to Step 1.

 

NOTE:  A known limitation of this procedure is potential latency. Because step 4 takes time, there are chances that some data will be lost while step 4 is being processed. In other words, the longer it takes for Step 2 to capture the data, the longer it takes for Step 4 to save the file.

Examples of Capturing Data Remotely

Here is a complete script, written in python that was created for the using the Beagle 12 USB Protocol Analyzer with Data Center Software via telnet. Like all our API examples, this program can be modified for your setup.

This article, Running Total Phase Data Center from remote system via Telnet, provides visual details of using the Data Center Software and the Telnet with the Beagle analyzer.

We hope this answers your questions. Additional resources that you may find helpful include the following:

If you want more information, feel free to contact us with your questions, or request a demo that applies to your application.