運算子函式庫:硬體平台
DmaToPC操作元 是VisualApplets 小程式與主機電腦之間的影像介面。該 DmaToPC操作元負責將影像從小程式傳輸至 主機電腦。影像傳輸是透過直接記憶體存取(DMA)來執行,也就是說,影像資料會 直接寫入主機電腦的記憶體中。
支援多種色彩格式、位元寬度及 並行處理方式。允許的組合取決於所使用的硬體 平台:
-
imaFlex 2 Dual 100:
-
位寬與並行度的乘積必須是 8 的整數倍, 且必須小於或等於 512。
-
最大影像寬度與最大影像高度的乘積 必須能被 4 位元組整除。
-
-
imaFlex CXP-12 Quad 及imaFlex CXP-12 Penta :
-
位寬與並行度的乘積必須是 8 的整數倍, 且必須小於或等於 256。
-
最大影像寬度與最大影像高度的乘積 必須能被 4 位元組整除。
-
-
microEnable 5marathon VCLx、microEnable 5marathon VCL、microEnable 5marathon VCX-QP 、microEnable 5marathon VF2,以及LightBridge VCL:
操作員輸入的連結屬性取決於該小程式所支援的 PCIe 模式。您可以在操作員 AppletProperties 的 PcieInterfaceType 參數中,選擇所支援的PCIe 模式。
支援多種色彩格式、位元寬度及並行處理方式。 Parallelism 與Bit Width 的乘積最大值必須為 8 的倍數,且取決於 您在運算子 AppletProperties 中選取的PCIe 模式:
- Generation_1: Parallelism x Bit Width <= 64 Bit.
- Generation_2: Parallelism x Bit Width <= 128 bit
最大影像寬度與最大影像高度的乘積必須 能被 4 位元組整除。
-
microEnable 5ironman VD8-PoCL 、microEnable 5ironman VQ8-CXP6D (DIN 連接器)以及 microEnable 5ironman VQ8-CXP6B (BNC 連接器):
-
當參數 PcieInterfaceType 在運算子 AppletProperties 中的參數PcieInterfaceType設定為 Generation_1 時, 位寬與並行度的乘積必須是 8 的倍數,且 不得超過 128。
-
當參數 PcieInterfaceType 在運算子 AppletProperties 中的參數PcieInterfaceType設定為 Generation_2 時, 位寬與並行度的乘積必須是 8 的倍數,且 不得超過 256。
-
![]() |
RGB 轉換為 BGR |
|---|---|
|
該運算子將 RGB 資料轉換為 BGR 資料(即在 DMA 傳輸前, 將 R 和 B 兩組分量互換)。 完成 DMA 傳輸後,原先的 RGB 影像將 以 BGR 影像的形式存於電腦的 RAM 中。進行此轉換是為了方便後續 使用軟體工具進行處理,因為大多數軟體工具都直接支援 BGR 格式。 |
| 適用於以下硬體平台 |
|---|
| imaFlex 2 Dual 100 |
| imaFlex CXP-12 Penta |
| imaFlex CXP-12 四通道版 |
| microEnable 5marathon VCLx |
| microEnable 5marathon VCL |
| microEnable 5marathon VCX-QP |
| microEnable 5marathon VF2 |
| LightBridge VCL |
| microEnable 5ironman VQ8-CXP6D /-CXP6B |
| microEnable 5ironman VD8-PoCL |
資源
該運算子使用一個VisualApplets 資源。
imaFlex 2 Dual 100:
對於imaFlex 2 Dual 100 平台,該 運算子會使用一個類型為DmaToHostPort 的VisualApplets 資源。該平台上最多可 使用 5 個DmaToPC運算子。這些 資源索引必須嚴格單調遞增,即 0 → 1 → 2 → 3 → 4。 第一個運算子必須始終取得索引 0,而每個後續運算子必須取得下一個 索引(+1)。資源索引之間不得有空缺,且索引必須始終從 0 開始。請在資源對話方塊中設定運算子的資源索引。更多資訊請參閱「裝置資源的分配」。
imaFlex CXP-12 Quad 及imaFlex CXP-12 Penta :
對於 imaFlex CXP-12 Quad 和 imaFlex CXP-12 Penta 平台,操作員需使用一個類型為DMA 的VisualApplets 資源。 請在資源對話方塊中設定該操作員的資源索引。更多資訊請參閱「裝置資源的分配」。
| Link Parameter | Input Link I |
|---|---|
| Bit Width | 請參閱說明 |
| Arithmetic | 無號數 |
| Parallelism | 請參閱說明 |
| Kernel Columns | 1 |
| Kernel Rows | 1 |
| Img Protocol | VALT_IMAGE2D |
| Color Format | {VAF_COLOR, VAF_GRAY} |
| Color Flavor | {FL_NONE, FL_RGB} If VAF_GRAY selected: FL_NONE; If VAF_COLOR selected: FL_RGB |
| Max. Img Width | any |
| Max. Img Height | any |
| 當前傳輸長度 | ||||
|---|---|---|---|---|
| Type | 動態讀取參數 | |||
| Default | ||||
| Range | [0; 2^34-1] | |||
|
此參數反映當前正在處理的幀中, 已傳輸的位元組數量。透過此資訊, 軟體應用程式可在整個幀傳輸完成之前, 對 DMA 緩衝區中的資料進行分析。
|
||||
以下範例展示了運算子 DmaToPC 的使用方式:
-
快速入門
-
基本原則——了解這個概念VisualApplets
-
資料流 — 了解用於VisualApplets
-
瞭解營運商如何分配裝置資源。
-
基礎指南——為單一攝影機使用多個 DMA 通道輸出。
-
將 RGB 色彩平面拆分為三個 DMA 通道輸出。
-
'使用運算子進行 JPEG 壓縮 JPEG_Encoder'
範例 — 展示該運算子使用方式的簡單範例 JPEG_Encoder的用法。
-
範例 — 展示如何使用 JPEG 使用者函式庫元件進行彩色 JPEG 壓縮的簡單範例。
-
範例 - 一個簡單的範例,展示已廢棄的 JPEG_Encoder_Gray 運算子的用法,適用於 microEnable4 和 5 平台。
-
範例 — 此處展示了 imaFlex 平台的協處理器功能。 以此為例,計算了中值濾波器。
-
範例 — 此處展示 imaFlex 平台的協處理器功能。 舉例來說,此處計算了一個大型濾波器核心。
-
範例 - 用於對硬體中的設計內部資料流控制進行偵錯以及進行可能的補償。
-
範例 - 一種 High Speed 且強固的雷射線檢測演算法。 此演算法會決定重心座標,以取得次像素解析度的結果。

![[注意]](../common/images/admon/note.png)
上一頁

