KR20070070662A - 초소형 위성용 데이터제어 자동복구 시스템 - Google Patents
초소형 위성용 데이터제어 자동복구 시스템 Download PDFInfo
- Publication number
- KR20070070662A KR20070070662A KR1020050133455A KR20050133455A KR20070070662A KR 20070070662 A KR20070070662 A KR 20070070662A KR 1020050133455 A KR1020050133455 A KR 1020050133455A KR 20050133455 A KR20050133455 A KR 20050133455A KR 20070070662 A KR20070070662 A KR 20070070662A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- satellite
- signal
- input
- error
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64G—COSMONAUTICS; VEHICLES OR EQUIPMENT THEREFOR
- B64G1/00—Cosmonautic vehicles
- B64G1/10—Artificial satellites; Systems of such satellites; Interplanetary vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Astronomy & Astrophysics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Radio Relay Systems (AREA)
Abstract
본 발명의 초소형 위성용 데이터제어 자동복구 시스템은, 초소형 위성의 메인 프로세서와 외부의 입출력 장치 및 시스템 사이에 데이터 입출력을 높은 정확성을 가지고 고속으로 수행하며, 처리해야 할 데이터를 감시하여 에러를 정정하고 자동으로 복구하도록 제어하는 위성용 데이터제어 기술에 관한 것이다.
본 발명은, ① 위성이 수신한 신호의 정상여부를 확인하고 인터페이스할 신호들을 패킷형태로 형성한 후 우선순위에 따라, 상기 위성과 외부와의 인터페이스를 제어하는 데이터제어모듈과, ② 상기 데이터제어모듈로부터 입력된 신호를 감시하며, 상기 입력된 신호에 오류정정용 코드신호를 포함시켜 상기 위성에 구비된 메모리에 기록하고, 상기 입력된 신호로부터 새로운 오류정정용 코드를 생성한 후 비교한 결과에 근거하여, 오류가 없는 데이터를 복원하도록 관리하는 메모리관리모듈과, ③ 상기 위성의 각 구성부에 대한 감시를 통하여 비정상적 작동시 강제리셋을 발생시키고, 상기 데이터제어모듈과 메모리관리모듈에서 확인한 오류 내용을 상기 위성의 메인 프로세서로 전송하는 모니터링모듈을 포함하고 있다.
따라서 본 발명은 데이터 처리의 효율을 높이고 고속화를 이루어 초소형 위성체의 작동을 획기적으로 증대시키고, 저비용, 초소형, 전자회로부의 설계 간소화를 이룰 수 있으며, 본 발명의 시스템이 탑재된 초소형 위성은 중형 위성에서나 가능했던 여러 과학 임무들을 대신할 수 있는 효과를 제공한다.
초소형 위성, FPGA, HDL, 데이터 제어, 데이터 복구
Description
도 1 ; 본 발명 일실시예의 초소형 위성용 데이터제어 자동복구 시스템을 설명하기 위한 도면.
도 2 ; 도 1 초소형 위성용 데이터제어 자동복구 시스템의 데이터제어모듈에 대한 구성블럭도.
도 3 ; 도 1 초소형 위성용 데이터제어 자동복구 시스템의 메모리관리모듈에 대한 구성블럭도.
도 4 ; 도 1 초소형 위성용 데이터제어 자동복구 시스템의 모니터링모듈을 중심으로 한 구성블럭도.
< 도면의 주요부분에 대한 부호의 설명 >
100 : 데이터제어모듈
110 : UART단 120 : DTMF수신단
130 : HDLC제어단 140 : 폴트확인단
150 : CRC단 160 : 신호변환단
170 : 채널멀티플렉서 180 : 패킷처리단
190 : 직병렬변환단
200 : 메모리관리모듈
210 : 해밍코드생성단 220 : EDAC단
230 : 메모리스크럽단 240 : 폴트확인단
250 : BUS제어단
300 : 모니터링모듈
310 : 워치독타이머 320 : 멀티플렉서
330 : 상태메모리 340 : 인터럽트발생기
400 : RS-232 인터페이스
본 발명은 위성기술에 관한 것으로, 초소형 위성의 메인 프로세서와 외부의 입출력 장치 및 시스템 사이에 데이터 입출력을 높은 정확성을 가지고 고속으로 수행할 수 있도록 구성한 시스템으로, 데이터 처리의 효율을 높이고 고속화를 이룬, 초소형 위성용 데이터제어 자동복구 시스템을 제시한 것이다.
초소형 위성의 탑재 컴퓨터는 기존의 중대형 위성의 경우에서와 마찬가지로 위성내 여러 탑재체와 서브시스템 간에 수 많은 인터페이스 관계를 가지고 있다. 반면 본 발명이 적용되는 초소형 위성의 경우 무게 및 부피에 큰 제약사항을 가지 기 때문에, 탑재컴퓨터 역시 매우 제한된 무게 및 부피 등에 만족하면서 필요한 기능을 수행하는 것이 요구된다.
본 발명은 우주기술(ST; Space Technology)에 속하며 인공위성용 전자회로와 관련된 것이다. 인공위성은 우주라는 특수한 환경에서 운용되는 시스템이기 때문에 인공위성에 탑재되는 전자회로는 과거 우주 인증을 받거나 우주용으로 생산된 제품을 사용하는 것이 일반적이다.
그러나 설계 방식이 다변화되고 있는 현대의 위성 임무에 적용하기에는 에로사항이 많으며 더불어 복합적인 기능이 요구될 경우, 위성의 전자회로는 중형 위성 이상의 크기에서나 가능할 정도로 그 규모가 매우 커지기 때문에, 초소형 위성의 경우 제한된 예산 및 비용 내에서는 간단한 임무 수행만을 구현할 수 있게 된다. 종래의 기술은 이러한 대형화, 고비용, 기능의 비유연성 등의 문제점을 가지고 있다.
아울러, 위성 탑재 컴퓨터의 프로세서에서 필요로 하는 부가적인 전자회로들은 위성의 제한적인 크기 때문에 비용, 공간, 개발 기간의 문제점을 가지고 있다.
따라서, 종래의 문제점을 극복하기 위한 본 발명의 목적은, 초소형 위성의 메인 프로세서와 외부의 입출력 장치 및 시스템 사이에 데이터 입출력을 높은 정확성을 가지고 고속으로 수행하며, 처리해야 할 데이터를 감시하여 에러를 정정하고 자동으로 복구하도록 제어하는 초소형 위성용 데이터제어 자동복구 시스템에 대한 기술을 제공함에 있다.
또한, 다채널 데이터 흐름 제어, 우주환경을 고려한 EDAC(Error Detection And Correction), 데이터 통신의 신뢰성을 위한 CRC(cyclic redundancy checking) 감시 기능, 하드웨어 감시를 위한 워치독(watchdog) 등의 여러 기능을 구현함으로써 초소형, 저비용, 하드웨어 설계의 간소화를 이루고자 한다.
아울러, 본 발명에서는 종래의 큰 위성 규모에서나 가능했던 고속/대용량 데이터 처리 및 제어가 초소형 위성에서도 가능하도록 구현하고 있으며, 이러한 본 발명의 기술은 국내에서는 시도된 적이 없는 초소형 위성용 이라는 점에서 관련 위성 기술 발전에 크게 기여할 것으로 예상된다.
특히 본 발명에 따른 초소형 위성용 데이터제어 자동복구 시스템의 기술을 상용 FPGA(Field Programmable Gate Array) 단일 칩에 수많은 전자회로부의 기능을 집적함으로써 초소형화, 저비용 설계를 이룰 수 있고, 데이터 인터페이스 부분의 크기를 획기적으로 줄이며, 동시에 설계 기간의 단축과 개발비용의 절감 효과를 거둘 수 있을 것이다.
첨부된 도면들을 참조하여 본 발명의 일실시예를 자세히 설명한다.
도 1은 본 발명 일실시예의 초소형 위성용 데이터제어 자동복구 시스템을 설명하기 위한 도면이다.
도시한 바와 같이 본 실시예의 초소형 위성용 데이터제어 자동복구 시스템 은, 데이터제어모듈(100), 메모리관리모듈(200) 그리고 모니터링모듈(300)로 크게 구분할 수 있으며, 본 실시예에서는 이러한 구성의 일반적인 통신을 위해 RS-232 인터페이스(400)를 연결한 경우를 나타내고 있다.
본 실시예의 초소형 위성용 데이터제어 자동복구 시스템에서는 전송시의 에러를 없애기 위해, 외부 장치나 기기와의 통신시 미묘한 클록의 오차가 생기더라도 일정 비트수, 예를 들어 8비트의 데이터가 모두 전송되고 난 후 다음 데이터가 동기화되도록 하는 설계방식을 취하고 있다.
보다 자세하게 살펴보면, 본 실시예에서는 11.0592MHz 공통 클럭(Clock)을 기본으로 9600BPS(Bit per Second) 4채널, 38,200BPS 2채널, 115,200BPS 4채널이 구현되어 있으며 전송 속도는 쉽게 변경이 가능하도록 유연하게 구성하였다.
도 2는 도 1 초소형 위성용 데이터제어 자동복구 시스템의 데이터제어모듈(100)에 대한 구성블럭도이다.
도시한 바와 같이, 본 데이터제어모듈(100)은 UART단(110 ; Universal Asynchronous Receiver/Transmitter), DTMF수신단(120 ; Dual Tone Multi Frequency), HDLC제어단(130 ; High-level Data Link Control), 폴트확인단(140 ; Fault Report Generator), CRC단(150 ; cyclic redundancy checking), 신호변환단(160), 채널멀티플렉서(170), 패킷처리단(180) 그리고 직병렬변환단(190)으로 크게 구분할 수 있다.
본 실시예의 데이터제어모듈(100)은 위성에 탑재된 많은 서브시스템과 탑재체간의 통신이 이루어 질 수 있도록, 10채널의 UART단(110), DTMF수신단(120), HDLC제어단(130)을 각각 지원한다. 특히 UART단(110) 중 4채널은 일반적으로 많이 사용되는 RS-232 인터페이스(400)에 적합하도록 구현하여 일반적인 상용의 위성시스템장치들과 원할한 통신이 이루어지도록 하였다.
먼저, UART단(110)은 오차가 없는 통신을 위해, 입력되는 클록을 목표 통신속도에 맞게 카운트하고 통신 속도마다 정해진 카운트 횟수에 근거하여, 각 구성부나 장치들로 향하는 인터페이스를 제어하기 위해 UART(Universal Asynchronous Receiver/Transmitter) 채널에 입력되는 신호를 취하는 방식으로 진행된다.
아울러 이러한 UART단(110)의 회로는 입력 클록을 목표 통신 속도에 맞게 분주하여 그 시간 동안 전송하는 구조를 가지고 있다. 본 실시예에 있어, UART 채널 내부의 데이터 처리 방식은 8개의 병렬 데이터와 직렬 데이터가 상호 전환되는 구조로 쉬프트 레지스터(Shift Register)를 사용하여 FIFO(First-In First-Out) 방식으로 송수신하며, 여기서도 일반적인 UART(Universal Asynchronous Receiver / Transmitter)구조와 같이 송수신 준비 확인이 가능한 플래그(Flag)가 생성된다.
또 다른 통신을 위한 구성부인 DTMF수신단(120)은 4개의 데이터 신호와 1개의 동기 신호로 구성된다. 본 실시예에서는 동기 신호가 하강에지(Falling Edge)일 때 데이터 입력 포트에서 수신되는 신호를 받는다. 이는 다시 UART 채널로 넘겨져 4비트의 DTMF(Dual Tone Multi Frequency)에 해당하는 ID(Identification)가 더해진 후 최종적으로 8비트가 직병렬변환단(190)을 통해 직렬 데이터로 변환된 다음, HDLC제어단(130)이나 UART단(110)을 이용하여 프로세서로 전송된다. 특별히 DTMF수신단(120)은 지상으로부터의 데이터 수신을 실시간으로 지원하기 위해 최상위의 채 널 우선권을 가진다.
HDLC제어단(130)을 위한 HDLC(High-level Data Link Control) 프로토콜 채널은 데이터 프레임 내에 데이터 흐름을 제어하고 에러를 보정할 수 있도록 하기 위한 정보를 끼워 넣음으로써, 추가적으로 통신하게 될 프로세서의 프로토콜을 지원하기 위해 설계되었다.
CRC단(150, cyclic redundancy checking)은 입력된 데이터에 에러가 있는지 확인하기 위한 주기적 덧붙임 검사를 실시하는 구성부이다. 송신시에는 전송될 데이터 블록에 16비트 또는 32비트 다항식을 적용하여, 그 결과로 얻어진 코드를 그 블록에 덧붙이며, 수신시에는 데이터에 같은 다항식을 적용하여 그 결과를 송신시에 보내온 결과와 비교하고, 만약 두 개가 일치하면 그 데이터는 성공적으로 수신된 것이며, 그렇지 않은 경우 그 데이터 블록을 재 송신하도록 송신측에게 요구한다.
도시한 바와 같이, 본 CRC단(150)은 주기적인 덧붙임 검사를 실시하는 CRC체커(152)와, 이러한 체크결과에 따라 해당 비트수의 CRC(cyclic redundancy checking)용 코드를 생성하는 CRC발생기(151)를 포함하고 있다.
신호변환단(160)은 본 데이터제어모듈(100)을 구성하는 각 구성부간의 신호처리를 위해 코우딩(coding) 및 디코딩(decoding)을 실시하여 신호를 변환하며, 이를 위해 엔코더(161, encorder) 및 디코더(162, decoder)를 구비하고 있다.
채널멀티플렉서(170)는 본 데이터제어모듈(100)의 작동상태에 따라 상기 HDLC제어단(130) 및 CRC단(150) 사이의 신호전달을 위한 채널을 선택한다.
본 데이터제어모듈(100)에 있어, 각 채널은 송수신에 대한 우선순위를 가지며, 최상위 순위에 있는 UART 채널에서 수신되는 데이터를 통해 송수신 권한이 부여된다. 모든 통신 채널은 채널멀티플렉서(170)를 통해 HDLC 채널과 1:1로 연결되고, 송신의 경우는 HDLC메이커(131)와 CRC발생기(151)를 사용하여 패킷(Packet)을 구성하며, 수신의 경우에는 HDLC샘플러(132)와 CRC체커(152)를 사용하여 정상으로 인식한 패킷(Packet)만 가려서 수신한다.
HDLC메이커(131)는 시작과 끝을 알리는 플래그를 패킷(Packet)의 양 끝단에 생성하고 양 끝 사이에 전송하고자 하는 데이터와 데이터의 신뢰성을 위한 정보들을 포함하여 송수신한다. 이때 신뢰성을 위한 정보는 16비트 CRC용 코드로 CRC발생기(151)가 생성한다.
HDLC샘플러(132)는 먼저 8비트의 데이터를 받으면 패킷(Packet)의 시작 플래그임을 확인한 후 다음 동작을 진행하며, 오류 없는 데이터 전송을 위해 플래그 이외에 전송되는 데이터들에 대해 생성된 CRC코드를 사용하여 최종 무결성을 확인한다. 이 코드를 기준으로 입력된 CRC 코드와 비교한 후 CRC체커(152)에 의해 다른 채널로의 전송여부를 결정한다.
이상과 같은 과정 진행 중 신호패킷(Packet)의 구조적인 오류나 CRC 불일치가 발생 시, 폴트확인단(140)은 이 폴트(Fault) 내용들을 외부로 전달하는 라인(본 실시예에서는 3개라인)을 통해 플래그로 생성한다.
디지털 데이터의 통신에서는 일반적으로 전송 효율과 신뢰성 보장을 위해 암호화하여 패킷(packet)형태로 전송하는 것이 일반적이다. 본 패킷발생기(181, Packet Generator)는 일반 전화선과 모뎀을 이용해 통신망에 접속하게 해 주는 SLIP(Serial Line Internet Protocol)이라는 통신규약에 따라 데이터를 암호화 하며, 패킷샘플러(182, Packet Sampler)는 UART 채널을 통해 수신된 데이터 중 SLIP 통신규약으로 암호화되어 있는 직렬 데이터를 8비트의 병렬 데이터로 전환시킨다.
결국 전술한 바와 같은 각 구성부의 작동을 통하여, 본 실시예의 데이터제어모듈(100)은, 위성이 수신한 신호의 정상여부를 확인하고 인터페이스할 신호들을 패킷형태로 형성한 후, 우선순위에 따라, 상기 위성과 외부와의 인터페이스를 제어함으로써, 상기 위성에 탑재된 컴퓨터 시스템이 외부와의 데이터 송수신시 필요한 여러 인터페이스를 수행하게 된다.
도 3은 도 1 초소형 위성용 데이터제어 자동복구 시스템의 메모리관리모듈(200)에 대한 구성블럭도이다.
도시한 바와 같이, 본 실시예의 메모리관리모듈(200)은 해밍코드생성단(210, Hamming Code Generator), EDAC단(220, Error Detection And Correction), 메모리스크럽단(230, Memory Scrubber), 폴트확인단(240) 그리고 BUS제어단(250)을 구비하고 있다.
본 메모리관리모듈(200)은 두 프로세서가 동시에 동작할 때 공유해도 무관한 버스와 충돌이 생기는 버스를 구분하여 사용권을 제공하고, EPROM, EEPROM 그리고 SRAM 등의 메모리에 접근 할 수 있으며, 본 실시예에서는 32비트 데이터 버스와 20비트 주소 버스를 지원한다.
우주환경에서의 전자 부품은 방사능에 의한 SEU(Single Event Upset)라는 피 해를 입게 되는데, 이는 큰 노이즈로 작용해 데이터 전송 시 정보를 변경시키거나 기억소자의 정보를 반전시켜 오동작을 유발시키는 요인이 된다.
이에 대한 대책으로 메모리로부터 데이터 송수신을 할 때 신뢰성을 유지하기 위해 원시데이타의 복원에 관계하는 구성부를 거치게 되는데, 이 부분이 해밍코드생성단(210)과 EDAC단(220)이다. 본 실시예에서 해밍코드생성단(210)은 2개의 해밍코드발생기(210a, 210b)를, EDAC단(220)은 4개의 EDAC(EDACa, EDACb, EDACc, EDACd)를 각각 구비하고 있다.
해밍코드생성단(210, Hamming Code Generator)은 본 메모리관리모듈(200)로 입력되는 신호에 오류의 검출 및 수정을 위한 해밍코드(Hamming Code)를 생성하여 추가하는 기능을 수행한다.
본 실시예를 통해 그 과정을 살펴보면, 메모리에 접근하여 데이터를 기록할 때 프로세서로부터 데이터를 수신하면 16비트의 데이터 버스에서 8비트마다 해밍코드생성단(210)을 통해 4비트 해밍코드가 생성되는데, 이 코드는 2개 비트의 오류를 검출하고 1개의 비트 오류를 정정할 수 있으며, 해밍코드 역시 SEU의 영향을 받기 때문에 동일한 코드 4비트를 추가하여 총 8비트를 생성하게 된다.
본 실시예의 메모리관리모듈(200)은 데이터버스로부터 16비트와, 이 데이터로부터 생성된 해밍코드 16비트가 32비트 데이터 버스를 이루어, 이 32비트 데이터가 메모리에 최종적으로 기록된다. 메모리에서 데이터를 읽어올 때는 32비트 데이터버스를 통해 데이터를 얻게 되며, 앞서 기록할 때의 과정처럼 16비트의 원시 데이터와 16비트의 해밍코드 데이터가 불러지게 된다.
이 32비트 원시 데이터에서 오류를 찾기 위해 해밍코드생성단(210)의 두 해밍코드발생기(210a, 210b)와 EDAC단(220)의 네 EDAC(EDACa, EDACb, EDACc, EDACd)이 모두 사용되는데, 해밍코드발생기(210a, 210b)는 원시 데이터로부터 새로운 해밍코드를 생성하고, 네 EDAC(EDACa, EDACb, EDACc, EDACd)는 중복으로 기록된 4개의 4비트 해밍코드들에 각각의 1:1로 대응되어 원시 데이터를 복원한다.
먼저 중복 기록된 해밍코드의 일치를 판단한 다음, 불일치하면 해밍코드생성단(210)은 해밍코드를 생성한다. 이렇게 준비된 해밍코드는 보우팅로직(Voting Logic)을 통해 다수결에 의해 데이터를 최종 오류가 없는 데이터로 결론을 내린다. 동시에 EDAC단(220)에 의해 미리 복원된 원시 데이터 중 다수결에 의해 판단된, 오류가 없는 해밍코드에 의해 복원된 데이터를 전송한다. 이 알고리즘은 데이터가 아닌 해밍코드가 피해를 입었을 때도 데이터 복구가 가능하다는 특징이 있다.
메모리스크럽단(230, Memory Scrubber)은 본 초소형 위성용 데이터제어 자동복구 시스템이 우주환경에서 동작하게 됨에 따라, 위성체에 구비되는 메모리에 기록하고 있는 데이터의 신뢰성을 유지하기 위하여 메모리의 스크러빙(scrubbing)을 수행한다. 전술한 바와 같이 우주환경에서는 1시간에 약 1회 정도로 휘발성 기억소자의 데이터를 반전시키는 SEU(Single Event Upset)의 위험이 있는 것으로 보고되고 있다. 위성은 휘발성 메모리를 주메모리로 설계하므로 SEU에 대한 대책이 필요하며, 본 메모리스크럽단(230)이 그 역할을 하고, 전술한 해밍코드생성단(210)과 EDAC단(220)을 이용하게 된다. 따라서 프로세서는 메모리를 사용하지 않는 유휴 시간동안 메모리에 접근하여 데이터를 감시하는 과정에서, 16비트의 원시 데이터와 16비트의 해밍코드 데이터를 불러들이게 된다.
또한 SRAM 등 메모리의 SEU에 의한 중복 피해로 데이터 복구가 불가능한 상황을 방지하기 위해, 자동 메모리 오류 감시 및 정정의 기능이 구현되어 있으며, 이 경우 프로세서가 메모리를 사용하지 않는 유휴 시간을 추적하여 버스 충돌을 일으키지 않으면서 스스로 데이터 오류를 찾아 정정하게 된다.
아울러 이상과 같은 과정 진행 중, EDAC단(220)에 의한 오류 검출 시, 폴트확인단(240)은 이 폴트(Fault) 내용들을 외부로 연결되는 3개의 라인을 통해 플래그로 생성한다.
BUS제어단(250)은 본 메모리관리모듈(200)의 상기 각 구성부와 외부와의 신호전달을 위한 채널을 제어하는 기능을 수행하여 원활한 신호전송이 이루어 질 수 있도록 한다.
결국 전술한 바와 같이, 본 실시예의 메모리관리모듈(200)은, 상기 데이터제어모듈(100)로부터 입력된 신호를 감시하고, 상기 입력된 신호에 오류정정용 코드신호를 포함시켜 상기 위성에 구비된 메모리에 기록하며, 입력된 신호로부터 새로운 오류정정용 코드를 생성한 후 비교한 결과에 근거하여, 오류가 없는 데이터를 복원하도록 관리함으로써, 위성의 프로세서가 메모리 버스를 공유하는 과정을 제어하며, 동시에 메모리에 기록된 데이터의 오류정정을 수행하게 된다.
도 4는 도 1 초소형 위성용 데이터제어 자동복구 시스템의 모니터링모듈(300)을 중심으로 한 구성블럭도이다.
도시한 바와 같이, 본 모니터링모듈(300)은 워치독타이머(310, Watchdog Timer), 멀티플렉서(320, MUX ; Multiplexor), 상태메모리(330, Status Memory) 그리고 인터럽트발생기(340, Interrupt Generator)를 각각 포함하고 있다.
본 실시예의 모니터링모듈(300)에 있어서, 2개의 워치독타이머(310)는 각각 독립적으로 작동이 가능하며, 동시에 동작하는 다수의 컨트롤러를 감시 할 수 있다.
데이터제어모듈(100)에서 발생하는 신호가 리프레쉬(Refresh)신호로 입력이 되면 워치독타이머(310)는 리셋 대상이 정상적으로 작동하는 것으로 간주하며, 감시를 수행하는 도중 일정 시간 신호가 발생하지 않으면 리셋 대상이 이상이 있다고 판단을 하고 강제로 리셋 신호를 발생시킨다.
아울러, 전술한 데이터제어모듈(100) 및 메모리관리모듈(200)에서 발생한 폴트(Fault) 플래그를 관리하는데, 이 경우 본 발명에서 발생하는 폴트(Fault)와 관계된 원인 및 내용들을 모두 포괄하며, 플래그가 보고하는 상황에 맞게 강제 리셋을 발생시키기도 한다.
멀티플렉서(320, MUX ; Multiplexor)는 상기 데이터제어모듈(100) 및 메모리관리모듈(200)에서 파악된 폴트(Fault) 상태에 따라 신호연결을 선택한다. 즉 상기 데이터제어모듈(100) 및 메모리관리모듈(200)의 각 폴트확인단(140, 240)에서 보고되는 플래그는 멀티플렉서(320)에 의해 교차로 리셋이 가능하며, 이를 위해 본 실시예에서는 교차로 연결되어 운용되고 있는 시스템에 대한 리셋 기능을 지원한다.
또한 본 실시예에서는 내부 신호 유입에 대해 사용자가 값비싼 관측 장비를 사용하지 않고도 감시할 수 있도록 별도의 모니터링 UART 2채널이 구현되어, 컴퓨 터로 송수신되는 데이터를 저렴한 비용으로 손쉽게 모니터링할 수 있다. 아울러 위성의 메인 프로세서가 운용하고 있던 모드에 대한 내용을 주기적으로 갱신하면서 기록 및 유지하는 상태메모리(330)에 의해 프로세서가 재부팅시 이전에 운용하고 있던 모드로의 전환을 용이하고 빠르게 해준다.
인터럽트발생기(340, Interrupt Generator)는 프로세서 재부팅 시 이전에 운용하고 있던 모드로의 전환을 용이하고 빠르게 수행하기 위해 인터럽트를 발생하여 지원하며, 이는 메인 프로세서가 운용하고 있던 모드에 대한 내용을 주기적으로 갱신하면서 기록 및 유지하는 상태메모리(330)의 데이터를 전송하므로써 가능하게 된다.
결국 본 모니터링모듈(300)은 워치독 기능을 수행함으로써 위성의 각 구성부에 대한 감시를 통하여 비정상적 작동시 강제리셋을 발생시키고, 데이터제어모듈(100)과 메모리관리모듈(200)에서 확인한 오류 내용을 상기 위성의 메인 프로세서로 전송하는 기능을 수행하게 된다.
아울러 이상에서 설명한 바를 통하여, 초소형 위성에서 처리해야 할 각종 데이터를 제어하며, 처리과정에서 오류 또는 폴트(fault)가 발생하면 이를 감지하여 자동으로 복귀시키게 된다.
이러한 본 실시예의 초소형 위성용 데이터제어 자동복구 시스템은 각종 전자소자를 이용하여 인쇄회로기판(PCB)상에서 구현이 가능하며, 특히 전술한 바와 같은 FPGA(Field Programmable Gate Array), PLD( Programmable Logic Device), CPLD(Complex Programmable Logic Device) 등과 같은 반도체 설계기술을 이용하여 하나의 초소형 칩(CHIP)으로도 제작이 가능하다.
이 중에서도 FPGA(Field Programmable Gate Array) 방식을 이용하고 하나의 클록으로 반도체칩의 모든 동작이 수행되도록 글로벌클록(Global Clock)을 인가하여 PQFP(Plastic Quad Flat Pack Package)타입의 초소형 반도체 칩(CHIP)으로 구현한 결과, 구동전압을 3.3V로 했을 때, 최대소모 전력이 1W(와트) 이하였으며, 그 작동속도도 업그레이드되어 8비트 메모리인 경우 약 68MHz 속도로 기록이 가능하였다. 각각의 모듈 및 구성부들을 구현하기 위해 95,000 ~ 110,000 범위내의 약 십만(100,00)의 게이트 정도로 충분하였고, 총 240핀(pin) 수 가운데 입출(I/O)을 위해 180 ~ 200 핀수 범위내의 소요로 충분한 약 190 핀이 차지하였다.
이러한 본 초소형 위성용 데이터제어 자동복구 시스템의 반도체 칩(CHIP) 구현에 있어, 사용되는 게이트수, 입출을 위해 사용되는 핀수, 그리고 이를 통하여 실현된 소모전력 및 작동속도 등은, 일반 전자회로를 통한 구현이나 다른 설계방식으로 구현되는 반도체 칩과 구별될 수 있는 특징이 될 수 있으며, 반도체 칩으로 구현된 초소형 위성용 데이터제어 자동복구 시스템은 일반 전자회로에서와는 비교할 수 없는 뛰어난 성능과 효율을 나타내는 것을 확인할 수 있었다.
아울러 전송시의 에러를 없애기 위해 데이터가 모두 전송되고 나면 다음 데이터는 동기화되도록 하는 구조와 이를 위한 클럭수 및 채널 구조 역시, 본 반도체 칩(CHIP) 구현에 있어서도 동일하게 적용시키고 있다.
결국, 본 발명은 데이터 흐름의 제어와 오류 복구의 기능을 가지는 시스템을 구현할 수 있으며, 일반 전자회로는 물론 다양한 방식의 반도체 칩으로 구현이 가 능하는 등, 본 발명의 기술적 개념을 바탕으로 보다 다양하게 실시하는 것이 가능하다.
이상에서와 같이 본 발명은 데이터 흐름의 제어와 오류 복구의 기능을 가지고 있어, 초소형 위성에 적용할 경우 개발자는 별도의 UART 채널을 위한 전용 디바이스를 사용하거나 가격이 상대적으로 고가인 EDAC 디바이스를 사용할 필요가 없이 프로세서와의 인터페이스만 고려하면 될 뿐만아니라, 다수의 컨트롤러의 실시간 감시가 가능하며, 잉여(Redundancy) 시스템을 선택 시 버스 제어를 위한 TTL(transistor-transistor logic circuit) 등의 로직을 구성할 필요가 없다. 아울러, 본 발명을 통해 기존의 설계 방식으로 구현 시 요구되는 매우 큰 규모의 PCB가 하나의 칩으로 구현되어 소형화됨으로써 초소형 위성에 고속/대용량의 우수한 데이터 처리능력을 부여 할 수 있으며, 소형위성 개발자는 전체적인 개발 비용의 절감, 초소형화, 개발 기간의 단축이라는 효과를 얻을 수 있다.
Claims (6)
- 위성이 수신한 신호의 정상여부를 확인하고 인터페이스할 신호들을 패킷형태로 형성한 후 우선순위에 따라, 상기 위성과 외부와의 인터페이스를 제어하는 데이터제어모듈(100)과;상기 데이터제어모듈(100)로부터 입력된 신호를 감시하며, 상기 입력된 신호에 오류정정용 코드신호를 포함시켜 상기 위성에 구비된 메모리에 기록하고, 상기 입력된 신호로부터 새로운 오류정정용 코드를 생성한 후 비교한 결과에 근거하여, 오류가 없는 데이터를 복원하도록 관리하는 메모리관리모듈(200)과;상기 위성의 각 구성부에 대한 감시를 통하여 비정상적 작동시 강제리셋을 발생시키고, 상기 데이터제어모듈(100)과 메모리관리모듈(200)에서 확인한 오류 내용을 상기 위성의 메인프로세서로 전송하는 모니터링모듈(300)을 포함함으로써,상기 위성의 데이터를 관리 및 제어하고 비정상적 신호의 검출시 자동으로 복구하는 것을 특징으로 하는, 초소형 위성용 데이터제어 자동복구 시스템.
- 제1항에 있어서, 상기 데이터제어모듈(100)은,입력되는 클록을 목표 통신속도에 맞게 카운트하여 상기 위성의 각 장치 및 상기 데이터제어모듈(100)의 각 구성부들로 향하는 인터페이스를 제어하는 UART단(110)과;상기 UART단(110)의 제어에 근거하여 지상으로부터의 데이터 수신을 실시간으로 지원하기 위해 최상위의 채널 우선권을 가지며 상기 위성의 추가적인 통신을 수행하기 위한 DTMF수신단(120)과;입출력되는 상기 데이터 내에 상기 데이터 흐름을 제어하고 에러를 보정할 수 있도록 하기 위한 정보를 끼워 넣음으로써, 추가적으로 통신하게 될 프로세서의 프로토콜을 지원하는 HDLC제어단(130)과;신호패킷(Packet)의 오류 및 CRC(cyclic redundancy checking) 불일치 발생시, 상기 불일치된 상태를 상기 데이터제어모듈(100) 외부로 전송하는 폴트확인단(140)과;입력된 데이터에 에러가 있는지 확인하기 위해 주기적 덧붙임 검사를 실시하는 CRC단(150, cyclic redundancy checking)과;상기 데이터제어모듈(100)을 구성하는 각 구성부간의 신호처리를 위해 코우딩(coding) 및 디코딩(decoding)을 실시하여 신호를 변환하는 신호변환단(160)과;상기 데이터제어모듈(100)의 작동상태에 따라 상기 HDLC제어단(130) 및 CRC단(150) 사이의 신호전달을 위한 채널을 선택하는 채널멀티플렉서(170)와;상기 데이터제어모듈(100)에서 입출력되는 신호의 전송 효율과 신뢰성 보장을 위해 패킷(packet)형태로 암호화하여 상기 UART단(110)으로 전송하는 패킷처리단(180)과;상기 데이터제어모듈(100)로 입력되는 신호를 직렬 및 병렬 형태의 신호로 상호 변환하는 직병렬변환단(190)을 포함하는 것을 특징으로 하는, 초소형 위성용 데이터제어 자동복구 시스템.
- 제1항에 있어서, 상기 메모리관리모듈(200)은,상기 메모리관리모듈(200)로 입력되는 상기 데이터에 오류의 검출 및 수정을 위한 해밍코드(Hamming Code)를 생성하는 해밍코드생성단(210, Hamming Code Generator)과;상기 해밍코드생성단(210)에서 상기 데이터에 중복으로 기록한 상기 해밍 코드들과, 상기 메모리관리모듈(200)로 입력한 신호를 대응시켜 최초의 데이터를 복원하는 EDAC단(220, Error Detection And Correction)과;상기 EDAC단(220)으로부터 입력되어 상기 위성의 메모리에 기록하고 있는 데이터의 스크러빙(scrubbing)을 수행하는 메모리스크럽단(230, Memory Scrubber)과;상기 해밍코드생성단(210)의 오류 검출 결과에 근거하여 상기 패킷(Packet)의 오류 및 CRC 불일치 발생시 상기 메모리관리모듈(200)의 외부로 전송하는 폴트확인단(240)과;상기 메모리관리모듈(200)의 각 구성부와 외부와의 신호전달을 위한 채널을 제어하는 BUS제어단(250)을 포함하는 것을 특징으로 하는, 초소형 위성용 데이터제어 자동복구 시스템.
- 제1항에 있어서, 상기 모니터링모듈(300)은,상기 모니터링모듈(300)로 입력되는 리프레쉬(Refresh)신호의 유무를 모니터링하여 상기 리프레쉬신호가 존재하면 리셋신호를 발생시키는 워치독타이머(310, Watchdog Timer)와;상기 데이터제어모듈(100) 및 메모리관리모듈(200)에서 파악된 폴트(Fault) 상태에 따라 신호연결을 선택하는 멀티플렉서(320, MUX ; Multiplexor)와;하기 인터럽트발생기(340, Interrupt Generator)의 작동에 근거하여 상기 위성의 프로세서가 운용하는 모드에 대한 내용을 주기적으로 갱신하면서 기록 및 유지하는 상태메모리(330, Status Memory)와;상기 위성의 프로세서 재부팅 시 및 오류 확인시, 운용하고 있던 모드로의 전환을 위해 인터럽트를 발생하는 인터럽트발생기(340, Interrupt Generator)를 포함하는 것을 특징으로 하는, 초소형 위성용 데이터제어 자동복구 시스템.
- 제1항에 있어서,FPGA(Field Programmable Gate Array) 방식에 따라, 발생시킨 글로벌클록(Global Clock)을 인가하여, 구동전압 3.3V시 최대소모 전력 1W(와트) 이하가 되도록, 95,000 ~ 110,000 게이트 범위내로 하여, 상기 데이터의 입출력을 위해 180 ~ 200 범위의 핀수의 반도체칩으로 구현이 가능한 것을 특징으로 하는, 초소형 위성 용 데이터제어 자동복구 시스템.
- 제1항 내지 제5항의 어느 한 항에 있어서,상기 데이터 전송시의 에러를 없애기 위해, 외부 장치와의 통신시 정해진 일정 비트수의 데이터가 모두 전송되고 난 후, 다음에 이어지는 데이터가 동기화되도록 한 것을 특징으로 하는, 초소형 위성용 데이터제어 자동복구 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050133455A KR100755953B1 (ko) | 2005-12-29 | 2005-12-29 | 초소형 위성용 데이터제어 자동복구 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050133455A KR100755953B1 (ko) | 2005-12-29 | 2005-12-29 | 초소형 위성용 데이터제어 자동복구 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070070662A true KR20070070662A (ko) | 2007-07-04 |
KR100755953B1 KR100755953B1 (ko) | 2007-09-06 |
Family
ID=38505930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050133455A KR100755953B1 (ko) | 2005-12-29 | 2005-12-29 | 초소형 위성용 데이터제어 자동복구 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100755953B1 (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101224738B1 (ko) * | 2011-08-08 | 2013-01-21 | 한국항공우주연구원 | 인공위성과 지상안테나시스템간의 교신 기법 및 교신 장치 |
KR101449274B1 (ko) * | 2013-04-23 | 2014-10-08 | 현대오트론 주식회사 | 유효 채널을 이용하는 와치독 및 그 동작방법 |
KR101667400B1 (ko) * | 2015-05-06 | 2016-10-19 | 루미르 주식회사 | 싱글 이벤트 업셋(seu) 발생 및 검출 장치 및 방법 |
CN113051007A (zh) * | 2021-04-15 | 2021-06-29 | 中国科学院微小卫星创新研究院 | 星务软件快速引导装置及方法 |
CN113778060A (zh) * | 2021-09-15 | 2021-12-10 | 上海卫星工程研究所 | 卫星遥控接收终端在轨异常监测与故障恢复方法及系统 |
KR20220033157A (ko) * | 2020-09-09 | 2022-03-16 | 주식회사에델테크 | 위성 데이터 처리 시스템에서 싱글 이벤트 이펙트를 처리하기 위한 장치 및 이를 이용한 방법 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101679509B1 (ko) * | 2015-04-09 | 2016-12-06 | 경희대학교 산학협력단 | 메모리, 방사능 환경에서 메모리의 동작 방법, 전력제어 장치 및 전력제어 방법 |
KR102012270B1 (ko) * | 2017-09-18 | 2019-08-20 | 재단법인대구경북과학기술원 | 우주 방사선 환경 변화에 따른 obp 위성의 정보 처리량 변화 예측 방법 및 예측 장치 |
KR102028355B1 (ko) * | 2018-05-23 | 2019-10-04 | 재단법인대구경북과학기술원 | Obp 시스템의 오류율 예측 방법, 이를 수행하기 위한 기록매체 및 장치 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0738607B2 (ja) * | 1992-10-30 | 1995-04-26 | 日本電気株式会社 | 超小型衛星通信方式 |
KR100240077B1 (ko) * | 1997-10-15 | 2000-01-15 | 윤종용 | 디지털 위성 방송 수신 시스템의 에러 보정 방법 |
-
2005
- 2005-12-29 KR KR1020050133455A patent/KR100755953B1/ko not_active IP Right Cessation
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101224738B1 (ko) * | 2011-08-08 | 2013-01-21 | 한국항공우주연구원 | 인공위성과 지상안테나시스템간의 교신 기법 및 교신 장치 |
KR101449274B1 (ko) * | 2013-04-23 | 2014-10-08 | 현대오트론 주식회사 | 유효 채널을 이용하는 와치독 및 그 동작방법 |
KR101667400B1 (ko) * | 2015-05-06 | 2016-10-19 | 루미르 주식회사 | 싱글 이벤트 업셋(seu) 발생 및 검출 장치 및 방법 |
KR20220033157A (ko) * | 2020-09-09 | 2022-03-16 | 주식회사에델테크 | 위성 데이터 처리 시스템에서 싱글 이벤트 이펙트를 처리하기 위한 장치 및 이를 이용한 방법 |
CN113051007A (zh) * | 2021-04-15 | 2021-06-29 | 中国科学院微小卫星创新研究院 | 星务软件快速引导装置及方法 |
CN113051007B (zh) * | 2021-04-15 | 2024-04-26 | 中国科学院微小卫星创新研究院 | 星务软件快速引导装置及方法 |
CN113778060A (zh) * | 2021-09-15 | 2021-12-10 | 上海卫星工程研究所 | 卫星遥控接收终端在轨异常监测与故障恢复方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
KR100755953B1 (ko) | 2007-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100755953B1 (ko) | 초소형 위성용 데이터제어 자동복구 시스템 | |
US5349654A (en) | Fault tolerant data exchange unit | |
US7848232B2 (en) | Time division multiplexed communication bus and related methods | |
US4541094A (en) | Self-checking computer circuitry | |
EP1825382B1 (en) | Low protocol, high speed serial transfer for intra-board or inter-board data communication | |
EP0384177B1 (en) | Automatic vernier synchronization of skewed data streams | |
US6820213B1 (en) | Fault-tolerant computer system with voter delay buffer | |
US20040208130A1 (en) | Data processing apparatus and data processing method | |
EP0291671B1 (en) | Apparatus and method for deferred parity checking of control signals across a bidirectional data transmission interface | |
US5269016A (en) | Byzantine resilient fault tolerant shared memory data processing system | |
US10296477B2 (en) | Data bus logger | |
US8612663B1 (en) | Integrated circuit devices, systems and methods having automatic configurable mapping of input and/or output data connections | |
US20050204193A1 (en) | Dynamic interconnect width reduction to improve interconnect availability | |
US5455921A (en) | Redundant MIL-STD-1153B modem | |
CN113032325B (zh) | 处理器板卡的控制方法和存储介质 | |
US7712004B1 (en) | Method of and system for error checking in a data storage system | |
US20080298381A1 (en) | Apparatus for queue management of a global link control byte in an input/output subsystem | |
JP7493352B2 (ja) | 保護リレー | |
CN112291128A (zh) | 基于总线的通信系统、片上系统和用于其的方法 | |
Standeven et al. | Hardware voter for fault-tolerant transputer systems | |
Proerzza et al. | A low-cost fail-safe circuit for fault-tolerant control systems | |
JP2001007893A (ja) | 情報処理システム及びそれに用いる障害処理方式 | |
JP2736474B2 (ja) | データ処理装置 | |
KR940007555B1 (ko) | 망동기 장치의 td 버스 인터페이스 방법 | |
US7331004B1 (en) | Data storage system analyzer having self reset |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
N231 | Notification of change of applicant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120808 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20130829 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |