파이썬 또는 MATLAB과 ACE 소프트웨어를 사용하여 데이터 컨버터를 신속히 평가하는 방법
글: 루이스 벨트란 길(Lluis Beltran Gil), 제품 AE(Product Applications Engineer), 아나로그디바이스(Analog Devices, Inc.)
개요
평가 보드(EVB)와 동반 소프트웨어를 플러그 앤 플레이 기능을 이용하여 함께 사용하면 아나로그디바이스(Analog Devices) 제품의 성능을 쉽게 평가할 수 있다. 그래픽 사용자 인터페이스(GUI)는 디바이스를 수동으로 구성하고 통신할 수 있는 직관적인 수단을 제공한다. 그러나 복잡한 제품의 경우, 사용 가능한 모든 기능을 평가하면서 모든 제품의 다양한 부가 기능을 점검하는 작업은 반복 작업들을 자동화하지 않는다면 시간이 많이 걸릴 수 있다.
이 글에서는 복잡한 소프트웨어 컨트롤러 코드를 개발하지 않고도 매크로를 기록하는 방법과 파이썬(Python
®) 및 매트랩(MATLAB
®) 환경에서 매크로를 사용하여 특정 평가 작업을 자동화하는 방법을 설명한다. 이 글에 사용된
AD7380 및
AD7606C-16 예제는 다양한 구성을 점검하고 변환을 실행한 다음 결과를 내보내는 동작과 같은 모든 사용자 상호작용을 자동화한다. 이러한 예제들은 오버샘플링 디지털 필터가 아날로그-디지털 컨버터(ADC)에 제공하는 성능 이점의 평가를 자동화하는 데 사용된다. 이 글에서는 AD7380 및 AD7606C-16을 다루었지만, 이 글의 정보는 다른 ADI 제품과 애플리케이션에도 적용할 수 있다.
머리말
ADI는 모든 신제품들과 신제품의 달성 가능한 성능을 쉽게 평가할 수 있는 수단을 제공한다. 첫째, ADI의 평가 보드는 ADC와 같은 주 장치와 함께 전압 레퍼런스, 드라이버 증폭기, 클록 소스, 전원 솔루션과 같은 필수적인 제품을 탑재한 인쇄회로기판(PCB)으로 구성된다. 둘째, 평가 보드는 솔루션이 달성할 수 있는 실제 성능을 보여주는 소프트웨어와 함께 제공된다. 소프트웨어는 이 플랫폼을 사용하여 얻을 수 있는 실제 데이터를 보여준다. 지난 몇 년 간 ACE 소프트웨어1는 이러한 목적을 위해 사용된 플랫폼이다.
ACE 플랫폼 내에서 각 제품은 플러그인을 내장하므로 깔끔하고 쉽게 이동 가능한 그래픽 사용자 인터페이스(GUI)를 통해 디바이스 레지스터 맵에 액세스하여 손쉽게 디바이스를 구성할 수 있다.
ADC 예제에서 ACE는 일반적으로 파형 또는 히스토그램의 형태로 원자료를 표시하고 FFT를 통해 신호대잡음비(SNR) 또는 총고조파 왜곡(THD)와 같은 AC 성능 지표를 계산한다. 이 글은 소프트웨어를 개발할 필요 없이 이러한 모든 절차를 자동화하는 방법을 보여준다.
그림 1. ACE와 파이썬/매트랩의 통신을 포함하여 평가 보드의 하드웨어 및 소프트웨어 상호작용을 보여주는 블록 다이어그램
ACE 플러그인
그림 2는 디바이스를 쉽게 구성할 수 있도록 여러 버튼이 제공되는 AD7380 플러그인 칩 화면을 보여준다.
- REF는 내부 또는 외부 레퍼런스를 선택할 수 있다.
- OSC는 오버샘플링을 활성화하고 오버샘플링 비를 설정할 수 있다.
그림 2. AD7380의 ACE 플러그인 칩 화면
그림 3은 AD7606C-16 플러그인 칩 화면을 보여준다. 여기에서 더 진한 파란색으로 표시된 여러 버튼을 사용하여 다음을 수행할 수 있다.
- PGA 기호를 클릭하여 채널당 아날로그 입력 범위를 선택한다.
- 레퍼런스 소스로 내부 또는 외부를 선택한다.
- 오버샘플링 비를 선택한다.
- 오프셋/이득/위상 교정 기능을 구성한다.
- 진단을 구성한다.
그림 3. AD7606C-16의 ACE 플러그인 칩 화면
앞선 예시에서는 AD7380 및 AD7606C-16을 사용했지만, 이 글의 범위는 이 제품뿐만 아니라 ACE의 작업과 반복 작업 자동화와 관련된 모든 것을 포함한다. 모든 ACE 플러그인은 자체 GUI 레이아웃을 갖지만 제품의 복잡성이 증가하고 진단이나 교정 등 많은 기능이 추가됨에 따라 이러한 모든 기능을 수동으로 테스트하는 작업은 더 복잡하고 지루해진다. ACE 원격 제어는 일례로 오버샘플링 비를 검토하고 잡음 성능이 얼마나 향상되는지 측정하기 위해 파라미터를 설정하거나 점검하는 기능을 제공한다.
ACE 원격 제어 설정
ACE를 원격 제어하는 코드를 생성하기 전에 다음 단계를 수행하여 ACE와의 통신을 설정해야 한다.
- ACE를 열고 Settings으로 이동한다.
- IPC Server 탭으로 이동하여 활성화되어 있는지 확인한다.
- 포트가 할당되었는지 확인한다(2357 권장).
그림 4. ACE와 통신 설정하기
매크로 기록 및 스크립트 생성
ACE에는 구성과 디바이스 상호작용 단계를 매크로 파일에 넣어 기록하는
Macro Tools 메뉴가 있다. 매크로가 생성되면 이를 사용하여 한 번에 모든 단계를 자동으로 반복할 수 있다. 다음은 매크로 생성 방법을 설명한 것이다.
- ACE를 열고 Tools >> Macro Tools로 이동한다.
- 그림 5의 우측 상단 파란색 영역 안에 있는 매크로 기록(record macro) 명령 버튼을 누른다.
- 디바이스 상호작용(파라미터 변경, 메모리 맵의 레지스터에 값 삽입, 데이터 캡처 등)을 수행하기 시작한다. GUI를 이동하고 상호작용함에 따라 Command 창이 채워진다.
- 입력할 모든 동작/설정을 기록했다면, 매크로 기록 중지 명령 버튼을 누른다. 버튼은 위의 2번과 같은 위치에 있다. 그러면 Command 창이 자동으로 나타난다.
예를 들어 매크로를 기록하는 동안 사용자는 간단히 그림 2에 설명된 버튼을 사용하여 오버샘플링 비와 분해능 모드를 구성한다. Command 창은 그림 5와 같이 보인다.
그림 5. Command 창과 매크로 도구
이 창에서 선택 가능한 언어 스크립트로 전체 프로그램을 내보내기 전에 기록된 모든 단계를 검토하고 원하지 않는 자동 생성 단계는 생략하거나 중단할 수 있다(그림 5에서 빨간색으로 표시).
매크로 파일이 기록되었다면, 매크로 파일을 저장하고 다시 재생하여 이전에 수행한 단계를 반복할 수 있다. ACE에는 지원되는 언어에서 선택한 언어로 기록된 동작을 수행하는 스크립트를 생성하는 기능이 내장되어 있다. 앞의 목록에 이어 다음 단계를 수행한다.
- 그림 5에서 파란색 표시 영역의 오른쪽에 있는 Generate 아이콘을 클릭하여 스크립트 생성기 창을 연다.
- C#, MATLAB 또는 Python 중에서 원하는 언어를 선택하고 Export를 누른다.
그런 다음 이 코드를 실행하기 위해 IDE로 가져올 수 있다. 이 코드를 기본으로 사용하여 계측 제어와 같은 추가적인 기능을 추가하여 측정을 위한 자동화된 테스트 벤치를 사용할 수 있다.2 Visual Studio Code 또는 MATLAB은 다음 섹션에 나오는 예제에 사용되며, 예제들은 별도의 추가 장비 없이 제품 평가 보드를 사용하여 잡음 분석을 수행한다. 다음 섹션들에서 나오는 수집된 데이터의 조작, 저장 또는 그래프 작성을 위한 코드 예제를 보려면
wiki.analog.com을 방문하여 관심있는 평가 보드를 검색하면 된다.