Overview
傳統的 LabVIEW 程式設計作業均使用資料流模態 (Model);而相反來說,NI-5640R 非同步化程式設計面板,則提供了不受拘束的節點,可於資料流之外獨立執行。非資料流或非同步化接線,均可傳輸資料與時脈資訊。常見的資料流接線與 VI,即可與相同應用中的非同步接線與自由 VI 進行互通,以啟動運算作業的混合模態 (Mixed model)。此程式設計面板可支援中頻 (Intermediate Frequency,IF) 收發器產品系列,包含 NI PCI-5640R 與 NI PXIe-5641R。
Table of Contents
介紹
NI-5640R 非同步化程式設計 (Asynchronous Programming) 面板,包含 LabVIEW FPGA VI 或節點系列,可針對 IF 收發器硬體,簡化其多重速率 DSP 應用的建構作業。若以非同步化接線進行程式設計,則 LabVIEW 可處理某部分的作業:
- 自動將所需的時脈、FIFO,或其他 I/O 項目,新增至 LabVIEW FPGA 專案中。
- ADC 與 DAC 節點可自動選擇正確的時脈域 (Clock domain)。
- ADC 與 DAC 節點,必須考量 ADC 與 DAC 針對 I/IQ 資料進行封包/解封包的方法。
- 省略一般的資料交換技術,以簡化建立並使用資料緩衝區的作業程序。
非同步化接線與資料流接線有何不同?
傳統的 LabVIEW 程式設計,均透過資料流模態 (Model) 以執行 VI。不論是 VI 或節點,均將於完整接收所需的輸入之後,才會接著執行。當執行 VI 或節點時,均將產生資料並傳輸至下 1 個位於資料流路徑上的 VI 或節點。此資料穿過節點的過程,將決定程式圖節點的執行順序。與上述的傳統資料流接線相較,非同步化接線則具有下列專屬動作:
- 當結構處於執行狀態時,資料可穿過如「While Loop」的結構邊界 (Structure boundary)。
- 若無特別的意外情況,非同步化接線並不會影響任何資料流順序的相關依賴性。
非同步化資料接線
非同步化接線將連接用於傳送或接收緩衝資料的終端。而進行資料緩衝的方式,將依所選擇的資料交換方式 (Exchange policy) 而有所不同。資料交換方式,將進一步決定其連接節點的讀取/寫入動作。使用者所選擇的資料交換方式,亦會影響資料流順序的相關性。非同步化資料接線,將由 LabVIEW 程式圖上的粗線代表之。與資料流接線相似,非同步化接線的顏色亦將因資料類型而有所不同。
非同步化時脈接線
非同步化時脈接線,將連接至時脈訊號、時脈,或觸發器端點進行傳送/接收作業。非同步化時脈接線,可於節點之間傳送時脈資訊與觸發器事件。非同步化時脈接線,將由 LabVIEW 程式圖上的綠色粗線代表之。
接著將說明可完備 NI-5640R 非同步化程式設計面板功能的節點。
NI-5640R 非同步化程式設計面板
NI-5640R 非同步化程式設計 (Asynchronous Programming) 面板中的節點,將可存取 IF 收發器的固定 I/O 資源,如 ADC 輸入、DAC 輸出、數位 I/O 針腳,與時脈輸入。接著將逐一說明各個節點。

圖 1. NI-5640R 非同步化程式設計 (Asynchronous Programming) 面板
下列表格將說明 NI-5640R Asynchronous Programmer 面板 (即圖 1 所示) 的各個節點,並提供影片線上教學的摘要。
| 節點 | 說明 |
|
|
ADC Node
|
|
|
DAC Node |
|
|
Digital I/O Node
|
|
|
Clock Node
|
|
|
DMA from Host Node
|
|
|
DMA to Host Node
|
|
|
Harness
|
|
|
Read Accessor Node
|
|
|
Write Accessor Node
|
如同一般的 LabVIEW VI,NI-5640R 非同步化節點亦具有輸出/輸入,或端點。在外觀上,非同步化端點即與一般的 LabVIEW VI 有所差異,且其隱藏式端點可透過節點的子功能表選項進而啟動之。在下列的影片線上教學中,即可觀看應如何使用 NI-5640R Asynchronous Programming 面板,以架構簡單的頻譜分析應用。接著將針對非同步化接線,說明處理並轉換資料的方法。
資料交換方式
資料交換的方式,將影響非同步化接線節點轉換資料與時脈資訊的方法。每種資料交換方式,均以不同的圖像 (Glyph) 表示。這些圖像將顯示於多種非同步化接線節點上。當可使用者設定資料交換方式時,則圖像為橘色。直接點選圖像即可啟動設定對話框。灰色的資料交換圖像則表示「無法透過該節點設定資料交換方式」。使用者必須透過建立該緩衝區的節點圖像,才可進行設定。下表則為 3 種資料交換方式與對應的圖像。
| Data Policy | 圖示 | 說明 |
| 暫存區 |
|
此方式將建立 1 組元素深層資料 (Element deep data) 緩衝區,且後續的寫入作業均將覆寫現有資料。資料寫入至緩衝區後將為續存狀態,因此可多次讀取該筆資料,直到後續寫入新的資料為止。 |
| FIFO |
|
FIFO 資料交換方式,將根據使用者所指定的尺寸建立資料緩衝區。當在移除已讀取的資料時,可回復該項讀取作業。讀取作業將以「先進先出 (FIFO)」的順序執行。若 FIFO 已滿 (達到 Buffer Depth 所指定的最大深度),則必須先讀取某筆資料,才能夠寫入其他資料。 |
| 環形緩衝區 |
|
環形緩衝區資料交換方式,將根據使用者所指定的尺寸建立資料緩衝區。當環形緩衝區滿載時,後續的寫入作業將覆寫先前的資料。此寫入作業無法回復。 |
表 2. 資料交換方式
這些方式將決定資料緩衝區的程式設計過程,而設定方式亦將影響緩衝區的大小,與其溢位 (Overflow)/虧位 (Underflow) 的動作。
結論
NI-5640R 非同步化程式設計 (Asynchronous Programming) 面板,包含不受限制的節點,可銜接非同步化 (非資料流) 接線。常見的資料流接線與 VI,即可於相同應用中互換非同步化接線與節點,以啟動運算作業的混合模態 (Mixed model)。若以非同步化接線進行程式設計,將可針對 IF 收發器硬體,簡化多重速率 DPS 應用的建構程序,並讓 LabVIEW 直接處理某些程式設計作業。
相關資源
Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this content with each new revision of related products and drivers. THIS TUTORIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).









