66
工學碩士學位 請求論文 신뢰도 확보를 위한 이중구조 기반의 비행제어 컴퓨터 연구 Study of a reliable flight control computer based on dual-redundancy 2005年 8月 仁荷大學校 大學院 航空工學科 金 性 洙

신뢰도 확보를 위한 이중구조 기반의 비행제어 컴퓨터 연구어 컴퓨터를 설계하기 위한 요구사항을 도출하였다[1, 2, 3]. 2.1 요구 사항 및

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

工學碩士學位 請求論文

신뢰도 확보를 한 이 구조 기반의

비행제어 컴퓨터 연구

Study of a reliable flight control computer

based on dual-redundancy

2005年 8月

仁荷大學校 大學院

航空工學科

金 性 洙

工學碩士學位 請求論文

신뢰도 확보를 한 이 구조 기반의

비행제어 컴퓨터 연구

Study of a reliable flight control computer

based on dual-redundancy

2005年 8月

指 敎授 朴 瑃 培

이 論文을 工學碩士學位 論文으로 提出함

仁荷大學校 大學院

航空工學科

金 性 洙

이 論文을 金性洙의 碩士學位 論文으로 認定함

2005年 8月

主審 (印)

副審 (印)

委員 (印)

- i -

비행제어 컴퓨터는 항공기에 탑재되어 조종사 는 제어기의 명령에

따라 원하는 출력을 생성하여 항공기를 조종하는 데 그 목 이 있다 이

러한 기능의 구 은 컴퓨터와 기 자 기술의 발달로 인해 무인항공기

에 용 가능한 소형경량의 디지털 비행제어 컴퓨터(DFCC Digital

Flight Control Computer)의 구 을 가능하게 하 다

본 논문에서는 무인항공기 조종에 필수 인 비행제어 컴퓨터를 설계하

고 제작하 다 설계의 주요 은 무인항공기에 필요한 신뢰도를 확보

하는 것이다 시스템의 신뢰도를 확보하기 해 산업용 부품을 사용하여

부품의 품질 등 을 향상시켰고 구성 모듈을 이용하여 기 여분방식의

이 구조 시스템을 구성하 다 기 여분 방식의 이 구조를 구성하기

해 고장 검출기에서 정확한 임무 환 신호가 발생되어야 한다

고장 검출은 기능 수 의 고장 모델을 정의하여 이에 합한 고장 검

출기를 구성하고 시스템의 고장을 악하게 된다 고장 발생 신호에 따라

시스템의 임무 환이 이루어진다

설계되어진 이 구조의 비행제어 컴퓨터는 정 고장율과 시간 변화에

따른 동 고장율의 변화를 악하고 신뢰도에 한 검증 차를 거친다

- ii -

ABSTRAC T

Purpose of on board Flight Control Computer is to aircraft control

by generated output signal according to pilot or autopilot command

The development of computer and electronic technique allowed a

realize that could be applied to Digital Flight Control Computer of

small size and lightweight

This thesis is designed and producted the Flight Control Computer

of UAV Design point is secure reliability of UAV To secure

reliability of system improve the quality level of electronic parts and

based on dual-redundancy structure of standby sparing

Dual-redundancy structure of standby sparing need to mission switch

signal of fault detector created fault signal

Fault detection is define a fault model and construct a fault

detector and get a grip on the fault of system According to generated

fault signal the system mission is changed

Based on dual-redundancy Flight Control Computer was proceeding

to verify the static failure rate and dynamic failure rate

- iii -

목 차

초 록 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅰ

ABSTRACT middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅱ

목 차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅲ

표 목차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅴ

그림 목차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅵ

약어 정리 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅷ

1 서 론 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 1

2 비행제어 컴퓨터 설계 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 3

21 요구 사항 및 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 4

22 프로세서 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 7

23 메모리 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 8

24 주변 장치 인터페이스 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 12

25 버스제어기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 14

26 내부 논리 구현기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 15

27 전원부 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

28 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

29 탑재 소프트웨어 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

291 부팅절차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

292 소프트웨어 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 22

3 고장 검출 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 26

31 고장 모델 정의 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 27

32 기능 수준 고장 모델 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

33 CPU 고장 검출 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

34 주변 장치 고장 검출 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

- iv -

4 중복구조 설계 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 35

41 중복 구조 개념 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 36

42 중복구조의 적용 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 38

43 이중구조의 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

5 신뢰도 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 43

51 고장율 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 43

52 기본 고장율 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 45

53 이중구조 신뢰도 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

6 결 론 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 50

7 참고 문헌 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 51

- v -

표 목 차

표 2-1 비행제어 컴퓨터 제원 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 5

표 2-2 메인 프로세서의 특징 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 7

표 2-3 메모리 사양 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 8

표 2-4 양방향 버퍼의 데이터 흐름 제어 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 10

표 2-5 비행제어 컴퓨터 메모리 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 11

표 2-6 섹션 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 11

표 2-7 입출력 장치 어드레스 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 12

표 2-8 메인 프로그램 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 21

표 2-9 maincmd middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 22

표 2-10 romcmd middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 23

표 2-11 isrh middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 23

표 2-12 subh middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 24

표 3-1 고장 모델 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 28

표 3-2 32비트 DB middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

표 3-3 8비트 DB middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

표 3-4 고장 검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 32

표 3-5 고장 검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 33

표 3-6 고장검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 34

표 4-1 고장 신호 및 출력 신호 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 41

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 45

표 5-2 무인항공기 운용 환경 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 46

표 5-3 비행 안전 및 신뢰도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 47

표 5-4 고장율 분석 자료 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

- vi -

그 림 목 차

그림 1-1 연구 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 2

그림 2-1 PC-104 CPU 모듈 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 3

그림 2-2 비행제어 컴퓨터 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 6

그림 2-3 외부 메모리 인터페이스 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 9

그림 2-4 양방향 FIFO 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 9

그림 2-5 어드레스 디코더 시뮬레이션 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 14

그림 2-6 버스제어기의 구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 15

그림 2-7 내부 논리 구현기 구성도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 16

그림 2-8 시스템 안정화 방법 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

그림 2-9 제작된 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

그림 2-10 인터럽트와 트랩 벡터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 19

그림 2-11 제어워드의 위치와 종류 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 20

그림 3-1 고장 검출 범위 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 26

그림 3-2 고장 검출기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 30

그림 3-3 워치독 타이머 시뮬레이션 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

그림 3-4 디지털 입출력 장치 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 32

그림 3-5 버퍼 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 33

그림 3-6 PWM 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 34

그림 4-1 고장허용제어 시스템의 연구 분야 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 35

그림 4-2 NMR 구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 36

그림 4-3 standby sparing middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 37

그림 4-4 X-29의 중복구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

그림 4-5 Global-Hawk의 중복구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

그림 4-6 제안된 이중구조 시스템 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 40

그림 4-7 고장 신호 및 임무 전환 신호 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 40

그림 4-8 이중구조 시스템의 동작 수행 과정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 41

그림 4-9 채널 변경 모듈 구성도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

그림 4-10 채널 변경 모듈 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

그림 4-11 이중구조의 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

- vii -

그림 5-1 신뢰성 예측 절차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 44

그림 5-2 단일 구조 신뢰성 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

그림 5-3 이중 구조 신뢰성 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 49

그림 5-4 신뢰도 분석 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 49

- viii -

약어 정 리

AUC Airborn Uninhabited Cargo

BC Bus Controller

BIOS Basic Input Output System

BIT Built-in Test

DFCC Digital Flight Control Computer

DFT Design for Testability

DMA Direct Memory Address

DSP Digital Signal Processor

FIFO First In First Out

Fit Failure in time

IC Integrated Circuit

IMMC Integrated Mission Management Computer

MTBF Mean Time Between Failure

NMR N-Modular Redundancy

OS Operating System

PLD Programmable Logic Device

POST Power On Self Test

PWM Pulse Width Modulation

RBD Reliability Block Diagram

RT Remote Terminal

TPG Test Pattern Generator

- 1 -

1 서 론

비행제어 컴퓨터는 항공기에 탑재되어 조종사 또는 제어기의 명령에

따라 원하는 출력을 생성하여 항공기를 조종하는 데 그 목적이 있다 이

러한 기능은 컴퓨터와 전기전자 기술의 발전에 따라 무인항공기에 적용

가능한 소형경량의 디지털 비행제어 컴퓨터(DFCC Digital Flight

Control Computer) 구현이 가능하게 되었다 하지만 비행제어 컴퓨터의

설계는 구성의 복잡성을 최소로 줄이고 안정된 동작 수행이 검증된 소자

만을 이용하여 상당히 보수적인 방법으로 진행된다

탑재 소프트웨어 역시 안전성이 확인된 ADA나 ANSI C 컴파일러만을

사용하게 된다 ADA 언어는 미국 국방성에서 채택하고 있는 언어로 C와

비슷한 특성을 가지고 있다 그러나 가격이 상대적으로 비싸고 일반적이

지 않으며 언어 훈련에 많은 시간이 소요되므로 일반 개발품에는 사용되

지 않고 단지 미국 국방성에서 사용되는 품목에 한하여 사용되는 경향이

있다 따라서 본 논문에서는 어셈블러와 ANSI C 언어를 사용하여 탑재

소프트웨어의 기본을 구성하였다

무인항공기도 점차 기능이 다양해지고 복잡해짐에 따라 높은 수준의

신뢰성을 요구하고 있어 비행제어 컴퓨터의 신뢰성 향상에 초점을 두었

다 시스템의 신뢰성을 높이기 위해 구성 부품은 품질 등급이 높아 고장

율이 낮은 것을 사용하고 부품 단위에서 해결하지 못할 경우 비행제어

컴퓨터 모듈을 중복으로 구성하여 전체적인 신뢰성을 증대시키게 된다

본 논문에서는 비행제어 컴퓨터의 신뢰성과 고장에 대한 강건성을 높

이기 위해 이중 구조의 비행제어 컴퓨터를 설계하고 시스템의 고장식별

및 임무 전환에 대한 방법을 제시하였다 그리고 시스템을 구성하는 모든

부품은 군사규격과 상용규격의 중간단계인 산업용 규격을 만족하는 부품

을 사용하였다 그리고 본 논문을 통하여 설계 제작된 이중구조의 비행제

어 컴퓨터에 대한 고장율 및 신뢰도를 분석하였다

그림 1-1은 본 논문의 흐름도를 나타낸다 하위범주에서 진하게 표시

된 내용이 논문의 연구범위이다 우선 시스템 요구사항을 도출하여 이에

적절한 시스템을 설계하고 설계된 시스템에 대하여 신뢰성 평가가 이루

어진다 시스템 설계는 신뢰성에 초점을 두고 고장 방지 및 고장 허용 설

- 2 -

계 기법을 적용한다 고장 방지는 고장 발생 원인을 줄임으로서 고장의

발생을 미연에 방지하는 것이고 고장 허용은 만약 시스템에 고장이 발생

하였을 경우 이 고장으로 인해 전체 시스템의 고장으로 발전하는 것을 방

지하는 것이다 고장 방지 설계에서는 설계 동향을 분석하고 고품질의 부

품을 선택하여 사용하고 접지와 단열을 고려하여 외부 환경에 대한 고장

원인도 미연에 방어할 수 있어야 한다 고장 허용 설계는 하드웨어 중복

구조를 바탕으로 고장의 검출분리재구성의 과정을 수행할 수 있는 하드

웨어 자원을 포함한다 시스템 평가 단계에서는 설계된 시스템이 초기 요

구사항에 얼마나 적절하게 부합하는지 고장율과 신뢰도를 분석하여 평가

한다

그림 1-1 연구 흐름도

- 3 -

2 비행제어 컴퓨터 설계

무인항공기에 적용되는 비행제어 컴퓨터는 항공기의 자세 위치 고도

및 공력 데이터를 수집하여 명령으로 주어진 비행 상태와 현재의 상태를

비교하고 비행제어 법칙을 적용하여 수동자동 모드에 적합한 조종면 제

어 신호를 출력한다 이러한 비행제어 컴퓨터는 탑재 소프트웨어를 쉽게

변경할 수 있어야 하며 구조가 간단하고 높은 신뢰성을 확보해야 한다

그림 2-1은 PC-104 타입의 CPU 모듈을 나타낸다 이러한 모듈은 세

계 규격품으로 정의되어져 있고 상용 제품으로 많이 유통되고 있다 그리

고 Matlab 개발 툴을 이용하여 비행제어에 관련된 소프트웨어 작성이 용

이하다 다양한 사용자 인터페이스를 제공 하고 있어 현재 무인항공기에

가장 많이 사용되고 있는 추세에 있다

그림 2-1 PC-104 CPU 모듈

이러한 장점에도 불구하고 본 연구를 통해 별도의 비행제어 컴퓨터를

개발하고 다중구조를 채택하게 된 이유는 다음과 같다 우선 전 세계 시

장에 판매되고 있는 제품군은 많지만 국내에서 유통되는 제품군은 지극히

제한적이고 이에 따라 유지 및 보수에 상당한 시간과 비용이 추가된다

두 번째로 소비전류가 비교적 높다 상용 제품의 경우 인텔 계열의

386486 프로세서를 메인으로 사용하고 있다 따라서 상용 제품에서 프

로세서 모듈의 소비전류는 1~2A 정도로 상당히 높게 차지한다 만약 지

상 장비에 적용되는 프로세서 모듈일 경우 지상에서 일정한 전원을 공급

- 4 -

받을 수 있지만 무인항공기에 탑재되는 비행제어 컴퓨터의 경우 전원은

배터리로부터 공급받기 때문에 전원에 대하여 상당히 제한적이다

세 번째로 확장이 용이하지 않고 RS-485 통신 인터페이스를 지원하

지 않는다 RS-485 통신은 본 연구의 궁극적인 목적인 무인항공기용 비

행제어 시스템이 적용하고 있는 통신 체계이다 하지만 기존의 프로세서

모듈은 USB RS-232 LAN 등과 같은 PC용 인터페이스는 광범위하게

제공 하지만 RS-485422 CAN 등과 같은 산업용 인터페이스의 제공은

보편적이지 않다

마지막으로 시스템의 신뢰성을 관리하고 중복구조 시스템을 구성하기

위해 상당한 제약 조건이 따른다 시스템의 높은 신뢰성을 확보하기 위해

서는 부품관리공정관리 등이 필요하고 특히 부품의 구입부터 주의를 기

울여야 하며 외부 노이즈로부터 시스템을 방어하기 위한 차단 수단을 설

계에 반영하여야 한다 그리고 중복구조 구성을 위해서도 적절한 중복구

조 인터페이스를 포함하고 있어야 한다

위에서 언급된 여러 가지 장단점을 비교하고 분석하여 본 논문에서는

시스템의 높은 신뢰도를 확보하기 위하여 이중구조 구성이 가능한 비행제

어 컴퓨터를 설계하기 위한 요구사항을 도출하였다[1 2 3]

21 요구 사항 및 구성

비행제어 컴퓨터는 주변장치와의 데이터 통신을 담당하는 통신 드라이

버(RS-485 RS-232) 디지털 입출력 장치 아날로그 입력 PWM 출력

등의 사용자 입출력 인터페이스와 시스템의 확장 및 다중화 구조를 위한

여분의 확장 인터페이스 시스템 디버깅용 인터페이스 그리고 전원부가

요구된다

사용 환경에 대한 요구조건은 무인항공기가 비록 유인항공기와 같은

고고도에서 사용되지 않지만 연교차 및 일교차와 같이 계절 변화에 따른

심한 환경변화를 고려하여 모든 부품을 산업용(-40 ~ +80) 규격에

적합한 부품을 사용한다 표 2-1은 요구사항에 의한 비행제어 컴퓨터의

제원을 나타낸다

- 5 -

표 2-1 비행제어 컴퓨터 제원

CPU TMS320C31 C8051

System Clock 40MHz 24MHz

ROM 512kbyte (256k times 8bit times 2)

RAM 256kword (256k times 16bit times 2)

FIFO 512byte times 2

통신RS-485(2채널)

RS-232(1채널)

시스템 감시DSP H1 외부 워치독

BC 내부 워치독

디지털 입출력 8채널

PWM 출력 8채널

외부 인터럽트 4채널

아날로그 입력 8채널

시스템 전원 +33vdc +5vdc

입력 전원 +75vdc ~ +20vdc

소비 전류 MAX 500mA

작동 온도 -40 ~ +85

BIT 모듈 이중구조 임무전환 스위치

EPLD program JTAG port

BC(F021) program JTAG port

DSP Emulator port

비행제어 컴퓨터는 메인 프로세서로 DSP를 사용하였고 주변장치 인터

페이스를 위해 PLD를 사용하였으며 버스제어기와 메모리 전원장치 등

으로 구성하였다 그리고 중복구조는 주시스템과 종시스템으로 이루어진

이중구조를 기본으로 한다 이중구조 시스템은 동일한 소프트웨어를 탑재

하고 있는 동종의 비행제어 컴퓨터 2대로 구성된다 그림 2-2는 비행제

어 컴퓨터의 구성을 나타낸다

- 6 -

그림 2-2 비행제어 컴퓨터 구성

- 7 -

22 프로세서

비행에서 컴퓨터에 사용되는 메인 프로세서는 제한된 시간(20msec)

내에 비행제어법칙의 연산에 따른 제어 신호를 출력하고 주변장치(RT

Remote Terminal)와의 원활한 데이터 송수신 기능 및 시스템을 구성하

고 있는 하드웨어 자원을 관리해야 한다 이러한 기능을 만족시키기 위해

DSP 계열의 32비트 부동소수점 연산이 가능하고 ANSI-C 언어 개발환

경을 지원하는 TI사의 TMS320C31을 채택하였다 표 2-2는 프로세서의

주요 기능과 특징을 나타낸다[4]

표 2-2 메인 프로세서의 특징

항 목 기능 및 특징 비 고

개 요 32비트 부동소수점 연산

처리속도

클럭 주파수 50MHz

단일 사이클 명령어 처리 시간

40ns

20MIPS 40MFLOPS의 처리 속도

(주의)실제 입력 주파

수는 40MHz이므로 처

리 시간은 50ns이다

명령어32비트 명령어 32비트 데이터 24

비트 주소

메모리

2개의 1k times 32비트 내부 RAM

64 times 32비트 명령 캐시

16M times 32비트의 외보 확장 메모

리 영역

마이크로 프로세서모드

마이크로 컴퓨터모드

IO

DMA 제어기

2개의 32비트 타이머

4개의 외부 인터럽트

1개의 시리얼 포트

- 8 -

23 메모리

메모리는 메인 프로세서의 내부 메모리 이외에 사용자를 위한 외부 메

모리(Flash ROM SRAM)을 추가하였다 내부 메모리는 개발단계에서 시

스템 디버깅용으로 사용되고 시스템 부팅시 외부 메모리 검사에 사용된

다 외부 메모리는 256kbyte Flash ROM 2개와 256kword SRAM 2개로

구성된다 플래시 메모리는 데이터OS응용프로그램을 저장하게 되고

SRAM은 프로그램이 동작할 수 있는 공간을 제공한다 표 2-3은 비행제

어 컴퓨터의 외부 메모리 사양을 나타낸다

표 2-3 메모리 사양

SRAM ROM FIFO

크 기 256kword 512kbyte 512byte

동작속도 10ns 120ns 12ns

동작온도 -40 ~ +80

용 도 프로그램 실행 프로그램 저장 버퍼

외부 메모리인터페이스는 각각 32 16 8비트로 접속할 수 있다 비행

제어 컴퓨터는 시스템 부팅용 플래시 메모리를 8비트로 프로그램 실행에

사용되는 SRAM을 32비트로 접속하였다 플래시 메모리는 두개의 물리적

인 메모리 공간을 각각 8비트로 연결하였으므로 독립적으로 각각의 메모

리에 접근할 수 있다 두 개의 플래시 메모리는 1 2로 구분되고 그 사

용 예로는 1은 시스템 개발 시스템 부팅 시스템 모니터링 프로그램을

2에는 비행제어 컴퓨터가 사용하게 될 응용프로그램을 탑재하는 공간으

로 사용하게 된다 이러한 두 개의 플래시 메모리 공간에서 2는 사용자

의 취향에 맞게 다양한 정보를 저장해서 사용할 수 있다 SRAM은 프로

그램이 동작하는 공간으로서 32비트 DSP의 장점을 최대로 활용할 수 있

도록 16비트의 물리적인 메모리를 32비트로 연결하였다 그림 2-3은 외

부 메모리 인터페이스를 나타낸다

- 9 -

그림 2-3 외부 메모리 인터페이스

그림 2-4 양방향 FIFO 구성

비행제어 컴퓨터는 연산을 담당하는 메인 프로세서와 통신을 담당하는

버스제어기로 구성되어 있으며 각각은 이종의 프로세서(TMS320C31

C8051F021)로 구성되어 있다 그렇기 때문에 원활한 데이터 공유를 위

해 FIFO 메모리를 양방향 버퍼로 사용하였다 FIFO 메모리의 데이터 흐

름은 양쪽의 프로세서에서 Full FlagEmpty Flag를 이용해 제어한다

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

工學碩士學位 請求論文

신뢰도 확보를 한 이 구조 기반의

비행제어 컴퓨터 연구

Study of a reliable flight control computer

based on dual-redundancy

2005年 8月

指 敎授 朴 瑃 培

이 論文을 工學碩士學位 論文으로 提出함

仁荷大學校 大學院

航空工學科

金 性 洙

이 論文을 金性洙의 碩士學位 論文으로 認定함

2005年 8月

主審 (印)

副審 (印)

委員 (印)

- i -

비행제어 컴퓨터는 항공기에 탑재되어 조종사 는 제어기의 명령에

따라 원하는 출력을 생성하여 항공기를 조종하는 데 그 목 이 있다 이

러한 기능의 구 은 컴퓨터와 기 자 기술의 발달로 인해 무인항공기

에 용 가능한 소형경량의 디지털 비행제어 컴퓨터(DFCC Digital

Flight Control Computer)의 구 을 가능하게 하 다

본 논문에서는 무인항공기 조종에 필수 인 비행제어 컴퓨터를 설계하

고 제작하 다 설계의 주요 은 무인항공기에 필요한 신뢰도를 확보

하는 것이다 시스템의 신뢰도를 확보하기 해 산업용 부품을 사용하여

부품의 품질 등 을 향상시켰고 구성 모듈을 이용하여 기 여분방식의

이 구조 시스템을 구성하 다 기 여분 방식의 이 구조를 구성하기

해 고장 검출기에서 정확한 임무 환 신호가 발생되어야 한다

고장 검출은 기능 수 의 고장 모델을 정의하여 이에 합한 고장 검

출기를 구성하고 시스템의 고장을 악하게 된다 고장 발생 신호에 따라

시스템의 임무 환이 이루어진다

설계되어진 이 구조의 비행제어 컴퓨터는 정 고장율과 시간 변화에

따른 동 고장율의 변화를 악하고 신뢰도에 한 검증 차를 거친다

- ii -

ABSTRAC T

Purpose of on board Flight Control Computer is to aircraft control

by generated output signal according to pilot or autopilot command

The development of computer and electronic technique allowed a

realize that could be applied to Digital Flight Control Computer of

small size and lightweight

This thesis is designed and producted the Flight Control Computer

of UAV Design point is secure reliability of UAV To secure

reliability of system improve the quality level of electronic parts and

based on dual-redundancy structure of standby sparing

Dual-redundancy structure of standby sparing need to mission switch

signal of fault detector created fault signal

Fault detection is define a fault model and construct a fault

detector and get a grip on the fault of system According to generated

fault signal the system mission is changed

Based on dual-redundancy Flight Control Computer was proceeding

to verify the static failure rate and dynamic failure rate

- iii -

목 차

초 록 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅰ

ABSTRACT middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅱ

목 차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅲ

표 목차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅴ

그림 목차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅵ

약어 정리 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅷ

1 서 론 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 1

2 비행제어 컴퓨터 설계 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 3

21 요구 사항 및 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 4

22 프로세서 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 7

23 메모리 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 8

24 주변 장치 인터페이스 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 12

25 버스제어기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 14

26 내부 논리 구현기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 15

27 전원부 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

28 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

29 탑재 소프트웨어 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

291 부팅절차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

292 소프트웨어 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 22

3 고장 검출 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 26

31 고장 모델 정의 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 27

32 기능 수준 고장 모델 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

33 CPU 고장 검출 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

34 주변 장치 고장 검출 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

- iv -

4 중복구조 설계 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 35

41 중복 구조 개념 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 36

42 중복구조의 적용 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 38

43 이중구조의 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

5 신뢰도 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 43

51 고장율 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 43

52 기본 고장율 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 45

53 이중구조 신뢰도 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

6 결 론 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 50

7 참고 문헌 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 51

- v -

표 목 차

표 2-1 비행제어 컴퓨터 제원 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 5

표 2-2 메인 프로세서의 특징 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 7

표 2-3 메모리 사양 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 8

표 2-4 양방향 버퍼의 데이터 흐름 제어 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 10

표 2-5 비행제어 컴퓨터 메모리 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 11

표 2-6 섹션 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 11

표 2-7 입출력 장치 어드레스 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 12

표 2-8 메인 프로그램 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 21

표 2-9 maincmd middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 22

표 2-10 romcmd middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 23

표 2-11 isrh middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 23

표 2-12 subh middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 24

표 3-1 고장 모델 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 28

표 3-2 32비트 DB middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

표 3-3 8비트 DB middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

표 3-4 고장 검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 32

표 3-5 고장 검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 33

표 3-6 고장검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 34

표 4-1 고장 신호 및 출력 신호 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 41

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 45

표 5-2 무인항공기 운용 환경 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 46

표 5-3 비행 안전 및 신뢰도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 47

표 5-4 고장율 분석 자료 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

- vi -

그 림 목 차

그림 1-1 연구 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 2

그림 2-1 PC-104 CPU 모듈 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 3

그림 2-2 비행제어 컴퓨터 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 6

그림 2-3 외부 메모리 인터페이스 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 9

그림 2-4 양방향 FIFO 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 9

그림 2-5 어드레스 디코더 시뮬레이션 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 14

그림 2-6 버스제어기의 구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 15

그림 2-7 내부 논리 구현기 구성도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 16

그림 2-8 시스템 안정화 방법 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

그림 2-9 제작된 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

그림 2-10 인터럽트와 트랩 벡터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 19

그림 2-11 제어워드의 위치와 종류 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 20

그림 3-1 고장 검출 범위 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 26

그림 3-2 고장 검출기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 30

그림 3-3 워치독 타이머 시뮬레이션 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

그림 3-4 디지털 입출력 장치 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 32

그림 3-5 버퍼 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 33

그림 3-6 PWM 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 34

그림 4-1 고장허용제어 시스템의 연구 분야 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 35

그림 4-2 NMR 구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 36

그림 4-3 standby sparing middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 37

그림 4-4 X-29의 중복구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

그림 4-5 Global-Hawk의 중복구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

그림 4-6 제안된 이중구조 시스템 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 40

그림 4-7 고장 신호 및 임무 전환 신호 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 40

그림 4-8 이중구조 시스템의 동작 수행 과정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 41

그림 4-9 채널 변경 모듈 구성도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

그림 4-10 채널 변경 모듈 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

그림 4-11 이중구조의 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

- vii -

그림 5-1 신뢰성 예측 절차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 44

그림 5-2 단일 구조 신뢰성 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

그림 5-3 이중 구조 신뢰성 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 49

그림 5-4 신뢰도 분석 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 49

- viii -

약어 정 리

AUC Airborn Uninhabited Cargo

BC Bus Controller

BIOS Basic Input Output System

BIT Built-in Test

DFCC Digital Flight Control Computer

DFT Design for Testability

DMA Direct Memory Address

DSP Digital Signal Processor

FIFO First In First Out

Fit Failure in time

IC Integrated Circuit

IMMC Integrated Mission Management Computer

MTBF Mean Time Between Failure

NMR N-Modular Redundancy

OS Operating System

PLD Programmable Logic Device

POST Power On Self Test

PWM Pulse Width Modulation

RBD Reliability Block Diagram

RT Remote Terminal

TPG Test Pattern Generator

- 1 -

1 서 론

비행제어 컴퓨터는 항공기에 탑재되어 조종사 또는 제어기의 명령에

따라 원하는 출력을 생성하여 항공기를 조종하는 데 그 목적이 있다 이

러한 기능은 컴퓨터와 전기전자 기술의 발전에 따라 무인항공기에 적용

가능한 소형경량의 디지털 비행제어 컴퓨터(DFCC Digital Flight

Control Computer) 구현이 가능하게 되었다 하지만 비행제어 컴퓨터의

설계는 구성의 복잡성을 최소로 줄이고 안정된 동작 수행이 검증된 소자

만을 이용하여 상당히 보수적인 방법으로 진행된다

탑재 소프트웨어 역시 안전성이 확인된 ADA나 ANSI C 컴파일러만을

사용하게 된다 ADA 언어는 미국 국방성에서 채택하고 있는 언어로 C와

비슷한 특성을 가지고 있다 그러나 가격이 상대적으로 비싸고 일반적이

지 않으며 언어 훈련에 많은 시간이 소요되므로 일반 개발품에는 사용되

지 않고 단지 미국 국방성에서 사용되는 품목에 한하여 사용되는 경향이

있다 따라서 본 논문에서는 어셈블러와 ANSI C 언어를 사용하여 탑재

소프트웨어의 기본을 구성하였다

무인항공기도 점차 기능이 다양해지고 복잡해짐에 따라 높은 수준의

신뢰성을 요구하고 있어 비행제어 컴퓨터의 신뢰성 향상에 초점을 두었

다 시스템의 신뢰성을 높이기 위해 구성 부품은 품질 등급이 높아 고장

율이 낮은 것을 사용하고 부품 단위에서 해결하지 못할 경우 비행제어

컴퓨터 모듈을 중복으로 구성하여 전체적인 신뢰성을 증대시키게 된다

본 논문에서는 비행제어 컴퓨터의 신뢰성과 고장에 대한 강건성을 높

이기 위해 이중 구조의 비행제어 컴퓨터를 설계하고 시스템의 고장식별

및 임무 전환에 대한 방법을 제시하였다 그리고 시스템을 구성하는 모든

부품은 군사규격과 상용규격의 중간단계인 산업용 규격을 만족하는 부품

을 사용하였다 그리고 본 논문을 통하여 설계 제작된 이중구조의 비행제

어 컴퓨터에 대한 고장율 및 신뢰도를 분석하였다

그림 1-1은 본 논문의 흐름도를 나타낸다 하위범주에서 진하게 표시

된 내용이 논문의 연구범위이다 우선 시스템 요구사항을 도출하여 이에

적절한 시스템을 설계하고 설계된 시스템에 대하여 신뢰성 평가가 이루

어진다 시스템 설계는 신뢰성에 초점을 두고 고장 방지 및 고장 허용 설

- 2 -

계 기법을 적용한다 고장 방지는 고장 발생 원인을 줄임으로서 고장의

발생을 미연에 방지하는 것이고 고장 허용은 만약 시스템에 고장이 발생

하였을 경우 이 고장으로 인해 전체 시스템의 고장으로 발전하는 것을 방

지하는 것이다 고장 방지 설계에서는 설계 동향을 분석하고 고품질의 부

품을 선택하여 사용하고 접지와 단열을 고려하여 외부 환경에 대한 고장

원인도 미연에 방어할 수 있어야 한다 고장 허용 설계는 하드웨어 중복

구조를 바탕으로 고장의 검출분리재구성의 과정을 수행할 수 있는 하드

웨어 자원을 포함한다 시스템 평가 단계에서는 설계된 시스템이 초기 요

구사항에 얼마나 적절하게 부합하는지 고장율과 신뢰도를 분석하여 평가

한다

그림 1-1 연구 흐름도

- 3 -

2 비행제어 컴퓨터 설계

무인항공기에 적용되는 비행제어 컴퓨터는 항공기의 자세 위치 고도

및 공력 데이터를 수집하여 명령으로 주어진 비행 상태와 현재의 상태를

비교하고 비행제어 법칙을 적용하여 수동자동 모드에 적합한 조종면 제

어 신호를 출력한다 이러한 비행제어 컴퓨터는 탑재 소프트웨어를 쉽게

변경할 수 있어야 하며 구조가 간단하고 높은 신뢰성을 확보해야 한다

그림 2-1은 PC-104 타입의 CPU 모듈을 나타낸다 이러한 모듈은 세

계 규격품으로 정의되어져 있고 상용 제품으로 많이 유통되고 있다 그리

고 Matlab 개발 툴을 이용하여 비행제어에 관련된 소프트웨어 작성이 용

이하다 다양한 사용자 인터페이스를 제공 하고 있어 현재 무인항공기에

가장 많이 사용되고 있는 추세에 있다

그림 2-1 PC-104 CPU 모듈

이러한 장점에도 불구하고 본 연구를 통해 별도의 비행제어 컴퓨터를

개발하고 다중구조를 채택하게 된 이유는 다음과 같다 우선 전 세계 시

장에 판매되고 있는 제품군은 많지만 국내에서 유통되는 제품군은 지극히

제한적이고 이에 따라 유지 및 보수에 상당한 시간과 비용이 추가된다

두 번째로 소비전류가 비교적 높다 상용 제품의 경우 인텔 계열의

386486 프로세서를 메인으로 사용하고 있다 따라서 상용 제품에서 프

로세서 모듈의 소비전류는 1~2A 정도로 상당히 높게 차지한다 만약 지

상 장비에 적용되는 프로세서 모듈일 경우 지상에서 일정한 전원을 공급

- 4 -

받을 수 있지만 무인항공기에 탑재되는 비행제어 컴퓨터의 경우 전원은

배터리로부터 공급받기 때문에 전원에 대하여 상당히 제한적이다

세 번째로 확장이 용이하지 않고 RS-485 통신 인터페이스를 지원하

지 않는다 RS-485 통신은 본 연구의 궁극적인 목적인 무인항공기용 비

행제어 시스템이 적용하고 있는 통신 체계이다 하지만 기존의 프로세서

모듈은 USB RS-232 LAN 등과 같은 PC용 인터페이스는 광범위하게

제공 하지만 RS-485422 CAN 등과 같은 산업용 인터페이스의 제공은

보편적이지 않다

마지막으로 시스템의 신뢰성을 관리하고 중복구조 시스템을 구성하기

위해 상당한 제약 조건이 따른다 시스템의 높은 신뢰성을 확보하기 위해

서는 부품관리공정관리 등이 필요하고 특히 부품의 구입부터 주의를 기

울여야 하며 외부 노이즈로부터 시스템을 방어하기 위한 차단 수단을 설

계에 반영하여야 한다 그리고 중복구조 구성을 위해서도 적절한 중복구

조 인터페이스를 포함하고 있어야 한다

위에서 언급된 여러 가지 장단점을 비교하고 분석하여 본 논문에서는

시스템의 높은 신뢰도를 확보하기 위하여 이중구조 구성이 가능한 비행제

어 컴퓨터를 설계하기 위한 요구사항을 도출하였다[1 2 3]

21 요구 사항 및 구성

비행제어 컴퓨터는 주변장치와의 데이터 통신을 담당하는 통신 드라이

버(RS-485 RS-232) 디지털 입출력 장치 아날로그 입력 PWM 출력

등의 사용자 입출력 인터페이스와 시스템의 확장 및 다중화 구조를 위한

여분의 확장 인터페이스 시스템 디버깅용 인터페이스 그리고 전원부가

요구된다

사용 환경에 대한 요구조건은 무인항공기가 비록 유인항공기와 같은

고고도에서 사용되지 않지만 연교차 및 일교차와 같이 계절 변화에 따른

심한 환경변화를 고려하여 모든 부품을 산업용(-40 ~ +80) 규격에

적합한 부품을 사용한다 표 2-1은 요구사항에 의한 비행제어 컴퓨터의

제원을 나타낸다

- 5 -

표 2-1 비행제어 컴퓨터 제원

CPU TMS320C31 C8051

System Clock 40MHz 24MHz

ROM 512kbyte (256k times 8bit times 2)

RAM 256kword (256k times 16bit times 2)

FIFO 512byte times 2

통신RS-485(2채널)

RS-232(1채널)

시스템 감시DSP H1 외부 워치독

BC 내부 워치독

디지털 입출력 8채널

PWM 출력 8채널

외부 인터럽트 4채널

아날로그 입력 8채널

시스템 전원 +33vdc +5vdc

입력 전원 +75vdc ~ +20vdc

소비 전류 MAX 500mA

작동 온도 -40 ~ +85

BIT 모듈 이중구조 임무전환 스위치

EPLD program JTAG port

BC(F021) program JTAG port

DSP Emulator port

비행제어 컴퓨터는 메인 프로세서로 DSP를 사용하였고 주변장치 인터

페이스를 위해 PLD를 사용하였으며 버스제어기와 메모리 전원장치 등

으로 구성하였다 그리고 중복구조는 주시스템과 종시스템으로 이루어진

이중구조를 기본으로 한다 이중구조 시스템은 동일한 소프트웨어를 탑재

하고 있는 동종의 비행제어 컴퓨터 2대로 구성된다 그림 2-2는 비행제

어 컴퓨터의 구성을 나타낸다

- 6 -

그림 2-2 비행제어 컴퓨터 구성

- 7 -

22 프로세서

비행에서 컴퓨터에 사용되는 메인 프로세서는 제한된 시간(20msec)

내에 비행제어법칙의 연산에 따른 제어 신호를 출력하고 주변장치(RT

Remote Terminal)와의 원활한 데이터 송수신 기능 및 시스템을 구성하

고 있는 하드웨어 자원을 관리해야 한다 이러한 기능을 만족시키기 위해

DSP 계열의 32비트 부동소수점 연산이 가능하고 ANSI-C 언어 개발환

경을 지원하는 TI사의 TMS320C31을 채택하였다 표 2-2는 프로세서의

주요 기능과 특징을 나타낸다[4]

표 2-2 메인 프로세서의 특징

항 목 기능 및 특징 비 고

개 요 32비트 부동소수점 연산

처리속도

클럭 주파수 50MHz

단일 사이클 명령어 처리 시간

40ns

20MIPS 40MFLOPS의 처리 속도

(주의)실제 입력 주파

수는 40MHz이므로 처

리 시간은 50ns이다

명령어32비트 명령어 32비트 데이터 24

비트 주소

메모리

2개의 1k times 32비트 내부 RAM

64 times 32비트 명령 캐시

16M times 32비트의 외보 확장 메모

리 영역

마이크로 프로세서모드

마이크로 컴퓨터모드

IO

DMA 제어기

2개의 32비트 타이머

4개의 외부 인터럽트

1개의 시리얼 포트

- 8 -

23 메모리

메모리는 메인 프로세서의 내부 메모리 이외에 사용자를 위한 외부 메

모리(Flash ROM SRAM)을 추가하였다 내부 메모리는 개발단계에서 시

스템 디버깅용으로 사용되고 시스템 부팅시 외부 메모리 검사에 사용된

다 외부 메모리는 256kbyte Flash ROM 2개와 256kword SRAM 2개로

구성된다 플래시 메모리는 데이터OS응용프로그램을 저장하게 되고

SRAM은 프로그램이 동작할 수 있는 공간을 제공한다 표 2-3은 비행제

어 컴퓨터의 외부 메모리 사양을 나타낸다

표 2-3 메모리 사양

SRAM ROM FIFO

크 기 256kword 512kbyte 512byte

동작속도 10ns 120ns 12ns

동작온도 -40 ~ +80

용 도 프로그램 실행 프로그램 저장 버퍼

외부 메모리인터페이스는 각각 32 16 8비트로 접속할 수 있다 비행

제어 컴퓨터는 시스템 부팅용 플래시 메모리를 8비트로 프로그램 실행에

사용되는 SRAM을 32비트로 접속하였다 플래시 메모리는 두개의 물리적

인 메모리 공간을 각각 8비트로 연결하였으므로 독립적으로 각각의 메모

리에 접근할 수 있다 두 개의 플래시 메모리는 1 2로 구분되고 그 사

용 예로는 1은 시스템 개발 시스템 부팅 시스템 모니터링 프로그램을

2에는 비행제어 컴퓨터가 사용하게 될 응용프로그램을 탑재하는 공간으

로 사용하게 된다 이러한 두 개의 플래시 메모리 공간에서 2는 사용자

의 취향에 맞게 다양한 정보를 저장해서 사용할 수 있다 SRAM은 프로

그램이 동작하는 공간으로서 32비트 DSP의 장점을 최대로 활용할 수 있

도록 16비트의 물리적인 메모리를 32비트로 연결하였다 그림 2-3은 외

부 메모리 인터페이스를 나타낸다

- 9 -

그림 2-3 외부 메모리 인터페이스

그림 2-4 양방향 FIFO 구성

비행제어 컴퓨터는 연산을 담당하는 메인 프로세서와 통신을 담당하는

버스제어기로 구성되어 있으며 각각은 이종의 프로세서(TMS320C31

C8051F021)로 구성되어 있다 그렇기 때문에 원활한 데이터 공유를 위

해 FIFO 메모리를 양방향 버퍼로 사용하였다 FIFO 메모리의 데이터 흐

름은 양쪽의 프로세서에서 Full FlagEmpty Flag를 이용해 제어한다

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

이 論文을 金性洙의 碩士學位 論文으로 認定함

2005年 8月

主審 (印)

副審 (印)

委員 (印)

- i -

비행제어 컴퓨터는 항공기에 탑재되어 조종사 는 제어기의 명령에

따라 원하는 출력을 생성하여 항공기를 조종하는 데 그 목 이 있다 이

러한 기능의 구 은 컴퓨터와 기 자 기술의 발달로 인해 무인항공기

에 용 가능한 소형경량의 디지털 비행제어 컴퓨터(DFCC Digital

Flight Control Computer)의 구 을 가능하게 하 다

본 논문에서는 무인항공기 조종에 필수 인 비행제어 컴퓨터를 설계하

고 제작하 다 설계의 주요 은 무인항공기에 필요한 신뢰도를 확보

하는 것이다 시스템의 신뢰도를 확보하기 해 산업용 부품을 사용하여

부품의 품질 등 을 향상시켰고 구성 모듈을 이용하여 기 여분방식의

이 구조 시스템을 구성하 다 기 여분 방식의 이 구조를 구성하기

해 고장 검출기에서 정확한 임무 환 신호가 발생되어야 한다

고장 검출은 기능 수 의 고장 모델을 정의하여 이에 합한 고장 검

출기를 구성하고 시스템의 고장을 악하게 된다 고장 발생 신호에 따라

시스템의 임무 환이 이루어진다

설계되어진 이 구조의 비행제어 컴퓨터는 정 고장율과 시간 변화에

따른 동 고장율의 변화를 악하고 신뢰도에 한 검증 차를 거친다

- ii -

ABSTRAC T

Purpose of on board Flight Control Computer is to aircraft control

by generated output signal according to pilot or autopilot command

The development of computer and electronic technique allowed a

realize that could be applied to Digital Flight Control Computer of

small size and lightweight

This thesis is designed and producted the Flight Control Computer

of UAV Design point is secure reliability of UAV To secure

reliability of system improve the quality level of electronic parts and

based on dual-redundancy structure of standby sparing

Dual-redundancy structure of standby sparing need to mission switch

signal of fault detector created fault signal

Fault detection is define a fault model and construct a fault

detector and get a grip on the fault of system According to generated

fault signal the system mission is changed

Based on dual-redundancy Flight Control Computer was proceeding

to verify the static failure rate and dynamic failure rate

- iii -

목 차

초 록 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅰ

ABSTRACT middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅱ

목 차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅲ

표 목차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅴ

그림 목차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅵ

약어 정리 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅷ

1 서 론 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 1

2 비행제어 컴퓨터 설계 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 3

21 요구 사항 및 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 4

22 프로세서 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 7

23 메모리 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 8

24 주변 장치 인터페이스 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 12

25 버스제어기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 14

26 내부 논리 구현기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 15

27 전원부 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

28 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

29 탑재 소프트웨어 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

291 부팅절차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

292 소프트웨어 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 22

3 고장 검출 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 26

31 고장 모델 정의 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 27

32 기능 수준 고장 모델 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

33 CPU 고장 검출 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

34 주변 장치 고장 검출 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

- iv -

4 중복구조 설계 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 35

41 중복 구조 개념 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 36

42 중복구조의 적용 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 38

43 이중구조의 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

5 신뢰도 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 43

51 고장율 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 43

52 기본 고장율 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 45

53 이중구조 신뢰도 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

6 결 론 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 50

7 참고 문헌 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 51

- v -

표 목 차

표 2-1 비행제어 컴퓨터 제원 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 5

표 2-2 메인 프로세서의 특징 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 7

표 2-3 메모리 사양 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 8

표 2-4 양방향 버퍼의 데이터 흐름 제어 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 10

표 2-5 비행제어 컴퓨터 메모리 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 11

표 2-6 섹션 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 11

표 2-7 입출력 장치 어드레스 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 12

표 2-8 메인 프로그램 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 21

표 2-9 maincmd middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 22

표 2-10 romcmd middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 23

표 2-11 isrh middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 23

표 2-12 subh middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 24

표 3-1 고장 모델 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 28

표 3-2 32비트 DB middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

표 3-3 8비트 DB middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

표 3-4 고장 검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 32

표 3-5 고장 검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 33

표 3-6 고장검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 34

표 4-1 고장 신호 및 출력 신호 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 41

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 45

표 5-2 무인항공기 운용 환경 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 46

표 5-3 비행 안전 및 신뢰도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 47

표 5-4 고장율 분석 자료 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

- vi -

그 림 목 차

그림 1-1 연구 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 2

그림 2-1 PC-104 CPU 모듈 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 3

그림 2-2 비행제어 컴퓨터 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 6

그림 2-3 외부 메모리 인터페이스 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 9

그림 2-4 양방향 FIFO 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 9

그림 2-5 어드레스 디코더 시뮬레이션 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 14

그림 2-6 버스제어기의 구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 15

그림 2-7 내부 논리 구현기 구성도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 16

그림 2-8 시스템 안정화 방법 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

그림 2-9 제작된 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

그림 2-10 인터럽트와 트랩 벡터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 19

그림 2-11 제어워드의 위치와 종류 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 20

그림 3-1 고장 검출 범위 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 26

그림 3-2 고장 검출기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 30

그림 3-3 워치독 타이머 시뮬레이션 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

그림 3-4 디지털 입출력 장치 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 32

그림 3-5 버퍼 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 33

그림 3-6 PWM 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 34

그림 4-1 고장허용제어 시스템의 연구 분야 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 35

그림 4-2 NMR 구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 36

그림 4-3 standby sparing middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 37

그림 4-4 X-29의 중복구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

그림 4-5 Global-Hawk의 중복구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

그림 4-6 제안된 이중구조 시스템 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 40

그림 4-7 고장 신호 및 임무 전환 신호 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 40

그림 4-8 이중구조 시스템의 동작 수행 과정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 41

그림 4-9 채널 변경 모듈 구성도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

그림 4-10 채널 변경 모듈 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

그림 4-11 이중구조의 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

- vii -

그림 5-1 신뢰성 예측 절차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 44

그림 5-2 단일 구조 신뢰성 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

그림 5-3 이중 구조 신뢰성 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 49

그림 5-4 신뢰도 분석 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 49

- viii -

약어 정 리

AUC Airborn Uninhabited Cargo

BC Bus Controller

BIOS Basic Input Output System

BIT Built-in Test

DFCC Digital Flight Control Computer

DFT Design for Testability

DMA Direct Memory Address

DSP Digital Signal Processor

FIFO First In First Out

Fit Failure in time

IC Integrated Circuit

IMMC Integrated Mission Management Computer

MTBF Mean Time Between Failure

NMR N-Modular Redundancy

OS Operating System

PLD Programmable Logic Device

POST Power On Self Test

PWM Pulse Width Modulation

RBD Reliability Block Diagram

RT Remote Terminal

TPG Test Pattern Generator

- 1 -

1 서 론

비행제어 컴퓨터는 항공기에 탑재되어 조종사 또는 제어기의 명령에

따라 원하는 출력을 생성하여 항공기를 조종하는 데 그 목적이 있다 이

러한 기능은 컴퓨터와 전기전자 기술의 발전에 따라 무인항공기에 적용

가능한 소형경량의 디지털 비행제어 컴퓨터(DFCC Digital Flight

Control Computer) 구현이 가능하게 되었다 하지만 비행제어 컴퓨터의

설계는 구성의 복잡성을 최소로 줄이고 안정된 동작 수행이 검증된 소자

만을 이용하여 상당히 보수적인 방법으로 진행된다

탑재 소프트웨어 역시 안전성이 확인된 ADA나 ANSI C 컴파일러만을

사용하게 된다 ADA 언어는 미국 국방성에서 채택하고 있는 언어로 C와

비슷한 특성을 가지고 있다 그러나 가격이 상대적으로 비싸고 일반적이

지 않으며 언어 훈련에 많은 시간이 소요되므로 일반 개발품에는 사용되

지 않고 단지 미국 국방성에서 사용되는 품목에 한하여 사용되는 경향이

있다 따라서 본 논문에서는 어셈블러와 ANSI C 언어를 사용하여 탑재

소프트웨어의 기본을 구성하였다

무인항공기도 점차 기능이 다양해지고 복잡해짐에 따라 높은 수준의

신뢰성을 요구하고 있어 비행제어 컴퓨터의 신뢰성 향상에 초점을 두었

다 시스템의 신뢰성을 높이기 위해 구성 부품은 품질 등급이 높아 고장

율이 낮은 것을 사용하고 부품 단위에서 해결하지 못할 경우 비행제어

컴퓨터 모듈을 중복으로 구성하여 전체적인 신뢰성을 증대시키게 된다

본 논문에서는 비행제어 컴퓨터의 신뢰성과 고장에 대한 강건성을 높

이기 위해 이중 구조의 비행제어 컴퓨터를 설계하고 시스템의 고장식별

및 임무 전환에 대한 방법을 제시하였다 그리고 시스템을 구성하는 모든

부품은 군사규격과 상용규격의 중간단계인 산업용 규격을 만족하는 부품

을 사용하였다 그리고 본 논문을 통하여 설계 제작된 이중구조의 비행제

어 컴퓨터에 대한 고장율 및 신뢰도를 분석하였다

그림 1-1은 본 논문의 흐름도를 나타낸다 하위범주에서 진하게 표시

된 내용이 논문의 연구범위이다 우선 시스템 요구사항을 도출하여 이에

적절한 시스템을 설계하고 설계된 시스템에 대하여 신뢰성 평가가 이루

어진다 시스템 설계는 신뢰성에 초점을 두고 고장 방지 및 고장 허용 설

- 2 -

계 기법을 적용한다 고장 방지는 고장 발생 원인을 줄임으로서 고장의

발생을 미연에 방지하는 것이고 고장 허용은 만약 시스템에 고장이 발생

하였을 경우 이 고장으로 인해 전체 시스템의 고장으로 발전하는 것을 방

지하는 것이다 고장 방지 설계에서는 설계 동향을 분석하고 고품질의 부

품을 선택하여 사용하고 접지와 단열을 고려하여 외부 환경에 대한 고장

원인도 미연에 방어할 수 있어야 한다 고장 허용 설계는 하드웨어 중복

구조를 바탕으로 고장의 검출분리재구성의 과정을 수행할 수 있는 하드

웨어 자원을 포함한다 시스템 평가 단계에서는 설계된 시스템이 초기 요

구사항에 얼마나 적절하게 부합하는지 고장율과 신뢰도를 분석하여 평가

한다

그림 1-1 연구 흐름도

- 3 -

2 비행제어 컴퓨터 설계

무인항공기에 적용되는 비행제어 컴퓨터는 항공기의 자세 위치 고도

및 공력 데이터를 수집하여 명령으로 주어진 비행 상태와 현재의 상태를

비교하고 비행제어 법칙을 적용하여 수동자동 모드에 적합한 조종면 제

어 신호를 출력한다 이러한 비행제어 컴퓨터는 탑재 소프트웨어를 쉽게

변경할 수 있어야 하며 구조가 간단하고 높은 신뢰성을 확보해야 한다

그림 2-1은 PC-104 타입의 CPU 모듈을 나타낸다 이러한 모듈은 세

계 규격품으로 정의되어져 있고 상용 제품으로 많이 유통되고 있다 그리

고 Matlab 개발 툴을 이용하여 비행제어에 관련된 소프트웨어 작성이 용

이하다 다양한 사용자 인터페이스를 제공 하고 있어 현재 무인항공기에

가장 많이 사용되고 있는 추세에 있다

그림 2-1 PC-104 CPU 모듈

이러한 장점에도 불구하고 본 연구를 통해 별도의 비행제어 컴퓨터를

개발하고 다중구조를 채택하게 된 이유는 다음과 같다 우선 전 세계 시

장에 판매되고 있는 제품군은 많지만 국내에서 유통되는 제품군은 지극히

제한적이고 이에 따라 유지 및 보수에 상당한 시간과 비용이 추가된다

두 번째로 소비전류가 비교적 높다 상용 제품의 경우 인텔 계열의

386486 프로세서를 메인으로 사용하고 있다 따라서 상용 제품에서 프

로세서 모듈의 소비전류는 1~2A 정도로 상당히 높게 차지한다 만약 지

상 장비에 적용되는 프로세서 모듈일 경우 지상에서 일정한 전원을 공급

- 4 -

받을 수 있지만 무인항공기에 탑재되는 비행제어 컴퓨터의 경우 전원은

배터리로부터 공급받기 때문에 전원에 대하여 상당히 제한적이다

세 번째로 확장이 용이하지 않고 RS-485 통신 인터페이스를 지원하

지 않는다 RS-485 통신은 본 연구의 궁극적인 목적인 무인항공기용 비

행제어 시스템이 적용하고 있는 통신 체계이다 하지만 기존의 프로세서

모듈은 USB RS-232 LAN 등과 같은 PC용 인터페이스는 광범위하게

제공 하지만 RS-485422 CAN 등과 같은 산업용 인터페이스의 제공은

보편적이지 않다

마지막으로 시스템의 신뢰성을 관리하고 중복구조 시스템을 구성하기

위해 상당한 제약 조건이 따른다 시스템의 높은 신뢰성을 확보하기 위해

서는 부품관리공정관리 등이 필요하고 특히 부품의 구입부터 주의를 기

울여야 하며 외부 노이즈로부터 시스템을 방어하기 위한 차단 수단을 설

계에 반영하여야 한다 그리고 중복구조 구성을 위해서도 적절한 중복구

조 인터페이스를 포함하고 있어야 한다

위에서 언급된 여러 가지 장단점을 비교하고 분석하여 본 논문에서는

시스템의 높은 신뢰도를 확보하기 위하여 이중구조 구성이 가능한 비행제

어 컴퓨터를 설계하기 위한 요구사항을 도출하였다[1 2 3]

21 요구 사항 및 구성

비행제어 컴퓨터는 주변장치와의 데이터 통신을 담당하는 통신 드라이

버(RS-485 RS-232) 디지털 입출력 장치 아날로그 입력 PWM 출력

등의 사용자 입출력 인터페이스와 시스템의 확장 및 다중화 구조를 위한

여분의 확장 인터페이스 시스템 디버깅용 인터페이스 그리고 전원부가

요구된다

사용 환경에 대한 요구조건은 무인항공기가 비록 유인항공기와 같은

고고도에서 사용되지 않지만 연교차 및 일교차와 같이 계절 변화에 따른

심한 환경변화를 고려하여 모든 부품을 산업용(-40 ~ +80) 규격에

적합한 부품을 사용한다 표 2-1은 요구사항에 의한 비행제어 컴퓨터의

제원을 나타낸다

- 5 -

표 2-1 비행제어 컴퓨터 제원

CPU TMS320C31 C8051

System Clock 40MHz 24MHz

ROM 512kbyte (256k times 8bit times 2)

RAM 256kword (256k times 16bit times 2)

FIFO 512byte times 2

통신RS-485(2채널)

RS-232(1채널)

시스템 감시DSP H1 외부 워치독

BC 내부 워치독

디지털 입출력 8채널

PWM 출력 8채널

외부 인터럽트 4채널

아날로그 입력 8채널

시스템 전원 +33vdc +5vdc

입력 전원 +75vdc ~ +20vdc

소비 전류 MAX 500mA

작동 온도 -40 ~ +85

BIT 모듈 이중구조 임무전환 스위치

EPLD program JTAG port

BC(F021) program JTAG port

DSP Emulator port

비행제어 컴퓨터는 메인 프로세서로 DSP를 사용하였고 주변장치 인터

페이스를 위해 PLD를 사용하였으며 버스제어기와 메모리 전원장치 등

으로 구성하였다 그리고 중복구조는 주시스템과 종시스템으로 이루어진

이중구조를 기본으로 한다 이중구조 시스템은 동일한 소프트웨어를 탑재

하고 있는 동종의 비행제어 컴퓨터 2대로 구성된다 그림 2-2는 비행제

어 컴퓨터의 구성을 나타낸다

- 6 -

그림 2-2 비행제어 컴퓨터 구성

- 7 -

22 프로세서

비행에서 컴퓨터에 사용되는 메인 프로세서는 제한된 시간(20msec)

내에 비행제어법칙의 연산에 따른 제어 신호를 출력하고 주변장치(RT

Remote Terminal)와의 원활한 데이터 송수신 기능 및 시스템을 구성하

고 있는 하드웨어 자원을 관리해야 한다 이러한 기능을 만족시키기 위해

DSP 계열의 32비트 부동소수점 연산이 가능하고 ANSI-C 언어 개발환

경을 지원하는 TI사의 TMS320C31을 채택하였다 표 2-2는 프로세서의

주요 기능과 특징을 나타낸다[4]

표 2-2 메인 프로세서의 특징

항 목 기능 및 특징 비 고

개 요 32비트 부동소수점 연산

처리속도

클럭 주파수 50MHz

단일 사이클 명령어 처리 시간

40ns

20MIPS 40MFLOPS의 처리 속도

(주의)실제 입력 주파

수는 40MHz이므로 처

리 시간은 50ns이다

명령어32비트 명령어 32비트 데이터 24

비트 주소

메모리

2개의 1k times 32비트 내부 RAM

64 times 32비트 명령 캐시

16M times 32비트의 외보 확장 메모

리 영역

마이크로 프로세서모드

마이크로 컴퓨터모드

IO

DMA 제어기

2개의 32비트 타이머

4개의 외부 인터럽트

1개의 시리얼 포트

- 8 -

23 메모리

메모리는 메인 프로세서의 내부 메모리 이외에 사용자를 위한 외부 메

모리(Flash ROM SRAM)을 추가하였다 내부 메모리는 개발단계에서 시

스템 디버깅용으로 사용되고 시스템 부팅시 외부 메모리 검사에 사용된

다 외부 메모리는 256kbyte Flash ROM 2개와 256kword SRAM 2개로

구성된다 플래시 메모리는 데이터OS응용프로그램을 저장하게 되고

SRAM은 프로그램이 동작할 수 있는 공간을 제공한다 표 2-3은 비행제

어 컴퓨터의 외부 메모리 사양을 나타낸다

표 2-3 메모리 사양

SRAM ROM FIFO

크 기 256kword 512kbyte 512byte

동작속도 10ns 120ns 12ns

동작온도 -40 ~ +80

용 도 프로그램 실행 프로그램 저장 버퍼

외부 메모리인터페이스는 각각 32 16 8비트로 접속할 수 있다 비행

제어 컴퓨터는 시스템 부팅용 플래시 메모리를 8비트로 프로그램 실행에

사용되는 SRAM을 32비트로 접속하였다 플래시 메모리는 두개의 물리적

인 메모리 공간을 각각 8비트로 연결하였으므로 독립적으로 각각의 메모

리에 접근할 수 있다 두 개의 플래시 메모리는 1 2로 구분되고 그 사

용 예로는 1은 시스템 개발 시스템 부팅 시스템 모니터링 프로그램을

2에는 비행제어 컴퓨터가 사용하게 될 응용프로그램을 탑재하는 공간으

로 사용하게 된다 이러한 두 개의 플래시 메모리 공간에서 2는 사용자

의 취향에 맞게 다양한 정보를 저장해서 사용할 수 있다 SRAM은 프로

그램이 동작하는 공간으로서 32비트 DSP의 장점을 최대로 활용할 수 있

도록 16비트의 물리적인 메모리를 32비트로 연결하였다 그림 2-3은 외

부 메모리 인터페이스를 나타낸다

- 9 -

그림 2-3 외부 메모리 인터페이스

그림 2-4 양방향 FIFO 구성

비행제어 컴퓨터는 연산을 담당하는 메인 프로세서와 통신을 담당하는

버스제어기로 구성되어 있으며 각각은 이종의 프로세서(TMS320C31

C8051F021)로 구성되어 있다 그렇기 때문에 원활한 데이터 공유를 위

해 FIFO 메모리를 양방향 버퍼로 사용하였다 FIFO 메모리의 데이터 흐

름은 양쪽의 프로세서에서 Full FlagEmpty Flag를 이용해 제어한다

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- i -

비행제어 컴퓨터는 항공기에 탑재되어 조종사 는 제어기의 명령에

따라 원하는 출력을 생성하여 항공기를 조종하는 데 그 목 이 있다 이

러한 기능의 구 은 컴퓨터와 기 자 기술의 발달로 인해 무인항공기

에 용 가능한 소형경량의 디지털 비행제어 컴퓨터(DFCC Digital

Flight Control Computer)의 구 을 가능하게 하 다

본 논문에서는 무인항공기 조종에 필수 인 비행제어 컴퓨터를 설계하

고 제작하 다 설계의 주요 은 무인항공기에 필요한 신뢰도를 확보

하는 것이다 시스템의 신뢰도를 확보하기 해 산업용 부품을 사용하여

부품의 품질 등 을 향상시켰고 구성 모듈을 이용하여 기 여분방식의

이 구조 시스템을 구성하 다 기 여분 방식의 이 구조를 구성하기

해 고장 검출기에서 정확한 임무 환 신호가 발생되어야 한다

고장 검출은 기능 수 의 고장 모델을 정의하여 이에 합한 고장 검

출기를 구성하고 시스템의 고장을 악하게 된다 고장 발생 신호에 따라

시스템의 임무 환이 이루어진다

설계되어진 이 구조의 비행제어 컴퓨터는 정 고장율과 시간 변화에

따른 동 고장율의 변화를 악하고 신뢰도에 한 검증 차를 거친다

- ii -

ABSTRAC T

Purpose of on board Flight Control Computer is to aircraft control

by generated output signal according to pilot or autopilot command

The development of computer and electronic technique allowed a

realize that could be applied to Digital Flight Control Computer of

small size and lightweight

This thesis is designed and producted the Flight Control Computer

of UAV Design point is secure reliability of UAV To secure

reliability of system improve the quality level of electronic parts and

based on dual-redundancy structure of standby sparing

Dual-redundancy structure of standby sparing need to mission switch

signal of fault detector created fault signal

Fault detection is define a fault model and construct a fault

detector and get a grip on the fault of system According to generated

fault signal the system mission is changed

Based on dual-redundancy Flight Control Computer was proceeding

to verify the static failure rate and dynamic failure rate

- iii -

목 차

초 록 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅰ

ABSTRACT middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅱ

목 차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅲ

표 목차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅴ

그림 목차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅵ

약어 정리 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅷ

1 서 론 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 1

2 비행제어 컴퓨터 설계 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 3

21 요구 사항 및 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 4

22 프로세서 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 7

23 메모리 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 8

24 주변 장치 인터페이스 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 12

25 버스제어기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 14

26 내부 논리 구현기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 15

27 전원부 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

28 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

29 탑재 소프트웨어 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

291 부팅절차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

292 소프트웨어 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 22

3 고장 검출 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 26

31 고장 모델 정의 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 27

32 기능 수준 고장 모델 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

33 CPU 고장 검출 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

34 주변 장치 고장 검출 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

- iv -

4 중복구조 설계 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 35

41 중복 구조 개념 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 36

42 중복구조의 적용 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 38

43 이중구조의 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

5 신뢰도 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 43

51 고장율 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 43

52 기본 고장율 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 45

53 이중구조 신뢰도 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

6 결 론 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 50

7 참고 문헌 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 51

- v -

표 목 차

표 2-1 비행제어 컴퓨터 제원 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 5

표 2-2 메인 프로세서의 특징 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 7

표 2-3 메모리 사양 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 8

표 2-4 양방향 버퍼의 데이터 흐름 제어 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 10

표 2-5 비행제어 컴퓨터 메모리 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 11

표 2-6 섹션 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 11

표 2-7 입출력 장치 어드레스 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 12

표 2-8 메인 프로그램 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 21

표 2-9 maincmd middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 22

표 2-10 romcmd middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 23

표 2-11 isrh middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 23

표 2-12 subh middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 24

표 3-1 고장 모델 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 28

표 3-2 32비트 DB middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

표 3-3 8비트 DB middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

표 3-4 고장 검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 32

표 3-5 고장 검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 33

표 3-6 고장검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 34

표 4-1 고장 신호 및 출력 신호 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 41

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 45

표 5-2 무인항공기 운용 환경 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 46

표 5-3 비행 안전 및 신뢰도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 47

표 5-4 고장율 분석 자료 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

- vi -

그 림 목 차

그림 1-1 연구 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 2

그림 2-1 PC-104 CPU 모듈 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 3

그림 2-2 비행제어 컴퓨터 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 6

그림 2-3 외부 메모리 인터페이스 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 9

그림 2-4 양방향 FIFO 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 9

그림 2-5 어드레스 디코더 시뮬레이션 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 14

그림 2-6 버스제어기의 구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 15

그림 2-7 내부 논리 구현기 구성도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 16

그림 2-8 시스템 안정화 방법 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

그림 2-9 제작된 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

그림 2-10 인터럽트와 트랩 벡터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 19

그림 2-11 제어워드의 위치와 종류 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 20

그림 3-1 고장 검출 범위 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 26

그림 3-2 고장 검출기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 30

그림 3-3 워치독 타이머 시뮬레이션 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

그림 3-4 디지털 입출력 장치 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 32

그림 3-5 버퍼 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 33

그림 3-6 PWM 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 34

그림 4-1 고장허용제어 시스템의 연구 분야 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 35

그림 4-2 NMR 구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 36

그림 4-3 standby sparing middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 37

그림 4-4 X-29의 중복구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

그림 4-5 Global-Hawk의 중복구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

그림 4-6 제안된 이중구조 시스템 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 40

그림 4-7 고장 신호 및 임무 전환 신호 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 40

그림 4-8 이중구조 시스템의 동작 수행 과정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 41

그림 4-9 채널 변경 모듈 구성도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

그림 4-10 채널 변경 모듈 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

그림 4-11 이중구조의 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

- vii -

그림 5-1 신뢰성 예측 절차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 44

그림 5-2 단일 구조 신뢰성 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

그림 5-3 이중 구조 신뢰성 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 49

그림 5-4 신뢰도 분석 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 49

- viii -

약어 정 리

AUC Airborn Uninhabited Cargo

BC Bus Controller

BIOS Basic Input Output System

BIT Built-in Test

DFCC Digital Flight Control Computer

DFT Design for Testability

DMA Direct Memory Address

DSP Digital Signal Processor

FIFO First In First Out

Fit Failure in time

IC Integrated Circuit

IMMC Integrated Mission Management Computer

MTBF Mean Time Between Failure

NMR N-Modular Redundancy

OS Operating System

PLD Programmable Logic Device

POST Power On Self Test

PWM Pulse Width Modulation

RBD Reliability Block Diagram

RT Remote Terminal

TPG Test Pattern Generator

- 1 -

1 서 론

비행제어 컴퓨터는 항공기에 탑재되어 조종사 또는 제어기의 명령에

따라 원하는 출력을 생성하여 항공기를 조종하는 데 그 목적이 있다 이

러한 기능은 컴퓨터와 전기전자 기술의 발전에 따라 무인항공기에 적용

가능한 소형경량의 디지털 비행제어 컴퓨터(DFCC Digital Flight

Control Computer) 구현이 가능하게 되었다 하지만 비행제어 컴퓨터의

설계는 구성의 복잡성을 최소로 줄이고 안정된 동작 수행이 검증된 소자

만을 이용하여 상당히 보수적인 방법으로 진행된다

탑재 소프트웨어 역시 안전성이 확인된 ADA나 ANSI C 컴파일러만을

사용하게 된다 ADA 언어는 미국 국방성에서 채택하고 있는 언어로 C와

비슷한 특성을 가지고 있다 그러나 가격이 상대적으로 비싸고 일반적이

지 않으며 언어 훈련에 많은 시간이 소요되므로 일반 개발품에는 사용되

지 않고 단지 미국 국방성에서 사용되는 품목에 한하여 사용되는 경향이

있다 따라서 본 논문에서는 어셈블러와 ANSI C 언어를 사용하여 탑재

소프트웨어의 기본을 구성하였다

무인항공기도 점차 기능이 다양해지고 복잡해짐에 따라 높은 수준의

신뢰성을 요구하고 있어 비행제어 컴퓨터의 신뢰성 향상에 초점을 두었

다 시스템의 신뢰성을 높이기 위해 구성 부품은 품질 등급이 높아 고장

율이 낮은 것을 사용하고 부품 단위에서 해결하지 못할 경우 비행제어

컴퓨터 모듈을 중복으로 구성하여 전체적인 신뢰성을 증대시키게 된다

본 논문에서는 비행제어 컴퓨터의 신뢰성과 고장에 대한 강건성을 높

이기 위해 이중 구조의 비행제어 컴퓨터를 설계하고 시스템의 고장식별

및 임무 전환에 대한 방법을 제시하였다 그리고 시스템을 구성하는 모든

부품은 군사규격과 상용규격의 중간단계인 산업용 규격을 만족하는 부품

을 사용하였다 그리고 본 논문을 통하여 설계 제작된 이중구조의 비행제

어 컴퓨터에 대한 고장율 및 신뢰도를 분석하였다

그림 1-1은 본 논문의 흐름도를 나타낸다 하위범주에서 진하게 표시

된 내용이 논문의 연구범위이다 우선 시스템 요구사항을 도출하여 이에

적절한 시스템을 설계하고 설계된 시스템에 대하여 신뢰성 평가가 이루

어진다 시스템 설계는 신뢰성에 초점을 두고 고장 방지 및 고장 허용 설

- 2 -

계 기법을 적용한다 고장 방지는 고장 발생 원인을 줄임으로서 고장의

발생을 미연에 방지하는 것이고 고장 허용은 만약 시스템에 고장이 발생

하였을 경우 이 고장으로 인해 전체 시스템의 고장으로 발전하는 것을 방

지하는 것이다 고장 방지 설계에서는 설계 동향을 분석하고 고품질의 부

품을 선택하여 사용하고 접지와 단열을 고려하여 외부 환경에 대한 고장

원인도 미연에 방어할 수 있어야 한다 고장 허용 설계는 하드웨어 중복

구조를 바탕으로 고장의 검출분리재구성의 과정을 수행할 수 있는 하드

웨어 자원을 포함한다 시스템 평가 단계에서는 설계된 시스템이 초기 요

구사항에 얼마나 적절하게 부합하는지 고장율과 신뢰도를 분석하여 평가

한다

그림 1-1 연구 흐름도

- 3 -

2 비행제어 컴퓨터 설계

무인항공기에 적용되는 비행제어 컴퓨터는 항공기의 자세 위치 고도

및 공력 데이터를 수집하여 명령으로 주어진 비행 상태와 현재의 상태를

비교하고 비행제어 법칙을 적용하여 수동자동 모드에 적합한 조종면 제

어 신호를 출력한다 이러한 비행제어 컴퓨터는 탑재 소프트웨어를 쉽게

변경할 수 있어야 하며 구조가 간단하고 높은 신뢰성을 확보해야 한다

그림 2-1은 PC-104 타입의 CPU 모듈을 나타낸다 이러한 모듈은 세

계 규격품으로 정의되어져 있고 상용 제품으로 많이 유통되고 있다 그리

고 Matlab 개발 툴을 이용하여 비행제어에 관련된 소프트웨어 작성이 용

이하다 다양한 사용자 인터페이스를 제공 하고 있어 현재 무인항공기에

가장 많이 사용되고 있는 추세에 있다

그림 2-1 PC-104 CPU 모듈

이러한 장점에도 불구하고 본 연구를 통해 별도의 비행제어 컴퓨터를

개발하고 다중구조를 채택하게 된 이유는 다음과 같다 우선 전 세계 시

장에 판매되고 있는 제품군은 많지만 국내에서 유통되는 제품군은 지극히

제한적이고 이에 따라 유지 및 보수에 상당한 시간과 비용이 추가된다

두 번째로 소비전류가 비교적 높다 상용 제품의 경우 인텔 계열의

386486 프로세서를 메인으로 사용하고 있다 따라서 상용 제품에서 프

로세서 모듈의 소비전류는 1~2A 정도로 상당히 높게 차지한다 만약 지

상 장비에 적용되는 프로세서 모듈일 경우 지상에서 일정한 전원을 공급

- 4 -

받을 수 있지만 무인항공기에 탑재되는 비행제어 컴퓨터의 경우 전원은

배터리로부터 공급받기 때문에 전원에 대하여 상당히 제한적이다

세 번째로 확장이 용이하지 않고 RS-485 통신 인터페이스를 지원하

지 않는다 RS-485 통신은 본 연구의 궁극적인 목적인 무인항공기용 비

행제어 시스템이 적용하고 있는 통신 체계이다 하지만 기존의 프로세서

모듈은 USB RS-232 LAN 등과 같은 PC용 인터페이스는 광범위하게

제공 하지만 RS-485422 CAN 등과 같은 산업용 인터페이스의 제공은

보편적이지 않다

마지막으로 시스템의 신뢰성을 관리하고 중복구조 시스템을 구성하기

위해 상당한 제약 조건이 따른다 시스템의 높은 신뢰성을 확보하기 위해

서는 부품관리공정관리 등이 필요하고 특히 부품의 구입부터 주의를 기

울여야 하며 외부 노이즈로부터 시스템을 방어하기 위한 차단 수단을 설

계에 반영하여야 한다 그리고 중복구조 구성을 위해서도 적절한 중복구

조 인터페이스를 포함하고 있어야 한다

위에서 언급된 여러 가지 장단점을 비교하고 분석하여 본 논문에서는

시스템의 높은 신뢰도를 확보하기 위하여 이중구조 구성이 가능한 비행제

어 컴퓨터를 설계하기 위한 요구사항을 도출하였다[1 2 3]

21 요구 사항 및 구성

비행제어 컴퓨터는 주변장치와의 데이터 통신을 담당하는 통신 드라이

버(RS-485 RS-232) 디지털 입출력 장치 아날로그 입력 PWM 출력

등의 사용자 입출력 인터페이스와 시스템의 확장 및 다중화 구조를 위한

여분의 확장 인터페이스 시스템 디버깅용 인터페이스 그리고 전원부가

요구된다

사용 환경에 대한 요구조건은 무인항공기가 비록 유인항공기와 같은

고고도에서 사용되지 않지만 연교차 및 일교차와 같이 계절 변화에 따른

심한 환경변화를 고려하여 모든 부품을 산업용(-40 ~ +80) 규격에

적합한 부품을 사용한다 표 2-1은 요구사항에 의한 비행제어 컴퓨터의

제원을 나타낸다

- 5 -

표 2-1 비행제어 컴퓨터 제원

CPU TMS320C31 C8051

System Clock 40MHz 24MHz

ROM 512kbyte (256k times 8bit times 2)

RAM 256kword (256k times 16bit times 2)

FIFO 512byte times 2

통신RS-485(2채널)

RS-232(1채널)

시스템 감시DSP H1 외부 워치독

BC 내부 워치독

디지털 입출력 8채널

PWM 출력 8채널

외부 인터럽트 4채널

아날로그 입력 8채널

시스템 전원 +33vdc +5vdc

입력 전원 +75vdc ~ +20vdc

소비 전류 MAX 500mA

작동 온도 -40 ~ +85

BIT 모듈 이중구조 임무전환 스위치

EPLD program JTAG port

BC(F021) program JTAG port

DSP Emulator port

비행제어 컴퓨터는 메인 프로세서로 DSP를 사용하였고 주변장치 인터

페이스를 위해 PLD를 사용하였으며 버스제어기와 메모리 전원장치 등

으로 구성하였다 그리고 중복구조는 주시스템과 종시스템으로 이루어진

이중구조를 기본으로 한다 이중구조 시스템은 동일한 소프트웨어를 탑재

하고 있는 동종의 비행제어 컴퓨터 2대로 구성된다 그림 2-2는 비행제

어 컴퓨터의 구성을 나타낸다

- 6 -

그림 2-2 비행제어 컴퓨터 구성

- 7 -

22 프로세서

비행에서 컴퓨터에 사용되는 메인 프로세서는 제한된 시간(20msec)

내에 비행제어법칙의 연산에 따른 제어 신호를 출력하고 주변장치(RT

Remote Terminal)와의 원활한 데이터 송수신 기능 및 시스템을 구성하

고 있는 하드웨어 자원을 관리해야 한다 이러한 기능을 만족시키기 위해

DSP 계열의 32비트 부동소수점 연산이 가능하고 ANSI-C 언어 개발환

경을 지원하는 TI사의 TMS320C31을 채택하였다 표 2-2는 프로세서의

주요 기능과 특징을 나타낸다[4]

표 2-2 메인 프로세서의 특징

항 목 기능 및 특징 비 고

개 요 32비트 부동소수점 연산

처리속도

클럭 주파수 50MHz

단일 사이클 명령어 처리 시간

40ns

20MIPS 40MFLOPS의 처리 속도

(주의)실제 입력 주파

수는 40MHz이므로 처

리 시간은 50ns이다

명령어32비트 명령어 32비트 데이터 24

비트 주소

메모리

2개의 1k times 32비트 내부 RAM

64 times 32비트 명령 캐시

16M times 32비트의 외보 확장 메모

리 영역

마이크로 프로세서모드

마이크로 컴퓨터모드

IO

DMA 제어기

2개의 32비트 타이머

4개의 외부 인터럽트

1개의 시리얼 포트

- 8 -

23 메모리

메모리는 메인 프로세서의 내부 메모리 이외에 사용자를 위한 외부 메

모리(Flash ROM SRAM)을 추가하였다 내부 메모리는 개발단계에서 시

스템 디버깅용으로 사용되고 시스템 부팅시 외부 메모리 검사에 사용된

다 외부 메모리는 256kbyte Flash ROM 2개와 256kword SRAM 2개로

구성된다 플래시 메모리는 데이터OS응용프로그램을 저장하게 되고

SRAM은 프로그램이 동작할 수 있는 공간을 제공한다 표 2-3은 비행제

어 컴퓨터의 외부 메모리 사양을 나타낸다

표 2-3 메모리 사양

SRAM ROM FIFO

크 기 256kword 512kbyte 512byte

동작속도 10ns 120ns 12ns

동작온도 -40 ~ +80

용 도 프로그램 실행 프로그램 저장 버퍼

외부 메모리인터페이스는 각각 32 16 8비트로 접속할 수 있다 비행

제어 컴퓨터는 시스템 부팅용 플래시 메모리를 8비트로 프로그램 실행에

사용되는 SRAM을 32비트로 접속하였다 플래시 메모리는 두개의 물리적

인 메모리 공간을 각각 8비트로 연결하였으므로 독립적으로 각각의 메모

리에 접근할 수 있다 두 개의 플래시 메모리는 1 2로 구분되고 그 사

용 예로는 1은 시스템 개발 시스템 부팅 시스템 모니터링 프로그램을

2에는 비행제어 컴퓨터가 사용하게 될 응용프로그램을 탑재하는 공간으

로 사용하게 된다 이러한 두 개의 플래시 메모리 공간에서 2는 사용자

의 취향에 맞게 다양한 정보를 저장해서 사용할 수 있다 SRAM은 프로

그램이 동작하는 공간으로서 32비트 DSP의 장점을 최대로 활용할 수 있

도록 16비트의 물리적인 메모리를 32비트로 연결하였다 그림 2-3은 외

부 메모리 인터페이스를 나타낸다

- 9 -

그림 2-3 외부 메모리 인터페이스

그림 2-4 양방향 FIFO 구성

비행제어 컴퓨터는 연산을 담당하는 메인 프로세서와 통신을 담당하는

버스제어기로 구성되어 있으며 각각은 이종의 프로세서(TMS320C31

C8051F021)로 구성되어 있다 그렇기 때문에 원활한 데이터 공유를 위

해 FIFO 메모리를 양방향 버퍼로 사용하였다 FIFO 메모리의 데이터 흐

름은 양쪽의 프로세서에서 Full FlagEmpty Flag를 이용해 제어한다

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- ii -

ABSTRAC T

Purpose of on board Flight Control Computer is to aircraft control

by generated output signal according to pilot or autopilot command

The development of computer and electronic technique allowed a

realize that could be applied to Digital Flight Control Computer of

small size and lightweight

This thesis is designed and producted the Flight Control Computer

of UAV Design point is secure reliability of UAV To secure

reliability of system improve the quality level of electronic parts and

based on dual-redundancy structure of standby sparing

Dual-redundancy structure of standby sparing need to mission switch

signal of fault detector created fault signal

Fault detection is define a fault model and construct a fault

detector and get a grip on the fault of system According to generated

fault signal the system mission is changed

Based on dual-redundancy Flight Control Computer was proceeding

to verify the static failure rate and dynamic failure rate

- iii -

목 차

초 록 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅰ

ABSTRACT middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅱ

목 차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅲ

표 목차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅴ

그림 목차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅵ

약어 정리 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅷ

1 서 론 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 1

2 비행제어 컴퓨터 설계 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 3

21 요구 사항 및 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 4

22 프로세서 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 7

23 메모리 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 8

24 주변 장치 인터페이스 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 12

25 버스제어기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 14

26 내부 논리 구현기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 15

27 전원부 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

28 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

29 탑재 소프트웨어 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

291 부팅절차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

292 소프트웨어 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 22

3 고장 검출 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 26

31 고장 모델 정의 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 27

32 기능 수준 고장 모델 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

33 CPU 고장 검출 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

34 주변 장치 고장 검출 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

- iv -

4 중복구조 설계 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 35

41 중복 구조 개념 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 36

42 중복구조의 적용 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 38

43 이중구조의 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

5 신뢰도 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 43

51 고장율 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 43

52 기본 고장율 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 45

53 이중구조 신뢰도 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

6 결 론 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 50

7 참고 문헌 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 51

- v -

표 목 차

표 2-1 비행제어 컴퓨터 제원 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 5

표 2-2 메인 프로세서의 특징 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 7

표 2-3 메모리 사양 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 8

표 2-4 양방향 버퍼의 데이터 흐름 제어 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 10

표 2-5 비행제어 컴퓨터 메모리 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 11

표 2-6 섹션 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 11

표 2-7 입출력 장치 어드레스 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 12

표 2-8 메인 프로그램 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 21

표 2-9 maincmd middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 22

표 2-10 romcmd middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 23

표 2-11 isrh middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 23

표 2-12 subh middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 24

표 3-1 고장 모델 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 28

표 3-2 32비트 DB middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

표 3-3 8비트 DB middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

표 3-4 고장 검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 32

표 3-5 고장 검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 33

표 3-6 고장검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 34

표 4-1 고장 신호 및 출력 신호 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 41

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 45

표 5-2 무인항공기 운용 환경 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 46

표 5-3 비행 안전 및 신뢰도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 47

표 5-4 고장율 분석 자료 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

- vi -

그 림 목 차

그림 1-1 연구 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 2

그림 2-1 PC-104 CPU 모듈 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 3

그림 2-2 비행제어 컴퓨터 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 6

그림 2-3 외부 메모리 인터페이스 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 9

그림 2-4 양방향 FIFO 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 9

그림 2-5 어드레스 디코더 시뮬레이션 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 14

그림 2-6 버스제어기의 구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 15

그림 2-7 내부 논리 구현기 구성도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 16

그림 2-8 시스템 안정화 방법 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

그림 2-9 제작된 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

그림 2-10 인터럽트와 트랩 벡터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 19

그림 2-11 제어워드의 위치와 종류 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 20

그림 3-1 고장 검출 범위 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 26

그림 3-2 고장 검출기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 30

그림 3-3 워치독 타이머 시뮬레이션 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

그림 3-4 디지털 입출력 장치 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 32

그림 3-5 버퍼 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 33

그림 3-6 PWM 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 34

그림 4-1 고장허용제어 시스템의 연구 분야 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 35

그림 4-2 NMR 구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 36

그림 4-3 standby sparing middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 37

그림 4-4 X-29의 중복구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

그림 4-5 Global-Hawk의 중복구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

그림 4-6 제안된 이중구조 시스템 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 40

그림 4-7 고장 신호 및 임무 전환 신호 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 40

그림 4-8 이중구조 시스템의 동작 수행 과정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 41

그림 4-9 채널 변경 모듈 구성도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

그림 4-10 채널 변경 모듈 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

그림 4-11 이중구조의 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

- vii -

그림 5-1 신뢰성 예측 절차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 44

그림 5-2 단일 구조 신뢰성 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

그림 5-3 이중 구조 신뢰성 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 49

그림 5-4 신뢰도 분석 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 49

- viii -

약어 정 리

AUC Airborn Uninhabited Cargo

BC Bus Controller

BIOS Basic Input Output System

BIT Built-in Test

DFCC Digital Flight Control Computer

DFT Design for Testability

DMA Direct Memory Address

DSP Digital Signal Processor

FIFO First In First Out

Fit Failure in time

IC Integrated Circuit

IMMC Integrated Mission Management Computer

MTBF Mean Time Between Failure

NMR N-Modular Redundancy

OS Operating System

PLD Programmable Logic Device

POST Power On Self Test

PWM Pulse Width Modulation

RBD Reliability Block Diagram

RT Remote Terminal

TPG Test Pattern Generator

- 1 -

1 서 론

비행제어 컴퓨터는 항공기에 탑재되어 조종사 또는 제어기의 명령에

따라 원하는 출력을 생성하여 항공기를 조종하는 데 그 목적이 있다 이

러한 기능은 컴퓨터와 전기전자 기술의 발전에 따라 무인항공기에 적용

가능한 소형경량의 디지털 비행제어 컴퓨터(DFCC Digital Flight

Control Computer) 구현이 가능하게 되었다 하지만 비행제어 컴퓨터의

설계는 구성의 복잡성을 최소로 줄이고 안정된 동작 수행이 검증된 소자

만을 이용하여 상당히 보수적인 방법으로 진행된다

탑재 소프트웨어 역시 안전성이 확인된 ADA나 ANSI C 컴파일러만을

사용하게 된다 ADA 언어는 미국 국방성에서 채택하고 있는 언어로 C와

비슷한 특성을 가지고 있다 그러나 가격이 상대적으로 비싸고 일반적이

지 않으며 언어 훈련에 많은 시간이 소요되므로 일반 개발품에는 사용되

지 않고 단지 미국 국방성에서 사용되는 품목에 한하여 사용되는 경향이

있다 따라서 본 논문에서는 어셈블러와 ANSI C 언어를 사용하여 탑재

소프트웨어의 기본을 구성하였다

무인항공기도 점차 기능이 다양해지고 복잡해짐에 따라 높은 수준의

신뢰성을 요구하고 있어 비행제어 컴퓨터의 신뢰성 향상에 초점을 두었

다 시스템의 신뢰성을 높이기 위해 구성 부품은 품질 등급이 높아 고장

율이 낮은 것을 사용하고 부품 단위에서 해결하지 못할 경우 비행제어

컴퓨터 모듈을 중복으로 구성하여 전체적인 신뢰성을 증대시키게 된다

본 논문에서는 비행제어 컴퓨터의 신뢰성과 고장에 대한 강건성을 높

이기 위해 이중 구조의 비행제어 컴퓨터를 설계하고 시스템의 고장식별

및 임무 전환에 대한 방법을 제시하였다 그리고 시스템을 구성하는 모든

부품은 군사규격과 상용규격의 중간단계인 산업용 규격을 만족하는 부품

을 사용하였다 그리고 본 논문을 통하여 설계 제작된 이중구조의 비행제

어 컴퓨터에 대한 고장율 및 신뢰도를 분석하였다

그림 1-1은 본 논문의 흐름도를 나타낸다 하위범주에서 진하게 표시

된 내용이 논문의 연구범위이다 우선 시스템 요구사항을 도출하여 이에

적절한 시스템을 설계하고 설계된 시스템에 대하여 신뢰성 평가가 이루

어진다 시스템 설계는 신뢰성에 초점을 두고 고장 방지 및 고장 허용 설

- 2 -

계 기법을 적용한다 고장 방지는 고장 발생 원인을 줄임으로서 고장의

발생을 미연에 방지하는 것이고 고장 허용은 만약 시스템에 고장이 발생

하였을 경우 이 고장으로 인해 전체 시스템의 고장으로 발전하는 것을 방

지하는 것이다 고장 방지 설계에서는 설계 동향을 분석하고 고품질의 부

품을 선택하여 사용하고 접지와 단열을 고려하여 외부 환경에 대한 고장

원인도 미연에 방어할 수 있어야 한다 고장 허용 설계는 하드웨어 중복

구조를 바탕으로 고장의 검출분리재구성의 과정을 수행할 수 있는 하드

웨어 자원을 포함한다 시스템 평가 단계에서는 설계된 시스템이 초기 요

구사항에 얼마나 적절하게 부합하는지 고장율과 신뢰도를 분석하여 평가

한다

그림 1-1 연구 흐름도

- 3 -

2 비행제어 컴퓨터 설계

무인항공기에 적용되는 비행제어 컴퓨터는 항공기의 자세 위치 고도

및 공력 데이터를 수집하여 명령으로 주어진 비행 상태와 현재의 상태를

비교하고 비행제어 법칙을 적용하여 수동자동 모드에 적합한 조종면 제

어 신호를 출력한다 이러한 비행제어 컴퓨터는 탑재 소프트웨어를 쉽게

변경할 수 있어야 하며 구조가 간단하고 높은 신뢰성을 확보해야 한다

그림 2-1은 PC-104 타입의 CPU 모듈을 나타낸다 이러한 모듈은 세

계 규격품으로 정의되어져 있고 상용 제품으로 많이 유통되고 있다 그리

고 Matlab 개발 툴을 이용하여 비행제어에 관련된 소프트웨어 작성이 용

이하다 다양한 사용자 인터페이스를 제공 하고 있어 현재 무인항공기에

가장 많이 사용되고 있는 추세에 있다

그림 2-1 PC-104 CPU 모듈

이러한 장점에도 불구하고 본 연구를 통해 별도의 비행제어 컴퓨터를

개발하고 다중구조를 채택하게 된 이유는 다음과 같다 우선 전 세계 시

장에 판매되고 있는 제품군은 많지만 국내에서 유통되는 제품군은 지극히

제한적이고 이에 따라 유지 및 보수에 상당한 시간과 비용이 추가된다

두 번째로 소비전류가 비교적 높다 상용 제품의 경우 인텔 계열의

386486 프로세서를 메인으로 사용하고 있다 따라서 상용 제품에서 프

로세서 모듈의 소비전류는 1~2A 정도로 상당히 높게 차지한다 만약 지

상 장비에 적용되는 프로세서 모듈일 경우 지상에서 일정한 전원을 공급

- 4 -

받을 수 있지만 무인항공기에 탑재되는 비행제어 컴퓨터의 경우 전원은

배터리로부터 공급받기 때문에 전원에 대하여 상당히 제한적이다

세 번째로 확장이 용이하지 않고 RS-485 통신 인터페이스를 지원하

지 않는다 RS-485 통신은 본 연구의 궁극적인 목적인 무인항공기용 비

행제어 시스템이 적용하고 있는 통신 체계이다 하지만 기존의 프로세서

모듈은 USB RS-232 LAN 등과 같은 PC용 인터페이스는 광범위하게

제공 하지만 RS-485422 CAN 등과 같은 산업용 인터페이스의 제공은

보편적이지 않다

마지막으로 시스템의 신뢰성을 관리하고 중복구조 시스템을 구성하기

위해 상당한 제약 조건이 따른다 시스템의 높은 신뢰성을 확보하기 위해

서는 부품관리공정관리 등이 필요하고 특히 부품의 구입부터 주의를 기

울여야 하며 외부 노이즈로부터 시스템을 방어하기 위한 차단 수단을 설

계에 반영하여야 한다 그리고 중복구조 구성을 위해서도 적절한 중복구

조 인터페이스를 포함하고 있어야 한다

위에서 언급된 여러 가지 장단점을 비교하고 분석하여 본 논문에서는

시스템의 높은 신뢰도를 확보하기 위하여 이중구조 구성이 가능한 비행제

어 컴퓨터를 설계하기 위한 요구사항을 도출하였다[1 2 3]

21 요구 사항 및 구성

비행제어 컴퓨터는 주변장치와의 데이터 통신을 담당하는 통신 드라이

버(RS-485 RS-232) 디지털 입출력 장치 아날로그 입력 PWM 출력

등의 사용자 입출력 인터페이스와 시스템의 확장 및 다중화 구조를 위한

여분의 확장 인터페이스 시스템 디버깅용 인터페이스 그리고 전원부가

요구된다

사용 환경에 대한 요구조건은 무인항공기가 비록 유인항공기와 같은

고고도에서 사용되지 않지만 연교차 및 일교차와 같이 계절 변화에 따른

심한 환경변화를 고려하여 모든 부품을 산업용(-40 ~ +80) 규격에

적합한 부품을 사용한다 표 2-1은 요구사항에 의한 비행제어 컴퓨터의

제원을 나타낸다

- 5 -

표 2-1 비행제어 컴퓨터 제원

CPU TMS320C31 C8051

System Clock 40MHz 24MHz

ROM 512kbyte (256k times 8bit times 2)

RAM 256kword (256k times 16bit times 2)

FIFO 512byte times 2

통신RS-485(2채널)

RS-232(1채널)

시스템 감시DSP H1 외부 워치독

BC 내부 워치독

디지털 입출력 8채널

PWM 출력 8채널

외부 인터럽트 4채널

아날로그 입력 8채널

시스템 전원 +33vdc +5vdc

입력 전원 +75vdc ~ +20vdc

소비 전류 MAX 500mA

작동 온도 -40 ~ +85

BIT 모듈 이중구조 임무전환 스위치

EPLD program JTAG port

BC(F021) program JTAG port

DSP Emulator port

비행제어 컴퓨터는 메인 프로세서로 DSP를 사용하였고 주변장치 인터

페이스를 위해 PLD를 사용하였으며 버스제어기와 메모리 전원장치 등

으로 구성하였다 그리고 중복구조는 주시스템과 종시스템으로 이루어진

이중구조를 기본으로 한다 이중구조 시스템은 동일한 소프트웨어를 탑재

하고 있는 동종의 비행제어 컴퓨터 2대로 구성된다 그림 2-2는 비행제

어 컴퓨터의 구성을 나타낸다

- 6 -

그림 2-2 비행제어 컴퓨터 구성

- 7 -

22 프로세서

비행에서 컴퓨터에 사용되는 메인 프로세서는 제한된 시간(20msec)

내에 비행제어법칙의 연산에 따른 제어 신호를 출력하고 주변장치(RT

Remote Terminal)와의 원활한 데이터 송수신 기능 및 시스템을 구성하

고 있는 하드웨어 자원을 관리해야 한다 이러한 기능을 만족시키기 위해

DSP 계열의 32비트 부동소수점 연산이 가능하고 ANSI-C 언어 개발환

경을 지원하는 TI사의 TMS320C31을 채택하였다 표 2-2는 프로세서의

주요 기능과 특징을 나타낸다[4]

표 2-2 메인 프로세서의 특징

항 목 기능 및 특징 비 고

개 요 32비트 부동소수점 연산

처리속도

클럭 주파수 50MHz

단일 사이클 명령어 처리 시간

40ns

20MIPS 40MFLOPS의 처리 속도

(주의)실제 입력 주파

수는 40MHz이므로 처

리 시간은 50ns이다

명령어32비트 명령어 32비트 데이터 24

비트 주소

메모리

2개의 1k times 32비트 내부 RAM

64 times 32비트 명령 캐시

16M times 32비트의 외보 확장 메모

리 영역

마이크로 프로세서모드

마이크로 컴퓨터모드

IO

DMA 제어기

2개의 32비트 타이머

4개의 외부 인터럽트

1개의 시리얼 포트

- 8 -

23 메모리

메모리는 메인 프로세서의 내부 메모리 이외에 사용자를 위한 외부 메

모리(Flash ROM SRAM)을 추가하였다 내부 메모리는 개발단계에서 시

스템 디버깅용으로 사용되고 시스템 부팅시 외부 메모리 검사에 사용된

다 외부 메모리는 256kbyte Flash ROM 2개와 256kword SRAM 2개로

구성된다 플래시 메모리는 데이터OS응용프로그램을 저장하게 되고

SRAM은 프로그램이 동작할 수 있는 공간을 제공한다 표 2-3은 비행제

어 컴퓨터의 외부 메모리 사양을 나타낸다

표 2-3 메모리 사양

SRAM ROM FIFO

크 기 256kword 512kbyte 512byte

동작속도 10ns 120ns 12ns

동작온도 -40 ~ +80

용 도 프로그램 실행 프로그램 저장 버퍼

외부 메모리인터페이스는 각각 32 16 8비트로 접속할 수 있다 비행

제어 컴퓨터는 시스템 부팅용 플래시 메모리를 8비트로 프로그램 실행에

사용되는 SRAM을 32비트로 접속하였다 플래시 메모리는 두개의 물리적

인 메모리 공간을 각각 8비트로 연결하였으므로 독립적으로 각각의 메모

리에 접근할 수 있다 두 개의 플래시 메모리는 1 2로 구분되고 그 사

용 예로는 1은 시스템 개발 시스템 부팅 시스템 모니터링 프로그램을

2에는 비행제어 컴퓨터가 사용하게 될 응용프로그램을 탑재하는 공간으

로 사용하게 된다 이러한 두 개의 플래시 메모리 공간에서 2는 사용자

의 취향에 맞게 다양한 정보를 저장해서 사용할 수 있다 SRAM은 프로

그램이 동작하는 공간으로서 32비트 DSP의 장점을 최대로 활용할 수 있

도록 16비트의 물리적인 메모리를 32비트로 연결하였다 그림 2-3은 외

부 메모리 인터페이스를 나타낸다

- 9 -

그림 2-3 외부 메모리 인터페이스

그림 2-4 양방향 FIFO 구성

비행제어 컴퓨터는 연산을 담당하는 메인 프로세서와 통신을 담당하는

버스제어기로 구성되어 있으며 각각은 이종의 프로세서(TMS320C31

C8051F021)로 구성되어 있다 그렇기 때문에 원활한 데이터 공유를 위

해 FIFO 메모리를 양방향 버퍼로 사용하였다 FIFO 메모리의 데이터 흐

름은 양쪽의 프로세서에서 Full FlagEmpty Flag를 이용해 제어한다

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- iii -

목 차

초 록 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅰ

ABSTRACT middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅱ

목 차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅲ

표 목차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅴ

그림 목차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅵ

약어 정리 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot ⅷ

1 서 론 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 1

2 비행제어 컴퓨터 설계 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 3

21 요구 사항 및 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 4

22 프로세서 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 7

23 메모리 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 8

24 주변 장치 인터페이스 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 12

25 버스제어기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 14

26 내부 논리 구현기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 15

27 전원부 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

28 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

29 탑재 소프트웨어 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

291 부팅절차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

292 소프트웨어 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 22

3 고장 검출 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 26

31 고장 모델 정의 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 27

32 기능 수준 고장 모델 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

33 CPU 고장 검출 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

34 주변 장치 고장 검출 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

- iv -

4 중복구조 설계 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 35

41 중복 구조 개념 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 36

42 중복구조의 적용 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 38

43 이중구조의 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

5 신뢰도 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 43

51 고장율 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 43

52 기본 고장율 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 45

53 이중구조 신뢰도 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

6 결 론 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 50

7 참고 문헌 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 51

- v -

표 목 차

표 2-1 비행제어 컴퓨터 제원 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 5

표 2-2 메인 프로세서의 특징 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 7

표 2-3 메모리 사양 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 8

표 2-4 양방향 버퍼의 데이터 흐름 제어 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 10

표 2-5 비행제어 컴퓨터 메모리 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 11

표 2-6 섹션 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 11

표 2-7 입출력 장치 어드레스 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 12

표 2-8 메인 프로그램 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 21

표 2-9 maincmd middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 22

표 2-10 romcmd middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 23

표 2-11 isrh middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 23

표 2-12 subh middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 24

표 3-1 고장 모델 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 28

표 3-2 32비트 DB middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

표 3-3 8비트 DB middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

표 3-4 고장 검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 32

표 3-5 고장 검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 33

표 3-6 고장검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 34

표 4-1 고장 신호 및 출력 신호 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 41

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 45

표 5-2 무인항공기 운용 환경 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 46

표 5-3 비행 안전 및 신뢰도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 47

표 5-4 고장율 분석 자료 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

- vi -

그 림 목 차

그림 1-1 연구 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 2

그림 2-1 PC-104 CPU 모듈 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 3

그림 2-2 비행제어 컴퓨터 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 6

그림 2-3 외부 메모리 인터페이스 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 9

그림 2-4 양방향 FIFO 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 9

그림 2-5 어드레스 디코더 시뮬레이션 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 14

그림 2-6 버스제어기의 구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 15

그림 2-7 내부 논리 구현기 구성도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 16

그림 2-8 시스템 안정화 방법 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

그림 2-9 제작된 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

그림 2-10 인터럽트와 트랩 벡터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 19

그림 2-11 제어워드의 위치와 종류 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 20

그림 3-1 고장 검출 범위 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 26

그림 3-2 고장 검출기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 30

그림 3-3 워치독 타이머 시뮬레이션 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

그림 3-4 디지털 입출력 장치 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 32

그림 3-5 버퍼 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 33

그림 3-6 PWM 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 34

그림 4-1 고장허용제어 시스템의 연구 분야 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 35

그림 4-2 NMR 구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 36

그림 4-3 standby sparing middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 37

그림 4-4 X-29의 중복구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

그림 4-5 Global-Hawk의 중복구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

그림 4-6 제안된 이중구조 시스템 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 40

그림 4-7 고장 신호 및 임무 전환 신호 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 40

그림 4-8 이중구조 시스템의 동작 수행 과정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 41

그림 4-9 채널 변경 모듈 구성도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

그림 4-10 채널 변경 모듈 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

그림 4-11 이중구조의 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

- vii -

그림 5-1 신뢰성 예측 절차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 44

그림 5-2 단일 구조 신뢰성 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

그림 5-3 이중 구조 신뢰성 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 49

그림 5-4 신뢰도 분석 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 49

- viii -

약어 정 리

AUC Airborn Uninhabited Cargo

BC Bus Controller

BIOS Basic Input Output System

BIT Built-in Test

DFCC Digital Flight Control Computer

DFT Design for Testability

DMA Direct Memory Address

DSP Digital Signal Processor

FIFO First In First Out

Fit Failure in time

IC Integrated Circuit

IMMC Integrated Mission Management Computer

MTBF Mean Time Between Failure

NMR N-Modular Redundancy

OS Operating System

PLD Programmable Logic Device

POST Power On Self Test

PWM Pulse Width Modulation

RBD Reliability Block Diagram

RT Remote Terminal

TPG Test Pattern Generator

- 1 -

1 서 론

비행제어 컴퓨터는 항공기에 탑재되어 조종사 또는 제어기의 명령에

따라 원하는 출력을 생성하여 항공기를 조종하는 데 그 목적이 있다 이

러한 기능은 컴퓨터와 전기전자 기술의 발전에 따라 무인항공기에 적용

가능한 소형경량의 디지털 비행제어 컴퓨터(DFCC Digital Flight

Control Computer) 구현이 가능하게 되었다 하지만 비행제어 컴퓨터의

설계는 구성의 복잡성을 최소로 줄이고 안정된 동작 수행이 검증된 소자

만을 이용하여 상당히 보수적인 방법으로 진행된다

탑재 소프트웨어 역시 안전성이 확인된 ADA나 ANSI C 컴파일러만을

사용하게 된다 ADA 언어는 미국 국방성에서 채택하고 있는 언어로 C와

비슷한 특성을 가지고 있다 그러나 가격이 상대적으로 비싸고 일반적이

지 않으며 언어 훈련에 많은 시간이 소요되므로 일반 개발품에는 사용되

지 않고 단지 미국 국방성에서 사용되는 품목에 한하여 사용되는 경향이

있다 따라서 본 논문에서는 어셈블러와 ANSI C 언어를 사용하여 탑재

소프트웨어의 기본을 구성하였다

무인항공기도 점차 기능이 다양해지고 복잡해짐에 따라 높은 수준의

신뢰성을 요구하고 있어 비행제어 컴퓨터의 신뢰성 향상에 초점을 두었

다 시스템의 신뢰성을 높이기 위해 구성 부품은 품질 등급이 높아 고장

율이 낮은 것을 사용하고 부품 단위에서 해결하지 못할 경우 비행제어

컴퓨터 모듈을 중복으로 구성하여 전체적인 신뢰성을 증대시키게 된다

본 논문에서는 비행제어 컴퓨터의 신뢰성과 고장에 대한 강건성을 높

이기 위해 이중 구조의 비행제어 컴퓨터를 설계하고 시스템의 고장식별

및 임무 전환에 대한 방법을 제시하였다 그리고 시스템을 구성하는 모든

부품은 군사규격과 상용규격의 중간단계인 산업용 규격을 만족하는 부품

을 사용하였다 그리고 본 논문을 통하여 설계 제작된 이중구조의 비행제

어 컴퓨터에 대한 고장율 및 신뢰도를 분석하였다

그림 1-1은 본 논문의 흐름도를 나타낸다 하위범주에서 진하게 표시

된 내용이 논문의 연구범위이다 우선 시스템 요구사항을 도출하여 이에

적절한 시스템을 설계하고 설계된 시스템에 대하여 신뢰성 평가가 이루

어진다 시스템 설계는 신뢰성에 초점을 두고 고장 방지 및 고장 허용 설

- 2 -

계 기법을 적용한다 고장 방지는 고장 발생 원인을 줄임으로서 고장의

발생을 미연에 방지하는 것이고 고장 허용은 만약 시스템에 고장이 발생

하였을 경우 이 고장으로 인해 전체 시스템의 고장으로 발전하는 것을 방

지하는 것이다 고장 방지 설계에서는 설계 동향을 분석하고 고품질의 부

품을 선택하여 사용하고 접지와 단열을 고려하여 외부 환경에 대한 고장

원인도 미연에 방어할 수 있어야 한다 고장 허용 설계는 하드웨어 중복

구조를 바탕으로 고장의 검출분리재구성의 과정을 수행할 수 있는 하드

웨어 자원을 포함한다 시스템 평가 단계에서는 설계된 시스템이 초기 요

구사항에 얼마나 적절하게 부합하는지 고장율과 신뢰도를 분석하여 평가

한다

그림 1-1 연구 흐름도

- 3 -

2 비행제어 컴퓨터 설계

무인항공기에 적용되는 비행제어 컴퓨터는 항공기의 자세 위치 고도

및 공력 데이터를 수집하여 명령으로 주어진 비행 상태와 현재의 상태를

비교하고 비행제어 법칙을 적용하여 수동자동 모드에 적합한 조종면 제

어 신호를 출력한다 이러한 비행제어 컴퓨터는 탑재 소프트웨어를 쉽게

변경할 수 있어야 하며 구조가 간단하고 높은 신뢰성을 확보해야 한다

그림 2-1은 PC-104 타입의 CPU 모듈을 나타낸다 이러한 모듈은 세

계 규격품으로 정의되어져 있고 상용 제품으로 많이 유통되고 있다 그리

고 Matlab 개발 툴을 이용하여 비행제어에 관련된 소프트웨어 작성이 용

이하다 다양한 사용자 인터페이스를 제공 하고 있어 현재 무인항공기에

가장 많이 사용되고 있는 추세에 있다

그림 2-1 PC-104 CPU 모듈

이러한 장점에도 불구하고 본 연구를 통해 별도의 비행제어 컴퓨터를

개발하고 다중구조를 채택하게 된 이유는 다음과 같다 우선 전 세계 시

장에 판매되고 있는 제품군은 많지만 국내에서 유통되는 제품군은 지극히

제한적이고 이에 따라 유지 및 보수에 상당한 시간과 비용이 추가된다

두 번째로 소비전류가 비교적 높다 상용 제품의 경우 인텔 계열의

386486 프로세서를 메인으로 사용하고 있다 따라서 상용 제품에서 프

로세서 모듈의 소비전류는 1~2A 정도로 상당히 높게 차지한다 만약 지

상 장비에 적용되는 프로세서 모듈일 경우 지상에서 일정한 전원을 공급

- 4 -

받을 수 있지만 무인항공기에 탑재되는 비행제어 컴퓨터의 경우 전원은

배터리로부터 공급받기 때문에 전원에 대하여 상당히 제한적이다

세 번째로 확장이 용이하지 않고 RS-485 통신 인터페이스를 지원하

지 않는다 RS-485 통신은 본 연구의 궁극적인 목적인 무인항공기용 비

행제어 시스템이 적용하고 있는 통신 체계이다 하지만 기존의 프로세서

모듈은 USB RS-232 LAN 등과 같은 PC용 인터페이스는 광범위하게

제공 하지만 RS-485422 CAN 등과 같은 산업용 인터페이스의 제공은

보편적이지 않다

마지막으로 시스템의 신뢰성을 관리하고 중복구조 시스템을 구성하기

위해 상당한 제약 조건이 따른다 시스템의 높은 신뢰성을 확보하기 위해

서는 부품관리공정관리 등이 필요하고 특히 부품의 구입부터 주의를 기

울여야 하며 외부 노이즈로부터 시스템을 방어하기 위한 차단 수단을 설

계에 반영하여야 한다 그리고 중복구조 구성을 위해서도 적절한 중복구

조 인터페이스를 포함하고 있어야 한다

위에서 언급된 여러 가지 장단점을 비교하고 분석하여 본 논문에서는

시스템의 높은 신뢰도를 확보하기 위하여 이중구조 구성이 가능한 비행제

어 컴퓨터를 설계하기 위한 요구사항을 도출하였다[1 2 3]

21 요구 사항 및 구성

비행제어 컴퓨터는 주변장치와의 데이터 통신을 담당하는 통신 드라이

버(RS-485 RS-232) 디지털 입출력 장치 아날로그 입력 PWM 출력

등의 사용자 입출력 인터페이스와 시스템의 확장 및 다중화 구조를 위한

여분의 확장 인터페이스 시스템 디버깅용 인터페이스 그리고 전원부가

요구된다

사용 환경에 대한 요구조건은 무인항공기가 비록 유인항공기와 같은

고고도에서 사용되지 않지만 연교차 및 일교차와 같이 계절 변화에 따른

심한 환경변화를 고려하여 모든 부품을 산업용(-40 ~ +80) 규격에

적합한 부품을 사용한다 표 2-1은 요구사항에 의한 비행제어 컴퓨터의

제원을 나타낸다

- 5 -

표 2-1 비행제어 컴퓨터 제원

CPU TMS320C31 C8051

System Clock 40MHz 24MHz

ROM 512kbyte (256k times 8bit times 2)

RAM 256kword (256k times 16bit times 2)

FIFO 512byte times 2

통신RS-485(2채널)

RS-232(1채널)

시스템 감시DSP H1 외부 워치독

BC 내부 워치독

디지털 입출력 8채널

PWM 출력 8채널

외부 인터럽트 4채널

아날로그 입력 8채널

시스템 전원 +33vdc +5vdc

입력 전원 +75vdc ~ +20vdc

소비 전류 MAX 500mA

작동 온도 -40 ~ +85

BIT 모듈 이중구조 임무전환 스위치

EPLD program JTAG port

BC(F021) program JTAG port

DSP Emulator port

비행제어 컴퓨터는 메인 프로세서로 DSP를 사용하였고 주변장치 인터

페이스를 위해 PLD를 사용하였으며 버스제어기와 메모리 전원장치 등

으로 구성하였다 그리고 중복구조는 주시스템과 종시스템으로 이루어진

이중구조를 기본으로 한다 이중구조 시스템은 동일한 소프트웨어를 탑재

하고 있는 동종의 비행제어 컴퓨터 2대로 구성된다 그림 2-2는 비행제

어 컴퓨터의 구성을 나타낸다

- 6 -

그림 2-2 비행제어 컴퓨터 구성

- 7 -

22 프로세서

비행에서 컴퓨터에 사용되는 메인 프로세서는 제한된 시간(20msec)

내에 비행제어법칙의 연산에 따른 제어 신호를 출력하고 주변장치(RT

Remote Terminal)와의 원활한 데이터 송수신 기능 및 시스템을 구성하

고 있는 하드웨어 자원을 관리해야 한다 이러한 기능을 만족시키기 위해

DSP 계열의 32비트 부동소수점 연산이 가능하고 ANSI-C 언어 개발환

경을 지원하는 TI사의 TMS320C31을 채택하였다 표 2-2는 프로세서의

주요 기능과 특징을 나타낸다[4]

표 2-2 메인 프로세서의 특징

항 목 기능 및 특징 비 고

개 요 32비트 부동소수점 연산

처리속도

클럭 주파수 50MHz

단일 사이클 명령어 처리 시간

40ns

20MIPS 40MFLOPS의 처리 속도

(주의)실제 입력 주파

수는 40MHz이므로 처

리 시간은 50ns이다

명령어32비트 명령어 32비트 데이터 24

비트 주소

메모리

2개의 1k times 32비트 내부 RAM

64 times 32비트 명령 캐시

16M times 32비트의 외보 확장 메모

리 영역

마이크로 프로세서모드

마이크로 컴퓨터모드

IO

DMA 제어기

2개의 32비트 타이머

4개의 외부 인터럽트

1개의 시리얼 포트

- 8 -

23 메모리

메모리는 메인 프로세서의 내부 메모리 이외에 사용자를 위한 외부 메

모리(Flash ROM SRAM)을 추가하였다 내부 메모리는 개발단계에서 시

스템 디버깅용으로 사용되고 시스템 부팅시 외부 메모리 검사에 사용된

다 외부 메모리는 256kbyte Flash ROM 2개와 256kword SRAM 2개로

구성된다 플래시 메모리는 데이터OS응용프로그램을 저장하게 되고

SRAM은 프로그램이 동작할 수 있는 공간을 제공한다 표 2-3은 비행제

어 컴퓨터의 외부 메모리 사양을 나타낸다

표 2-3 메모리 사양

SRAM ROM FIFO

크 기 256kword 512kbyte 512byte

동작속도 10ns 120ns 12ns

동작온도 -40 ~ +80

용 도 프로그램 실행 프로그램 저장 버퍼

외부 메모리인터페이스는 각각 32 16 8비트로 접속할 수 있다 비행

제어 컴퓨터는 시스템 부팅용 플래시 메모리를 8비트로 프로그램 실행에

사용되는 SRAM을 32비트로 접속하였다 플래시 메모리는 두개의 물리적

인 메모리 공간을 각각 8비트로 연결하였으므로 독립적으로 각각의 메모

리에 접근할 수 있다 두 개의 플래시 메모리는 1 2로 구분되고 그 사

용 예로는 1은 시스템 개발 시스템 부팅 시스템 모니터링 프로그램을

2에는 비행제어 컴퓨터가 사용하게 될 응용프로그램을 탑재하는 공간으

로 사용하게 된다 이러한 두 개의 플래시 메모리 공간에서 2는 사용자

의 취향에 맞게 다양한 정보를 저장해서 사용할 수 있다 SRAM은 프로

그램이 동작하는 공간으로서 32비트 DSP의 장점을 최대로 활용할 수 있

도록 16비트의 물리적인 메모리를 32비트로 연결하였다 그림 2-3은 외

부 메모리 인터페이스를 나타낸다

- 9 -

그림 2-3 외부 메모리 인터페이스

그림 2-4 양방향 FIFO 구성

비행제어 컴퓨터는 연산을 담당하는 메인 프로세서와 통신을 담당하는

버스제어기로 구성되어 있으며 각각은 이종의 프로세서(TMS320C31

C8051F021)로 구성되어 있다 그렇기 때문에 원활한 데이터 공유를 위

해 FIFO 메모리를 양방향 버퍼로 사용하였다 FIFO 메모리의 데이터 흐

름은 양쪽의 프로세서에서 Full FlagEmpty Flag를 이용해 제어한다

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- iv -

4 중복구조 설계 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 35

41 중복 구조 개념 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 36

42 중복구조의 적용 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 38

43 이중구조의 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

5 신뢰도 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 43

51 고장율 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 43

52 기본 고장율 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 45

53 이중구조 신뢰도 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

6 결 론 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 50

7 참고 문헌 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 51

- v -

표 목 차

표 2-1 비행제어 컴퓨터 제원 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 5

표 2-2 메인 프로세서의 특징 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 7

표 2-3 메모리 사양 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 8

표 2-4 양방향 버퍼의 데이터 흐름 제어 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 10

표 2-5 비행제어 컴퓨터 메모리 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 11

표 2-6 섹션 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 11

표 2-7 입출력 장치 어드레스 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 12

표 2-8 메인 프로그램 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 21

표 2-9 maincmd middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 22

표 2-10 romcmd middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 23

표 2-11 isrh middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 23

표 2-12 subh middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 24

표 3-1 고장 모델 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 28

표 3-2 32비트 DB middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

표 3-3 8비트 DB middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

표 3-4 고장 검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 32

표 3-5 고장 검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 33

표 3-6 고장검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 34

표 4-1 고장 신호 및 출력 신호 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 41

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 45

표 5-2 무인항공기 운용 환경 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 46

표 5-3 비행 안전 및 신뢰도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 47

표 5-4 고장율 분석 자료 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

- vi -

그 림 목 차

그림 1-1 연구 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 2

그림 2-1 PC-104 CPU 모듈 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 3

그림 2-2 비행제어 컴퓨터 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 6

그림 2-3 외부 메모리 인터페이스 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 9

그림 2-4 양방향 FIFO 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 9

그림 2-5 어드레스 디코더 시뮬레이션 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 14

그림 2-6 버스제어기의 구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 15

그림 2-7 내부 논리 구현기 구성도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 16

그림 2-8 시스템 안정화 방법 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

그림 2-9 제작된 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

그림 2-10 인터럽트와 트랩 벡터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 19

그림 2-11 제어워드의 위치와 종류 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 20

그림 3-1 고장 검출 범위 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 26

그림 3-2 고장 검출기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 30

그림 3-3 워치독 타이머 시뮬레이션 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

그림 3-4 디지털 입출력 장치 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 32

그림 3-5 버퍼 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 33

그림 3-6 PWM 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 34

그림 4-1 고장허용제어 시스템의 연구 분야 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 35

그림 4-2 NMR 구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 36

그림 4-3 standby sparing middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 37

그림 4-4 X-29의 중복구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

그림 4-5 Global-Hawk의 중복구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

그림 4-6 제안된 이중구조 시스템 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 40

그림 4-7 고장 신호 및 임무 전환 신호 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 40

그림 4-8 이중구조 시스템의 동작 수행 과정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 41

그림 4-9 채널 변경 모듈 구성도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

그림 4-10 채널 변경 모듈 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

그림 4-11 이중구조의 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

- vii -

그림 5-1 신뢰성 예측 절차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 44

그림 5-2 단일 구조 신뢰성 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

그림 5-3 이중 구조 신뢰성 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 49

그림 5-4 신뢰도 분석 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 49

- viii -

약어 정 리

AUC Airborn Uninhabited Cargo

BC Bus Controller

BIOS Basic Input Output System

BIT Built-in Test

DFCC Digital Flight Control Computer

DFT Design for Testability

DMA Direct Memory Address

DSP Digital Signal Processor

FIFO First In First Out

Fit Failure in time

IC Integrated Circuit

IMMC Integrated Mission Management Computer

MTBF Mean Time Between Failure

NMR N-Modular Redundancy

OS Operating System

PLD Programmable Logic Device

POST Power On Self Test

PWM Pulse Width Modulation

RBD Reliability Block Diagram

RT Remote Terminal

TPG Test Pattern Generator

- 1 -

1 서 론

비행제어 컴퓨터는 항공기에 탑재되어 조종사 또는 제어기의 명령에

따라 원하는 출력을 생성하여 항공기를 조종하는 데 그 목적이 있다 이

러한 기능은 컴퓨터와 전기전자 기술의 발전에 따라 무인항공기에 적용

가능한 소형경량의 디지털 비행제어 컴퓨터(DFCC Digital Flight

Control Computer) 구현이 가능하게 되었다 하지만 비행제어 컴퓨터의

설계는 구성의 복잡성을 최소로 줄이고 안정된 동작 수행이 검증된 소자

만을 이용하여 상당히 보수적인 방법으로 진행된다

탑재 소프트웨어 역시 안전성이 확인된 ADA나 ANSI C 컴파일러만을

사용하게 된다 ADA 언어는 미국 국방성에서 채택하고 있는 언어로 C와

비슷한 특성을 가지고 있다 그러나 가격이 상대적으로 비싸고 일반적이

지 않으며 언어 훈련에 많은 시간이 소요되므로 일반 개발품에는 사용되

지 않고 단지 미국 국방성에서 사용되는 품목에 한하여 사용되는 경향이

있다 따라서 본 논문에서는 어셈블러와 ANSI C 언어를 사용하여 탑재

소프트웨어의 기본을 구성하였다

무인항공기도 점차 기능이 다양해지고 복잡해짐에 따라 높은 수준의

신뢰성을 요구하고 있어 비행제어 컴퓨터의 신뢰성 향상에 초점을 두었

다 시스템의 신뢰성을 높이기 위해 구성 부품은 품질 등급이 높아 고장

율이 낮은 것을 사용하고 부품 단위에서 해결하지 못할 경우 비행제어

컴퓨터 모듈을 중복으로 구성하여 전체적인 신뢰성을 증대시키게 된다

본 논문에서는 비행제어 컴퓨터의 신뢰성과 고장에 대한 강건성을 높

이기 위해 이중 구조의 비행제어 컴퓨터를 설계하고 시스템의 고장식별

및 임무 전환에 대한 방법을 제시하였다 그리고 시스템을 구성하는 모든

부품은 군사규격과 상용규격의 중간단계인 산업용 규격을 만족하는 부품

을 사용하였다 그리고 본 논문을 통하여 설계 제작된 이중구조의 비행제

어 컴퓨터에 대한 고장율 및 신뢰도를 분석하였다

그림 1-1은 본 논문의 흐름도를 나타낸다 하위범주에서 진하게 표시

된 내용이 논문의 연구범위이다 우선 시스템 요구사항을 도출하여 이에

적절한 시스템을 설계하고 설계된 시스템에 대하여 신뢰성 평가가 이루

어진다 시스템 설계는 신뢰성에 초점을 두고 고장 방지 및 고장 허용 설

- 2 -

계 기법을 적용한다 고장 방지는 고장 발생 원인을 줄임으로서 고장의

발생을 미연에 방지하는 것이고 고장 허용은 만약 시스템에 고장이 발생

하였을 경우 이 고장으로 인해 전체 시스템의 고장으로 발전하는 것을 방

지하는 것이다 고장 방지 설계에서는 설계 동향을 분석하고 고품질의 부

품을 선택하여 사용하고 접지와 단열을 고려하여 외부 환경에 대한 고장

원인도 미연에 방어할 수 있어야 한다 고장 허용 설계는 하드웨어 중복

구조를 바탕으로 고장의 검출분리재구성의 과정을 수행할 수 있는 하드

웨어 자원을 포함한다 시스템 평가 단계에서는 설계된 시스템이 초기 요

구사항에 얼마나 적절하게 부합하는지 고장율과 신뢰도를 분석하여 평가

한다

그림 1-1 연구 흐름도

- 3 -

2 비행제어 컴퓨터 설계

무인항공기에 적용되는 비행제어 컴퓨터는 항공기의 자세 위치 고도

및 공력 데이터를 수집하여 명령으로 주어진 비행 상태와 현재의 상태를

비교하고 비행제어 법칙을 적용하여 수동자동 모드에 적합한 조종면 제

어 신호를 출력한다 이러한 비행제어 컴퓨터는 탑재 소프트웨어를 쉽게

변경할 수 있어야 하며 구조가 간단하고 높은 신뢰성을 확보해야 한다

그림 2-1은 PC-104 타입의 CPU 모듈을 나타낸다 이러한 모듈은 세

계 규격품으로 정의되어져 있고 상용 제품으로 많이 유통되고 있다 그리

고 Matlab 개발 툴을 이용하여 비행제어에 관련된 소프트웨어 작성이 용

이하다 다양한 사용자 인터페이스를 제공 하고 있어 현재 무인항공기에

가장 많이 사용되고 있는 추세에 있다

그림 2-1 PC-104 CPU 모듈

이러한 장점에도 불구하고 본 연구를 통해 별도의 비행제어 컴퓨터를

개발하고 다중구조를 채택하게 된 이유는 다음과 같다 우선 전 세계 시

장에 판매되고 있는 제품군은 많지만 국내에서 유통되는 제품군은 지극히

제한적이고 이에 따라 유지 및 보수에 상당한 시간과 비용이 추가된다

두 번째로 소비전류가 비교적 높다 상용 제품의 경우 인텔 계열의

386486 프로세서를 메인으로 사용하고 있다 따라서 상용 제품에서 프

로세서 모듈의 소비전류는 1~2A 정도로 상당히 높게 차지한다 만약 지

상 장비에 적용되는 프로세서 모듈일 경우 지상에서 일정한 전원을 공급

- 4 -

받을 수 있지만 무인항공기에 탑재되는 비행제어 컴퓨터의 경우 전원은

배터리로부터 공급받기 때문에 전원에 대하여 상당히 제한적이다

세 번째로 확장이 용이하지 않고 RS-485 통신 인터페이스를 지원하

지 않는다 RS-485 통신은 본 연구의 궁극적인 목적인 무인항공기용 비

행제어 시스템이 적용하고 있는 통신 체계이다 하지만 기존의 프로세서

모듈은 USB RS-232 LAN 등과 같은 PC용 인터페이스는 광범위하게

제공 하지만 RS-485422 CAN 등과 같은 산업용 인터페이스의 제공은

보편적이지 않다

마지막으로 시스템의 신뢰성을 관리하고 중복구조 시스템을 구성하기

위해 상당한 제약 조건이 따른다 시스템의 높은 신뢰성을 확보하기 위해

서는 부품관리공정관리 등이 필요하고 특히 부품의 구입부터 주의를 기

울여야 하며 외부 노이즈로부터 시스템을 방어하기 위한 차단 수단을 설

계에 반영하여야 한다 그리고 중복구조 구성을 위해서도 적절한 중복구

조 인터페이스를 포함하고 있어야 한다

위에서 언급된 여러 가지 장단점을 비교하고 분석하여 본 논문에서는

시스템의 높은 신뢰도를 확보하기 위하여 이중구조 구성이 가능한 비행제

어 컴퓨터를 설계하기 위한 요구사항을 도출하였다[1 2 3]

21 요구 사항 및 구성

비행제어 컴퓨터는 주변장치와의 데이터 통신을 담당하는 통신 드라이

버(RS-485 RS-232) 디지털 입출력 장치 아날로그 입력 PWM 출력

등의 사용자 입출력 인터페이스와 시스템의 확장 및 다중화 구조를 위한

여분의 확장 인터페이스 시스템 디버깅용 인터페이스 그리고 전원부가

요구된다

사용 환경에 대한 요구조건은 무인항공기가 비록 유인항공기와 같은

고고도에서 사용되지 않지만 연교차 및 일교차와 같이 계절 변화에 따른

심한 환경변화를 고려하여 모든 부품을 산업용(-40 ~ +80) 규격에

적합한 부품을 사용한다 표 2-1은 요구사항에 의한 비행제어 컴퓨터의

제원을 나타낸다

- 5 -

표 2-1 비행제어 컴퓨터 제원

CPU TMS320C31 C8051

System Clock 40MHz 24MHz

ROM 512kbyte (256k times 8bit times 2)

RAM 256kword (256k times 16bit times 2)

FIFO 512byte times 2

통신RS-485(2채널)

RS-232(1채널)

시스템 감시DSP H1 외부 워치독

BC 내부 워치독

디지털 입출력 8채널

PWM 출력 8채널

외부 인터럽트 4채널

아날로그 입력 8채널

시스템 전원 +33vdc +5vdc

입력 전원 +75vdc ~ +20vdc

소비 전류 MAX 500mA

작동 온도 -40 ~ +85

BIT 모듈 이중구조 임무전환 스위치

EPLD program JTAG port

BC(F021) program JTAG port

DSP Emulator port

비행제어 컴퓨터는 메인 프로세서로 DSP를 사용하였고 주변장치 인터

페이스를 위해 PLD를 사용하였으며 버스제어기와 메모리 전원장치 등

으로 구성하였다 그리고 중복구조는 주시스템과 종시스템으로 이루어진

이중구조를 기본으로 한다 이중구조 시스템은 동일한 소프트웨어를 탑재

하고 있는 동종의 비행제어 컴퓨터 2대로 구성된다 그림 2-2는 비행제

어 컴퓨터의 구성을 나타낸다

- 6 -

그림 2-2 비행제어 컴퓨터 구성

- 7 -

22 프로세서

비행에서 컴퓨터에 사용되는 메인 프로세서는 제한된 시간(20msec)

내에 비행제어법칙의 연산에 따른 제어 신호를 출력하고 주변장치(RT

Remote Terminal)와의 원활한 데이터 송수신 기능 및 시스템을 구성하

고 있는 하드웨어 자원을 관리해야 한다 이러한 기능을 만족시키기 위해

DSP 계열의 32비트 부동소수점 연산이 가능하고 ANSI-C 언어 개발환

경을 지원하는 TI사의 TMS320C31을 채택하였다 표 2-2는 프로세서의

주요 기능과 특징을 나타낸다[4]

표 2-2 메인 프로세서의 특징

항 목 기능 및 특징 비 고

개 요 32비트 부동소수점 연산

처리속도

클럭 주파수 50MHz

단일 사이클 명령어 처리 시간

40ns

20MIPS 40MFLOPS의 처리 속도

(주의)실제 입력 주파

수는 40MHz이므로 처

리 시간은 50ns이다

명령어32비트 명령어 32비트 데이터 24

비트 주소

메모리

2개의 1k times 32비트 내부 RAM

64 times 32비트 명령 캐시

16M times 32비트의 외보 확장 메모

리 영역

마이크로 프로세서모드

마이크로 컴퓨터모드

IO

DMA 제어기

2개의 32비트 타이머

4개의 외부 인터럽트

1개의 시리얼 포트

- 8 -

23 메모리

메모리는 메인 프로세서의 내부 메모리 이외에 사용자를 위한 외부 메

모리(Flash ROM SRAM)을 추가하였다 내부 메모리는 개발단계에서 시

스템 디버깅용으로 사용되고 시스템 부팅시 외부 메모리 검사에 사용된

다 외부 메모리는 256kbyte Flash ROM 2개와 256kword SRAM 2개로

구성된다 플래시 메모리는 데이터OS응용프로그램을 저장하게 되고

SRAM은 프로그램이 동작할 수 있는 공간을 제공한다 표 2-3은 비행제

어 컴퓨터의 외부 메모리 사양을 나타낸다

표 2-3 메모리 사양

SRAM ROM FIFO

크 기 256kword 512kbyte 512byte

동작속도 10ns 120ns 12ns

동작온도 -40 ~ +80

용 도 프로그램 실행 프로그램 저장 버퍼

외부 메모리인터페이스는 각각 32 16 8비트로 접속할 수 있다 비행

제어 컴퓨터는 시스템 부팅용 플래시 메모리를 8비트로 프로그램 실행에

사용되는 SRAM을 32비트로 접속하였다 플래시 메모리는 두개의 물리적

인 메모리 공간을 각각 8비트로 연결하였으므로 독립적으로 각각의 메모

리에 접근할 수 있다 두 개의 플래시 메모리는 1 2로 구분되고 그 사

용 예로는 1은 시스템 개발 시스템 부팅 시스템 모니터링 프로그램을

2에는 비행제어 컴퓨터가 사용하게 될 응용프로그램을 탑재하는 공간으

로 사용하게 된다 이러한 두 개의 플래시 메모리 공간에서 2는 사용자

의 취향에 맞게 다양한 정보를 저장해서 사용할 수 있다 SRAM은 프로

그램이 동작하는 공간으로서 32비트 DSP의 장점을 최대로 활용할 수 있

도록 16비트의 물리적인 메모리를 32비트로 연결하였다 그림 2-3은 외

부 메모리 인터페이스를 나타낸다

- 9 -

그림 2-3 외부 메모리 인터페이스

그림 2-4 양방향 FIFO 구성

비행제어 컴퓨터는 연산을 담당하는 메인 프로세서와 통신을 담당하는

버스제어기로 구성되어 있으며 각각은 이종의 프로세서(TMS320C31

C8051F021)로 구성되어 있다 그렇기 때문에 원활한 데이터 공유를 위

해 FIFO 메모리를 양방향 버퍼로 사용하였다 FIFO 메모리의 데이터 흐

름은 양쪽의 프로세서에서 Full FlagEmpty Flag를 이용해 제어한다

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- v -

표 목 차

표 2-1 비행제어 컴퓨터 제원 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 5

표 2-2 메인 프로세서의 특징 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 7

표 2-3 메모리 사양 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 8

표 2-4 양방향 버퍼의 데이터 흐름 제어 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 10

표 2-5 비행제어 컴퓨터 메모리 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 11

표 2-6 섹션 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 11

표 2-7 입출력 장치 어드레스 설정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 12

표 2-8 메인 프로그램 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 21

표 2-9 maincmd middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 22

표 2-10 romcmd middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 23

표 2-11 isrh middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 23

표 2-12 subh middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 24

표 3-1 고장 모델 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 28

표 3-2 32비트 DB middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

표 3-3 8비트 DB middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 29

표 3-4 고장 검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 32

표 3-5 고장 검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 33

표 3-6 고장검출 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 34

표 4-1 고장 신호 및 출력 신호 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 41

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 45

표 5-2 무인항공기 운용 환경 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 46

표 5-3 비행 안전 및 신뢰도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 47

표 5-4 고장율 분석 자료 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

- vi -

그 림 목 차

그림 1-1 연구 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 2

그림 2-1 PC-104 CPU 모듈 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 3

그림 2-2 비행제어 컴퓨터 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 6

그림 2-3 외부 메모리 인터페이스 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 9

그림 2-4 양방향 FIFO 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 9

그림 2-5 어드레스 디코더 시뮬레이션 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 14

그림 2-6 버스제어기의 구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 15

그림 2-7 내부 논리 구현기 구성도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 16

그림 2-8 시스템 안정화 방법 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

그림 2-9 제작된 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

그림 2-10 인터럽트와 트랩 벡터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 19

그림 2-11 제어워드의 위치와 종류 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 20

그림 3-1 고장 검출 범위 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 26

그림 3-2 고장 검출기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 30

그림 3-3 워치독 타이머 시뮬레이션 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

그림 3-4 디지털 입출력 장치 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 32

그림 3-5 버퍼 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 33

그림 3-6 PWM 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 34

그림 4-1 고장허용제어 시스템의 연구 분야 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 35

그림 4-2 NMR 구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 36

그림 4-3 standby sparing middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 37

그림 4-4 X-29의 중복구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

그림 4-5 Global-Hawk의 중복구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

그림 4-6 제안된 이중구조 시스템 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 40

그림 4-7 고장 신호 및 임무 전환 신호 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 40

그림 4-8 이중구조 시스템의 동작 수행 과정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 41

그림 4-9 채널 변경 모듈 구성도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

그림 4-10 채널 변경 모듈 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

그림 4-11 이중구조의 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

- vii -

그림 5-1 신뢰성 예측 절차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 44

그림 5-2 단일 구조 신뢰성 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

그림 5-3 이중 구조 신뢰성 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 49

그림 5-4 신뢰도 분석 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 49

- viii -

약어 정 리

AUC Airborn Uninhabited Cargo

BC Bus Controller

BIOS Basic Input Output System

BIT Built-in Test

DFCC Digital Flight Control Computer

DFT Design for Testability

DMA Direct Memory Address

DSP Digital Signal Processor

FIFO First In First Out

Fit Failure in time

IC Integrated Circuit

IMMC Integrated Mission Management Computer

MTBF Mean Time Between Failure

NMR N-Modular Redundancy

OS Operating System

PLD Programmable Logic Device

POST Power On Self Test

PWM Pulse Width Modulation

RBD Reliability Block Diagram

RT Remote Terminal

TPG Test Pattern Generator

- 1 -

1 서 론

비행제어 컴퓨터는 항공기에 탑재되어 조종사 또는 제어기의 명령에

따라 원하는 출력을 생성하여 항공기를 조종하는 데 그 목적이 있다 이

러한 기능은 컴퓨터와 전기전자 기술의 발전에 따라 무인항공기에 적용

가능한 소형경량의 디지털 비행제어 컴퓨터(DFCC Digital Flight

Control Computer) 구현이 가능하게 되었다 하지만 비행제어 컴퓨터의

설계는 구성의 복잡성을 최소로 줄이고 안정된 동작 수행이 검증된 소자

만을 이용하여 상당히 보수적인 방법으로 진행된다

탑재 소프트웨어 역시 안전성이 확인된 ADA나 ANSI C 컴파일러만을

사용하게 된다 ADA 언어는 미국 국방성에서 채택하고 있는 언어로 C와

비슷한 특성을 가지고 있다 그러나 가격이 상대적으로 비싸고 일반적이

지 않으며 언어 훈련에 많은 시간이 소요되므로 일반 개발품에는 사용되

지 않고 단지 미국 국방성에서 사용되는 품목에 한하여 사용되는 경향이

있다 따라서 본 논문에서는 어셈블러와 ANSI C 언어를 사용하여 탑재

소프트웨어의 기본을 구성하였다

무인항공기도 점차 기능이 다양해지고 복잡해짐에 따라 높은 수준의

신뢰성을 요구하고 있어 비행제어 컴퓨터의 신뢰성 향상에 초점을 두었

다 시스템의 신뢰성을 높이기 위해 구성 부품은 품질 등급이 높아 고장

율이 낮은 것을 사용하고 부품 단위에서 해결하지 못할 경우 비행제어

컴퓨터 모듈을 중복으로 구성하여 전체적인 신뢰성을 증대시키게 된다

본 논문에서는 비행제어 컴퓨터의 신뢰성과 고장에 대한 강건성을 높

이기 위해 이중 구조의 비행제어 컴퓨터를 설계하고 시스템의 고장식별

및 임무 전환에 대한 방법을 제시하였다 그리고 시스템을 구성하는 모든

부품은 군사규격과 상용규격의 중간단계인 산업용 규격을 만족하는 부품

을 사용하였다 그리고 본 논문을 통하여 설계 제작된 이중구조의 비행제

어 컴퓨터에 대한 고장율 및 신뢰도를 분석하였다

그림 1-1은 본 논문의 흐름도를 나타낸다 하위범주에서 진하게 표시

된 내용이 논문의 연구범위이다 우선 시스템 요구사항을 도출하여 이에

적절한 시스템을 설계하고 설계된 시스템에 대하여 신뢰성 평가가 이루

어진다 시스템 설계는 신뢰성에 초점을 두고 고장 방지 및 고장 허용 설

- 2 -

계 기법을 적용한다 고장 방지는 고장 발생 원인을 줄임으로서 고장의

발생을 미연에 방지하는 것이고 고장 허용은 만약 시스템에 고장이 발생

하였을 경우 이 고장으로 인해 전체 시스템의 고장으로 발전하는 것을 방

지하는 것이다 고장 방지 설계에서는 설계 동향을 분석하고 고품질의 부

품을 선택하여 사용하고 접지와 단열을 고려하여 외부 환경에 대한 고장

원인도 미연에 방어할 수 있어야 한다 고장 허용 설계는 하드웨어 중복

구조를 바탕으로 고장의 검출분리재구성의 과정을 수행할 수 있는 하드

웨어 자원을 포함한다 시스템 평가 단계에서는 설계된 시스템이 초기 요

구사항에 얼마나 적절하게 부합하는지 고장율과 신뢰도를 분석하여 평가

한다

그림 1-1 연구 흐름도

- 3 -

2 비행제어 컴퓨터 설계

무인항공기에 적용되는 비행제어 컴퓨터는 항공기의 자세 위치 고도

및 공력 데이터를 수집하여 명령으로 주어진 비행 상태와 현재의 상태를

비교하고 비행제어 법칙을 적용하여 수동자동 모드에 적합한 조종면 제

어 신호를 출력한다 이러한 비행제어 컴퓨터는 탑재 소프트웨어를 쉽게

변경할 수 있어야 하며 구조가 간단하고 높은 신뢰성을 확보해야 한다

그림 2-1은 PC-104 타입의 CPU 모듈을 나타낸다 이러한 모듈은 세

계 규격품으로 정의되어져 있고 상용 제품으로 많이 유통되고 있다 그리

고 Matlab 개발 툴을 이용하여 비행제어에 관련된 소프트웨어 작성이 용

이하다 다양한 사용자 인터페이스를 제공 하고 있어 현재 무인항공기에

가장 많이 사용되고 있는 추세에 있다

그림 2-1 PC-104 CPU 모듈

이러한 장점에도 불구하고 본 연구를 통해 별도의 비행제어 컴퓨터를

개발하고 다중구조를 채택하게 된 이유는 다음과 같다 우선 전 세계 시

장에 판매되고 있는 제품군은 많지만 국내에서 유통되는 제품군은 지극히

제한적이고 이에 따라 유지 및 보수에 상당한 시간과 비용이 추가된다

두 번째로 소비전류가 비교적 높다 상용 제품의 경우 인텔 계열의

386486 프로세서를 메인으로 사용하고 있다 따라서 상용 제품에서 프

로세서 모듈의 소비전류는 1~2A 정도로 상당히 높게 차지한다 만약 지

상 장비에 적용되는 프로세서 모듈일 경우 지상에서 일정한 전원을 공급

- 4 -

받을 수 있지만 무인항공기에 탑재되는 비행제어 컴퓨터의 경우 전원은

배터리로부터 공급받기 때문에 전원에 대하여 상당히 제한적이다

세 번째로 확장이 용이하지 않고 RS-485 통신 인터페이스를 지원하

지 않는다 RS-485 통신은 본 연구의 궁극적인 목적인 무인항공기용 비

행제어 시스템이 적용하고 있는 통신 체계이다 하지만 기존의 프로세서

모듈은 USB RS-232 LAN 등과 같은 PC용 인터페이스는 광범위하게

제공 하지만 RS-485422 CAN 등과 같은 산업용 인터페이스의 제공은

보편적이지 않다

마지막으로 시스템의 신뢰성을 관리하고 중복구조 시스템을 구성하기

위해 상당한 제약 조건이 따른다 시스템의 높은 신뢰성을 확보하기 위해

서는 부품관리공정관리 등이 필요하고 특히 부품의 구입부터 주의를 기

울여야 하며 외부 노이즈로부터 시스템을 방어하기 위한 차단 수단을 설

계에 반영하여야 한다 그리고 중복구조 구성을 위해서도 적절한 중복구

조 인터페이스를 포함하고 있어야 한다

위에서 언급된 여러 가지 장단점을 비교하고 분석하여 본 논문에서는

시스템의 높은 신뢰도를 확보하기 위하여 이중구조 구성이 가능한 비행제

어 컴퓨터를 설계하기 위한 요구사항을 도출하였다[1 2 3]

21 요구 사항 및 구성

비행제어 컴퓨터는 주변장치와의 데이터 통신을 담당하는 통신 드라이

버(RS-485 RS-232) 디지털 입출력 장치 아날로그 입력 PWM 출력

등의 사용자 입출력 인터페이스와 시스템의 확장 및 다중화 구조를 위한

여분의 확장 인터페이스 시스템 디버깅용 인터페이스 그리고 전원부가

요구된다

사용 환경에 대한 요구조건은 무인항공기가 비록 유인항공기와 같은

고고도에서 사용되지 않지만 연교차 및 일교차와 같이 계절 변화에 따른

심한 환경변화를 고려하여 모든 부품을 산업용(-40 ~ +80) 규격에

적합한 부품을 사용한다 표 2-1은 요구사항에 의한 비행제어 컴퓨터의

제원을 나타낸다

- 5 -

표 2-1 비행제어 컴퓨터 제원

CPU TMS320C31 C8051

System Clock 40MHz 24MHz

ROM 512kbyte (256k times 8bit times 2)

RAM 256kword (256k times 16bit times 2)

FIFO 512byte times 2

통신RS-485(2채널)

RS-232(1채널)

시스템 감시DSP H1 외부 워치독

BC 내부 워치독

디지털 입출력 8채널

PWM 출력 8채널

외부 인터럽트 4채널

아날로그 입력 8채널

시스템 전원 +33vdc +5vdc

입력 전원 +75vdc ~ +20vdc

소비 전류 MAX 500mA

작동 온도 -40 ~ +85

BIT 모듈 이중구조 임무전환 스위치

EPLD program JTAG port

BC(F021) program JTAG port

DSP Emulator port

비행제어 컴퓨터는 메인 프로세서로 DSP를 사용하였고 주변장치 인터

페이스를 위해 PLD를 사용하였으며 버스제어기와 메모리 전원장치 등

으로 구성하였다 그리고 중복구조는 주시스템과 종시스템으로 이루어진

이중구조를 기본으로 한다 이중구조 시스템은 동일한 소프트웨어를 탑재

하고 있는 동종의 비행제어 컴퓨터 2대로 구성된다 그림 2-2는 비행제

어 컴퓨터의 구성을 나타낸다

- 6 -

그림 2-2 비행제어 컴퓨터 구성

- 7 -

22 프로세서

비행에서 컴퓨터에 사용되는 메인 프로세서는 제한된 시간(20msec)

내에 비행제어법칙의 연산에 따른 제어 신호를 출력하고 주변장치(RT

Remote Terminal)와의 원활한 데이터 송수신 기능 및 시스템을 구성하

고 있는 하드웨어 자원을 관리해야 한다 이러한 기능을 만족시키기 위해

DSP 계열의 32비트 부동소수점 연산이 가능하고 ANSI-C 언어 개발환

경을 지원하는 TI사의 TMS320C31을 채택하였다 표 2-2는 프로세서의

주요 기능과 특징을 나타낸다[4]

표 2-2 메인 프로세서의 특징

항 목 기능 및 특징 비 고

개 요 32비트 부동소수점 연산

처리속도

클럭 주파수 50MHz

단일 사이클 명령어 처리 시간

40ns

20MIPS 40MFLOPS의 처리 속도

(주의)실제 입력 주파

수는 40MHz이므로 처

리 시간은 50ns이다

명령어32비트 명령어 32비트 데이터 24

비트 주소

메모리

2개의 1k times 32비트 내부 RAM

64 times 32비트 명령 캐시

16M times 32비트의 외보 확장 메모

리 영역

마이크로 프로세서모드

마이크로 컴퓨터모드

IO

DMA 제어기

2개의 32비트 타이머

4개의 외부 인터럽트

1개의 시리얼 포트

- 8 -

23 메모리

메모리는 메인 프로세서의 내부 메모리 이외에 사용자를 위한 외부 메

모리(Flash ROM SRAM)을 추가하였다 내부 메모리는 개발단계에서 시

스템 디버깅용으로 사용되고 시스템 부팅시 외부 메모리 검사에 사용된

다 외부 메모리는 256kbyte Flash ROM 2개와 256kword SRAM 2개로

구성된다 플래시 메모리는 데이터OS응용프로그램을 저장하게 되고

SRAM은 프로그램이 동작할 수 있는 공간을 제공한다 표 2-3은 비행제

어 컴퓨터의 외부 메모리 사양을 나타낸다

표 2-3 메모리 사양

SRAM ROM FIFO

크 기 256kword 512kbyte 512byte

동작속도 10ns 120ns 12ns

동작온도 -40 ~ +80

용 도 프로그램 실행 프로그램 저장 버퍼

외부 메모리인터페이스는 각각 32 16 8비트로 접속할 수 있다 비행

제어 컴퓨터는 시스템 부팅용 플래시 메모리를 8비트로 프로그램 실행에

사용되는 SRAM을 32비트로 접속하였다 플래시 메모리는 두개의 물리적

인 메모리 공간을 각각 8비트로 연결하였으므로 독립적으로 각각의 메모

리에 접근할 수 있다 두 개의 플래시 메모리는 1 2로 구분되고 그 사

용 예로는 1은 시스템 개발 시스템 부팅 시스템 모니터링 프로그램을

2에는 비행제어 컴퓨터가 사용하게 될 응용프로그램을 탑재하는 공간으

로 사용하게 된다 이러한 두 개의 플래시 메모리 공간에서 2는 사용자

의 취향에 맞게 다양한 정보를 저장해서 사용할 수 있다 SRAM은 프로

그램이 동작하는 공간으로서 32비트 DSP의 장점을 최대로 활용할 수 있

도록 16비트의 물리적인 메모리를 32비트로 연결하였다 그림 2-3은 외

부 메모리 인터페이스를 나타낸다

- 9 -

그림 2-3 외부 메모리 인터페이스

그림 2-4 양방향 FIFO 구성

비행제어 컴퓨터는 연산을 담당하는 메인 프로세서와 통신을 담당하는

버스제어기로 구성되어 있으며 각각은 이종의 프로세서(TMS320C31

C8051F021)로 구성되어 있다 그렇기 때문에 원활한 데이터 공유를 위

해 FIFO 메모리를 양방향 버퍼로 사용하였다 FIFO 메모리의 데이터 흐

름은 양쪽의 프로세서에서 Full FlagEmpty Flag를 이용해 제어한다

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- vi -

그 림 목 차

그림 1-1 연구 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 2

그림 2-1 PC-104 CPU 모듈 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 3

그림 2-2 비행제어 컴퓨터 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 6

그림 2-3 외부 메모리 인터페이스 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 9

그림 2-4 양방향 FIFO 구성 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 9

그림 2-5 어드레스 디코더 시뮬레이션 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 14

그림 2-6 버스제어기의 구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 15

그림 2-7 내부 논리 구현기 구성도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 16

그림 2-8 시스템 안정화 방법 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 17

그림 2-9 제작된 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 18

그림 2-10 인터럽트와 트랩 벡터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 19

그림 2-11 제어워드의 위치와 종류 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 20

그림 3-1 고장 검출 범위 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 26

그림 3-2 고장 검출기 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 30

그림 3-3 워치독 타이머 시뮬레이션 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 31

그림 3-4 디지털 입출력 장치 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 32

그림 3-5 버퍼 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 33

그림 3-6 PWM 고장검출 흐름도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 34

그림 4-1 고장허용제어 시스템의 연구 분야 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 35

그림 4-2 NMR 구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 36

그림 4-3 standby sparing middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 37

그림 4-4 X-29의 중복구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

그림 4-5 Global-Hawk의 중복구조 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 39

그림 4-6 제안된 이중구조 시스템 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 40

그림 4-7 고장 신호 및 임무 전환 신호 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 40

그림 4-8 이중구조 시스템의 동작 수행 과정 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 41

그림 4-9 채널 변경 모듈 구성도 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

그림 4-10 채널 변경 모듈 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

그림 4-11 이중구조의 비행제어 컴퓨터 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 42

- vii -

그림 5-1 신뢰성 예측 절차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 44

그림 5-2 단일 구조 신뢰성 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

그림 5-3 이중 구조 신뢰성 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 49

그림 5-4 신뢰도 분석 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 49

- viii -

약어 정 리

AUC Airborn Uninhabited Cargo

BC Bus Controller

BIOS Basic Input Output System

BIT Built-in Test

DFCC Digital Flight Control Computer

DFT Design for Testability

DMA Direct Memory Address

DSP Digital Signal Processor

FIFO First In First Out

Fit Failure in time

IC Integrated Circuit

IMMC Integrated Mission Management Computer

MTBF Mean Time Between Failure

NMR N-Modular Redundancy

OS Operating System

PLD Programmable Logic Device

POST Power On Self Test

PWM Pulse Width Modulation

RBD Reliability Block Diagram

RT Remote Terminal

TPG Test Pattern Generator

- 1 -

1 서 론

비행제어 컴퓨터는 항공기에 탑재되어 조종사 또는 제어기의 명령에

따라 원하는 출력을 생성하여 항공기를 조종하는 데 그 목적이 있다 이

러한 기능은 컴퓨터와 전기전자 기술의 발전에 따라 무인항공기에 적용

가능한 소형경량의 디지털 비행제어 컴퓨터(DFCC Digital Flight

Control Computer) 구현이 가능하게 되었다 하지만 비행제어 컴퓨터의

설계는 구성의 복잡성을 최소로 줄이고 안정된 동작 수행이 검증된 소자

만을 이용하여 상당히 보수적인 방법으로 진행된다

탑재 소프트웨어 역시 안전성이 확인된 ADA나 ANSI C 컴파일러만을

사용하게 된다 ADA 언어는 미국 국방성에서 채택하고 있는 언어로 C와

비슷한 특성을 가지고 있다 그러나 가격이 상대적으로 비싸고 일반적이

지 않으며 언어 훈련에 많은 시간이 소요되므로 일반 개발품에는 사용되

지 않고 단지 미국 국방성에서 사용되는 품목에 한하여 사용되는 경향이

있다 따라서 본 논문에서는 어셈블러와 ANSI C 언어를 사용하여 탑재

소프트웨어의 기본을 구성하였다

무인항공기도 점차 기능이 다양해지고 복잡해짐에 따라 높은 수준의

신뢰성을 요구하고 있어 비행제어 컴퓨터의 신뢰성 향상에 초점을 두었

다 시스템의 신뢰성을 높이기 위해 구성 부품은 품질 등급이 높아 고장

율이 낮은 것을 사용하고 부품 단위에서 해결하지 못할 경우 비행제어

컴퓨터 모듈을 중복으로 구성하여 전체적인 신뢰성을 증대시키게 된다

본 논문에서는 비행제어 컴퓨터의 신뢰성과 고장에 대한 강건성을 높

이기 위해 이중 구조의 비행제어 컴퓨터를 설계하고 시스템의 고장식별

및 임무 전환에 대한 방법을 제시하였다 그리고 시스템을 구성하는 모든

부품은 군사규격과 상용규격의 중간단계인 산업용 규격을 만족하는 부품

을 사용하였다 그리고 본 논문을 통하여 설계 제작된 이중구조의 비행제

어 컴퓨터에 대한 고장율 및 신뢰도를 분석하였다

그림 1-1은 본 논문의 흐름도를 나타낸다 하위범주에서 진하게 표시

된 내용이 논문의 연구범위이다 우선 시스템 요구사항을 도출하여 이에

적절한 시스템을 설계하고 설계된 시스템에 대하여 신뢰성 평가가 이루

어진다 시스템 설계는 신뢰성에 초점을 두고 고장 방지 및 고장 허용 설

- 2 -

계 기법을 적용한다 고장 방지는 고장 발생 원인을 줄임으로서 고장의

발생을 미연에 방지하는 것이고 고장 허용은 만약 시스템에 고장이 발생

하였을 경우 이 고장으로 인해 전체 시스템의 고장으로 발전하는 것을 방

지하는 것이다 고장 방지 설계에서는 설계 동향을 분석하고 고품질의 부

품을 선택하여 사용하고 접지와 단열을 고려하여 외부 환경에 대한 고장

원인도 미연에 방어할 수 있어야 한다 고장 허용 설계는 하드웨어 중복

구조를 바탕으로 고장의 검출분리재구성의 과정을 수행할 수 있는 하드

웨어 자원을 포함한다 시스템 평가 단계에서는 설계된 시스템이 초기 요

구사항에 얼마나 적절하게 부합하는지 고장율과 신뢰도를 분석하여 평가

한다

그림 1-1 연구 흐름도

- 3 -

2 비행제어 컴퓨터 설계

무인항공기에 적용되는 비행제어 컴퓨터는 항공기의 자세 위치 고도

및 공력 데이터를 수집하여 명령으로 주어진 비행 상태와 현재의 상태를

비교하고 비행제어 법칙을 적용하여 수동자동 모드에 적합한 조종면 제

어 신호를 출력한다 이러한 비행제어 컴퓨터는 탑재 소프트웨어를 쉽게

변경할 수 있어야 하며 구조가 간단하고 높은 신뢰성을 확보해야 한다

그림 2-1은 PC-104 타입의 CPU 모듈을 나타낸다 이러한 모듈은 세

계 규격품으로 정의되어져 있고 상용 제품으로 많이 유통되고 있다 그리

고 Matlab 개발 툴을 이용하여 비행제어에 관련된 소프트웨어 작성이 용

이하다 다양한 사용자 인터페이스를 제공 하고 있어 현재 무인항공기에

가장 많이 사용되고 있는 추세에 있다

그림 2-1 PC-104 CPU 모듈

이러한 장점에도 불구하고 본 연구를 통해 별도의 비행제어 컴퓨터를

개발하고 다중구조를 채택하게 된 이유는 다음과 같다 우선 전 세계 시

장에 판매되고 있는 제품군은 많지만 국내에서 유통되는 제품군은 지극히

제한적이고 이에 따라 유지 및 보수에 상당한 시간과 비용이 추가된다

두 번째로 소비전류가 비교적 높다 상용 제품의 경우 인텔 계열의

386486 프로세서를 메인으로 사용하고 있다 따라서 상용 제품에서 프

로세서 모듈의 소비전류는 1~2A 정도로 상당히 높게 차지한다 만약 지

상 장비에 적용되는 프로세서 모듈일 경우 지상에서 일정한 전원을 공급

- 4 -

받을 수 있지만 무인항공기에 탑재되는 비행제어 컴퓨터의 경우 전원은

배터리로부터 공급받기 때문에 전원에 대하여 상당히 제한적이다

세 번째로 확장이 용이하지 않고 RS-485 통신 인터페이스를 지원하

지 않는다 RS-485 통신은 본 연구의 궁극적인 목적인 무인항공기용 비

행제어 시스템이 적용하고 있는 통신 체계이다 하지만 기존의 프로세서

모듈은 USB RS-232 LAN 등과 같은 PC용 인터페이스는 광범위하게

제공 하지만 RS-485422 CAN 등과 같은 산업용 인터페이스의 제공은

보편적이지 않다

마지막으로 시스템의 신뢰성을 관리하고 중복구조 시스템을 구성하기

위해 상당한 제약 조건이 따른다 시스템의 높은 신뢰성을 확보하기 위해

서는 부품관리공정관리 등이 필요하고 특히 부품의 구입부터 주의를 기

울여야 하며 외부 노이즈로부터 시스템을 방어하기 위한 차단 수단을 설

계에 반영하여야 한다 그리고 중복구조 구성을 위해서도 적절한 중복구

조 인터페이스를 포함하고 있어야 한다

위에서 언급된 여러 가지 장단점을 비교하고 분석하여 본 논문에서는

시스템의 높은 신뢰도를 확보하기 위하여 이중구조 구성이 가능한 비행제

어 컴퓨터를 설계하기 위한 요구사항을 도출하였다[1 2 3]

21 요구 사항 및 구성

비행제어 컴퓨터는 주변장치와의 데이터 통신을 담당하는 통신 드라이

버(RS-485 RS-232) 디지털 입출력 장치 아날로그 입력 PWM 출력

등의 사용자 입출력 인터페이스와 시스템의 확장 및 다중화 구조를 위한

여분의 확장 인터페이스 시스템 디버깅용 인터페이스 그리고 전원부가

요구된다

사용 환경에 대한 요구조건은 무인항공기가 비록 유인항공기와 같은

고고도에서 사용되지 않지만 연교차 및 일교차와 같이 계절 변화에 따른

심한 환경변화를 고려하여 모든 부품을 산업용(-40 ~ +80) 규격에

적합한 부품을 사용한다 표 2-1은 요구사항에 의한 비행제어 컴퓨터의

제원을 나타낸다

- 5 -

표 2-1 비행제어 컴퓨터 제원

CPU TMS320C31 C8051

System Clock 40MHz 24MHz

ROM 512kbyte (256k times 8bit times 2)

RAM 256kword (256k times 16bit times 2)

FIFO 512byte times 2

통신RS-485(2채널)

RS-232(1채널)

시스템 감시DSP H1 외부 워치독

BC 내부 워치독

디지털 입출력 8채널

PWM 출력 8채널

외부 인터럽트 4채널

아날로그 입력 8채널

시스템 전원 +33vdc +5vdc

입력 전원 +75vdc ~ +20vdc

소비 전류 MAX 500mA

작동 온도 -40 ~ +85

BIT 모듈 이중구조 임무전환 스위치

EPLD program JTAG port

BC(F021) program JTAG port

DSP Emulator port

비행제어 컴퓨터는 메인 프로세서로 DSP를 사용하였고 주변장치 인터

페이스를 위해 PLD를 사용하였으며 버스제어기와 메모리 전원장치 등

으로 구성하였다 그리고 중복구조는 주시스템과 종시스템으로 이루어진

이중구조를 기본으로 한다 이중구조 시스템은 동일한 소프트웨어를 탑재

하고 있는 동종의 비행제어 컴퓨터 2대로 구성된다 그림 2-2는 비행제

어 컴퓨터의 구성을 나타낸다

- 6 -

그림 2-2 비행제어 컴퓨터 구성

- 7 -

22 프로세서

비행에서 컴퓨터에 사용되는 메인 프로세서는 제한된 시간(20msec)

내에 비행제어법칙의 연산에 따른 제어 신호를 출력하고 주변장치(RT

Remote Terminal)와의 원활한 데이터 송수신 기능 및 시스템을 구성하

고 있는 하드웨어 자원을 관리해야 한다 이러한 기능을 만족시키기 위해

DSP 계열의 32비트 부동소수점 연산이 가능하고 ANSI-C 언어 개발환

경을 지원하는 TI사의 TMS320C31을 채택하였다 표 2-2는 프로세서의

주요 기능과 특징을 나타낸다[4]

표 2-2 메인 프로세서의 특징

항 목 기능 및 특징 비 고

개 요 32비트 부동소수점 연산

처리속도

클럭 주파수 50MHz

단일 사이클 명령어 처리 시간

40ns

20MIPS 40MFLOPS의 처리 속도

(주의)실제 입력 주파

수는 40MHz이므로 처

리 시간은 50ns이다

명령어32비트 명령어 32비트 데이터 24

비트 주소

메모리

2개의 1k times 32비트 내부 RAM

64 times 32비트 명령 캐시

16M times 32비트의 외보 확장 메모

리 영역

마이크로 프로세서모드

마이크로 컴퓨터모드

IO

DMA 제어기

2개의 32비트 타이머

4개의 외부 인터럽트

1개의 시리얼 포트

- 8 -

23 메모리

메모리는 메인 프로세서의 내부 메모리 이외에 사용자를 위한 외부 메

모리(Flash ROM SRAM)을 추가하였다 내부 메모리는 개발단계에서 시

스템 디버깅용으로 사용되고 시스템 부팅시 외부 메모리 검사에 사용된

다 외부 메모리는 256kbyte Flash ROM 2개와 256kword SRAM 2개로

구성된다 플래시 메모리는 데이터OS응용프로그램을 저장하게 되고

SRAM은 프로그램이 동작할 수 있는 공간을 제공한다 표 2-3은 비행제

어 컴퓨터의 외부 메모리 사양을 나타낸다

표 2-3 메모리 사양

SRAM ROM FIFO

크 기 256kword 512kbyte 512byte

동작속도 10ns 120ns 12ns

동작온도 -40 ~ +80

용 도 프로그램 실행 프로그램 저장 버퍼

외부 메모리인터페이스는 각각 32 16 8비트로 접속할 수 있다 비행

제어 컴퓨터는 시스템 부팅용 플래시 메모리를 8비트로 프로그램 실행에

사용되는 SRAM을 32비트로 접속하였다 플래시 메모리는 두개의 물리적

인 메모리 공간을 각각 8비트로 연결하였으므로 독립적으로 각각의 메모

리에 접근할 수 있다 두 개의 플래시 메모리는 1 2로 구분되고 그 사

용 예로는 1은 시스템 개발 시스템 부팅 시스템 모니터링 프로그램을

2에는 비행제어 컴퓨터가 사용하게 될 응용프로그램을 탑재하는 공간으

로 사용하게 된다 이러한 두 개의 플래시 메모리 공간에서 2는 사용자

의 취향에 맞게 다양한 정보를 저장해서 사용할 수 있다 SRAM은 프로

그램이 동작하는 공간으로서 32비트 DSP의 장점을 최대로 활용할 수 있

도록 16비트의 물리적인 메모리를 32비트로 연결하였다 그림 2-3은 외

부 메모리 인터페이스를 나타낸다

- 9 -

그림 2-3 외부 메모리 인터페이스

그림 2-4 양방향 FIFO 구성

비행제어 컴퓨터는 연산을 담당하는 메인 프로세서와 통신을 담당하는

버스제어기로 구성되어 있으며 각각은 이종의 프로세서(TMS320C31

C8051F021)로 구성되어 있다 그렇기 때문에 원활한 데이터 공유를 위

해 FIFO 메모리를 양방향 버퍼로 사용하였다 FIFO 메모리의 데이터 흐

름은 양쪽의 프로세서에서 Full FlagEmpty Flag를 이용해 제어한다

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- vii -

그림 5-1 신뢰성 예측 절차 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 44

그림 5-2 단일 구조 신뢰성 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 48

그림 5-3 이중 구조 신뢰성 분석 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 49

그림 5-4 신뢰도 분석 결과 middotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddotmiddot 49

- viii -

약어 정 리

AUC Airborn Uninhabited Cargo

BC Bus Controller

BIOS Basic Input Output System

BIT Built-in Test

DFCC Digital Flight Control Computer

DFT Design for Testability

DMA Direct Memory Address

DSP Digital Signal Processor

FIFO First In First Out

Fit Failure in time

IC Integrated Circuit

IMMC Integrated Mission Management Computer

MTBF Mean Time Between Failure

NMR N-Modular Redundancy

OS Operating System

PLD Programmable Logic Device

POST Power On Self Test

PWM Pulse Width Modulation

RBD Reliability Block Diagram

RT Remote Terminal

TPG Test Pattern Generator

- 1 -

1 서 론

비행제어 컴퓨터는 항공기에 탑재되어 조종사 또는 제어기의 명령에

따라 원하는 출력을 생성하여 항공기를 조종하는 데 그 목적이 있다 이

러한 기능은 컴퓨터와 전기전자 기술의 발전에 따라 무인항공기에 적용

가능한 소형경량의 디지털 비행제어 컴퓨터(DFCC Digital Flight

Control Computer) 구현이 가능하게 되었다 하지만 비행제어 컴퓨터의

설계는 구성의 복잡성을 최소로 줄이고 안정된 동작 수행이 검증된 소자

만을 이용하여 상당히 보수적인 방법으로 진행된다

탑재 소프트웨어 역시 안전성이 확인된 ADA나 ANSI C 컴파일러만을

사용하게 된다 ADA 언어는 미국 국방성에서 채택하고 있는 언어로 C와

비슷한 특성을 가지고 있다 그러나 가격이 상대적으로 비싸고 일반적이

지 않으며 언어 훈련에 많은 시간이 소요되므로 일반 개발품에는 사용되

지 않고 단지 미국 국방성에서 사용되는 품목에 한하여 사용되는 경향이

있다 따라서 본 논문에서는 어셈블러와 ANSI C 언어를 사용하여 탑재

소프트웨어의 기본을 구성하였다

무인항공기도 점차 기능이 다양해지고 복잡해짐에 따라 높은 수준의

신뢰성을 요구하고 있어 비행제어 컴퓨터의 신뢰성 향상에 초점을 두었

다 시스템의 신뢰성을 높이기 위해 구성 부품은 품질 등급이 높아 고장

율이 낮은 것을 사용하고 부품 단위에서 해결하지 못할 경우 비행제어

컴퓨터 모듈을 중복으로 구성하여 전체적인 신뢰성을 증대시키게 된다

본 논문에서는 비행제어 컴퓨터의 신뢰성과 고장에 대한 강건성을 높

이기 위해 이중 구조의 비행제어 컴퓨터를 설계하고 시스템의 고장식별

및 임무 전환에 대한 방법을 제시하였다 그리고 시스템을 구성하는 모든

부품은 군사규격과 상용규격의 중간단계인 산업용 규격을 만족하는 부품

을 사용하였다 그리고 본 논문을 통하여 설계 제작된 이중구조의 비행제

어 컴퓨터에 대한 고장율 및 신뢰도를 분석하였다

그림 1-1은 본 논문의 흐름도를 나타낸다 하위범주에서 진하게 표시

된 내용이 논문의 연구범위이다 우선 시스템 요구사항을 도출하여 이에

적절한 시스템을 설계하고 설계된 시스템에 대하여 신뢰성 평가가 이루

어진다 시스템 설계는 신뢰성에 초점을 두고 고장 방지 및 고장 허용 설

- 2 -

계 기법을 적용한다 고장 방지는 고장 발생 원인을 줄임으로서 고장의

발생을 미연에 방지하는 것이고 고장 허용은 만약 시스템에 고장이 발생

하였을 경우 이 고장으로 인해 전체 시스템의 고장으로 발전하는 것을 방

지하는 것이다 고장 방지 설계에서는 설계 동향을 분석하고 고품질의 부

품을 선택하여 사용하고 접지와 단열을 고려하여 외부 환경에 대한 고장

원인도 미연에 방어할 수 있어야 한다 고장 허용 설계는 하드웨어 중복

구조를 바탕으로 고장의 검출분리재구성의 과정을 수행할 수 있는 하드

웨어 자원을 포함한다 시스템 평가 단계에서는 설계된 시스템이 초기 요

구사항에 얼마나 적절하게 부합하는지 고장율과 신뢰도를 분석하여 평가

한다

그림 1-1 연구 흐름도

- 3 -

2 비행제어 컴퓨터 설계

무인항공기에 적용되는 비행제어 컴퓨터는 항공기의 자세 위치 고도

및 공력 데이터를 수집하여 명령으로 주어진 비행 상태와 현재의 상태를

비교하고 비행제어 법칙을 적용하여 수동자동 모드에 적합한 조종면 제

어 신호를 출력한다 이러한 비행제어 컴퓨터는 탑재 소프트웨어를 쉽게

변경할 수 있어야 하며 구조가 간단하고 높은 신뢰성을 확보해야 한다

그림 2-1은 PC-104 타입의 CPU 모듈을 나타낸다 이러한 모듈은 세

계 규격품으로 정의되어져 있고 상용 제품으로 많이 유통되고 있다 그리

고 Matlab 개발 툴을 이용하여 비행제어에 관련된 소프트웨어 작성이 용

이하다 다양한 사용자 인터페이스를 제공 하고 있어 현재 무인항공기에

가장 많이 사용되고 있는 추세에 있다

그림 2-1 PC-104 CPU 모듈

이러한 장점에도 불구하고 본 연구를 통해 별도의 비행제어 컴퓨터를

개발하고 다중구조를 채택하게 된 이유는 다음과 같다 우선 전 세계 시

장에 판매되고 있는 제품군은 많지만 국내에서 유통되는 제품군은 지극히

제한적이고 이에 따라 유지 및 보수에 상당한 시간과 비용이 추가된다

두 번째로 소비전류가 비교적 높다 상용 제품의 경우 인텔 계열의

386486 프로세서를 메인으로 사용하고 있다 따라서 상용 제품에서 프

로세서 모듈의 소비전류는 1~2A 정도로 상당히 높게 차지한다 만약 지

상 장비에 적용되는 프로세서 모듈일 경우 지상에서 일정한 전원을 공급

- 4 -

받을 수 있지만 무인항공기에 탑재되는 비행제어 컴퓨터의 경우 전원은

배터리로부터 공급받기 때문에 전원에 대하여 상당히 제한적이다

세 번째로 확장이 용이하지 않고 RS-485 통신 인터페이스를 지원하

지 않는다 RS-485 통신은 본 연구의 궁극적인 목적인 무인항공기용 비

행제어 시스템이 적용하고 있는 통신 체계이다 하지만 기존의 프로세서

모듈은 USB RS-232 LAN 등과 같은 PC용 인터페이스는 광범위하게

제공 하지만 RS-485422 CAN 등과 같은 산업용 인터페이스의 제공은

보편적이지 않다

마지막으로 시스템의 신뢰성을 관리하고 중복구조 시스템을 구성하기

위해 상당한 제약 조건이 따른다 시스템의 높은 신뢰성을 확보하기 위해

서는 부품관리공정관리 등이 필요하고 특히 부품의 구입부터 주의를 기

울여야 하며 외부 노이즈로부터 시스템을 방어하기 위한 차단 수단을 설

계에 반영하여야 한다 그리고 중복구조 구성을 위해서도 적절한 중복구

조 인터페이스를 포함하고 있어야 한다

위에서 언급된 여러 가지 장단점을 비교하고 분석하여 본 논문에서는

시스템의 높은 신뢰도를 확보하기 위하여 이중구조 구성이 가능한 비행제

어 컴퓨터를 설계하기 위한 요구사항을 도출하였다[1 2 3]

21 요구 사항 및 구성

비행제어 컴퓨터는 주변장치와의 데이터 통신을 담당하는 통신 드라이

버(RS-485 RS-232) 디지털 입출력 장치 아날로그 입력 PWM 출력

등의 사용자 입출력 인터페이스와 시스템의 확장 및 다중화 구조를 위한

여분의 확장 인터페이스 시스템 디버깅용 인터페이스 그리고 전원부가

요구된다

사용 환경에 대한 요구조건은 무인항공기가 비록 유인항공기와 같은

고고도에서 사용되지 않지만 연교차 및 일교차와 같이 계절 변화에 따른

심한 환경변화를 고려하여 모든 부품을 산업용(-40 ~ +80) 규격에

적합한 부품을 사용한다 표 2-1은 요구사항에 의한 비행제어 컴퓨터의

제원을 나타낸다

- 5 -

표 2-1 비행제어 컴퓨터 제원

CPU TMS320C31 C8051

System Clock 40MHz 24MHz

ROM 512kbyte (256k times 8bit times 2)

RAM 256kword (256k times 16bit times 2)

FIFO 512byte times 2

통신RS-485(2채널)

RS-232(1채널)

시스템 감시DSP H1 외부 워치독

BC 내부 워치독

디지털 입출력 8채널

PWM 출력 8채널

외부 인터럽트 4채널

아날로그 입력 8채널

시스템 전원 +33vdc +5vdc

입력 전원 +75vdc ~ +20vdc

소비 전류 MAX 500mA

작동 온도 -40 ~ +85

BIT 모듈 이중구조 임무전환 스위치

EPLD program JTAG port

BC(F021) program JTAG port

DSP Emulator port

비행제어 컴퓨터는 메인 프로세서로 DSP를 사용하였고 주변장치 인터

페이스를 위해 PLD를 사용하였으며 버스제어기와 메모리 전원장치 등

으로 구성하였다 그리고 중복구조는 주시스템과 종시스템으로 이루어진

이중구조를 기본으로 한다 이중구조 시스템은 동일한 소프트웨어를 탑재

하고 있는 동종의 비행제어 컴퓨터 2대로 구성된다 그림 2-2는 비행제

어 컴퓨터의 구성을 나타낸다

- 6 -

그림 2-2 비행제어 컴퓨터 구성

- 7 -

22 프로세서

비행에서 컴퓨터에 사용되는 메인 프로세서는 제한된 시간(20msec)

내에 비행제어법칙의 연산에 따른 제어 신호를 출력하고 주변장치(RT

Remote Terminal)와의 원활한 데이터 송수신 기능 및 시스템을 구성하

고 있는 하드웨어 자원을 관리해야 한다 이러한 기능을 만족시키기 위해

DSP 계열의 32비트 부동소수점 연산이 가능하고 ANSI-C 언어 개발환

경을 지원하는 TI사의 TMS320C31을 채택하였다 표 2-2는 프로세서의

주요 기능과 특징을 나타낸다[4]

표 2-2 메인 프로세서의 특징

항 목 기능 및 특징 비 고

개 요 32비트 부동소수점 연산

처리속도

클럭 주파수 50MHz

단일 사이클 명령어 처리 시간

40ns

20MIPS 40MFLOPS의 처리 속도

(주의)실제 입력 주파

수는 40MHz이므로 처

리 시간은 50ns이다

명령어32비트 명령어 32비트 데이터 24

비트 주소

메모리

2개의 1k times 32비트 내부 RAM

64 times 32비트 명령 캐시

16M times 32비트의 외보 확장 메모

리 영역

마이크로 프로세서모드

마이크로 컴퓨터모드

IO

DMA 제어기

2개의 32비트 타이머

4개의 외부 인터럽트

1개의 시리얼 포트

- 8 -

23 메모리

메모리는 메인 프로세서의 내부 메모리 이외에 사용자를 위한 외부 메

모리(Flash ROM SRAM)을 추가하였다 내부 메모리는 개발단계에서 시

스템 디버깅용으로 사용되고 시스템 부팅시 외부 메모리 검사에 사용된

다 외부 메모리는 256kbyte Flash ROM 2개와 256kword SRAM 2개로

구성된다 플래시 메모리는 데이터OS응용프로그램을 저장하게 되고

SRAM은 프로그램이 동작할 수 있는 공간을 제공한다 표 2-3은 비행제

어 컴퓨터의 외부 메모리 사양을 나타낸다

표 2-3 메모리 사양

SRAM ROM FIFO

크 기 256kword 512kbyte 512byte

동작속도 10ns 120ns 12ns

동작온도 -40 ~ +80

용 도 프로그램 실행 프로그램 저장 버퍼

외부 메모리인터페이스는 각각 32 16 8비트로 접속할 수 있다 비행

제어 컴퓨터는 시스템 부팅용 플래시 메모리를 8비트로 프로그램 실행에

사용되는 SRAM을 32비트로 접속하였다 플래시 메모리는 두개의 물리적

인 메모리 공간을 각각 8비트로 연결하였으므로 독립적으로 각각의 메모

리에 접근할 수 있다 두 개의 플래시 메모리는 1 2로 구분되고 그 사

용 예로는 1은 시스템 개발 시스템 부팅 시스템 모니터링 프로그램을

2에는 비행제어 컴퓨터가 사용하게 될 응용프로그램을 탑재하는 공간으

로 사용하게 된다 이러한 두 개의 플래시 메모리 공간에서 2는 사용자

의 취향에 맞게 다양한 정보를 저장해서 사용할 수 있다 SRAM은 프로

그램이 동작하는 공간으로서 32비트 DSP의 장점을 최대로 활용할 수 있

도록 16비트의 물리적인 메모리를 32비트로 연결하였다 그림 2-3은 외

부 메모리 인터페이스를 나타낸다

- 9 -

그림 2-3 외부 메모리 인터페이스

그림 2-4 양방향 FIFO 구성

비행제어 컴퓨터는 연산을 담당하는 메인 프로세서와 통신을 담당하는

버스제어기로 구성되어 있으며 각각은 이종의 프로세서(TMS320C31

C8051F021)로 구성되어 있다 그렇기 때문에 원활한 데이터 공유를 위

해 FIFO 메모리를 양방향 버퍼로 사용하였다 FIFO 메모리의 데이터 흐

름은 양쪽의 프로세서에서 Full FlagEmpty Flag를 이용해 제어한다

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- viii -

약어 정 리

AUC Airborn Uninhabited Cargo

BC Bus Controller

BIOS Basic Input Output System

BIT Built-in Test

DFCC Digital Flight Control Computer

DFT Design for Testability

DMA Direct Memory Address

DSP Digital Signal Processor

FIFO First In First Out

Fit Failure in time

IC Integrated Circuit

IMMC Integrated Mission Management Computer

MTBF Mean Time Between Failure

NMR N-Modular Redundancy

OS Operating System

PLD Programmable Logic Device

POST Power On Self Test

PWM Pulse Width Modulation

RBD Reliability Block Diagram

RT Remote Terminal

TPG Test Pattern Generator

- 1 -

1 서 론

비행제어 컴퓨터는 항공기에 탑재되어 조종사 또는 제어기의 명령에

따라 원하는 출력을 생성하여 항공기를 조종하는 데 그 목적이 있다 이

러한 기능은 컴퓨터와 전기전자 기술의 발전에 따라 무인항공기에 적용

가능한 소형경량의 디지털 비행제어 컴퓨터(DFCC Digital Flight

Control Computer) 구현이 가능하게 되었다 하지만 비행제어 컴퓨터의

설계는 구성의 복잡성을 최소로 줄이고 안정된 동작 수행이 검증된 소자

만을 이용하여 상당히 보수적인 방법으로 진행된다

탑재 소프트웨어 역시 안전성이 확인된 ADA나 ANSI C 컴파일러만을

사용하게 된다 ADA 언어는 미국 국방성에서 채택하고 있는 언어로 C와

비슷한 특성을 가지고 있다 그러나 가격이 상대적으로 비싸고 일반적이

지 않으며 언어 훈련에 많은 시간이 소요되므로 일반 개발품에는 사용되

지 않고 단지 미국 국방성에서 사용되는 품목에 한하여 사용되는 경향이

있다 따라서 본 논문에서는 어셈블러와 ANSI C 언어를 사용하여 탑재

소프트웨어의 기본을 구성하였다

무인항공기도 점차 기능이 다양해지고 복잡해짐에 따라 높은 수준의

신뢰성을 요구하고 있어 비행제어 컴퓨터의 신뢰성 향상에 초점을 두었

다 시스템의 신뢰성을 높이기 위해 구성 부품은 품질 등급이 높아 고장

율이 낮은 것을 사용하고 부품 단위에서 해결하지 못할 경우 비행제어

컴퓨터 모듈을 중복으로 구성하여 전체적인 신뢰성을 증대시키게 된다

본 논문에서는 비행제어 컴퓨터의 신뢰성과 고장에 대한 강건성을 높

이기 위해 이중 구조의 비행제어 컴퓨터를 설계하고 시스템의 고장식별

및 임무 전환에 대한 방법을 제시하였다 그리고 시스템을 구성하는 모든

부품은 군사규격과 상용규격의 중간단계인 산업용 규격을 만족하는 부품

을 사용하였다 그리고 본 논문을 통하여 설계 제작된 이중구조의 비행제

어 컴퓨터에 대한 고장율 및 신뢰도를 분석하였다

그림 1-1은 본 논문의 흐름도를 나타낸다 하위범주에서 진하게 표시

된 내용이 논문의 연구범위이다 우선 시스템 요구사항을 도출하여 이에

적절한 시스템을 설계하고 설계된 시스템에 대하여 신뢰성 평가가 이루

어진다 시스템 설계는 신뢰성에 초점을 두고 고장 방지 및 고장 허용 설

- 2 -

계 기법을 적용한다 고장 방지는 고장 발생 원인을 줄임으로서 고장의

발생을 미연에 방지하는 것이고 고장 허용은 만약 시스템에 고장이 발생

하였을 경우 이 고장으로 인해 전체 시스템의 고장으로 발전하는 것을 방

지하는 것이다 고장 방지 설계에서는 설계 동향을 분석하고 고품질의 부

품을 선택하여 사용하고 접지와 단열을 고려하여 외부 환경에 대한 고장

원인도 미연에 방어할 수 있어야 한다 고장 허용 설계는 하드웨어 중복

구조를 바탕으로 고장의 검출분리재구성의 과정을 수행할 수 있는 하드

웨어 자원을 포함한다 시스템 평가 단계에서는 설계된 시스템이 초기 요

구사항에 얼마나 적절하게 부합하는지 고장율과 신뢰도를 분석하여 평가

한다

그림 1-1 연구 흐름도

- 3 -

2 비행제어 컴퓨터 설계

무인항공기에 적용되는 비행제어 컴퓨터는 항공기의 자세 위치 고도

및 공력 데이터를 수집하여 명령으로 주어진 비행 상태와 현재의 상태를

비교하고 비행제어 법칙을 적용하여 수동자동 모드에 적합한 조종면 제

어 신호를 출력한다 이러한 비행제어 컴퓨터는 탑재 소프트웨어를 쉽게

변경할 수 있어야 하며 구조가 간단하고 높은 신뢰성을 확보해야 한다

그림 2-1은 PC-104 타입의 CPU 모듈을 나타낸다 이러한 모듈은 세

계 규격품으로 정의되어져 있고 상용 제품으로 많이 유통되고 있다 그리

고 Matlab 개발 툴을 이용하여 비행제어에 관련된 소프트웨어 작성이 용

이하다 다양한 사용자 인터페이스를 제공 하고 있어 현재 무인항공기에

가장 많이 사용되고 있는 추세에 있다

그림 2-1 PC-104 CPU 모듈

이러한 장점에도 불구하고 본 연구를 통해 별도의 비행제어 컴퓨터를

개발하고 다중구조를 채택하게 된 이유는 다음과 같다 우선 전 세계 시

장에 판매되고 있는 제품군은 많지만 국내에서 유통되는 제품군은 지극히

제한적이고 이에 따라 유지 및 보수에 상당한 시간과 비용이 추가된다

두 번째로 소비전류가 비교적 높다 상용 제품의 경우 인텔 계열의

386486 프로세서를 메인으로 사용하고 있다 따라서 상용 제품에서 프

로세서 모듈의 소비전류는 1~2A 정도로 상당히 높게 차지한다 만약 지

상 장비에 적용되는 프로세서 모듈일 경우 지상에서 일정한 전원을 공급

- 4 -

받을 수 있지만 무인항공기에 탑재되는 비행제어 컴퓨터의 경우 전원은

배터리로부터 공급받기 때문에 전원에 대하여 상당히 제한적이다

세 번째로 확장이 용이하지 않고 RS-485 통신 인터페이스를 지원하

지 않는다 RS-485 통신은 본 연구의 궁극적인 목적인 무인항공기용 비

행제어 시스템이 적용하고 있는 통신 체계이다 하지만 기존의 프로세서

모듈은 USB RS-232 LAN 등과 같은 PC용 인터페이스는 광범위하게

제공 하지만 RS-485422 CAN 등과 같은 산업용 인터페이스의 제공은

보편적이지 않다

마지막으로 시스템의 신뢰성을 관리하고 중복구조 시스템을 구성하기

위해 상당한 제약 조건이 따른다 시스템의 높은 신뢰성을 확보하기 위해

서는 부품관리공정관리 등이 필요하고 특히 부품의 구입부터 주의를 기

울여야 하며 외부 노이즈로부터 시스템을 방어하기 위한 차단 수단을 설

계에 반영하여야 한다 그리고 중복구조 구성을 위해서도 적절한 중복구

조 인터페이스를 포함하고 있어야 한다

위에서 언급된 여러 가지 장단점을 비교하고 분석하여 본 논문에서는

시스템의 높은 신뢰도를 확보하기 위하여 이중구조 구성이 가능한 비행제

어 컴퓨터를 설계하기 위한 요구사항을 도출하였다[1 2 3]

21 요구 사항 및 구성

비행제어 컴퓨터는 주변장치와의 데이터 통신을 담당하는 통신 드라이

버(RS-485 RS-232) 디지털 입출력 장치 아날로그 입력 PWM 출력

등의 사용자 입출력 인터페이스와 시스템의 확장 및 다중화 구조를 위한

여분의 확장 인터페이스 시스템 디버깅용 인터페이스 그리고 전원부가

요구된다

사용 환경에 대한 요구조건은 무인항공기가 비록 유인항공기와 같은

고고도에서 사용되지 않지만 연교차 및 일교차와 같이 계절 변화에 따른

심한 환경변화를 고려하여 모든 부품을 산업용(-40 ~ +80) 규격에

적합한 부품을 사용한다 표 2-1은 요구사항에 의한 비행제어 컴퓨터의

제원을 나타낸다

- 5 -

표 2-1 비행제어 컴퓨터 제원

CPU TMS320C31 C8051

System Clock 40MHz 24MHz

ROM 512kbyte (256k times 8bit times 2)

RAM 256kword (256k times 16bit times 2)

FIFO 512byte times 2

통신RS-485(2채널)

RS-232(1채널)

시스템 감시DSP H1 외부 워치독

BC 내부 워치독

디지털 입출력 8채널

PWM 출력 8채널

외부 인터럽트 4채널

아날로그 입력 8채널

시스템 전원 +33vdc +5vdc

입력 전원 +75vdc ~ +20vdc

소비 전류 MAX 500mA

작동 온도 -40 ~ +85

BIT 모듈 이중구조 임무전환 스위치

EPLD program JTAG port

BC(F021) program JTAG port

DSP Emulator port

비행제어 컴퓨터는 메인 프로세서로 DSP를 사용하였고 주변장치 인터

페이스를 위해 PLD를 사용하였으며 버스제어기와 메모리 전원장치 등

으로 구성하였다 그리고 중복구조는 주시스템과 종시스템으로 이루어진

이중구조를 기본으로 한다 이중구조 시스템은 동일한 소프트웨어를 탑재

하고 있는 동종의 비행제어 컴퓨터 2대로 구성된다 그림 2-2는 비행제

어 컴퓨터의 구성을 나타낸다

- 6 -

그림 2-2 비행제어 컴퓨터 구성

- 7 -

22 프로세서

비행에서 컴퓨터에 사용되는 메인 프로세서는 제한된 시간(20msec)

내에 비행제어법칙의 연산에 따른 제어 신호를 출력하고 주변장치(RT

Remote Terminal)와의 원활한 데이터 송수신 기능 및 시스템을 구성하

고 있는 하드웨어 자원을 관리해야 한다 이러한 기능을 만족시키기 위해

DSP 계열의 32비트 부동소수점 연산이 가능하고 ANSI-C 언어 개발환

경을 지원하는 TI사의 TMS320C31을 채택하였다 표 2-2는 프로세서의

주요 기능과 특징을 나타낸다[4]

표 2-2 메인 프로세서의 특징

항 목 기능 및 특징 비 고

개 요 32비트 부동소수점 연산

처리속도

클럭 주파수 50MHz

단일 사이클 명령어 처리 시간

40ns

20MIPS 40MFLOPS의 처리 속도

(주의)실제 입력 주파

수는 40MHz이므로 처

리 시간은 50ns이다

명령어32비트 명령어 32비트 데이터 24

비트 주소

메모리

2개의 1k times 32비트 내부 RAM

64 times 32비트 명령 캐시

16M times 32비트의 외보 확장 메모

리 영역

마이크로 프로세서모드

마이크로 컴퓨터모드

IO

DMA 제어기

2개의 32비트 타이머

4개의 외부 인터럽트

1개의 시리얼 포트

- 8 -

23 메모리

메모리는 메인 프로세서의 내부 메모리 이외에 사용자를 위한 외부 메

모리(Flash ROM SRAM)을 추가하였다 내부 메모리는 개발단계에서 시

스템 디버깅용으로 사용되고 시스템 부팅시 외부 메모리 검사에 사용된

다 외부 메모리는 256kbyte Flash ROM 2개와 256kword SRAM 2개로

구성된다 플래시 메모리는 데이터OS응용프로그램을 저장하게 되고

SRAM은 프로그램이 동작할 수 있는 공간을 제공한다 표 2-3은 비행제

어 컴퓨터의 외부 메모리 사양을 나타낸다

표 2-3 메모리 사양

SRAM ROM FIFO

크 기 256kword 512kbyte 512byte

동작속도 10ns 120ns 12ns

동작온도 -40 ~ +80

용 도 프로그램 실행 프로그램 저장 버퍼

외부 메모리인터페이스는 각각 32 16 8비트로 접속할 수 있다 비행

제어 컴퓨터는 시스템 부팅용 플래시 메모리를 8비트로 프로그램 실행에

사용되는 SRAM을 32비트로 접속하였다 플래시 메모리는 두개의 물리적

인 메모리 공간을 각각 8비트로 연결하였으므로 독립적으로 각각의 메모

리에 접근할 수 있다 두 개의 플래시 메모리는 1 2로 구분되고 그 사

용 예로는 1은 시스템 개발 시스템 부팅 시스템 모니터링 프로그램을

2에는 비행제어 컴퓨터가 사용하게 될 응용프로그램을 탑재하는 공간으

로 사용하게 된다 이러한 두 개의 플래시 메모리 공간에서 2는 사용자

의 취향에 맞게 다양한 정보를 저장해서 사용할 수 있다 SRAM은 프로

그램이 동작하는 공간으로서 32비트 DSP의 장점을 최대로 활용할 수 있

도록 16비트의 물리적인 메모리를 32비트로 연결하였다 그림 2-3은 외

부 메모리 인터페이스를 나타낸다

- 9 -

그림 2-3 외부 메모리 인터페이스

그림 2-4 양방향 FIFO 구성

비행제어 컴퓨터는 연산을 담당하는 메인 프로세서와 통신을 담당하는

버스제어기로 구성되어 있으며 각각은 이종의 프로세서(TMS320C31

C8051F021)로 구성되어 있다 그렇기 때문에 원활한 데이터 공유를 위

해 FIFO 메모리를 양방향 버퍼로 사용하였다 FIFO 메모리의 데이터 흐

름은 양쪽의 프로세서에서 Full FlagEmpty Flag를 이용해 제어한다

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 1 -

1 서 론

비행제어 컴퓨터는 항공기에 탑재되어 조종사 또는 제어기의 명령에

따라 원하는 출력을 생성하여 항공기를 조종하는 데 그 목적이 있다 이

러한 기능은 컴퓨터와 전기전자 기술의 발전에 따라 무인항공기에 적용

가능한 소형경량의 디지털 비행제어 컴퓨터(DFCC Digital Flight

Control Computer) 구현이 가능하게 되었다 하지만 비행제어 컴퓨터의

설계는 구성의 복잡성을 최소로 줄이고 안정된 동작 수행이 검증된 소자

만을 이용하여 상당히 보수적인 방법으로 진행된다

탑재 소프트웨어 역시 안전성이 확인된 ADA나 ANSI C 컴파일러만을

사용하게 된다 ADA 언어는 미국 국방성에서 채택하고 있는 언어로 C와

비슷한 특성을 가지고 있다 그러나 가격이 상대적으로 비싸고 일반적이

지 않으며 언어 훈련에 많은 시간이 소요되므로 일반 개발품에는 사용되

지 않고 단지 미국 국방성에서 사용되는 품목에 한하여 사용되는 경향이

있다 따라서 본 논문에서는 어셈블러와 ANSI C 언어를 사용하여 탑재

소프트웨어의 기본을 구성하였다

무인항공기도 점차 기능이 다양해지고 복잡해짐에 따라 높은 수준의

신뢰성을 요구하고 있어 비행제어 컴퓨터의 신뢰성 향상에 초점을 두었

다 시스템의 신뢰성을 높이기 위해 구성 부품은 품질 등급이 높아 고장

율이 낮은 것을 사용하고 부품 단위에서 해결하지 못할 경우 비행제어

컴퓨터 모듈을 중복으로 구성하여 전체적인 신뢰성을 증대시키게 된다

본 논문에서는 비행제어 컴퓨터의 신뢰성과 고장에 대한 강건성을 높

이기 위해 이중 구조의 비행제어 컴퓨터를 설계하고 시스템의 고장식별

및 임무 전환에 대한 방법을 제시하였다 그리고 시스템을 구성하는 모든

부품은 군사규격과 상용규격의 중간단계인 산업용 규격을 만족하는 부품

을 사용하였다 그리고 본 논문을 통하여 설계 제작된 이중구조의 비행제

어 컴퓨터에 대한 고장율 및 신뢰도를 분석하였다

그림 1-1은 본 논문의 흐름도를 나타낸다 하위범주에서 진하게 표시

된 내용이 논문의 연구범위이다 우선 시스템 요구사항을 도출하여 이에

적절한 시스템을 설계하고 설계된 시스템에 대하여 신뢰성 평가가 이루

어진다 시스템 설계는 신뢰성에 초점을 두고 고장 방지 및 고장 허용 설

- 2 -

계 기법을 적용한다 고장 방지는 고장 발생 원인을 줄임으로서 고장의

발생을 미연에 방지하는 것이고 고장 허용은 만약 시스템에 고장이 발생

하였을 경우 이 고장으로 인해 전체 시스템의 고장으로 발전하는 것을 방

지하는 것이다 고장 방지 설계에서는 설계 동향을 분석하고 고품질의 부

품을 선택하여 사용하고 접지와 단열을 고려하여 외부 환경에 대한 고장

원인도 미연에 방어할 수 있어야 한다 고장 허용 설계는 하드웨어 중복

구조를 바탕으로 고장의 검출분리재구성의 과정을 수행할 수 있는 하드

웨어 자원을 포함한다 시스템 평가 단계에서는 설계된 시스템이 초기 요

구사항에 얼마나 적절하게 부합하는지 고장율과 신뢰도를 분석하여 평가

한다

그림 1-1 연구 흐름도

- 3 -

2 비행제어 컴퓨터 설계

무인항공기에 적용되는 비행제어 컴퓨터는 항공기의 자세 위치 고도

및 공력 데이터를 수집하여 명령으로 주어진 비행 상태와 현재의 상태를

비교하고 비행제어 법칙을 적용하여 수동자동 모드에 적합한 조종면 제

어 신호를 출력한다 이러한 비행제어 컴퓨터는 탑재 소프트웨어를 쉽게

변경할 수 있어야 하며 구조가 간단하고 높은 신뢰성을 확보해야 한다

그림 2-1은 PC-104 타입의 CPU 모듈을 나타낸다 이러한 모듈은 세

계 규격품으로 정의되어져 있고 상용 제품으로 많이 유통되고 있다 그리

고 Matlab 개발 툴을 이용하여 비행제어에 관련된 소프트웨어 작성이 용

이하다 다양한 사용자 인터페이스를 제공 하고 있어 현재 무인항공기에

가장 많이 사용되고 있는 추세에 있다

그림 2-1 PC-104 CPU 모듈

이러한 장점에도 불구하고 본 연구를 통해 별도의 비행제어 컴퓨터를

개발하고 다중구조를 채택하게 된 이유는 다음과 같다 우선 전 세계 시

장에 판매되고 있는 제품군은 많지만 국내에서 유통되는 제품군은 지극히

제한적이고 이에 따라 유지 및 보수에 상당한 시간과 비용이 추가된다

두 번째로 소비전류가 비교적 높다 상용 제품의 경우 인텔 계열의

386486 프로세서를 메인으로 사용하고 있다 따라서 상용 제품에서 프

로세서 모듈의 소비전류는 1~2A 정도로 상당히 높게 차지한다 만약 지

상 장비에 적용되는 프로세서 모듈일 경우 지상에서 일정한 전원을 공급

- 4 -

받을 수 있지만 무인항공기에 탑재되는 비행제어 컴퓨터의 경우 전원은

배터리로부터 공급받기 때문에 전원에 대하여 상당히 제한적이다

세 번째로 확장이 용이하지 않고 RS-485 통신 인터페이스를 지원하

지 않는다 RS-485 통신은 본 연구의 궁극적인 목적인 무인항공기용 비

행제어 시스템이 적용하고 있는 통신 체계이다 하지만 기존의 프로세서

모듈은 USB RS-232 LAN 등과 같은 PC용 인터페이스는 광범위하게

제공 하지만 RS-485422 CAN 등과 같은 산업용 인터페이스의 제공은

보편적이지 않다

마지막으로 시스템의 신뢰성을 관리하고 중복구조 시스템을 구성하기

위해 상당한 제약 조건이 따른다 시스템의 높은 신뢰성을 확보하기 위해

서는 부품관리공정관리 등이 필요하고 특히 부품의 구입부터 주의를 기

울여야 하며 외부 노이즈로부터 시스템을 방어하기 위한 차단 수단을 설

계에 반영하여야 한다 그리고 중복구조 구성을 위해서도 적절한 중복구

조 인터페이스를 포함하고 있어야 한다

위에서 언급된 여러 가지 장단점을 비교하고 분석하여 본 논문에서는

시스템의 높은 신뢰도를 확보하기 위하여 이중구조 구성이 가능한 비행제

어 컴퓨터를 설계하기 위한 요구사항을 도출하였다[1 2 3]

21 요구 사항 및 구성

비행제어 컴퓨터는 주변장치와의 데이터 통신을 담당하는 통신 드라이

버(RS-485 RS-232) 디지털 입출력 장치 아날로그 입력 PWM 출력

등의 사용자 입출력 인터페이스와 시스템의 확장 및 다중화 구조를 위한

여분의 확장 인터페이스 시스템 디버깅용 인터페이스 그리고 전원부가

요구된다

사용 환경에 대한 요구조건은 무인항공기가 비록 유인항공기와 같은

고고도에서 사용되지 않지만 연교차 및 일교차와 같이 계절 변화에 따른

심한 환경변화를 고려하여 모든 부품을 산업용(-40 ~ +80) 규격에

적합한 부품을 사용한다 표 2-1은 요구사항에 의한 비행제어 컴퓨터의

제원을 나타낸다

- 5 -

표 2-1 비행제어 컴퓨터 제원

CPU TMS320C31 C8051

System Clock 40MHz 24MHz

ROM 512kbyte (256k times 8bit times 2)

RAM 256kword (256k times 16bit times 2)

FIFO 512byte times 2

통신RS-485(2채널)

RS-232(1채널)

시스템 감시DSP H1 외부 워치독

BC 내부 워치독

디지털 입출력 8채널

PWM 출력 8채널

외부 인터럽트 4채널

아날로그 입력 8채널

시스템 전원 +33vdc +5vdc

입력 전원 +75vdc ~ +20vdc

소비 전류 MAX 500mA

작동 온도 -40 ~ +85

BIT 모듈 이중구조 임무전환 스위치

EPLD program JTAG port

BC(F021) program JTAG port

DSP Emulator port

비행제어 컴퓨터는 메인 프로세서로 DSP를 사용하였고 주변장치 인터

페이스를 위해 PLD를 사용하였으며 버스제어기와 메모리 전원장치 등

으로 구성하였다 그리고 중복구조는 주시스템과 종시스템으로 이루어진

이중구조를 기본으로 한다 이중구조 시스템은 동일한 소프트웨어를 탑재

하고 있는 동종의 비행제어 컴퓨터 2대로 구성된다 그림 2-2는 비행제

어 컴퓨터의 구성을 나타낸다

- 6 -

그림 2-2 비행제어 컴퓨터 구성

- 7 -

22 프로세서

비행에서 컴퓨터에 사용되는 메인 프로세서는 제한된 시간(20msec)

내에 비행제어법칙의 연산에 따른 제어 신호를 출력하고 주변장치(RT

Remote Terminal)와의 원활한 데이터 송수신 기능 및 시스템을 구성하

고 있는 하드웨어 자원을 관리해야 한다 이러한 기능을 만족시키기 위해

DSP 계열의 32비트 부동소수점 연산이 가능하고 ANSI-C 언어 개발환

경을 지원하는 TI사의 TMS320C31을 채택하였다 표 2-2는 프로세서의

주요 기능과 특징을 나타낸다[4]

표 2-2 메인 프로세서의 특징

항 목 기능 및 특징 비 고

개 요 32비트 부동소수점 연산

처리속도

클럭 주파수 50MHz

단일 사이클 명령어 처리 시간

40ns

20MIPS 40MFLOPS의 처리 속도

(주의)실제 입력 주파

수는 40MHz이므로 처

리 시간은 50ns이다

명령어32비트 명령어 32비트 데이터 24

비트 주소

메모리

2개의 1k times 32비트 내부 RAM

64 times 32비트 명령 캐시

16M times 32비트의 외보 확장 메모

리 영역

마이크로 프로세서모드

마이크로 컴퓨터모드

IO

DMA 제어기

2개의 32비트 타이머

4개의 외부 인터럽트

1개의 시리얼 포트

- 8 -

23 메모리

메모리는 메인 프로세서의 내부 메모리 이외에 사용자를 위한 외부 메

모리(Flash ROM SRAM)을 추가하였다 내부 메모리는 개발단계에서 시

스템 디버깅용으로 사용되고 시스템 부팅시 외부 메모리 검사에 사용된

다 외부 메모리는 256kbyte Flash ROM 2개와 256kword SRAM 2개로

구성된다 플래시 메모리는 데이터OS응용프로그램을 저장하게 되고

SRAM은 프로그램이 동작할 수 있는 공간을 제공한다 표 2-3은 비행제

어 컴퓨터의 외부 메모리 사양을 나타낸다

표 2-3 메모리 사양

SRAM ROM FIFO

크 기 256kword 512kbyte 512byte

동작속도 10ns 120ns 12ns

동작온도 -40 ~ +80

용 도 프로그램 실행 프로그램 저장 버퍼

외부 메모리인터페이스는 각각 32 16 8비트로 접속할 수 있다 비행

제어 컴퓨터는 시스템 부팅용 플래시 메모리를 8비트로 프로그램 실행에

사용되는 SRAM을 32비트로 접속하였다 플래시 메모리는 두개의 물리적

인 메모리 공간을 각각 8비트로 연결하였으므로 독립적으로 각각의 메모

리에 접근할 수 있다 두 개의 플래시 메모리는 1 2로 구분되고 그 사

용 예로는 1은 시스템 개발 시스템 부팅 시스템 모니터링 프로그램을

2에는 비행제어 컴퓨터가 사용하게 될 응용프로그램을 탑재하는 공간으

로 사용하게 된다 이러한 두 개의 플래시 메모리 공간에서 2는 사용자

의 취향에 맞게 다양한 정보를 저장해서 사용할 수 있다 SRAM은 프로

그램이 동작하는 공간으로서 32비트 DSP의 장점을 최대로 활용할 수 있

도록 16비트의 물리적인 메모리를 32비트로 연결하였다 그림 2-3은 외

부 메모리 인터페이스를 나타낸다

- 9 -

그림 2-3 외부 메모리 인터페이스

그림 2-4 양방향 FIFO 구성

비행제어 컴퓨터는 연산을 담당하는 메인 프로세서와 통신을 담당하는

버스제어기로 구성되어 있으며 각각은 이종의 프로세서(TMS320C31

C8051F021)로 구성되어 있다 그렇기 때문에 원활한 데이터 공유를 위

해 FIFO 메모리를 양방향 버퍼로 사용하였다 FIFO 메모리의 데이터 흐

름은 양쪽의 프로세서에서 Full FlagEmpty Flag를 이용해 제어한다

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 2 -

계 기법을 적용한다 고장 방지는 고장 발생 원인을 줄임으로서 고장의

발생을 미연에 방지하는 것이고 고장 허용은 만약 시스템에 고장이 발생

하였을 경우 이 고장으로 인해 전체 시스템의 고장으로 발전하는 것을 방

지하는 것이다 고장 방지 설계에서는 설계 동향을 분석하고 고품질의 부

품을 선택하여 사용하고 접지와 단열을 고려하여 외부 환경에 대한 고장

원인도 미연에 방어할 수 있어야 한다 고장 허용 설계는 하드웨어 중복

구조를 바탕으로 고장의 검출분리재구성의 과정을 수행할 수 있는 하드

웨어 자원을 포함한다 시스템 평가 단계에서는 설계된 시스템이 초기 요

구사항에 얼마나 적절하게 부합하는지 고장율과 신뢰도를 분석하여 평가

한다

그림 1-1 연구 흐름도

- 3 -

2 비행제어 컴퓨터 설계

무인항공기에 적용되는 비행제어 컴퓨터는 항공기의 자세 위치 고도

및 공력 데이터를 수집하여 명령으로 주어진 비행 상태와 현재의 상태를

비교하고 비행제어 법칙을 적용하여 수동자동 모드에 적합한 조종면 제

어 신호를 출력한다 이러한 비행제어 컴퓨터는 탑재 소프트웨어를 쉽게

변경할 수 있어야 하며 구조가 간단하고 높은 신뢰성을 확보해야 한다

그림 2-1은 PC-104 타입의 CPU 모듈을 나타낸다 이러한 모듈은 세

계 규격품으로 정의되어져 있고 상용 제품으로 많이 유통되고 있다 그리

고 Matlab 개발 툴을 이용하여 비행제어에 관련된 소프트웨어 작성이 용

이하다 다양한 사용자 인터페이스를 제공 하고 있어 현재 무인항공기에

가장 많이 사용되고 있는 추세에 있다

그림 2-1 PC-104 CPU 모듈

이러한 장점에도 불구하고 본 연구를 통해 별도의 비행제어 컴퓨터를

개발하고 다중구조를 채택하게 된 이유는 다음과 같다 우선 전 세계 시

장에 판매되고 있는 제품군은 많지만 국내에서 유통되는 제품군은 지극히

제한적이고 이에 따라 유지 및 보수에 상당한 시간과 비용이 추가된다

두 번째로 소비전류가 비교적 높다 상용 제품의 경우 인텔 계열의

386486 프로세서를 메인으로 사용하고 있다 따라서 상용 제품에서 프

로세서 모듈의 소비전류는 1~2A 정도로 상당히 높게 차지한다 만약 지

상 장비에 적용되는 프로세서 모듈일 경우 지상에서 일정한 전원을 공급

- 4 -

받을 수 있지만 무인항공기에 탑재되는 비행제어 컴퓨터의 경우 전원은

배터리로부터 공급받기 때문에 전원에 대하여 상당히 제한적이다

세 번째로 확장이 용이하지 않고 RS-485 통신 인터페이스를 지원하

지 않는다 RS-485 통신은 본 연구의 궁극적인 목적인 무인항공기용 비

행제어 시스템이 적용하고 있는 통신 체계이다 하지만 기존의 프로세서

모듈은 USB RS-232 LAN 등과 같은 PC용 인터페이스는 광범위하게

제공 하지만 RS-485422 CAN 등과 같은 산업용 인터페이스의 제공은

보편적이지 않다

마지막으로 시스템의 신뢰성을 관리하고 중복구조 시스템을 구성하기

위해 상당한 제약 조건이 따른다 시스템의 높은 신뢰성을 확보하기 위해

서는 부품관리공정관리 등이 필요하고 특히 부품의 구입부터 주의를 기

울여야 하며 외부 노이즈로부터 시스템을 방어하기 위한 차단 수단을 설

계에 반영하여야 한다 그리고 중복구조 구성을 위해서도 적절한 중복구

조 인터페이스를 포함하고 있어야 한다

위에서 언급된 여러 가지 장단점을 비교하고 분석하여 본 논문에서는

시스템의 높은 신뢰도를 확보하기 위하여 이중구조 구성이 가능한 비행제

어 컴퓨터를 설계하기 위한 요구사항을 도출하였다[1 2 3]

21 요구 사항 및 구성

비행제어 컴퓨터는 주변장치와의 데이터 통신을 담당하는 통신 드라이

버(RS-485 RS-232) 디지털 입출력 장치 아날로그 입력 PWM 출력

등의 사용자 입출력 인터페이스와 시스템의 확장 및 다중화 구조를 위한

여분의 확장 인터페이스 시스템 디버깅용 인터페이스 그리고 전원부가

요구된다

사용 환경에 대한 요구조건은 무인항공기가 비록 유인항공기와 같은

고고도에서 사용되지 않지만 연교차 및 일교차와 같이 계절 변화에 따른

심한 환경변화를 고려하여 모든 부품을 산업용(-40 ~ +80) 규격에

적합한 부품을 사용한다 표 2-1은 요구사항에 의한 비행제어 컴퓨터의

제원을 나타낸다

- 5 -

표 2-1 비행제어 컴퓨터 제원

CPU TMS320C31 C8051

System Clock 40MHz 24MHz

ROM 512kbyte (256k times 8bit times 2)

RAM 256kword (256k times 16bit times 2)

FIFO 512byte times 2

통신RS-485(2채널)

RS-232(1채널)

시스템 감시DSP H1 외부 워치독

BC 내부 워치독

디지털 입출력 8채널

PWM 출력 8채널

외부 인터럽트 4채널

아날로그 입력 8채널

시스템 전원 +33vdc +5vdc

입력 전원 +75vdc ~ +20vdc

소비 전류 MAX 500mA

작동 온도 -40 ~ +85

BIT 모듈 이중구조 임무전환 스위치

EPLD program JTAG port

BC(F021) program JTAG port

DSP Emulator port

비행제어 컴퓨터는 메인 프로세서로 DSP를 사용하였고 주변장치 인터

페이스를 위해 PLD를 사용하였으며 버스제어기와 메모리 전원장치 등

으로 구성하였다 그리고 중복구조는 주시스템과 종시스템으로 이루어진

이중구조를 기본으로 한다 이중구조 시스템은 동일한 소프트웨어를 탑재

하고 있는 동종의 비행제어 컴퓨터 2대로 구성된다 그림 2-2는 비행제

어 컴퓨터의 구성을 나타낸다

- 6 -

그림 2-2 비행제어 컴퓨터 구성

- 7 -

22 프로세서

비행에서 컴퓨터에 사용되는 메인 프로세서는 제한된 시간(20msec)

내에 비행제어법칙의 연산에 따른 제어 신호를 출력하고 주변장치(RT

Remote Terminal)와의 원활한 데이터 송수신 기능 및 시스템을 구성하

고 있는 하드웨어 자원을 관리해야 한다 이러한 기능을 만족시키기 위해

DSP 계열의 32비트 부동소수점 연산이 가능하고 ANSI-C 언어 개발환

경을 지원하는 TI사의 TMS320C31을 채택하였다 표 2-2는 프로세서의

주요 기능과 특징을 나타낸다[4]

표 2-2 메인 프로세서의 특징

항 목 기능 및 특징 비 고

개 요 32비트 부동소수점 연산

처리속도

클럭 주파수 50MHz

단일 사이클 명령어 처리 시간

40ns

20MIPS 40MFLOPS의 처리 속도

(주의)실제 입력 주파

수는 40MHz이므로 처

리 시간은 50ns이다

명령어32비트 명령어 32비트 데이터 24

비트 주소

메모리

2개의 1k times 32비트 내부 RAM

64 times 32비트 명령 캐시

16M times 32비트의 외보 확장 메모

리 영역

마이크로 프로세서모드

마이크로 컴퓨터모드

IO

DMA 제어기

2개의 32비트 타이머

4개의 외부 인터럽트

1개의 시리얼 포트

- 8 -

23 메모리

메모리는 메인 프로세서의 내부 메모리 이외에 사용자를 위한 외부 메

모리(Flash ROM SRAM)을 추가하였다 내부 메모리는 개발단계에서 시

스템 디버깅용으로 사용되고 시스템 부팅시 외부 메모리 검사에 사용된

다 외부 메모리는 256kbyte Flash ROM 2개와 256kword SRAM 2개로

구성된다 플래시 메모리는 데이터OS응용프로그램을 저장하게 되고

SRAM은 프로그램이 동작할 수 있는 공간을 제공한다 표 2-3은 비행제

어 컴퓨터의 외부 메모리 사양을 나타낸다

표 2-3 메모리 사양

SRAM ROM FIFO

크 기 256kword 512kbyte 512byte

동작속도 10ns 120ns 12ns

동작온도 -40 ~ +80

용 도 프로그램 실행 프로그램 저장 버퍼

외부 메모리인터페이스는 각각 32 16 8비트로 접속할 수 있다 비행

제어 컴퓨터는 시스템 부팅용 플래시 메모리를 8비트로 프로그램 실행에

사용되는 SRAM을 32비트로 접속하였다 플래시 메모리는 두개의 물리적

인 메모리 공간을 각각 8비트로 연결하였으므로 독립적으로 각각의 메모

리에 접근할 수 있다 두 개의 플래시 메모리는 1 2로 구분되고 그 사

용 예로는 1은 시스템 개발 시스템 부팅 시스템 모니터링 프로그램을

2에는 비행제어 컴퓨터가 사용하게 될 응용프로그램을 탑재하는 공간으

로 사용하게 된다 이러한 두 개의 플래시 메모리 공간에서 2는 사용자

의 취향에 맞게 다양한 정보를 저장해서 사용할 수 있다 SRAM은 프로

그램이 동작하는 공간으로서 32비트 DSP의 장점을 최대로 활용할 수 있

도록 16비트의 물리적인 메모리를 32비트로 연결하였다 그림 2-3은 외

부 메모리 인터페이스를 나타낸다

- 9 -

그림 2-3 외부 메모리 인터페이스

그림 2-4 양방향 FIFO 구성

비행제어 컴퓨터는 연산을 담당하는 메인 프로세서와 통신을 담당하는

버스제어기로 구성되어 있으며 각각은 이종의 프로세서(TMS320C31

C8051F021)로 구성되어 있다 그렇기 때문에 원활한 데이터 공유를 위

해 FIFO 메모리를 양방향 버퍼로 사용하였다 FIFO 메모리의 데이터 흐

름은 양쪽의 프로세서에서 Full FlagEmpty Flag를 이용해 제어한다

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 3 -

2 비행제어 컴퓨터 설계

무인항공기에 적용되는 비행제어 컴퓨터는 항공기의 자세 위치 고도

및 공력 데이터를 수집하여 명령으로 주어진 비행 상태와 현재의 상태를

비교하고 비행제어 법칙을 적용하여 수동자동 모드에 적합한 조종면 제

어 신호를 출력한다 이러한 비행제어 컴퓨터는 탑재 소프트웨어를 쉽게

변경할 수 있어야 하며 구조가 간단하고 높은 신뢰성을 확보해야 한다

그림 2-1은 PC-104 타입의 CPU 모듈을 나타낸다 이러한 모듈은 세

계 규격품으로 정의되어져 있고 상용 제품으로 많이 유통되고 있다 그리

고 Matlab 개발 툴을 이용하여 비행제어에 관련된 소프트웨어 작성이 용

이하다 다양한 사용자 인터페이스를 제공 하고 있어 현재 무인항공기에

가장 많이 사용되고 있는 추세에 있다

그림 2-1 PC-104 CPU 모듈

이러한 장점에도 불구하고 본 연구를 통해 별도의 비행제어 컴퓨터를

개발하고 다중구조를 채택하게 된 이유는 다음과 같다 우선 전 세계 시

장에 판매되고 있는 제품군은 많지만 국내에서 유통되는 제품군은 지극히

제한적이고 이에 따라 유지 및 보수에 상당한 시간과 비용이 추가된다

두 번째로 소비전류가 비교적 높다 상용 제품의 경우 인텔 계열의

386486 프로세서를 메인으로 사용하고 있다 따라서 상용 제품에서 프

로세서 모듈의 소비전류는 1~2A 정도로 상당히 높게 차지한다 만약 지

상 장비에 적용되는 프로세서 모듈일 경우 지상에서 일정한 전원을 공급

- 4 -

받을 수 있지만 무인항공기에 탑재되는 비행제어 컴퓨터의 경우 전원은

배터리로부터 공급받기 때문에 전원에 대하여 상당히 제한적이다

세 번째로 확장이 용이하지 않고 RS-485 통신 인터페이스를 지원하

지 않는다 RS-485 통신은 본 연구의 궁극적인 목적인 무인항공기용 비

행제어 시스템이 적용하고 있는 통신 체계이다 하지만 기존의 프로세서

모듈은 USB RS-232 LAN 등과 같은 PC용 인터페이스는 광범위하게

제공 하지만 RS-485422 CAN 등과 같은 산업용 인터페이스의 제공은

보편적이지 않다

마지막으로 시스템의 신뢰성을 관리하고 중복구조 시스템을 구성하기

위해 상당한 제약 조건이 따른다 시스템의 높은 신뢰성을 확보하기 위해

서는 부품관리공정관리 등이 필요하고 특히 부품의 구입부터 주의를 기

울여야 하며 외부 노이즈로부터 시스템을 방어하기 위한 차단 수단을 설

계에 반영하여야 한다 그리고 중복구조 구성을 위해서도 적절한 중복구

조 인터페이스를 포함하고 있어야 한다

위에서 언급된 여러 가지 장단점을 비교하고 분석하여 본 논문에서는

시스템의 높은 신뢰도를 확보하기 위하여 이중구조 구성이 가능한 비행제

어 컴퓨터를 설계하기 위한 요구사항을 도출하였다[1 2 3]

21 요구 사항 및 구성

비행제어 컴퓨터는 주변장치와의 데이터 통신을 담당하는 통신 드라이

버(RS-485 RS-232) 디지털 입출력 장치 아날로그 입력 PWM 출력

등의 사용자 입출력 인터페이스와 시스템의 확장 및 다중화 구조를 위한

여분의 확장 인터페이스 시스템 디버깅용 인터페이스 그리고 전원부가

요구된다

사용 환경에 대한 요구조건은 무인항공기가 비록 유인항공기와 같은

고고도에서 사용되지 않지만 연교차 및 일교차와 같이 계절 변화에 따른

심한 환경변화를 고려하여 모든 부품을 산업용(-40 ~ +80) 규격에

적합한 부품을 사용한다 표 2-1은 요구사항에 의한 비행제어 컴퓨터의

제원을 나타낸다

- 5 -

표 2-1 비행제어 컴퓨터 제원

CPU TMS320C31 C8051

System Clock 40MHz 24MHz

ROM 512kbyte (256k times 8bit times 2)

RAM 256kword (256k times 16bit times 2)

FIFO 512byte times 2

통신RS-485(2채널)

RS-232(1채널)

시스템 감시DSP H1 외부 워치독

BC 내부 워치독

디지털 입출력 8채널

PWM 출력 8채널

외부 인터럽트 4채널

아날로그 입력 8채널

시스템 전원 +33vdc +5vdc

입력 전원 +75vdc ~ +20vdc

소비 전류 MAX 500mA

작동 온도 -40 ~ +85

BIT 모듈 이중구조 임무전환 스위치

EPLD program JTAG port

BC(F021) program JTAG port

DSP Emulator port

비행제어 컴퓨터는 메인 프로세서로 DSP를 사용하였고 주변장치 인터

페이스를 위해 PLD를 사용하였으며 버스제어기와 메모리 전원장치 등

으로 구성하였다 그리고 중복구조는 주시스템과 종시스템으로 이루어진

이중구조를 기본으로 한다 이중구조 시스템은 동일한 소프트웨어를 탑재

하고 있는 동종의 비행제어 컴퓨터 2대로 구성된다 그림 2-2는 비행제

어 컴퓨터의 구성을 나타낸다

- 6 -

그림 2-2 비행제어 컴퓨터 구성

- 7 -

22 프로세서

비행에서 컴퓨터에 사용되는 메인 프로세서는 제한된 시간(20msec)

내에 비행제어법칙의 연산에 따른 제어 신호를 출력하고 주변장치(RT

Remote Terminal)와의 원활한 데이터 송수신 기능 및 시스템을 구성하

고 있는 하드웨어 자원을 관리해야 한다 이러한 기능을 만족시키기 위해

DSP 계열의 32비트 부동소수점 연산이 가능하고 ANSI-C 언어 개발환

경을 지원하는 TI사의 TMS320C31을 채택하였다 표 2-2는 프로세서의

주요 기능과 특징을 나타낸다[4]

표 2-2 메인 프로세서의 특징

항 목 기능 및 특징 비 고

개 요 32비트 부동소수점 연산

처리속도

클럭 주파수 50MHz

단일 사이클 명령어 처리 시간

40ns

20MIPS 40MFLOPS의 처리 속도

(주의)실제 입력 주파

수는 40MHz이므로 처

리 시간은 50ns이다

명령어32비트 명령어 32비트 데이터 24

비트 주소

메모리

2개의 1k times 32비트 내부 RAM

64 times 32비트 명령 캐시

16M times 32비트의 외보 확장 메모

리 영역

마이크로 프로세서모드

마이크로 컴퓨터모드

IO

DMA 제어기

2개의 32비트 타이머

4개의 외부 인터럽트

1개의 시리얼 포트

- 8 -

23 메모리

메모리는 메인 프로세서의 내부 메모리 이외에 사용자를 위한 외부 메

모리(Flash ROM SRAM)을 추가하였다 내부 메모리는 개발단계에서 시

스템 디버깅용으로 사용되고 시스템 부팅시 외부 메모리 검사에 사용된

다 외부 메모리는 256kbyte Flash ROM 2개와 256kword SRAM 2개로

구성된다 플래시 메모리는 데이터OS응용프로그램을 저장하게 되고

SRAM은 프로그램이 동작할 수 있는 공간을 제공한다 표 2-3은 비행제

어 컴퓨터의 외부 메모리 사양을 나타낸다

표 2-3 메모리 사양

SRAM ROM FIFO

크 기 256kword 512kbyte 512byte

동작속도 10ns 120ns 12ns

동작온도 -40 ~ +80

용 도 프로그램 실행 프로그램 저장 버퍼

외부 메모리인터페이스는 각각 32 16 8비트로 접속할 수 있다 비행

제어 컴퓨터는 시스템 부팅용 플래시 메모리를 8비트로 프로그램 실행에

사용되는 SRAM을 32비트로 접속하였다 플래시 메모리는 두개의 물리적

인 메모리 공간을 각각 8비트로 연결하였으므로 독립적으로 각각의 메모

리에 접근할 수 있다 두 개의 플래시 메모리는 1 2로 구분되고 그 사

용 예로는 1은 시스템 개발 시스템 부팅 시스템 모니터링 프로그램을

2에는 비행제어 컴퓨터가 사용하게 될 응용프로그램을 탑재하는 공간으

로 사용하게 된다 이러한 두 개의 플래시 메모리 공간에서 2는 사용자

의 취향에 맞게 다양한 정보를 저장해서 사용할 수 있다 SRAM은 프로

그램이 동작하는 공간으로서 32비트 DSP의 장점을 최대로 활용할 수 있

도록 16비트의 물리적인 메모리를 32비트로 연결하였다 그림 2-3은 외

부 메모리 인터페이스를 나타낸다

- 9 -

그림 2-3 외부 메모리 인터페이스

그림 2-4 양방향 FIFO 구성

비행제어 컴퓨터는 연산을 담당하는 메인 프로세서와 통신을 담당하는

버스제어기로 구성되어 있으며 각각은 이종의 프로세서(TMS320C31

C8051F021)로 구성되어 있다 그렇기 때문에 원활한 데이터 공유를 위

해 FIFO 메모리를 양방향 버퍼로 사용하였다 FIFO 메모리의 데이터 흐

름은 양쪽의 프로세서에서 Full FlagEmpty Flag를 이용해 제어한다

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 4 -

받을 수 있지만 무인항공기에 탑재되는 비행제어 컴퓨터의 경우 전원은

배터리로부터 공급받기 때문에 전원에 대하여 상당히 제한적이다

세 번째로 확장이 용이하지 않고 RS-485 통신 인터페이스를 지원하

지 않는다 RS-485 통신은 본 연구의 궁극적인 목적인 무인항공기용 비

행제어 시스템이 적용하고 있는 통신 체계이다 하지만 기존의 프로세서

모듈은 USB RS-232 LAN 등과 같은 PC용 인터페이스는 광범위하게

제공 하지만 RS-485422 CAN 등과 같은 산업용 인터페이스의 제공은

보편적이지 않다

마지막으로 시스템의 신뢰성을 관리하고 중복구조 시스템을 구성하기

위해 상당한 제약 조건이 따른다 시스템의 높은 신뢰성을 확보하기 위해

서는 부품관리공정관리 등이 필요하고 특히 부품의 구입부터 주의를 기

울여야 하며 외부 노이즈로부터 시스템을 방어하기 위한 차단 수단을 설

계에 반영하여야 한다 그리고 중복구조 구성을 위해서도 적절한 중복구

조 인터페이스를 포함하고 있어야 한다

위에서 언급된 여러 가지 장단점을 비교하고 분석하여 본 논문에서는

시스템의 높은 신뢰도를 확보하기 위하여 이중구조 구성이 가능한 비행제

어 컴퓨터를 설계하기 위한 요구사항을 도출하였다[1 2 3]

21 요구 사항 및 구성

비행제어 컴퓨터는 주변장치와의 데이터 통신을 담당하는 통신 드라이

버(RS-485 RS-232) 디지털 입출력 장치 아날로그 입력 PWM 출력

등의 사용자 입출력 인터페이스와 시스템의 확장 및 다중화 구조를 위한

여분의 확장 인터페이스 시스템 디버깅용 인터페이스 그리고 전원부가

요구된다

사용 환경에 대한 요구조건은 무인항공기가 비록 유인항공기와 같은

고고도에서 사용되지 않지만 연교차 및 일교차와 같이 계절 변화에 따른

심한 환경변화를 고려하여 모든 부품을 산업용(-40 ~ +80) 규격에

적합한 부품을 사용한다 표 2-1은 요구사항에 의한 비행제어 컴퓨터의

제원을 나타낸다

- 5 -

표 2-1 비행제어 컴퓨터 제원

CPU TMS320C31 C8051

System Clock 40MHz 24MHz

ROM 512kbyte (256k times 8bit times 2)

RAM 256kword (256k times 16bit times 2)

FIFO 512byte times 2

통신RS-485(2채널)

RS-232(1채널)

시스템 감시DSP H1 외부 워치독

BC 내부 워치독

디지털 입출력 8채널

PWM 출력 8채널

외부 인터럽트 4채널

아날로그 입력 8채널

시스템 전원 +33vdc +5vdc

입력 전원 +75vdc ~ +20vdc

소비 전류 MAX 500mA

작동 온도 -40 ~ +85

BIT 모듈 이중구조 임무전환 스위치

EPLD program JTAG port

BC(F021) program JTAG port

DSP Emulator port

비행제어 컴퓨터는 메인 프로세서로 DSP를 사용하였고 주변장치 인터

페이스를 위해 PLD를 사용하였으며 버스제어기와 메모리 전원장치 등

으로 구성하였다 그리고 중복구조는 주시스템과 종시스템으로 이루어진

이중구조를 기본으로 한다 이중구조 시스템은 동일한 소프트웨어를 탑재

하고 있는 동종의 비행제어 컴퓨터 2대로 구성된다 그림 2-2는 비행제

어 컴퓨터의 구성을 나타낸다

- 6 -

그림 2-2 비행제어 컴퓨터 구성

- 7 -

22 프로세서

비행에서 컴퓨터에 사용되는 메인 프로세서는 제한된 시간(20msec)

내에 비행제어법칙의 연산에 따른 제어 신호를 출력하고 주변장치(RT

Remote Terminal)와의 원활한 데이터 송수신 기능 및 시스템을 구성하

고 있는 하드웨어 자원을 관리해야 한다 이러한 기능을 만족시키기 위해

DSP 계열의 32비트 부동소수점 연산이 가능하고 ANSI-C 언어 개발환

경을 지원하는 TI사의 TMS320C31을 채택하였다 표 2-2는 프로세서의

주요 기능과 특징을 나타낸다[4]

표 2-2 메인 프로세서의 특징

항 목 기능 및 특징 비 고

개 요 32비트 부동소수점 연산

처리속도

클럭 주파수 50MHz

단일 사이클 명령어 처리 시간

40ns

20MIPS 40MFLOPS의 처리 속도

(주의)실제 입력 주파

수는 40MHz이므로 처

리 시간은 50ns이다

명령어32비트 명령어 32비트 데이터 24

비트 주소

메모리

2개의 1k times 32비트 내부 RAM

64 times 32비트 명령 캐시

16M times 32비트의 외보 확장 메모

리 영역

마이크로 프로세서모드

마이크로 컴퓨터모드

IO

DMA 제어기

2개의 32비트 타이머

4개의 외부 인터럽트

1개의 시리얼 포트

- 8 -

23 메모리

메모리는 메인 프로세서의 내부 메모리 이외에 사용자를 위한 외부 메

모리(Flash ROM SRAM)을 추가하였다 내부 메모리는 개발단계에서 시

스템 디버깅용으로 사용되고 시스템 부팅시 외부 메모리 검사에 사용된

다 외부 메모리는 256kbyte Flash ROM 2개와 256kword SRAM 2개로

구성된다 플래시 메모리는 데이터OS응용프로그램을 저장하게 되고

SRAM은 프로그램이 동작할 수 있는 공간을 제공한다 표 2-3은 비행제

어 컴퓨터의 외부 메모리 사양을 나타낸다

표 2-3 메모리 사양

SRAM ROM FIFO

크 기 256kword 512kbyte 512byte

동작속도 10ns 120ns 12ns

동작온도 -40 ~ +80

용 도 프로그램 실행 프로그램 저장 버퍼

외부 메모리인터페이스는 각각 32 16 8비트로 접속할 수 있다 비행

제어 컴퓨터는 시스템 부팅용 플래시 메모리를 8비트로 프로그램 실행에

사용되는 SRAM을 32비트로 접속하였다 플래시 메모리는 두개의 물리적

인 메모리 공간을 각각 8비트로 연결하였으므로 독립적으로 각각의 메모

리에 접근할 수 있다 두 개의 플래시 메모리는 1 2로 구분되고 그 사

용 예로는 1은 시스템 개발 시스템 부팅 시스템 모니터링 프로그램을

2에는 비행제어 컴퓨터가 사용하게 될 응용프로그램을 탑재하는 공간으

로 사용하게 된다 이러한 두 개의 플래시 메모리 공간에서 2는 사용자

의 취향에 맞게 다양한 정보를 저장해서 사용할 수 있다 SRAM은 프로

그램이 동작하는 공간으로서 32비트 DSP의 장점을 최대로 활용할 수 있

도록 16비트의 물리적인 메모리를 32비트로 연결하였다 그림 2-3은 외

부 메모리 인터페이스를 나타낸다

- 9 -

그림 2-3 외부 메모리 인터페이스

그림 2-4 양방향 FIFO 구성

비행제어 컴퓨터는 연산을 담당하는 메인 프로세서와 통신을 담당하는

버스제어기로 구성되어 있으며 각각은 이종의 프로세서(TMS320C31

C8051F021)로 구성되어 있다 그렇기 때문에 원활한 데이터 공유를 위

해 FIFO 메모리를 양방향 버퍼로 사용하였다 FIFO 메모리의 데이터 흐

름은 양쪽의 프로세서에서 Full FlagEmpty Flag를 이용해 제어한다

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 5 -

표 2-1 비행제어 컴퓨터 제원

CPU TMS320C31 C8051

System Clock 40MHz 24MHz

ROM 512kbyte (256k times 8bit times 2)

RAM 256kword (256k times 16bit times 2)

FIFO 512byte times 2

통신RS-485(2채널)

RS-232(1채널)

시스템 감시DSP H1 외부 워치독

BC 내부 워치독

디지털 입출력 8채널

PWM 출력 8채널

외부 인터럽트 4채널

아날로그 입력 8채널

시스템 전원 +33vdc +5vdc

입력 전원 +75vdc ~ +20vdc

소비 전류 MAX 500mA

작동 온도 -40 ~ +85

BIT 모듈 이중구조 임무전환 스위치

EPLD program JTAG port

BC(F021) program JTAG port

DSP Emulator port

비행제어 컴퓨터는 메인 프로세서로 DSP를 사용하였고 주변장치 인터

페이스를 위해 PLD를 사용하였으며 버스제어기와 메모리 전원장치 등

으로 구성하였다 그리고 중복구조는 주시스템과 종시스템으로 이루어진

이중구조를 기본으로 한다 이중구조 시스템은 동일한 소프트웨어를 탑재

하고 있는 동종의 비행제어 컴퓨터 2대로 구성된다 그림 2-2는 비행제

어 컴퓨터의 구성을 나타낸다

- 6 -

그림 2-2 비행제어 컴퓨터 구성

- 7 -

22 프로세서

비행에서 컴퓨터에 사용되는 메인 프로세서는 제한된 시간(20msec)

내에 비행제어법칙의 연산에 따른 제어 신호를 출력하고 주변장치(RT

Remote Terminal)와의 원활한 데이터 송수신 기능 및 시스템을 구성하

고 있는 하드웨어 자원을 관리해야 한다 이러한 기능을 만족시키기 위해

DSP 계열의 32비트 부동소수점 연산이 가능하고 ANSI-C 언어 개발환

경을 지원하는 TI사의 TMS320C31을 채택하였다 표 2-2는 프로세서의

주요 기능과 특징을 나타낸다[4]

표 2-2 메인 프로세서의 특징

항 목 기능 및 특징 비 고

개 요 32비트 부동소수점 연산

처리속도

클럭 주파수 50MHz

단일 사이클 명령어 처리 시간

40ns

20MIPS 40MFLOPS의 처리 속도

(주의)실제 입력 주파

수는 40MHz이므로 처

리 시간은 50ns이다

명령어32비트 명령어 32비트 데이터 24

비트 주소

메모리

2개의 1k times 32비트 내부 RAM

64 times 32비트 명령 캐시

16M times 32비트의 외보 확장 메모

리 영역

마이크로 프로세서모드

마이크로 컴퓨터모드

IO

DMA 제어기

2개의 32비트 타이머

4개의 외부 인터럽트

1개의 시리얼 포트

- 8 -

23 메모리

메모리는 메인 프로세서의 내부 메모리 이외에 사용자를 위한 외부 메

모리(Flash ROM SRAM)을 추가하였다 내부 메모리는 개발단계에서 시

스템 디버깅용으로 사용되고 시스템 부팅시 외부 메모리 검사에 사용된

다 외부 메모리는 256kbyte Flash ROM 2개와 256kword SRAM 2개로

구성된다 플래시 메모리는 데이터OS응용프로그램을 저장하게 되고

SRAM은 프로그램이 동작할 수 있는 공간을 제공한다 표 2-3은 비행제

어 컴퓨터의 외부 메모리 사양을 나타낸다

표 2-3 메모리 사양

SRAM ROM FIFO

크 기 256kword 512kbyte 512byte

동작속도 10ns 120ns 12ns

동작온도 -40 ~ +80

용 도 프로그램 실행 프로그램 저장 버퍼

외부 메모리인터페이스는 각각 32 16 8비트로 접속할 수 있다 비행

제어 컴퓨터는 시스템 부팅용 플래시 메모리를 8비트로 프로그램 실행에

사용되는 SRAM을 32비트로 접속하였다 플래시 메모리는 두개의 물리적

인 메모리 공간을 각각 8비트로 연결하였으므로 독립적으로 각각의 메모

리에 접근할 수 있다 두 개의 플래시 메모리는 1 2로 구분되고 그 사

용 예로는 1은 시스템 개발 시스템 부팅 시스템 모니터링 프로그램을

2에는 비행제어 컴퓨터가 사용하게 될 응용프로그램을 탑재하는 공간으

로 사용하게 된다 이러한 두 개의 플래시 메모리 공간에서 2는 사용자

의 취향에 맞게 다양한 정보를 저장해서 사용할 수 있다 SRAM은 프로

그램이 동작하는 공간으로서 32비트 DSP의 장점을 최대로 활용할 수 있

도록 16비트의 물리적인 메모리를 32비트로 연결하였다 그림 2-3은 외

부 메모리 인터페이스를 나타낸다

- 9 -

그림 2-3 외부 메모리 인터페이스

그림 2-4 양방향 FIFO 구성

비행제어 컴퓨터는 연산을 담당하는 메인 프로세서와 통신을 담당하는

버스제어기로 구성되어 있으며 각각은 이종의 프로세서(TMS320C31

C8051F021)로 구성되어 있다 그렇기 때문에 원활한 데이터 공유를 위

해 FIFO 메모리를 양방향 버퍼로 사용하였다 FIFO 메모리의 데이터 흐

름은 양쪽의 프로세서에서 Full FlagEmpty Flag를 이용해 제어한다

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 6 -

그림 2-2 비행제어 컴퓨터 구성

- 7 -

22 프로세서

비행에서 컴퓨터에 사용되는 메인 프로세서는 제한된 시간(20msec)

내에 비행제어법칙의 연산에 따른 제어 신호를 출력하고 주변장치(RT

Remote Terminal)와의 원활한 데이터 송수신 기능 및 시스템을 구성하

고 있는 하드웨어 자원을 관리해야 한다 이러한 기능을 만족시키기 위해

DSP 계열의 32비트 부동소수점 연산이 가능하고 ANSI-C 언어 개발환

경을 지원하는 TI사의 TMS320C31을 채택하였다 표 2-2는 프로세서의

주요 기능과 특징을 나타낸다[4]

표 2-2 메인 프로세서의 특징

항 목 기능 및 특징 비 고

개 요 32비트 부동소수점 연산

처리속도

클럭 주파수 50MHz

단일 사이클 명령어 처리 시간

40ns

20MIPS 40MFLOPS의 처리 속도

(주의)실제 입력 주파

수는 40MHz이므로 처

리 시간은 50ns이다

명령어32비트 명령어 32비트 데이터 24

비트 주소

메모리

2개의 1k times 32비트 내부 RAM

64 times 32비트 명령 캐시

16M times 32비트의 외보 확장 메모

리 영역

마이크로 프로세서모드

마이크로 컴퓨터모드

IO

DMA 제어기

2개의 32비트 타이머

4개의 외부 인터럽트

1개의 시리얼 포트

- 8 -

23 메모리

메모리는 메인 프로세서의 내부 메모리 이외에 사용자를 위한 외부 메

모리(Flash ROM SRAM)을 추가하였다 내부 메모리는 개발단계에서 시

스템 디버깅용으로 사용되고 시스템 부팅시 외부 메모리 검사에 사용된

다 외부 메모리는 256kbyte Flash ROM 2개와 256kword SRAM 2개로

구성된다 플래시 메모리는 데이터OS응용프로그램을 저장하게 되고

SRAM은 프로그램이 동작할 수 있는 공간을 제공한다 표 2-3은 비행제

어 컴퓨터의 외부 메모리 사양을 나타낸다

표 2-3 메모리 사양

SRAM ROM FIFO

크 기 256kword 512kbyte 512byte

동작속도 10ns 120ns 12ns

동작온도 -40 ~ +80

용 도 프로그램 실행 프로그램 저장 버퍼

외부 메모리인터페이스는 각각 32 16 8비트로 접속할 수 있다 비행

제어 컴퓨터는 시스템 부팅용 플래시 메모리를 8비트로 프로그램 실행에

사용되는 SRAM을 32비트로 접속하였다 플래시 메모리는 두개의 물리적

인 메모리 공간을 각각 8비트로 연결하였으므로 독립적으로 각각의 메모

리에 접근할 수 있다 두 개의 플래시 메모리는 1 2로 구분되고 그 사

용 예로는 1은 시스템 개발 시스템 부팅 시스템 모니터링 프로그램을

2에는 비행제어 컴퓨터가 사용하게 될 응용프로그램을 탑재하는 공간으

로 사용하게 된다 이러한 두 개의 플래시 메모리 공간에서 2는 사용자

의 취향에 맞게 다양한 정보를 저장해서 사용할 수 있다 SRAM은 프로

그램이 동작하는 공간으로서 32비트 DSP의 장점을 최대로 활용할 수 있

도록 16비트의 물리적인 메모리를 32비트로 연결하였다 그림 2-3은 외

부 메모리 인터페이스를 나타낸다

- 9 -

그림 2-3 외부 메모리 인터페이스

그림 2-4 양방향 FIFO 구성

비행제어 컴퓨터는 연산을 담당하는 메인 프로세서와 통신을 담당하는

버스제어기로 구성되어 있으며 각각은 이종의 프로세서(TMS320C31

C8051F021)로 구성되어 있다 그렇기 때문에 원활한 데이터 공유를 위

해 FIFO 메모리를 양방향 버퍼로 사용하였다 FIFO 메모리의 데이터 흐

름은 양쪽의 프로세서에서 Full FlagEmpty Flag를 이용해 제어한다

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 7 -

22 프로세서

비행에서 컴퓨터에 사용되는 메인 프로세서는 제한된 시간(20msec)

내에 비행제어법칙의 연산에 따른 제어 신호를 출력하고 주변장치(RT

Remote Terminal)와의 원활한 데이터 송수신 기능 및 시스템을 구성하

고 있는 하드웨어 자원을 관리해야 한다 이러한 기능을 만족시키기 위해

DSP 계열의 32비트 부동소수점 연산이 가능하고 ANSI-C 언어 개발환

경을 지원하는 TI사의 TMS320C31을 채택하였다 표 2-2는 프로세서의

주요 기능과 특징을 나타낸다[4]

표 2-2 메인 프로세서의 특징

항 목 기능 및 특징 비 고

개 요 32비트 부동소수점 연산

처리속도

클럭 주파수 50MHz

단일 사이클 명령어 처리 시간

40ns

20MIPS 40MFLOPS의 처리 속도

(주의)실제 입력 주파

수는 40MHz이므로 처

리 시간은 50ns이다

명령어32비트 명령어 32비트 데이터 24

비트 주소

메모리

2개의 1k times 32비트 내부 RAM

64 times 32비트 명령 캐시

16M times 32비트의 외보 확장 메모

리 영역

마이크로 프로세서모드

마이크로 컴퓨터모드

IO

DMA 제어기

2개의 32비트 타이머

4개의 외부 인터럽트

1개의 시리얼 포트

- 8 -

23 메모리

메모리는 메인 프로세서의 내부 메모리 이외에 사용자를 위한 외부 메

모리(Flash ROM SRAM)을 추가하였다 내부 메모리는 개발단계에서 시

스템 디버깅용으로 사용되고 시스템 부팅시 외부 메모리 검사에 사용된

다 외부 메모리는 256kbyte Flash ROM 2개와 256kword SRAM 2개로

구성된다 플래시 메모리는 데이터OS응용프로그램을 저장하게 되고

SRAM은 프로그램이 동작할 수 있는 공간을 제공한다 표 2-3은 비행제

어 컴퓨터의 외부 메모리 사양을 나타낸다

표 2-3 메모리 사양

SRAM ROM FIFO

크 기 256kword 512kbyte 512byte

동작속도 10ns 120ns 12ns

동작온도 -40 ~ +80

용 도 프로그램 실행 프로그램 저장 버퍼

외부 메모리인터페이스는 각각 32 16 8비트로 접속할 수 있다 비행

제어 컴퓨터는 시스템 부팅용 플래시 메모리를 8비트로 프로그램 실행에

사용되는 SRAM을 32비트로 접속하였다 플래시 메모리는 두개의 물리적

인 메모리 공간을 각각 8비트로 연결하였으므로 독립적으로 각각의 메모

리에 접근할 수 있다 두 개의 플래시 메모리는 1 2로 구분되고 그 사

용 예로는 1은 시스템 개발 시스템 부팅 시스템 모니터링 프로그램을

2에는 비행제어 컴퓨터가 사용하게 될 응용프로그램을 탑재하는 공간으

로 사용하게 된다 이러한 두 개의 플래시 메모리 공간에서 2는 사용자

의 취향에 맞게 다양한 정보를 저장해서 사용할 수 있다 SRAM은 프로

그램이 동작하는 공간으로서 32비트 DSP의 장점을 최대로 활용할 수 있

도록 16비트의 물리적인 메모리를 32비트로 연결하였다 그림 2-3은 외

부 메모리 인터페이스를 나타낸다

- 9 -

그림 2-3 외부 메모리 인터페이스

그림 2-4 양방향 FIFO 구성

비행제어 컴퓨터는 연산을 담당하는 메인 프로세서와 통신을 담당하는

버스제어기로 구성되어 있으며 각각은 이종의 프로세서(TMS320C31

C8051F021)로 구성되어 있다 그렇기 때문에 원활한 데이터 공유를 위

해 FIFO 메모리를 양방향 버퍼로 사용하였다 FIFO 메모리의 데이터 흐

름은 양쪽의 프로세서에서 Full FlagEmpty Flag를 이용해 제어한다

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 8 -

23 메모리

메모리는 메인 프로세서의 내부 메모리 이외에 사용자를 위한 외부 메

모리(Flash ROM SRAM)을 추가하였다 내부 메모리는 개발단계에서 시

스템 디버깅용으로 사용되고 시스템 부팅시 외부 메모리 검사에 사용된

다 외부 메모리는 256kbyte Flash ROM 2개와 256kword SRAM 2개로

구성된다 플래시 메모리는 데이터OS응용프로그램을 저장하게 되고

SRAM은 프로그램이 동작할 수 있는 공간을 제공한다 표 2-3은 비행제

어 컴퓨터의 외부 메모리 사양을 나타낸다

표 2-3 메모리 사양

SRAM ROM FIFO

크 기 256kword 512kbyte 512byte

동작속도 10ns 120ns 12ns

동작온도 -40 ~ +80

용 도 프로그램 실행 프로그램 저장 버퍼

외부 메모리인터페이스는 각각 32 16 8비트로 접속할 수 있다 비행

제어 컴퓨터는 시스템 부팅용 플래시 메모리를 8비트로 프로그램 실행에

사용되는 SRAM을 32비트로 접속하였다 플래시 메모리는 두개의 물리적

인 메모리 공간을 각각 8비트로 연결하였으므로 독립적으로 각각의 메모

리에 접근할 수 있다 두 개의 플래시 메모리는 1 2로 구분되고 그 사

용 예로는 1은 시스템 개발 시스템 부팅 시스템 모니터링 프로그램을

2에는 비행제어 컴퓨터가 사용하게 될 응용프로그램을 탑재하는 공간으

로 사용하게 된다 이러한 두 개의 플래시 메모리 공간에서 2는 사용자

의 취향에 맞게 다양한 정보를 저장해서 사용할 수 있다 SRAM은 프로

그램이 동작하는 공간으로서 32비트 DSP의 장점을 최대로 활용할 수 있

도록 16비트의 물리적인 메모리를 32비트로 연결하였다 그림 2-3은 외

부 메모리 인터페이스를 나타낸다

- 9 -

그림 2-3 외부 메모리 인터페이스

그림 2-4 양방향 FIFO 구성

비행제어 컴퓨터는 연산을 담당하는 메인 프로세서와 통신을 담당하는

버스제어기로 구성되어 있으며 각각은 이종의 프로세서(TMS320C31

C8051F021)로 구성되어 있다 그렇기 때문에 원활한 데이터 공유를 위

해 FIFO 메모리를 양방향 버퍼로 사용하였다 FIFO 메모리의 데이터 흐

름은 양쪽의 프로세서에서 Full FlagEmpty Flag를 이용해 제어한다

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 9 -

그림 2-3 외부 메모리 인터페이스

그림 2-4 양방향 FIFO 구성

비행제어 컴퓨터는 연산을 담당하는 메인 프로세서와 통신을 담당하는

버스제어기로 구성되어 있으며 각각은 이종의 프로세서(TMS320C31

C8051F021)로 구성되어 있다 그렇기 때문에 원활한 데이터 공유를 위

해 FIFO 메모리를 양방향 버퍼로 사용하였다 FIFO 메모리의 데이터 흐

름은 양쪽의 프로세서에서 Full FlagEmpty Flag를 이용해 제어한다

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 10 -

DSP에서 데이터를 읽기 위해 Empty Flag DSP 를 검사하고 데이터를 쓰

기 위해 Full FlagDSP 를 검사한다 반대로 버스제어기는 데이터를 읽기

위해 Empty Flag BC 를 검사하고 데이터를 쓰기 위해 Full Flag BC 를 검

사한다 그림 2-4는 양방향 버퍼의 구조를 표 2-4는 양방향 버퍼의 데

이터 흐름 제어를 나타낸다 8051 to DSP 데이터 전송은 isrh에 위치하

고 DSP의 외부 인터럽트 2를 사용한다 DSP to 8051 데이터 전송은

subh에 위치하고 8051의 데이터 요청 신호에 따라 데이터를 전송한다

표 2-4 양방향 버퍼의 데이터 흐름 제어

isrh subh

8051 to DSP 데이터 전송 DSP to 8051 데이터 전송

data send flag = 1

for( )

FIFO write enable = 0

data write

(max 512 byte)

data send flag = 0

DSP External interrupt 2

enable

while(RxBuffer_Empty flag =

0)

read FIFO

data request enable

if(TxBuffer_Empty flag =0)

FIFO write enable = 0

data write

(max 512 byte)

data write end flag

while(Txbuffer_Empty flag = 0)

read FIFO

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 11 -

표 2-5 비행제어 컴퓨터 메모리 설정

ParameterStart

addressSize Description

ROM1

(RX)400000h 40000h

External flash ROM 1

8bit(256 kbyte)

ROM2

(RX)500000h 40000h

External flash ROM 2

8bit(256 kbyte)

IO_INT 808000h 70h Internal IO address

IO_EXT 700000h100000

hExternal IO address

RAM0 809802h 3feh Internal RAM Block 0

RAM1 809c00h 380h Internal RAM Block 0

RAM2 809f80h 40h Internal RAM Block 1

RAM3 809fc1h 3fh Internal RAM Block 1

SRAM0 600000h ffffhExternal SRAM

32bit(64 kword)

SRAM1 610000h 30000hExternal SRAM

32bit(192 kword)

표 2-6 섹션 설정

section ROM BIOS 프로그램 응용 프로그램

text SRAM0 SRAM1

cinit SRAM0 SRAM1

const SRAM0 SRAM1

bss SRAM0 SRAM1

sysmem SRAM0 SRAM1

data SRAM0 SRAM1

stack RAM0 RAM2

vector RAM3 RAM3

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 12 -

Internal IO Address

Parameter AddressSize

(bit)Description

Timer0_GCR 808020h 32 timer0 global control register

Timer0_CR 808024h 32 timer0 counter register

Timer0_PR 808028h 32 timer0 period register

Timer1_GCR 808030h 32 timer1 global control register

Timer1_CR 808034h 32 timer1 counter register

Timer1_PR 808038h 32 timer1 period register

Pbus_control 808064h 32 primary bus control register

비행제어 컴퓨터에 탑재되는 프로그램은 크게 ROM BIOS 프로그램과

응용프로그램으로 구분된다 ROM BIOS는 사용자가 비행제어 컴퓨터의

응용프로그램을 개발하기 위한 지원프로그램을 탑재하게 되므로 임의의

변경이 불가능하게 설정해야 하고 사용자는 응용프로그램 영역만 사용하

게 된다 ROM BIOS 프로그램에서 사용하는 메모리 영역은 ROM1(RX)

RAM0 SRAM0이고 응용프로그램은 ROM2(RX) RAM1 RAM2

SRAM1영역을 사용한다 IO_INT IO_EXT RAM3 영역은 공통으로 사

용된다 표 2-5는 시스템 메모리 설정 내용이고 표 2-6은 프로그램에

따른 섹션 설정 내용을 나타낸다

24 주변 장치 인터페이스

표 2-7은 비행제어 컴퓨터에 구성된 입출력 장치에 대한 어드레스 설

정을 나타낸다 내부 입출력 영역은 DSP의 레지스터 값을 설정하는 부분

으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

구성된다 외부 입출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이

스를 설정하는 부분으로 2개의 Flash ROM SRAM 양방향 버퍼 버스

제어기 디지털 입출력 PWM 출력 등을 제어하기 위해 설정되어 있다

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 13 -

표 2-7 입출력 장치 어드레스 설정

External IO Address

Parameter AddressSize

(bit)Description

flash0400000h

~43FFFFh- flash ROM 1 CE control

flash1440000h

~480000h- flash ROM 2 CE control

SRAM600000h

~620000h- SRAM CE control

Reserved 700000h - -

Reserved 010000h - -

fifo_state 710000h 1 fifo state read

fifo_rd 720000h 1 fifo read control

fifo_we 730000h 1 fifo write control

bc_cnt 740000h 1 DSP to BC data transmit control

DIO 750000h 1 digital IO control

pwm_ch1 760000h 1 PWM_CH1 contorl

pwm_ch2 770000h 1 PWM_CH2 contorl

pwm_ch3 780000h 1 PWM_CH3 contorl

pwm_ch4 790000h 1 PWM_CH4 contorl

pwm_ch5 7A0000h 1 PWM_CH5 contorl

pwm_ch6 7B0000h 1 PWM_CH6 contorl

비행제어 컴퓨터의 어드레스 디코더(Address_Decoder)는 내부 자원

을 관리하기 위해 적절한 메모리 번지를 설정하고 자원의 활성화 신호를

생성하여 메인 프로세서(DSP)가 접근할 수 있는 공간을 제공한다 비행

제어 컴퓨터를 구성하는 내부 자원은 표 2-7에 정의된 어드레스 번지를

이용해서 구성한다 그림 2-5는 표에 정의된 어드레스 번지에 따라 설계

된 어드레스 디코더의 시뮬레이션 결과이다

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 14 -

그림 2-5 어드레스 디코더 시뮬레이션

25 버스제어기

버스제어기(BC Bus Controller)는 비행제어 컴퓨터와 연결되어 있

는 각종 센서 구동기 통신 장치 저장장치 등과 데이터 통신을 담당하

고 각각의 모듈에 대한 정상 동작 여부를 파악한다 통신 라인은

RS-485 규약을 적용하고 이중으로 구성하였다 그림 2-6은 버스제어기

의 구조를 나타낸다 메인 프로세서와 버스제어기 프로세서 간의 데이터

전송은 8비트 데이터 버스를 이용하고 서로 다른 프로세서 사이의 전송

속도 오류를 극복하기 위해 FIFO 메모리를 버퍼로 사용하였다

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 15 -

그림 2-6 버스제어기의 구조

DSPC8051F021

Supply Interface

Transceiver

Ch1_A

Ch2_A

Bus Controller

EPLDControl Signals

Supply Interface

Transceiver

Analog Signals(8Ch)

5V

5V

5V

33V 33V

Buffer

RS 485

RS 485

RS 485

RS 485

Ch1_B

Ch2_B

26 내부 논리 구현기

내부 논리 구현기는 DSP에 추가되는 주변장치(ROM RAM FIFO 버

스제어기 등)를 활성화시키기 위한 제어 신호를 처리하고 고장 검출기

및 고장 관리기로 구성된다 또한 서보 모터 제어를 위한 펄스폭변조신호

(PWM)을 생성한다 고장 검출기는 디지털 입출력장치 양방향 버퍼

PWM 발생기 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

고 고장 관리기는 고장 검출기의 신호에 의해 이중구조에서의 임무 전환

명령을 생성하고 고장 모듈의 리셋 동작을 활성화 시킨다[5] 그림 2-7

은 내부 논리 구현기의 구성도이다

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 16 -

그림 2-7 내부 논리 구현기 구성도

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 17 -

27 전원부

일반적으로 무인항공기에 사용되는 전원은 배터리에서 공급되는

7~15vdc의 매우 불안정한 전원을 사용한다 배터리는 종류에 따라(니켈-

카드늄 니켈-수소 리튬-폴리머 등) 온도와 시간에 따른 전원 특성이 매

우 다양하게 나타난다 따라서 배터리의 용량과 시스템이 필요로 하는 전

원(+5vdc +33vdc) 및 소비전류를 고려하여 전원 안정화 회로를 구성

하였다

이때 시스템 안정화 방법으로 전원선을 타고 흐르는 노이즈를 감소시

키기 위해 페라이트 소자를 전원부에 포함시키고 외부 노이즈로부터 비

행제어 컴퓨터를 보호하기 위해 몸체와 보드를 본딩 접지 하였다 그림

2-8은 비행제어 컴퓨터에 적용된 페라이트비드와 본딩 접지를 나타낸다

그림 2-8 시스템 안정화 방법

28 비행제어 컴퓨터

그림 2-9는 설계되어 제작된 비행제어 컴퓨터를 나타낸다 단일 비행

제어 컴퓨터는 2장의 UPDOWN 보드로 구성하였다 각각의 보드는 보드

양 옆에 있는 인터페이스 커넥터를 이용하여 전기적인 신호를 전달한다

주요 구성품으로는 ①-메인 프로세서(DSP) ②-PLD ③-버스제어기 ④

-Flash ROM ⑤-FIFO 메모리(버퍼) ⑥-전원부 ⑦-외부 입출력 인터페

이스 ⑧-시스템 지원 인터페이스 ⑨-이중구조 구성 인터페이스이다 비

행제어 컴퓨터 설계에서 주요 초점은 기능구현 뿐만 아니라 무인항공기에

적용 가능한 다중화 구조의 구현이 가능하여야 하고 기존의 시스템에서

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 18 -

갖지 못했던 신뢰성을 확보하는데 있다 따라서 이중구조 구현을 위한 별

도의 인터페이스를 구성하였고 시스템의 신뢰성 확보를 위해 모든 부품

을 산업용 규격에 적합한 것으로 선택하였다

그림 2-9 제작된 비행제어 컴퓨터

29 탑재 소프트웨어

291 부팅절차

DSP는 전원 투입 후에 바로 집행할 수 있는 번지에 프로그램이 차지

하도록 되어 있는 마이크로프로세서 모드와 초기에 외부 메모리에서 적재

메모리 번지로 프로그램을 이동한 후에 기동하는 마이크로컴퓨터 모드가

있다 비행제어 컴퓨터는 400000h 번지로 디코딩 되는 256KB의 플래시

메모리(flash memory)와 440000h 번지로 디코딩 되는 또 다른 256KB

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 19 -

그림 2-10 인터럽트와 트랩 벡터

의 플래시 메모리에 부팅 프로그램이 탑재되어 있다

DSP의 내부에는 809800h 번지부터 809FC0까지 약 2 KWords의 내

부메모리가 있고 비행제어컴퓨터에는 600000h 번지부터 시작해서 512

KWords의 외부 SRAM이 설치되어 있어 작동 시 대부분의 프로그램은

외부 메모리 영역에서 동작한다 따라서 변수 영역은 내부 메모리에 설정

하고 프로그램영역은 외부 메모리에 설정 하였다

그림 2-10에 인터럽트와 트랩(TRAP)의 번지를 나타내었다 외부 인

터럽트는 버스 제어기(BC bus controller)에서 FIFO 메모리로 자료 전

송이 끝났을 때 INT0를 사용한다 그리고 INT2는 리셋이 풀릴 때 부팅

영역을 지정하기 위해 사용된다

XINT와 RINT는 이중 구조에서 중

요 변수 교환을 위해 사용된다 따

라서 인터럽트는 최하위 자원으로

프로그램 된다

DSP의 소프트웨어 인터럽트에

속하는 트랩 명령으로 주요한 함수

들의 엔트리 포인트로 사용하면 프

로그램을 수정하더라도 엔트리 포

인트는 변하지 않도록 유지할 수

있기 때문에 응용 프로그램의 수정

없이 하위 자원에 대한 프로그램을

수정할 수 있다 트랩은 809FE0h

번지부터 809FFBh까지 총 28개가

있다

부팅에서 INT2가 리셋일 때 0

으로 유지하고 있다가 리셋이 풀린

후 최소 3개의 H1 사이클까지 유

지한 후 lsquo1rsquo로 만들면 400000h 번

지에 있는 내용을 참조하여 버스

크기 초기 로딩 번지 및 프로그램

의 크기 및 집행 시작 번지 등을

결정하고 목적 번지에 프로그램을

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 20 -

그림 2-11 제어워드의 위치와 종류

로딩한 후에 집행이 시작된다 따라

서 개발을 염두에 두고 부팅 절차를

설계한다면 부팅 후 집행되는 프로

그램은 먼저 그림 2-11과 같은 각

종 제어 워드를 설정함으로써 사용

하려는 최하위 하드웨어 자원에 대

한 초기화를 수행한다 다음으로는

전원 후 자체 시험(POST power

on self test)을 수행하여 비행제어

컴퓨터로써 확실하게 작동할 수 있

는지를 검사한다 여기에는 버스 제

어기와의 자료 이동을 포함한다 비

행제어 컴퓨터가 정상 작동한다는

시험을 마치면 그 다음의 운영체제

(OS operating system)를 플래시

메모리에서 읽어 집행 위치로 옮겨

놓는 프로그램을 포함하고 있어야

한다 여기까지가 가장 기초적인 부

팅 절차로 BOOT0라고 한다 일반

적으로 BOOT0의 내용은 프로그램

개발 과정에서 거의 변경되지 않으

며 플래시 메모리에서도 일정한 크

기로 탑재되어 있다

다음으로는 BOOT0의 제어권을

이양 받아서 플래시 메모리의 특정 번지부터 들어 있는 운영체제를 로딩

하는 과정으로 BOOT1이라 한다 플래시 메모리의 특정 블록부터 시작하

며 첫 번째 블록에는 로딩할 프로그램의 크기와 집행 시작 번지가 헤더

로 들어가 있다

일단 로딩이 끝나면 집행 시작 번지로 점프 한다 여기서 운영체계의

원활한 집행을 검사하는 과정을 응용 프로그램으로 하는 간단한 시험

(Built-in test) 프로그램을 집행하고 이상이 없으면 그 다음 본격적인 응

용 프로그램을 로딩하는 과정으로 들어간다

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 21 -

마지막으로 BOOT1의 제어권을 이양 받아 응용 프로그램을 로딩 하는

과정을 BOOT2라 한다 BOOT2 로딩이 끝나고 집행이 시작되면 본격적

인 비행제어 컴퓨터의 역할을 하게 된다

비행제어 컴퓨터의 기동을 이와 같이 세 단계로 나누는 이유는 프로그

램 개발 과정에서 BOOT0는 초기에 확정될 것이며 일단 응용 프로그램

개발 과정으로 들어가면 운영체제는 자주 바뀌지 않으므로 가끔씩 수정이

이루어질 것이다 가장 빈번하게 변경되는 프로그램이 응용 프로그램이

다 따라서 BOOT0 이외의 과정을 탑재 데이터 버스를 통하여 변경할 수

있도록 만들려면 플래시 메모리의 블록 단위로 영역을 달리하며 탑재되어

있어야 한다 메인프로그램의 코드 구성은 표 2-8과 같다

표 2-8 메인 프로그램 구성

Init_DSP()

Interrupt setting()

Timer setting()

Memory Test()

while(1)

if (program down_mode)

Load_flash()

Branch 610000h

else if (application_mode)

Branch 610000h

else

end

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 22 -

292 소프트웨어 구성

비행제어 컴퓨터를 구성하는 탑재 소프트웨어는 프로그램 설정을 위한

두 개(maincmd romcmd)의 파일과 디바이스 드라이버가 포함되어 있

는 4개(tms_31h intvech isrh subh)의 파일 그리고 응용 프로그램이

포함되어 있는 메인 프로그램(mainc)으로 구성된다

표 2-9 maincmd

출력 파일 설정

Target 메모리 설정

라이브러리 경로 설정

스택 크기 정의

힙 크기 정의

MEMORY

내부외부 메모리 공간 정의

Interrupt vector table 정의

SECTIONS

변수 위치 정의

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 23 -

void c_int03() External interrupt 2

8051 to DSP 데이터 전송 표 2-4

void c_int05() Serial-port 0 transmit interrupt

void c_int06() Serial-port 0 receive interrupt

void c_int09() Timer 0 interrupt

Real Time OS 메인 사이클 동작

표 2-10 romcmd

출력 파일 설정

Intel HEX 파일 포맷 설정

data width 설정(32bit)

memory width 설정(8bit)

Boot ROM 시작번지 정의(400000h)

Primary bus control register 설정

tms_31h 파일은 DSP가 사용하는 자원을 각각에 해당하는 주소로 할당

하여 정의 하였다 intvech 파일은 인터럽트 서비스 루틴의 해당 주소를

할당 하여 정의 하였다 isrh 파일은 인터럽트 서비스 루틴이 작성되고

subh 파일은 시스템 초기화와 디바이스 드라이버에 대한 루틴이 작성된

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 24 -

표 2-11 isrh

20msec 설정

void c_int10() Timer 1 interrupt

고장 검출기 동작

void Init_DSP() DSP 초기화

Interrupt flag register setting

Interrupt Enable register setting

Enable cache

Primary bus control register setting

IO flag register setting

void Interrupt Setting() 인터럽트 설정

Some interrupt enable

Clear all interrupt flag

Global interrupt enable setting

void Timer Setting() 타이머 설정

Timer ready

Counter register clear

Timer period register setting

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 25 -

표 2-12 subh

f out=f in

2timesTimer Period Register Setting[Hz]

Timer run

void Load_flash() Flash ROM 프로그램 탑재

Load 0x5555 = 0xAA

Load 0x2AAA = 0x55

Load 0x5555 = 0xA0

while(program down_mode)

Read buffer()

for(target memory address)

target memory address = read buffer()

target memory address++

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 26 -

3 고장 검출

내고장성 제어를 위해 필요한 기본적인 요소로는 고장 검출(Fault

Detection) 차단(Degradation) 재구성(Reconfiguration)의 3과정이 요구

된다 고장의 검출은 하드웨어 또는 소프트웨어에 의한 검사(BIT

Built-in Test)를 이용하여 언제 어디서 고장이 발생하였는지 파악하게

된다 이러한 과정을 통해 고장이 검출되면 고장 발생 모듈을 전체 시스

템에서 제거하게 되는데 이러한 과정을 차단이라 하고 이후 나머지 정상

적인 모듈에서 생성되는 정보를 이용하여 정상적인 임무를 계속 수행 할

수 있게 시스템을 재배치하게 된다

전체 시스템의 고장 검출 범위는 그림 3-1과 같은 3단계로 구분하여

구성하게 된다 Level Ⅰ은 하드웨어 의존적인 부분으로 자체 고장 검출

(BIT)기법에 의한 고장을 검출하고 그 대상은 비행제어 컴퓨터를 구성하

고 있는 모든 요소를 포함한다 Level Ⅱ는 비행제어 컴퓨터 주위의 서브

시스템(센서류 데이터 저장장치 통신장치 전원 등)에 대하여 하드웨어

및 소프트웨어 고장 검출 기법을 이용하여 고장을 검출한다 Level Ⅲ는

UAV 비행(엔진 서보모더 조종면 등)에 대한 고장을 검출하는 것으로

대부분 소프트웨어 고장 검출 기법을 사용하게 된다 본 논문에서는

Level Ⅰ 비행제어 컴퓨터에 대한 고장 검출 기법에 대하여 기술하였다

그림 3-1 고장 검출 범위

Level Ⅰ

Main System Detect

(비행제어 컴퓨터)

Level Ⅱ

Subsystem Detect

(GPS AHRSIMU RF ADS CFM Power 등)

Level Ⅲ

UAV Total System Detect

(엔진 서보모터 조종면 등)

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 27 -

자체고장검출(BIT)을 적용하는 장점으로는 다음과 같다 첫 번째로 자체

고장검출기능은 테스트 목적의 설계(DFT Design for Testability)기술

로서 높은 고장 검출율(Fault Coverage)를 얻을 수 있다 MIL-F-

9490D에서 제시하는 유인항공기의 비행 중 고장 검출율은 90이상을

요구한다 MIL-F-9490D[6]의 3139절에는 유인항공기의 시스템 시험

및 감시에 대한 규정이 제시되어 있다 아직 무인항공기에 대한 적절한

규정은 나와 있지 않다 두 번째로 복잡한 시스템에서 고장을 검출하고

자 하는 부분에 대하여 부품단위 기능 블록단위 보드단위로 나누어 테

스트를 효율적으로 할 수 있고 각각의 단위별로 이미 구성된 고장검출

모듈은 재사용이 가능하다 세 번째로 개발에 소요되는 추가 비용 및 시

간은 전체 시스템을 만들고 이후 시험하는데 소요되는 비용 및 시간을 줄

일수 있게 되므로 전체 시스템 개발에 드는 총 경비를 줄일 수 있다

31 고장 모델 정의

고장은 그 발생 원인에 따라 영구 고장과 일시 고장으로 분류된다

영구 고장은 물리적 결함에 의해 한 번 발생하면 지속적으로 발생하는

고장으로 그 원인으로는 제조과정에서 발생하는 것과 사용 중에 발생하

는 것이 있다 우선 제조과정에는 배선 불량 먼지 부착 불순물 혼입에

따른 산화막의 오염 등이 있으며 사용 중에는 전기 화학적 원인에 의한

금속 배선의 부식 산화막의 절연 파괴 등이 있다

일시 고장은 각각의 부품이 일시적으로 정상 동작하지 않는 장애로

전원 공급기나 방사 등의 외부 영향에 의한 것과 소자 변수의 성능 저하

에 따른 고장 원인이 있다 이러한 고장은 진단하고 수정하는 과정이 매

우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(shield)

또는 접지(ground) 등을 이용하여 시스템으로 유입되는 잘못된 신호

(noise)를 최소화하여 회로의 잡음 배제성(noise immunity)을 키워야 한

이러한 고장의 원인으로 인해 각각의 부품에 잘못된 신호값을 발생시

키게 되므로 고장의 영향을 정상이 아닌 논리 신호값으로 모델화 할 수

있다 이와 같이 회로에 존재하는 결함이나 고장의 영향을 기술하기 위한

논리 모델을 고장 모델이라 한다 이러한 고장 모델은 고장의 영향을 기

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 28 -

술하는데 사용되거나 테스트를 쉽게 하기 위해 또는 고장 모델에 대한

검출률을 이용하여 테스트의 질을 평가하는데 사용할 수 있다

고장 모델을 이용할 경우 실제적인 고장을 정확하게 모델링해야 하고

복잡한 시스템도 전부 포함할 수 있는 적당한 크기의 모델을 갖고 있어야

한다 하지만 이 두 가지는 서로 상반되는 내용으로 정확성을 높이기 위

해서는 최하위 단위로 나누어야 하고 시스템 전부를 포함하기 위해서는

실제적인 고장을 정확히 모델링 할 수 없다 일반적으로 고장 모델은 설

계 수준에 따라 트렌지스터 수준의 고장 모델 게이트 수준의 고장 모델

기능 수준의 고장 모델로 구분되는데 본 논문에서는 고장 모델의 정확성

과 취급의 용이성을 고려하여 기능 수준의 고장 모델만을 적용하였다 표

3-1은 일반적인 고장 모델을 나타낸다[7]

표 3-1 고장 모델

고장 모델 설 명

단일 고착 고장

(single stuck-at fault)한 신호선이 0이나 1로 고정되는 고장

다중 고착 고장

(multiple stuck-at fault)

2개 이산의 신호선이 0이나 1로 고정되는

고장

합선 고장

(bridging fault)

독립된 두 개 이상의 신호선이 연결되는

고장

절선 고장

(open fault)신호선이 단선되는 고장

지연 고장

(delay fault)회로에 전달 지연에 의해 발생하는 고장

간헐 고장

(intermittent fault)

내부적적인 변수의 성능 저하에 의해 주기

적으로 비정상 값이 나타나는 고장

과도 고장

(transient fault)

방사(radiation) 등의 외부 영향에 의해 일

시적으로 정상 동작하지 않게 되는 고장

고착 고장 모델은 물리적 결함에 의해 논리 게이트 입출력선의 값이

영구적으로 논리 lsquo0rsquo 또는 논리 lsquo1rsquo로 고정됨을 의미한다 이 모델은 회로

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 29 -

의 물리적인 고장을 잘 반영하고 고장 개수가 작아 테스트 패턴 생성에

용이하게 사용된다 합선 및 절선 고장은 배선-신호 배선-전원 배선-소

자 사이 및 소자내의 합선이나 절선에 의해 생기는 고장 모델이다 이 고

장들은 논리 게이트의 입출력선의 고착 고장으로 표현되는 경우도 있고

그렇지 않은 경우도 있다

32 기능 수준 고장 모델

위에서 언급된 트랜지스터 수준이나 게이트 수준에서의 고장 모델은

고장에 대한 관계를 더 정확하게 표현할 수 있으나 대규모 회로를 대상

으로 할 때 고장의 수가 방대하게 되어 모든 고장을 포함하기에 여러 가

지 문제점을 갖게 된다 따라서 기능 수준의 고장 모델을 이용하여 기능

이 올바르게 동작하지 않게 되는 고장을 고려하였다 고장 모델은 N 입

력을 가진 조합 논리 함수가 주어졌을 때 이 함수가 N 입력의 어떤 다른

조합 논리 함수로 변한다고 가정하는 것이다 이때 고장을 테스트하기 위

해서는 2N의 입력 조합을 인가해야 한다 이때 테스트해야 할 입력의 수

가 커지면 필요한 인가 테스트 패턴의 수는 지수적으로 증가하기 때문에

현실적으로 불가능하게 된다 따라서 고착 고장 합선절선 고장 모델이

검출 가능한 9N 알고리즘에 따른 테스트 패턴을 사용하였다 이 알고리

즘의 고장 검출 기능 모델은 메모리데이터 버스와 연결된 부품에 적용된

다[8]

표 3-2 32비트 DB

DB Normal(DB) Inverse(DBbar)

1

2

3

4

5

6

0000 0000

5555 5555

3333 3333

0F0F 0F0F

00FF 00FF

0000 FFFF

FFFF FFFF

AAAA AAAA

CCCC CCCC

F0F0 F0F0

FF00 FF00

FFFF 0000

표 3-3 8비트 DB

DBNormal

(DB)

Inverse

(DBbar)

1

2

3

4

00

55

33

0F

FF

AA

CC

F0

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 30 -

이때 필요한 최소한의 DB(Data Background)의 개수 K =log 2B + 1

(B = bit)이다 즉 메모리(Flash 메모리 SRAM)는 32비트이므로 6개의

DB가 필요하고 디지털 입출력과 양방향 버퍼는 8비트이므로 4개의 DB

가 생성된다 표 3-2와 표 3-3은 테스트 패턴에 사용되는 32비트 DB와

8비트 DB를 나타낸다

그림 3-2 고장 검출기

그림 3-2는 고장 검출기를 나타낸다 고장 검출기는 디지털 입출력

장치를 감시하는 DIO 모듈 양방향 버퍼를 감시하는 버퍼 모듈 PWM 발

생기를 감시하는 PWM 모듈 두 개의 CPU를 감시하는 워치독 모듈로 구

성된다 고장 검출기 내부에는 테스트 패턴을 생성하는 테스트 패턴 생성

기(TPG Test Pattern Generator)와 고장 유무를 확인 하는 비교기가

포함되어 있다 고장 검출기는 각 모듈에 대한 정상 유무 신호를 고장 관

리기로 보낸다 A 신호는 테스트 패턴을 B 신호는 입력장치의 출력 신호

를 C 신호는 출력장치의 출력 신호를 나타낸다

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 31 -

33 CPU 고장 검출

비행제어 컴퓨터는 두 개의 서로 다른 CPU가 탑재되어 있다 메인 프

로세서로 사용되는 DSP는 비행제어 컴퓨터의 핵심이 되고 8051은 시스

템의 통신을 전담하므로 DSP에 버금가는 중요도를 갖게 된다 따라서 비

행 중 두 CPU에 대한 고장 유무를 파악하는 것은 매우 중요한 요소가

된다 이때 사용되는 모듈은 워치독 타이머(watch-dog timer)이다 워치

독 타이머는 CPU에서 일정한 시간 내에 약속된 신호(0x5A)를 받게 된

다 일정한 시간은 비행제어 컴퓨터가 기본적으로 한 사이클의 비행제어

법칙을 수행하는데 필요한 시간을 의미하며 20msec를 기준으로 잡았다

만약 실시간 운영체제가 탑재될 경우 실시간 운영체제의 종료시간

(deadline)을 기준으로 설정하게 된다 그림 3-3은 워치독 타이머의 시뮬

레이션 내용을 나타낸다 만약 워치독 타이머가 20msec 내에 약속된 신

호를 감지하지 못한다면 timeout 신호를 출력하여 DSP 또는 8051에 고

장이 발생하였음을 고장 검출기가 인식하게 된다

그림 3-3 워치독 타이머 시뮬레이션

34 주변 장치 고장 검출

그림 3-4는 디지털 입출력 장치에 대한 고장 검출 흐름도를 나타낸

다 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

디지털 출력장치를 통해 출력한다 비교기는 테스트 패턴의 무결성을 확

인하기 위해 A 신호와 테스트 패턴을 비교하게 되고 신호의 무결성이 확

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 32 -

인되면 A 신호와 디지털 입력장치의 출력 신호인 B 신호를 비교하여 디

지털 입력 장치의 정상 유무를 확인한다 같은 방법으로 A 신호와 디지털

출력장치의 출력 신호인 C 신호를 비교하여 디지털 출력 장치의 정상 유

무를 확인한다 최종 출력 신호는 표 3-4와 같다

그림 3-4 디지털 입출력 장치 고장검출 흐름도

표 3-4 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

버퍼의 고장 검출 과정도 디지털 입출력 장치의 고장 검출 방법과 같

다 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

스트 패턴이 버퍼에 남아있게 되므로 두 개의 버퍼를 초기화 하는 리셋

과정이 추가 된다 그림 3-5는 버퍼 고장 검출 흐름도를 나타내고 표

3-5는 최종 출력 신호를 나타낸다

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 33 -

그림 3-5 버퍼 고장검출 흐름도

표 3-5 고장 검출 결과

판 단 출력신호 상 태

A ne Pattern 00 Line Fault

A ne B 10 Digital In Fault

A ne C 01 Digital Out Fault

A = B = C 11 Normal

그림 3-6은 PWM 모듈의 고장검출 흐름도를 나타낸다 PWM 모듈의 테

스트 패턴은 서보모터 제어 신호의 중립점인 15msec에 해당하는 데이터

를 입력하게 된다 그리고 PWM 생성 모듈의 출력값을 Capture하여 디

지털화된 데이터를 비교하게 된다 표 3-6은 고장 검출기의 최종 출력

신호를 나타낸다

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 34 -

그림 3-6 PWM 고장검출 흐름도

표 3-6 고장검출 결과

판 단 출력 신호 상 태

A = B 1 Normal

A ne B 0 PWM Signal Fault

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 35 -

4 중복구조 설계

신뢰도 향상을 위한 가장 적극적인 방법은 내고장성 제어(fault

tolerant control)방식을 채택하는 것이다 내고장성 제어란 대상 시스템

내부에 고장이 발생하더라도 안전성을 유지하면서 성능저하가 허용범위

내에 들어가게 하는 제어방법을 말한다 내고장성 제어의 가장 일반적인

방법은 여분의 하드웨어를 중복으로 구성하는 하드웨어 여분방식과 입력

데이터를 이용한 해석적 여분방식으로 구분된다

개념적으로 매우 간단하게 구성되는 하드웨어 여분방식은 같은 기능을

수행하는 하드웨어 모듈을 두 개 이상으로 구성하는 것을 말한다 유인

항공기의 경우 삼중 사중 이상의 중복구조를 취하게 된다 하지만 중복

구조의 정도에 따라 시스템이 복잡해지고 비용무게크기 등이 증가하는

단점이 있어 무인항공기에 적용하는데 상당한 어려움이 있다 반대로 해

석적 여분방식은 정보에 대한 고장은 검출 가능하지만 하드웨어 자원에

대한 고장발생 유무를 파악하는데 한계가 있다 따라서 무인항공기에 필

요한 내고장성 제어는 두 가지 방법을 적절히 사용하여 전체 시스템의 보

다 높은 신뢰성을 확보 할 수 있다 그림 4-1은 고장허용제어 시스템의

연구 분야 및 논문의 연구 방향을 나타내고 있다 그림의 화살표 방향을

기준으로 본 논문에서는 하드웨어 중복구조 분야를 연구하였다[9]

그림 4-1 고장허용제어 시스템의 연구 분야

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 36 -

41 중복 구조 개념

시스템의 신뢰도를 확보하기 위한 방법 중의 하나로 하드웨어 모듈을

중복으로 구성하게 된다 이는 높은 신뢰도를 확보하기 위한 가장 쉬운

방법 중의 하나로 제안되었다 이러한 개념은 이미 오래전부터 연구되어

왔지만 실제 구현에 있어서 비용 크기 무게 등의 제약조건이 항상 따라

붙게 되었다 하지만 오늘날 반도체 기술의 발달로 인해 소형 경량에 대

한 제약조건은 상당한 부분 사라짐으로 인해 무인항공기에 적용할 수 있

는 하드웨어 중복구조가 현실화 되었다

디지털 시스템에서 사용되는 하드웨어 중복구조의 가장 일반적인 형태

는 수동적(passive) 중복구조 능동적(active) 중복구조 복합(hybrid) 중

복구조가 있다

수동적 하드웨어 중복구조는 발생된 고장을 숨기기 위해 고장을 감싸

고(fault masking) 에러에 의해 생기는 고장을 방지한다 일반적으로 그

림 4-2와 같은 N-modular redundancy(NMR)구조를 사용한다 이때 시

스템의 최종 출력을 결정하기 위해서 N개의 모듈을 이용한 다수 의결권

방식을 사용한다 그러므로 N 모듈은 홀수로 구성되는게 일반적이고 하

나의 모듈에 고장이 발생하였을 경우 고장 모듈의 결과는 무시하고 나머

지 모듈에 대한 다수 의결과정을 수행하게 된다[10]

그림 4-2 NMR 구조

하지만 NMR 시스템의 가장 근본적인 문제점은 다수 의결을 수행하는

voter에 있다 즉 voter의 고장은 전체 시스템의 고장으로 발전하기 때

문에 기본적인 NMR 구조의 신뢰도는 voter의 신뢰도에 따라 달라진다

이와 같이 시스템을 구성하는 단일 부품으로 인해 시스템에 고장이 발생

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 37 -

하는 것을 single point of failure라고 한다 이러한 단점을 극복하기 위

하여 voter를 N 모듈의 수와 같이 구성하여 사용할 수 있다

NMR 시스템 구성은 고장허용 목표와 하드웨어 자원을 얼마만큼 사용

하는지에 대한 절충이 필요하다 실제 적용에서는 중복구조로 채택할 수

있는 하드웨어 자원의 최대 수량을 결정해야 한다 또한 전력 무게 비

용 그리고 크기 제한에 대한 요소가 NMR 시스템에서 N 모듈의 개수를

결정하는데 중요 변수가 된다 NMR 중복구조의 경우 소프트웨어 중복구

조에 많이 사용된다 특히 최종 출력을 얻기 위한 중복구조를 구성할 경

우 3개 이상이어야 하고 홀수로 모듈이 구성되어야 한다 이러한 제약 조

건은 무인항공기용 하드웨어 중복구조 구성에 많은 어려움을 제공하게 된

그림 4-3 standby sparing

능동적 중복구조의 대표적인 방법은 대기 여분(standby sparing)기법

이라 불리며 그림 4-3과 같은 구조를 갖는다[10] 하나의 입력 신호는

N개의 중복 모듈과 연결되고 N개의 출력 신호는 N to 1 스위치 모듈을

거쳐 최종 출력신호를 내보낸다 이때 각 모듈의 고장을 검출하기 위한

고장 검출기가 포함되고 고장 검출기 신호에 따라 최종 출력을 결정하는

스위치를 제어한다 N개의 모듈 중에서 최우선 순위 모듈은 정상 동작을

수행하게 되고 나머지 모듈은 대기 상태에 놓여있게 된다 대기 상태에

있는 모듈은 동작 상태에 따라서 전원이 들어가서 최우선 순위 모듈과 같

은 동작을 수행할 경위 hot standby sparing이라 하고 여분의 시스템과

연결만 되어있고 전원이 공급되지 않는 상태를 cold standby sparing이

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 38 -

라 한다 Hot standby sparing 기법은 모듈 간에 임무 전환이 발생할 경

우 소비되는 시간을 최소화 할 수 있는 반면 전원의 소비가 두 배가 된

다 Cold standby sparing일 경우 전원 소비에 대한 단점은 없어지지만

임무전환 신호를 받고 나서 초기화 하고 최종 출력을 생성하는데 걸리는

시간이 요구된다

대기 여분 방식은 수동적 중복구조에서와 같은 vorter를 사용하지 않

기 때문에 중복하고자 하는 모듈이 2개 이상이면 구성이 가능하다 하지

만 대기 여분 방식도 최종 출력을 위한 스위칭 모듈의 고장이 전체 고장

율을 지배하는 경우가 발생한다 그리고 고장 검출기의 고장 검출률에 따

라 모듈의 정상 유무를 파악하는 수준이 달라진다 이러한 문제점을 해결

하기 위해 스위칭 모듈의 고장율을 전체 시스템의 고장율에 비해 현저히

낮게 설계하여 고장이 발생할 확률을 줄여주게 된다 또한 고장 검출률도

시스템의 원래 기능을 수행하는데 방해되지 않는 범위에서 고장 검출률을

확보해야 한다

42 중복구조의 적용

그림 4-4는 X-29 유인 전투기의 비행제어 컴퓨터에 대한 중복구조이

다[10] X-29의 경우 비행제어 컴퓨터를 삼중으로 구성하였으며 각각의

모듈은 디지털아날로그 비행제어 컴퓨터로 구성하여 총 6개의 모듈로 중

복구조를 구성하였다 그림 4-5는 Global-Hawk 무인기의 비행제어 컴퓨

터에 대한 중복구조이다[11] Global-Hawk는 능동적 중복구조의 형태로

두 개의 비행제어 컴퓨터 모듈을 이용하였고 채널 변경 모듈을 중간에 배

치시켜 고장 발생 유무에 따라 최종 출력 신호를 결정하는 구조를 채택하

였다

두 가지 적용사례에서 유인 항공기와 무인 항공기의 중복구조 척도를

가늠해 볼 수 있다 유인 항공기의 경우 수동적능동적 하드웨어 중복구

조를 혼합한 복합적 중복구조 형태를 충분히 구성할 수 있다 이러한 이

유는 항공기 전체의 신뢰성 확보가 비용물리적 요소보다 더 우선하기 때

문이다 하지만 무인 항공기의 경우 탑재 공간 또는 비용에 대한 상당한

제약조건이 수반되기 때문에 신뢰성 확보에 대한 우선순위는 뒤로 밀리게

된다

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 39 -

그림 4-4 X-29의 중복구조

그림 4-5 Global-Hawk의 중복구조

43 이중구조의 비행제어 컴퓨터

그림 4-6은 본 논문에서 제시된 비행제어 컴퓨터의 이중구조를 나타

낸다 전형적인 대기 여분 방식을 적용하였다 단일 입력신호와 두 개의

비행제어 컴퓨터 그리고 고장 검출기 및 고장 관리기가 포함되어 있고 최

종 출력을 선택하는 스위칭 모듈로 구성하였다

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 40 -

그림 4-6 제안된 이중구조 시스템

그림 4-7은 고장 검출기의 고장 신호 출력과 이에 대응하는 고장 관

리기의 임무전환 신호를 나타낸다 고장 검출기의 최종 출력은 어떤 모듈

에서 고장 신호가 발생할 경우 이를 고장 관리기로 보내고 고장 관리기

는 자신의 임무를 종시스템으로 전환하고 자신이 포함된 시스템은 리셋과

정을 수행한다

그림 4-7 고장 신호 및 임무 전환 신호

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 41 -

그림 4-8은 이중구조 시스템의 동작 수행과정을 나타낸다 여분의 대

기모듈은 hot standby 모듈로서 주시스템과 동일한 입력을 받고 동일한

출력을 내보낸다 만약 주시스템의 고장 관리기가 임무전환 신호를 발생

시키면 종시스템의 출력이 최종 출력이 되고 의미상 주시스템이 된다 주

시스템은 고장 발생 신호에 맞추어 임무전환 신호를 발생하고 리셋과정을

거쳐 종시스템으로 hot standby 모듈로 동작하게 된다

그림 4-8 이중구조 시스템의 동작 수행 과정

그림 4-9는 최종 출력을 선택하는 채널 변경 모듈의 구성도를 나타내

고 그림 4-10은 구현된 채널 변경 모듈을 나타낸다 주시스템과 종시스

템의 출력을 동시에 받고 시스템의 고장 유무 신호를 고장 관리기로부터

전달받아 최종 출력 신호를 제어하게 된다 표 4-1은 고장 관리기의 입

력 신호와 이에 대응되는 출력 신호를 나타낸다

표 4-1 고장 신호 및 출력 신호

선택 및 고장 모드고장 관리기 제어 신호(비트)

0 1 2

RC 수신기 0 0 1

주시스템 1 0 0

종시스템 0 1 0

내부 생성 신호 0 0 1

수동 제어 불능(No-con) 1 1 1

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 42 -

그림 4-9 채널 변경 모듈 구성도

그림 4-10 채널 변경 모듈

그림 4-11은 실제 구현된 이중구조의 비행제어 컴퓨터를 나타낸다

단일 비행제어 컴퓨터는 물리적인 인쇄회로기판 2장으로 구성되어 있으

며 이중구조 구성을 위해 4장의 인쇄회로기판이 적층되어 있다 주시스

템(Master)종시스템(Slave)로 구분되는 기준은 현재 출력을 내보내는 모

듈이 주시스템을 의미한다 즉 주종의 관계는 최종 출력을 어느 모듈이

내보내느냐에 따라 변한다

그림 4-11 이중구조의 비행제어 컴퓨터

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 43 -

5 신뢰도 분석

유인 항공기에 대한 전자식 비행제어 시스템의 신뢰성은 여러 규격에

서 명시하고 있다[612] 일반적으로 민간 규격에서는 비행 임계기기의

고장율을 비행시간 당 10-9이하의 고장 확률이어야 하며 군용기의 경우

항공기 손실에 이르는 고장율이 비행시간 당 10-7이하가 되어야 한다고

규정하고 있다 유인 항공기는 조종사가 탑승하고 있기 때문에 조종사의

판단은 신뢰성 관점에서 매우 우수하며 고장 허용의 역할을 수행하는 중

요 요소로 볼 수 있다 그러나 무인 항공기의 경우 전적으로 전자식 비행

제어 시스템에 의존해야 하기 때문에 항공기의 손실을 초래하는 고장은

더욱 쉽게 발생하게 된다 무인항공기의 고장에 대한 임무 중단율은 유인

항공기에 비해 10배나 높은 것으로 알려져 있다

무인항공기 탑재 시스템의 경우 다양한 기능을 구현하기 위해 고도로

복잡해지고 집적화 되고 있으며 탑재 장비도 고급화를 추구하고 있다

하지만 무인항공기 고유 특성에 따른 소형 경량 저전력의 탑재 시스템

을 설계해야 하는 제약조건으로 인해 신뢰성의 손실을 감수해야 한다 또

한 점차 증대되는 무인항공기의 성능과 복잡한 임무는 다양한 고장 발생

의 원인을 제공한다 따라서 시스템 설계 단계에서부터 신뢰성에 대한 정

량적인 목표를 설정하고 검증하는 과정이 필요하다

51 고장율 분석

신뢰성이란 시스템이나 부품이 특정 환경에서 사용 중일 때 규정시간

내에 정상 기능을 발휘하며 작동 상태를 유지할 수 있는지를 나타내는 확

률이다

이때 고장율(λ Failure Rate)은 단위시간당( 106 또는 109) 고장회수

를 말한다 만일 어떤 시스템의 고장 분포가 지수 분포를 갖는다면 평균

수명 (MTBF Mean Time Between Failure)은 고장율의 역수가 된다

신뢰성(R Reliability)은 정해진 시간(t) 동안 고장 없이 정상동작을 수

행할 확률을 0과 1사이의 값으로 나타낸다[13]

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 44 -

λ=1

MTBF R=e λt

고장율에 영향을 미치는 요소로는 최대 정격에 대한 사용 비율 전기

적인 스트레스 작동 온도 환경 조건 품질 등급 등이 있으며 번인

(burn-in) 시험 결과와 통계적인 부품의 고장율을 이용해 시스템의 고장

율을 더욱 정확하게 예측할 수 있다

신뢰성 예측은 대상 시스템에 대한 수명 또는 고장율을 예측하는 단계

로서 전체 신뢰성 분석에 필요한 가장 기본적인 자료를 만든다

RBD(Reliability Block Diagram)은 신뢰성 예측 결과를 이용하여 모듈단

위로 환경을 변화시켜 다양한 중복구조 모델의 고장 추이를 확인하게 된

다 고장율은 시스템의 정적 고장율을 의미하며 신뢰도는 시간 변화에

따른 동적 고장율 분포를 보여준다 주로 MIL-HDBK-217[14]

Bellcore[15] NPRD 95등의 규격이 사용된다 그림 5-1은 신뢰성 예측

절차를 나타낸다

그림 5-1 신뢰성 예측 절차

SYSTEM

Electrical partsInformation

Mechanical partsInformation

전기 전자 부품 그리고 기계 부품의 고장율 예측 규격서 활용-gt MIL-HBDK-217-gt Telcordia(Bellcore)-gt NPRD NSWC

고장율 MTBF 시스템 신뢰도 가용도 hellip

신뢰성 업무 분석의 기초 자료로 사용

제품의 환경 조건 규정

Relex 프로그램 사용

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 45 -

52 기본 고장율 분석

고장율이라 함은 시스템이 주어진 환경에서 정해진 기능을 정상적으로

수행하지 못하는 상태를 통계적 또는 가상적인 시험을 통해 수치화 한 것

으로 같은 조건 하에서 상대적으로 비교할 수 있는 자료로 활용된다 신

뢰성을 고장율이나 평균수명으로 표현하는 이유는 시스템의 신뢰성 목표

치를 확보하기 위해 초기 설계단계에서부터 고장의 정도를 가늠하기 위한

것이다 고장율 분석은 고장이 어디서 어떠한 유형으로 발생하는지 파악

하고 대처방안을 수립하여 고장의 발생 확률을 최소화하며 최종 사용자

로 하여금 최대한의 안전성을 확보하는데 그 목적이 있다

비행제어 시스템의 고장율에 대한 요구조건은 FAR-251309와

MIL-STD-9490D 규정에 명시되어 있다 특히 MIL-STD-9490D에서는

비행제어 시스템의 운용 상태를 5가지로 구분하고 운용상태 Ⅲ등급인

ldquoMinimum safe Operation을 유지할 수 없거나 비행체의 안정성을 위협

하는 고장에 대해서 표 5-1과 같이 rdquoExtremely Remote라는 고장율을

정의하고 있다

표 5-1 MIL-STD-9490D 비행제어 시스템 고장율 규정

Aircraft Category

Probability Los of Control for

Flight Safety

(Extremely Remote)

Heavy Bombers Transports

Cargo amp Tankers

(MIL-F-8785 Class Ⅲ Aircraft)

lt 5 times 10-7

All Rotary Aircraft lt 25 times 10-7

All Other Aircraft (MIL-F-8785

Class ⅠampⅡampⅣ Aircraft)lt 100 times 10-7

비행제어 컴퓨터는 모두 전자부품으로 구성되어 있으므로 신뢰성 예측

방법에서 단위 부품에 대한 신뢰성은 MIL-HDBK-217F와 Bellcore 6

규격을 참고하였다 MIL-HDBK-217F는 전자부품에 대한 방대한 고장율

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 46 -

데이터를 제공하고 있지만 전자공학의 발전에 비해 오래된 자료를 바탕으

로 구성된 부품도 포함되어 있기 때문에 SR-332 EPRDNPRD 등 다른

공인기관의 고장율 자료나 제조회사에서 제공하는 고장율 자료를 사용하

였다 각각의 부품은 직렬 시스템으로 연결되어 있고 고장율 분포는 지

수분포로 가정한다 따라서 시스템의 고장율( λ SYS)은 모든 부품에 대한

정상상태 고장율( λ SS(j))을 합한 결과가 된다

λ SYS = sumM

j=0λ SS(j)

MIL-HDBK-217F에서의 고장율 예측은 부품 계수법(Part Count

Method)에 의해 수행되고 계산 모델은 백만( 106) 시간을 기준으로 한다

운용 온도는 30이고 Airborn Uninhabited Cargo(AUC) 운용 환경을

적용하였다 다양한 부품의 고장율 자료를 관리하고 중복구조의 형태를

효율적으로 비교하기 위해 Relex Software사의 Relex75를 사용 하였다

표 5-2 무인항공기 운용 환경

주위 온도() 운용 비율()

지상 운용 40 60

임무 비행 35 30

지상 정지 40 10

고장율은 예측에 적용되는 환경에 따라 기본 고장율과 임무에 따른 고

장율이 다르게 나타난다 표 5-2는 무인표적기의 임무에 따른 운용 비율

을 나타낸다 운용 환경은 우리나라의 한여름을 기준으로 하였으며 임무

비행은 해면고도 1~2km까지 상승하므로 지상에 대한 온도 하강률을 높

게 가정하지는 않았다 약 20km 정도의 비행영역에 대한 비행시간을 정

해 운용 비율을 지상임무지상의 3단계로 구분하였다

기존의 규격은 모두 유인항공기 범주만을 고려하고 있다 무인항공기

의 경우 특별히 정의된 규정이 없기 때문에 일반적으로 유인항공기 규격

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 47 -

을 기준으로 그에 상응하는 고장율 기준을 정하고 있는 실정이다

[161718] 본 논문의 예측결과를 비교하기 위하여 현재 스마트무인기개

발사업단에서 개발하고 있는 틸트 로터 방식의 스마트 무인기(Smart

UAV)의 비행제어 시스템의 신뢰성 요구조건을 같이 제시하였다 미국에

서 현재 사용되고 있는 Global Hawk 무인기의 비행제어 시스템인 경우

이중으로 구성하여 운용하고 있으며 수명주기(Life cycle)는 8400시간을

기준으로 하고 있다 이를 비행시간당 고장율로 환산하면 12 times 10-4hr

가 된다 표 5-3은 유인항공기와 무인항공기에 적용되고 있는 고장율 기

준을 나타낸다

표 5-3 비행 안전 및 신뢰도

Savety cirtical primary

failure probability(hr)

Mission primary failure

probability(hr)

Overall

aircraft

FCS failure

contribution

Overall

aircraft

FCS failure

contribution

Fighter 3 times 10-5 17 times 10-6 1 times 10-2 12 times 10-3

Smart UAV 3 times 10-4 17 times 10-5 1 times 10-2 12 times 10-3

INHA FCS - 117 times 10-5 - -

INHA DFCC - 446 times 10-5 - 427 times 10-5

표 5-4는 비행제어 컴퓨터를 구성하는 부품에 대한 고장율 예측 결과

이고 단위는 시간당 고장율(Fit Failures in time)이다 총 145개 부품

에 대하여 고장율을 파악하였으며 비행제어 컴퓨터의 기본 고장율은

4463 times 10-6 Fit이고 임무 고장율은 4269 times 10-6 Fit임을 알 수 있다

채널 변경 모듈은 PLD 소자를 이용하여 단일 부품으로 구성하였으며 제

4절에서 제시했던 것처럼 전체 고장율에 비해 현저히 낮은 고장율이 나

타남을 확인하였다 시스템에서 고장율 분포를 파악하기 위해 부품의 종

류와 수량을 분류하였다 집적회로(IC Integrated Circuit)는 시스템에서

가장 높은 고장율 분포를 차지한다 시스템을 구성하는 기본 부품이 되

고 그 수량도 많기 때문이다 반대로 저항이나 콘덴서의 경우 수량은 많

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 48 -

지만 부품이 가지고 있는 기본 고장율이 매우 낮기 때문에 전체 고장율

분포에서는 낮은 비율을 차지한다

표 5-4 고장율 분석 자료

Category고장율

(times 10-6Fit)수량

Percent

()

Integrated Circuit 2076 26 448

Capacitor 396 30 91

Resistor 402 40 93

Connection 478 18 110

Miscellaneous 195 2 45

Switching Device 522 2 122

Semiconductor 361 18 83

Other 033 9 08

기본 고장율 4463 145 100

임무 고장율 4269 145 -

채널 변경 모듈 고장율 203 1 -

53 이중구조 신뢰도 분석

시스템의 신뢰도 분석은 시간 변화에 대한 고장율 변화를 에측해 볼

수 있다 그림 5-2는 단일 구조 모델을 그림 5-3은 통신 모듈과 비행제

어 컴퓨터 모듈을 이중으로 구성하고 최종 출력을 위한 채널 변경 모듈을

단일로 구성한 경우이다 이중 구조일 경우 비행제어 컴퓨터는 hot

standby 대기 여분 모듈로 동작한다 그림 5-4는 단일 구조와 이중 구조

에 대한 신뢰도 분석 결과이다 단일 구조의 고장율은 시간의 변화에 따

라 급격히 떨어지지만 이중 구조의 경우 매우 완만한 고장율 변화를 확

인할 수 있다 이러한 자료는 비행제어 컴퓨터의 임무시간과 그에 상응하

는 고장율 요구조건을 충족시키고자 할 때 사용된다

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 49 -

그림 5-2 단일 구조 신뢰성 분석

그림 5-3 이중 구조 신뢰성 분석

그림 5-4 신뢰도 분석 결과

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 50 -

6 결 론

본 논문에서는 무인항공기의 조종에 필수적인 비행제어 컴퓨터를 설계

하고 제작하였다 설계의 주요 관점은 무인항공기에 필요한 신뢰도를 확

보하기 위해 시스템을 설계 하는 것이다 시스템의 신뢰도를 확보하기 위

해 구성 부품의 품질 등급을 향상시키고 각각 모듈을 이용하여 대기 여

분 방식의 이중구조 시스템을 구성하였다 산업용 규격에 적합한 품질 등

급의 향상으로 인해 비용의 증가분이 발생하지만 이는 시스템의 신뢰도

확보로 보상될 수 있다

대기 여분 방식의 이중구조 시스템은 기존의 공유메모리를 사용하지

않고 시리얼 통신을 이용하여 데이터를 공유하며 최종 출력을 결정하는

채널 변경 모듈을 구성하였다 이러한 구조의 최대 취약점인 채널 변경

모듈 고장의 영향을 최소화하기 위해 전체 시스템의 고장율보다 채널 변

경 모듈의 고장율을 현저히 낮게 설계하였다

대기 여분 방식의 임무 전환 여부는 고장 검출기에 의한 시스템의 고

장 발생 여부를 정확히 파악하는데 있다 본 논문에서는 기능 수준의 고

장 모델을 정의하고 이에 적합한 고장 검출기를 구성하여 시스템의 고장

을 확인하게 된다 고장 발생 신호는 고장 관리기로 전달되고 고장 관리

기에 의해 주시스템과 종시스템간의 임무가 전환되어 시스템이 재구성 되

므로 인해 전체 시스템은 정상 동작을 계속 유지하게 된다

이와 같이 설계된 비행제어 컴퓨터는 부품 계수법에 의해 시스템의 고

장율을 예측하였다 이러한 자료를 바탕으로 단일 구조와 중복구조에서의

시간에 대한 고장율 변화를 예측할 수 있다

본 논문을 통하여 무인항공기에 적용 가능한 이중구조의 비행제어 컴

퓨터를 설계하고 검증함으로서 유인항공기에 좀 더 근접한 탑재 시스템의

신뢰도를 확보할 수 있었다

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 51 -

7 참고 문헌

[1] 박무혁 유혁 안이기 김재은 ldquo무인항공기 비행제어 컴퓨터 하드웨

어 개발rdquo 한국항공우주학회 추계학술대회 논문집 2000

[2] 박승창 인광국 김수한 차종인 심갑용 ldquo소형 무인항공기용 자동

비행제어컴퓨터의 버스 구조 개발rdquo 한국군사과학기술학회 2003

[3] 유혁 김재은 김중욱 안이기 권태용 권선근 ldquo무인표적기용 저가형

자동비행장치 개발rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[4] TI TMS320C3x Users Guide July 1997

[5] 이승호 박용수 박군종 이주현 ldquoALTERA MAX+PLUS Ⅱ를 사용

한 디지털 논리회로 설계rdquo 복두출판사

[6] MIL-F-9490D(USAF) Flight Control systems - Design

Installation and Test of Piloted Aircraft General Specification

1975

[7] 홍성제 외 ldquo테스팅 및 테스팅을 고려한 설계rdquo 홍릉과학출판사

1998

[8] MHTehranipour ZNavabi SM Fakhraie An Efficient BIST

Method For Testing of Embedded SRAMs

[9] 김유단 ldquo재형상 비행제어 시스템 알고리즘rdquo 항공기 제어시스템 워

크샵 20033

[10] Barry WJohnson Design and Analysis of Fault-Tolerant

Digital Systems Addison-Wesley Publishing Company 1989

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 52 -

[11] Greg Loegering Another Approach to Dual-Redundancy -

The Global Hawk Experience AUVSI 2000

[12] FAA FAR 251309 Equipment Systems and Installation

[13] 모아소프트 ldquo신뢰성예측 가이드rdquo

[14] MIL-HDBK-217F Reliability Prediction of Electronic

Equipment

[15] TR-332 Reliability Prediction Procedure for Electronic

Equipment

[16] 김영석 장영근 정철오 ldquo통신방송위성 중계기의 신뢰도 분석 및

최적 설계rdquo 한국항공우주학회지 제 30권 제 8호 2002 12

[17] 남윤수 홍성경 유창선 ldquo스마트 무인기 비행제어시스템의 다중화

수준 연구rdquo 한국항공우주학회 춘계학술발표회 논문집 2003

[18] 이상종 이해창 방효충 ldquo비행조종장치의 신뢰성 해석rdquo 한국항공우

주학회 춘계학술발표회 논문집 2004

[19] 이석주 역 ldquoCC++로 작성하는 임베디드 시스템 프로그래밍rdquo 한

빛미디어 1999

[20] 윤덕용 저 ldquoTMS320C31 마스터rdquo Ohm사 1999

[21] 김성수 김성환 박준한 한민우 박춘배 ldquo무인항공기 탑재장비의

고장허용 시스템 연구rdquo 한국항공우주학회 춘계학술발표회 2004

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

- 53 -

[22] 김성수 김성환 김현철 박춘배 ldquo다중성을 갖는 비행제어 컴퓨터

개발rdquo 한국항공우주학회 추계학술발표회 2003

[23] 최성규 홍일선 권오규 ldquo이중 프로세서를 이용한 고장 허용 제어

기의 설계 및 실현rdquo 한국자동제어학술회의 논문집 1993

[24] 박춘배 최기영 ldquo무인항공기 탑재 전자장치rdquo 제어자동화시스템공

학 논문지 20019

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

감사의 글

시간의 흐름을 느낄 수 없이 마냥 흘러갔던 2년의 시간이었던 거 같

습니다 우여곡절 끝에 무엇을 하고자 이곳 이 자리에 서게 되었지만 뒤

돌아보면 그저 부족하기만 해 보입니다 벌써 이렇게 졸업논문을 쓰고 2

년간 생활했던 시간을 정리하다 보니 너무 아쉬움이 앞섭니다 실험실 생

활을 하면서 주위의 모든 분들께 너무 많은 도움을 받았지만 이렇게 조그

만 글로 감사의 마음을 대신 하고자 합니다 그리고 다시 새로운 출발선

에서 앞으로 나아가고자 합니다 이러한 저에게 다시금 여러 후배 선배

동기 여러분들의 따뜻한 박수를 부탁드리겠습니다

지난 2년간 아니 그보다 더 많은 시간이 되겠지만 학업과 생활에 있

어서 여러모로 관심 가져 주시고 지도해 주신 박춘배 교수님 곁에서 항

상 같이 지켜봐 주신 최기영 교수님께 진심어린 존경과 감사를 드립니다

버팀목 같은 두 분 교수님이 계셔서 저는 항상 든든하고 당당할 수 있었

습니다 그동안 수업을 통해 많은 지식을 전해주신 다른 교수님들께도 감

사드립니다 그리고 이곳으로 저를 인도해 주신 주광혁 박사님께도 감사

드립니다

지금은 밖에서 자신의 몫을 하고 있는 현철 홍진 우성 상웅 선배님

들께 정말 고맙다는 말을 전하고 싶습니다 후배 같지 않은 못난 후배를

잘 이끌어 주고 지금 이 자리까지 있게 해주었으니까요 그리고 먼저 졸

업하고 나간 내 동기들 너무 고마웠다 너희들과 같이 나갈 수 있었으면

더 좋았을 것을 그래도 항상 너희들이 있어서 나는 더욱 든든했다 많이

방황하고 힘들어 했던 그렇지만 열심히 자신의 일을 했던 준한 불만 가

득한 표정으로 정말 하나라도 더 얻어갈려고 노력했던 민우 잠 귀신 붙

은 진혁 늘 묵묵히 있고 남을 배려하면서 열심히 노력했던 민성 투덜투

덜 말은 많아도 할거 다 하던 용호 다들 가슴 아프게 고맙다 그리고 이

제는 졸업동기가 되어버린 훈희 너의 깊은 지식과 많은 경험을 내가 얻

어가지 못하는게 너무 아쉬울 뿐이고 앞으로 가는 길에 항상 건강하길 바

란다 이제는 내가 감당할 수 없이 많이 성숙해 버린 후배들 언제나 조용

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49

한 재화 그래서 내가 더 어려워하는지도 몸에 맞지 않게 항상 여려보이

는 태인 조금은 덤벙대는 두열 자신만의 세계가 강한 중섭 너무 웃음이

많아 손해 보는 장모 여기저기 모든 일에 몸 담그고 있는 종후 실험실

의 꽃 세아 다들 그동안 못난 선배 뒷바라지 하느라 고생들 많았다 다들

앞으로 하고 싶은 일 소신 있게 잘 해나갈 수 있기를 바란다 그리고 언

제나 저를 지켜봐 주시는 환이형 영태형 상선이형 태홍이형 이제 이렇

게 짧은 2년의 시간을 정리하게 되었습니다 그리고 자신의 후배처럼 저

를 챙겨주신 웅호형에게도 감사의 마음을 전하고 싶습니다 고향 친구들

과 대학친구들 그리고 전우들아 그 동안 내가 너무 인색하게 모임에 나

가지 못한 거 미안하고 잘 이해해 줘서 고맙다 마지막으로 내가 이 자리

에 처음 왔을 때부터 지금까지 항상 지켜보면서 곱지 않은 후배 때문에

여러모로 고생하신 성환이형에게 진심어린 감사의 말을 전하고 싶습니다

이런 짧은 수식어들이 모든 분들의 고마움을 대신할 수 없지만 앞으로 저

의 발전하는 모습으로 모든 고마움을 표현하고자 합니다

마지막으로 저를 이 자리까지 있게 해주신 아버지 어머니께 감사의

말씀을 드립니다 두 분의 숨은 힘이 없었으면 ldquo우리 아들 파이팅rdquo 하는

어머니의 응원이 없었으면 정말 힘든 시간을 이겨내기 어려웠을 겁니다

작은 이 한권의 책이 두 분의 손에 쥐어지고 ldquo우리아들 고생했네rdquo라는 말

씀이 벌써 제 눈시울을 적시고 있는 듯합니다 그리고 하나뿐인 동생 연

수야 항상 형을 조용히 지켜봐 줘서 고맙다

너무나 많은 소중한 사람들의 응원과 힘이 저를 지금 이 자리에 있게

하였습니다 한분 한분의 이름을 전부 나열하지는 못하였지만 정말 정말

감사합니다 그리고 다시 일어서서 당당하게 앞으로 나아가 보이겠습니

다 그때도 잊지 마시고 다시금 박수를 쳐 주시고 힘을 넣어 주십시오

더욱 열심히 노력하겠습니다

2005년 8월

  • 목차
    • 1 서 론
    • 2 비행제어 컴퓨터 설계
      • 21 요구 사항 및 구성
      • 22 프로세서
      • 23 메모리
      • 24 주변 장치 인터페이스
      • 25 버스제어기
      • 26 내부 논리 구현기
      • 27 전원부
      • 28 비행제어 컴퓨터
      • 29 탑재 소프트웨어
        • 291 부팅절차
        • 292 소프트웨어 구성
            • 3 고장 검출
              • 31 고장 모델 정의
              • 32 기능 수준 고장 모델
              • 33 CPU 고장 검출
              • 34 주변 장치 고장 검출
                • 4 중복구조 설계
                  • 41 중복 구조 개념
                  • 42 중복구조의 적용
                  • 43 이중구조의 비행제어 컴퓨터
                    • 5 신뢰도 분석
                      • 51 고장율 분석
                      • 52 기본 고장율 분석
                      • 53 이중구조 신뢰도 분석
                        • 6 결 론
                        • 7 참고 문헌
                          • 표목차
                            • [표 2-1] 비행제어 컴퓨터 제원
                            • [표 2-2] 메인 프로세서의 특징
                            • [표 2-3] 메모리 사양
                            • [표 2-4] 양방향 버퍼의 데이터 흐름 제어
                            • [표 2-5] 비행제어 컴퓨터 메모리 설정
                            • [표 2-6] 섹션 설정
                            • [표 2-7] 입middot출력 장치 어드레스 설정
                            • [표 2-8] 메인 프로그램 구성
                            • [표 2-9] maincmd
                            • [표 2-10] romcmd
                            • [표 2-11] isrh
                            • [표 2-12] subh
                            • [표 3-1] 고장 모델
                            • [표 3-2] 32비트 DB
                            • [표 3-3] 8비트 DB
                            • [표 3-4] 고장 검출 결과
                            • [표 3-5] 고장 검출 결과
                            • [표 3-6] 고장검출 결과
                            • [표 4-1] 고장 신호 및 출력 신호
                            • [표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정
                            • [표 5-2] 무인항공기 운용 환경
                            • [표 5-3] 비행 안전 및 신뢰도
                            • [표 5-4] 고장율 분석 자료
                              • 그림목차
                                • [그림 1-1] 연구 흐름도
                                • [그림 2-1] PC-104 CPU 모듈
                                • [그림 2-2] 비행제어 컴퓨터 구성
                                • [그림 2-3] 외부 메모리 인터페이스
                                • [그림 2-4] 양방향 FIFO 구성
                                • [그림 2-5] 어드레스 디코더 시뮬레이션
                                • [그림 2-6] 버스제어기의 구조
                                • [그림 2-7] 내부 논리 구현기 구성도
                                • [그림 2-8] 시스템 안정화 방법
                                • [그림 2-9] 제작된 비행제어 컴퓨터
                                • [그림 2-10] 인터럽트와 트랩 벡터
                                • [그림 2-11] 제어워드의 위치와 종류
                                • [그림 3-1] 고장 검출 범위
                                • [그림 3-2] 고장 검출기
                                • [그림 3-3] 워치독 타이머 시뮬레이션
                                • [그림 3-4] 디지털 입출력 장치 고장검출 흐름도
                                • [그림 3-5] 버퍼 고장검출 흐름도
                                • [그림 3-6] PWM 고장검출 흐름도
                                • [그림 4-1] 고장허용제어 시스템의 연구 분야
                                • [그림 4-2] NMR 구조
                                • [그림 4-3] standby sparing
                                • [그림 4-4] X-29의 중복구조
                                • [그림 4-5] Global-Hawk의 중복구조
                                • [그림 4-6] 제안된 이중구조 시스템
                                • [그림 4-7] 고장 신호 및 임무 전환 신호
                                • [그림 4-8] 이중구조 시스템의 동작 수행 과정
                                • [그림 4-9] 채널 변경 모듈 구성도
                                • [그림 4-10] 채널 변경 모듈
                                • [그림 4-11] 이중구조의 비행제어 컴퓨터
                                • [그림 5-1] 신뢰성 예측 절차
                                • [그림 5-2] 단일 구조 신뢰성 분석
                                • [그림 5-3] 이중 구조 신뢰성 분석
                                • [그림 5-4] 신뢰도 분석 결과
                                    • 목차1 서 론12 비행제어 컴퓨터 설계 3 21 요구 사항 및 구성 4 22 프로세서 7 23 메모리8 24 주변 장치 인터페이스12 25 버스제어기14 26 내부 논리 구현기15 27 전원부17 28 비행제어 컴퓨터17 29 탑재 소프트웨어18 291 부팅절차18 292 소프트웨어 구성223 고장 검출26 31 고장 모델 정의27 32 기능 수준 고장 모델29 33 CPU 고장 검출31 34 주변 장치 고장 검출314 중복구조 설계35 41 중복 구조 개념36 42 중복구조의 적용38 43 이중구조의 비행제어 컴퓨터395 신뢰도 분석43 51 고장율 분석43 52 기본 고장율 분석45 53 이중구조 신뢰도 분석486 결 론507 참고 문헌51 표목차[표 2-1] 비행제어 컴퓨터 제원5[표 2-2] 메인 프로세서의 특징7[표 2-3] 메모리 사양8[표 2-4] 양방향 버퍼의 데이터 흐름 제어10[표 2-5] 비행제어 컴퓨터 메모리 설정11[표 2-6] 섹션 설정11[표 2-7] 입middot출력 장치 어드레스 설정12[표 2-8] 메인 프로그램 구성21[표 2-9] maincmd22[표 2-10] romcmd23[표 2-11] isrh23[표 2-12] subh24[표 3-1] 고장 모델28[표 3-2] 32비트 DB29[표 3-3] 8비트 DB29[표 3-4] 고장 검출 결과32[표 3-5] 고장 검출 결과33[표 3-6] 고장검출 결과34[표 4-1] 고장 신호 및 출력 신호41[표 5-1] MIL-STD-9490D 비행제어 시스템 고장율 규정45[표 5-2] 무인항공기 운용 환경46[표 5-3] 비행 안전 및 신뢰도47[표 5-4] 고장율 분석 자료48그림목차[그림 1-1] 연구 흐름도2[그림 2-1] PC-104 CPU 모듈3[그림 2-2] 비행제어 컴퓨터 구성6[그림 2-3] 외부 메모리 인터페이스9[그림 2-4] 양방향 FIFO 구성9[그림 2-5] 어드레스 디코더 시뮬레이션14[그림 2-6] 버스제어기의 구조15[그림 2-7] 내부 논리 구현기 구성도16[그림 2-8] 시스템 안정화 방법17[그림 2-9] 제작된 비행제어 컴퓨터18[그림 2-10] 인터럽트와 트랩 벡터19[그림 2-11] 제어워드의 위치와 종류20[그림 3-1] 고장 검출 범위26[그림 3-2] 고장 검출기30[그림 3-3] 워치독 타이머 시뮬레이션31[그림 3-4] 디지털 입출력 장치 고장검출 흐름도32[그림 3-5] 버퍼 고장검출 흐름도33[그림 3-6] PWM 고장검출 흐름도34[그림 4-1] 고장허용제어 시스템의 연구 분야35[그림 4-2] NMR 구조36[그림 4-3] standby sparing37[그림 4-4] X-29의 중복구조39[그림 4-5] Global-Hawk의 중복구조39[그림 4-6] 제안된 이중구조 시스템40[그림 4-7] 고장 신호 및 임무 전환 신호40[그림 4-8] 이중구조 시스템의 동작 수행 과정41[그림 4-9] 채널 변경 모듈 구성도42[그림 4-10] 채널 변경 모듈42[그림 4-11] 이중구조의 비행제어 컴퓨터42[그림 5-1] 신뢰성 예측 절차44[그림 5-2] 단일 구조 신뢰성 분석48[그림 5-3] 이중 구조 신뢰성 분석49[그림 5-4] 신뢰도 분석 결과49