클럭 신호의 디지털 타이밍과 지터, 드리프트, 상승 및 하강 시간, 안정화 시간, 히스테리시스, 아이 다이어그램과 같은 일반적인 용어에 대해 알아봅니다.
디지털 신호를 보내는 경우 0 또는 1이 전송됩니다. 그러나 다른 디바이스가 서로 통신하려면 타이밍 정보를 전송된 비트에 연결해야 합니다. 디지털 웨이브폼은 클럭 신호를 참조합니다. 클럭 신호는 디지털 시스템의 모든 부분에 타이밍 신호를 보내 각 프로세스를 정확한 순간에 트리거하는 컨덕터라고 생각할 수 있습니다.
클럭 신호는 주기가 정해진 사각파입니다. 주기는 한 클럭의 에지에서 해당 클럭의 비슷한 다음 에지까지 측정됩니다. 대부분의 경우 하나의 상승 에지에서 그 다음 상승 에지까지 측정됩니다. 클럭의 주파수는 클럭 주기의 역으로 계산할 수 있습니다.
그림 1: 디지털 웨이브폼은 클럭 신호를 참조합니다. 클럭 신호는 주기가 정해져 있어 데이터 전송 중에 디지털 트랜스미터와 수신기를 동기화할 수 있습니다.
클럭 신호의 주기 점유율은 웨이브폼이 로직 하이 레벨에 있을 때 웨이브폼 주기의 백분율입니다. 그림 2는 주기 점유율이 다른 두 웨이브폼의 차이를 보여줍니다. 주기 점유율이 30%인 웨이브폼이 주기 점유율이 50%인 웨이브폼보다 로직 하이 레벨에 머문 시간이 짧은 것을 알 수 있습니다.
그림 2: 신호의 주기 점유율은 웨이브폼이 로직 하이 레벨에 있는 시간의 백분율입니다.
클럭 신호는 데이터 전송 중에 디지털 트랜스미터와 수신기를 동기화하는 데 사용됩니다. 예를 들어, 트랜스미터는 클럭 신호의 각 상승 에지를 사용하여 데이터의 각 비트를 보내고 수신기는 같은 클럭을 사용하여 데이터를 읽을 수 있습니다. 이 시나리오에서 디바이스의 어설션 에지는 (로우에서 하이로) 상승 에지입니다. 다른 디바이스의 경우에는 (하이에서 로우로에) 하강 에지입니다. 클럭의 어설션 에지를 활성 클럭 에지라고도 합니다. 디지털 트랜스미터는 각 활성 클럭 에지에서 새로운 데이터 샘플을 구동하는 반면 수신기는 각 활성 클럭 에지에서 데이터를 샘플링합니다. 최신 디바이스에는 클럭의 상승 에지와 하강 에지 모두 사용되기 시작했는데, 이를 DDR (Double Date Rate) 디바이스라고 합니다. 실제로 데이터는 약간 지연된 후 클럭의 어설션 에지에서 전송됩니다. 이러한 지연을 클럭투아웃(clock-to-out) 시간이라고 합니다.
수신기가 디지털 라인의 데이터를 샘플링할 때 데이터를 안정적으로 수신하려면 두 가지 타이밍 파라미터를 알아야 합니다. 설정 시간 (ts)은 수신기가 입력을 수신하기 위해 스스로 설정하는 동안 데이터가 중단 없이 유효한 로직 레벨에 머물러야 하는 시간입니다. 홀드 시간 (tH)은 수신기에서 샘플링된 후 상태를 변경하기 전까지 데이터가 상태를 유지해야 하는 시간을 지정합니다. 설정 시간과 홀드 시간은 함께 수신기가 데이터를 안정적으로 샘플링할 수 있도록 수신기 클럭의 어설션 에지 근방에 안정적인 윈도우를 설정합니다. 그림 3은 상승 에지 클럭 신호와 관련된 설정 시간과 홀드 시간을 보여줍니다. 종종 디지털 신호는 공급 레일 간의 중간에서 전압을 스위칭합니다. 이러한 이유로 시간 참조 마커는 신호 에지의 중간포인트에 위치합니다.
그림 3: 신호의 주기 점유율은 웨이브폼이 로직 하이 레벨에 있는 시간의 백분율입니다.
디지털 시스템에서 타이밍은 가장 중요한 요소 중 하나입니다. 디지털 통신의 신뢰성과 정확성은 타이밍 품질에 따라 좌우됩니다. 그러나 실제 환경은 늘 이상적일 수만은 없습니다. 다음은 특정 디지털 신호의 타이밍을 쉽게 이해할 수 있는 몇 가지 일반적인 용어와 방법입니다.
지터는 이상적인 이벤트 타이밍과 이벤트의 실제 타이밍의 편차입니다. 이를 쉽게 이해하기 위해 디지털 사인파를 전송하고 모눈종이에 플로팅한다고 가정해 보겠습니다. 각 사각형은 클럭 펄스에 해당합니다. 세로 라인이 등간격으로 떨어져 있기 때문에 완벽하게 주기적인 클럭 신호가 생성됩니다. 각 클럭 펄스에서 3비트를 수신하여 모눈종이에 해당 지점을 표시합니다. 주기적 특성 때문에 보기 좋은 사인파가 완성됩니다.
그림 4: 주기적인 샘플 클럭이기 때문에 디지털 시스템에서 정확하고 올바르게 통신할 수 있습니다.
이제 이 라인의 간격이 다르다고 생각해 보십시오. 그러면 클럭 신호가 덜 주기적입니다. 데이터를 플로팅할 때 간격이 같지 않기 때문에 사인파의 모양이 올바르지 않은 것처럼 보입니다.
그림 5: 클럭 신호에 지터가 있으면 디지털 웨이브폼이 왜곡됩니다.
그림 5를 보면 클럭 신호에서 전환 간의 거리가 고르지 않다는 것을 알 수 있는데, 이것이 클럭의 지터입니다. 위의 그림에는 지터가 과장되게 표현되어 있지만 지터 클럭 때문에 샘플이 어떻게 균일하지 않은 간격으로 트리거될 수 있는지 알 수 있습니다. 이와 같은 불균등성 때문에 기록하고 재생산하려는 웨이브폼에 왜곡이 발생됩니다.
이제 1과 0만 있는 디지털 신호의 관점에서 지터를 살펴보겠습니다. 다시 말하지만 지터는 이상적인 이벤트 타이밍과 이벤트의 실제 타이밍의 편차입니다. 단일 펄스를 살펴보면 지터는 실제 신호와 이상적인 시간 위치의 에지 타이밍 편차입니다.
그림 6: 단일 펄스의 지터는 에지 타이밍의 편차입니다.
지터는 일반적으로 참조 신호의 제로 크로싱에서 측정됩니다. 일반적으로 지터는 누화, 동시 스위칭 출력, 정기적으로 발생하는 기타 간섭 신호에서 발생합니다. 지터는 시간에 따라 변하기 때문에 지터의 측정과 정량화는 초 단위 지터 범위에서 오실로스코프의 시각적 추정부터 시간에 따른 표준 편차와 같은 통계를 기반으로 한 측정에 이르기까지 다양합니다.
또 다른 일반적인 타이밍 문제는 드리프트입니다. 클럭 드리프트는 트랜스미터의 클럭 주기가 수신기의 클럭 주기와 약간 다를 때 발생합니다. 처음에는 별 차이가 없을 수 있습니다. 그러나 시간이 지나면 두 클럭의 신호가 눈에 띄게 차이가 나게 되어 동기화되지 않는 등 여러 에러가 발생할 수 있습니다.
이론상 드리프트가 있는 경우에도 디지털 신호가 0에서 1로 바뀌면 즉시 발생합니다. 그러나 실제로는 신호가 하이 레벨과 로우 레벨 간에 변경되는 데 시간이 걸립니다. 상승 시간 (trise)은 신호가 로우 레벨과 하이 레벨 간에 전압의 20%에서 80%까지 상승하는 데 걸리는 시간입니다. 하강 시간 (tfall)은 신호가 로우 레벨과 하이 레벨 간에 전압의 80%에서 20%까지 떨어지는 데 걸리는 시간입니다.
그림 7: 상승 시간과 하강 시간은 신호가 로우 레벨과 하이 레벨 간에 전압을 변경하는 데 걸리는 시간을 나타냅니다.
또한 실제 환경에서 신호가 전압 레벨에 도달하는 경우는 거의 없으며 깔끔하게 유지됩니다. 신호가 실제로 에지 다음의 전압 레벨을 초과하는 경우 피크 왜곡을 오버슈트라고 합니다. 신호가 에지 이전의 전압 레벨을 초과하는 경우 피크 왜곡을 프리슈트라고 합니다. 에지 간에 신호가 전압 레벨 미만으로 드리프트하는 경우 이를 언더슈트라고 합니다.
그림 8: 오버슈트, 프리슈트, 언더슈트를 통틀어 이상이라고 합니다.
오버슈트, 프리슈트, 언더슈트를 통틀어 이상이라고 합니다. 이상은 보드 레이아웃 문제, 부적절한 종단 또는 반도체 디바이스 자체의 품질 문제 때문에 발생할 수 있습니다.
디지털 신호는 전압 레벨에 도달한 후 약간 튀다가 일정한 전압으로 안정됩니다. 안정화 시간 (ts)은 증폭기, 릴레이 또는 기타 회로가 안정적인 작동 모드에 도달하는 데 필요한 시간입니다. 디지털 신호 수집과 관련하여 전체 범위 단계의 안정화 시간은 신호가 특정 정확도에 도달한 후 그 범위 내에 머무르는 데 필요한 시간입니다.
그림 9: 안정화 시간은 신호가 특정 정확도에 도달한 후 그 범위 내에 머무르는 시간입니다.
히스테리시스는 로직 로우에서 로직 하이로 전환되었을 때 감지한 전압 레벨과 로직 하이에서 로직 로우로 전환되었을 때 감지한 전압 레벨의 차이를 나타냅니다. 이는 낮은 입력 전압에서 높은 입력 전압을 빼서 계산할 수 있습니다.
그림 10: 히스테리시스는 어떠한 로직 값에서 다른 로직 값으로 전환되었을 때 감지한 전압 레벨의 차이입니다.
히스테리시스는 디지털 디바이스에 유용한 프로퍼티입니다. 디지털 시스템의 고주파 노이즈에 대한 내성을 자연스럽게 얻을 수 있기 때문입니다. 노이즈는 로직 레벨 전환 시 하이 에지 속도에서 반사 때문에 종종 발생하는데, 단일 전압 임계값만으로 로직 상태의 변화가 결정된 경우 디지털 디바이스가 전환을 잘못 감지하도록 할 수 있습니다. 그림 11에서 이를 확인할 수 있습니다. 첫 번째 샘플은 로직 로우 레벨로 수집됩니다. 신호가 아직 하이 레벨 임계값을 넘지 않았기 때문에 두 번째 샘플도 로직 로우 레벨입니다. 세 번째와 네 번째 샘플은 로직 하이 레벨이고, 다섯 번째 샘플은 로직 로우 레벨입니다.
그림 11: 히스테리시스로 디지털 시스템의 고주파 노이즈에 대한 내성을 얻을 수 있습니다.
전압 임계값이 정해져 있는 디바이스의 경우 시스템의 NIM (노이즈 내성 여유)과 히스테리시스는 선택한 시스템 구성요소에 따라 결정됩니다. 시스템 NIM과 히스테리시스로 시스템 레벨의 노이즈 내성을 얻을 수 있지만 특정 로직군의 경우 이 둘 간에는 항상 상충 관계가 존재합니다. 즉, 히스테리시스가 클수록 NIM이 작아지며 NIM이 클수록 히스테리시스가 작아집니다. 전압 임계값 설정 방법을 결정하려면 시스템의 신호 품질을 신중히 조사하여 높은 로직 레벨과 낮은 로직 레벨에서 더 큰 노이즈 내성이 필요한지 (더 큰 NIM) 또는 로직 레벨 전환 시 더 큰 노이즈 내성이 필요한지 (더 큰 히스테리시스) 확인해야 합니다.
스큐는 클럭 신호가 다른 시간에 다른 구성요소에 도달하는 경우입니다. 클럭 신호는 드리프트와 달리 주기가 같습니다. 단지 다른 시간에 도달할 뿐입니다. 이는 와이어 길이, 온도 변화 또는 입력 커패시턴스의 차이 등 다양한 요인 때문에 발생할 수 있습니다. 채널 대 채널 스큐는 일반적으로 디바이스의 모든 데이터 채널에 걸친 스큐를 나타냅니다 각 샘플이 수집될 때 각 데이터 채널이 다른 모든 데이터 채널에 대해 샘플링되는 시점은 같지 않지만 그 차이는 채널 대 채널 스큐라는 작은 시간 윈도우 내에 있습니다.
그림 12: 채널 대 채널 스큐는 일반적으로 디바이스의 모든 데이터 채널에 걸친 스큐를 나타냅니다.
아이 다이어그램은 타이밍과 레벨 에러를 시각적으로 잘 보여주는 타이밍 분석 도구입니다. 실제 환경에서 지터와 같은 에러는 너무 자주 변경되고 매우 작기 때문에 수량화하기 어렵습니다. 따라서 아이 다이어그램은 최대 지터를 찾고 이상, 상승 시간, 하강 시간 그리고 기타 에러를 측정하는 데 매우 좋은 도구입니다. 에러가 증가하면 아이 다이어그램의 중앙에 있는 여백이 줄어듭니다.
아이 다이어그램은 디지털 신호의 여러 세그먼트 스윕을 오버레이하여 생성됩니다. 여기에는 단순한 하이에서 로우로의 전환, 오랜 기간 일관성을 실행한 후 격리된 전환에 이르기까지 가능한 모든 비트 시퀀스가 포함되어야 합니다. 겹쳐지면 눈처럼 보입니다. 아이 다이어그램은 설계의 신호 무결성을 시각적으로 이해할 수 있는 방법입니다. 아이 다이어그램을 통해 신호의 파라미터 정보를 알 수 있지만 하이를 전송해야 하지만 로우를 전송한 경우 등과 같이 로직 또는 프로토콜 문제는 감지할 수 없습니다.
그림 13은 아이 다이어그램의 일반적인 용어를 보여줍니다.
A. 1 레벨이라고도 하는 하이 레벨은 로직 하이의 주요 값입니다. 계산된 하이 레벨 값은 아이 주기의 중간 20%에서 캡처된 모든 데이터 샘플의 평균값에서 나옵니다.
B. 로우 레벨 (0 레벨이라고도 함)은 로직 로우의 주요 값입니다. 이 레벨은 하이 레벨과 같은 영역에서 계산됩니다.
C. 아이 다이어그램의 진폭은 하이 레벨과 로우 레벨의 차이입니다.
D. 비트 주기는 단위 간격 (UI)이라고도 하는데, 아이의 교차점이 가로로 얼마나 떨어져 있는지를 측정한 것입니다. 데이터 속도의 역입니다. 아이 다이어그램을 생성할 때 시간 대신 가로축의 비트 주기를 사용하면 데이터 속도가 다른 다이어그램을 쉽게 비교할 수 있습니다.
E. 아이 높이는 아이 다이어그램이 세로로 얼마나 벌어져 있는지를 나타냅니다. 이상적으로는 진폭과 같지만 노이즈 때문에 실제 환경에서는 거의 발생하지 않습니다. 이와 같이 아이 높이가 작을수록 시스템에서 노이즈가 많이 발생합니다. 아이 높이는 신호의 신호-노이즈 비율을 나타냅니다.
F. 아이 너비는 가로로 얼마나 벌어져 있는지를 나타냅니다. 아이 교차점의 통계적 평균의 차이로 계산됩니다.
G. 아이 크로싱 백분율로 주기 점유율 왜곡 또는 펄스 대칭 문제를 알 수 있습니다. 이상적인 신호는 50퍼센트입니다. 백분율에 편차가 있으면 아이가 좁아지고 신호가 저하됩니다.
그림 13: 이미지는 아이 다이어그램의 하이 레벨 (A), 로우 레벨 (B), 진폭 (C), 비트 주기 (D), 아이 높이 (E), 아이 폭 (F), 아이 교차 백분율 (G)을 보여줍니다.
그림 14는 실제 아이 다이어그램의 추가 측정값을 표시한 것입니다.
A. 다이어그램에서 상승 시간은 개별 상승 시간의 평균입니다. 기울기는 타이밍 에러에 대한 민감도를 나타냅니다. 작을수록 좋습니다.
B. 다이어그램에서 하강 시간은 개별 하강 시간의 평균입니다. 기울기는 타이밍 에러에 대한 민감도를 나타냅니다. 작을수록 좋습니다.
C. 로직 하이 값의 폭은 신호가 왜곡된 정도입니다 (신호 대 노이즈 비로 설정).
D. 샘플링 포인트의 신호 대 노이즈 비는 아이 폭에서 하단 또는 로직 고전압 범위까지입니다.
E. 신호의 지터 입니다.
F. 아이가 가장 많이 벌어진 부분은 신호 대 노이즈 비가 가장 좋습니다. 따라서 샘플링하기 가장 좋은 시간입니다.
그림 14: 이미지는 아이 다이어그램의 상승 시간 (A), 하강 시간 (B), 왜곡 (C), 신호 대 노이즈 비 (D), 지터 (E), 샘플링하기 가장 좋은 시간 (F)을 보여줍니다.