FPGA - 프로세서 그리고 데이터의 이동/JESD204

1. JESD204B의 시작

망고토마토 2022. 4. 1. 10:28
반응형

JESD204 통신의 필요성

 

JESD204는 ADC가 출력한 데이터 또는 DAC에 입력할 데이터를 FPGA가 손실없이 받거나 또는 보낼 때 이용하는 통신 방식이다. JESD204는 JEDEC이 Data converter(ADC or DAC ...)를 위해서 만든 serial interface이다.

 

jesd204b를 접하게 된 계기는 회사에서 2채널 ADC를 FPGA에 연결한는 업무를 받았을 때였다.

 

기존의 ADC 칩(~250MHz Sampling rate)과  FPGA는 LVDS라인으로 연결되어 있었다. 또한 비트마다 LVDS lane 1개를 FPGA에 연결했어야 했다. 그림 1처럼..

ADC가 14비트 data converter라면, ADC와 FPGA는 LVDS lane이 14개가 연결되어 있다. 즉 비트마다 lane이 배정되어 있어 ADC는 데이터를 parallel 형태로 FPGA에 전달하고 있다. 위의 그림에서 FPGA는 Sampling rate의 한 주기 안에 13번째 bit부터  0번째 bit를 받아야만 한다. 하지만 Sampling rate가 높아질 수록, 한 주기 안에 13번째 bit부터 0번째 비트를 동시에 받기 힘들어진다. 왜냐하면 ADC에서 FPGA로 연결된 PCB line의 길이가 한치의 오차없이 완전하게 똑같지 않기 때문이다. 비트마다 연결된 PCB line의 길이를 똑같이 설계했을지라도 PCB, SMT 공정의 정밀도에 따라 실제로는 PCB line의 길이가 완전히 똑같지 않다.그래서  sampling rate가 낮을 때에는 비트마다 연결된 PCB line의 길이들의 차이가 크게 문제가 안된다. 그림 2처럼..

 위의 경우 FPGA에 도착한 비트의 도착시간이 살짝 차이가 있어도, 비트를 읽는 클럭의 한 주기 내에 들어오므로(클럭의 엣지 기준으로는 똑같이 읽혀짐) 문제가 없다.  

하지만 sampling rate가 높을 때에는 비트들의 도착시간 차이가 클럭의 한 주기에 못들어오는 경우가 생길 수 있음. 

따라서 비트마다 LVDS lane을 배정하여 FPGA와 연결하는 형태의 ADC는 약 250MHz Sampling rate까지만 지원하는 경우가 대부분이다. 

 

그 이상의 Sampling rate를 지원하는 ADC는 어떻게 FPGA와 연결해서 데이터를 보낼까? 바로 JESD204라는 통신방식을 이용하여 보낸다. 

 

비트마다 LVDS lane이 필요한 방법의 경우 14비트 ADC라면, 28개의 LVDS lane이 필요함.  하지만 JESD 통신을 사용하는 ADC의 경우 훨씬 적은 LVDS lane이 필요함.

다음은 JESD204 통신을 지원하는 ADC와 이와 연결된 FPGA의 구성도이다.

JESD204를 지원하는 ADC의 데이터 시트를 참고하여 그렸다.

 

14비트 ADC인데

FPGA와는 2개의 LVDS lane으로 연결되어 있다. 비트마다 lane을 배정했던 방식보다 훨씬 적게 연결할 수 있다. 특이점으로는 JESD20B TX 모듈과 JESD204B RX 모듈이 추가되어 있는점이다. 샘플링된 데이터를 JESD204B 모듈이 고속 시리얼 형태의 데이터로 변환하여 송신하기 때문에 2개의 LVDS lane으로 전송이 가능하다. 비트마다 lane을 배정했던 방식은 parallel하게 데이터를 보내기에 비트마다 lane을 배정했어야 했다. 하지만 JESD는 고속으로 serial 형태로 데이터를 보내므로 lane을 적게 배정하는 것이 가능하다. 

 

JESD204에 대한 내용을 다음과 같이 정리한다.

 

- JESD204 데이터 전송 속도 - 2

- JESD204 구현에 필요한 하드웨어 -3  

- JESD204 내부 데이터전송과정

- JESD204 Deterministic latency - sysref sync 신호

- JESD204에 필요한 클럭 

반응형