超长波形采集
在聚变研究装置上,一些相关诊断探测器由于其瞬时计数率太高,脉冲堆积严重,需要连续记录 1 s 以上时长的波形。 scope 固件能够帮你完成这个目标。
采集模式
当你要使用超长波形采集模式时,只能使用通道 0,此时需要将其余所有的通道均设置为不启用, 系统会将所有的内存全部分配给通道 0。
这里以记录 2 s 连续波形为例,设置单个脉冲记录 10 ms,使用外部触发,间隔 10 ms 连续发送 200 个触发。
在实际操作中,需要考虑外部时钟和采集模块时钟的差异带来的问题,因此记录波形长度需要设置略高于设置的触发时间间隔,然后开启允许波形重叠来保证波形的连续采集没有丢失。
采用千兆网读取数据时,2730 测试最长能够连续采集 5.7 s。采用 10G 的 UDP 模式,可以记录更长的波形。
为了避免采集过程中数据写入磁盘数据传输时间,获取程序专门开发了配套的数据写入模式,用户可以修改开启内存的大小,当读取的数据达到指定大小时,才会进行一次写入。
计算机缓存清理
在Linux系统中,buff/cache 通常指的是缓冲区和缓存。用于加速对磁盘和文件的访问。清理这部分内存通常是为了释放内存空间供其他用途使用,但这并不是一个常见的操作,因为内核会自动管理这部分内存。但是我们记录超长波形时,程序占用内存需要几个 GiB,多次开启程序之后,buff/cache 不会及时释放,
如果你确实需要清理buff/cache,可以通过执行sync命令来确保所有数据已经从缓冲区和缓存中写入磁盘,然后可以通过echo命令写入/proc/sys/vm/drop_caches来清理缓冲区和缓存。
#同步磁盘数据 sudo sync # 清除页缓存 sudo bash -c “echo 1 > /proc/sys/vm/drop_caches” # 清除dentries和inodes sudo bash -c “echo 2 > /proc/sys/vm/drop_caches” # 清除页缓存,dentries和inodes sudo bash -c “echo 3 > /proc/sys/vm/drop_caches”