시그마-델타 ADC 아키텍처에서의 동기화 중단 최소화
상태바
시그마-델타 ADC 아키텍처에서의 동기화 중단 최소화
  • 선연수 기자
  • 승인 2019.11.27 08:45
  • 댓글 0
이 기사를 공유합니다

[테크월드=선연수 기자] 음속을 돌파하는 초음속 항공기를 타는 것을 상상해 본 적이 있는가? 콩코드(Concorde)가 운항을 종료함에 따라, 공군 조종사나 우주비행사가 아닌 일반인이 초음속 비행기를 타는 일은 불가능한 꿈이 돼버린 것 같다. 전자 엔지니어로서 필자는 사물들이 어떤 원리로 작동하고, 또 모든 사물들이 서로 어떻게 완벽한 조화를 이루고 작동하는지 놀라울 때가 있다.

 

매시간 울리는 뻐꾸기 시계를 비롯해, 일상의 모든 순간들이 마찬가지다. 우리는 서로 연결된 세상에서 살고 있다. 은행 서버부터 스마트폰의 알람에 이르기까지 모든 것들이 동기화돼 작동한다. 각각의 경우마다 해결해야 할 문제의 복잡성, 동기화해야 할 시스템, 요구되는 정확도나 허용 오차, 동기하는 시스템의 규모만 다를 뿐이다.

이 글에서는 기존에 SAR(Successive Approximation Register) ADC(Analog-to-digital Converter) 기반 시스템과 시그마-델타(∑-Δ) ADC 기반 시스템에 분산형 데이터 수집 시스템이 동기화돼 온 방식과, 두 아키텍처의 차이점에 대해 설명한다. 여러 개의 시그마-델타 ADC를 동기화할 때 통상적으로 겪는 과제들에 대해서도 논의하고, AD7770에 적용된 ‘샘플 레이트 컨버터(SRC)’ 기법을 소개한다. 이 기술을 활용해 시그마-델타 ADC 기반 시스템에서 데이터 플로우 인터럽팅을 피하고 동기화를 구현하는 방법을 설명한다.

 

분산형 시스템

독립형 설계에서는, 동기화를 내부 로컬 클럭이나 오실레이터에만 맞추면 된다. 하지만 이 설계를 더 넓은 범위의 시스템(이를 ‘분산형 시스템’이라고 하자)에 통합하고자 하면, 문제가 달라진다. 이 독립형 설계는 더 큰 시스템의 활용 사례에 맞도록 설계해야 한다.

시스템에서 전자 장비의 순간적인 전력 소모를 계산하려면 전류와 전압을 동시에 측정해야 한다. 이는 다음의 세 가지 방법으로 측정할 수 있다.

 

▲ 동기화된 2개의 단일 채널 ADC를 사용해 전류와 전압을 측정한다.

▲ 다중채널 동시 샘플링 ADC를 사용한다. 이 ADC는 채널당 1개의 ADC 또는 1개의 샘플-앤-홀드 회로를 지원한다.

▲ 1개의 다중화 ADC를 사용하고, 전압과 전류 측정 간 시간 편이를 보정하기 위해 측정 결과를 내삽(Interpolate)한다.

 

문제 해결에 필요한 솔루션을 이 중에서 찾을 수도 있지만, 애플리케이션의 범위를 한 대의 전기기구가 아닌, 공장 내의 모든 AC 전원 소켓으로 전력을 측정해야 하는 애플리케이션으로 확장해 보자. 그러면 앞서 예시를 든 순간 전력 소모 설계를 공장 전체에 걸쳐 분산시키고, 공장 내 모든 AC 전력 소켓의 전력을 각각 동시에 측정하도록 설계해야 한다.

이를 위해 일련의 서브시스템들로 구성된 분산형 시스템을 다뤄야 하는데, 이는 여기저기 흩어져 있는 동시에 서로 밀접히 연관돼 있다. 공장 내의 총 순간 전력 소모를 계산할 수 있도록, 각 서브시스템들은 시간적으로 정확히 동일한 순간에 샘플링된 데이터를 제공할 필요가 있다.

규모를 좀더 넓혀, 애초의 단일 설계를 전국적인 전력망에 통합해야 한다고 가정해보자. 전력망은 수백만 와트의 전력을 감지해야 하며, 어느 한 개의 연결고리라도 결함이 발생될 경우 전력선 손상과 같은 문제를 일으키고, 정전 사태와 같은 심각한 결과를 초래할 수 있다.

따라서 모든 것이 정밀하게 동기화돼야 한다. [그림 1]과 같이 모든 데이터들은 전체 전력망에 걸쳐 어느 장소에서든, 정확하게 같은 시간에 수집돼야 한다.

 

[그림 1] 모든 데이터들은 어디서든, 정밀하게 동기화돼야 한다.

이런 환경에 사용되는 시스템들을 핵심적인 분산형 시스템이라고 할 수 있으며, 이 시스템에서는 모든 단일 검출 노드들로부터 지속적이면서도 완벽하게 동기화된 데이터 스트림을 얻을 수 있어야 한다. 전력망뿐만 아니라 항공우주나 산업용 분야를 비롯한 다양한 시장에 사용되는 핵심적인 분산형 시스템들에도 똑같이 적용된다.

 

나이퀴스트와 오버샘플링 ADC

여러 ADC의 샘플링 순간을 동기화하는 방법을 설명하기에 앞서, 각 ADC 토폴로지가 아날로그 입력 신호를 언제 샘플링할 지를 결정하는 방법과 각 아키텍처의 장단점에 대해 살펴보자.

 

▲ 나이퀴스트(Nyquist)나 SAR ADC: 이 컨버터의 최대 입력 주파수는 나이퀴스트나 샘플링 주파수의 절반에 의해 결정된다.

▲ 오버샘플링(Oversampling)이나 시그마-델타 ADC: 최대 입력 주파수는 최대 샘플링 주파수의 수 분의 일이며, 통상적으로 최대 샘플링 주파수의 0.3x다.

 

SAR ADC는 변환 시작 핀에 외부적 펄스를 인가해 입력 신호 샘플링 순간을 제어한다. 동기화하려는 시스템의 모든 SAR ADC로 공통적 변환 시작 신호를 인가하면, 모든 ADC들이 변환 시작 신호의 끝에 동시적으로 샘플링 한다[그림 2]. 신호들 간 지연이 심하게 발생하지만 않으면, 즉, 변환 시작 펄스가 모든 SAR ADC로 같은 시간에 도달하도록 하면 시스템 동기화를 손쉽게 달성할 수 있다. 펄스가 변환 시작 핀에 도달하는 시점과 실제 샘플링이 일어나는 시점 간 전달 지연이 디바이스들에서 차이가 없도록 해야 한다. 샘플링 속도가 비교적 낮은 정밀 ADC에서는 이 문제가 그다지 중요하지 않다.

변환 시작 펄스가 인가되고 얼마 후에(이를 변환 시간이라고 한다) 디지털 인터페이스를 통해 모든 ADC에서 변환 결과를 얻을 수 있다.

 

[그림 2] SAR ADC 기반 분산형 시스템 동기화

시그마-델타 ADC는 이와 다르게 동작한다. 이 유형의 컨버터에서는 내부 코어(변조기)가 나이퀴스트에 따라서 결정되는 최소 주파수보다 훨씬 더 높은 주파수(변조기 주파수: fMOD)로 입력 신호를 샘플링 한다. 이로 인해 시그마-델타 ADC를 ‘오버샘플링 ADC’라 부르기도 한다.

훨씬 더 높은 주파수로 샘플링 하므로 필요한 것뿐만 아니라, 추가적인 샘플들도 수집한다. 그런 다음 모든 ADC 데이터를 평균 필터를 통해 후처리한다. 이렇게 진행하는 이유에는 다음의 두 가지 목적이 있다.

 

▲ 평균화하는 매 4개 샘플마다 잡음이 1비트 감소한다.

▲ 평균 필터의 기능은 저역통과 필터다. 시그마-델타 아키텍처가 양자화 잡음을 고주파 쪽으로 밀어낼수록 잡음이 제거되는 것으로, 평균 필터에 의해 필터링 된다[그림 3].

 

[그림 3] 시그마-델타 잡음 형태

평균화된 샘플의 수를 데시메이션 비율(N)이라고도 하며, 이 수에 따라 ADC가 변환 결과를 제공하는 빈도인 출력 데이터 레이트(ODR, Output Data Rate)가 결정된다. ODR의 단위는 초당 샘플(sps)이다. 공식 (1)은 이 관계를 나타낸다. 데시메이션 비율은 통상적으로 정수이며(N=32, 64, 128 등), 디지털 필터로 일련의 값들을 이산적으로 프로그래밍할 수 있다. fMOD를 일정하게 유지했을 때, 미리 정해진 일련의 값들의 범위 내에서 N값에 따라 ODR이 결정된다.

평균화 프로세스는 통상 내부적으로 싱크(Sinc) 필터로 수행되며, 변조기를 위한 아날로그 변환 시작 펄스 역시 내부적으로 생성돼, 변환 프로세스 트리거링(Triggering)을 외부에서 제어할 필요가 없다. 이 유형의 컨버터는 연속으로 샘플링 하고, 입력 신호를 추적하며, 포착된 데이터를 처리한다. 프로세스(샘플링과 평균화)가 완료되면, 컨버터는 디지털 인터페이스를 통해 데이터를 읽어 들일 준비가 됐다는 데이터 준비 신호를 생성해, 컨트롤러에게 알려준다.

[그림 4]는 시그마-델타 ADC의 이 같은 프로세서를 다음의 네 부분으로 크게 나눈 것이다.

 

▲ 변조기가 fMOD 주파수로 신호를 샘플링 한다.

▲ 싱크 디지털 필터를 통해 샘플들을 평균화한다.

▲ 싱크 필터로 구한 결과를 오프셋·이득(Gain) 교정한다.

▲ 데이터 준비 핀을 토글해, 컨트롤러에게 변환 결과를 읽어 들일 준비가 됐음을 알린다.

 

[그림 4] 시그마-델타 ADC 플로우

분산형 시스템 내 여러 시그마-델타 ADC를 동기화하기 위해서는 모든 디지털 필터를 동시에 리셋해야 한다. 외부적 제어가 아닌 디지털 필터로 변환 시작을 제어하기 때문이다.

[그림 5]는 모든 시그마-델타 ADC에 동일한 ODR과 fMOD를 사용할 경우, 어떻게 동기화하는지 보여준다.

 

[그림 5] 시그마-델타 시스템 리셋 동기화

SAR ADC 기반 시스템과 마찬가지로, 여기서도 역시 리셋 필터 펄스가 모든 서브시스템에 같은 시간에 도달해야 한다. 그러나 디지털 필터를 리셋할 때마다 데이터 플로우는 중단된다. 필터를 다시 안정화해야 하기 때문이다. 데이터가 중단되는 시간은 디지털 필터 차수, fMOD, 데시메이션 비율에 따라 달라진다. [그림 6]에서 필터의 저역통과필터(LPF, Low Pass Filter) 특성으로 인해 지연이 발생하고 데이터가 중단됨을 알 수 있다.

 

[그림 6] 디지털 필터 안정화 시간으로 인한 데이터 중단

 

분산형 시스템에서 샘플링 동기화의 의미

분산형 시스템에서는 모든 모듈/서브시스템에 대해 전역 동기화 신호(Global_SYNC)를 사용할 수 있다. 이 동기화 신호는 마스터나 GPS 1 pps 같은 써드파티 시스템에 의해 생성될 수 있다[그림 7].

Global_SYNC 신호가 수신되면, 각 모듈은 컨버터마다 샘플링 순간과 로컬 클럭을 동기화해 동시성을 달성해야 한다.

SAR ADC 기반 분산형 시스템은 앞서 설명했듯 근본적으로 손쉽게 동기화할 수 있다. (변환 시작 신호를 관리하는)로컬 클럭을 Global_SYNC 신호와 일치시켜 그 이후의 신호들을 동기화할 수 있다.

이 과정에서 주파수 스퍼가 발생할 수 있다. 이는 [그림 7]에서 파란색 상자로 표시한 부분에서 볼 수 있듯, 동기화 과정에서 어떤 샘플을 다른 시간 간격으로 수집할 수 있기 때문이다. 이런 스퍼를 허용할 수 있는 분산형 애플리케이션이 많다. 그러나 앞서 언급한 전력선 모니터링과 같은 애플리케이션에서는 이 같은 데이터 플로우 중단이 매우 심각한 문제가 될 수 있다.

 

[그림 7] SAR ADC 변환 프로세스의 전역 동기화 신호 정렬

시그마-델타 기반 분산형 시스템에서는 Global_SYNC 신호 관련 동기화가 좀더 복잡하게 이뤄진다. 변조기가 아날로그 입력 신호를 연속으로 샘플링하고, SAR ADC에서와 같이 변환 프로세스를 외부적으로 제어하지 않기 때문이다.

여러 시그마-델타 기반 분산형 시스템을 동기화하기 위한 가장 쉬운 방법은 디지털 필터를 리셋 하는 것이다. 즉, 평균 필터에서 사용하기 위해 수집하고 저장한 모든 변조기 샘플들은 버리고 디지털 필터를 비우는 것이다. [그림 5]와 [그림 6]에서 설명했듯이, 출력을 다시 안정화하기 위해서는 디지털 필터 차수 등에 따라 약간의 시간이 소요된다.

디지털 필터가 안정화되고 나면 유효한 변환 데이터를 다시 제공한다. 그러나 경우에 따라 안정화에 소요되는 시간으로 인해, 데이터 중단이 있던 시그마-델타 ADC 상에서의 디지털 필터가 리셋되지 않을 수 있다. 분산형 시스템을 더 빈번하게 동기화해야 할수록, 데이터 중단은 더 자주 일어날 것이고, 핵심적인 분산형 시스템에 시그마-델타 ADC를 사용하는 것이 적합하지 않을 수 있다.

전통적으로 데이터 중단을 최소화하기 위한 기법은 위상고정루프(PLL, Phase-Locked Loop)와 같은 조절 가능한 클럭을 사용해 전역 동기화와 fMOD 주파수 간 오차를 줄이는 것이다.

Global_SYNC 펄스가 수신되면, 다음과 같은 방법으로 시그마-델타 ADC 변환의 시작과 Global_SYNC 펄스 간 불확실성(Uncertainty)을 계산할 수 있다.

 

▲ 컨트롤러가 샘플링 순간(그룹 지연 값을 통해 데이터 준비 신호로부터 역으로 계산[그림 8])과 Global_SYNC 펄스 간 시간차를 계산한다. 그룹 지연은 데이터 시트에서 확인할 수 있으며, 이는 입력을 샘플링하는 시점부터 샘플이 준비됐음을 알려주는 데이터 준비 핀이 토글하는 시점까지의 시간을 일컫는다.

 

[그림 8] 아날로그 입력을 샘플링하는 시점부터 데이터 준비 핀이 토글하는 시점까지의 시간 지연

▲ 샘플 시점과 Global_SYNC가 일치하지 않으면, 로컬 컨트롤러가 이 시간차(tahead 또는 tdelayed)를 계산한다[그림 9].

[그림 9] 각 ADC의 샘플링 시점부터 전역 동기화 신호까지의 시간차 계산(그룹 지연은 알려져 있음).

▲ 시간차가 있으면, 시그마-델타 필터를 리셋 하거나 fMOD를 변경해 몇 개의 샘플에 걸쳐 시그마-델타 샘플링을 조정한다. 어떤 경우라도 일부 샘플이 소실되는 것은 불가피하다. 로컬 클럭 주파수(fMOD)를 변경하면, 시그마-델타 ADC의 출력 데이터 레이트가 바뀐다(ODR=fMOD/N). 이로 인해 ADC는 아날로그 입력을 더 느리거나 더 빠르게 샘플링 한다.

▲ fMOD가 업데이트되고 동기화를 이루면 마스터 클럭 주파수가 원래의 주파수로 복귀하고 이전의 ODR로 돌아간다. 이후로 동기화된 뒤 작동한다. [그림 10]은 특정 시간 동안 fMOD가 달라지는 것을 나타낸다.

 

[그림 10] PLL을 사용해 변조기 주파수를 조절하는 동기화 기법

이 기법은 다음과 같은 세부 고려 사항으로 인해 경우에 따라 사용이 적합하지 않을 수 있다.

 

▲ 변조기 주파수를 배수가 아닌 수로 변경하는 일이 여의치 않을 수 있다.

▲ 주파수 미세 조정을 할 수 있는 경우, 주파수 스텝을 가능한 작게 해야 한다. 그렇지 않으면 디지털 필터가 한계 범위를 벗어날 수 있으며, 동기화 루틴에 걸리는 시간이 길어지게 된다.

▲ 필요한 ODR 변경이 크면 변조기 주파수(fMOD) 대신 데시메이션 비율(N)을 변경할 수 있다. 하지만 이 방법 역시 소실되는 샘플들이 발생한다.

▲ PLL을 사용하면 추가적인 전력 소모가 발생하고, 원하는 변조기 주파수에 도달할 때까지 안정화하는데 시간이 걸린다.

 

시스템 크기가 커질수록 전반적인 시스템의 복잡성과 비용이 증가한다. 이에 비해 SAR ADC는 Global_SYNC 신호로 변환 시작을 정렬시키는 것만으로도 좀더 쉽게 이 문제를 해결할 수 있다. 많은 경우, 앞서 설명한 시스템의 한계나 제한으로 인해 시그마-델타 ADC를 사용하는 것이 적합하지 않을 수 있다.

 

중단 없는 시그마-델타 ADC 동기화

ADI의 AD7770 제품군(AD7770, AD7771, AD7779)은 SRC(Sample Rate Converter)에 기반한다. 이 아키텍처를 도입함으로써 데시메이션 계수(N)의 고정성으로 인한 제약들을 피할 수 있다.

SRC는 데시메이션 비율(N)을 정수뿐 아니라 소수로도 프로그래밍 할 수 있다. 어떤 ODR이든 원하는 대로 프로그래밍 할 수 있다. 기존의 동기화 기법은 N값이 고정적이기 때문에, 동기화하기 위해서 fMOD를 조절해야 하고, 이를 위해 외부 클럭을 변경해야 한다.

AD7770 제품군을 사용하면 N값을 유연하게 프로그래밍할 수 있을 뿐 아니라, 실행 중에도 재프로그래밍 할 수 있어, fMOD를 바꾸지 않고도 데이터 중단 없이 ODR을 프로그래밍 할 수 있다.

시그마-델타 기반 서브시스템을 동기화하기 위해 SRC를 사용하는 이 기법은, 동기화를 간소화하고 앞서 언급한 문제들을 최소화한다. 이는 다음의 방식을 따라 동기화를 수행한다.

 

▲ Global_SYNC 신호가 수신되면, 각 서브시스템이 스스로 동기적으로 샘플링하는지 아닌지 검사하고, 데이터 준비 신호를 기준으로 삼아 그룹 지연을 사용해 실제 샘플링 시점을 구한다.

▲ 이 샘플링 시점과 Global_SYNC 신호가 수신된 시점 간 차이가 존재하면, 로컬 컨트롤러가 [그림 9]에서와 같이 시간 차이를 계산한다(tahead 또는 tdelayed).

▲ 새로운 ODR을 프로그래밍 한다. SRC를 사용해 데시메이션 계수(N)를 변경함으로써 일시적으로 더 빠르거나 느린 ODR을 생성한다. 이 전체적인 동기화 동작에 항상 4개 샘플이 소요된다(AD7771로 sinc5 필터를 사용하면 6개). 하지만 이 샘플들이 여전히 유효하고 100% 안정화되기 때문에 데이터 플로우는 중단되지 않는다.

▲ 필요한 양의 DRDY가 수신되면, 데시메이션 계수를 재프로그램해서 원하는 ODR로 돌아간다. 그 결과 데이터 중단 없이 시그마-델타 컨버터는 나머지 서브시스템들과 동기화한다[그림 11].

 

[그림 11] 모든 디바이스의 샘플링을 동기화하기 위해, 샘플 레이트 컨버터가 실행 중에 ODR을 변경한다.

 

결론

핵심적인 분산형 시스템은 데이터 중단을 일으키지 않으면서 모든 서브시스템에 동기적인 변환을 요구한다. SAR 컨버터는 변환 시작 신호를 Global_SYNC 펄스와 일치·조절함으로써 샘플링을 동기화하는 직관적인 기법을 제공한다.

높은 동적 범위(DR, Dynamic Range)나 신호대 잡음비(SNR, Signal-to-noise Ratio)를 요구하는 애플리케이션에는 SAR이 적합하지 않을 수 있다. 그러나 시그마-델타 컨버터는 데이터 플로우를 중단시키지 않으면서 변경할 수 있는 유연성이 떨어져 사용이 까다롭다.

SRC는 최소의 지연시간, 더욱 저렴한 비용, 낮은 복잡성으로 매끄럽게 동기화할 수 있다. SRC를 사용하는 게 유익한 애플리케이션은 매우 많다. 전력선 모니터링의 경우, 실행 중 데시메이션 비율을 즉각적으로 변경해, 라인 주파수 변경을 보정할 수 있다. 이를 통해 전력선을 항상 일관된 샘플링 주파수로 샘플링할 수 있다.

또한 SRC는 중요도 높은 분산형 시스템에서 데이터 플로우를 중단하지 않으며, PLL과 같은 외부 부품을 필요로 하지 않고 시스템을 동기화할 수 있다는 점에서 유용하다. AD7770 제품군을 사용함으로써 샘플 소실 없이, 그리고 PLL 기반 기법의 비용이나 복잡성을 추가하지 않고도 시그마-델타 ADC 기반 분산형 시스템을 동기화할 수 있다.

글: 정밀 컨버터 그룹 SAR ADC 애플리케이션 팀 루이스 벨트란 길(Lluis Beltran Gil)

자료제공: 아나로그디바이스

 

- 이 글은 테크월드가 발행하는 월간 <EPNC 電子部品> 2019년 11월 호에 게재된 기사입니다.