Operator Library: Signal
此運算子會在其輸出端產生一個 Periodic Signal。 此外,脈衝的產生可以透過輸入訊號來控制。 週期時間和要產生的脈衝數量可以使用參數來定義。
週期是使用參數 Period 來定義的。 此週期是動態的。 其範圍由參數 PeriodBits 定義。 下圖顯示了週期長度分別為 8 和 4 的脈衝產生過程。

對 Period 參數的變更將在目前週期的產生完成時, 才會套用到運算子上。 這能確保產生的週期完全符合參數化的長度。
脈衝的產生可以在週期的結尾或開頭, 這是透過參數 PulsePosition 來控制的。 下一張圖顯示了在序列開頭產生的情況。

透過使用 Gate 輸入連結,可以控制脈衝的產生。 只有在 Gate 輸入為主動(高電平)時才會產生週期。 Gate 輸入上的上升緣會啟動週期產生。 Gate 輸入連結上的下降緣會立即終止產生。 在這種情況下,目前正在處理的週期可能無法完成。 此外,新的上升緣可能會產生較短的週期。 這顯示在以下的波形圖中。

參數 SequenceLength 有助於序列的產生。 在先前的圖表中,該參數設為 0,這會導致無限的序列長度。 如果您將參數設為大於 0 的值,運算子將只會產生參數化數量的週期。 在以下的波形圖中,序列長度設為 3,週期設為 4。 如波形圖所示,週期會在第三個週期後停止產生。 Gate 輸入端的新上升緣將會啟動新的序列。 如果 Gate 變成 0,則可以中止序列。

在許多應用中,需要運算子進行無限的序列產生。 在這種情況下,請將參數 SequenceLength 設為 0,並將運算子 VCC 連接到 Gate 輸入。 然後,運算子將在處理開始時(例如 acquisition start)開始產生週期。
週期時間是以處於高電平的 Ticks 來計量的。 Tick 是一個訊號輸入,可用作預除頻器(pre-scaler)。 Tick 輸入每出現一次高電平值,就會計算一次週期時間。 以下的波形圖顯示了 Tick 輸入對週期產生的行為影響。 在大多數情況下,不需要 Tick 輸入。在這種情況下,請將其連接至運算子 VCC。

Reset 輸入連結用於重設運算子。 如果要取消較長的週期或序列,這會非常有用。 下一張圖說明了 Reset 的使用方式。

![]() |
使用 Reset 輸入,而不是將 Period 設為 0 |
|---|---|
|
如果將 Period 設為 0,週期要花很長時間(2^PeriodBit-1 個時脈週期)才能恢復為主動狀態。 因此,建議在這種情況下使用 Reset 輸入。 |
此運算子不支援 VisualApplets 功能模擬。
| Link Parameter | Input Link Tick | 輸入連結 Gate | Input Link Reset | Output Link O |
|---|---|---|---|---|
| Bit Width | 1 | 1 | 1 | 1 |
| Arithmetic | unsigned | unsigned | unsigned | unsigned |
| Parallelism | 1 | 1 | 1 | 1 |
| Kernel Columns | 1 | 1 | 1 | 1 |
| Kernel Rows | 1 | 1 | 1 | 1 |
| Img Protocol | VALT_SIGNAL | VALT_SIGNAL | VALT_SIGNAL | VALT_SIGNAL |
| Color Format | VAF_GRAY | VAF_GRAY | VAF_GRAY | VAF_GRAY |
| Color Flavor | FL_NONE | FL_NONE | FL_NONE | FL_NONE |
| Max. Img Width | any | any | any | 作為 Gate |
| Max. Img Height | any | any | any | 作為 Gate |
| PeriodBits | |
|---|---|
| Type | static parameter |
| Default | 16 |
| Range | [1, 64] |
|
編碼由 Period 指定的值所需的位元數。 只有在參數 Period 為動態時,此參數才會啟用。 |
|
| Period | |
|---|---|
| Type | static/dynamic read/write parameter |
| Default | 65535 |
| Range | 若為動態則為 [0, 2^PeriodBits-1],若為靜態則為 [1, 2^64-1] |
|
定義所產生脈衝的週期時間。 請勿使用下列情況: 如果週期設為 1,運算子將輸出恆定為 1 的訊號且沒有任何間隙。編碼該值所需的位元數 由 指定,如果設為 0,運算子將不會輸出任何脈衝。 |
|
| SequenceBits | |
|---|---|
| Type | static parameter |
| Default | 16 |
| Range | [1, 64] |
|
編碼由 Sequence 指定的值所需的位元數。 只有在參數 Sequence 為動態時,此參數才會啟用。 |
|
| Sequence | |
|---|---|
| Type | static/dynamic read/write parameter |
| Default | 0 |
| Range | 若為動態則為 [1, 2^SequenceBits-1],若為靜態則為 [1, 2^64-1] |
|
定義序列長度,亦即針對 Gate 輸入連結上的每個脈衝所產生的脈衝數量。 |
|
| PulsePosition | |
|---|---|
| Type | static parameter |
| Default | AtPeriodEnd |
| Range | {AtPeriodStart, AtPeriodEnd} |
|
輸出脈衝可以位於每個週期的開頭或每個週期的結尾。 |
|
以下範例顯示了運算子 Generate 的使用方式:
-
用於 DMA、RAM、GPIO、Trigger 和 LED 的硬體自我測試範例。
-
範例 - 在由產生器提供影像時序的同時,可以分析設計的資料流。
-
'Area Scan Trigger for microEnable 5 marathon'
此處展示了面陣掃描觸發。 觸發的產生可使用外部來源、內部頻率產生器或軟體觸發脈衝。
-
'Area Scan Trigger for microEnable 5 marathon VCX QP'
此處展示了適用於 CoaXPress 的面陣掃描觸發。 觸發的產生可使用外部來源、內部頻率產生器或軟體觸發脈衝。
-
'Area Scan Trigger for imaFlex CXP-12 Quad'
此處展示了適用於 CoaXPress12 的面陣掃描觸發。 觸發的產生可使用外部來源、內部頻率產生器或軟體觸發脈衝。
-
'使用信號運算子與 CameraControl 運算子實現 microEnable 5 marathon VCL 的行掃描觸發'
本文介紹了一種行掃描觸發。此觸發包含使用擷取閘道(Capture Gate)的影像觸發以及多功能行觸發。外部來源、內部頻率產生器或軟體觸發脈衝皆可用於產生觸發。
-
'使用信號運算子實現 microEnable 5 marathon VCX QP 的行掃描觸發'
本文介紹了一種行掃描觸發。此觸發包含使用擷取閘道(Capture Gate)的影像觸發以及多功能行觸發。外部來源、內部頻率產生器或軟體觸發脈衝皆可用於產生觸發。
-
'使用信號運算子實現 imaFlex CXP-12 Quad 的行掃描觸發'
本文介紹了一種適用於 CoaXPress12 的行掃描觸發。此觸發包含使用擷取閘道(Capture Gate)的影像觸發以及多功能行觸發。外部來源、內部頻率產生器或軟體觸發脈衝皆可用於產生觸發。

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

