一、采集数据的主要流程
1.打开设备。
2.设置输入通道的所需输入电压范围和耦合类型。
3.设置触发器
4.开始采集数据
5.等待采集完成
6.停止采集数据
7.拷贝数据到内存
8.关闭设备
二、采集模式
1.Block(块)模式
在这种模式下,采集卡将采集的数据存放到自己的缓冲区,当指定的采样数采集完成后,你可以将数据从采集卡拷贝到电脑上。当断电、设置更改,重新采集时,未保存的数据将会丢失。
2.ETS(等时采样)模式
在这种模式下,可以提高采集重复信号的有效采样率,是Block模式的改进型。(不懂(⊙_⊙),请大神留言详解)
3.Rapid Block(快速块)模式
这是Block模式的一个变体,允许你一次采集多个波形,它们之间拥有最小的延时。如果需要,可以使用缩减采样。
4.Streaming(流)模式
在这种模式下,数据直接被传送到电脑上,无需自己拷贝。应用于长周期的,缓慢数据的采集。
5.总结
在所有的模式下,数据都将会被一个回调函数异步返回。这个回调函数由程序员自己设计,当数据采集完成后,驱动程序会自动调用这个回调函数,指示数据采集完成,因此你应该在这个回调函数中获取数据,并且不要做其他额外的工作。
三、Block 模式
1.使用步骤
(1)打开采集卡:ps3000aOpenUnit
(2)设置通道:ps3000aSetChannel
(3)选择时基:ps3000GetTimebase
(4)如果需要,设置触发器:ps3000aSetTriggerChannelConditionsV2()、ps3000aSetTriggerChannelDirections、
ps3000aSetTriggerChannelProperties
(5)开始采集:ps3000aRunBlock
(6)等待直到采集完成,此时系统会调用你的回调函数:ps3000aBlockReady
(7)告诉驱动你的数据缓冲区位置:ps3000aSetDataBuffer
(8)将数据从采集卡拷贝到缓冲区:ps3000aGetValues
(9)处理数据或者显示
(10)重复5-9
(11)停止采集:ps3000aStop
(12)关闭设备:ps3000aCloseUnit
四、Rapid Block 模式
Rapid Block 模式下允许使用聚合和无聚合。相较于Block模式,该模式能在更短的时间内采集多个波形。
1. 无聚合:使用流程
(1)打开设备:ps3000aOpenUnit
(2)设置通道:ps3000aSetChannel
(3)设置内存段以及波形数:ps3000aMemorySegments、ps3000aSetNoOfCaptures
(4)设定时基:ps3000aGetTimebase
(5)如果需要设置触发器:
ps3000aSetTriggerChannelConditionsV2()、ps3000aSetTriggerChannelDirections、
ps3000aSetTriggerChannelProperties
(6)开始采集:ps3000aRunBlock
(7)等待采集完成
(8)告诉驱动你的数据缓冲区位置:ps3000aSetDataBuffer
(9)拷贝数据:ps3000aGetValuesBulk
(10)处理或显示数据
(11)重复6-10
(12)停止采集:ps3000aStop
(13)关闭设备:ps3000aCloseUnit
2.聚合:使用流程
步骤遵循上述1-7.
(8A)为每条波形设置一组缓冲区:ps3000aSetDataBuffer或者ps3000aSetDataBuffers
(9A)获取数据:ps3000aGetValuesBulk
(10A)检索每段数据的时移:ps3000aGetValuesTriggerTimeOffsetBulk64
继续上述10后步骤