오퍼레이터 라이브러리: 하드웨어 플랫폼
DmaToPC 연산자 는 ‘ VisualApplets ’ 애플릿과 호스트 PC 간의 이미지 인터페이스입니다. DmaToPC 연산자는 애플릿에서 호스트 PC로 이미지를 전송합니다. 이미지 전송은 직접 메모리 액세스(DMA)를 사용하여 수행되며, 즉 이미지 데이터가 호스트 PC 메모리에 직접 기록됩니다.
다양한 색상 형식, 비트 폭 및 병렬 처리가 지원됩니다. 허용되는 조합은 사용 중인 하드웨어 플랫폼에 따라 달라집니다:
-
imaFlex 2 Dual 100:
-
비트 폭과 병렬 처리 수의 곱은 8의 정수배여야 하며, 512 이하여야 합니다.
-
최대 이미지 너비와 최대 이미지 높이의 곱은 4바이트로 나누어 떨어져야 합니다.
-
-
imaFlex CXP-12 Quad 및 imaFlex CXP-12 Penta:
-
비트 폭과 병렬 처리 수를 곱한 값은 8의 정수 배수여야 하며, 256 이하여야 합니다.
-
최대 이미지 너비와 최대 이미지 높이의 곱은 4바이트로 나누어 떨어져야 합니다.
-
-
microEnable 5 marathon VCLx, microEnable 5 marathon VCL, microEnable 5 marathon VCX-QP , microEnable 5 marathon VF2, 및 LightBridge VCL:
운영자 입력의 링크 속성은 애플릿에서 지원하는 PCIe 모드에 따라 달라집니다. 지원되는 PCIe 모드는 운영자 AppletProperties의 PcieInterfaceType 매개변수에서 선택할 수 있습니다.
다양한 색상 형식, 비트 폭 및 병렬 처리가 지원됩니다. Parallelism 와 Bit Width 의 곱의 최대값은 8의 배수여야 하며, 이는 연산자 AppletProperties에서 선택한 PCIe 모드에 따라 달라집니다:
- Generation_1: Parallelism x Bit Width <= 64 Bit.
- Generation_2: Parallelism x Bit Width <= 128 bit
이미지의 최대 너비와 최대 높이의 곱은 4바이트로 나누어 떨어져야 합니다.
-
microEnable 5 ironman VD8-PoCL , microEnable 5 ironman VQ8-CXP6D (DIN 커넥터) 및 microEnable 5 ironman 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 이미지는 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 |
리소스
이 연산자는 하나의 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 | 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 |
| 현재 전송 길이 | ||||
|---|---|---|---|---|
| Type | dynamic read parameter | |||
| Default | ||||
| Range | [0; 2^34-1] | |||
|
이 매개변수는 현재 처리 중인 프레임 중에서 이미 전송된 바이트 수를 나타냅니다. 이 정보를 통해 전체 프레임이 전송되기 전에 소프트웨어 애플리케이션에서 DMA 버퍼 데이터를 분석할 수 있습니다.
|
||||
다음 예제에서는 DmaToPC 연산자의 사용법을 보여줍니다:
-
시작하기
-
그림 29, ‘간단한 VisualApplets 디자인’
기본 원칙 - 다음의 개념을 익히기 VisualApplets
-
데이터 흐름 - 다음에서 사용되는 파이프라인 구조에 대해 알아보기 VisualApplets
-
운영자의 장치 자원 할당 방식을 알아보세요.
-
기본 가이드 - 하나의 카메라에 여러 DMA 채널 출력을 사용하는 방법.
-
RGB 색상 평면을 세 개의 DMA 채널 출력으로 분할합니다.
-
'연산자를 사용한 JPEG 압축 JPEG_Encoder'
예제 - 연산자의 사용법을 보여주는 간단한 예제 JPEG_Encoder의 사용법을 보여주는 간단한 예시들입니다.
-
'사용자 라이브러리 요소를 활용한 JPEG 색상 압축'
예제 - 컬러 JPEG 압축을 위해 JPEG 사용자 라이브러리 요소의 사용법을 보여주는 간단한 예제들입니다.
-
예제 - 더 이상 권장되지 않는 JPEG_Encoder_Gray 연산자의 사용법을 보여주는 간단한 예제입니다.
-
예시 - imaFlex 플랫폼의 코프로세서 기능을 보여줍니다. 예를 들어, 중앙값 필터를 계산합니다.
-
예시 - imaFlex 플랫폼의 코프로세서 기능을 보여줍니다. 예를 들어, 대규모 필터 커널을 계산합니다.
-
예시 - 하드웨어 내 설계의 내부 데이터 흐름 제어를 디버깅하고, 필요한 경우 이를 보정하기 위한 목적으로.
-
예시 - 고속 및 고견고성 레이저 라인 감지 알고리즘. 이 알고리즘은 서브픽셀 해상도 결과를 얻기 위해 무게 중심(center of gravity) 좌표를 결정합니다.

![[참고]](../common/images/admon/note.png)
이전

