EAST长脉冲数据采集系统的实现

Download Report

Transcript EAST长脉冲数据采集系统的实现

ASIPP
EAST长脉冲数据采集系统实现的尝试
报告人: 彭 杨
导 师:王华忠 研究员
时 间:2011.2.25
ASIPP
内容概述
一、背 景
二、系统实现
①采集程序
②服务器程序
三、下一步计划
ASIPP
背 景
EAST装置在长时间运行的情况下,连续监控等离子体
参数,并在放电过程中改变运行条件以维持等离子体电流
是很重要的。
目前EAST数据采集传输方式不满足长脉冲放电需要,
现有采集是将每炮数据全部采集完毕,采集机本地压缩后
上传服务器,压缩和数据整体上传需要消耗较长时间。会
带来的问题主要有两点:
1. 实验人员在长脉冲实验中进行中不能监控实验过程。
2. 每炮数据采集后,数十台采集机同时向服务器发送数据,
这样会造成网络负载超载,导致实验数据的丢失。
ASIPP
系统实现
 本系统主要实现两个部分
1.采集机端:
利用双缓冲的机制,在数据采集的同时,实现数据的分片传输,即每隔5
秒就向服务器传输一次数据。
2.服务器端:
实现时间片数据自动重组,即每5s重组一次数据,这样实验人员能每隔5s
用EASTScope刷新查看前5秒所有数据。
 测试平台
1.工控机:
内存:2 G ,CPU:Intel(R) Pentium(R)4
CPU 2.80GHz
2.采集卡:
主要参数:采样率最高250K/s,64单端输入,32个差分输入,分辨率16位。
ASIPP
系统实现
采集双buffer
传输双buffer
双缓冲机制原理
(Tranbuf[0]=Tranbuf[1]=5*Buf[0]=5*Buf[1]数据量大小的情况)
ADC转换,数据量化后按照通道次序顺序地存入模块板卡上的FIFO缓冲区中,FIFO中的数据通过DMA方式交
替传送到机箱控制器上的绑定的内存双缓冲区Buf[0]、Buf[1],即当Buf[0]存满后,FIFO内数据DMA传送的
目的地自动切换到Buf[1],并立即将Buf[0]中数据拷贝到Tranbuf[0],之后两者依次传送到Tranbuf[0]直
到满后,再依次传送到Tranbuf[1],这时程序可以对Tranbuf[0]进行处理(通道分离、传输等),
Tranbuf[0]情况类似。
ASIPP
系统实现
开 始
创建传输线程
采集参数初始化
收到触发?
YES
收到停止信
号?
NO
YES
NO
采集结束了
吗?
进行采集
NO
二级缓冲
YES
结 束
YES
采集线程
ASIPP
系统实现
为了让实验人员能每隔5s就能用EastScope查看前5秒的
数据,在服务器接收时间片数据的同时必须能够自动重组每
个通道的数据。
创建接收套接字
接收时间片数据
绑定套接字
是第一片数据
YES
侦 听
NO
有数据传送请求?
写入相应目
录下文件
NO
改变当前时间片头文件信
息并覆盖文件的头信息
YES
创建新的接收线程
等待下次连接
接收头信息并解析
关闭套接字
服务器端接收程序
ASIPP
系统实现
可行性分析:
1.网络负载
本系统采用凌华DAQ2206型号采集卡一块,开了16通道,每通
道10KS/s采样速率。
本文设计的采集缓存大小为1s数据量,传输缓存大小
为采集缓存的5倍,即每5秒钟向服务器传送一次数据,数据量大
小为1.6M,也就是在长脉冲方式采集下只需占用1.6M的网络带宽。
即使本卡工作在最高采样率250K/s,单卡每片的数据
量不超过2.5M。
远远小于目前的百兆千兆网络负载。
ASIPP
系统实现
2.数据处理时间
从上面的流程可以看出,得到一个半满的二级缓冲
区需要经过5s采样加上5次内存拷贝的时间,在这一时间内,
必须处理完前一个半满的二级缓冲区。所以必须对一个半满
的二级缓冲区处理所用的时间进行测试。
每片数据的处理时间=所有通道数据分离时间+所有通
道压缩时间+本地备份+所有通道传送时间。
每片处理时间
1
2
3
4
平均时间
0.277332
0.291942
0.283149
0.281199
0.2834055
远远小于5s时间,有充足的时间进行处理,不会丢点。
(对于高速多通道采集卡如PXI2022,采集的原理与思路基本相同,
但是还必须考虑机子本身的性能,否则负载太重,很容易丢点。)
ASIPP
测试结果
采样频率:每通道10Khz;采集时间1000s,每个时间片长度:5s。
每隔5s,实验人员便可以刷新EastScope,查看当前时刻5s前的所有数据。
信号源标准的正弦波。幅值:3V;频率:5Hz。
ASIPP
测试结果
放大
信号源标准的正弦波。幅值:3V;频率:5Hz。
ASIPP
测试结果
放大
结论:时间片之间可见过渡比较平滑
ASIPP
测试结果
以下可以看出方波有些变形,是因为信号发生器的原因
没有分片的情况
ASIPP
测试结果
各种方式下的资源消耗情况:
●测试环境:
系统:Fedora release 9
内存: 2 G
CPU:Intel(R) Pentium(R) 4 CPU 2.80GHz
●采集卡:
Daq2206采集卡 1块 16通道 每通道10K/s.
CPU(%)
MEM(%)
短脉冲方式(LZO)
采集:99.5
分离:98.8
0.1
0.4
长脉冲方式(LZO)
99.1
0.2
EPICS(监控+长脉冲)
70 (58~84)
0.4
ASIPP
下一步工作
完成采集监控系统相应部分的代码和测试工作!
ASIPP
是否应用到下轮Ht7实验??
1.安装EPICS系统要求的环境:
GNU make >3.81 gcc > 3.4.2
2.采集卡daq2206驱动:
Fodora Core 6、 8、 9均可。
FC9:kernel versions 2.6.25-14.fc9.i686 and 2.6.25.9-76.fc9.i686
( compiled with gcc version 4.3.0-8)
综上需选择Fodora Core 9系统,而本人开发也选择的是这个系统,该
系统已刻盘。
如果只是使用长脉冲采集的话,不需要更换系统,只需移植程序即可。
ASIPP
采集系统界面
ASIPP
服务器监控系统主界面
ASIPP
服务器监控系统子界面
195