UDP Start of Frame 또는 End frame 처리 방법에 대하여 조언 부탁드립니다.
안녕하세요.
저는 현재 GiGE Camera를 구현중에 있습니다.
Zynq 칩을 쓰고 Lwip를 이용하여 Standalone(NONOS)에서 UDP를 통해 PC로 전송 하는것 까지
완료 된 상태 입니다. 프레임도 초당 20프레임정도로 속도를 올린 상태 입니다만.
이제 문제는 Frame Sync처리 인데.. 관련 자료를 찾아봐도 잘 없는것 같아 조언 구하고자 글을 남깁니다.
현재 제가 사용하는 VDMA의 Framebuffer 1프레임은 1280*1024*2 사이즈이고 이 사이즈를 1450으로 나누어서 PC로 전달 하고 있습니다.
PC에서는 Winsock2의 recvfrom함수를 사용하고 있습니다.
1 프레임정도씩 가져올떄는 어느정도 Frame이 Sync를 맞추고 있는 상태 입니다.
이것은 제가 1280*1024*2 사이즈를 1450으로 나눈 카운트 만큼만 받아서 처리하고 있기 떄문입니다.
(1807번 정도 받은 상태에서는 뿌려주고 더이상 처리를 하지 않습니다).
제일 큰 문제는 Preview일떄 입니다. camera에서 PC쪽으로 UDP 로 무한정 계속해서 frame data가 들어 올떄
영상 순서가 뒤죽박죽 처리 되고 있는상태 입니다만
개인적인 생각으로는 첫 스타트지점을 마킹하고 마지막지점을 마킹한 상태에서 처리 하면 될것 같다는 생각입니다만..
네트웍프로그래밍은 처음 인지라 조언을 구하고자 합니다.
Lwip에서의 UDP 패킷에 Start of frame? 또는 End frame을 마킹하는 방법과
Winsock2 에서의 처리 방법에 대해 문의 드립니다.
감사합니다.
댓글 달기