Mobile QR Code QR CODE : The Transactions P of the Korean Institute of Electrical Engineers
The Transactions P of the Korean Institute of Electrical Engineers

Korean Journal of Air-Conditioning and Refrigeration Engineering

ISO Journal TitleTrans. P of KIEE
  • Indexed by
    Korea Citation Index(KCI)

  1. (Department of Transportation System Engineering, Korea National University of Transportation, Korea.)
  2. (Center of New Transportation Innovative Research, Korea Railroad Research Institute, Korea.)
  3. (Division of Railway Facilities, Ministry of Land, Infrastructure and Transport, Korea.)



High safety and availability, Redundancy architecture, Fault-tolerant, Railway control system

1. 서 론

국내 최근 들어 컴퓨터 기술의 발달에 따라 기존에 전기로직을 이용하던 열차제어시스템을 비롯한 철도제어시스템이 컴퓨터를 이용한 시스템으로 바뀌고 있다. 이러한 철도제어시스템은 열차의 안전운행을 책임지는 바이탈 제어장치로, 다른 어떠한 철도 시스템보다도 더욱 높은 가용성, 안전성 및 신뢰성이 요구되고 있다. 이 중 안전성은 현재 철도 관련 국제규격에서 SIL(Safety Integrity Level)이라는 개념을 통한 안전성 활동 및 이의 검증을 통해 안전성 문제를 해결하는 추세이다(1)-(4). 하지만 철도제어장치의 신뢰성이나 가용성의 확보를 위해 하드웨어 측면에서 다양한 방법들이 제안 및 연구되고 있지만 아직은 표준화되거나 주요한 해결책이 없는 상태이다. 다만 제조사별 각각 고유한 기술 및 기법들을 적용한 제어장치를 개발하여 적용하고 있다(5).

이러한 철도제어시스템을 위한 높은 가용성을 얻기 위한 하드웨어 기술은 일반적으로 결함허용시스템 기술이 적용되고 있으며, 이는 다중계 구성을 통해 주제어 모듈에 결함이 발생하면 다른 백업하는 모듈이 대신 처리하여, 주제어 모듈의 장애가 전체 제어시스템의 고장으로 확대되지 않도록 하는 방법을 통해 높은 가용성을 확보하는 기술이다. 이는 시스템 일부에 장애가 발생하더라도 사고를 유발할 수 있는 위험원(Hazard)상태로 도달하지 않도록 장애의 파급을 예방하고, 또한 위험원이 사고로 이어지지 않도록 안전측 동작(Fail-safe)하도록 하는 기술을 의미한다. 즉, 결함허용시스템 기술을 통해 바이탈 제어시스템의 높은 가용성을 확보함과 동시에 안전측 동작을 통한 높은 안전성을 확보하는 방향으로 기술이 발전하고 있다.

그림 1은 이러한 사고의 원인(Cause)에서 사고(Accident)로 이어지는 일련의 단계와 단계별 가용성 및 안전성 확보를 위한 기술들을 나타내고 있다. 일반적으로 지금까지는 열차제어시스템에 이중계기반의 높은 가용성 확보를 위한 결함허용시스템이 적용됐으나, 열차제어시스템은 높은 가용성에 더하여 fail-safe 특성 또한 매우 중요하게 요구되고 있다. 따라서 하드웨어 기술의 발달과 더욱 높은 가용성과 안전성 확보 측면에서 삼중계 기반의 결함허용시스템에 대한 기술개발이 이루어지고 있다(6)-(10).

그림. 1. 사고의 전개 과정 및 단계별 가용성 및 안전성 확보를 위한 기술

Fig. 1. Deployment process of accident and the phased counteracting technology

../../Resources/kiee/KIEEP.2020.69.1.46/fig1.png

본 논문에서는 열차제어시스템을 위한 높은 가용성을 가지면서 동시에 Fail-safe 특성을 갖는 TMR(Triple Modular Redundancy) 시스템의 구조와 구현결과, 그리고 개발한 시스템의 성능평가 결과를 제시한다. 또한, 개발한 시스템의 철도제어시스템에 대한 적용성을 평가하여 그 결과를 분석하였다. 적용성 분석을 위해 개발한 TMR 시스템의 적용대상으로 철도제어시스템에서 가장 대표적인 지상 ATP 시스템을 선정하였다. 지상 ATP(Automatic Train Protection) 시스템은 다수의 차상 ATP 시스템과 통신하여 각 열차의 위치를 확인하고, 열차마다 안전운행에 필요한 이동권한(Movement Authority), 제한 속도 등의 정보를 전송하는 철도제어시스템의 하나이다. 적용대상 철도제어시스템(지상 ATP)의 결함허용 시스템의 평가항목으로 입력처리시간, 보팅 성공률, 보팅 용량, 최대 입력처리 개수를 정하였으며, DSV(Data Share & Voter)보드 LVDS(Low Voltage Differential Signals) 전송성능, DSV 메모리 공유 및 보팅성능, 최대 입력처리성능 및 보팅 성공률을 시험하여 개발 시스템의 적용성을 평가였다.

2. 철도제어시스템을 위한 결함허용시스템 구조

결함허용시스템이란 시스템의 주요 장치들을 중복으로 구성하여 결함이 발생하여도 업무를 중단 없이 계속 수행할 수 있는 장애에 대한 대책을 가진 시스템을 말한다. 즉 예측지 못한 시스템 다운을 최소화하기 위한 시스템 기술로서 다음과 같은 특징을 가지고 있다.

- H/W 오동작, S/W 에러 등이 발생 시에도 계속 수행할 수 있는 시스템

- 어떤 이상이 발생 시에도 수행 중인 시스템에 치명적 영향을 주지 않는 시스템

- 이상 발생 부분이 정상 가동되는 부분에 영향을 미치지 않고 복구 가능한 시스템

이러한 결함허용 시스템에서는 결함의 빠른 검출, 결함 상태에서의 빠른 회복, 결함 발생 시 동작의 지속, 정지 시간(Downtime)의 최소화 등이 성능지표로 사용된다. 결함허용 기능은 기본적으로 기능과 하드웨어 자원의 중복에 의해 구현할 수 있다. 즉, 결함이 생긴 부분을 제외해도 같은 기능을 하는 중복된 모듈에 의해 결함이 감추어질 수 있도록 하는 것이다. 중복은 시스템의 가격 상승과 직접적인 관련이 있으므로 전체 시스템에서 어느 부분을 얼마나 중복하는가를 결정하는 것은 결함허용시스템의 구현에서 중요한 문제이다. 철도제어시스템을 위한 결함허용시스템은 지상 및 차상 모두에 설치될 수 있다. 따라서 철도제어시스템을 위한 결함허용시스템은 설치공간과 무게의 제약조건으로 인해, 요구되는 결함허용 특성을 만족하도록 어느 부분을 얼마나 중복되도록 시스템의 구조를 결정되어야 한다.

철도제어시스템에 적합한 결함허용시스템의 구조를 결정하기 위해서 원자력이나 항공 등의 타 산업 분야 바이털 시스템의 제어시스템 구조의 분석 등을 토대로 하드웨어 구성과 주요기능을 설계하였다. 지금까지는 철도제어시스템을 위해 이중계기반의 결함허용 시스템 구조가 일반적이었지만, 본 논문에서는 장애 발생 시 시스템 재구성에 있어서 유연성을 높여 전체적인 시스템의 신뢰도를 높일 수 있어 이중계보다 신뢰도가 더 높고 시스템의 운용 측면에서 더욱 높은 안정적인 동작이 가능한 새로운 TMR 구조를 제안하였다. 본 논문을 통해 제안하는 열차제어시스템을 위한 TMR 구조의 결함허용시스템 하드웨어 구조는 그림 2와 같다.

그림. 2. 삼중계 결함허용 시스템 구조

Fig. 2. Fault-tolerant system structure of triple-based systems

../../Resources/kiee/KIEEP.2020.69.1.46/fig2.png

논리 연산을 담당하는 CPU를 삼중계로 구성하고 각 CPU 보드에서 연산 결과의 비교해서 처리하기 위한 Voter로 구성되어 있으며, SIO(Serial I/O board), DIO(Digital I/O board)로 구성되어 있다. 제안된 시스템 구조에서는 하드웨어 구성을 최소화하기 위해 SIO나 DIO 보드들은 이중계 또는 단일계로 구성한다. 대신에 CPU 보드에서 각각 다른 I/O 보드들을 읽거나 쓸 수 있도록 하였다. I/O 보드 구성에 따라 TDS(Triple+Dual+Single), TDD(Triple+Dual+Dual) 등으로 시스템의 구조가 일부 변경될 수 있도록 하였다.

그림 2와 같이 제안된 시스템 구조에 대한 성능 비교를 위해 고장률(λ) 모델링을 하였다. 모델링에서는 전체 시스템을 삼중계로 구성하였을 때의 시스템 구성도는 다음과 같다. 시스템 구성하는 CPU와 I/O 등이 모두 단일계일 경우를 $R_{single}(t)$, 그림 2(a)는 $R_{TDS}(t)$, (b)는 $R_{TDD}(t)$, 그리고 CPU와 I/O 등이 모두 삼중계 시스템의 경우는 $R_{Full}(t)$로 표시하고 그 고장률 모델링은 다음과 같다.

(1)
$$\begin{aligned} R_{\text {single}}(t)=& R_{CPU}(t) \times R_{SIO}(t) \times R_{DI}(t) \\ & \times R_{DO}(t) \times R_{AI}(t) \times R_{COM}(t) \end{aligned}$$

(2)
$$R_{Full}(t)=3 R^{2}(t)-2 R_{\text {Single}}^{2}(t)$$

(3)
$$\begin{aligned} R_{TDS}(t)=&\left(3 R_{CPU}(t)-2 R_{CPU}^{2}(t)\right) \\ & \times\left(2 R_{Serial}(t)-R_{Serial}^{2}(t)\right) \times R_{IO}(t) \end{aligned}$$

(4)
$$\begin{aligned} R_{T D D}(t)=&\left(3 R_{CPU}^{2}(t)-2 R_{CPU}^{2}(t)\right) \\ & \times\left(2 R_{Serial}(t)-R_{Serial}^{2}(t)\right) \\ & \times\left(2 R_{I O}(t)-R_{I O}^{2}(t)\right) \end{aligned}$$

위에 설명한 각 구조에 따른 신뢰도 모델링 식 (1) ~ (4)를 통한 각 구조의 시스템 구조의 신뢰도 비교를 위해 표 1과 같이 논문에서 실험을 위해 제작한 실제 각 보드의 고장률을 사용하였다. 이 값을 이용하여 앞에서 모델링한 TDS, TDD, 완전 삼중계 구조 시스템의 시뮬레이션 결과는 그림 3과 같다. 시뮬레이션 결과에서 TDD 모델이 가장 신뢰성이 높고 완전 삼중계 구조가 가장 신뢰성이 낮게 나옴을 확인할 수 있다. 이러한 시뮬레이션 결과를 바탕으로 TDD 구조를 철도제어시스템 하드웨어 구조로 제안 및 실제 실험을 수행하였다.

위에 설명한 각 구조에 따른 신뢰도 모델링 식 (1) ~ (4)를 통한 각 구조의 시스템 구조의 신뢰도 비교를 위해 표 1과 같은 본 논문에서 실험을 위해 제작한 실제 각 보드의 고장률을 사용하였다. 이 값을 이용하여 앞에서 모델링한 TDS, TDD, 완전 삼중계 구조 시스템의 시뮬레이션 결과는 그림 3과 같다. 시뮬레이션 결과에서 TDD 모델이 가장 신뢰성이 높고 완전 삼중계 구조가 가장 신뢰성이 낮게 나옴을 확인할 수 있다. 이러한 시뮬레이션 결과를 바탕으로 TDD 구조를 철도제어시스템 하드웨어 구조로 제안 및 실제 실험을 수행하였다.

표 1. 각 보드별 고장률

Table 1. Failure rates of each boards

Failure rate per hour(10E-6)

CPU

5.249096

Voter

8.304903

SIO

7.336311

SIO

7.336311

DI

7.067186

DI

7.067186

DO

9.335712

AI

5.829086

COM

6.72492

$R_{Single}$

51.696705

그림. 3. 신뢰도 곡선 비교

Fig. 3. Comparative curves of reliability respectively

../../Resources/kiee/KIEEP.2020.69.1.46/fig3.png

철도제어시스템을 위한 결함허용시스템 구조는 기존의 이중계 등의 시스템보다 높은 신뢰도를 가지면서 안정적인 운용 측면에서 삼중계 기반의 구조를 사용하여 유연한 결함 복구를 통한 안정적인 운용이 가능한 구조를 고려하였다. 즉, 임의의 제어 모듈에서 결함이 발생 시에도 전체 시스템이 정상 동작되도록 높은 안정성과 가용성을 확보할 수 있는 구조로 하였다. 그리고 전체 시스템의 부피 및 무게 등의 설치공간에 대한 제약조건을 충족시키고 신뢰성이 상대적으로 높은 부분적인 TMR 구조인 TDD 구조로 결정하였다. 이에 상대적으로 중요 데이터 처리 및 연산해야 하는 CPU 보드는 신뢰도를 보완하고 기타 IO 장치들은 유연한 결함 복구의 시나리오를 적용하여 적은 수의 보드들을 사용할 수 있다.

3. 제어시스템의 동작 메커니즘

제안한 시스템 구조는 완전한 삼중계가 아닌 주요한 부분만 삼중계 구성을 한 구조이다. 즉, 삼중계의 CPU 연산부와 이중계의 입출력장치의 두 부분으로 나누어진다. 첫 번째 부분인 CPU 연산부는 입력받은 값을 이용하여 내부의 제어 연산을 수행하고 해당 연산의 결과를 보터로 출력한다. 보터는 CPU와 마찬가지로 삼중계로 구성이 되며 독립된 3중의 보팅을 수행한다. 보팅 링크(Voting link)는 각 보터간의 값들을 공유하기 위해서 고속의 통신으로 구성된다. 두 번째 부분인 입출력장치는 이중계로 구성되며 상호 독립적으로 동작한다. 외부와의 통신은 직렬 인터페이스와 이더넷을 통한 네트워크 통신을 통해서 이루어진다. 외부의 IO 인터페이스는 병렬 입출력 제어를 수행하는 DIO 보드들과 아날로그 신호를 받는 ADI 보드들로 구성이 된다. 즉, 주요 연산을 담당하는 CPU 연산부는 TMR 구조를 가지며 입출력을 수행하는 부분은 이중계의 구조를 갖는다. 단일계의 시스템 구성에서는 어느 한 모듈의 결함에도 시스템 고장으로 이어진다. 제어시스템을 단일계 구성으로 설계하면 운영 시에 발생하는 결함은 그 결함이 사소하거나 일시적이라고 하더라도 전체 시스템에 고장으로 발생하게 된다. 이러한 기능상으로 기본적인 구성에 하드웨어 여분을 포함해서 구성하여 설계한 TMR 시스템은 고장률이 높은 CPU 부분을 삼중 화하고 아울러서 Voter 또한 삼중화하여 CPU의 신뢰성을 높인 구조를 가짐으로써 단일 결함에 의한 전체 시스템의 고장을 방지하도록 하였다. 그림 4는 제안시스템의 모든 부분이 정상일 경우 선로변 제어장치들과 입출력 데이터의 흐름을 보여주고 있다.

그림. 4. 정상일 경우, 선로변 신호장치 입출력 정보 데이터 처리

Fig. 4. Non-fault processing of input & output data from trackside signal equipment

../../Resources/kiee/KIEEP.2020.69.1.46/fig4.png

어느 한 CPU에 물리적으로나 논리적으로 결함이 발생하면 보터에서는 해당 CPU의 연산 결과가 2 out of 3 논리에 의해서 출력 연산에 반영이 되지 않으며 정상적인 다른 두 CPU에 의한 결과에 따라서 출력값들이 정해진다. 그림 5(a)는 이러한 하나의 CPU에서 결함 발생 시 결함허용 하는 시스템 구성을 나타낸 것이다. 단일 보터를 사용하는 시스템과 다르게 삼중화된 보터로 시스템을 구성하여 어느 하나의 보터에 의한 전체 시스템의 고장을 방지할 수 있다. 어느 한 보터에서 발생한 결함은 다른 보터에 영향을 주지 않도록 광 통신을 이용한 보팅링크로 연결되어 해당 결함의 전파를 한정할 수 있다. (b)와 같이 보터에서 고장이 발생하면 해당 CPU나 IO의 처리를 할 수는 없으나 다른 쪽의 CPU와 IO에 의해서 정상적인 운영에는 지장을 초래하지 않는다. 같은 이유로서 보터간에 링크에 문제가 발생하면 통신이 가능한 다른 보터간의 정보를 이용해서 해당 보터의 정보를 초기화하고 정상인 정보만으로 보팅의 운영이 가능하다.

그림. 5. 하나의 부분에서 결함 발생 시, 결함허용 시스템 구성

Fig. 5. Fault-tolerant mechanism in case of fault occurrence in a part

../../Resources/kiee/KIEEP.2020.69.1.46/fig5_1.png../../Resources/kiee/KIEEP.2020.69.1.46/fig5_2.png

어느 한 IO에 물리적으로나 논리적으로 결함이 발생하면 보터부에서는 해당 모듈에 있는 IO들의 입출력을 무효화시킨다. 그리고 다른 모듈의 IO에 의해서 제어를 계속하게 된다. 한 예로써, 입력 보드측에서 결함이 발생하면 보터를 통해서 입력받은 값들을 초기화시키게 된다. CPU 보드가 위치한 부분은 IO 보드들과 독립적으로 삼중계의 연산을 계속할 수 있도록 하는 것이다. 한 IO 보드에 물리적으로나 논리적으로 결함이 발생하면 해당 모듈의 보터는 해당 모듈에 있는 IO 보드의 입출력을 차단한다. 그리고 다른 모듈의 IO 보드에 의해서 제어를 계속하게 된다. CPU 보드가 위치한 부분은 IO 보드들과 독립적으로 처리를 계속할 수 있다. 시스템을 상호 독립된 전원 공급과 모듈화시킴으로써 시스템 운영 중에도 유지보수가 가능하다. 즉, 결함이 발생하게 되면 유지보수 터미널을 통해서 결함이 발생한 위치를 파악하고 결함이 발생한 부분만의 전원을 제거한 후, 결함이 발행한 보드를 교체하여 시스템을 복구할 수 있다.

시스템을 상호 독립된 전원 공급과 모듈화시킴으로써 시스템 운영 중에도 유지보수가 가능하다. 즉, 결함이 발생하게 되면 유지보수 터미널을 통해서 결함이 발생한 위치를 파악하고 결함이 발생한 부분만의 전원을 제거한 후, 결함이 발행한 보드를 교체하여 시스템을 복구할 수 있다. 표 2는 앞에서 설명한 결함허용시스템의 임의의 한 부분에 결함 또는 고장이 발생한 경우 어떻게 다른 부분이 결함 허용되도록 운용되는지를 나타낸 표이다.

표 2. 제안하는 TMR 구조의 운용 방안

Table 2. Operation scenario for proposed scheme

항 목

설 명

Part 1의 전체 고장

Part 1의 Voter 등에서 결함 발생 시

Part 2와 Part 3에 의해서 정상 운영

Part 2의 전체 고장

Part 2의 Voter 등에서 결함 발생 시

Part 1과 Part 3에 의해서 정상 운영

Part 3의 전체 고장

Part 3의 Voter 등에서 결함 발생 시

Part 1과 Part 2에 의해서 정상 운영

Part1과 Part2의 전체 고장

Part 3에 의해서 단일계로 운영

Part2와 Part3의 전체 고장

Part 1에 의해서 단일계로 운영

Part1의 CPU만 고장, Part 3 전체 고장

Part 2가 정상이고 Part 1의 Voter 및 IO에 의해서 정상 운영

Part 3의 CPU만 고장, Part 1 전체 고장

Part 2가 정상이고 Part 3의 Voter 및 IO에 의해서 정상 운영

4. 제안시스템의 제작

앞 절에서 설명한 철도제어시스템을 위한 고신뢰성 및 안전성을 갖는 TMR 기반의 결함허용시스템을 제작하였다. 개발 시스템은 크게 연산처리를 담당하는 CPU 보드, 데이터 공유 및 보팅을 담당하는 DSV 보드, 그리고 입출력 부분을 담당하는 VDI(Vital Digital Input), VDO(Vital Digital Output) 보드로 구성되어 있다. VDI 보드로 입력된 같은 입력에 대하여 삼중화로 구성된 세 개의 CPU 보드가 연산한 결과를 2 out of 3 보팅하여 출력한다. 입력 및 출력에 대한 동기 수행, 입력 및 출력데이터 공유, 2 out of 3 보팅 수행 등을 위한 하드웨어 장치 및 소프트웨어에 관하여 기술한다. 개발한 이 시스템은 앞에서 설명하였듯이 주요 부분은 삼중계로 구현하였고, I/O 부분은 이중계로 구현하였다. 즉, 제작된 시스템은 1계와 3계는 CPU, DSV, SIO, VDI, VDO로 구성되어 있고, 2와 3계는 CPU, DSV로 구성되어 있다.

그림. 6. 개발한 시스템 구성사진

Fig. 6. The picture of developed system

../../Resources/kiee/KIEEP.2020.69.1.46/fig6.png

제안한 TMR 기반의 결함허용시스템에서 가장 중요한 부분은 삼중계 CPU 보드의 데이터를 공유하여 임의의 CPU 보드에 결함이 발생했을 때 결함허용 특성에 맞게 출력을 보팅하는 기능을 갖는 보터이다. 이러한 TMR 구조의 핵심인 보터를 본 논문에서는 DSV 보드라 명명하였으며, 본 논문 이하에서는 이 명칭을 사용한다. 그림 7은 DSV 보드의 블록도를 나타낸 것으로 이 보드는 삼중계 구조의 각 모듈에 각각 별도로 존재하며, 보팅기능의 수행을 위해 공유메모리, 각 모듈 간의 동기를 맞추기 위한 Data Sync. 모듈, 각 CPU의 데이터를 수신 및 송신하고 각 메모리를 비교하는 기능을 수행하는 FPGA 모듈, 각 CPU 상태에 따라 보팅을 결정하기 위한 DSP 모듈 등으로 구성된다.

그림. 7. DSV 보드의 블록도

Fig. 7. Block diagram of DSV board

../../Resources/kiee/KIEEP.2020.69.1.46/fig7.png

공유메모리는 자기 다른 모듈로부터 전송받은 데이터를 저장하고 이 메모리 값을 읽어 다른 모듈의 데이터와 비교를 통해 시스템 내부에 결함이 발생했는지를 판단하는 기능을 수행한다. 이 메모리에는 자기 모듈의 데이터를 저장하는 영역과 다른 모듈 데이터를 저장하는 영역, 그리고 메모리 비교를 통해 각 모듈의 처리상태를 판단하고 출력을 결정하는 보팅결과를 저장하는 메모리 영역으로 나누어진다. 이 메모리를 Dual port memory라 하며, 4개 영역으로 분리가 되며 총 4 Mbit로 설계하였다. 처음부터 3 Mbit는 각 CPU에 해당하는 정보와 입력 데이터 연산 결과 데이터가 있으며 나머지 1 Mbit는 보팅결과가 저장하도록 하였다. DSP 모듈은 앞에서 설명한 메모리의 값들을 읽어서 각 모듈의 CPU의 상태에 따라서 보팅을 할지를 결정하는 기능을 수행한다. DSP로 자기 모듈의 CPU 데이터를 메모리 1에 복사를 해주는 기능과 다른 CPU 보드에서 보내준 데이터가 써진 메모리 2, 3의 데이터와 메모리 1과의 비교해서 결과를 보팅 메모리에 써 주는 기능을 한다.

5. 결함허용 시스템 평가 Metric

개발한 시스템의 성능평가를 위해서 가장 중요한 보팅기능을 담당하는 DSV 보드의 전송성능을 평가하였으며, 또한 이 보드의 전송성능을 모의로 제작한 3현시 철도신호기 응용프로그램을 통해 개발 시스템의 적용성 시험을 수행하였다.

5.1 DSV보드에 의한 보팅기능의 평가

DSV 보드는 제안한 결함허용시스템에서 가장 중요한 부분으로, 각 모듈의 데이터를 비교하여 보팅하는 기능을 수행한다. 따라서 TMR 시스템의 성능평가에 있어서 가장 중요한 부분이 DSV 보드에 의한 보팅 기능 수행 관련 각종 메트릭에 대한 평가가 될 것이다. 본 논문에서는 우선적으로 각 모듈 간의 보팅을 수행하기 위해 필수적인 각 DSV 보드 간 통신을 수행함에 따른 전송지연시간 및 전송속도를 측정하였으며, 이러한 DSV 간의 데이터 전송에 기반하여 별도로 제작한 모니터링 프로그램을 이용하여 실제 DSV 모드들 간 보팅에 필요한 시간을 측정하였다.

DSV 모드들 간에는 LVDS를 이용하여 다른 모듈과 서로 데이터를 주고받을 수 있다. 즉, 이 LVDS 통신을 이용한 각 모듈 간의 데이터를 비교하고 보팅 기능을 수행하게 되는 것이다. 각 모듈의 DSV 보드 간의 LVDS 통신을 위한 인터페이스는 개발한 시제품에서 고속통신을 위하여 전용 제작된 케이블이 설치되었으며, 1계 Port1 ⇔ 3계 Port2/1계 Port2 ⇔ 2계 Port1/2계 Port2 ⇔ 3계 Port1의 인터페이스를 제공한다. 이러한 DSV 보드의 LVDS 지연시간은 약 52 nsec 정도의 결과를 확인했다. 또한, 실제 제작한 LVDS 통신은 90 Mbps이나 실제의 통신속도는 케이블 길이나 통신 환경에 따라 영향을 받을 수 있다. 개발한 시제품에서의 실제 LVDS 전송속도는 약 42.5 Mbps로 측정되었다. 그림 8(a)는 LDVS의 전송지연시간을 측정한 그림이고, (b)는 소프트웨어를 이용하여 송신 시점에서 LED를 켜고(ON), 수신시점에서 LED를 끈(OFF)한 파형을 측정한 것이다. 실질적으로 물리적인 통신 환경, DSP에서 프로그램이 수행시간 등이 반영되어 90 Mbps가 아닌 약 반 정도인 42.5 Mbps 정도가 나오는 것으로 알 수 있다.

그림. 8. DSV 보드의 LVDS 통신성능 실험결과

Fig. 8. Experimental results of LVDS transmission performance for DSV board

../../Resources/kiee/KIEEP.2020.69.1.46/fig8_1.png../../Resources/kiee/KIEEP.2020.69.1.46/fig8_2.png

DSV보드는 앞 절에서 설명한 바와 같이 2개의 LDVS 통신 포트가 설계되어 있다. 따라서 본 성능 실험에서 각 DSV보드들 간 데이터 공유를 위한 연결은 그림 9와 같이 구성하였다. 즉, 그림과 같이 각 DSV 보드들을 연결하고 각 DSV 보드 간 데이터 공유를 통한 보팅 기능 수행에 따른 처리시간을 측정하였다. 이러한 테스트를 위한 각 DSV 보드에서 다른 DSV로 LDVS 통신을 위한 별도의 콘솔 프로그램을 제작하였으며, 이러한 콘솔을 통한 각 DSV 간의 데이터 전송 명령에 따라 각 DSV 들은 LDVS 통신을 통해 데이터를 공유하게 되고 이 처리시간을 측정하였다. 본 실험에서는 1 Kbyet의 데이터를 전송하여 1계, 2계, 3계 DSV보드가 모두 공유하는데 걸리는 시간을 측정하였다. 이는 주로 DSV 보드 간 인터페이스를 하는 LVDS 통신속도에 좌우되는데 실제 측정값은 4 ms가 되었다. 1 Bytes의 데이터를 1계, 2계, 3계 DSV가 모두 공유하고 보팅하는데까지 소요되는 전체시간은 26 ms로 측정되었으며, 이는 LVDS 통신속도와 DSV 보드의 메모리 접근 시간에 좌우된다.

그림. 9. DSV 보드의 보팅성능 시험구성도

Fig. 9. Configuration of DSV board voting test

../../Resources/kiee/KIEEP.2020.69.1.46/fig9.png

다음으로는 DSV 보드가 공유 및 보팅을 원활히 수행할 수 있는 입력값의 개수를 분석하였다. 본 시험에서 사용된 시험용 프로그램을 이용하여 연속 데이터(1 Kbyte)를 생성하여 시험하였다. VDI의 입력 큐를 1,024 Kbytes 설정하면 놓치는 패킷 없이 모두 처리 가능하며, 외부의 스위치를 이용하여 1 Bytes 데이터를 10,000회 VDI로 입력 및 VDI로 출력을 검지하였을 때 100% 성공하였다. 즉, 그림 10의 시험 결과와 같이 하드웨어의 고장이 없다고 가정하였을 경우 보팅 성공률은 100%임을 확인하였다.

그림. 10. 연속 데이터공유(1 Kbyte)에 대한 시험 결과

Fig. 10. Experimental result for 1 Kbyte data sharing time.

../../Resources/kiee/KIEEP.2020.69.1.46/fig10.png

표 3. Metric 시험결과 정리

Table 3. Test results of metric

항목

결과

DSV 보드 전송 지연시간

52 ns

DSV 보드 전송속도

42.5 Mbps

1 Kbytes 데이터 공유시간

4 ms

1 Kbytes 데이터 공유-보팅 시간

26 ms

최대 처리 가능한 입력 개수

제한 없음

보팅 성공률

100%

지금까지 설명한 DSV 보드의 전송성능 및 보팅 완료 시간 측정, 보팅 성공률 측정 등의 실험결과가 실제 열차제어시스템에 대한 적용성 분석을 통해 실험결과를 분석하였다. 개발한 결함허용시스템은 열차제어시스템의 제어 모듈을 대상으로 하는 것으로, 우선 적용할 열차제어시스템을 가정하고 그 적용대상을 기준으로 하여 앞 장에서 설명한 고안전성 연산 제어시스템의 평가 메트릭의 결과를 이용하여 적용성을 검토하였다. 본 분석에서는 결함허용시스템의 적용대상으로 차상 제어시스템에서 가장 대표적인 지상 ATP 시스템을 선정하였다. 지상 ATP 시스템은 다수의 차상 ATP 시스템과 통신하며 각 열차의 위치를 확보하고, 열차마다 안전 운행에 필요한 정보 이동허가, 제한 속도 등의 정보를 전송하는 철도제어시스템의 하나이다. 본 논문에서는 지상 ATP 시스템에의 적용성 연구를 다음 같은 조건에서 실시하였다. 국내 지상 ATP 시스템은 평균적으로 약 30 ms마다 차상 ATP 시스템과 통신하게 된다. 이동허가 요청과 위치보고 외에도 여러 이벤트 데이터가 있으나 통신 성능에는 크게 영향을 미치지 않아 본 분석에서는 이를 생략하였다.

- 열차 최대 속도는 100 km/h

- 각 열차는 10 m마다 위치보고(최대 속도일 때 360 ms마다 위치보고)

- 각 열차는 감속 시점에서 2초마다 이동허가 요청

- 1회 전송 최대 패킷 크기는 1 Bytes

이러한 조건으로서의 지상 ATP의 고안전성 연산 처리 장치의 평가항목은 입력 처리시간, 보팅 성공률, 보팅 용량, 최대 입력처리 개수 등이 될 수 있다. 앞 절에서 본 논문을 통해 개발한 시제품의 성능시험 결과에서와같이 공유 및 데이터 보팅 지연시간이 1 Kbytes 처리 시에 26 ms로써 지상 ATP의 처리 성능 기준인 36 ms보다 더 빠른 것으로 확인이 되었다. 또한, 보팅 신뢰성에 해당하는 성공률도 실험적 방법으로 검증하였으며, 보팅 용량은 256 Bytes로써 해당 요구사항을 만족함을 알 수 있다. 다음 표는 이러한 적용성 평가의 기준 및 측정값을 나타낸 것이다.

표 4. 실제 열차제어시스템에 대한 적용성 분석 결과(성능기준 vs 측정값)

Table 4. System Applicability for Specification and Measured Values

평가항목

기준

측정값

하나의 입력처리 시간

≤ 36ms

26ms

보팅 성공률

100%

100%

보팅 용량

1 Kbytes 이상

256 Kbytes

최대 입력처리 개수

제한 없음

제한 없음

5.2 응용프로그램을 통한 보팅기능의 평가

본 절에서는 CPU 보드에 실제 철도제어시스템 응용프로그램을 탑재하여 개발한 결함허용시스템에서 정상적으로 보팅이 수행되는지에 대한 평가를 수행한 결과를 설명한다. 이 실험을 위해서 실제 철도제어시스템의 하나인 3현시 신호기 현시 테스트 프로그램을 개발하고, 모듈별 임의로 장애 발생 시 출력이 어떻게 동작하는지를 모니터링하였다. 개발한 결함허용시스템에서 보팅 및 출력은 다음의 절차에 의해 수행이 된다.

- 1계, 2계, 3계 CPU 보드는 연산 결과를 자신의 DSV 출력영역에 써넣음

- 1계, 2계, 3계 DSV 보드는 각기 자신의 영역의 데이터를 다른 DSV에 공유

- 각 DSV는 CPU1, CPU2, CPU3 출력영역의 데이터에 대하여 2 out of 3 보팅을 수행

- 각 DSV 보드는 보팅 결과를 보팅영역에 저장

- CPU 보드는 보팅영역에 새로운 입력 ID의 데이터가 저장되었을 경우 이를 I/O 보드를 통해 출력

그림. 11. 일부 고장 시(하나 혹은 2개 이상의 CPU보드) 테스트 결과화면

Fig. 11. Results windows when some units are failed

../../Resources/kiee/KIEEP.2020.69.1.46/fig11.png

시험용 프로그램은 신호기 Y, R, G에 해당하는 시리얼 정보를 생성하여 1계의 SIO 보드로 전송한다. 연속 전송 버튼은 정해진 주기에 따라 정해진 횟수만큼 연속적으로 같은 데이터를 전송한다. 결과 확인 창에서는 제한 속도 수신과 1계, 2계, 3계의 보팅 결과를 확인할 수 있다. 또한, 테스트를 위한 이 프로그램에서는 임으로 CPU의 장애 발생을 위한 part도 구성하여, 이를 통해 임으로 CPU 보드의 동작에 장애를 발생시켜 보팅이 정상적으로 수행되는지 확인하였다.

그림 11은 시험 시 신호현시(R, Y, G), 세 모듈의 CPU가 모두 같은 출력을 발생한 경우를 보인다. 보팅 결과 정상을 확인할 수 있다. (a)는 임의로 하나의 CPU에 고장을 발생시켜서 다른 출력을 발생한 경우를 보인다. 2 out of 3 보팅에 따라 두 개의 CPU 결과가 같으면 정상 출력을 발생함을 확인할 수 있다. 그림 (b)는 임의로 두 개의 CPU에 오류를 발생시켜서 다른 출력을 발생한 경우를 보인다. 2 out of 3 보팅에 따라 출력 오류가 발생하였다. 이러한 실험을 통해 개발한 DSV 보드를 비롯한 결함허용시스템이 정상적으로 동작하고 있음이 확인되었다. 즉, DSV 보드의 공유메모리가 각 모듈의 데이터를 정상적으로 공유 및 보팅을 수행하고 있음을 확인한 것이다.

6. 결 론

본 논문에서는 열차제어시스템에 적용을 위한 고 신뢰성 및 안전성을 갖는 TMR 기반의 새로운 결함허용시스템의 개발 및 성능평가 결과를 제시하였다. 개발한 결함허용시스템은 기존의 이중계 시스템보다 높은 신뢰성을 가지면서 동시에 높은 안전성을 가지는 시스템으로, 또한 차상에 설치 시에도 부착 공간 및 무게의 제한에 문제가 없어 열차제어시스템의 바이탈 제어장치로서 우수한 특성을 보인다. 개발 시스템은 다음과 같은 주요한 특징을 지니다. 하나의 연산 제어시스템 결함이 발생하여도 2 out of 3 보팅에 따라 출력 결과를 선택한다. 즉, 3개 시스템 출력을 검사하여 2개 이상의 출력이 같을 경우만 해당 출력을 사용한다. 따라서 3개 중 하나의 시스템에 결함이 발생하더라도 나머지 2 시스템으로 지속적으로 시스템 기능을 제공할 수 있다.

또한, 시스템에 입력이 발생 시 주 CPU에서 해당 입력을 동기화시켜 나머지 2개의 CPU 모듈로 전송함으로써 세 개의 CPU 모듈은 항상 같은 입력에 대한 연산을 수행한다. 세 개의 CPU 모듈의 출력도 같은 입력에 대한 출력이 확인될 경우만 보팅함으로 항상 동기화할 수 있다. 그리고 단일 시스템의 출력만 사용하는 것이 아니라 세 개의 시스템이 같은 입력에 대하여 출력한 결과를 사용하므로 출력 결과의 높은 신뢰성을 보장한다. 기존의 열차제어시스템을 결함허용 시스템으로 구축하기 위해서는 본 논문에서 제시한 DSV 외에 별도의 장비가 필요 없고, VME 버스를 통해 주 CPU 보드와 통신하므로 설치 또한 매우 쉽다. 따라서 구축 및 유지 보수 시의 비용 절감 효과를 기대할 수 있다.

References

1 
International Standard, 2002, Railway Applications - The specification and demonstration of RAMS, IEC 62278Google Search
2 
International Standard, 2007, Railway Application: Communications, signaling and processing systems - Safety related electronic system for signaling, IEC 62425Google Search
3 
International Standard, 2018, Railway Application – Software for railway control and processing systems, EN 50128Google Search
4 
J. G. Hwang, H.J. Jo, Y. K. Yoon, Dec. 2007, Analysis of Safety Assessment Methodology for Railway Signaling Systems, Internal Journal of Safety, Vol. 6, No. 2, pp. 38-42Google Search
5 
J. C. Ruiz, M. O. Killijian, J. C. Fabre, P. Thvenod- Fosse, 2003, Reflective fault-tolerant systems: from experience to challenges, IEEE Trans. Computers, Vol. 52, No. 2, pp. 237-254DOI
6 
Tooba Arifeen, Abdus Sami Hassan, Jeong-A Lee, 2019, A Fault Tolerant Voter for Approximate Triple Modular Redundancy, Electronics in MDPI, Vol. 8DOI
7 
P. Balasubramanian, K. Prasad, 2016, A Fault Tolerance Improved Majority Voter for TMR System Architectures, WSEAS Trans. Circuits Syst., Vol. 15, pp. 108-122Google Search
8 
A. Mukherjee, A. S. Dhar, 2017, Triple transistor based fault tolerance for resource constrained applications, Journal of Microelectron, Vol. 68, pp. 1-6DOI
9 
J. Jimenez, J. Martin, A. Astarloa, Nov 2007, Design of a Master Device for the Multifunction Vehicle Bus, IEEE Trans. Vehicular Technology, Vol. 56, No. 6DOI
10 
Z. Liu, Z. Long, Z. Li, 2015, Maglev Trains – Key Underlying Technology, Springer Tracts in Mechanical EngineeringGoogle Search

저자소개

조현정(Hyun-Jeong, Jo)
../../Resources/kiee/KIEEP.2020.69.1.46/au1.png

∙한국항공대학교 항공전자공학과 학사(`03)

∙광주과학기술원 정보통신대학원 석사(`05)

∙한국철도기술연구원 책임연구원(`05~현재)

∙한국교통대학교 교통대학원 교통시스템공학과 박사과정(`17~현재)

신경호(Kyung-Ho Shin)
../../Resources/kiee/KIEEP.2020.69.1.46/au2.png

∙광운대학교 제어계측공학 학사(`98), 석사(`00)

∙㈜네비콤, 현대모비스 과장(`00~`05)

∙한국철도기술연구원 책임연구원(`05~현재)

∙한국교통대학교 교통대학원 교통시스템공학과 박사과정(`19~현재)

황종규(Jong-Gyu, Hwang)
../../Resources/kiee/KIEEP.2020.69.1.46/au3.png

∙건국대학교 전기공학과 학사(`94), 석사(`96)

∙한양대학교 전자통신공학과 박사(`05)

∙Virginia Commonwealth Univ. 방문연구원(`11~`12)

∙철도신호기술사

∙한국철도기술연구원 수석연구원(`95~현재)

임인택(In-Taek Lim)
../../Resources/kiee/KIEEP.2020.69.1.46/au4.png

∙ 우송대학교 철도전기시스템학과 학사(`10), 석사(`12), 박사(`15)

∙ 국토교통부 철도안전감독관(`15~현재)

권혁빈(Hyeok-Bin Kwon)
../../Resources/kiee/KIEEP.2020.69.1.46/au5.png

∙서울대학교 항공우주공학과 학사(`95), 석사(`97), 박사(`01)

∙한국철도기술연구원 책임연구원(`01~`13)

∙한국교통대학교 교통대학원 교통시스템공학과 부교수 (`13~현재)