CLHSSingleCamera 연산자

Operator Library: Hardware Platform

이 오퍼레이터는 CLHS Single Link 구성 카메라와 VisualApplets 간의 이미지 데이터 인터페이스를 나타냅니다. 이 오퍼레이터는 CLHS 카메라에서 데이터를 수신하여 이미지 처리 애플리케이션으로 전달합니다.

Hardware Platform에서 사용 가능
marathon VF2

이 오퍼레이터는 카메라 타입의 리소스를 독점적으로 하나 사용합니다. 이미지 소스로 프레임 그래버의 포트 0 또는 포트 1을 선택할 수 있습니다. 동일한 리소스 ID는 애플릿 내에서 두 번 이상 사용할 수 없습니다.

이 오퍼레이터에는 항상 하나의 출력 포트 O가 있으며, 이것이 이미지 출력입니다.

선택적 GPIO 포트 추가

이 표준 출력 포트 외에도 설계상 필요한 경우 다양한 선택적 포트를 지정할 수 있습니다.

CLHS 프로토콜은 펄스 및 GPIO 메시지를 지원합니다.

operator 인스턴스화 중에 팝업 대화 상자가 나타납니다:

여기서 최대 16개의 선택적 GPI(General Purpose Inputs)와 최대 16개의 선택적 GPO(General Purpose Outputs)의 사용 여부를 정의할 수 있습니다.

포트 사용 가능 여부를 "0"(기본값)으로 설정하면 해당 포트가 operator에 나타나지 않습니다. 포트 사용 가능 여부를 1로 설정하면 특정 포트를 operator 인터페이스에서 사용할 수 있습니다.

연결된 operator에 의해 GPI의 상태가 변경될 때 GPIO 상태가 전송됩니다. operator가 카메라로부터 GPIO 메시지를 받으면 모든 GPO가 업데이트됩니다.

파라미터 Bit Width

링크 파라미터 Bit Width는 카메라가 실제로 전송하는 비트 폭보다 높거나 낮은 값으로 설정할 수 있습니다:

  • 더 낮은 값을 선택하면 각 픽셀의 LSB 비트가 잘려나가고 MSB 비트만 애플리케이션으로 전송됩니다.
  • 더 높은 값을 선택하면 원래 픽셀이 출력 픽셀의 MSB 위치에 배치됩니다. LSB 비트는 0으로 채워집니다.

두 경우 모두 상대적인 밝기는 동일하게 유지됩니다. 즉, 흰색 픽셀은 흰색으로 유지되고 어두운 픽셀은 어두운 상태로 유지됩니다.

선택적 출력 포트 추가

또한 두 개의 추가 출력 포트를 (선택적으로) 활성화할 수 있습니다:

  • 하나의 출력 포트 Output (SyncO)(비디오 메시지의 MultiFGSync 비트) 및
  • 하나의 출력 포트 Output (HeaderO). Output (HeaderO)는 현재 처리 중인 비디오 패키지의 헤더 정보를 제공합니다. 이 포트는 64비트 너비의 픽셀로 헤더 정보를 제공합니다.

출력 포트 HeaderO의 구조

이미지 데이터가 출력 포트 O로 출력되기 전에, 단일 픽셀이 HeaderO 포트로 출력됩니다. 이 픽셀에는 비디오 패키지의 헤더 데이터가 포함됩니다. 출력 포트 HeaderO는 들어오는 데이터의 더 복잡한 종속성에 대한 정보를 전송하거나, 애플릿의 비디오 링크를 통해 이벤트에 반응하는 데 사용됩니다.

출력 포트 HeaderO의 구조는 다음과 같습니다:

위치 CLHS 헤더 설명
[0,2] ColorID [0,2] 비디오 소스: 현재 이 부분은 항상 0입니다
[3,4] ColorID [3,4] 패킷 타입 0 = 비디오 (기타 모든 조합은 예약됨)
[5,7] ColorID [5,7] Color ID:
ColorID 설명
0 Mono, Multi-component, Bayer, Raw
1 Blue
2 초록색
3 Red
4 Alpha
(5..7) 예약됨
[8,9] VideoStatus [1,0] Row Marker:
Bits 설명
00 행 계속
01 행 시작
10 행 끝
11 완전한 행(시작 및 끝)
[10,11] VideoStatus [3,2] Frame Marker:
Bits 설명
00 프레임 계속
01 프레임 시작
10 프레임 끝
11 완전한 프레임(시작 및 끝)
12 VideoStatus [4] 트리거 누락. 마지막 패키지 이후 카메라가 트리거 요청에 반응하지 못했습니다.
13 VideoStatus [5] 카메라 버퍼 오버플로
14 VideoStatus [6] 다중 FG 사용을 위한 MultiFGSync 동기화(SyncO 출력도 참조)
15 VideoStatus [7] 재전송 플래그, 0으로 설정됨, 사용되지 않음
[16,31] RowID 현재 행 번호
[32,39] - 예비 항목, 0으로 설정
[40,55] ColID 이 패키지의 첫 번째 픽셀 열 번호
[56,63] AcquisitionSet 이 바이트는 카메라가 고유 정보를 설정하는 데 사용할 수 있습니다.

I/O Properties

Property Value
Operator Type M
Output Links O, VisualApplets 내부에서 사용할 획득 이미지 데이터
GPO[0;15] (선택 사항), 카메라 GPO 상태 (CLHS를 통해 교환)
GPI[0;15] (선택 사항), 프레임 그래버 GPO 상태 (CLHS를 통해 교환)
SyncO (선택 사항), 비디오 패키지에 MultiFGSync 비트 설정됨(1클록 주기 동안 유효)
HeaderO (선택 사항), 비디오 패키지 헤더를 포함하는 각 비디오 패키지 시작 부분의 64비트 너비 픽셀

Supported Link Format

Link Parameter Output Link O 출력 링크 GPO[0;15] (선택 사항) 출력 링크 GPI[0;15] (선택 사항) 출력 링크 SyncO (선택 사항) 출력 링크 HeaderO (선택 사항)
Bit Width any 1 1 1 64
Arithmetic unsigned unsigned unsigned unsigned unsigned
Parallelism 임의, 파라미터 설명 참조 1 1 1 1
Kernel Columns 1 1 1 1 1
Kernel Rows 1 1 1 1 1
Img Protocol {VALT_IMAGE2D, VALT_LINE1D} VALT_SIGNAL VALT_SIGNAL VALT_SIGNAL VALT_Pixel0D
Color Format VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY
Color Flavor FL_NONE FL_NONE FL_NONE FL_NONE FL_NONE
Max. Img Width any 1 1 1 1
Max. Img Height any 1 1 1 1

Parameters

CameraID
Type static write parameter
Default 0
Range {0, 1}

이 파라미터는 어떤 camera 리소스가 사용되는지 지정합니다. 또한 이 ID는 카메라 채널을 애플릿 포트에 매핑하는 데 사용됩니다.

Pixel Format
Type static write parameter
Default Mono10p
Range {Mono8,Mono10p,Mono12p,Mono14p,Mono16,Raw8,Raw10p,Raw12p,Raw14p,Raw16, Raw64, B8, B10p, B12p, B14p, B16, G8, G10p, G12p, G14p, G16, R8, R10p, R12p, R14p, R16, BGR8, BGR10p, BGR12p, BGR14p, BGR16, BGRa8, BGRa10p, BGRa12p, BGRa14p, BGRa16, BayerGR8, BayerGR10p, BayerGR12p,BayerGR14p, BayerGR16, BayerRG8, BayerRG10p, BayerRG12p, BayerRG14p, BayerRG16, BayerGB8, BayerGB10p, BayerGB12p, BayerGB14p, BayerGB16, BayerBG8, BayerBG10p, BayerBG12p, BayerBG14p, BayerBG16}

이 파라미터는 출력 Pixel Format을 지정합니다.

RAW 모드에서는 카메라에서 들어오는 모든 라인 및 프레임 마커가 무시됩니다. RAW 모드는 복잡한 링크 구조를 지원하는 데 사용되며 CLHSSingleCamera 오퍼레이터에서만 독점적으로 사용할 수 있습니다.

AquisitionFormat
Type static write parameter
Default 면적
Range {Area; Linescan; RAW}

이 파라미터를 "Area"로 설정하면 사용 가능한 첫 번째 데이터가 완전한 프레임이 됩니다. 중간에서 시작된 프레임은 무시됩니다. 따라서 첫 번째 비디오 메시지에 "Start Of Frame" 마커가 필요합니다.

이 파라미터가 "Line"으로 설정된 경우, 사용 가능한 첫 번째 데이터는 완전한 라인입니다. 중간에서 시작된 라인은 무시됩니다. 따라서 첫 번째 비디오 메시지에는 "Start Of Line" 마커가 필요합니다. 라인스캔 카메라의 경우 "Start of Frame"과 "End of Frame"이 0으로 설정되므로, 이들은 무시됩니다.

이 파라미터를 “RAW”로 설정하면 모든 마커("Start/End of Line" 및 "Start/End of Frame")가 무시됩니다. "RAW" 모드는 복잡한 링크 구조를 지원하는 데 사용됩니다. 이 모드는 CLHSSingleCamera 오퍼레이터에서만 사용할 수 있습니다.

LineSupervision
Type 동적/정적 읽기/쓰기 파라미터
Default 꺼져 있는지
Range {on, off}

이 파라미터를 "on"으로 설정하면 오퍼레이터가 카메라에서 들어오는 모든 라인이 애플릿으로 전송되는지 모니터링합니다.

카메라에서 들어오는 라인은 오름차순으로 번호가 지정됩니다(라인 0, 라인 1, 라인 2 ... 라인 N). 이 파라미터는 라인 누락이 없도록 보장합니다. 예를 들어 하나의 링크가 있는 카메라가 연결되고 파라미터가 332, 333, 335, 336 …과 같은 시퀀스를 모니터링하는 경우 오류가 발생합니다.

카메라에 1개 초과의 링크가 있는 경우 RowStep 파라미터를 사용하여 링크당 들어오는 라인의 증가 단계를 그에 맞춰 늘릴 수 있습니다. 예를 들어 카메라에 2개의 링크가 있는 경우 링크 0은 라인 0, 2, 4, 6, …을 수신하고 링크 1은 라인 1, 3, 5, 7, … 등을 수신합니다. 마찬가지로 카메라에 4개의 링크가 있는 경우 링크 0은 라인 0, 4, 8, 12, …를 수신하고, 링크 1은 라인 1, 5, 9, 13을 수신하며, 링크 2는 라인 2, 6, 10, 14, … 등을 수신합니다.

또한 LineSupervision 파라미터는 무결성을 검사합니다. 라인 시작(SoL)과 라인 끝(EoL)은 올바른 순서여야 합니다. 누락된 EoL 또는 SoL이 감지되면 오류 플래그가 생성되고 라인 끝이 삽입됩니다. 연속된 2개의 RowIDs가 감지되고 라인 일관성이 다시 보장될 때까지 누락된 라인은 더 작은 라인으로 삽입됩니다(길이는 Parallelism 및 bitwidth에 따라 다름).

RowStep
Type 동적/정적 읽기/쓰기 파라미터
Default 1
Range {1, 65535}

2개의 RowID 간의 단계입니다. 멀티 채널 카메라를 사용하고 라인이 링크 간에 분할되는 경우가 아니라면 1이어야 합니다.

SyncFirstLineToFGSyncRequest
Type 동적/정적 읽기/쓰기 파라미터
Default 표시된 패킷 크기 값은 카메라에
Range {no,yes}

이 파라미터를 yes로 설정하면 첫 번째 FGSyncRequest 이전의 모든 라인이 폐기됩니다. LINE_1D 모드에서만 작동합니다. 이것은 첫 번째 라인을 첫 번째 외부 FGSyncRequest 펄스와 동기화합니다.

MinimalParallelism
Type static read 파라미터
Default 2
Range [1; 1024]

데이터 손실 없이 카메라의 최대 대역폭을 전송할 수 있는 출력 링크 O의 최소 Parallelism입니다. 이 값은 현재 선택된 디자인 클럭 주파수에 따라 달라집니다. 주파수가 높을수록 Parallelism 값은 낮아질 수 있습니다.