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

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

  • View
    2

  • Download
    0

Embed Size (px)

Text of 신뢰도 확보를 위한 이중구조 기반의 비행제어 컴퓨터 연구어 컴퓨터를...

  • 工學碩士學位 請求論文

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

    비행제어 컴퓨터 연구

    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 -

    목 차

    초 록 ························································································································ ⅰ

    ABSTRACT ··········································································································· ⅱ

    목 차 ···················································································································· ⅲ

    표 목차 ···················································································································· ⅴ

    그림 목차 ················································································································ ⅵ

    약어 정리 ················································································································ ⅷ

    1. 서 론 ·················································································································· 1

    2. 비행제어 컴퓨터 설계 ······················································································ 3

    2.1 요구 사항 및 구성 ···················································································· 4

    2.2 프로세서 ······································································································ 7

    2.3 메모리 ·········································································································· 8

    2.4 주변 장치 인터페이스 ··········································································· 12

    2.5 버스제어기 ······························································································· 14

    2.6 내부 논리 구현기 ··················································································· 15

    2.7 전원부 ······································································································· 17

    2.8 비행제어 컴퓨터 ····················································································· 17

    2.9 탑재 소프트웨어 ····················································································· 18

    2.9.1 부팅절차 ························································································· 18

    2.9.2 소프트웨어 구성 ··········································································· 22

    3. 고장 검출 ········································································································· 26

    3.1 고장 모델 정의 ······················································································· 27

    3.2 기능 수준 고장 모델 ············································································· 29

    3.3 CPU 고장 검출 ······················································································· 31

    3.4 주변 장치 고장 검출 ············································································· 31

  • - iv -

    4. 중복구조 설계 ································································································· 35

    4.1 중복 구조 개념 ······················································································· 36

    4.2 중복구조의 적용 ····················································································· 38

    4.3 이중구조의 비행제어 컴퓨터 ······························································· 39

    5. 신뢰도 분석 ····································································································· 43

    5.1 고장율 분석 ····························································································· 43

    5.2 기본 고장율 분석 ··················································································· 45

    5.3 이중구조 신뢰도 분석 ··········································································· 48

    6. 결 론 ············································································································· 50

    7. 참고 문헌 ········································································································· 51

  • - v -

    표 목 차

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

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

    표 2-3 메모리 사양 ······························································································ 8

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

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

    표 2-6 섹션 설정 ································································································ 11

    표 2-7 입․출력 장치 어드레스 설정 ······························································· 12표 2-8 메인 프로그램 구성 ·············································································· 21

    표 2-9 main.cmd ································································································ 22

    표 2-10 rom.cmd ······························································································· 23

    표 2-11 isr.h ······································································································· 23

    표 2-12 sub.h ····································································································· 24

    표 3-1 고장 모델 ································································································ 28

    표 3-2 32비트 DB ····························································································· 29

    표 3-3 8비트 DB ······························································································· 29

    표 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

  • - vi -

    그 림 목 차

    그림 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 sparing ··············································································· 37

    그림 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

  • - vii -

    그림 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 모듈

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

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

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

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

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

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

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

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

  • - 4 -

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

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

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

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

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

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

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

    보편적이지 않다.

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

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

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

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

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

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

    위에서 언급된 여러 가지 장․단점을 비교하고 분석하여 본 논문에서는 시스템의 높은 신뢰도를 확보하기 위하여 이중구조 구성이 가능한 비행제

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

    2.1 요구 사항 및 구성

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

    버(RS-485, RS-232), 디지털 입․출력 장치, 아날로그 입력, PWM 출력 등의 사용자 입․출력 인터페이스와 시스템의 확장 및 다중화 구조를 위한 여분의 확장 인터페이스, 시스템 디버깅용 인터페이스 그리고 전원부가

    요구된다.

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

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

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

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

    제원을 나타낸다.

  • - 5 -

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

    CPU TMS320C31, C8051

    System Clock 40MHz, 24MHz

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

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

    FIFO 512byte × 2

    통신RS-485(2채널)

    RS-232(1채널)

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

    BC 내부 워치독

    디지털 입/출력 8채널

    PWM 출력 8채널

    외부 인터럽트 4채널

    아날로그 입력 8채널

    시스템 전원 +3.3vdc, +5vdc

    입력 전원 +7.5vdc ~ +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 -

    2.2 프로세서

    비행에서 컴퓨터에 사용되는 메인 프로세서는 제한된 시간(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 × 32비트 내부 RAM

    64 × 32비트 명령 캐시

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

    리 영역

    마이크로 프로세서모드

    /마이크로 컴퓨터모드

    I/O

    DMA 제어기

    2개의 32비트 타이머

    4개의 외부 인터럽트

    1개의 시리얼 포트

  • - 8 -

    2.3 메모리

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

    모리(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 Flag/Empty Flag를 이용해 제어한다.

  • - 10 -

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

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

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

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

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

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

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

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

    isr.h sub.h

    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)

    I/O_INT 808000h 70h Internal I/O address

    I/O_EXT 700000h100000

    hExternal I/O 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 I/O 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영역을 사용한다. I/O_INT, I/O_EXT, RAM3 영역은 공통으로 사

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

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

    2.4 주변 장치 인터페이스

    표 2-7은 비행제어 컴퓨터에 구성된 입․출력 장치에 대한 어드레스 설정을 나타낸다. 내부 입․출력 영역은 DSP의 레지스터 값을 설정하는 부분으로 2개의 타이머와 인터럽트 및 각종 제어 신호를 설정하는 부분으로

    구성된다. 외부 입․출력 영역은 비행제어 컴퓨터와 주변장치와의 인터페이스를 설정하는 부분으로 2개의 Flash ROM, SRAM, 양방향 버퍼, 버스

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

  • - 13 -

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

    External I/O 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 I/O 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 어드레스 디코더 시뮬레이션

    2.5 버스제어기

    버스제어기(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

    3.3V 3.3V

    Buffer

    RS 485

    RS 485

    RS 485

    RS 485

    Ch1_B

    Ch2_B

    2.6 내부 논리 구현기

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

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

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

    (PWM)을 생성한다. 고장 검출기는 디지털 입․출력장치, 양방향 버퍼, PWM 발생기, 워치독 타이머를 생성하여 각 모듈의 고장 유무를 판별하

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

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

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

  • - 16 -

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

  • - 17 -

    2.7 전원부

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

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

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

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

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

    하였다.

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

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

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

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

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

    2.8 비행제어 컴퓨터

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

    제어 컴퓨터는 2장의 UP/DOWN 보드로 구성하였다. 각각의 보드는 보드

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

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

    -Flash ROM, ⑤-FIFO 메모리(버퍼), ⑥-전원부, ⑦-외부 입․출력 인터페이스, ⑧-시스템 지원 인터페이스, ⑨-이중구조 구성 인터페이스이다. 비

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

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

  • - 18 -

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

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

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

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

    2.9 탑재 소프트웨어

    2.9.1 부팅절차

    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 사이클까지 유

    지한 후 ‘1’로 만들면 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 -

    2.9.2 소프트웨어 구성

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

    두 개(main.cmd, rom.cmd)의 파일과 디바이스 드라이버가 포함되어 있

    는 4개(tms_31.h, intvec.h, isr.h, sub.h)의 파일 그리고 응용 프로그램이

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

    표 2-9 main.cmd

    출력 파일 설정

    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 rom.cmd

    출력 파일 설정

    Intel HEX 파일 포맷 설정

    data width 설정(32bit)

    memory width 설정(8bit)

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

    Primary bus control register 설정

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

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

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

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

    다.

  • - 24 -

    표 2-11 isr.h

    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;

    I/O 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 sub.h

    f out=f in

    2×Timer 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, AHRS/IMU, 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]의 3.1.3.9절에는 유인항공기의 시스템 시험

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

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

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

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

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

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

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

    3.1 고장 모델 정의

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

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

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

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

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

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

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

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

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

    우 까다롭기 때문에 사전에 이러한 고장이 발생하지 않도록 차단(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) 등의 외부 영향에 의해 일

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

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

    영구적으로 논리 ‘0’, 또는 논리 ‘1’로 고정됨을 의미한다. 이 모델은 회로

  • - 29 -

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

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

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

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

    그렇지 않은 경우도 있다.

    3.2 기능 수준 고장 모델

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

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

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

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

    이 올바르게 동작하지 않게 되는 고장을 고려하였다. 고장 모델은 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 -

    3.3 CPU 고장 검출

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    3.4 주변 장치 고장 검출

    그림 3-4는 디지털 입․출력 장치에 대한 고장 검출 흐름도를 나타낸다. 우선 미리 정의된 A라는 테스트 패턴을 생성하고 디지털 입력장치와

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

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

  • - 32 -

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

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

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

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

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

    표 3-4 고장 검출 결과

    판 단 출력신호 상 태

    A ≠ Pattern 00 Line Fault

    A ≠ B 10 Digital In Fault

    A ≠ C 01 Digital Out Fault

    A = B = C 11 Normal

    버퍼의 고장 검출 과정도 디지털 입․출력 장치의 고장 검출 방법과 같다. 하지만 버퍼는 FIFO 메모리로 구성되어 있기 때문에 검사 후에도 테

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

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

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

  • - 33 -

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

    표 3-5 고장 검출 결과

    판 단 출력신호 상 태

    A ≠ Pattern 00 Line Fault

    A ≠ B 10 Digital In Fault

    A ≠ C 01 Digital Out Fault

    A = B = C 11 Normal

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

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

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

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

    신호를 나타낸다.

  • - 34 -

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

    표 3-6 고장검출 결과

    판 단 출력 신호 상 태

    A = B 1 Normal

    A ≠ B 0 PWM Signal Fault

  • - 35 -

    4. 중복구조 설계

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • - 36 -

    4.1 중복 구조 개념

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

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

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

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

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

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

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

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

    는 수동적(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개 이상이면 구성이 가능하다. 하지

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

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

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

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

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

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

    확보해야 한다.

    4.2 중복구조의 적용

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

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

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

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

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

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

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

    였다.

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

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

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

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

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

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

    된다.

  • - 39 -

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

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

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

    그림 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. 신뢰도 분석

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    5.1 고장율 분석

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

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

    률이다.

    이때 고장율(λ : 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

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

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

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

    제품의 환경, 조건 규정

    Relex 프로그램 사용

  • - 45 -

    5.2 기본 고장율 분석

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

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

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

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

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

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

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

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

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

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

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

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

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

    정의하고 있다.

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

    Aircraft Category

    Probability Los of Control for

    Flight Safety

    (Extremely Remote)

    Heavy Bombers, Transports,

    Cargo & Tankers

    (MIL-F-8785 Class Ⅲ Aircraft)

    < 5 × 10-7

    All Rotary Aircraft < 25 × 10-7

    All Other Aircraft (MIL-F-8785

    Class Ⅰ&Ⅱ&Ⅳ Aircraft)< 100 × 10-7

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

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

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

  • - 46 -

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

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

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

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

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

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

    λ SYS = ∑M

    j=0λ SS(j)

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

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

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

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

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

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

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

    지상 운용 40 60

    임무 비행 35 30

    지상 정지 40 10

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

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

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

    비행�