Operator Library: Hardware Platform
DmaToPC 運算子是 VisualApplets 小程式與主機 PC 之間的影像介面。DMAToPC 運算子會將影像從小程式傳輸至主機 PC。影像傳輸是透過直接記憶體存取(Direct Memory Access)執行的,也就是說,影像資料會直接寫入主機 PC Memory 中。
支援多種 Color Format、Bit Width 和 Parallelism。允許的組合取決於所使用的硬體平台:
-
imaFlex 2 Dual 100:
-
Bit Width 與 Parallelism 的乘積必須是 8 的整數倍,且必須小於或等於 512。
-
最大影像寬度與最大影像高度的乘積必須能被 4 bytes 整除。
-
-
imaFlex CXP-12 Quad 與 imaFlex CXP-12 Penta:
-
Bit Width 與 Parallelism 的乘積必須是 8 的整數倍,且必須小於或等於 256。
-
最大影像寬度與最大影像高度的乘積必須能被 4 bytes 整除。
-
-
microEnable 5 marathon VCLx、microEnable 5 marathon VCL、microEnable 5 marathon VCX-QP、microEnable 5 marathon VF2 與 LightBridge VCL:
運算子輸入的 link properties 取決於小程式所支援的 PCIe 模式。您可以在運算子 AppletProperties 的參數 PcieInterfaceType 中選擇所支援的 PCIe 模式。
支援多種 Color Format、Bit Width 和 Parallelism。乘積 Parallelism x Bit Width 的最大值必須是 8 的倍數,且取決於您在運算子 AppletProperties 中選擇的 PCIe 模式:
- Generation_1: Parallelism x Bit Width <= 64 Bit.
- Generation_2: Parallelism x Bit Width <= 128 bit
最大影像寬度與最大影像高度的乘積必須能被 4 bytes 整除。
-
microEnable 5 ironman VD8-PoCL、microEnable 5 ironman VQ8-CXP6D(DIN 連接器)與 microEnable 5 ironman VQ8-CXP6B(BNC 連接器):
-
當運算子 AppletProperties 中的參數 PcieInterfaceType 設為 Generation_1 時,Bit Width 與 Parallelism 的乘積必須是 8 的倍數,且小於或等於 128。
-
當運算子 AppletProperties 中的參數 PcieInterfaceType 設為 Generation_2 時,Bit Width 與 Parallelism 的乘積必須是 8 的倍數,且小於或等於 256。
-
![]() |
RGB 已轉換為 BGR |
|---|---|
|
此運算子會將 RGB 資料轉換為 BGR 資料(即在 DMA 傳輸前將 R 和 B 元件對調)。DMA 傳輸後,原本的 RGB 影像在 PC 的 RAM 中會以 BGR 影像的形式提供。進行此轉換是為了方便使用軟體工具進行後續處理,因為大多數軟體工具都直接支援 BGR 格式。 |
| 適用於硬體平台 |
|---|
| imaFlex 2 Dual 100 |
| imaFlex CXP-12 Penta |
| imaFlex CXP-12 Quad |
| microEnable 5 marathon VCLx |
| microEnable 5 marathon VCL |
| microEnable 5 marathon VCX-QP |
| microEnable 5 marathon VF2 |
| LightBridge VCL |
| microEnable 5 ironman VQ8-CXP6D/-CXP6B |
| microEnable 5 ironman VD8-PoCL |
Resources
此運算子使用一個 VisualApplets 資源。
imaFlex 2 Dual 100:
對於 imaFlex 2 Dual 100 平台,此運算子會使用一個類型為 DmaToHostPort 的 VisualApplets 資源。在此平台上最多可使用 5 個 DmaToPC 運算子。資源索引必須嚴格單調遞增,即 0 → 1 → 2 → 3 → 4。第一個運算子必須始終取得索引 0,且每個後續運算子必須取得下一個索引(+1)。資源索引不得有間隙,且索引始終從 0 開始。請在資源對話方塊中為運算子設定資源索引。如需詳細資訊,請參閱 'Allocation of Device Resources'。
imaFlex CXP-12 Quad 與 imaFlex CXP-12 Penta:
對於 imaFlex CXP-12 Quad 與 imaFlex CXP-12 Penta 平台,此運算子會使用一個類型為 DMA 的 VisualApplets 資源。請在資源對話方塊中為運算子設定資源索引。如需詳細資訊,請參閱 'Allocation of Device Resources'。
| Link Parameter | Input Link I |
|---|---|
| Bit Width | 請參閱說明 |
| Arithmetic | unsigned |
| 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 |
| CurrentTransferLength | ||||
|---|---|---|---|---|
| Type | 動態讀取參數 | |||
| Default | ||||
| Range | [0; 2^34-1] | |||
|
此參數反映了正在處理之畫格已傳輸的位元組數量。透過此資訊,您可以在完整畫格傳輸完成之前,在軟體應用程式中分析 DMA 緩衝區資料。
|
||||
以下範例顯示了 DmaToPC 運算子的使用方式:
-
快速入門
-
基本原理 - 了解 VisualApplets 的概念
-
資料流 - 了解 VisualApplets 中使用的管線結構
-
了解運算子的裝置資源配置。
-
基本指南 - 針對單一相機使用多個 DMA 通道輸出。
-
'Color Plane Separation Option 1 - Three DMAs'
將 RGB 色彩平面分割為三個 DMA 通道輸出。
-
「使用運算子 JPEG_Encoder 進行 JPEG 壓縮」
範例 - 顯示運算子 JPEG_Encoder 用法的簡單範例。
-
範例 - 顯示 JPEG 使用者函式庫元素用於彩色 JPEG 壓縮用法的簡單範例。
-
範例 - 顯示針對 microEnable 4 與 5 平台已過時的 JPEG_Encoder_Gray 運算子用法的簡單範例。
-
範例 - 顯示 imaFlex 平台的協同處理器功能。 作為範例,此處計算了 Median Filter。
-
"Co-Processor Large Filter Calculation"
範例 - 顯示 imaFlex 平台的協同處理器功能。 作為範例,此處計算了一個大型濾鏡核心。
-
範例 - 用於偵錯硬體中設計的內部資料流控制以及可能的補償。
-
範例 - 一種 High Speed 且強固的雷射線偵測演算法。 此演算法可決定重心座標以取得亞像素解析度結果。

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

