漫談Scope編程
來源: | 作者:朱根 | 發布時間: 2019-05-13 | 154 次瀏覽 | 分享到:

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采取第一種方法即可)