멀티 기가비트 트랜시버

Multi-gigabit transceiver

Multi-Gigabit Transceiver(MGT; 멀티기가비트 트랜시버)는 1기가비트/초를 넘는 시리얼비트 레이트로 동작할 수 있는SerDes입니다MGT는 데이터 통신에 점점 더 많이 사용됩니다.이는 MGT가 장거리 주행이 가능하고 와이어 수가 적기 때문에 데이터 처리량이 동등한 병렬 인터페이스보다 비용이 낮기 때문입니다.

기능들

다른 SerDes와 마찬가지로 MGT의 주요 기능은 병렬 데이터를 직렬 비트의 스트림으로 전송하고 수신한 직렬 비트를 병렬 데이터로 변환하는 것입니다.MGT의 가장 기본적인 퍼포먼스메트릭은 시리얼비트레이트(회선레이트)로, 1초에 송수신할 수 있는 시리얼비트 수입니다.엄격한 규칙은 없지만 MGT는 일반적으로 1기가비트/초 이상의 회선 레이트로 실행할 수 있습니다.MGT는 높은 입력/출력 원시 데이터(예: 비디오 처리 애플리케이션)를 필요로 하는 데이터 처리 시스템의 '데이터 고속도로'가 되었습니다.병렬 데이터 처리 알고리즘에 특히 적합한 프로그래밍 가능한 논리 소자 등 FPGA에서 매우 보편화되고 있습니다.

MGT는 시리얼화 및 시리얼화 해제 외에도 많은 추가 기술을 도입하여 높은 라인 레이트로 운용할 수 있도록 해야 합니다.그 중 몇 가지는 다음과 같습니다.

테크놀로지 기능.
차동 시그널링 MGT는 차분 시그널링을 사용하여 시리얼 데이터를 송수신합니다.차동 시그널링을 사용하면 1에서0 또는 0에서1로 전환하는 데 필요한 신호 수준의 변화가 절반으로 줄어들기 때문에 스위칭이 고속화됩니다.또한 각 차동쌍의 2개 라인 간의 스큐가 최소화되는 한 차동신호는 Electronagnetic Interference(EMI; 전자기 간섭), 크로스톡 및 노이즈에 대한 내성을 높입니다.
MOS 전류 모드 로직(MCML) MCML은 바이폴라 트랜지스터 대신 MOSFET를 사용하여 구현되는 전류 모드 로직을 말합니다.MCML은 차동 증폭기를 사용하여 저전압을 사용하여 고속으로 데이터를 수신합니다.
강조 라인 레이트가 높을 경우 시리얼 데이터를 전송하는 라인은 로우패스필터처럼 동작하는 경향이 있습니다.이로 인해 시리얼 데이터의 고주파 컴포넌트가 저주파 컴포넌트보다 더 빨리 전력이 손실되어 신호가 왜곡되어 ISI(Intersymbol Interference)가 발생합니다.이 문제를 해결하는 한 가지 방법은 Preemphasis 또는 Deemphasis를 사용하여 전송된 신호를 형상화하여 예상되는 손실을 보상하는 것입니다.
수신균등화 강조의 대안으로 Equalization이 있습니다.이 경우 수신 신호의 스펙트럼의 고주파 부분이 저주파 부분보다 증폭되어 라인의 로우패스 동작을 보상합니다.
종단 임피던스 매칭 라인 레이트가 높을 경우 시리얼 데이터를 전송하는 데 사용되는 와이어는 전송선의 많은 속성을 가집니다.송신기 및 수신기의 MGT 임피던스가 회선의 임피던스와 일치하지 않을 경우 회선상의 신호가 왜곡될 수 있다는 것이 중요한 특성 중 하나입니다.이를 방지하기 위해 MGT는 일반적으로 가능한 한 가깝게 접속하는 와이어의 임피던스와 일치하도록 설계되어 있습니다.일반적으로 사용되는 임피던스 값은 100Ω(각 와이어의 약 50Ω 싱글 엔드 임피던스와 다름)입니다.
Phase-Locked Loop(PLL; 위상 잠금 루프) 고속으로 데이터를 시리얼화하려면 시리얼 클럭환율이 병렬데이터 클럭의 정확한 배수가 되어야 합니다.대부분의 MGT는 PLL을 사용하여 원하는 병렬환율로 동작하는 기준 클락을 필요한 시리얼환율에 곱합니다.
클럭 데이터 리커버리(CDR) 시리얼 데이터가 수신되면 MGT는 데이터를 시리얼화한 것과 같은 시리얼 클럭을 사용하여 데이터를 시리얼 해제해야 합니다.회선 레이트가 높을 경우 데이터선과 클럭선의 길이가 조금만 차이가 나더라도 클럭 스큐가 크게 발생할 수 있기 때문에 시리얼 클럭에 별도의 와이어를 설치하는 것은 매우 비현실적입니다.대신 MGT는 데이터 내의 트랜지션을 사용하여 로컬시리얼 클럭의 레이트를 조정하고 다른 MGT에서 사용되는 레이트로 잠깁니다.CDR을 사용하는 시스템은 CDR 이외의 시스템보다 훨씬 먼 거리에서 동작할 수 있습니다.
부호화/복호화 MGT 간에 연속적으로 전송되는 데이터 패턴은 MGT의 성능에 영향을 줄 수 있습니다.
  • 데이터의 이행이 너무 적으면 수신측 MGT는 CDR을 사용할 수 없게 됩니다.
  • 데이터가 너무 반복되면 회선이 높은 속도로 강한 필드를 생성하여 EMI를 발생시킵니다.
  • 데이터에 0보다 1s가 너무 많거나 그 반대일 경우 회선상의 캐패시턴스 충전 및 방전에 의해 AC 커플링된 MGT에서 데이터 의존 지터가 발생합니다.

대부분의 MGT용 통신 프로토콜은 이러한 문제를 피하기 위해 데이터 인코딩 시스템을 사용합니다.

부호화의 또 다른 장점은 데이터와 함께 제어 정보를 전송할 수 있다는 것입니다.이는 오류 감지, 정렬, 클럭 보정 및 채널 본딩과 같은 기능에 중요합니다.

일반적인 인코딩은 다음과 같습니다.

  • 8b/10b: 각 옥텟의 데이터를 10비트 시퀀스에 매핑
  • 64b/66b: 데이터를 64비트 세트로 그룹화하여 스크램블한 후 2비트 헤더를 프리픽스 합니다.
  • 64b/67b: 64b/66b와 비슷하지만 대신 3비트 헤더가 사용됩니다.추가 비트는 64비트의 반전 여부를 나타내며, MGT가 전송되는 0과 1의 수를 대략적으로 조정할 수 있도록 합니다.
  • SONET/SDH: 부호화가 아닌 데이터를 고정 크기 블록으로 그룹화하여 스크램블하고 얼라인먼트 문자를 포함한 프레임을 추가하는 관련 표준 그룹
에러 검출 대부분의 시스템에서는 어떤 형태의 오류 검출이 필요합니다.MGT에서 가장 일반적인 오류 검출 형식은 다음과 같습니다.
  • 부호화 베이스의 에러 검출: 대부분의 부호화에서는, 일련의 합법적 문자와 문자의 합법적 시퀀스가 정의됩니다.MGT 는, 사용되고 있는 부호화에 부정한 데이터를 검색하는 것으로, 에러를 검출할 수 있습니다.
  • Cyclic Redundancy Check(CRC; 순회용장검사): CRC를 사용하려면 데이터를 프레임(또는 패킷)으로 분할하고 각 프레임에 CRC 함수를 적용합니다.이 함수의 결과는 전송될 때 프레임에 추가됩니다. 수신기는 수신한 데이터에 대해 동일한 함수를 재계산하고 이를 송신기로부터의 결과와 비교하여 프레임의 데이터(또는 송신기의 CRC 결과)가 전송 중에 손상되었는지 여부를 판단할 수 있습니다.
얼라인먼트 MGT는 시리얼 데이터를 수신할 때 데이터를 병렬 비트로 표시하기 전에 데이터의 바이트 경계를 결정해야 합니다.이 기능은 일반적으로 정렬 블록에 의해 수행됩니다.정렬에 사용되는 정확한 방법은 데이터에 사용되는 인코딩 유형에 따라 달라집니다.
  • 콤마 얼라인먼트(8b/10b):수신측은 착신 시리얼 스트림에서 콤마(8b/10b 컨트롤 문자, 다른 문자를 연결하여 작성할 수 없음)를 검색합니다.콤마를 찾으면는 콤마 경계를 바이트 경계에 맞추어 후속 데이터가 모두 정렬되도록 합니다.
  • 블록 동기(64b/66b 및 64b/67b): 수신기는 64비트 블록별로 2비트(또는 64b/67b의 경우 3비트) 헤더를 검색합니다.
  • A1/A2 얼라인먼트(SONET/SDH): SONET 프레임에는 헤더와 스크램블페이로드가 포함되어 있습니다.SONET 데이터를 수신하는 MGT는 헤더 내의 정렬 문자(A1 및 A2)와 반복되는 일치를 검색하여 바이트 경계를 결정합니다.
클럭 보정 기준 클럭 소스 간에는 명목상 동일한 주파수라도 항상 작은 주파수 차이(일반적으로 ~+/-100ppm)가 있습니다.그 결과, 각 MGT가 독자적인 기준 클럭을 사용하는 시스템에서는, MGT 마다 송신 데이터 패스(TX)와 수신 데이터 패스(RX)에 대해서 약간 다른 주파수가 사용됩니다.

많은 프로토콜은 클럭 보정을 사용하여 크로킹을 단순화합니다.클럭 보정에 있어서, 각 MGT는 비동기 FIFO를 포함한다.RX 데이터는 CDR에서 시리얼 클럭을 사용하여 FIFO에 쓰이고 시스템의 다른 부분(로컬클럭)에서 병렬 클럭을 사용하여 FIFO에서 읽힙니다.일반적으로 TX에서 사용된 병렬 클럭과 동일합니다.

CDR 클럭과 로컬클럭은 완전히 동일하지 않기 때문에 수정하지 않으면 FIFO는 최종적으로 오버플로우 또는 언더플로우가 됩니다.수정을 가능하게 하기 위해서, 각 MGT 는, 필요에 따라서 FIFO 로 리시버가 삭제 또는 복제할 수 있는 1 개 이상의 특수 문자를 정기적으로 송신합니다.FIFO가 너무 꽉 차면 문자를 삭제하고 FIFO가 너무 비어 있으면 문자를 복제함으로써 수신기는 오버플로/언더플로우를 방지할 수 있습니다.이러한 특수문자는 일반적으로 SKIP로 알려져 있습니다.

채널 본딩 많은 프로토콜이 여러 MGT 연결을 결합하여 하나의 높은 처리량 채널(예: XAUI, PCI Express)을 만듭니다.각 시리얼 접속의 길이가 완전히 동일하지 않는 한, 레인간의 스큐에 의해서, 동시에 송신되는 데이터가 다른 시각에 착신하는 일이 있습니다.

채널 본딩을 통해 MGT는 여러 연결 간의 스큐를 보정할 수 있습니다.MGT는 모두 채널 본딩 문자(또는 문자 시퀀스)를 동시에 전송합니다.시퀀스가 수신되면, 수신측 MGT 는, 그 사이의 스큐를 판별해, 그 수신 데이터 패스내의 FIFO 의 레이텐시를 조정해 보정할 수 있습니다.

전기적 아이돌/아웃 오브 밴드 시그널링 일부 프로토콜은 지정된 임계값을 초과하는 차동 전압이 없는 경우 메시지를 보냅니다.예를 들어 PCI Express는 전기 아이돌 신호를 사용하여 엔드포인트가 저전력 모드로 전환 및 해제되는 시기를 나타냅니다.마찬가지로 시리얼 ATA는 전원 관리에 COM 신호를 사용합니다.이러한 기능을 서포트하려면 , 시리얼 회선상에서 전기 아이돌/OOB 신호를 생성해 검출할 수 있는 회로를 MGT 에 포함할 필요가 있습니다.

신호 무결성 및 지터

MGT는 회선 레이트가 높기 때문에 신호의 정합성은 매우 중요합니다.특정 고속 링크의 품질은 접속의 Bit Error Ratio(BER; 비트오류비)(수신된 총 비트에 대한 오류 수신 비트의 비율) 및 지터에 의해 특징지어집니다.

BER 및 지터는 MGT 자체, 시리얼 회선, 기준 클럭, 전원 장치, 병렬 데이터를 생성하여 소비하는 디지털시스템 등 MGT 접속 전체의 기능입니다.그 결과, MGT 는, 송신하는 지터의 수(지터 전송/지터 생성)와 BER 가 너무 높아지기 전에 허용되는 지터의 수(지터 톨러런스)에 의해서 측정되는 경우가 많습니다.이러한 측정은 일반적으로 BERT를 사용하여 수행되며 아이 다이어그램을 사용하여 분석됩니다.

기타 고려사항

MGT의 기타 메트릭은 다음과 같습니다.

  • CDR 잠금 손실 전 최대 실행 시간
  • 소비전력
  • 유연성(복수의 회선 레이트, 복수의 부호화 등)
  • 차동 스윙(MGT가 구동할 수 있는 최대 차동 신호)
  • 수신기 감도(MGT가 검출할 수 있는 최소 차동 신호)
  • 공통 모드 제거 비율

MGT를 사용하는 프로토콜

MGT는 다음 직렬 프로토콜 구현에 사용됩니다.

레퍼런스

외부 링크