Operator Library: Hardware Platform
DmaToPC 算子是 VisualApplets applet 与宿主 PC 之间的图像接口。DMAToPC 算子将图像从 applet 传输到宿主 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, and LightBridge VCL:
算子输入的 link properties 取决于 applet 支持的 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 connector) and microEnable 5 ironman VQ8-CXP6B (BNC connector):
-
当算子 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 format。 |
| 适用于以下硬件平台 |
|---|
| 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 |
资源
该算子使用一个 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 资源。请在资源对话框中为算子设置资源索引。有关详细信息,请参阅 “分配设备资源”。
| 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 | ||||
|---|---|---|---|---|
| 键入 | 动态只读参数 | |||
| 默认 | ||||
| 范围 | [0; 2^34-1] | |||
|
该参数反映了正在处理的帧中已经传输的字节数。此信息允许在整个帧传输完成之前,在软件应用程序中分析 DMA 缓冲区数据。
|
||||
以下示例展示了 DmaToPC 算子的使用方法:
-
使用入门
-
图 29,“简单的 VisualApplets Design”
基本原则 - 了解 VisualApplets 的设计理念
-
数据流 - 了解 VisualApplets 中使用的流水线结构
-
了解算子设备资源的分配。
-
' Multiple DMA Channel Designs '
基本指南 - 为一台相机使用多个 DMA 通道输出。
-
将 RGB 色彩分量分割到三个 DMA 通道输出中。
-
“使用算子 JPEG_Encoder 进行 JPEG 压缩”
示例 - 展示算子 JPEG_Encoder 用法的简单示例。
-
示例 - 展示用于彩色 JPEG 压缩的 JPEG 用户库元素用法的简单示例。
-
示例 - 展示针对 microEnable 4 和 5 平台已弃用的 JPEG_Encoder_Gray 算子用法的简单示例。
-
示例 - 展示了 imaFlex 平台的协处理器功能。以计算 Median Filter 为例。
-
示例 - 展示了 imaFlex 平台的协处理器功能。以计算大滤波器内核为例。
-
示例 - 用于在硬件中调试设计内部数据流控制及可能的补偿。
-
示例 - 一个 High Speed 且稳健的激光线检测算法。 该算法可确定重心坐标,从而获得亚像素分辨率的结果。

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

