01signal.com

PMA: 데이터 전송 및 수신

이 페이지는 MGT(Multi-Gigabit Transceiver)를 소개하는 페이지 시리즈 중 다섯 번째입니다. 여러 주제를 살펴보고(FPGA용 프로토콜도 몇 가지 소개했습니다), 이제 PMA가 데이터를 전기 신호로, 그리고 전기 신호를 데이터로 어떻게 바꾸는지 알아볼 차례입니다.

소개

PMA는 MGT에서 물리 채널과 관련된 부분들로 구성됩니다. 특히 직렬화기(serializer)와 역직렬화기(deserializer)가 PMA에 속합니다. 즉, 물리 채널의 비트들을 병렬 워드(parallel word)로, 또는 그 반대로 변환하는 일은 PMA 내부에서 이루어집니다.

PMA는 비트를 전기적 전압으로 변환하는 부분이기도 합니다. 마찬가지로 반대편 MGT가 보낸 전압을 받아서 비트로 변환하는 일도 이 부분의 역할입니다.

PMA의 또 다른 중요한 역할은 두 MGT 사이를 이동하는 동안 발생하는 전압 신호의 왜곡을 보상하는 것입니다.

이 페이지에서는 이러한 기능들을 소개합니다. PMA는 또한 데이터 스트림이 꺼져 있을 때만 의미가 있는 다른 작업들도 담당합니다. 이 주제들은 다음 페이지에서 다룹니다.

아래는 일반적인 MGT의 블록 다이어그램으로, 전체적인 맥락에서 PMA의 위치를 보여 주기 위해 다시 가져왔습니다(이 다이어그램은 앞 페이지와 동일합니다).

Block diagram of typical Multi-Gigabit Transceiver

또한 앞 페이지와 마찬가지로, 데이터를 송신하는 MGT 부분을 가리켜 Tx PMA와 Tx PCS라는 표현을 사용하겠습니다. 데이터를 수신하는 부분도 Rx PMA, Rx PCS라고 부르겠습니다.

대부분의 사용 시나리오에서는 물리 채널이 무엇인지, 신호를 어떻게 왜곡하는지, 왜곡을 어떻게 보정하는지 전혀 이해할 필요가 없다는 점을 알아 두는 것이 중요합니다. 보통 이퀄라이저를 사용하는 것이 좋다는 사실만 알고 있으면 충분합니다.

그렇긴 해도, PMA는 상당 부분 아날로그 구성 요소라는 점을 인지해야 합니다. MGT에는 FPGA 칩에 별도의 전원 공급 핀이 있는 경우가 많습니다. 이 중 일부 핀은 PMA에 전력을 공급하는데, 이 핀들의 전압은 보통보다 더 깨끗해야 하는 경우가 많습니다. 이러한 요구 사항을 지키지 못하면 MGT의 성능이 크게 저하될 수 있습니다.

아래 설명을 위해 5Gb/s 통신 링크를 예로 들어 보겠습니다. 이것은 SuperSpeed USB Gen 1이나 PCIe 2.0 같은 프로토콜이 사용하는 데이터 속도입니다. 또한 PMA와 PCS 사이에서 사용되는 병렬 워드의 폭이 32비트라고 가정하겠습니다. 먼저 물리 채널을 단순화해서 설명하고, 이 페이지 아래쪽에서 몇 가지 세부 사항을 더 다루겠습니다.

데이터 송신

Tx PMA는 병렬 워드를 LSB부터 전송함으로써 전기 신호로 변환합니다. 예를 들어 비트 0이 '1'이면 Tx PMA는 출력 핀을 조정하여 D+와 D- 사이의 전압이 500mV가 되게 합니다. 비트가 '0'이면 이 전압은 -500mV(음전압)가 됩니다.

Tx PMA는 0.2ns를 기다린 다음 병렬 워드의 비트 1에 대해 같은 작업을 수행합니다. 즉, D+와 D- 사이의 전압은 비트 1의 값에 따라 500mV 또는 -500mV가 됩니다. 이렇게 해서 병렬 워드의 각 비트는 0.2ns 동안 출력 핀에 나타납니다. 6.4ns가 지나면 병렬 워드 전체가 전선으로 전송됩니다. 그러면 Tx PMA가 Tx PCS로부터 새 병렬 워드를 받아서 같은 방식으로 전송하기 시작합니다.

Tx PCS에서 Tx PMA로의 병렬 워드 전달은 클록(흔히 XCLK라고 부름)에 동기화됩니다. 이 예에서 이 클록의 주기는 6.4ns이므로 주파수는 156.25MHz입니다. 당연하게도 156.25 × 32 = 5000입니다.

지금까지 설명한 것은 SERDES의 송신부입니다. 이 SERDES 출력에서 각 비트에 할당된 시간은 0.2ns이며, 그 결과 데이터 속도는 5Gb/s가 됩니다.

이 예에서 두 차동 출력 핀 사이의 전압은 500mV였습니다. 이것은 PCIe와 SuperSpeed USB가 허용하는 범위 안입니다. 프로토콜 규격이나 MGT 데이터시트는 보통 이 전압을 차동 피크-투-피크 전압(differential peak-to-peak voltage)으로 표기한다는 점에 유의하십시오. 이것은 차동 전압의 최저값과 최고값 사이의 차이, 즉 이 예에서는 -500mV와 500mV 사이의 차이입니다. 따라서 이 예에서 차동 피크-투-피크 전압은 1000mV입니다. 이 값이 규격서나 데이터시트에 보통 나타나는 숫자입니다.

하지만 신호는 수신기에 도착할 때쯤에는 이미 변해 있습니다. 아래 이미지는 아날로그 신호 파형의 한 예를 보여 줍니다.

Waveform plot of NRZ signal

송신기의 출력(D+와 D- 사이의 전압)은 빨간색으로 표시됩니다. 파란색 파형은 이 신호가 수신기에 도착하는 모습의 한 예입니다. 이 예는 대역폭이 2.5GHz인 단순한 저역 통과 필터를 시뮬레이션한 것입니다.

이 페이지 전체에 걸쳐 데이터 속도 5Gb/s, 차동 전압 500mV인 이 예를 사용하겠습니다. 물론 다른 값도 가능합니다. FPGA MGT는 데이터 전송 속도와 출력 전압을 제어할 수 있습니다.

아이 다이어그램(eye diagram)

위 이미지의 파형들은 수신기에 도착한 신호가 송신기가 만들어 낸 신호와 다르다는 것을 보여 줍니다. 아이 다이어그램(eye diagram)은 수신기에 도착하는 신호를 그래프로 표현한 것입니다. 이 그래프는 여러 파형을 같은 축 위에 겹쳐 그려서 만듭니다. 각 파형은 무작위로 조합된 전송 비트들의 결과입니다. 따라서 그래프에 겹쳐진 파형들은 도착 신호가 가질 수 있는 모든 형태를 나타냅니다.

아래는 위 이미지와 같은 시나리오에 대한 아이 다이어그램입니다.

Eye diagram with low-pass filter with cutoff at half the symbol rate

이 이미지는 왜 이것을 "아이 다이어그램"이라고 부르는지 설명해 줍니다. 가운데 녹색 영역이 눈(eye) 모양을 하고 있습니다.

빨간색 선은 전송된 비트가 '0'인지 '1'인지 판정하기 위해 전압을 측정하기에 가장 좋은 시점을 보여 줍니다. 이 시점에서 전압 차이가 가장 크므로 노이즈에 대한 내성이 가장 좋습니다. 선택된 시점이 0보다 약간 뒤라는 점에 유의하십시오. 앞선 이미지와 비교해 보면, 이 시점에 검출되는 비트는 이미 0.2ns 동안 전송되었으며, 검출 시점은 그보다도 약간 더 늦습니다.

아이 다이어그램은 수신기에 도착하는 신호의 품질을 평가하는 데 널리 사용됩니다. 이 그래프는 신호를 전달하는 물리 매체를 시뮬레이션할 때 자주 만들어집니다. 오실로스코프나 더 전문화된 측정 장비를 이용해 실제 신호를 측정하여 아이 다이어그램을 얻을 수도 있습니다.

데이터 수신

Rx PMA는 전기 신호를 병렬 워드로 변환합니다. Rx PMA는 0.2ns마다 두 입력 핀(D+와 D-) 사이의 전압을 측정합니다. 이 전압이 양수이면 병렬 워드의 비트 0에 '1'을 할당하고, 그렇지 않으면 '0'을 할당합니다. Rx PMA는 비트 1부터 비트 31까지 병렬 워드의 나머지 비트에도 같은 방식으로 값을 할당합니다. 병렬 워드가 완성되면 Rx PMA는 그것을 Rx PCS로 넘겨줍니다. 따라서 Rx PMA는 Tx PMA의 거울상과 같습니다.

그런데 Rx PMA는 입력 핀의 전압을 측정해야 하는 정확한 시점을 어떻게 알까요? 0.2ns마다 한 번씩 측정해야 한다는 것은 알지만, 그 0.2ns 안에서 정확히 언제 측정해야 할까요? Rx PMA는 위 아이 다이어그램에서 빨간색 선으로 표시된 최적의 시점을 어떻게 알까요?

설상가상으로 Rx PMA는 Tx PMA가 사용하는 기준 클록(reference clock)에 접근하지 못하는 경우가 많습니다. 따라서 수신기가 생각하는 0.2ns라는 시간의 길이는 송신기가 생각하는 것과 정확히 같지 않습니다. 게다가 이 기준 클록의 주파수는 지터(jitter) 때문에 항상 무작위로 변합니다. 그리고 SSC(Spread Spectrum Clock)를 요구하는 프로토콜의 경우, 이 클록의 주파수는 미리 정해진 패턴에 따라 의도적으로 계속 변합니다.

이 문제에 대한 해결책은 CDR(Clock Data Recovery, 클록 데이터 복원)입니다. CDR은 Rx PMA 내부에 있는 메커니즘으로, 입력 핀의 전압을 샘플링(sampling)하기 위한 최적의 시점을 찾아냅니다. CDR은 도착하는 데이터 스트림에 스스로 적응하는 샘플링 클록을 생성합니다. 이 클록은 (이 예에서) 32로 나뉘어 Rx PCS와 인터페이스하는 데 사용되는 클록을 만듭니다.

CDR은 도착하는 아날로그 신호에서 '0'과 '1' 사이의 전이에 민감하게 반응합니다. 더 정확히 말하면, CDR은 두 차동 핀 사이의 전압이 양과 음 사이에서 바뀌는 순간을 감지합니다. 이를 통해 CDR은 자신이 생성하는 샘플링 클록의 주파수를 송신기가 사용하는 클록에 맞출 수 있습니다.

CDR이 제대로 동작하려면 자체 기준 클록도 필요합니다. 이 기준 클록의 주파수는 송신기의 클록 주파수와 대략 같아야 합니다. 다만 이 기준 클록은 데이터 스트림과의 초기 동기화에만 사용됩니다. 초기 동기화가 끝나면 CDR은 PLL을 이용해 송신기의 주파수를 따라갑니다. 이 적응 메커니즘은 송신기 클록의 복제본을 만들기 위해 샘플링 클록의 주파수를 지속적으로 아주 약간씩 바꿉니다. 그와 더불어 CDR은 각 0.2ns 주기 안에서 샘플링 시점이 최적의 지점에 오도록 이동시키려고 합니다. 다시 말해, CDR은 신호 샘플링이 위에 보인 아이 다이어그램의 빨간 선에서 일어나도록 하려는 것입니다.

CDR은 안정적인 통신 링크를 얻는 데 결정적인 역할을 합니다. 예를 들어 송신기가 지터가 심한 품질 낮은 기준 클록을 사용하면, 각 비트의 시간 길이에 무작위성이 더해집니다. 수신기의 CDR이 이런 무작위성에 충분히 빠르게 적응하지 못하면 샘플링이 최적이 아닌 위치에서 일어납니다. 그 결과 오류 확률이 높아집니다. 또한 CDR이 완전히 동기화를 잃어 통신 링크가 일시적으로 끊길 수도 있습니다. 이런 상황은 종종 클록의 품질 문제라기보다 데이터 선로의 신호 무결성 문제로 오인되곤 합니다.

FPGA MGT에서 CDR의 동작은 설정할 수 있는 여러 매개변수에 따라 달라집니다. 안타깝게도 이 매개변수들의 의미는 대개 복잡하고 문서화되어 있지 않습니다. FPGA 툴은 MGT 설정, 특히 데이터 속도를 바탕으로 이 매개변수들의 값을 자동으로 선택합니다. 잘 알려진 특정 프로토콜을 선택하면 CDR 매개변수도 그에 맞게 선택됩니다. 특히 두 MGT 사이의 연결에 품질이 낮은 케이블이나 커넥터가 사용되는 경우에는, 더 안정적인 링크를 얻기 위해 다른 설정을 시험해 보는 것이 도움이 될 때도 있습니다.

극성 반전

Rx PMA와 Tx PMA는 모두 물리 채널의 극성을 반전시키는 기능을 지원합니다. 이것은 '1' 대신 '0'을, '0' 대신 '1'을 전송하는 것을 의미합니다. 또는 정상적으로 '0'을 수신할 상황에서 '1'을 수신하고, 그 반대의 경우도 마찬가지입니다.

다시 말해, D+와 D- 전선이 바뀌어 연결되어도 MGT가 이를 보상할 수 있습니다. 사소해 보이지만 매우 중요한 기능이며, PCB 설계를 크게 단순화해 줍니다.

신호 왜곡

완벽한 세계라면 송신 MGT의 전압 신호가 아무 변화 없이 수신 MGT에 도착할 것입니다. 현실에서는 신호가 목적지에 도착할 때까지 여러 변화를 겪습니다. 가장 두드러진 문제는 신호 경로의 필터 특성입니다. Tx PMA가 '1' 다음에 '0'을 전송할 때마다 양전압에서 음전압으로 급격한 전이가 일어납니다. '0'에서 '1'로 전환될 때는 그 반대가 일어납니다. 이렇게 급격한 전압 변화는 신호를 전달하는 물리 매체에 의해 왜곡됩니다. 케이블과 PCB 배선은 저역 통과 필터처럼 동작합니다.

아래 이미지는 위와 동일한 파형 예를 보여 주지만, 더 까다로운 물리 채널을 시뮬레이션한 것입니다.

Waveform plot of NRZ signal, attenuated channel

파란색 파형은 수신기에 도착한 전압이 이전에 전송된 몇 개 비트의 값을 "기억"하는 모습을 보여 줍니다. 앞서 수신기는 전압이 음인지 양인지에 따라 '0' 또는 '1'을 판정해야 한다고 했습니다. 따라서 이전 비트들의 값이 수신기의 판정을 방해합니다. 한 비트의 값이 다른 비트의 판정을 방해하는 현상을 심볼 간 간섭(ISI, Inter-Symbol Interference)이라고 합니다.

같은 물리 채널 시뮬레이션에 대한 아이 다이어그램입니다.

Eye diagram with significant attenuation

이 아이 다이어그램을 보면 '0'과 '1'을 여전히 구별할 수는 있지만, 여유(margin)가 훨씬 작아졌습니다. 즉, 오류를 일으키는 데 필요한 노이즈가 훨씬 적어졌다는 뜻입니다.

위 아이 다이어그램에서 시뮬레이션된 효과 외에도, 신호는 다른 방식으로도 왜곡됩니다.

이제 물리 채널의 신호 왜곡을 완화하는 두 가지 메커니즘, 즉 수신기에 속한 이퀄라이저와 송신기에 속한 프리엠퍼시스를 살펴보겠습니다.

이퀄라이저

이퀄라이저는 MGT에 도착하는 아날로그 신호를 조작합니다. 이 유닛의 목적은 물리 채널이 일으키는 신호 왜곡의 영향을 줄이는 것입니다. 이를 통해 이퀄라이저는 채널의 비트 오류 확률을 낮추고 더 높은 데이터 속도를 가능하게 합니다. 이퀄라이저는 항상 Rx PMA 처리 체인의 첫 번째 단계입니다.

주로 두 종류의 이퀄라이저가 사용됩니다. MGT에 따라 둘 다 지원할 수도 있습니다.

위 예에서 Rx PMA가 0.2ns마다 두 입력 핀(D+와 D-) 사이의 전압을 측정한다는 점을 기억하십시오. Rx PMA는 이 전압이 음인지 양인지에 따라 '0' 또는 '1'을 검출합니다. 이퀄라이저를 사용할 때는 Rx PMA가 그 이퀄라이저의 출력을 대신 사용합니다.

DFE를 사용할 때는 송신기가 전송하는 비트들이 서로 통계적으로 독립적이라고 가정합니다. 물리 채널이 신호를 왜곡하지 않는다면 어떻게 될까요? 이 경우 Rx PMA가 '0' 또는 '1'을 판정하는 데 사용하는 전압들도 서로 통계적으로 독립적입니다. 다시 말해, Rx PMA가 아날로그 입력 신호를 검사할 때마다 이전 신호나 이후 신호와 통계적 연관성이 없어야 합니다.

하지만 현실에서는 물리 채널이 데이터 스트림을 담은 신호를 왜곡합니다. 따라서 '0' 또는 '1'을 나타내는 전압들 사이에는 통계적 연관성이 생깁니다. 저역 통과 필터 효과가 전압 신호를 번지게 만들고, 반사("에코")도 신호 품질을 떨어뜨립니다. 각 비트의 전압 레벨이 이웃한 비트들로 흘러넘칩니다. 앞서 언급했듯이 이 현상을 심볼 간 간섭(ISI)이라고 합니다. 수신기가 ISI의 영향을 줄이기 위해 아무것도 하지 않으면, 비트들 사이의 상호 간섭은 채널에 노이즈를 더하는 것과 같습니다.

DFE는 에코 제거기(echo canceller)와 비슷하게 동작합니다. 즉, '0' 또는 '1'을 나타내는 샘플들 사이의 상관관계를 제거하도록 스스로 조정되는 필터로 구성됩니다. 더 정확히 말하면, 검출된 비트('0' 또는 '1')와 이웃 비트들에 속하는 아날로그 신호 사이의 상관관계를 제거합니다. 다시 말해, DFE가 목표를 달성하면 어떤 비트의 값을 판정하는 데 사용되는 아날로그 신호와 다른 비트들의 값 사이에는 통계적 상관관계가 없습니다. 이 경우 ISI는 0으로 줄어들며, 채널의 신호 번짐 효과와 반사는 전송 품질에 아무런 영향을 미치지 못합니다.

채널에서 전송되는 비트들 사이에 통계적 상관관계가 있다면, DFE는 이 상관관계를 제거하려고 시도한다는 점에 유의하십시오. 그러면 DFE는 물리 채널의 아날로그 신호 왜곡과 대응되지 않는 방식으로 아날로그 필터를 조정하게 됩니다. 결과적으로 DFE는 신호를 복구하는 대신 오히려 왜곡시킬 수 있습니다. 이것이 DFE를 활성화할 때 스크램블러(scrambler)가 반드시 필요한 이유입니다.

전송 비트들이 서로 상관관계가 없도록 보장할 방법이 없다면 LPM 이퀄라이저가 적합할 수 있습니다. MGT 데이터시트에는 보통 LPM 이퀄라이저를 스크램블러 없이 사용할 수 있는지가 명시되어 있습니다.

모든 MGT에 DFE가 있는 것은 아니지만, 거의 모든 MGT에는 어떤 형태로든 LPM 이퀄라이저가 있습니다. MGT가 지원하는 이퀄라이저의 종류와 동작 방식에 대한 데이터시트 정보는 종종 불완전합니다. 데이터시트에서 이퀄라이저 유형에 대해 아무 말도 없다면, 그것은 거의 확실히 LPM입니다.

DFE가 더 정교한 유형의 이퀄라이저라고 해서, 비트들이 서로 상관관계가 없는 경우에도 항상 LPM보다 성능이 좋은 것은 아닙니다. 특히 물리 채널의 품질이 비교적 높은 경우에는 LPM이 DFE보다 더 나은 성능을 보일 수 있습니다.

프리엠퍼시스(pre-emphasis)

수신기에 도착하는 신호를 개선하는 방식으로 송신기의 출력 신호를 조작하는 것이 도움이 될 수 있습니다. 이 방법을 프리엠퍼시스라고 하며, 특히 신호 왜곡이 너무 심해서 수신기가 데이터 스트림에 전혀 동기화할 수 없는 상황에서 유용합니다. 이 방법에는 여러 변형이 있으며, 각 MGT는 고유한 기능 세트를 갖고 있습니다.

대부분의 상황에서 물리 채널은 저역 통과 필터처럼 동작합니다. 송신기는 출력 신호의 형태를 조절함으로써 채널의 왜곡 중 일부를 미리 보상할 수 있습니다. 가장 간단한 메커니즘은 포스트 커서 엠퍼시스(post-cursor emphasis)입니다. 물리 채널이 송신기 출력의 변화에 느리게 반응하므로, 송신기는 비트가 바뀔 때 더 높은 전압을 인가하는 방식으로 이를 보상합니다. 더 정확히 말하면, 송신기는 비트가 바뀌지 않을 때 전압을 낮춥니다.

이 메커니즘을 설명하기 위해, 위 예에서 송신기 출력이 '0' 또는 '1'에 대해 -500mV 또는 500mV였다는 점을 다시 떠올려 봅시다.

포스트 커서 엠퍼시스를 적용하면, 출력이 '0'에서 '1'로 바뀌는 경우 송신기 출력은 이전과 마찬가지로 500mV입니다. 하지만 다음 비트도 다시 '1'이면 출력 전압은 더 낮은, 예를 들어 400mV가 됩니다. '1'에서 '0'으로 전환될 때도 마찬가지입니다. 이 경우 출력 전압은 -500mV입니다. 하지만 다음 비트도 다시 '0'이면 전압은 -400mV입니다.

아래 이미지는 앞서 파형으로 보여 준 것과 동일한 시뮬레이션이지만, 포스트 커서 엠퍼시스가 적용된 경우입니다.

Waveform plot of NRZ signal, attenuated channel + post-cursor pre-emphasis

빨간색 파형은 포스트 커서 엠퍼시스가 어떻게 동작하는지 보여 줍니다. 비트가 바뀔 때마다 출력 전압이 약간 높아지고, 그렇지 않으면 더 낮은 전압으로 돌아갑니다. 이 방법은 종종 디엠퍼시스(de-emphasis)라고도 불립니다. 송신기가 반복되는 비트의 전압을 낮추기 때문에 그런 비트들은 "덜 강조"되기 때문입니다.

파란색 파형을 위 이미지와 비교해 보면 이 전압의 진폭 변화가 더 작다는 것을 알 수 있습니다. 이것이 대수롭지 않게 보일 수 있지만, 아이 다이어그램에서는 그 차이가 더 분명하게 드러납니다.

Eye diagram with significant attenuation + post-cursor pre-emphasis

확실히 더 나아졌지만, 여전히 충분하지는 않습니다. 이런 시나리오에서도 이퀄라이저는 여전히 필요합니다.

포스트 커서 엠퍼시스는 단순한 FIR 필터로 표현할 수 있습니다. 엠퍼시스가 없는 송신기의 전압을 x(n)이라고 합시다(n은 전송되는 비트의 번호). 각 x(n)은 -500mV 또는 500mV 값을 가질 수 있습니다. 포스트 커서 엠퍼시스가 적용된 송신기의 출력은 다음과 같이 쓸 수 있습니다.

y(n) = 0.9x(n) - 0.1x(n-1)

이것은 고주파 신호를 선호하는 FIR 필터의 간단한 표현입니다. 물리 채널이 저역 통과 필터처럼 동작하는 것에 대한 보상으로 볼 수 있습니다.

"포스트 커서 엠퍼시스(post-cursor emphasis)"라는 표현에서 "post-cursor" 부분은 해당 FIR 필터가 다음과 같이 쓰일 수 있다는 사실과 관련됩니다.

y(n) = (1-a)x(n) - ax(n-1)

이 식에서 a는 보통 양수로 선택됩니다.

이 FIR 필터가 의미하는 바는 기본적으로 다음과 같습니다. y(n)의 값은 대부분 x(n)에 의해 결정되지만, 만약 x(n-1)이 같은 값이었다면 y(n)은 0에 조금 더 가까워집니다. 즉, y(n)의 조작은 이전 비트에 따라 달라집니다.

따라서 "커서(cursor)"는 현재 전송되는 비트를 가리킵니다. "포스트(post)"는 이 필터가 직전에 전송된 비트, 즉 '커서' 다음에 해당하는 비트에 의존한다는 사실을 가리킵니다.

고주파 신호에 더 유리한 FIR 필터의 아이디어를 일반화하는 것도 가능합니다. 특히 다음 형태의 FIR 필터가 MGT에서 흔히 구현됩니다.

y(n) = aprex(n+1) + a0x(n) - apostx(n-1)

이 식에서 apost는 이미 소개한 포스트 커서 엠퍼시스와 관련됩니다. apre는 '커서' 앞에 있는 비트, 즉 프리 커서 엠퍼시스(pre-cursor emphasis)에 대한 의존성을 나타내며, 때로는 프리�슈트(preshoot)라고도 합니다. 이것은 송신기 출력 신호에 대한 FIR 필터로 표현할 수 있는 모든 종류의 조작을 포괄하는 용어인 프리엠퍼시스와 혼동해서는 안 됩니다.

MGT마다 전송 신호를 형태화하는 옵션이 다릅니다. 포스트 커서 엠퍼시스는 여러 프로토콜이 요구하기 때문에 보통 사용할 수 있습니다. 그 외의 변형들은 MGT에 따라 다릅니다.

프리엠퍼시스의 명백한 단점은 송신기의 조정 결과가 수신기에서만 확인된다는 것입니다. 이퀄라이저는 최적의 수신 상태에 도달하기 위해 스스로를 계속 조정할 수 있다는 점을 기억하십시오. 그러나 프리엠퍼시스 메커니즘은 일반적으로 반대쪽에서 신호가 얼마나 잘 수신되는지 알지 못합니다. 이것은 프로토콜로 해결할 수 있습니다. 예를 들어 DisplayPort 프로토콜은 수신 측이 송신기에게 요청을 보낼 수 있는 메커니즘을 규정합니다. 이렇게 해서 수신기가 송신기의 전압 레벨과 포스트 커서 엠퍼시스의 정도를 제어할 수 있습니다.

프리엠퍼시스는 물리 채널의 특성을 미리 알고 있을 때, 예를 들어 PCB 위에서 두 FPGA를 서로 연결하는 경우에도 유용합니다. 그렇지만 채널의 특성을 모르는 상황에서도, 특히 8Gb/s 이상의 높은 데이터 속도에서는 프리엠퍼시스를 사용하는 것이 좋을 수 있습니다.

프리엠퍼시스 메커니즘과 이퀄라이저는 둘 다 신호 품질을 개선하고 오류를 줄이는 필터이기는 하지만, 서로를 대체하는 것은 아닙니다. 이퀄라이저가 보통 이 둘 중 더 강력한 도구입니다. 프리엠퍼시스의 역할은 이퀄라이저를 돕거나, 수신기가 송신기에 동기화할 수 있을 만큼 신호 품질이 좋은 상태를 보장하는 것입니다.

프리엠퍼시스는 많은 애플리케이션에서 전혀 사용되지 않습니다. 이 도구는 두 MGT 사이의 거리가 길 때, 특히 신호가 PCB 배선을 따라 이동할 때 유용합니다. 거리가 합리적으로 짧고 수신기에 좋은 이퀄라이저가 장착되어 있다면, 송신기의 출력 신호를 조작할 이유가 보통 없습니다.

통계적 아이 스캔(statistical eye scan)

모든 데이터가 오류 없이 도착하더라도 채널의 품질을 평가하고 싶은 경우가 많습니다. 특히 채널이 오류를 내기 시작하기까지 얼마나 여유가 있는지가 궁금합니다. 채널이 견고한 상태인지, 아니면 물리 매체에 아주 작은 변화만 생겨도 오류가 시작될 정도인지 말입니다.

또한 앞 페이지에서 기억하듯이, 채널이 실제 데이터를 전송하는 데 사용되는 동안에는 동시에 BER 테스트를 수행할 수 없습니다. 따라서 채널을 사용하는 동안 그 품질을 평가하는 것은 어렵습니다(모든 오류를 보고하는 일부 프로토콜, 예를 들어 Xillyp2p를 제외하고).

링크 품질을 평가하는 일반적인 방법은 수신기에서 아이 다이어그램을 측정하는 것입니다. 신호가 케이블과 커넥터를 통해 들어오는 경우에는 이렇게 할 수 있습니다. 이런 용도의 측정 장비가 있으며, 꽤 비쌉니다. 하지만 신호가 PCB 배선을 따라 이동하여 칩(특히 FPGA)에 도달하는 경우에는 신호를 잡아낼 수 있는 지점이 보통 없습니다. 프로브로 PCB 배선에 접촉하면 신호의 형태가 급격하게 바뀌므로 측정 결과는 무의미해집니다.

이 문제에 대한 우아한 해결책은 통계적 아이 스캔입니다. 즉, Rx PMA 자신이 신호의 아이 다이어그램을 측정하는 것입니다. 이 방법에는 여러 장점이 있습니다.

이 방법에는 단점이 하나뿐입니다. 측정 결과가 실제 아이 다이어그램은 아니라는 것입니다. 하지만 거의 그만큼 유용합니다.

앞서 Rx PMA는 도착 신호의 차동 전압이 음인지 양인지에 따라 '0' 또는 '1'을 판정한다고 했습니다. 그리고 CDR이 최적의 타이밍에 이 판정이 이루어지도록 합니다.

통계적 아이 스캔을 위해 '0' 또는 '1'을 판정하는 추가 유닛이 하나 더 있습니다. 다만 이 두 번째 유닛은 첫 번째 유닛보다 약간 일찍 또는 약간 늦게 판정합니다. 이 시간 오프셋은 MGT의 레지스터를 설정하여 제어할 수 있습니다(MGT가 동작하는 동안에도 가능합니다).

두 유닛 사이의 또 다른 차이점은 신호가 '0'인지 '1'인지 판정하는 방식입니다. 앞서 언급했듯이 첫 번째 유닛은 신호 전압을 0과 비교합니다. 두 번째 유닛은 다른 다양한 전압 임계값과 비교할 수 있습니다. 예를 들어 전압 임계값으로 100mV를 선택하면, 두 번째 유닛은 수신 신호가 100mV보다 높을 때 '1'로 판정하고, 그렇지 않으면 '0'으로 판정합니다.

즉, 두 번째 유닛은 시간과 전압에 오프셋이 있다는 점만 제외하면 첫 번째 유닛과 완전히 동일한 일을 합니다. MGT 내부의 로직은 지정된 횟수만큼 두 유닛의 판정을 자동으로 비교하고, 판정 결과가 서로 달랐던 횟수를 셉니다. 다시 말해, 이 로직은 타이밍을 옮기고 임계 전압을 옮겼을 때 Rx PMA의 비트 판정이 얼마나 자주 달라졌을지를 세는 것입니다.

두 유닛의 판정 결과가 전혀 다르지 않다면, 두 번째 유닛의 위치(시간 및 전압으로 주어진)가 위 아이 다이어그램에서 녹색으로 표시된 영역 안에 있다는 뜻입니다. 이 상황은 충분한 측정 시간 후에 카운터 결과가 0이 되는 것으로 확인됩니다. 두 번째 유닛의 위치가 녹색 영역의 경계에 가까워질수록 카운터 결과는 점점 더 커집니다.

통계적 아이 스캔은 다양한 시간 오프셋과 전압 임계값에 대해 이 두 유닛 사이의 비교를 반복함으로써 얻어집니다. 이것은 애플리케이션 로직이 수행하거나, JTAG를 통해 MGT의 레지스터를 설정하여 수행할 수 있습니다. 이 과정은 시간 오프셋에 대한 for 루프 안에 전압 임계값에 대한 for 루프가 있는 컴퓨터 프로그램과 비슷합니다. 이 작업을 완료하는 데 걸리는 시간은 측정 정확도에 따라 달라집니다.

다음은 Artix-7 FPGA로 얻은 통계적 아이 스캔의 예입니다(다른 페이지에서 가져온 것). 가운데 녹색 영역은 위 아이 다이어그램들의 녹색 영역에 해당합니다. 위 예제들에서는 한 가지 유형의 신호 왜곡만 시뮬레이션했기 때문에, 측정 결과는 위에 보인 모든 이미지와 정량적으로 다릅니다.

Example of statistical eye scan

이런 이미지를 얻는 데는 약 1분이 걸립니다. 하지만 1초도 안 되어 얻을 수 있는 더 거친 이미지로도 채널 품질을 잘 평가할 수 있습니다.

통계적 아이 스캔을 얻기 위해 별도로 설계해야 할 것도 보통 없습니다. 특히 이 과정은 JTAG 연결을 통해 Vivado로 수행할 수 있습니다. 안타깝게도 모든 MGT가 통계적 아이 스캔 기능을 지원하는 것은 아닙니다.

이것으로 MGT에 관한 이 시리즈의 다섯 번째 페이지를 마칩니다. 다음 페이지에서는 정상적인 데이터 스트림이 꺼져 있을 때의 PMA 기능에 대해 계속 논의합니다.

이 페이지는 영어 원문을 기계 번역한 것입니다. 의문이 드는 부분이 있으면 원문을 참조하시기 바랍니다.
Copyright © 2021-2026. All rights reserved. (dcc38493)