서 론소비자 가전에서 산업용 장비 및 차량용 컴퓨터에 이르기까지 임베디드 시스템을 설계하는 엔지니어들은 치열한 경쟁 속에서 개발에 임하고 있다. 특히, 성공했을 때의 이익과 실패했을 때의 손해 격차는 나날이 벌어지고 있다. 성공한 제품은 연간 수백만 개 단위로 대량 생산되어 수백억 원의 이익을 창출하는 반면, 실패한 제품은 수백 시간의 개발 노력과 비용을 수포로 돌린다. 또한 제품 출시 기간은 매년 단축되도록 요구받고 있으면서 이전보다도 더욱 정교한 기능을 수행하기를 원한다.오늘날 새로운 임베디드 시스템을 완성적으로 설계하려면 이전보다 더 많은 시간이 소요된다. CMP Media가 실시한 2005년 임베디드 시장 조사(2005 Embedded Market Study)에 따르면 모든 프로젝트의 절반 이상이 적어도 3개월 이상 늦게 발표되며 신제품의 설계 완성에 걸리는 평균 시간은 15개월이나 소요되는 것으로 나타났다. 임베디드 프로젝트의 실패 요인으로는 총체적인 복잡성 상승이 가장 큰 이유로 자리한다고 집계되었다. 본문에서는 임베디드 시스템 설계를 가속화시키는 그래픽 기반 시스템 디자인 방법에 대해 소개하고자 한다. 그래픽 기반 시스템 디자인은 버추얼 인스트루먼트 기술에 근거하며 이는 지난 30년간 컴퓨터 기반 계측 및 자동화 시장에서 이미 성공적으로 도입되고 있다.본 론버추얼 인스트루먼트 기술은 임베디드 설계 엔지니어가 보다 복잡한 일을 수행하고, 더욱 신속하고 신뢰할 수 있는 제품 출시를 할 수 있도록 임베디드 시스템의 설계, 프로토타이핑 및 배포를 위한 포괄적인 툴 세트를 제공한다. 내쇼날인스트루먼트의 그래픽 기반 프로그래밍 언어 LabVIEW와 PC 기반 상용 하드웨어는 초기 단계의 설계 및 시뮬레이션에서부터, 실제 I/O 신호와 하드웨어를 통한 시스템 프로토타이핑, 선택한 프로세서 타깃에 대한 임베디드 소프트웨어 배포까지 모든 개발 단계를 지원한다.설계 엔지니어는 보다 복잡해진 설계 요구사항을 관리하기 위해 소프트웨어 개발에 더 많은 시간을 할애하며 더욱 정교한 프로세서를 사용하고 있다. CMP Media에 따르면 모든 설계의 약 절반 정도에서 주요 프로세서로 8비트 또는 16비트 장치가 아닌 32비트 장치를 사용한다. 32비트 프로세서는 PC와 유사한 대규모 명령 세트가 있기 때문에, 생성한 코드를 하이 레벨 설계 툴을 통해 사용하기가 훨씬 용이하다. LabVIEW는 설계, 프로토타이핑 및 배포 기술을 단일 그래픽 프로그래밍 툴 체인에 통합시킴으로써 다양한 임베디드 처리 장치 개발을 가속화한다. 본 기사에서는 임베디드 시스템 설계를 가속화하는 주요 8가지 LabVIEW 8의 툴 및 기능을 살펴보겠다.NI LabVIEW는 완전한 기능을 갖춘 그래픽 기반 개발 환경이다. 엔지니어들에게는 익숙한 순서도와 유사한 프로그래밍 구조를 갖기 때문에 프로그래밍이 용이하다는 평가를 받고 있다. 이미 계측 및 자동화 분야에서는 산업 표준 프로그래밍 언어로 자리하고 있다. LabVIEW는 450개 이상의 함수로 구성되며, 기본 내장된 라이브러리를 통해 폭넓은 I/O를 통합하고, 분석, 계산, 신호처리를 수행할 수 있으며 PC, FPGA, DSP, 32비트 마이크로프로세서를 포함한 광범위한 컴퓨팅 플랫폼에서 애플리케이션을 구현할 수 있도록 확장됐다.설 계임베디드 시스템 설계는 전기, 소프트웨어 및 기계 엔지니어링을 포함하는 다차원 프로세스이다. 예를 들어, 최신 복사기는 수백 개의 센서, 수십 개의 액추에이터 및 제어 루프, 네트워킹 및 자가진단과 같은 다양한 소프트웨어 서브시스템을 포함한 고급 장비이다. 이렇게 복잡한 시스템의 동작을 시뮬레이션 하기 위해 LabVIEW의 시스템 식별, 시뮬레이션 및 제어기 설계 기능을 사용하여 모델을 생성하고 제어 알고리즘을 개발할 수 있다. LabVIEW는 회로 설계, 시뮬레이션, CAD 및 임베디드 소프트웨어 개발을 위해 다양한 타사 툴과의 상호 운영성도 제공한다. 하드웨어 타깃에 따라 LabVIEW 애플리케이션은 텍스트 기반의 C 코드, VHDL, MathScript 또는 DLL 호출을 포함할 수 있다.신호 처리 및 디지털 필터 설계는 센서에서 의미 있는 정보를 도출하는 임베디드 시스템의 중요한 핵심 기술이다. 실제 센서는 복잡한 신호의 정보를 인코딩한다. 예를 들어, 복사기 페이퍼 롤러의 위치 및 속도가 사인-코사인 전압 파형으로 인코딩되어 전송될 수 있다. 센서 인터페이스 서브시스템은 복사기에서 신뢰할 수 있는 용지의 장력 제어를 위해 이 신호를 정확히 해석하여 노이즈, 감쇄 및 기타 실제 사안에 맞게 보정한다. LabVIEW는 정교한 디지털 필터 설계 및 검증 툴을 제공하여 부동 소수점 및 고정 소수점 장치 개발을 가속화한다.프로토타입프로토타이핑은 설계 단계에서 개발한 알고리즘 및 임베디드 코드를 얻어 실제 시스템 및 환경에 적용하는 프로세스이다. 프로토타이핑은 사용자가 프로세스에서 보다 이른 시기에 보다 중요한 엔지니어링 작업을 시작하여 설계 엔지니어가 목표와 요구사항을 구체화하도록 지원할 수 있기 때문에 새로운 설계를 보다 신속하면서도 신뢰할 수 있게 출시하도록 돕는다.LabVIEW에는 사실상 모든 유형의 센서 또는 액추에이터에 대한 지원이 포함되어 있기 때문에, LabVIEW를 통해 알고리즘 및 로직을 실제 I/O 신호에 보다 쉽게 연결할 수 있다. 기존의 PC 기반 I/O 모듈 이외에도 FPGA(Field-Programmable Gate Array) 기반 인텔리전트 한 데이터 수집(DAQ) 장치가 프로토타이핑용으로 인기를 더해가고 있다. 인텔리전트 한 DAQ 장치를 맞춤화하여 특수 하드웨어 장치에서만 할 수 있었던 I/O 및 신호 처리 작업을 수행할 수 있다.배 포배포는 모든 설계 구성요소를 견고하면서도 비용 효과적이며 대량으로 재생산이 가능한 통합 작업 시스템에 결합시키기 때문에 개발 프로세스에서 가장 까다로운 부분 중 하나이다. 일반적으로 엔지니어는 설계 및 프로토타이핑 단계에서 얻은 대부분 소프트웨어를 임베디드 장치의 로우 레벨 Syntax로 다시 작성해야 했다. 이식성 역시 로우 레벨 코드를 위한 주요 과제였다. 하지만 이제는 동일한 LabVIEW 그래픽 소스(G 코드)를 임베디드 타깃 간에 간편하게 이동할 수 있다. 또한, 모든 타사 툴체인으로의 이식성을 위해 LabVIEW G 코드를 ANSI C로 변환할 수 있다. 신규 LabVIEW Embedded Development Module은 원시 코드 생성 및 크로스 컴파일 엔진을 공개함으로써 이를 한층 발전시켰기 때문에 고급 개발자는 모든 마이크로프로세서 및 OS용 보드 지원 패키지를 생성할 수 있다.표 1에서 보는 것처럼 LabVIEW에는 일반 상용 PC, 리얼타임 산업용 시스템, 핸드헬드 및 휴대형 장치, FPGA, DSP/MPU 하이브리드 및 임의의 32비트 마이크로프로세서용 임베디드 타깃 기술이 포함된다.LabVIEW는 임베디드 설계에서 OEM-Ready 서브시스템으로 사용할 수 있는 일련의 상용 하드웨어 타깃을 제공한다. LabVIEW는 시스템을 신속하면서도 신뢰할 수 있게 설치하여 작동할 수 있도록 각 타깃에 특수 크로스 컴파일, 링크 및 디버깅 엔진을 제공한다.‘그래픽 기반 시스템 설계(Graphical System Design)’내쇼날인스트루먼트의 그래픽 기반 시스템 설계 플랫폼은 LabVIEW 프로그래밍과 상용 측정 및 임베디드 하드웨어 타깃을 결합하여 개발 팀이 시스템을 보다 신속하면서도 신뢰할 수 있게 설계, 프로토타이핑 및 배포하도록 돕는다. PC의 최신 기반 기술을 포함한 LabVIEW는 설계 및 시뮬레이션 코드를 실제 신호에 보다 쉽게 적용할 수 있도록 한다. OEM-Ready 하드웨어 타깃의 목록이 쌓여가면 갈수록 LabVIEW 개발자들의 애플리케이션 적용 범주도 빠르게 확장할 것으로 예상한다. 시뮬레이션, 시제품, 그리고 구현을 위한 단일 소프트웨어를 제공함으로써 분산된 임베디드 디자인 산업을 통합하고 있다.NI CompactRIO 임베디드 프로토타이핑 및 배포 시스템CompactRIO는 재구성 가능한 디지털 하드웨어 백플레인을 리얼타임 프로세서 및 모듈형 주변기기 I/O와 결합한 범용 고속 프로토타이핑 플랫폼을 제공한다. CompactRIO는 프로토타이핑 및 배포를 가속화시키기 위해 LabVIEW와 통합된다. 리얼타임 OS 및 부동 소수점 프로세서는 고급 분석 라이브러리 및 동적 시뮬레이션 모델을 포함한 거의 모든 LabVIEW 기술 컴퓨팅 함수를 지원한다. 내쇼날인스트루먼트와 협력사들은 광범위한 I/O 및 통신 모듈을 제공한다.BioAccel 사의 임베디드 시스템 개발자인 David Hill은 “CompactRIO는 다양한 옵션을 프로세서 및 FPGA와 결합시킨 스위스 군용 칼과 같은 임베디드 시스템이다. 당사는 순수 LabVIEW 코드를 사용하여 로직 실행 엔진을 검증한 결과 모든 임베디드 장치로 이식이 가능함을 확인했다. 알고리즘만 알면 상이한 플랫폼에서 동일한 코드 실행이 가능하다는 점이 큰 장점이다. 당사의 고객은 이 기술을 통한 새 의료기기의 개발 및 FDA 승인의 가속화 성과에 감탄을 금치 못하고 있다”라고 말했다.그래픽 기반 시스템 디자인으로 다양한 실차 테스트 시스템 개발자동차 제조업체는 광범위한 검증 테스트를 수행한다. 시트 커버의 온도 테스트, 거친 시험 주행 중 섀시 진동 모니터링, 충돌 테스트시 시승자에 미치는 중력 측정 등은 안전한 제품 보장을 위해 자동차 제조업체가 수행해야 하는 테스트 절차들 중 일부이다. 안타깝게도 수많은 테스트 수행은 다양한 새 테스트 장비의 습득 및 사용을 의미한다. 그래픽 기반 시스템 디자인 컨셉의 핵심인 LabVIEW와 CompactRIO 플랫폼은 실차 테스트를 위한 다양한 새 기능을 제공한다. 즉, CompactRIO는 임베디드 FPGA(Field-Programmable Gate Array)를 통합한 견고한 고성능 시스템이므로 단일 하드웨어 플랫폼을 맞춤화하여 다양한 차량 내 애플리케이션 문제를 해결하고 있다.단일 시스템, 다중 애플리케이션샘플링 속도, 응답 시간, 신호 컨디셔닝, 신호 처리 및 분석과 같이 각각의 실차 테스트 애플리케이션은 다양한 맞춤형 실차 테스트 시스템을 요구한다. 예를 들어, 실차 테스트 애플리케이션의 샘플링 속도 범위는 20S/s(온도 로깅)에서 200kS/s(충돌 테스트)에 이른다(그림 4 참조).CompactRIO는 FPGA 기술을 사용하여 이러한 실차 테스트 애플리케이션 문제점을 해결함으로써 각각의 맞춤형 하드웨어 및 여러 테스트 시스템이 필요하지 않도록 했다. CompactRIO를 이용하여 저속의 온도 측정 시스템을 꾸밀 수도 있으며, 이를 신속히 다시 프로그래밍하여 성능 및 제어 조건을 만족하는 고속 프로토타이핑 시스템으로도 바꿀 수 있다. 또한 동일한 시스템에서 저속/고속 측정을 동시에 수행하여 상이한 테스트를 실행할 수도 있다. CompactRIO가 출시되기 전까지는 이 모든 애플리케이션의 요구사항을 충족시키는 단일 시스템은 없었다.LabVIEW FPGA를 이용한 사용자 정의 하드웨어 생성재구성 가능한 FPGA 하드웨어를 사용자 정의함으로써 매우 특수한 하드웨어 장치에서나 볼 수 있었던 I/O 및 신호 처리 작업을 수행할 수 있게 되었다. FPGA에는 재구성 가능한 게이트 어레이 로직(Gate Array Logic) 회로 매트릭스가 있다. FPGA를 구성할 때 내부 회로는 원하는 애플리케이션의 하드웨어를 구현한다.FPGA 기술은 사용자 정의 I/O 타이밍 및 동기화, 최대 20MHz의 제어 루프 속도, 전용 하드웨어의 신뢰성, 견고한 실시간 디지털 신호 처리 및 분석 등을 포함한 많은 이점을 제공한다.일반적으로 FPGA 프로그래밍을 위해서는 엔지니어들에게 하드웨어 설계 툴 및 VHDL과 같은 언어에 대한 광범위한 지식을 요구했다. CompactRIO의 FPGA는 LabVIEW를 통해 프로그래밍되므로 CompactRIO 내에서 FPGA를 사용자 정의하여 손쉽게 재구성할 수 있다. 시스템 기능을 변경해야 할 경우에는 새 NI LabVIEW 코드를 FPGA에 다운로드하여 CompactRIO의 ‘속성’만 변경하면 된다.독립형 및 네트워크 작동CompactRIO 컨트롤러에는 리얼타임 프로세서가 내장되어 있기 때문에, 정보 처리 기능을 가진 신뢰성 있는 독립형 작동 시스템 구성이 가능하며, 호스트 컴퓨터 및 주변기기와의 연결을 위한 이더넷과 직렬 포트도 포함되어 있다. 그리고 LabVIEW Real-Time 소프트웨어를 이용하여 제어, 데이터 로깅 및 분석을 수행할 수 있다. CompactRIO 컨트롤러의 9~35V 이중 전원 공급 장치 입력으로 차량 배터리에서 직접 전원을 공급할 수도 있다. 컨트롤러에는 차량 내 데이터 로깅을 위한 최대 512MB의 비휘발성 플래시 메모리가 탑재된다.모든 환경에 맞는 견고한 소형 패키지CompactRIO의 견고한 기계적 설계로 아리조나 종합주행시험장의 건조한 열기와 같은 혹독한 실차 테스트 환경을 견뎌낼 수 있는 시스템 구성이 가능하다. CompactRIO는 다양한 산업 인증 및 등급과 함께 작은 크기, 낮은 전력 소비 및 -40~70℃의 넓은 작동 온도 범위를 가진다. 이 플랫폼은 최대 50G의 충격 및 최대 2,300Vrms의 절연(내성)으로 규격화되어 있으며 국제 안전, EMC 및 환경 인증을 획득했다.CompactRIO 및 LabVIEW의 임베디드 FPGA, 리얼타임 운영체제 및 표준 그래픽 프로그래밍 개발을 사용하여 모든 실차 테스트, 제어 및 설계 애플리케이션을 쉽게 제작할 수 있다. 견고한 폼 팩터 및 광범위한 I/O 모듈과 결합된 FPGA의 고속 및 동기화 기능으로 CompactRIO는 모든 실차 테스트 애플리케이션을 위한 이상적인 플랫폼이다.결 론 임베디드 시스템 설계는 많은 요인들로 인해 복잡해지고 있다. 10년 전, 평균적인 임베디드 시스템의 코드는 10만 라인 정도였다. 2001년에는 100만 라인 애플리케이션의 숫자도 늘어났으며 최근에는 500만 라인을 넘어섰다. 임베디드 디자인이 이렇게 복잡해지면서 기존 개발 방법으로는 충분치 않게 됐다.예컨대 테스트 기반 객체 지향 설계 툴은 특히 시간을 나타내거나 병렬 처리를 증명할 때 효과적인 모델링 속성을 제공하지 못한다. 기계어(Machine Code), 어셈블리어, C, C++ 같은 전통적인 언어는 동시성을 지정하기에는 본질의 의미론적 구성 기능이 부족하다. 임베디드 소프트웨어에서 시간과 동시성은 플랫폼과 마찬가지로 필수적인 요소이다.내쇼날인스트루먼트는 복잡하고 분산된 제어 시스템에서 동시성을 표현하는 데 이상적인 툴을 제공하는 업체이다. 내쇼날인스트루먼트가 제시하는 ‘그래픽 기반 시스템 설계(Graphical System Design)’는 플랫폼 기반 방법론을 제공함으로써 개념증명 시간(Time to Proof of Concept)을 위한 확장성 있고 빠른 시제품 플랫폼을 제공할 뿐만 아니라 알고리즘, 필터 디자인을 포함한 디자인의 효율성도 크게 향상 시킨다. GSD는 증가하는 시스템 복잡성을 위한 필요한 높은 레벨의 소프트웨어 추상화를 제공한다. GSD는 하나의 툴이 임베디드 시스템을 구현에 관한 모든 수단을 완전히 제공하고 더 적은 수의 인적 자원으로 더 빠른 디자인 반복을 가능하게 하는 임베디드 시스템 디자인에 대한 접근법이다.따라서 엔지니어, 과학자, 알고리즘 디자이너 같은 전문가들은 시스템을 정확히 표현할 수 있게 된다. 또한 하나의 툴체인(toolchain)만 사용하기 때문에 짧은 시간 내에 배울 수 있고, 개념에서 디자인, 시제품을 거쳐 제품을 내놓기까지의 시간도 단축 가능하다. 시대를 앞서기 위해서는 임베디드 디자인의 발상 전환이 필요하다.
회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지