X 시리즈란?

내용

X 시리즈 디바이스는 내쇼날인스트루먼트가 제작한 디바이스 중 가장 진보한 DAQ(Data Acquisition) 디바이스입니다. NI-DAQmx 드라이버를 사용하는 X 시리즈는 대부분의 까다로운 데이터 수집 어플리케이션의 요구사항을 해결하는 향상된 기능을 제공합니다. NI-STC3 타이밍 및 동기화 기술, 높은 전송률의 PCI Express 버스, 그리고 멀티코어 레디 드라이버 소프트웨어를 사용하는 X 시리즈는 PC 기반 다기능 I/O에 새 레벨의 우수성을 제공합니다

>> X 시리즈 데이터 수집 소개 웹 세미나 보기

NI-STC3 타이밍 및 동기화 기술

모든 다기능 데이터 수집 하드웨어는 컨트롤 아날로그, 디지털, 카운터 I/O 라인에 대한 온보드 타이밍 회로가 필요했기 때문에 타이밍 ASIC 기술의 진보가 수 십 년에 걸쳐 이루어졌습니다. 3년의 개발을 거친 X 시리즈 DAQ 제품군은 4개의 향상된 카운터, 100 MHz 타임베이스, I/O 타이밍과 트리거링에 대한 추가적인 옵션을 제공하는 NI-STC3 기술이 특징으로 꼽힙니다.

네 개의 향상된 카운터

최초의 NI-STC ASIC은 E 시리즈 디바이스에 탑재되었으며 20 MHz 카운터 2개와 24-비트 해상도를 갖추고 있었습니다. 이 카운터들이 다양한 기능들을 제공하였지만, PWM이나 엔코더 측정과 같은 기능의 경우 단일 태스크를 구현하는 데 두 카운터를 모두를 이용하는 경우가 있었습니다. 데이터 수집 시스템을 구축할 때도 역시, 카운터를 모두 사용하는 경우는 비일비재했습니다. 2004년에 NI-STC2 ASIC은 M 시리즈 디바이스에 도입되어 32-비트 해상도를 가진 80 MHz의 카운터 2개를 제공했습니다. 속도와 해상도의 향상 외에도, 2개의 카운터 각각은 PWM 출력이나 엔코더 입력 채널로 사용할 수 있었기 때문에 보다 더 나은 기능을 제공했었습니다. 새로운 NI-STC3 칩은 카운터 채널을 보다 더 깊게 활용하여 32-비트 해상도의 100 MHz 카운터 4개를 제공합니다. 단일 X 시리즈 디바이스의 4개 카운터뿐 아니라, 이전에 2개의 카운터를 필요로했던 연산 역시 단일 카운터 채널로도 해결 가능해졌습니다. 예를 들어 스테퍼 모터를 컨트롤할 경우 유한수의 디지털 펄스를 생성해야 하며 이전에는 한 카운터를 사용하여 지속적으로 펄스를 생성하고 두 번째 카운터를 이용하여 모터에 전송되는 펄스를 게이트로 제어해야 했습니다. NI-STC3 카운터는 단일 카운터로 본 태스크를 수행할 수 있는데, 즉 단일 X 시리즈 디바이스가 최고 4개의 스테퍼 모터를 컨트롤할 수 있다는 것을 의미합니다.

100 MHz 타임베이스

데이터 수집 디바이스의 온보드 타임베이스는 모든 디지털 회로를 구동하는 내부 중추부로 작동합니다. 샘플 클럭에서 트리거 라인까지 모든 사항은 타임베이스를 온보드 클럭을 참조로 사용하여 클럭 주파수를 생성하고 디지털 엣지를 래칭합니다. NI-STC3 기술은 모든 아날로그 및 디지털 타이밍에 대한 새로운 100 MHz 타임베이스를 사용하며, 이는 이전에 출시된 NI DAQ 디바이스보다 5배가 빠릅니다. 즉, 샘플링 주파수가 5배 더 정확하다는 것이고 아날로그 트리거는 트리거 조건의 10 ns 내에서 응답할 수 있다는 것입니다.

아날로그 및 디지털 I/O에 대한 독립적인 타이밍 엔진

데이터 수집 디바이스의 고급 타이밍 및 트리거링 기능은 온보드 카운터와 복합 신호 라우팅에 의존하여 특화된 하드웨어 타임 성능을 구현할 때가 있습니다. NI-STC3 기술은 다기능 디바이스의 각기 다른 I/O 그룹에 대해 완벽히 독립적인 샘플 클럭과 트리거를 제공합니다. 예를 들어 재트리거 가능한 수집은 트리거링 조건이 만족하도록 기다리는 것과 관련이 있으며 유한 수의 샘플을 이용하고 다음 수집을 위한 트리거를 곧바로 활성화합니다. 드라이버 소프트웨어 함수 호출을 사용하여 트리거를 활성화하는 것은 소프트웨어 지연으로 인해 다음 트리거를 놓칠 수 있다는 위험이 있습니다. 따라서 가능한 최고의 성능에는 하드웨어 타임 접근방식이 필요합니다. 이전에 카운터는 하드웨어 타임 재트리거링을 구현하는 유일한 방법이었으며 카운터는 재트리거 가능한 펄스 트레인을 생성하는 데 사용하고 아날로그 입력 샘플 클럭으로 작동하도록 내부를 연결해야 했습니다. 새로운 X 시리즈 DAQ 보드의 NI-STC3 기술을 이용하면 아날로그 채널은 재트리거 가능한 수집을 구현하는 카운터를 더 이상 사용하지 않아도 되고 소프트웨어 중재 없이 독립적으로 스스로 다시 활성화할 수 있습니다. 또 다른 독립 타이밍 기능의 예는 하드웨어 타임 디지털 웨이브폼을 수집하거나 생성하기 위한 새로운 전용 클럭입니다.

모듈

아날로그 입력

최고 AI 샘플링 속도

직접 AI  전송률 (모든 채널)

아날로그 출력

디지 I/O

DIO 최대 클럭 속

NI PCIe-6320  16 250 kS/s 250 kS/s 0 24 1 MHz
NI PCIe-6321  16 250 kS/s 250 kS/s 2 24 1 MHz
NI PCIe-6323  32 250 kS/s 250 kS/s 4 48 1 MHz
NI PCIe-6341 16 500 kS/s 500 kS/s 2 24 1 MHz
NI PCIe-6343  32 500 kS/s 500 kS/s 4 48 1 MHz
NI PCIe-6351  16 1.25 MS/s 1 MS/s 2 24 10 MHz
NI PCIe-6353  32 1.25 MS/s 1 MS/s 4 48 10 MHz
NI PCIe-6361  16 2 MS/s 1 MS/s 2 24 10 MHz
NI PCIe-6363  32 2 MS/s 1 MS/s 4 48 10 MHz
NI PXIe-6341 16 500 kS/s 500 kS/s 2 24 1 MHz
NI PXIe-6361  16 2 MS/s 1 MS/s 2 24 10 MHz
NI PXIe-6363  32 2 MS/s 1 MS/s 4 48 10 MHz
NI PXIe-6356  8 Simultaneous 1.25 MS/s/ch  10 MS/s 2 24 10 MHz
NI PXIe-6358  16 Simultaneous 1.25 MS/s/ch  20 MS/s 4 48 10 MHz
NI PXIe-6366  8 Simultaneous 2 MS/s/ch  16 MS/s 2 24 10 MHz
NI PXIe-6368  16 Simultaneous 2 MS/s/ch  32 MS/s 4 48 10 MHz

 

높은 전송률과 낮은 지연을 위한 향상

X 시리즈는 높은 전송률의 어플리케이션을 위한 여러 가지 향상된 기능들을 통합하였습니다. 즉, 디바이스와 PC 메모리로부터의 대량의 데이터를 전달하는 어플리케이션입니다.

PCI Express의 도입과 PXI Express 표준으로의 통합으로 인해 한때 측정 시스템에 존재했던 데이터 병목 현상이 사라졌습니다. 공유된 132 MB/s의 PCI 대역폭과 대조적으로 PCI Express는 각 디바이스에 전용 시리얼 레인을 제공하고 각 방향마다 이론상 250 MB/s의 대역폭을 제공합니다.

일부 데이터 수집 디바이스들은 브릿지 기반 구현을 사용하여 PCI 디자인을 PCI Express으로 변환하며 대역폭을 PCI의 대역폭으로 제한하며 추가적인 지연이 도입됩니다. NI X 시리즈는 PCI Express 대역폭과 함께 x1의 PCI Express 및 PCI Express 인터페이스를 제공합니다. x1에서 최고 x16까지 PCI Express 슬롯에서 PCI Express X 시리즈를 사용할 수 있습니다.

    

그림 1. PCI Express용 X 시리즈는 어떠한 PCI Express 슬롯에서도 사용가능하고 속도는 x1~x16까지 입니다.

그리고 X 시리즈는 8개의 DMA 채널을 포함하고 있어 CPU 연동이나 추가적인 프로그래밍 없이디바이스에서 PC 메모리로 직접 데이터를 전송합니다. 8개의 본 채널은 아날로그 I/O, 디지털 I/O, 그리고 네 개의 카운터/타이머에 대한 병렬 데이터 전송을 제공합니다. 4개의 32-비트 카운터 각각에 대한 확장된 127 샘플 FIFO를 이용하면 버퍼링된 카운터 연산(이벤트 카운팅 또는 PWM 출력 생성)을 이전 디바이스보다 훨씬 빠르게 수행할 수 있습니다.

대부분의 내부 버스에서와 마찬가지로 PCI Express는 매우 낮은 지연을 가지고 있어서 폐루프 컨트롤 어플리케이션에 이상적입니다. 그리고 X 시리즈 디바이스는 하드웨어 타임 단일 포인트 성능을 디바이스의 모든 하위시스템으로 확장하였습니다.

멀티코어 PC에서 병렬 처리

DAQ 디바이스에서 병렬 하드웨어 하위시스템을 활용하려면 고성능 드라이버와 어플리케이션 소프트웨어가 필요합니다.

X 시리즈용 드라이버 소프트웨어는 NI-DAQmx로서 간단하고 일관적인 API를 모든 측정 및 생성 유형에 제공합니다. NI-DAQmx는 멀티스레드 기능을 제공합니다. 즉, 측정 및 생성 태스크의 처리를 분리된 스레드로 처리하는 어플리케이션을 개발할 수 있다는 것입니다. 여러 프로그래밍 환경(NI LabVIEW, NI LabWindowsTM/CVI, C/C++, Visual Basic 6, .NET)에서 NI-DAQmx로 호출할 수 있습니다.

NI-DAQmx와 인터페이스하고 멀티코어 컴퓨터에서 사용하기 위해 데이터 수집 어플리케이션을 최적화하는 가장 쉬운 방법은 LabVIEW를 이용하는 것입니다. 각 측정 태스크에 대한 while 루프를 생성하여 LabVIEW는 어플리케이션을 자동으로 여러 스레드로 분리합니다. 운영체제는 하나 또는 그 이상의 CPU 코어에 이 스레드들의 최종 실행을 관리할 수 있습니다. 예를 들어, PID 컨트롤에 while 루프를 생성하여 하나의 코어에서 실행하고 while 루프는 고속 푸리에 변환(FFT)을 다른 코어에서 처리합니다.

 

그림 2. LabVIEW에서 병렬 while 루프를 이용하여 분리된 코어에서 DAQ 디바이스 I/O를 처리할 수 있습니다.

 

X 시리즈는 NI-DAQmx 9.0 버전이나 상위 버전이 필요합니다. NI-DAQmx 9.0은 다음과 같은 강력한 기능들이 추가되었습니다:

  1.  빠르고 간단한 데이터 로깅. 사후처리나 트렌딩 목적을 위해 수집한 데이터를 디스크에 로깅하기를 원하실 것입니다. NI-DAQmx를 이용하여 “DAQmx Configure Logging” VI를 NI-DAQmx 태스크에 추가하여 데이터를 TDM Streaming (TDMS) 측정 파일로 로깅하는 것이 가능합니다. 이 같은 TDMS 파일 작성방법은 굉장히 빠릅니다. 시초의 벤치마크 표시 디스크 쓰기는 1 GB/s 이상으로 가능합니다.
  2. X 시리즈용 멀티디바이스 태스크. X 시리즈를 이용한 많은 채널수의 어플리케이션 경우, 여러 디바이스를 손쉽게 동기화할 수 있습니다. PCI Express X 시리즈의 경우, RTSI 케이블과 연결할 필요가 있습니다. PXI Express X 시리즈의 경우 모듈은 PXI Express 백플레인의 타이밍 및 트리거링 버스를 통해 동기화할 수 있습니다. NI-DAQmx 9.0은 X 시리즈용 멀티디바이스 태스크를 도입하였습니다. 즉, 두 개의 디바이스를 포함하고 있는 단일 세트의 측정 코드를 생성할 수 있으며 NI-DAQmx는 자동으로 샘플 클럭 공유를 관리합니다.

그림 3. NI-DAQmx 드라이버 소프트웨어는 멀티디바이스 태스크를 이용하여 두 개 또는 그 이상의 X 시리즈 디바이스 동기화를 간단히 구현합니다.

결론

타이밍과 트리거링, 버스 전송 그리고 데이터 처리의 진보로 인해 NI X 시리즈 디바이스는 내쇼날인스트루먼트가 제작한 기술적으로 가장 진보한 DAQ 디바이스가 되었습니다. 최신 PC 기술(PCI Express와 멀티코어 프로세서)을 활용하면 신호에서 소프트웨어로 진정한 병렬을 이루는 측정 및 컨트롤 시스템을 효율적으로 개발하실 수 있습니다.