Operator Library: Synchronization
此運算子可用作閥門,以控制輸入鏈結的資料流。 訊號輸入 OpenValve 用於控制此閥門。 因此,此運算子可影響 I 與 O 之間像素、行和影格的資料流。 限制最大頻寬是此運算子的主要目的。 廣義而言,此運算子用於封鎖並控制影像處理的速度。 例如,此運算子可結合 CreateBlankImage 使用,以實作具有可控制輸出影格速率的 影像產生器。
如果閥門關閉,VisualApplets 流量控制將封鎖所有傳入的資料。 輸入管線隨後將被封鎖。 若使用的運算子無法停止其處理作業,請確保使用大小足夠的緩衝區。 連接至擷取卡的自由執行相機即為一個範例。 如果運算子的輸出遭到任何後續運算子封鎖,運算子 將會把此封鎖傳遞至輸入。 在此情況下,開啟閥門將不會產生任何影響。 切勿將閥門與閘道混淆。閘道運算子會在關閉時捨棄輸入資料。
此閥門由訊號輸入 OpenValve 以及運算子的參數進行控制。 如果 OpenValve 設定為 1,則根據 Mode 的參數設定,運算子允許通過 SequenceLength 個像素、行或影格。
如果 OpenValve 設定為常數 1,則運算子允許影像資料從輸入鏈結 I 不受封鎖地傳遞至輸出鏈結 O,亦即閥門隨時保持開啟。
如果在運算子的閥門仍處於開啟狀態且正在處理序列時,將第二個脈衝設定至 OpenValve,則該脈衝將被忽略。 如果在目前正在處理序列的同時使用參數 SequenceLength 變更序列長度, 運算子將先完成先前的序列, 並在之後使用新的數值。
由於未模擬時間,VisualApplets 中的高階模擬將直接把所有輸入影像傳遞至輸出。 輸入鏈結 OpenValve 上的任何數值都會被忽略。
| Property | Value |
|---|---|
| Operator Type | M |
| 輸入連結 | I,資料輸入 OpenValve,控制訊號輸入 |
| Output Link | O, data output |
同步與非同步輸入
- 所有輸入彼此皆為非同步。
| 模式 | |
|---|---|
| Type | dynamic/static read/write parameter |
| Default | FRAME |
| Range | {PIXEL, LINE, FRAME} |
|
設定運算子的模式。 根據此參數,閥門會開啟 SequenceLength 個像素、行或影格。 模式 LINE 和 FRAME 的可用性取決於輸入鏈結 I 的影像協定。 |
|
| SequenceLengthBits | |
|---|---|
| Type | static parameter |
| Default | 10 |
| Range | [1, 64] |
|
設定用於表示序列長度的位元數。 此參數僅在參數 SequenceLength 設定為動態 (dynamic) 時才會啟動。 |
|
| SequenceLength | |
|---|---|
| Type | dynamic/static read/write parameter |
| Default | 1 |
| Range | dynamic: [1, 2^SequenceLengthBits - 1], static: [1, 2^64 - 1] |
|
設定序列的長度。 若運算子處於開啟狀態,運算子將根據參數 Mode 輸出指定數量的像素、 行或影格。 如果 Mode 設定為 PIXEL,該數值必須能被 parallelism 整除。 |
|
| ImplementationType | ||||
|---|---|---|---|---|
| Type | 靜態寫入參數 | |||
| Default | AUTO | |||
| Range | (AUTO, EmbeddedALU, LUT) | |||
|
參數 ImplementationType 會影響運算子的實作策略,亦即 使用哪些邏輯元件來實作運算子。 您可以選擇以下其中一個值: AUTO: 當具現化運算子時,系統會根據參數 SequenceLengthBits 自動選擇最佳的實作策略。 EmbeddedALU:此運算子使用 FPGA 中非基於 LUT 的內嵌算術邏輯元素。 LUT:此運算子使用 FPGA 的 LUT 邏輯。
|
||||
以下範例顯示了 ImageValve 運算子的使用方式:
-
用於 DMA、RAM、GPIO、Trigger 和 LED 的硬體自我測試範例。
-
範例 - 用於偵錯硬體中設計的內部資料流控制以及可能的補償。


![[備註]](../common/images/admon/note.png)
上一頁

