MCU 기반 혼합 신호 설계 디버깅 MCU 기반 혼합 신호 설계 디버깅
김재호 2008-01-24 16:28:45

MSO(Mixed Signal Oscilloscope)를 사용한

MCU 기반 혼합 신호 설계 디버깅

지금까지 마이크로 컨트롤러(MCU) 및 또는 디지털 신호 프로세서(DSP)에 기반한 혼합 신호 임베디드 설계를 테스트하고 디버깅하기 위해 오실로스코프와 로직 분석기를 모두 사용하여 해왔다. 그러나 혼합 신호 오실로스코프(MSO)를 사용하면, 임베디드혼합신호 설계를 더욱 효율적으로 Turn on 및 디버깅 할 수 있다.

글 │져니핸컥(Johnnie Hancock), 애질런트테크놀로지스 데이비드 브로스트(David Brobst), 솔루션큐브

디지털 회로를 설계하는 엔지니어는 지금까지 오실로스코프와 로직 분석기를 모두 사용하여 마이크로 컨트롤러(MCU) 및 또는 디지털 신호 프로세서(DSP)에 기반한 혼합 신호 임베디드 설계를 테스트하고 디버깅 해왔다. 그러나 혼합 신호 오실로스코프(MSO)라고 하는 새로운 부류의 측정툴이 임베디드 설계를 디버깅할 때 많은 장점을 제공한다.

MSO의 고유한 장점을 보여주기 위해 여기에서는 마이크로 컨트롤러에 기반한 혼합 신호 임베디드 설계에 이용되는 일반적인 Turn-on 및 디버깅 방법을 소개할 것이다. MSO는 다양한 아날로그, 디지털 및 직렬 I/O(I2C) 입력조건에 따라 MCU 및 이와 관련된 주변 하드웨어에 의해 생성된 펄스화 아날로그‘처프’출력 신호의 올바른 신호 품질을 검증하는데 사용된다. 그러나 이 특정한 임베디드 설계를 살펴보고MSO를 통해 Turn-on 및 디버깅하는 방법을 설명하기에 앞서‘MSO’의 정의부터 내리고 시작한다.

MSO란 ?

MSO는 디지털 스토리지 오실로스코프(DSO)의 모든 측정 기능과 로직 분석기의 일부 측정 기능을 단일 계측기로 결합시켜 상승 효과를 얻는 혼합형 테스트 계측기이다. MSO를 사용하면 그림 1에 나타낸 것 처럼 동일 디스플레이에서 시간 정렬된 여러 개의 아날로그 및 디지털 파형을 관찰할 수 있다.

MSO에는 일반적으로 완전한 성능의 로직 분석기가 가지고 있는 고급 디지털 측정 기능과 풍부한 디지털 수집채널이 부족하다. MSO는 상대적으로단순하여 완전한 성능의 로직 분석기와 관련된 복잡한 사용 모델을 피할 수 있다. 실제로 MSO의 주된 장점 중 하나는 사용 모델에 있다.

MSO는 오실로스코프를 사용할 때와 매우 유사하게 사용할 수 있다. 또한 MSO는 고도로 통합되어 있어 두계측기가 엉성하게 연결된 혼합 신호측정 솔루션보다 사용하기가 훨씬 편리하다. 훌륭한 MSO는 사용자 친화적 이어야 하고 파형 업데이트 속도가 빨라야 하며 조작이 로직 분석기가 아니라 오실로스코프와 비슷해야 한다.

임베디드‘처프’설계

그림 2는 임베디드 산업 애플리케이션을 위해 미국 캘리포니아의 솔루션큐브(Solutions Cubed)에 의해 개발된 임베디드‘처프’제품에 대한 블록 다이어그램이다. 이 혼합 신호 임베디드 제품의 핵심에는 내부 16비트 명령어 집합으로 작동하는 마이크로칩 PIC18F452-I/PT 마이크로 컨트롤러가 있다. 이 특정한 MCU에는 내부 버스 구조가 있고 임베디드 아날로그-디지털 컨버터(ADC)가 포함되어 있기 때문에 이 혼합 신호 장치와 관련 외부회로는 MSO로 Turn on 및 디버깅하기에 가장 적합한 대상이다.

이런 특정한 설계의 작동을 이해하는 것이 특정 설계 애플리케이션과 큰관련이 없을지 모르지만, 이러한 종류의 혼합 신호 측정 애플리케이션에서 MSO가 어떻게 사용되는지 이해할 수 있도록 이 시스템의 작동을 개괄적으로 알아보자.

이 설계의 궁극적인 목표는 다양한 아날로그, 디지털 및 직렬 I/O 입력 조건에 적합한 다양한 길이, 모양 및 진폭을 가진 아날로그‘처프’출력 신호를 생성 하는 것이다(처프는 우주항공/방위 및 자동차 애플리케이션에서 볼 수 있는 특정한 사이클 수로 이루어진 RF 펄스 아날로그 신호이다). MCU는 다음 3가지 아날로그 및 디지털 입력을 동시에 모니터링하여 생성해야 하는 출력 처프 신호의 아날로그 특성을 확인한다.

1. 사용자 제어 패널의 상태를 MCU에 있는 병렬 디지털 I/O 포트 중 하나를 통해 모니터링하여 출력 생성된 처프 신호의 모양(사인파, 삼각파 또는 사각파)을 확인한다.

2. 가속 아날로그 입력 센서의 출력 레벨을 MCU에 있는 ADC 입력 중 하나를 통해 모니터링하여 출력 생성된 처프 신호의 진폭을 확인한다.

3. 직렬 I2C 통신 링크의 상태를 MCU에 있는 전용 I2C 직렬 I/O 포트를통해 모니터링하여 출력처프에서 생성되는 펄스 수를 확인한다. 이 I2C 통신 입력 신호는 이 임베디드 설계에 있는 또 다른 지능형 하위 시스템 구성요소로부터 생성된다.

이러한 3가지 아날로그, 디지털 및 직렬 입력의 상태에 따라 MCU는 일련의 병렬 출력 신호를 외부 8비트 DAC로 생성하여 다양한 진폭, 모양 및 길이의 아날로그 처프 신호를 생성한다.

그러면 필터 처리되지 않은 DAC의 계단식 출력을 아날로그 저역 필터에 통과시켜 출력 신호를 평탄화하고 노이즈를 줄인다. 이 아날로그 필터는 출력신호에 미리 결정된 양의 위상 편이를 유발시킨다. 마지막으로, MCU는 제공되는 또 다른 디지털 I/O 포트를 통해 병렬 디지털 출력을 생성하여 시스템상태 정보를 제공하는 LCD 디스플레이를 작동시킨다.

MSO를 이용한 임베디드‘처프’설계의 Turn on 및 디버깅

이 설계에서 MCU를 설계/프로그래밍하는 첫 단계는 적합한 아날로그 및 디지털 I/O 포트 수에 맞게 MCU의 I/O를 구성하는 것이었다. 마이크로칩에서 나온 이 특정한 마이크로 컨트롤러에서는 아날로그 I/O 포트 수를 줄여 디지털 I/O 포트를 늘릴 수 있으며, 그반대도 가능하다.

다양한 입력을 모니터링하고 지정된 최종 출력 신호를 생성하도록 MCU를 코딩하기 전에 먼저 이 임베디드 설계의 한 섹션/기능을 한 차례 Turn on 하는 테스트 코드를 개발하고 인터렉티브한 복잡성을 추가하기 전에 적합한 작동과 신호 무결성을 확인하기로 결정했다. Turn on 및 디버깅한 첫 섹션/기능은 외부 출력 DAC와 아날로그 필터였다. 이 회로와 내부 펌웨어가 올바로 작동하는지 확인하기 위해 입력 제어/상태 신호 조건에 관계 없이 고정 진폭의 연속/반복 사인파를 생성하도록 초기에 MCU를 코딩했다.

MSO를 사용한 MCU 기반 혼합 신호 설계 디버깅

그림 3은 외부 DAC의 디지털 입력을 구동하는 MCU 디지털 I/O 포트의 연속디지털 출력(파란색/맨 아래 트레이스)을 포착한 MSO의 화면 이미지이다. 이와 함께 컨버터의 시간 정렬된 계단식 출력(노란색/맨 위 트레이스)과 아날로그 필터링된 출력 신호(녹색/중간 트레이스)도 볼 수 있다. 이 특정한 신호는 8비트 DAC(최대 256레벨)의 16레벨만 사용하는 상대적으로 낮은 레벨의 출력 신호였기 때문에 오실로스코프 디스플레이에서 이 컨버터의 필터링되지 않은 계단식 출력 특성을 쉽게 볼 수 있다.

DAC의 출력이 최고 출력 레벨(가운데 화면)에 도달했을 때 트리거되도록이 특정한 수집을 설정했다. 기존의 오실로스코프 트리거링을 사용하여 이 특정한 포인트에서 트리거하려 했다면 불가능했을 것이다. 스코프 트리거링에는 에지 전환이 필요하기 때문에 스코프로 신호‘위’에서 트리거하는 것은불가능하다. 출력 신호의 이 포인트/위상에서 트리거하기 위해 외부 컨버터의 최고 출력 아날로그 레벨과 일치하는 DAC의 디지털 입력 신호(MCU I/O 포트의 출력)를 바탕으로 단순한 1레벨 패턴 트리거 조건을 수립했다. 이파형 지점에서 정확하게 트리거하기 위해 트리거링에‘HHHL HHL’의병렬 이진 패턴을 입력했다.

이 MSO에는‘한정된’패턴 트리거링이 채택되었기 때문에 스코프는 항상 지정된 패턴이 시작될 때 트리거하며 불안정한/전환이 있는 조건에서는 절대 트리거하지 않는다. 이 스코프는 최소 2ns의 안정적 로직 레벨을 요구하고 안정적 패턴이 입력되는 경우에만 트리거하기 때문이다. 참고로 일부 혼합 신호 측정 솔루션/옵션은 지정된 패턴 트리거 조건이 존재할 때 항상 트리거한다. 다시 말해서 패턴의 중간 또는 전환 상태에서도 트리거 할 수 있다. ‘한정된’패턴 트리거링이 없으면 불안정한 트리거가 얻어진다.

그림 4는 DAC의 50% 출력 레벨에서 정확하게 트리거하는 MSO의 트리거 설정 조건이다. 아날로그 트리거 조건 이외에 병렬 디지털 입력 신호에서 패턴 트리거를 사용하여 이러한 결과를 얻었다. 모든 MSO/혼합 신호 측정 솔루션이 아날로그 및 디지털 조건 모두에서 결합된 혼합 신호 트리거링을 허용하는 것은 아니라는 점을 명심해야 한다.그러나 두 개의 아날로그 출력 조건이동일 레벨에 있을 때(50% 상승 레벨 및 50% 하강 레벨) 상승 또는 하강 포인트와 일치하는 트리거링에 8비트 입력 패턴에서의 패턴 트리거링 이상의 것이 필요했다. 아날로그 채널 2에서‘낮음’레벨에 대한 한정을 추가하여 스코프가 아날로그 및 디지털 패턴 트리거링을 함께 사용하여 원하는 위상에서 트리거하도록 할 수 있었다(아날로그 신호는 아날로그 트리거 레벨 위에 있을 때‘높음’으로 취급되고 트리거 레벨 아래에 있을 때는‘낮음’으로 취급됨).

그림 4는 또한 DAC의 계단식 출력에 상대적인 필터링된 출력 신호의 위상 편이와 함께 진폭, 주파수 등의 자동 파라미터 측정을 나타내고 있다. 외부 DAC 및 아날로그 필터링 회로를 켜고 올바른 작동을 확인한 후 이설계/Turn-on 과정에서 진행할 다음단계는 직렬 I2C 입력에 따라 반복적이지 않은 특정한 수의 사인파 펄스(처프)를 생성하는 것이었다. 그림 5는 표준 오실로스코프 에지 트리거링을 사용하여 다양한 길이의 처프를 겹쳐놓은 것이다(Infinite-Persistence). 기존의 오실로스코프 에지 트리거링에서는 특정 길이의 처프에서 트리거링을 한정하는 것이 불가능하다.

MSO의 I2C 트리거링 기능을 사용하여 스코프는 특정 길이(펄스 수)의 출력 처프를 생성하도록 MCU에 지시한 특정 직렬 입력 조건에서 수집을 동기화 할 수 있었다. 이를 그림 6과 그림7에 나타내었다.

그림 6은 MSO가 특정한 직렬 주소와 데이터 성분에서 I2C 트리거링을 통해 3 사이클 처프를 트리거할 수 있음을 보여주며, 그림 7은 스코프가 1 사이클 처프에서 트리거 할 수 있음을 보여준다. 디지털 채널 D14 및 D15(맨위에 있는 두 개의 청색 디지털 트레이스)는 각각 I2C 클럭과 데이터 입력 트리거링 신호로 정의되었다.실제로 16개의 디지털 또는 2~4개의 아날로그 스코프 채널의 어느 것이라도 이 두 직렬 입력 신호에서 직렬로 트리거하도록 정의할 수 있었을 것이다. 그림 6과 7에 나타낸 것처럼 직렬 입력 및아날로그 출력 신호를 모니터링 하면서 DAC 입력(MCU 출력) 신호(맨 아래에 있는 8개의 청색 및 읽기 디지털 트레이스)를 모니터링 하도록 D0~D7을 설정했다.나타내지는 않았지만 출력 신호 진폭을 결정하는 입력 아날로그 가속 센서에서 나오는 추가적인 아날로그 입력 신호에 따라 MSO를 동시에 프로빙, 수집 및 트리거하도록 오실로스코프의 다른 아날로그 채널을 설정할 수도 있다. 또한 사용되지 않는 MSO 디지털 채널을 사용하여 디지털 제어 패널 입력 또는 LCD 출력 드라이버 신호에서 트리거를 모니터링 하거나 더욱한정할 수도 있었을 것이다.

효율적인 Turn on 및 디버깅

지금까지 혼합 신호 오실로스코프(MSO)를 사용하여 마이크로 컨트롤러(MCU) 또는 디지털 신호 프로세서(DSP)에 기초한 임베디드 혼합 신호 설계를 더욱 효과적 및 효율적으로 Turn on 및 디버깅할 수 있음을 보여주었다. 다음에 임베디드 혼합 신호 설계를 Turn on 및 디버깅해야 할 기회가 생기면 현재의 DSO 및 또는 로직 분석기 측정 솔루션 대신 MSO의 사용을 고려해 보기를 바란다.

 

<자료제공: 월간 반도체네트워크 06년 04월호>

디지털여기에 news@yeogie.com <저작권자 @ 여기에. 무단전재 - 재배포금지>