“하드웨어 인 더 루프(Hardware-in-the-Loop)” 테스팅을 검색하면, 대개 복잡한 실시간 시스템의 예시를 자주 찾아볼 수 있습니다. 예를 들어, National Instruments에서 제공하는 이 기사는 하드웨어 인 더 루프(HIL)가 무엇인지, 그리고 자동차 내 전자 제어 장치를 테스트하는 예시를 제공하며 좋은 설명과 배경을 제공합니다. 이 기사에서는 HIL 테스팅 개념의 더 작고, 더 간단한 버전에 초점을 맞출 것입니다.
이 기사의 목적을 위해, 우리는 하드웨어 인 더 루프 테스팅을 전통적으로 제시되는 방식(예: 자동차 응용 프로그램 내에서)과는 약간 다르게 정의할 것입니다. 제품을 테스트할 때 다양한 복잡성의 세 가지 다른 계층을 살펴봅시다.
이 테스팅 형식에서, 엔지니어는 장치를 수동으로 테스트할 것입니다. 이는 디지털 멀티미터로 보드의 테스트 포인트를 탐색하거나, 오실로스코프에서 파형을 관찰하거나, 컴퓨터 화면에서 텔레메트리 읽기를 수동으로 파싱하는 것을 포함할 수 있습니다. 엔지니어는 수동 설계 검증 테스팅을 통해 제품을 테스트할 것입니다.
이 테스트 설정은 엔지니어가 일반적으로 수행하는 동일한 측정 및 검증을 실행하지만, 컴퓨터가 자동화된 방식으로 수행합니다. 호스트 컴퓨터는 직접 계측기(예: 멀티미터, 오실로스코프 등)와 통신하고, 장치에서 텔레메트리를 파싱한 다음, 엔지니어가 제시한 기준에 따라 테스트 세트를 검증합니다.
하드웨어 인 더 루프 테스팅은 실제 세계의 응용 프로그램을 시뮬레이션하기 위해 추가 자극을 추가함으로써 자동 테스팅을 새로운 수준으로 끌어올립니다. 예를 들어, 테스트 대상 장치(DUT)에는 자극이 필요한 일련의 센서가 있을 수 있습니다. 테스트 장비는 DUT의 센서 측면을 자극하기 위해 해당 센서의 다른 끝을 시뮬레이션합니다. 또 다른 예는 DUT의 RS-422 수신기에 RS-422 트래픽을 구동하는 것처럼 간단할 수 있습니다. 우리가 DUT에 새로운 자극을 구동하고, 호스트 컴퓨터에서 텔레메트리를 읽어내고, 필요한 경우 우리의 테스트를 적절히 조정할 수 있다는 것이 아이디어입니다(예: 초기 테스트를 통과한 후 더 빠르고 많은 RS-422 트래픽을 구동함).
응용 프로그램에 따라 하드웨어 인 더 루프 테스팅을 자동 테스팅(물론 수동 테스팅)보다 선택하는 이유가 분명해질 수 있습니다. 복잡한 시스템이나 (시스템의 시스템)을 통합하려고 할 때, 많은 외부 자극이 필요한 경우, 기본적인 자동 체크아웃 테스트로는 충분하지 않습니다. 기본 배터리 충전기를 고려해 보십시오. 전원원, 부하 및 배터리를 시뮬레이션하여 컨트롤러 회로를 테스트할 수 있지만(물리적으로 또는 소프트웨어를 통해), 실제 전원 공급 장치, 배터리 및 부하를 사용하여 디자인을 테스트하는 것이 더 현실적일 것입니다. 더욱이, 이 과정을 자동화할 수 있다면, 귀하의 엔지니어는 이제 개발에 더 많은 시간을 할애할 수 있습니다.
하드웨어 인 더 루프 테스팅을 채택할지 여부를 결정할 때 다음과 같은 요소를 고려해야 합니다:
이러한 요소들과 다른 요소들을 고려한 후에는 수동 테스트를 계속할지, 자동화/하드웨어-인-더-루프 테스트에 투자할지 결정을 내릴 수 있습니다.
제 경험에 비추어 볼 때, 하드웨어-인-더-루프 테스트로 가장 쉽게 접근할 수 있는 방법은 National Instruments (NI)가 제공하는 전체 포함 테스트 프레임워크를 사용하는 것입니다. NI는 플러그 앤 플레이가 가능한 전체 포함 하드웨어/소프트웨어 플랫폼을 가지고 있습니다. 전체 포함 프레임워크를 고려할 때 고려해야 할 몇 가지 장단점은 다음과 같습니다:
제가 복잡한 시스템 작업을 하던 시간 동안, LabVIEW는 자동화된 테스팅을 포함하여 LabVIEW 프로젝트와 VI를 위한 전체 지속적 통합 및 지속적 배포 파이프라인을 구축하는 데 있어 제가 주로 사용한 도구였습니다. 더 간단한 하드웨어-인-더-루프 지원이 필요한 작은 시스템으로 전환하면서, 저는 맞춤형 또는 상용 오프더쉘프(COTS) 하드웨어와 Python 스크립트(pytest 프레임워크 사용)로 전환하기 시작했습니다. 다시 말하지만, 이 모든 것은 애플리케이션에 따라 다르며, 앞서 언급했듯이, 테스트 시간, 테스트 반복, 그리고 테스트 장비가 이 결정을 이끄는 주요 요소입니다.
이 글에서 우리는 하드웨어-인-더-루프 테스팅의 개념과 수동 및 자동 테스팅과의 차이점을 살펴보았습니다. 또한 하드웨어-인-더-루프 테스팅을 채택하는 이점과 사용자에게 정말 필요한 것인지 평가하는 방법을 검토했습니다. 마지막으로, 시작하는 몇 가지 방법에 대해 논의했습니다. 하드웨어-인-더-루프 테스팅이 모든 사람에게 적합한 것은 아니지만, 올바른 애플리케이션의 경우 투자가 매우 빠르게 보상을 줄 것임은 분명합니다.
Altium이 다음 PCB 설계에서 어떻게 도움을 줄 수 있는지 알고 싶으신가요? Altium의 전문가와 상담하세요 또는 주요 DFM 문제와 그 해결책에 대해 더 알아보세요.