제어중인 대역폭

GigE Vision 카메라는, 캡처된 센서 이미지가 완전히 판독되기 전에도, 네트워크를 통해 작은 패킷으로 이미지 데이터를 전송합니다. 이것은 이미지 전송의 지연을 최소화합니다. 그러나, 동시에 너무 많은 데이터가 전송되면, GigE 네트워크의 최대 대역폭이 매우 빠르게 초과될 수 있습니다.

특히 멀티-카메라 어플리케이션이 영향을 받습니다. 이로 인해 데이터를 반복적으로 요청해야 하는 경우 전송 손실이 발생하고 전송 시간이 증가합니다. GigE Vision 표준에서는 이러한 상황을 방지하기 위해 전송 파라미터들을 설정할 수 있습니다. 사용 가능한 대역폭을 IDS GigE Vision 펌웨어 1.3의 확장된 설정으로 쉽게 관리하세요.

배경

GigE Vision 카메라 데이터는 일련의 패킷들로 전송됩니다. 페이로드 데이터에 추가하여, 패키지는 헤더 및 체크섬 데이터로 구성됩니다. MTU (Maximum Transmission Unit) 설정에 따라, 사용자 데이터의 양과 이에 따라 패킷 크기 (키워드: 점보 프레임)가 달라질 수 있습니다. 두 패키지들 간에 조정 가능한 지연이 있습니다: "인터-패킷 딜레이". 데이터 패킷이 잘못 전송되면, 전송 레이어 (GenTL)은 재전송 메커니즘을 사용하여 누락된 데이터 패킷을 다시 요청할 수 있습니다. 데이터 재요청에 대한 확률은 사용된 전송 레이어에 따라 결정됩니다. 이 세 가지 요소들은 함께 카메라 이미지의 전체 전송 시간을 결정합니다.

전송 시간은 패킷 크기, IPG 및 재전송 횟수를 변화함으로써 다양합니다.
전송 시간은 패킷 크기, IPG 및 재전송 횟수를 변화함으로써 다양합니다.

멀티 카메라 동작에서 네트워크 부하를 완화하거나 처리 시스템을 완화하려면, 전송 장치의 네트워크 대역폭을 줄이는 것이 필요합니다. GigE Vision 표준의 인터-패킷 딜레이는 전송 일시 중지를 통한 대역폭 병목 현상을 방지합니다. 이미지 데이터가 이전보다 느리게 전송되므로 데이터 처리량이 줄어들기 때문에, 패킷 지연으로 인해 총 전송 시간이 증가합니다! 전송 시간이 증가하면 최대 프레임 레이트(획득 프레임 레이트 한계)도 감소합니다.

지연된 데이터 패킷은 전송 대역폭을 줄이지만, 전송 시간을 늘리므로, 최대 프레임 레이트를 줄입니다.
지연된 데이터 패킷은 전송 대역폭을 줄이지만, 전송 시간을 늘리므로, 최대 프레임 레이트를 줄입니다.

GigE Vision 인터-패킷 딜레이를 통해, 각 카메라의 데이터 처리량을 개별적으로 설정할 수 있습니다. 데이터 전송의 적절한 지연은, 카메라가 전송 인터페이스 한계를 "초과"하는 것을 방지할 수 있습니다.

이 테크팁은 IDS GigE Vision 펌웨어의 대역폭 관리의 가능성에 대해서만 설명합니다. 데이터 스트림의 설정 및 모니터링은 사용되는 전송 레이어 (GenTL)에 따라 다릅니다.

IDS 확장이 선명도를 향상시킵니다

IDS는 대역폭 관리에 대한 더 많은 개요를 제공하는 GigE Vision 펌웨어 (버전 1.3 이상)에 두 가지 추가 기능을 구현합니다.

  • DeviceLinkCalculatedThroughput
  • DeviceLinkAcquisitionFrameRateLimit


처리량 한계 (DeviceLinkThroughputLimit)를 입력하면, 카메라 펌웨어가 필요한 패킷 지연 (GevSCPD)과 가능한 최대 프레임 레이트 (DeviceLinkAcquisitionFrameRateRateLimit)를 계산하여 현재 한계에 도달할 수 있습니다.

또한 계산된 처리량 (DeviceLinkCalculatedThroughput)은 제한 없이 사용되는 장치의 이론적 대역폭에 대한 정보를 제공합니다. 따라서 각 카메라에 대해 시간 소모적인 계산이 필요하지 않습니다.

새로운 IDS 기능은 대역폭 한계와 현재 카메라 설정에서 계산됩니다.
새로운 IDS 기능은 대역폭 한계와 현재 카메라 설정에서 계산됩니다.

추가 기능은 모든 GigE Vision 호환 카메라 어플리케이션에서 사용할 수 있습니다. IDS Vision Cockpit을 사용하여 시연합니다.

한계 데이터 처리량

GigE Vision 어플리케이션에서 Gigabit Ethernet 포트에 걸쳐 높은 데이터 대역폭을 사용하기를 원하면, 디폴트 설정으로 두 대의 카메라를 열 때 병목 현상이 이미 발생할 수 있으므로 이러한 새로운 IDS 카메라 기능을 살펴봐야 합니다.

"즉시" 이미지 캡처 없이 연결된 카메라를 시작하고 먼저 카메라 설정을 조정하세요.

이미지 캡처를 시작하기 전에, 계산된 데이터 처리량 및 가능한 최대 프레임 레이트를 확인하고 필요하면 대역폭 한계를 설정합니다. 유용한 개요를 보려면, 적어도 "전문가" 사용자 레벨에서 "devicelink"라는 용어를 사용하여 "장치 노드"를 필터링하세요. 다음 필터링된 장치 노드 개요는 샘플 카메라 대역폭 값을 갖는 파라미터를 보여줍니다.

디폴트로, 카메라는 무제한 데이터 처리량으로 동작하며, 120MBps의 최대 조정 가능한 처리량 한계 (DeviceLinkThroughputLimit) 를 사용합니다. 이 예의 카메라는, 25fps의 프레임 레이트에서 현재 설정으로 약 61MBps 데이터 처리량 (DeviceLinkCalculatedThroughput)을 생성합니다. 무제한으로, 카메라는 초당 46 프레임까지의 프레임 레이트로 (DeviceLinkAcquisition-FrameRateLimit) 캡처하고 전송할 수 있습니다. 카메라 파라미터를 변경하면 "계산된 처리량"(De-viceLinkCalculatedThroughput) 및 "최대 프레임 레이트"(DeviceLinkAcquisitionFrameRateLimit)가 변경됩니다.

필터링된 개요는 대역폭 조정을 위한 카메라 파라미터를 보여줍니다.
필터링된 개요는 대역폭 조정을 위한 카메라 파라미터를 보여줍니다.

그러나, "DeviceLinkThroughputLimit"를 사용하여 데이터 처리량을 제한하면, 카메라 설정 및 결과 데이터 레이트에 관계없이, 카메라가 이 값을 절대 초과하지 않을 것입니다.

대역폭 한계가 계산된 처리량보다 낮으면, 최대 프레임 레이트가 감소할 것입니다.
대역폭 한계가 계산된 처리량보다 낮으면, 최대 프레임 레이트가 감소할 것입니다.

이 예에서 처리량 한계가 50MBps로 감소하면, 약 20fps의 최대 프레임 레이트가 동일한 설정으로 가능합니다.

계산된 데이터 처리량은 계속해서 제한을 초과합니다. 60 MBps, 카메라는 더 이상 25 fps의 프레임 레이트를 전송할 수 없습니다. 카메라의 전송 버퍼에서 데이터 오버플로가 발생합니다. 촬영한 이미지가 일시적으로 버퍼링될 수 없으면, 카메라는 이미지를 "드랍"합니다. 실제 전송 속도는 계산된 최대 프레임 레이트 (21fps)와 같습니다.

계산된 데이터 처리량이 지정된 처리량 한계를 초과할수록, 더 많은 이미지가 카메라에 의해 내부적으로 폐기되어 전송되지 않습니다.

카메라의 라이브 뷰에서, 이미지 아래에서 현재 프레임 레이트를 확인할 수 있습니다.
카메라의 라이브 뷰에서, 이미지 아래에서 현재 프레임 레이트를 확인할 수 있습니다.

대역폭 한계의 결과로, 데이터 패킷 갭 (GevSCPD)을 사용하여 카메라의 이미지 전송이 지연됩니다!

대역폭 한계의 장점들

적절한 대역폭 한계를 설정하여 Gigabit Ethernet 포트 (120 MBps)의 사용 가능한 대역폭을 연결된 카메라에 분배하세요. 이는, 잘못된 이미지와 불완전한 이미지로 이어질 수 있는 전송 병목 현상을 방지합니다.

또한 서로 다른 처리량 한계들을 카메라에 제공하여 카메라의 우선 순위를 다르게 지정할 수도 있습니다.

대역폭 한계가 다른 두 대의 카메라. 카메라 2는 데이터를 더 빠르게 전송할 수 있습니다.
대역폭 한계가 다른 두 대의 카메라. 카메라 2는 데이터를 더 빠르게 전송할 수 있습니다.

시스템 최적화

카메라의 데이터 처리량을 설정할 때 GigE 대역폭 한계를 고려하더라도, 높은 네트워크 트래픽 또는 기타 시스템 기반의 변동으로 인해 기가비트 라인에 일시적인 병목 현상이 발생할 수 있습니다. 그 결과, 불완전한 이미지 또는 다른 전송 오류가 계속 발생할 수 있습니다.

GenTL 설정

사용되는 GenTL에 따라, 데이터 전송을 최적화하기 위한 설정 및 모니터링 옵션이 다릅니다. IDS GenTL의 일부 샘플 기능은 다음과 같습니다:

  • "스트림 모니터"는 "Buffer Fill Level"을 통해 전송 버퍼의 정확한 전송 비율을 보여줍니다. 그리고 "재전송 요청 카운트"는 버퍼 재요청의 사용량을 보여줍니다.
  • "손실 처리"를 사용하여 얼마나 많은 데이터를 재요청할 지를 제어할 수 있습니다. 이 기능은 디폴트로 비활성화되어 있습니다.
  • "불완전한" 이미지는 IDS GenTL에 의해 카운팅되지만, 여전히 전송됩니다. 그러면 사용자는 이 이미지 데이터를 사용하는 것을 원하는 지 여부를 스스로 결정할 수 있습니다.

리저브(reserves)를 제공

네트워크에 일시적인 성능 변동이 있는 경우에 전송 오류를 방지하기 위해, 어떠한 경우에도 리저브를 제공해야 합니다. 사용 가능한 대역폭을 분배할 때 카메라에서 사용하지 않는 약 10%의 리저브를 계획하세요.

사용된 네트워크 카드 설정에 대한 주의 사항

  • 네트워크 카드 설정에서 수신 설명자(Receive Descriptors)를 최대 값으로 설정하는 것을 권장합니다.
  • 또한 네트워크 카드의 설정에서 점보 프레임 (또한: 점보 패킷, 라지 패킷, 라지 프레임) 을 최대 값으로 조정하는 것을 권장합니다.
    카메라와 PC 간의 연결은 점보 패킷의 전송을 보장하기 위해 끝까지 점보 가능(jumbo-capable)해야 합니다. 이러한 설정에 대한 추가 정보는, 네트워크 카드 제조업체의 설명을 참조하세요.