CLHS IP 코어를 통해 25Gbps 제품을 빠르게 시장에 출시할 수 있습니다.

블로그

홈페이지홈페이지 / 블로그 / CLHS IP 코어를 통해 25Gbps 제품을 빠르게 시장에 출시할 수 있습니다.

Mar 10, 2023

CLHS IP 코어를 통해 25Gbps 제품을 빠르게 시장에 출시할 수 있습니다.

충돌 테스트 애플리케이션은 다음의 25G 광섬유 인터페이스를 활용할 수 있습니다.

충돌 테스트 애플리케이션은 CLHS(Camera Link HS)의 25G 광섬유 인터페이스를 활용할 수 있습니다. 이미지는 Excelitas PCO 카메라로 캡처됩니다. | 이미지 제공: Excelitas PCO GmbH

CLHS X 프로토콜 25Gbps IP 코어는 시중의 모든 10Gbps CLHS 제품에서 볼 수 있는 것과 동일한 IP 코어이며 2012년 CLHS 사양이 처음 출시된 이후 A3부터 사용할 수 있습니다. 이 입증된 코어는 비디오, 양방향 트리거, 카메라 명령, 양방향 GPIO 및 CLHS 개정 메시지에 대한 병렬 인터페이스를 사용합니다. CLHS 사양에 나열된 모든 우선 순위 인코딩 요구 사항을 수행하는 코어는 CLHS 제품 개발을 단순화합니다. 관련 PCS 모듈은 오류 없는 전송을 보장하고 간단한 64:1 직렬 변환기/직렬 변환기를 제공하는 FPGA 트랜시버와 함께 코어를 사용할 수 있도록 순방향 오류 수정 기능을 갖춘 64/66b 인코딩을 수행합니다. 다른 IP는 필요하지 않습니다.

CLHS 사양 1.2는 최근 QSFP28, SFP28 및 MPO 커넥터와 함께 25Gbps 속도를 도입했습니다. 좋은 소식은 25Gbps 광 엔진이 CLHS 검색이 발생하는 10Gbps 광 엔진과 역호환된다는 것입니다. CLHS는 안전 장치 협상 프로세스를 사용하여 25Gbps로 전환합니다. 몇몇 개발자는 이미 입증된 10Gbps 하드웨어를 사용하여 25Gbps 제품을 디버깅하는 25Gbps 시스템을 개발했습니다. 위원회는 동일한 IP 코어를 사용하여 50Gbps를 달성하여 미래 속도로 쉽게 전환할 수 있다는 개념 증명을 보유하고 있습니다.

이 문서에서는 초당 950프레임으로 실행되는 12비트 출력을 갖춘 2048H x 1024V 픽셀의 흑백 이미지 센서가 포함된 카메라용 FPGA에서 CLHS 25Gbps 솔루션을 생성하는 단계를 설명합니다. 처리를 위해 이 2.99GB/초 데이터를 호스트로 보내는 것이 바람직합니다. 2.99GB/초는 25G에서 단일 CLHS 레인의 3GB/s 기능 내에 있습니다. SFP28 솔루션이 선택되었습니다.

A3에서 1000달러에 구입한 개방형 VHDL 코어(Camera Link HS Standard: The High-Speed ​​Interface for the Future of Imaging and Machine Vision(automate.org))에는 CLHS 카메라 및 프레임 그래버 모듈과 CLHS PCS가 포함되어 있습니다. 아래 그림과 같은 시스템.

이미지 출처: Teledyne DALSA

코어는 특정 공급업체에 국한되지 않으며 AMD(Xilinx), Intel(Altera) 및 MicroChip(PolarFire) FPGA에서 구현되었습니다. 개발자는 트랜시버 기능, 클록 분배 및 코어에 메시지를 공급/가져오는 로직을 구성해야 합니다. 아래 그림은 IP 코어의 펄스(트리거), GPIO, 비디오 데이터, 명령 및 개정의 가상 메시지 채널을 보여줍니다. 트랜시버 구성 및 클럭 분배는 코어 사용자가 구성합니다. 모든 패킷 구축, 인코딩 및 우선순위 규칙은 CLHS 코어에서 처리됩니다. 검색 중에 프레임 그래버는 카메라의 필수 레지스터를 읽고 25Gbps 작업으로 전송을 시작하기로 결정합니다. 이를 위해서는 트랜시버를 재구성하고 관련 PLL을 재설정해야 합니다.

이미지 출처: Teledyne DALSA

코어는 사용하기 쉬운 병렬 인터페이스를 제공합니다. 예를 들어 병렬 인터페이스에서 원하는 펄스 모드와 관련 바이트를 설정하여 펄스 메시지를 보낸 다음 보내기 요청 입력 핀에 1 클록 폭의 펄스를 적용합니다. 그런 다음 펄스 메시지는 링크를 통해 전송되며, 여기서 CLHS 수신기는 메시지 유형을 디코딩하고 1시계 폭의 PulseMsgValidStrobe 펄스를 사용하여 사용자 시스템에 병렬 데이터 가용성을 알립니다. GPIO 및 개정 메시지는 동일한 방법론을 사용합니다. 비디오 및 명령 패킷의 크기는 각각 최대 8k 및 1k 바이트일 수 있습니다. 사용자는 쓰기 활성화 펄스를 사용하여 각각 64비트 또는 32비트 데이터를 CLHS 버퍼에 쓰고, 패킷 데이터 쓰기를 마치고 병렬 헤더 바이트 내용을 설정하면 메시지에 대해 1시계 폭의 전송 요청을 발행합니다. IP 코어가 메시지를 링크로 보내도록 하는 포트입니다. 수신기에서 들어오는 패킷은 디코딩되어 비디오 또는 명령 수신 버퍼에 올바르게 저장되고 VidMsgValidStrobe와 같은 1시계 폭의 펄스를 표시하여 버퍼를 읽을 준비가 되었음을 알립니다.