漫谈Scope编程
来源: | 作者:朱根 | 发布时间: 2019-05-13 | 1230 次浏览 | 分享到:

PicoScope是由Pico Technology公司推出的PC示波器系列,具有体积小巧、携带方便、功能强大等特点。PicoScope可以在CANoe中直接被调用,因此广泛应用于汽车网络测试、故障诊断等领域。在进行汽车网络测试时,多数会使用CAPL语言调用Scope的相关功能,其实Scope支持的语言类型十分丰富,本文就对C#下的Scope编程进行基本的介绍。
本次选用的Scope型号为5444B-034,与A系列相比,除基本的函数发生器外,还增加了任意波形发生器(AWG)的功能。5444B-034支持四种采样模式,分别是:Block模式、ETS模式、快速Block模式、流模式。

    Block模式:在此模式下,示波器将数据存储在其缓冲存储器中,然后传输到PC。 在重新启动采样、更改设置或关闭电源时,数据会丢失。

    ETS模式:在该模式中,可以在捕获重复信号时增加示波器的有效采样率。 它是Block模式的一种变体。

    快速Block模式:该模式也是Block模式的一种变体,可以以最小的捕获延迟同时捕获多个波形。

    流模式:在此模式下,数据直接传递到PC,而不受示波器捕获存储器大小的限制。 这可以实现长时间的数据收集。

此次着重介绍的是Block模式的编写流程。编程前需安装对应的SDK,本文中出现的所有函数均包含其中,SDK可于Pico Technology官网下载。由代码实现的Scope调用过程大致可以分为13个步骤:



1.    连接Scope:ps5000aOpenUnit



2.    选择通道范围及交/直流耦合:ps5000aSetChannel



3.    选择时基,找到采样所需的纳秒数:ps5000aGetTimebase



4.    如果需要,设置触发方式:ps5000aSetSimpleTrigger



5.    开启Scope:ps5000aRunBlock



6.    等待Scope启动完毕(根据函数回调判断):ps5000aBlockReady(或者采用ps5000aIsReady进行轮询,我们使用的Scope采取第一种方法即可)
相关文章