FPGA pure Verilog는 엔지니어링 소스 코드 및 기술 지원을 통해 CameraLink 비디오 수신 및 전송을 실현합니다.

1. 소개

현재 CameraLink 비디오 코덱을 구현하는 FPGA에는 두 가지 방식이 있습니다:
하나는 일반적인 DS90CR287과 같은 전용 코덱 칩을 사용하는 것이고, 다른 하나는 코덱을 구현하기 위해 FPGA를 사용하고, 역직렬화를 달성하기 위해 FPGA serdes 리소스를 사용하는 것입니다. 및 serdes 리소스가 불필요하며, 연산이 어렵고 높은 수준의 FPGA가 요구되는 단점이 있습니다.

이 기사에서는 CameraLink 비디오 수신 및 전송을 실현하기 위한 FPGA 순수 Verilog의 구현 설계 체계를 자세히 설명합니다. 목적은 CameraLink 디코딩 모듈 및 인코딩 모듈의 정확성을 확인하는 것입니다. 프로젝트에 CameraLink 카메라가 없기 때문에 아이디어는 이것입니다. , 그러나 키는 CameraLink 디코딩 모듈과 인코딩 모듈을 확인해야 하므로 독창적인 디자인을 만들었습니다.
먼저 HDMI 입력 비디오를 수집하고 HDMI 디코딩 모듈에서 RGB 데이터로 분해한 다음 CameraLink 인코딩 모듈로 보내면 나오는 내용입니다. CameraLink의 LVDS 차동 비디오 신호이며 이 신호는 CameraLink 비디오 출력 인터페이스를 통해 CameraLink 비디오 입력 인터페이스로 루프백되므로 FPGA는 CameraLink의 LVDS 차동 비디오 신호를 수신한 다음 이 신호를 CameraLink 디코딩 모듈로 보냅니다. RGB 비디오로 디코딩하고 최종적으로 HDMI 인코딩 모듈을 통해 디스플레이에 출력합니다.;이렇게 입출력이 모두 HDMI 비디오인데 CameraLink 디코딩 모듈과 인코딩 모듈이 동시에 검증되지만 출력 효과는 모니터를 통해 육안으로 확인할 수 있는데, 굉장히 섬세한 솔루션이라고 할 수 있는데요, 하하. . .

엔지니어링 코드가 컴파일되고 통과된 후 보드에서 디버그 및 검증될 수 있으며 프로젝트를 직접 이식할 수 있습니다.학생들이 졸업 디자인, 대학원 프로젝트 개발 및 현직 엔지니어에게 적합합니다. 프로젝트 개발을 위해 의료, 군사 및 기타 산업의 디지털 이미징 및 이미지에 적용할 수 있습니다.전송 분야에서
완전하고 원활한 프로젝트 소스 코드 및 기술 지원을 제공하며
프로젝트 소스 코드 및 기술 지원을 얻는 방법은 다음과 같습니다. 기사의 끝 부분에서 인내심을 가지고 끝까지 읽으십시오.

2. CameraLink 프로토콜의 기초


이 부분 에 관해서 인터넷의 많은 블로거 들이 설명했습니다.형제들에게 이론적 지식을 배우기 위해 추천하는 몇 가지 기사를 찾았습니다 .

3. 현재 CameraLink 트랜시버 프로젝트가 있습니다.

내 CameraLink 비디오 컬럼에는 CaeraLink 수신, CaeraLink 전송, CaeraLink 일반 출력 디스플레이 및 CaeraLink 비디오 스플라이싱 출력 등을 포함하여 FPGA용 CaeraLink 비디오 코덱 솔루션이 많이 있습니다. 컬럼 링크는 다음과 같습니다. 보기에 오신 것을 환영합니다: 직접 이동하려면 클릭하세요 .

4. 디자인 계획

세부 설계 방식은 다음과 같습니다:
여기에 이미지 설명 삽입
이 방식은 CameraLink 카메라가 필요하지 않지만 보드에 CameraLink 카메라 인터페이스가 있거나 CameraLink 카메라 인터페이스가 있는 별도의 어댑터 보드가 필요합니다.구체적인 프로세스는 다음과 같습니다. 비디오 입력을 시뮬레이트하는 랩탑
,
랩탑 해상도는 1280x720@60Hz로 설정,
HDMI 디코딩 모듈:
입력은 TMDS 차동 비디오 신호, 즉 HDMI 비디오 신호이며 병렬 RGB 데이터, 즉 표준 VGA 비디오 타이밍을 출력합니다. CameraLink 인코딩 모듈의 입력으로 사용 CameraLink
인코딩 모듈:
입력은 RGB 비디오 데이터, 출력은 CameraLink의 LVDS 차동 비디오 신호, 이 신호는 CameraLink 비디오 인터페이스를 통해 출력 CameraLink 비디오 인터페이스:
표준 SDR26 커넥터, 총 2개 CameraLink 인코딩
모듈:
입력은 CameraLink의 LVDS 차동 비디오 신호이고 출력은 병렬 RGB 데이터, 즉 표준 VGA 비디오 타이밍입니다. HDMI 인코딩 모듈의 입력 HDMI 인코딩 모듈: 입력은 RGB 비디오이고 출력은
TMDS
차동 비디오, 출력 HDMI 모니터 디스플레이입니다.

5. CameraLink 디코딩 모듈 상세설명

CameraLink 디코딩 모듈의 설계 블록 다이어그램은 다음과 같습니다:
여기에 이미지 설명 삽입
CameraLink 디코딩 모듈의 입력 신호는 다음과 같습니다:
차동 클록 1개 채널, 차동 데이터 4개 채널, Xilinx 공식 IDELAY 및 ISERDES 소스 언어를 사용하여 serial-to를 실현합니다. -병렬 변환,
IDELAY 소스 언어는 지연에 사용되므로 FPGA 샘플링 중 CameraLink 비디오 데이터가 안정적이며
ISERDES 소스 언어의 기능은 CameraLink 비디오 데이터의 직렬-병렬 변환을 실현하는 것입니다.
전체 CameraLink 디코딩 모듈은 설계 블록 다이어그램에 따라 엄격하게 구현되며 주로 소스 언어를 호출하므로 말할 것이 없습니다. 자세한 내용은 코드를 참조하세요. 코드의 양이 매우 적습니다.
CameraLink 디코딩 모듈의 매개 변수는 다음과 같이 구성됩니다.
여기에 이미지 설명 삽입
이 두 매개변수는 CameraLink 카메라의 다양한 모드에 맞게 자유롭게 구성할 수 있으며, 구체적인 구성은 다음과 같습니다:
여기에 이미지 설명 삽입
현재 구성된 모드는 기본 모드에 적합합니다.

6. CameraLink 인코딩 모듈 상세설명

CameraLink 인코딩 모듈의 설계 블록 다이어그램은 다음과 같습니다:
여기에 이미지 설명 삽입
CameraLink 인코딩 모듈은 디코딩의 역 과정이며 입력 신호는 다음과 같습니다:
단방향 단일 종단 클록, 병렬 픽셀 데이터, Xilinx 공식 OSERDES 소스 언어 사용 병렬-직렬 변환 실현,
인코딩으로 IDELAY 소스 언어 지연 필요 없음,
OSERDES 소스 언어의 기능은 CameraLink 비디오 데이터의 병렬-직렬 변환 실현,
전체 CameraLink 인코딩 모듈은 엄격하게 구현됨 디자인 블록 다이어그램에 따르면 주로 소스 언어를 호출하므로 말할 것이 없으므로 코드를 구체적으로 살펴보면 코드 양이 매우 많습니다 Less; CameraLink 인코딩 모듈 매개 변수 구성은 다음과 같습니다. 이 두 매개 변수는 다음과
같습니다
여기에 이미지 설명 삽입
. CameraLink 카메라의 다양한 모드에 적응하도록 자유롭게 구성 특정 구성은 다음과 같습니다:
여기에 이미지 설명 삽입
현재 구성된 모드는 기본 모드에 적합합니다.

7. vivado 프로젝트에 대한 자세한 설명

개발 보드 FPGA 모델: xc7k325tffg676-2,
개발 환경: vivado2019.1,
입력: CameraLink 인코딩 모듈의 입력인 HDMI,
출력: 기본적으로 CameraLink 디코딩 모듈의 출력인 HDMI,

Bolck Design의 설계는 다음과 같습니다.
여기에 이미지 설명 삽입
통합 엔지니어링 코드 구조는 다음과 같습니다.
여기에 이미지 설명 삽입
종합적인 컴파일 후 예상되는 FPGA 리소스 소비 및 전력 소비는 다음과 같습니다.
여기에 이미지 설명 삽입

8. 보드 디버깅 및 검증

CamerLink 어댑터 보드는 국가를 떠나는 것이 불편하기 때문에 FPGA 보드와 해당 CamerLink 어댑터 보드 인터페이스만 다음과 같이 표시됩니다. 출력
여기에 이미지 설명 삽입
효과는 다음과 같습니다.
여기에 이미지 설명 삽입

9. 복리후생 : 공학코드 습득

이점 : 엔지니어링 코드 얻기
코드가 너무 커서 이메일로 보낼 수 없으며 특정 네트워크 디스크에 대한 링크로 전송됩니다
데이터 수집 방법 1: 개인 또는 기사 끝에 있는 V 명함.
네트워크 디스크 정보는 다음과 같습니다.
여기에 이미지 설명 삽입

추천

출처blog.csdn.net/qq_41667729/article/details/130813422