Logger Script

지식

GigE vision®으로 Real-time system을 구성하는 법

 

 

Q : Film inspection review 용으로 1.4M, 60 frame rate의 카메라가 필요합니다. Real-time system을 생각하고 있는데 지원되는 어떤 모델이 있나요?

A : 1.4M가 지원되는 모델로는 Genie-GigE vision®과 Falcon-Camera Link 두 제품이 있습니다. 60 frame rate라면 두 제품 모두 지원 가능하며 더 자세한 spec을 고려해봐야 할 것 같습니다.

 

Q : Genie는 GigE vision® interface 아닌가요? 그런데 real-time system이 가능한가요?

A : Frame grabber를 사용해야 하는 Camera Link 제품은 DMA(Direct Memory Access)가 실행되어 데이터가 CPU를 거치지 않고 바로 적용되기 때문에 latency나 jitter가 최소화 될 수 있습니다. 이러한 특성 때문에 Frame grabber를 사용해야만 real-time이 가능하다고 생각하시는 경우가 많죠. 하지만, 머더보드의 PCI express 성능에 많은 영향을 받게 됩니다. 따라서 이런 영향을 받지 않는 GigE vision® interface를 이용하는 것이 좋은 대안이 될 수 있습니다.

 

Q : 그래서 real-time system이 가능하다는 건가요?

A : 결론적으로 GigE 제품도 높은 사양의 PC와 network 구성을 전제로 real-time system이 가능합니다. 만약 real-time system을 굉장히 빠른 acquisition rate를 의미한다기 보다 필요로 할 때 즉각 데이터를 취할 수 있으면 됩니다.

 

 

Jitter특성 실험을 통한 Real-time system 구성을 위한 Jitter 특성 비교

Test Condition

- 실험결과치는 CPU의 점유율은 90% 이상을 유지하여 1시간 동안 측정한 값입니다.

- 실험 조건은 아래 표와 같이 Camera Link system과 GigE Vision system을 동일하게 설정하였습니다.

 

 

 

 

실험결과

 

 

 

 

오실로스코프 측정값의 노란색 선은 최악의 jitter 값을 나타냅니다. 파란색의 많은 점은 일반적인 jitter area입니다. 실험 결과를 보면, frame grabber를 이용한 CAmera Link와 GigE vision® 간의 jitter 수치 차이가 크지 않습니다. 실험을 통하여 아래와 같은 결과를 알 수 있었습니다.

1. Frame grabber를 이용하는 것이 낮은 jitter 특성이 있는 것이 당연해 보이지만 네트워크 연결을 이용하는 GigE vision® device의 Latency 차이가 최대 1.5ms에 불과합니다.

2. CPU가 최대로 사용되고 있을 때 worst case의 jitter 값은 실험상으로 2.7ms입니다. 이 수치는 단일 이미지의 전송시간이 10ms 이상인 머신비전 시스템에서 허용가능한 수준입니다.

 

 

GigE vision® Real-time system 구성 Tip

 

● Jumbo packet을 사용할 것

Standard packet의 전송단위가 1,500 byte이고 jumbo packet의 전송단위는 8,000 byte 입니다. 따라서, jumbo packet을 사용하면 CPU의 사용을 급격히 감소시켜 latency 특성을 좋게합니다. (단, jitter 특성과 좋은 Trade-off가 될 수 있습니다.)

 

● 높은 사양의 PC, CPU, network card를 사용할 것

Image buffer로 데이터를 전달하는 역할을 frame grabber 대신 CPU가 수행하며, 이런 역할을 하는 CPU는 Intel i7 CPU family가 적합합니다. Intel Pro 1000 network card family는 1 giga-bit wire-speed를 지원하는 가격 대비 우수한 LAN 카드입니다.

 

● 멀티 카메라 시스템에서 한 개의 LAN 카드에 하나의 카메라만 사용할 것

Network bandwidth 할당을 줄여 network latency를 최소화 시키거나 일정하게 유지할 수 있습니다.

 

● Ethernet switch를 사용할 때에는 Camera acquisition bandwidth에 대응하여 충분한 buffer를 가지는 것으로 사용하고 Ethernet Hub는 사용하지 말 것

 

● Camera acquisition speed보다 높은 speed의 network를 구성할 것

 

● HW trigger를 사용할 것

Camera configuration channel을 통해 Software를 이용하여 trigger command를 보내는 경우 OS, CPU Iatency가 수백 us ~ 수 ms까지 발생합니다. 이는 Real-time OS가 아닌 windows OS를 사용하기 때문입니다. 또한, Network Iatency 역시 100 ~ 500us 가 증가합니다. (이와 달리 Camera Link는 frame grabber에서 SW trigger를 카메라 링크의 컨트롤 라인 상에서 전기신호로 바꾸어 주기 때문에 latency가 완벽히 제거됩니다.)

 

 

유튜브와 블로그에서 더 많은 자료를 보실 수 있습니다.

 

 

배너를 클릭하면 해당 페이지로 이동합니다.