This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TSW1400EVM:正常捕获功能的自动化问题,并使其循环,从而在 HSDC Pro GUI 中多次按下捕获按钮产生影响。

Guru**** 1533450 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1070785/tsw1400evm-problem-in-automation-of-the-normal-capture-function-and-looping-it-thus-creating-an-effect-of-multiple-presses-of-capture-button-in-hsdc-pro-gui

部件号:TSW1400EVM

您好,

以下是我需要的几个数字,ADC 采样频率= 800MHz (我知道 ADS54T0x,我正在使用的 ADC 可以提供)。 样本数量约为30k,重复频率约为1000Hz,这意味着必须在1毫秒间隔内捕获包含前30k 样本的数据并以二进制或 CSV 格式保存到文件中,以便下一个捕获阶段可以执行 开始 并在新文件中存储另一个30,000个样本。  

作为尝试,我使用了“C:\.....\High Speed Data Converter Pro\HSDCPro Automation DLL\Manual and Examples\Automation DLL C examples\ADC\Automation DLL C example ADC.vcproj”示例,并在 Pass_Capture_Event 循环下一个循环中捕获数据之前检查了该函数的执行时间。  

if (TriggerModeEnable==0)
{
    printf("\n\nStart Normal Capture. Press any key to continue...");
	getch();
	printf("\nStarting Normal Capture...");
	
	//start clock
	Error_Status = Pass_Capture_Event(TimeoutInMs);
	//stop clock and measure the execution time in milliseconds
	
	printf("\nError Status = %d", Error_Status);
	printf("\n\nSaving ADC Raw Data as CSV file at %s", CSVFilePathWithName);
    Error_Status = Save_Raw_Data_As_CSV(CSVFilePathWithName, TimeoutInMs);
    printf("\nError Status = %d", Error_Status)
}

该函数需要250毫秒左右的时间,这远远超出了我们的要求(我使用 Unix 时间戳来获得准确的精度)。  

作为替代方案,我还尝试以时钟的形式提供外部硬件触发器,时间周期为0.5秒和0.5毫秒,并循环Read_DDR_memory使用该功能(启用WaitforTrigger),但我觉得该程序的延迟要多得多,并且跳过几个触发器。 您能否帮助我们决定该程序是否正确? 以及 DAQ 能否为我们提供我们所需的数字(在顶部提到)。 如果需要,您还可以与我的邮件 ID 通信。 提前感谢!

此致,

阿迪西亚

电子邮件:adithya.n@galaxeye.space

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Adithya,

    1400固件本身将需要大量时间来捕获数据并将其从 DDR 传输到 FTDI。 我们现在不能减少这一时间。 但是,通过避免 GUI 级别更新和使用 TSW1400 Direct Access DLL,我们可以缩短软件部分所花费的时间。 下面是 HSDC Pro 捕获和 TSW1400 Direct Access DLL 捕获之间的时间分析。 我们还没有支持直接访问 DLL 中的触发选项,我们目前正在研究该 DLL。 更新更改后,我们将与手册一起共享 DLL。  

    HSDC Pro (v5.2) Automation 采集65536个样本的时间:0.32秒

    直接访问 DLL 捕获65536个样本的时间:0.13秒

    此致,

    吉姆

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    非常感谢 Jim 提供的信息。 我正在考虑其他方法来解决这个问题,或者解决在不同文件或单个文件中读取多个样本的问题,这些样本将在一个文件中累积。 在这方面,我为 ADS54T0x 提供了一个触发器,在接收到触发器后,ADC 将发送突发数据。 假设这一突发信号将存储在 FPGA 的 DDR 内存中,我在Read_DDR_memory向 ADC 发送几个触发信号后尝试使用。 作为第一步,我使用了4096个样本数量,并向 ADC 板发送了5个触发器。 使用 Read_DDR_memory该函数时,我希望生成的文件提供4096*5个样本数,但它只提供4096个样本。 我怀疑,当后续样本不断出现时,内存是否被覆盖,而不是累积。 可以帮我解决这个问题吗? 如果还有其他一些方法更适合预期的操作,请与我分享您的想法或想法。  

    此致,

    阿迪西亚

    电子邮件:adithya.n@galaxeye.space