ADC를 사용해 MCU 기반 임베디드 시스템에서 캡처, 컴퓨팅, 통신하기
  • 2013-01-11
  • 편집부

임베디드 시스템 디자이너와 MCU 제조업체는 적어도 세 가지 기본적인 데이터 수집 시스템 기능(캡처, 컴퓨팅 및 통신)에 관심을 가지고 있다. 이 각각의 기능을 이해하는 것도 의미가 있지만, 이 글에서는 데이터 수집 시스템의 캡처 단계에 주로 초점을 맞추고 있다.

글 | 더글라스 피아섹키(Douglas Piasecki), 설계 관리자
마이크로컨트롤러 제품
실리콘 래버러토리스(Silicon Laboratories)


캡처(Capture)
정교한 혼성신호(mixed-signal) MCU는 아날로그 세계에서 정보를 캡처하여 디지털 형태로 된 지속적인 신호로 변환할 수 있어야 한다. 아날로그-디지털 변환기(ADC)는 이 작업을 위해 매우 중요한 MCU 주변 기기이므로, ADC의 기능에 따라 어떤 MCU가 애플리케이션에 적합한지 결정되는 경우가 종종 있다. MCU는 다양한 직렬 및 병렬 디지털 I/O 인터페이스를 통해 이미 디지털 형태로 된 시스템 정보를 외부 소스로부터 캡처할 수 있다.

컴퓨팅(Compute)
신호 수집 후에는 수집한 데이터로 뭔가를 해야 한다. 때로는 아날로그-디지털 변환만 필요할 경우도 있지만, 수집한 데이터 샘플에 대해 몇 가지 계산(컴퓨팅)을 수행해야 할 경우가 더 많다. MCU 산업 내에서 지속적인 디지털 진화가 이루어지고 있으므로, 시스템 디자이너에게 좀 더 정교한 신호 처리와 더 빠른 프로세서 속도가 제공되고 있다. 이에 따라 임베디드 개발자는 다양한 가격/성능 목표에 맞춘 8비트, 16비트 및 32비트 혼성신호 MCU 중에서 좀 더 자유롭게 선택할 수 있게 됐다. 또한 시스템 작업을 수행할 수 있는 더 많은 온칩 옵션이 개발자에게 제공되고 있다. 예를 들어 디자이너는 단순히 프로그램 코드를 사용하여 샘플링된 데이터를 처리할 수도 있고, MCU 주변 기기 내의 여러 통합된 개선 기능을 활용할 수도 있다. 또한 필터링 등의 일반적인 작업을 프로세스에서 오프로드하기 위해 기능성 머신이 통합됨에 따라 MCU 하드-매크로 주변 기기가 더 큰 자율성을 갖추게 됐다.

통신(Communicate)
마지막으로, 제어 프로세스 내에서 정보를 교환하기 위해 일정한 형태의 통신이 필요하다. 이 기능은 “탱크가 꽉 참”이라고 표시하는 단일 포트 비트 토글처럼 간단할 수도 있고, 다양한 직렬/병렬 또는 무선 인터페이스를 통해 상태별 작업을 시작하는 것과 같이 매우 복잡할 수도 있다. 캡처하고 처리한 데이터를 디지털-아날로그 변환기(DAC)를 사용해 다시 아날로그 형태로 변환함으로써 전압 또는 전류의 아날로그 출력으로 통신이 이루어질 수도 있다.

다목적 MCU 기반 데이터 수집 시스템
MCU 데이터 수집 시스템의 핵심은 ADC이다. 전자 세계에서 아마도 가장 친숙한 유형의 ADC는 SARADC(successive-approximation ADC)일 것이다. 많은 MCU가 속도와 성능의 다목적성을 이유로 SARADC를 사용하고 있다. 8비트에서 16비트 사이의 정확성과 매우 느린 온디멘드(on-demand) 변환 요청부터 초당 1백만 개 이상 변환까지의 처리량이 MCU에서 가능하다. 하지만 ADC는 전체 데이터 수집 시스템의 일부분일 뿐이다. 다목적성을 가능하게 하는 데이터 수집 시스템의 다른 부분으로는 신호 입력 인터페이스, 기준 전압 인터페이스, ADC의 클로킹 및 샘플링 시스템, 변환된 ADC 출력 데이터의 데이터 관리 기능 등이 있다.

아날로그 입력 인터페이스는 디지털 또는 아날로그용으로 구성될 수 있고 때로는 둘 모두에 대해 구성될 수 있는 공통 입출력(I/O) 패드 구조 간에 주로 공유된다. 예를 들어 SiM3U1xx/SiM3C1xx 및 SiM3L1xx 같은 실리콘 랩스(Silicon Labs)의 Precision32 MCU 제품은 최대 31개의 입력을 지원하는 대형 입력 멀티플렉서를 시스템 디자이너에게 제공한다. 이러한 대형 입력 멀티플렉서의 목적은 다수의 입력 소스를 모니터링할 수 있는 능력을 제공하는 것뿐만 아니라 임베디드 시스템 설계의 구성 가능성을 높이는 것이기도 하다. 디자이너가 다양한 패키지 핀 위치에서 시스템 요구사항에 따라 아날로그 및 디지털 기능을 분할할 수 있도록 허용함으로써 다목적 구성이 가능해진다. 입력 멀티플렉서 내에서 가장 일반적인 보조 입력 중 하나는 온칩 온도 센서에서 이루어지며, 또 하나의 중요한 입력에는 공급 전압이나 접지 신호 같은 내부 전압이 포함된다.

시스템의 입력 채널을 구성한 후에는 임베디드 디자이너가 프로그램 코드를 사용해 채널을 선택하고 ADC 변환을 요청할 수 있다. 디자이너는 프로그램 코드를 오프로드하고 ADC 채널 시퀀서(Precision32 MCU에서 사용 가능한 기능)가 무언가 중요한 것을 감지할 때까지 사전 결정된 채널 입력을 계속 반복하도록 할 수 있다.

데이터 수집 시스템의 또 다른 중요한 측면은 ADC 기준 전압(VREF)이다. 기준 전압은 시스템의 입력 동적 범위 또는 전체 범위를 설정하며 전체 노이즈 성능에 큰 영향을 미칠 수 있다. 멀티플렉서는 일반적으로 다양한 온보드 및 외부 기준 전압 입력으로부터 VREF를 선택하는 데 사용된다. 흔히 선택하여 사용하는 전압으로는 MCU 내부에서 생성되는 다양한 버퍼링된 밴드갭 전압, 외부에서 생성되는 정교한 전압 기준 그리고 I/O 패드 구조 및 ADC 제한과 호환되는 다양한 외부 공급 전압이 있다.

사용 가능한 입력 채널이 이처럼 많기 때문에 일부 시스템에서는 하나 이상의 입력에 대해 입력 동적 범위가 단일 VREF 전압과 호환되지 않을 수 있다. 이 문제를 해결하기 위해 실리콘 랩스의 Precision32 MCU는 0.5× 또는 1×의 게인(gain)이 있는 입력 게인 스테이지를 ADC 안에 통합하여 입력 신호가 선택된 VREF와 더 잘 호환되도록 한다. 또한 실리콘 랩스의 8051 기반 C8051F50x/F51x MCU는 개발자가 0에서 1.016 사이의 게인 값을 선택할 수 있는 게인 조절 옵션을 구현하고 있다. 이러한 게인은 입력 신호의 동적 범위를 VREF가 정의한 ADC의 전체 범위에 좀 더 가깝게 감쇠하는 데 유용하다.

ADC 변환 사이클
또한 ADC의 클로킹 시스템은 MCU 애플리케이션의 범용 특성을 지원할 수 있도록 자유롭게 구성할 수 있어야 한다. SAR 변환기는 나이퀴스트(Nyquist)급 변환기 범주에 속하므로, 시스템 디자이너는 최소한 입력 신호 대역폭의 두 배인 샘플 속도로 나이퀴스트 샘플링 기준을 충족시켜야 한다. 또한 개발자는 ADC를 구성할 때 두 배의 관리 작업을 예상해야 한다. 이러한 작업은 ADC 변환 사이클 그리고 MCU 시스템 내에서 사용할 수 있는 다른 두 클록 소스와 관련이 있다. 변환 사이클은 그림 1에 나타낸 것처럼 추적 기간(tracking period)과 변환 기간(conversion period)의 두 부분으로 구성된다.



추적 기간은 변환 사이클에서 ADC 입력 회로가 입력 신호에 연결되어 있을 때이다. 입력 샘플은 추적 기간이 끝나고 입력 회로와 입력 소스의 연결이 끊기는 순간에 발생한다. 이 순간은 ADC로 전달되는 디지털 제어 신호에 의해 일어나는 데, 이를 CNVST(convert-start)라고 한다. 이름 그대로, CNVST는 추적 기간의 끝과 변환 기간의 시작 지점을 표시한다.

변환 기간은 변환 사이클에서 ADC가 호출되어 SAR(successive-approximation-register) 알고리즘을 실행할 때이다. 예를 들어 SAR은 MSB(most-significant-bit)에서부터 LSB(least-significant-bit) 수준까지(일반적으로는 중간 수준 사용) 한 번에 한 비트씩 연속적으로 확인한다. 각 SAR 결정 결과는 SARREG(SAR-register)에서 상대적 위치로 클로킹 되어 결국에는 완성된 디지털 결과를 이룬다. N-비트 SARADC는 N ADC 클록 사이클을 사용하여 N 비트 결정과 몇 가지 추가적인 오버헤드 클록 사이클을 확인하여 MCU 시스템 클록에 동기화한다.

ADC가 입력 신호를 추적하는 데 사용해야 하는 시간은 ADC의 입력 로드 특성, 신호 소스의 드라이브 능력, 측정에 필요한 정확도와 관련이 있다. MCU 디바이스 규격 시트에는 ADC 입력 모델 그리고 ADC 입력에서의 입력 커패시턴스, 저항 및 누설 전류에 대한 값이 나와 있다. 정확한 측정을 위해 개발자는 입력 신호가 0.5 LSB 이상으로 정상화되도록 충분한 추적 시간을 가져야 한다. 충분한 시간 동안 추적하지 않으면 총체적 신호 오류, 이전에 샘플링된 입력과의 혼선, 왜곡 등 측정 불일치가 발생할 수 있다.

변환 기간은 일반적으로 SARADC 클록 기간과 관련된, 즉 각 비트 결정에 대한 구성 가능한 시간이기 때문에 추적 시간을 SAR 변환 기간에 사용되지 않는 CNVST 요청 간의 시간이라고 하는 것이 가장 좋은 설명일 수도 있다. 간단히 말해, ADC가 변환 중이 아니면 추적 중인 것이다. 변환 요청 간에 긴 시간이 있으면 추적 시간이 과도하게 길어지게 된다. 이 문제를 해결하기 위해 실리콘 랩스의 MCU 제품은 변환 요청 사이에 추적 회로의 전원을 끔으로써 시스템 전력 소비를 줄일 수 있는 기능을 제공한다.

ADC 변환 처리 속도는 변환이 요청되는 빈도를 나타내며 주로 Fs 기호로 지정된다. 최대 처리 속도는 최소 변환 시간과 더불어 최소 추적 시간의 ADC 타이밍 구속 조건에 의해 설정된다. 시간 간격이 일정한 변환 시작 요청 스트림을 실행하면 일정한 처리 속도를 얻을 수 있다. 그래서 두 주요 시간 관리 작업을 관리하기 위해서는 구성 가능한 ADC 클록 시스템이 필수적이다.

시간 관리 작업 중 하나는 변환 기간 동안 사용되는 클록을 생성하여 SAR 알고리즘을 실행하는 것이다. 변환 기간과 관련된 SARCLK(SAR 클록)는 주로 MCU 시스템 클록에서 파생된다. SARCLK 구성 가능성은 1 MHz 미만에서 100 MHz 이상까지 다양한 주파수의 MCU 시스템 클록을 수용할 수 있어야 한다. ADC의 내부 비교기 설계로 인해 SAR 변환 알고리즘을 클로킹할 수 있는 최대 속도가 정해져 있다. 시스템 디자이너는 최대 클록 속도 규격을 위반하지 않도록 SARCLK 주파수를 구성해야 한다. 다른 시간 관리 작업은 적절하게 구성된 변환 기간 동안 ADC 변환기의 최대 처리 속도를 위반하지 않는 변환 요청 샘플 속도를 생성하는 것이다.

애퍼처 지터 및 딜레이(aperture jitter & delay)
변환 시작 요청 신호는 ADC 샘플-앤-홀드 회로가 입력 신호를 실제로 캡처하는 순간을 정의하기 때문에 샘플 클록이라고 생각하면 된다. ADC 변환 요청의 타임 베이스를 구성할 때는 샘플-앤-홀드 회로가 관련된 두 가지 유명한 값을 고려해야 한다. 애퍼처 지터와 애퍼처 딜레이라고 하는 두 값은 그림 2와 같이 애퍼처 시간 딜레이에 비해 상대적으로 빠르게 바뀌는 입력 신호에 대해 입력 샘플의 정확성에 영향을 미친다.



애퍼처 지터는 클록 시스템 그리고 변환 시작 신호를 생성하는 다른 회로와의 불일치, 즉 클록 지터에 의해 발생한다. 애퍼처 딜레이는 변환 시작 신호와 샘플 스위치 간의 회로 딜레이로부터 발생한다. 애퍼처 지터는 데이터 수집 시스템에 노이즈와 왜곡을 일으킬 수 있다. 애퍼처 딜레이는 MCU 디자이너에 의해 내부적으로 관리되며, 긴 지연으로 인해 더 많은 지터가 생길 위험을 방지하기 위해 최소화되어야 한다. 애퍼처 딜레이는 데이터 수집 시스템에 지연 오류를 일으킨다. 애퍼처 딜레이가 너무 길면 마치 “탱크 꽉 참” 신호가 표시되기 전에 넘치기 시작하는 물탱크와 마찬가지다.

여러 첨단 MCU와 마찬가지로 실리콘 랩스의 MCU 제품은 내부 및 외부 변환 시작 트리거 소스에 의해 변환이 시작되는 것을 허용한다. 예를 들어 내부 변환 요청 소스에는 프로그램 코드 또는 다양한 타이머 주변 기기 오버플로 표시로부터의 온디멘드 요청이 포함된다. 외부 변환 요청 소스는 MCU I/O 인터페이스를 통해 유입되며 ADC 샘플 회로에 직접 연결된다. 실리콘 랩스의 MCU는 샘플링 이전에 외부 변환 신호를 재동기화하지 않는다. 이는 애퍼처 지터로 이어져 결과적으로 측정 오류를 일으키기 때문이다.

이러한 이유로 인해 안정적인 변환 시작 요청 타이밍을 생성하기 위해서는 정확한 타임 베이스가 필요하다. MCU는 시스템 클록을 선택할 수 있는 다양한 온보드 클록 또는 외부 소스를 제공한다. 시스템 디자이너는 데이터 수집 시스템의 수요를 충족시킬 수 있을 만큼 정확한 클록 소스를 신중히 선택해야 한다. 고속 입력 소스의 경우에는 매우 정확한 크리스털 오실레이터일 수도 있다. 반면에 직류(dc) 또는 매우 느린 입력은 클록 시스템 오류에 영향을 거의 안 받지만 변환 간에 충분한 정리 시간이 필요하다.

버스트 모드 기능
실리콘 랩스의 MCU 제품에서 특히 유용한 두 기능은 버스트 모드(burst mode)와 사후 추적 모드(post-track mode)이다. 버스트 모드는 한 변환 요청으로부터 모두 트리거되는 연속적인 ADC 변환의 프로그래밍 가능한 숫자로부터 누적된 평균 결과를 생성한다. 사후 추적 모드는 변환 시작 요청의 작업을 변경하여 MCU 시스템으로부터 필요한 추적 시간 관리를 오프로드한다. 일반적으로 변환 시작은 추적 기간의 끝과 변환 기간의 시작 지점을 표시한다. 하지만 사후 추적 모드에서 변환 시작 요청은 추적 기간의 시작을 알리고, 이 추적 기간이 미리 구성된 SARADC 클록 기간을 기준으로 프로그래밍 가능한 시간 동안 진행된 후에 변환이 시작된다. 사후 추적이 있는 버스트 모드는 저주파수에서 실행되는 MCU에 대해 단일 MCU 클록 사이클 내에서 누적 ADC 결과를 달성할 수 있으므로, 그림 3과 같이 시스템 사이클 및 에너지를 절약한다. 

ADC 데이터 윈도잉
실리콘 랩스의 8비트 및 32비트 혼성신호 MCU에는 ADC 출력 데이터 윈도 비교기(window comparator)가 있다. ADC 출력 데이터는 프로그래밍 가능한 상한 및 하한과 비교된 후에 설정된 한도 내외 또는 상하의 ADC 출력 데이터에 대한 프로그램 중단을 자동으로 생성할 수 있다. 데이터 윈도 비교기를 사용함으로써 디자이너는 데이터 윈도 비교기가 MCU 프로그램에 중단 명령을 내리기 전까지 ADC가 “탱크 꽉 참” 레벨 센서 입력을 자율적으로 확인하도록 구성할 수 있다. 중단 명령이 내려질 때 MCU는 그 순간 진행 중이던 모든 작업을 중단하고 탱크 시스템을 정밀 제어하는 작업으로 전환될 수 있다. 

결론
임베디드 시스템 개발자는 데이터 수집 시스템을 향상시키는 다양한 구성 옵션을 제공하는 개선된 실리콘 통합의 혜택을 지속적으로 누린다. 이제는 ADC 같은 MCU 주변 기기를 손쉽게 구성하여 과거에 사용자 지정 ASIC가 필요하던 여러 임베디드 애플리케이션을 처리할 수 있다. 혼성신호 MCU 주변 기기는 보다 자율적으로 운영됨으로써 주변 기기 중단 명령이 실행될 때까지 프로그램 코드가 다른 작업을 수행할 수 있도록 해준다.  ES

실리콘랩스, 비용 효율적인 USB 기반 평가키트

실리콘랩스는 비용 효율적인 USB 기반 평가키트(제품명: Class D ToolStick)를 출시했다. 이 평가 키트를 통해 개발자들은 실리콘랩스의 다기능 SiM3U1xx Precision32™ 마이크로컨트롤러(MCU) 기반의 32비트 임베디드 설계에 디지털 클래스 D 오디오 성능을 추가할 수 있다. 이번 클래스 D 툴스틱(Class D ToolStick )은 개인용 의료 기기, 헬스 기기, 고성능 장난감, 소형 기계 및 기타 소비자 가전제품에서 사용되는 기본적인 부저/비퍼 경고음을 세련된 음성 프롬프트나 음악, 사운드 클립, 스트리밍 오디오로 쉽고 경제적으로 업그레이드할 수 있다. SiM3U1xx MCU는 소형 스피커를 직접 구동할 수 있는 300 mA 하이-드라이브 I/O(입출력), USB 오디오 인터페이스와 호환되는 크리스털리스 USB 트랜스시버, 2개의 250 kbps 12비트 아날로그-디지털 변환기(ADC), PC, 휴대형 음악 플레이어, 다양한 I 2S 지원 오디오 기기에서 오디오 스트리밍을 지원하는 I 2S 리시버가 포함됐다. SiM3U1xx MCU에서 클래스 D 오디오를 구동하기 위해 필요한 유일한 외부 부품은 저렴한 인덕터와 커패시터 일부 및 페라이트 비드(ferrite bead) 정도다. 개발자들은 새로운 툴스틱을 통해 정전 용량 방식의 터치 버튼과 슬라이더를 자신의 32비트 임베디드 시스템에 추가하거나 펄스폭변조(PWM)를 갖춘 SiM3U1xx MCU의 하이 드라이브 I/O를 사용해, 소형 모터와 같은 다른 부품을 직접 구동시킬 수 있다. 이에 따라 별도로 전력 전계 효과 트랜지스터(FET)를 사용하지 않아도 된다. 클래스 D 툴스틱 보드는 SiM3U1xx MCU의 내부 5 V 레귤레이터를 사용하는 USB에서 전원을 공급받으며, 간단한 스피커를 사용해 스테레오 잭, 컴퓨터에서 음악이나 녹음된 메시지를 재생한다. 클래스 D 툴스틱은 MCU의 온 칩 ADC를 사용하는 휴대 음악 재생기의 샘플링 데이터, PC를 통한 USB 오디오 스트리밍, 범용 오디오 압축을 사용해 온 칩 플래시 메모리에 저장된 미리 녹음된 사운드 클립 재생, 범용 오디오 압축을 사용해 플래시에 데이터를 저장하는 음성 레코더의 4개의 작동 모드를 제공한다. 따라서 개발자들은 정전 용량 방식의 터치 버튼으로 손쉽게 모드를 전환하고 정전용량의 터치 슬라이더로 볼륨을 조절할 수 있다.

 

<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>



  • 100자평 쓰기
  • 로그인

세미나/교육/전시
TOP