소형무장헬기(LAH-1, Light Armed Helicopter) 다기능시현기(SMFD, Smart Multi-Function Display)는 조종사와 사수조종사에게 비행 및 임무 정보를 제공하고, 연동되는 항공전자 장비를 제어하는 핵심 구성품이다. 본 기고에서는 SMFD의 기능 복구 로직을 소개하고, LAH-1 양산단계에서 발생한 비정상 재부팅 현상의 원인을 분석하였다. 또한, 기존 단일 GPIO 기반 Heartbeat 로직의 한계를 개선하기 위해 IPC-Ethernet 통신 경로를 추가한 이중화 Heartbeat 로직을 적용하고, 고장유발 시험을 통해 개선 효과를 검증한 사례를 소개한다.
SMFD 소개
소형무장헬기(LAH-1)에 탑재되는 스마트 다기능시현기(SMFD)는 영상 시현을 담당하는 다기능시현기(MFD)와 항전 및 무장 장비를 관리하는 임무컴퓨터(MC)의 기능을 통합한 항공전자 장비이다. 그림 1은 SMFD의 형상을 나타낸다 SMFD는 조종실 계기 패널에 탑재되어 조종사와 사수 조종사에게 비행·임무 정보를 제공하며, 통신·항법·무장체계 등 항공기와 연동되는 주요 항공전자 장비를 제어하는 핵심 기능을 수행하므로 높은 수준의 건전성 확보가 요구된다. 이를 위해 LAH-1에는 총 3대의 SMFD가 탑재되며, 특정 SMFD에 고장이 발생하더라도 정상적인 임무 수행이 가능하도록 다중화 구조로 구성되어 있다. 또한, 각 SMFD는 내부 이상 발생 시 자체적으로 기능을 복구할 수 있는 로직을 갖추고 있다.
그림 1. SMFD 형상
연구배경
OFP의 시스템 소프트웨어 Reset 함수 호출을 통한 기능 복구
SMFD는 운용 중 발생할 수 있는 내부 오류로 인한 기능 실패를 방지하고 정상상태로 복구하기 위한 기능 복구 로직을 가지고 있다. 기본적으로 SMFD 몸체조립체 내부의 제어-그래픽 모듈(CGM)과 제어 모듈(CM)은 각각 오류 감지 시 SMFD 재부팅 신호를 발생시켜 기능을 복구하도록 설계되었다. SMFD의 기능 복구 로직은 그림 2와 같다.
그림 2. CGM과 CM의 OFP의 Reset 함수 호출 기반 기능 복구 로직
CGM과 CM에는 각각 OFP, 시스템 소프트웨어 및 FPGA가 탑재되어 있다. 각 모듈의 OFP는 오류를 감지하면 시스템 소프트웨어의 Reset 함수를 호출하고, 시스템 소프트웨어는 Reset 명령을 FPGA에 전달한다. 이후 FPGA는 해당 명령을 수신하여 하드웨어 Reset 신호를 발생시키며, 이를 통해 SMFD를 재부팅하여 기능을 복구한다.
그러나 LAH-1 개발단계에서 SMFD 내부 모듈에 오류가 발생하여 OFP가 이를 감지하였음에도 SMFD가 정상적으로 재부팅되지 않아 기능 복구에 실패하는 현상이 발생하였다. 이로 인해 SMFD가 조종사의 키 입력에 반응하지 않고 화면이 정지하는 Freeze 현상이 발생하였으며, 정상적인 임무 수행에 제약을 초래하였다.
해당 현상의 근본 원인을 식별하기 위해 Freeze 현상에 대한 고장탐구를 수행하였으며, 그 결과 CGM 및 CM의 시스템 소프트웨어가 정지하거나 FPGA 기능 이상이 발생할 경우 기존 기능 복구 로직이 정상적으로 수행되지 않을 수 있음을 확인하였다.
그림 2와 같이 기존 기능 복구 로직은 OFP, 시스템 소프트웨어, FPGA가 순차적으로 Reset 명령을 전달하는 구조로 구성되어 있다. 따라서 Scheduler Failure, Kernel Failure, Deadlock 등의 소프트웨어 오류로 시스템 소프트웨어가 정지할 경우, OFP에서 호출한 Reset 명령이 FPGA까지 정상적으로 전달되지 않아 SMFD 재부팅에 실패할 수 있다. 또한, Clock 이상, 소자 자체 결함 등의 원인으로 FPGA에 기능 이상이 발생할 경우, 시스템 소프트웨어로부터 Reset 명령을 수신하더라도 하드웨어 Reset 신호를 정상적으로 발생시키지 못해 기능 복구에 실패할 수 있다.
따라서 기존 기능 복구 방식의 한계를 보완하기 위해서는 시스템 소프트웨어의 정상 동작 여부를 독립적으로 감시하여 기능을 복구할 수 있는 로직이 필요하다. 또한, FPGA 기능 이상 등 개별 모듈 내부의 기능 복구만으로 대응하기 어려운 상황에 대비하여, CGM과 CM이 상호 간의 상태를 감시하고 이상 발생 시 기능 복구를 수행할 수 있는 상호 감시 로직이 필요하다.
Watchdog Timer 로직 기반 기능 복구
LAH-1 개발단계에서 식별된 기존 SMFD 기능 복구 로직의 한계를 보완하기 위해 양산단계에서 FPGA가 시스템 소프트웨어의 정상 동작 여부를 독립적으로 감시하고, 이상 발생 시 강제 재부팅을 통해 기능을 복구하는 Watchdog Timer 로직이 도입되었다. 그림 3은 Watchdog Timer의 세부 동작 과정을 나타낸다.
그림 3. Watchdog Timer 기반 기능 복구 로직
SMFD에 전원이 인가되면 CGM과 CM 내부의 FPGA는 각 시스템 소프트웨어 스케줄러가 50 Hz 주기로 동작할 수 있도록 하드웨어 타이머 인터럽트를 제공한다. 시스템 소프트웨어는 해당 주기에 따라 정상적으로 동작하면서 Watchdog Counter를 초기화하는 명령을 주기적으로 FPGA에 전달하고, FPGA는 해당 명령을 수신할 때마다 Counter 값을 초기화한다. 그러나 Scheduler Failure 등의 원인으로 시스템 소프트웨어가 정상적으로 동작하지 않는 경우 Watchdog Counter 초기화 명령이 FPGA에 전달되지 않으며, Counter 값은 지속적으로 증가하게 된다.
Watchdog Counter가 설정된 임계시간인 1초 동안 초기화되지 않는 경우 FPGA는 시스템 소프트웨어에 이상이 발생한 것으로 판단하여 인터럽트 신호를 발생시킨다. 이후 시스템 소프트웨어는 해당 인터럽트를 수신하여 Watchdog Timer 기반 Reset 수행 사실을 로그에 기록하고, 인터럽트 발생 0.5초 후 FPGA는 CPU 등 관련 부품에 하드웨어 Reset 신호를 전달한다. 이를 통해 SMFD를 강제 재부팅하여 기능을 복구한다.
GPIO 신호 기반 Heartbeat 로직을 통한 기능 복구
앞서 설명한 Watchdog Timer 로직은 FPGA가 정상적으로 동작하는 것을 전제로 하므로, FPGA 자체에 기능 이상이 발생하는 경우 모듈 내부의 기능 복구 로직만으로는 정상적인 복구가 제한될 수 있다. 이러한 한계를 보완하기 위해 CGM과 CM이 상호 간의 동작 상태를 감시하고, 하나의 모듈에 이상이 발생하는 경우 상대 정상 모듈이 이를 감지하여 재부팅 신호를 발생시키는 상호 감시 기반의 기능 복구 로직이 도입되었다.
Heartbeat 로직은 CGM과 CM의 FPGA 간 일정한 주기로 신호를 상호 교환하여 상대 모듈의 동작 상태를 감시하고, 일정 시간 동안 Heartbeat 신호가 수신되지 않을 경우 상대 모듈에 이상이 발생한 것으로 판단하여 기능 복구를 수행하는 방식이다. 세부 동작 과정은 그림 4와 같다.
그림 4. CGM-CM 간 GPIO 기반 Heartbeat 기능 복구 로직
먼저, CGM과 CM의 시스템 소프트웨어는 각각 Heartbeat 신호를 생성하여 FPGA에 전달하고, 각 FPGA는 GPIO 신호를 통해 1 Hz 주기로 상대 모듈의 FPGA와 Heartbeat 신호를 상호 송·수신한다. 각 FPGA는 상대 모듈로부터 수신한 Heartbeat 신호를 시스템 소프트웨어에 전달하며, 시스템 소프트웨어는 이를 기반으로 상대 모듈의 동작 상태를 지속적으로 확인한다. 만약 상대 모듈의 Heartbeat 신호가 5초 이상 수신되지 않는 경우 해당 모듈에 이상이 발생한 것으로 판단하고 시스템 재부팅 명령을 수행한다.
이와 같은 상호 감시 구조를 통해 Watchdog Timer 로직만으로 대응하기 어려운 FPGA 결함과 같은 단일 모듈 단위의 이상 상태를 상대 정상 모듈에서 감지할 수 있다. 즉, 각 모듈 내부에서 자체적으로 이상을 감지하고 복구하는 방식에 더하여 상대 정상 모듈이 이상 상태를 감시하고 기능 복구를 수행함으로써 단일 모듈의 이상이 SMFD 전체의 기능 실패로 이어지는 것을 방지할 수 있다.
Heartbeat 기능 복구 로직 개선
GPIO 및 IPC-Ethernet 기반 Heartbeat 로직 이중화
기존 Heartbeat 로직은 상대 모듈의 건전성을 단일 GPIO 신호의 수신 여부만으로 판단하도록 구성되어 있다. 따라서 실제 모듈이 정상적으로 동작하고 있더라도 GPIO 신호 전달 경로에 일시적인 이상이 발생하여 Heartbeat 신호가 5초 이상 수신되지 않을 경우, 이를 상대 모듈의 고장으로 오인할 수 있다. 이러한 오경보(False Alarm)는 정상 상태의 SMFD를 불필요하게 재부팅시켜 임무 수행에 지장을 초래하므로, 기존 단일 통신 경로 기반 Heartbeat 로직의 개선이 필요하였다.
이러한 한계를 보완하기 위해 기존 GPIO 기반 Heartbeat 통신 경로에 각 모듈의 시스템 소프트웨어 간 50 Hz 주기로 송·수신하는 IPC-Ethernet 통신 경로를 추가하여 Heartbeat 신호 전달 경로를 이중화하였다. 세부 동작 과정은 그림 5와 같다. 개선된 로직에서는 CGM과 CM이 GPIO와 IPC-Ethernet을 통해 각각 Heartbeat 신호를 상호 송·수신하며, 두 통신 경로의 신호 수신 상태를 동시에 감시한다. 이때 어느 하나의 통신 경로에서 Heartbeat 신호가 정상적으로 수신되는 경우에는 상대 모듈이 정상적으로 동작하는 것으로 판단하고 재부팅을 수행하지 않는다. 반면, GPIO와 IPC-Ethernet의 두 통신 경로 모두에서 Heartbeat 신호가 5초 이상 수신되지 않을 경우에만 상대 모듈에 이상이 발생한 것으로 판단하여 재부팅 신호를 발생시킨다.
그림 5. GPIO 및 IPC-Ethernet 기반 Heartbeat 이중화 구조
이와 같이 서로 다른 두 통신 경로를 이용하여 상대 모듈의 상태를 교차 확인함으로써, 단일 GPIO 통신 경로의 일시적인 이상이 모듈 고장으로 오인되는 것을 방지할 수 있다. 이를 통해 Heartbeat 기반 상호 감시 로직의 신뢰성을 향상시키고, 오경보로 인한 SMFD의 불필요한 재부팅을 방지함으로써 기능 복구 로직의 안정성을 확보하였다.
개선 로직 검증
개선된 Heartbeat 로직의 기능 복구 성능 및 이중화 로직의 유효성을 검증하기 위해 SMFD 시험장비의 터미널 콘솔을 이용한 고장유발 시험을 수행하였다. 시험은 총 12개의 테스트 케이스로 구성하였으며, 세부 시험조건 및 결과는 표 2와 같다.
먼저 CGM과 CM을 각각 부트로더 모드에서 강제 정지시켜 부팅 실패 상황을 모사하였다. 시험 결과 상대 정상 모듈이 Heartbeat 신호의 미수신을 감지하여 재부팅 신호를 발생시켰으며, SMFD가 정상적으로 재부팅됨을 확인하였다. 또한 각 모듈의 터미널 콘솔에서 Ctrl+X 명령을 입력하여 주기운용 오류를 모사한 경우에도 동일하게 재부팅을 통한 기능 복구가 정상적으로 수행되었다.
다음으로 Heartbeat 이중화 로직을 검증하기 위해 GPIO와 IPC-Ethernet Heartbeat 신호를 각각 단독으로 중단하였다. GPIO 신호가 중단된 경우에는 IPC-Ethernet 신호를 통해, IPC-Ethernet 신호가 중단된 경우에는 GPIO 신호를 통해 상대 모듈의 정상 상태를 확인하였으며, 단일 통신 경로의 이상만으로는 SMFD가 재부팅되지 않음을 확인하였다.
마지막으로 GPIO와 IPC-Ethernet Heartbeat 신호가 모두 중단되는 상황을 검증하였다. 각 모듈에 대해 GPIO와 IPC-Ethernet 순으로 신호를 중단한 경우와 IPC-Ethernet과 GPIO 순으로 중단한 경우를 각각 시험하였다. 시험 결과 두 통신 경로의 Heartbeat 신호가 모두 5초 이상 수신되지 않을 경우 상대 모듈에 이상이 발생한 것으로 판단하여 재부팅 신호가 발생하였으며, SMFD가 정상적으로 재부팅되어 기능이 복구됨을 확인하였다.
결론
SMFD는 비행·임무 정보 시현과 항전 및 무장체계 제어 등 항공기의 핵심 기능을 수행하는 장비로, 운용 중 발생하는 이상을 실시간으로 감지하고 기능을 신속하게 복구할 수 있는 높은 수준의 건전성 관리가 요구된다. 그러나 양산단계에서 SMFD 내부 모듈에 이상이 발생하지 않았음에도 SMFD가 비정상적으로 재부팅되는 현상이 발생하였다. 원인분석 결과, CGM과 CM이 상대 모듈의 건전성을 단일 GPIO 기반 Heartbeat 신호의 수신 여부만으로 판단하는 기존 로직의 한계가 주요 원인으로 확인되었다.
이에 기존 GPIO 기반 Heartbeat 통신 경로에 IPC-Ethernet 통신 경로를 추가하여 이중화된 Heartbeat 로직을 적용하였다. 개선된 로직은 어느 하나의 통신 경로가 정상적으로 유지되는 경우 상대 모듈을 정상 상태로 판단하고, 두 통신 경로의 Heartbeat 신호가 모두 5초 이상 수신되지 않는 경우에만 이상 상태로 판단하여 재부팅을 수행하도록 개선하였다.
개선 로직의 유효성을 검증하기 위해 부팅 실패, 주기운용 오류, 단일 Heartbeat 통신 경로 중단 및 이중 통신 경로 중단 등 총 12개의 고장유발 시험을 수행하였다. 시험 결과, 부팅 실패 및 주기운용 오류 상황에서는 정상적으로 재부팅을 통한 기능 복구가 수행되었으며, GPIO 또는 IPC-Ethernet 중 단일 통신 경로만 중단된 경우에는 불필요한 재부팅이 발생하지 않았다. 또한, 두 Heartbeat 통신 경로가 모두 중단된 경우에는 설정된 조건에 따라 정상적으로 재부팅이 수행됨을 확인하였다.
이를 통해 통신 경로의 일시적인 이상으로 인한 오경보(False Alarm)를 방지하면서도 실제 모듈 이상 발생 시 기능 복구 성능을 유지할 수 있음을 확인하였다. 본 기고에서 제시한 다중 통신 경로 기반의 상호 감시 및 기능 복구 기법은 향후 유사 무기체계 또는 항공전자 구성품의 건전성 관리 로직 설계에도 활용될 수 있으며, 단일 감시 경로의 오경보를 최소화하고 기능 복구 신뢰성을 향상시키는 데 이바지할 것으로 기대된다.
- 참고문헌
-
- KDS 1520-4008, "Helicopter Attack(Light Armed Helicopter)," Defense Acquisition Program Administration.
- KDS 6610-4019, "Display Unit, MultiFunction," Defense Acquisition Program Administration.
- W. S. Moon, "Fault detection using heartbeat signal in the real-time distributed systems", Jounal of the Korea Society of Digital Industry and Information Management, 14(3), pp. 39-44, 2018.
- R. Mehalaine, M. Djezzar, D. Nessah, Z. Saiad & A. Saidi, "Watchdog Timer for Fault Tolerance in Embedded Systems", Journal Européen des Systèmes Automatisés, 57(6), pp. 1713-1720, 2024.
- J. H. Lee & D. H. Kim, "Study on Improving the Screen Freeze Issue in Rotorcraft SMFD", Journal of the Korean Academia-Industrial, 26(11), pp. 560-566, 2025.