KR101606289B1 - 프로그래머블 컨트롤러 - Google Patents

프로그래머블 컨트롤러 Download PDF

Info

Publication number
KR101606289B1
KR101606289B1 KR1020140169448A KR20140169448A KR101606289B1 KR 101606289 B1 KR101606289 B1 KR 101606289B1 KR 1020140169448 A KR1020140169448 A KR 1020140169448A KR 20140169448 A KR20140169448 A KR 20140169448A KR 101606289 B1 KR101606289 B1 KR 101606289B1
Authority
KR
South Korea
Prior art keywords
output
signal
cpu
bus
input
Prior art date
Application number
KR1020140169448A
Other languages
English (en)
Other versions
KR20150070943A (ko
Inventor
다츠오 히로타
Original Assignee
가부시끼가이샤 도시바
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가부시끼가이샤 도시바 filed Critical 가부시끼가이샤 도시바
Publication of KR20150070943A publication Critical patent/KR20150070943A/ko
Application granted granted Critical
Publication of KR101606289B1 publication Critical patent/KR101606289B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Hardware Redundancy (AREA)

Abstract

본 발명의 실시 형태는, FPGA를 사용하여 구성된 신호 처리 회로를 구비하는 프로그래머블 컨트롤러에 있어서, 당해 FPGA를 포함한 신호 처리 회로의 자기 진단과, 에러 검출 시의 수복 기능을 구비하는 프로그래머블 컨트롤러에 관한 것이다. 프로그래머블 컨트롤러에 있어서, 당해 FPGA를 포함한 신호 처리 회로의 자기 진단과, 에러 검출 시의 수복 기능을 구비하는 프로그래머블 컨트롤러를 제공하는 것을 목적으로 한다.
본 실시 형태의 프로그래머블 컨트롤러는, 제어 프로그램을 실행하는 CPU와, 상기 CPU의 외부 메모리와, 상기 CPU의 외부 입출력 디바이스를 구비하는 외부 디바이스와, 상기 제어 프로그램의 실행에 의하여, 상기 CPU가 상기 외부 디바이스에 기입하는 Write 데이터를 출력하는 출력 신호 및 상기 CPU가 상기 외부 디바이스로부터 판독하는 Read 데이터를 입력하는 입력 신호를 인터페이스하는 FPGA를 포함하는 FPGA 인터페이스 처리부와, 상기 CPU와 상기 FPGA 인터페이스 처리부 사이를 접속하는 CPU 버스와, 상기 FPGA 인터페이스 처리부와 상기 외부 디바이스를 접속하는, 쌍방향 패러렐 전송의 외부 입출력 버스를 구비하고, 상기 FPGA 인터페이스 처리부는, 상기 제어 프로그램을 실행하는 경우에 상기 입력 신호 및 상기 출력 신호를 인터페이스함과 함께, 상기 Write 데이터를 상기 외부 입출력 버스에 출력하는 제1 비교 타이밍 신호를 생성하고, 또한 상기 Read 데이터를 상기 CPU 버스에 출력하는 제2 비교 타이밍 신호를 생성하는 통상 인터페이스 처리 회로부와, 상기 CPU가 상기 CPU 버스를 통하여 출력한 제1 Write 데이터와, 당해 제1 Write 데이터를 상기 통상 인터페이스 처리 회로부가 처리하여 상기 외부 입출력 버스에 출력하는 제2 Write 데이터를, 상기 제1 비교 타이밍 신호에 의해 비교하여 일치/불일치를 판정하며, 또한 상기 외부 입출력 버스를 통하여 입력되는 당해 제1 Read 데이터와, 당해 제1 Read 데이터를 상기 통상 인터페이스 처리 회로부가 처리하여 상기 CPU 버스에 출력하는 당해 제2 Read 데이터를, 상기 제2 비교 타이밍 신호에 의해 비교하여 일치/불일치를 판정하는 비교 회로부를 구비하고, 상기 제어 프로그램의 실행 중에 상기 FPGA 인터페이스 처리부의 입출력 처리 동작의 불량을 자기 진단하도록 한 것을 특징으로 한다.

Description

프로그래머블 컨트롤러{PROGRAMMABLE CONTROLLER}
본 발명의 실시 형태는, FPGA를 사용하여 구성된 신호 처리 회로를 구비하는 프로그래머블 컨트롤러에 있어서, 당해 FPGA를 포함한 신호 처리 회로의 자기 진단과, 에러 검출 시의 수복(修復) 기능을 구비하는 프로그래머블 컨트롤러에 관한 것이다.
본 출원은 일본 특허 출원 제2013-260493(출원일 2013년 12월 17일)호를 기초로 하며, 이 출원으로부터 우선권의 이익을 향수(享受)한다. 본 출원은 이 출원을 참조함으로써, 동 출원의 내용 전부를 포함한다.
FPGA(Field Programmable Gate Array)나 CPLD(Complex Programmable Logic Device) 등의 프로그래머블 로직 디바이스는, 제조 후에 사용자에 의하여 내부 논리 회로를 재구성할 수 있는 집적 회로이다.
이 프로그래머블 로직 디바이스는 휴대 전화 기기, 가전, 범용 PC 등 폭넓은 분야에서 사용되며, 제조사의 독자적인 기능이나 인터페이스, Ethernet(R)이나 RS-232C, SPI 등의 I/O 인터페이스, SDRAM이나 SRAM 등의 메모리 인터페이스를 서포트하는 등, 다양한 용도에서 사용되고 있다.
고신뢰성이 요구되는 제어 시스템 기기에 사용되는 프로그래머블 컨트롤러에 있어서는, FPGA나 CPLD를 사용하여 장치가 보급되고 있다.
이 FPGA를 사용한 회로에는, 최근 들어 제품의 소형화나 다기능화의 요구 등에 의하여, 복수의 기능을 구비한 회로 블록을 내장한 것이 사용되도록 되어 있다.
이러한 FPGA를 사용하여 제작된 로직 회로(이후, FPGA의 회로라고 칭함)에서는, 외부로부터 입력된 어드레스 신호나 데이터 신호가 복수의 회로 블록을 통하여 외부에 출력되는 일이 많고, 또한 클럭 신호의 고속화나 동작 전압의 저하 등에 의하여 크로스 토크나 정전기 등의 노이즈의 영향을 받기 쉽게 되어 있다.
또한 SRAM을 기초로 하여 회로 로직을 생성한 FPGA에서는, 일과성(一過性) 소프트 에러 등의 영향을 받을 우려도 있다.
그 때문에, 로직 회로나 동작 타이밍 설계의 불량, 로직 회로에의 노이즈의 혼입, 내부 회로의 크로스 토크 등에 의하여, 로직 회로에서 의도하지 않은 데이터로 변환될 가능성이 높아지고 있다.
종래부터 하드웨어의 신호 품질 향상을 위하여, IC 회로나 메모리 간에서 ECC(Error Check and Correct)가 구비된 신호로 데이터의 송수신을 실시하여, 의도하지 않은 데이터로 되었을 경우에도 정정, 검출할 수 있는 방법이 널리 사용되고 있다.
이 방법에서는, 어드레스 디코드 등 데이터 변환이 필요한 회로에서는 ECC 데이터를 생성하는 것이 곤란한 구성으로 되어, 데이터의 신뢰성을 향상시킬 수는 없다.
따라서 CPU 주변의 어드레스 이상 개소를 검출하여, 이상 개소나 그 원인을 용이하게 특정하는 것이 가능한, 자기 진단 기능을 구비한 회로 장치가 개시되어 있다(예를 들어 특허문헌 1 참조).
또한 정보 처리 장치를 정지시키지 않고 고장 전과 동일한 정보 처리를 계속하여 실행하는 정보 처리 장치 및 회로 재구성 장치가 알려져 있다(예를 들어 특허문헌 2 참조).
또한 회로 구성을 변경 가능한 회로가 동작하고 있는 상태에서 소프트 에러를 검출하고, 소프트 에러를 회복시킬 수 있는 전자 디바이스 및 전자 디바이스의 고장 회복 방법(예를 들어 특허문헌 3 참조)이 알려져 있다.
일본 특허 제4621825호 공보 일본 특허 공개 제2011-216020호 공보 일본 특허 공개 제2010-134678호 공보
상술한 특허문헌 1의 에러 검출 방법은, 어드레스 신호만의 에러 검출은 할 수 있지만, 에러를 검출했을 때 올바른 데이터 신호로 수정하고, 계속적으로 프로그래머블 컨트롤러를 가동시킬 수 없는 문제가 있었다.
또한 특허문헌 2는 기능 블록의 용장화(冗長化)를 도모하고, 출력된 데이터의 다수결을 택함으로써 FPGA의 회로의 신뢰성 향상을 도모하고 있지만, 용장화되는 로직 회로는 동일하므로, 동일한 에러가 검출될 가능성이 높아지고, 동시에 에러가 검출되었을 경우에는 오판정으로 될 가능성이 높아지는 문제가 있다.
또한 특허문헌 3에 있어서는, 동일한 FPGA의 회로 2조를 실장할 필요가 있으므로, 회로를 실장하기 위한 공간에 제약이 발생하는 문제가 있다.
본 발명은 상기 문제점을 해결하기 위하여 이루어진 것이며, FPGA를 사용하여 구성된 신호 처리 회로를 구비하는 프로그래머블 컨트롤러에 있어서, 당해 FPGA를 포함한 신호 처리 회로의 자기 진단과, 에러 검출 시의 수복 기능을 구비하는 프로그래머블 컨트롤러를 제공하는 것을 목적으로 한다.
본 실시 형태의 프로그래머블 컨트롤러는, 제어 프로그램을 실행하는 CPU와, 상기 CPU의 외부 메모리와, 상기 CPU의 외부 입출력 디바이스를 구비하는 외부 디바이스와, 상기 제어 프로그램의 실행에 의하여, 상기 CPU가 상기 외부 디바이스에 기입하는 Write 데이터를 출력하는 출력 신호 및 상기 CPU가 상기 외부 디바이스로부터 판독하는 Read 데이터를 입력하는 입력 신호를 인터페이스하는 FPGA를 포함하는 FPGA 인터페이스 처리부와, 상기 CPU와 상기 FPGA 인터페이스 처리부 사이를 접속하는 CPU 버스와, 상기 FPGA 인터페이스 처리부와 상기 외부 디바이스를 접속하는, 쌍방향 패러렐 전송의 외부 입출력 버스를 구비하고, 상기 FPGA 인터페이스 처리부는, 상기 제어 프로그램을 실행하는 경우에 상기 입력 신호 및 상기 출력 신호를 인터페이스함과 함께, 상기 Write 데이터를 상기 외부 입출력 버스에 출력하는 제1 비교 타이밍 신호를 생성하고, 또한 상기 Read 데이터를 상기 CPU 버스에 출력하는 제2 비교 타이밍 신호를 생성하는 통상 인터페이스 처리 회로부와, 상기 CPU가 상기 CPU 버스를 통하여 출력한 제1 Write 데이터와, 당해 제1 Write 데이터를 상기 통상 인터페이스 처리 회로부가 처리하여 상기 외부 입출력 버스에 출력하는 제2 Write 데이터를, 상기 제1 비교 타이밍 신호에 의해 비교하여 일치/불일치를 판정하며, 또한 상기 외부 입출력 버스를 통하여 입력되는 당해 제1 Read 데이터와, 당해 제1 Read 데이터를 상기 통상 인터페이스 처리 회로부가 처리하여 상기 CPU 버스에 출력하는 당해 제2 Read 데이터를, 상기 제2 비교 타이밍 신호에 의해 비교하여 일치/불일치를 판정하는 비교 회로부를 구비하고, 상기 제어 프로그램의 실행 중에 상기 FPGA 인터페이스 처리부의 입출력 처리 동작의 불량을 자기 진단하도록 한 것을 특징으로 한다.
도 1은 실시 형태의 프로그래머블 컨트롤러의 블록 구성도.
도 2는 FPGA 인터페이스 처리부의 블록 구성도.
도 3은 비교 처리 회로부의 동작을 설명하는 흐름도.
이하, 본 발명에 따른 FPGA를 사용하여 구성된 신호 처리 회로를 구비하는 프로그래머블 컨트롤러의 실시예에 대하여, 도 1을 참조하여 설명한다.
도 1은, 본 발명의 실시 형태의 프로그래머블 컨트롤러의 개요를 도시하는 기능 블록 구성도이다.
프로그래머블 컨트롤러(1)는, 도시하지 않은 프로그램 메모리에 미리 기억된 제어 프로그램을 실행하는 CPU(2)와, CPU(2)의 메모리(4a)와, CPU(2)의 외부 입출력 디바이스(4b)를 구비하는 외부 디바이스(4)와, 제어 프로그램의 실행에 의하여, CPU(2)가 외부 디바이스(4)에 기입하는 Write 데이터를 출력하는 출력 신호 및 CPU(2)가 외부 디바이스로부터 판독하는 Read 데이터를 입력하는 입력 신호를 인터페이스하는 FPGA를 포함하는 FPGA 인터페이스 처리부(3)를 구비한다.
또한 CPU(2)와 FPGA 인터페이스 처리부(3) 사이를 접속하는 CPU 버스(15)와, FPGA 인터페이스 처리부(3)와 외부 디바이스(4)를 접속하는, 쌍방향 패러렐 전송의 외부 입출력 버스(16)를 구비한다.
또한 CPU 버스(15)는 어드레스 버스, 데이터 버스, 제어선을 포함하며, CPU 버스 신호는 이 CPU 버스(15)를 통하여 FPGA 인터페이스 처리부(3)에 전송된다. 또한 외부 입출력 버스(16)에는, 이 버스에 접속되는 각각의 디바이스의 어드레스 신호, 데이터 신호, 및 그 제어 신호가 전송된다.
또한 CPU(2)는 CPU 버스(15) 및 외부 입출력 버스(16)(데이터 메모리 버스(16a), 워크 메모리 버스(16b) 및 입출력 디바이스 버스(16c))를 통하여, 각각의 외부 디바이스(4)(데이터 메모리(4a1), 워크 메모리(4a2), 외부 입출력 디바이스(4b))에의 Write 데이터의 기입, Read 데이터의 판독을 쌍방향으로 전송한다.
여기서 CPU(2)와 외부 디바이스(4)의 응답은, CPU 버스(15)를 통하여 CPU(2)에 입출력하는 신호에 대하여, 각각의 인터페이스 회로(14c)로부터 레디 신호를 CPU(2)에 송신하도록 하고, CPU(2)는 레디 신호를 수신하기까지의 동안에는 다음 동작으로 천이하지 않는 웨이트 제어가 가능한 인터페이스 형식으로 해 둔다.
다음으로, 각 부의 구성에 대하여 설명한다. FPGA 인터페이스 처리부(3)는 입출력하는 데이터와의 일치/불일치를 검출하여, 불일치(에러)가 있는 경우에 데이터의 수복 처리를 실행하는 상세를 후술하는 비교 회로부(13)와, 외부 디바이스(4)와 CPU(2) 사이의 입출력 신호를 인터페이스하는 통상 인터페이스 처리 회로부(14)를 구비한다.
즉, 통상 인터페이스 처리 회로부(14)는 CPU 버스(15) 신호(어드레스 신호, 데이터 신호, 제어 신호)를 입력하고, 어드레스 신호, 데이터 신호, 제어 신호를 디코딩하여 외부 입출력 버스(16)에 출력하며, 또한 외부 입출력 버스(16)로부터 외부 디바이스(4)로부터 판독하는 Read 데이터를 입력하고, 이 신호를 인코딩하여 CPU 버스(15)에 출력하며, 각각의 외부 디바이스(4)와 CPU(2) 사이의 입출력 데이터를 인터페이스한다.
또한 통상 인터페이스 처리 회로부(14)는 Write(기입) 데이터를 외부 입출력 버스(16)에 출력하는 제1 비교 타이밍 신호를 생성하고, 또한 Read(판독) 데이터를 CPU 버스(15)에 출력하는 제2 비교 타이밍 신호를 생성한다.
비교 회로부(13)는, CPU 버스(15)를 통하여 출력된 제1 Write 데이터와, 당해 제1 Write 데이터를 통상 인터페이스 처리 회로부(14)가 처리하여 외부 입출력 버스(16)에 출력하는 제2 Write 데이터를, 제1 비교 타이밍 신호에 의해 비교하여 일치/불일치를 판정하고, 또한 외부 입출력 버스(16)를 통하여 입력되는 당해 제1 Read 데이터와, 당해 제1 Read 데이터를 통상 인터페이스 처리 회로부(14)가 처리하여 CPU 버스(15)에 출력하는 당해 제2 Read 데이터를, 제2 비교 타이밍 신호에 의해 비교하여 일치/불일치를 판정한다.
제1 비교 타이밍 신호, 제2 비교 타이밍 신호는, 입력하는 데이터마다 미리 설정된 시간, 지연시킨 타이밍으로 한다. 즉, 메모리(13a1) 또는 메모리(13a2)에 데이터가 입력되는 타이밍으로부터, 통상 인터페이스 처리 회로부(13)에서 처리되어 대응하는 비교 데이터가 비교 가능하게 되기까지 지연시킨다.
이와 같이 구성된 프로그래머블 컨트롤러(1)는, 제어 프로그램의 실행 중에 FPGA 인터페이스 처리부(3)의 입출력 처리 동작의 불량을 자기 진단할 수 있다.
다음으로, 각 부의 상세 구성에 대하여 설명한다. 통상 인터페이스 처리 회로부(14)는, CPU(2)와 당해 통상 인터페이스 처리 회로(14) 사이에서 CPU 버스(15)를 통하여 입출력하는 CPU 버스 신호 s15를 인터페이스하는 CPU/인터페이스 회로(14a)와, 외부 디바이스(4)와 통상 인터페이스 처리 회로(14) 사이에서 외부 입출력 버스(16)를 통하여 입출력하는 외부 입출력 버스 신호 s16c를 인터페이스함과 함께, 제1 비교 타이밍 신호 및 제2 비교 타이밍 신호를 생성하는 외부 디바이스 인터페이스 회로(14c)와, 외부 디바이스(4)에의 액세스 요구와, 외부 디바이스(4)로부터의 액세스 요구를 조정하는 내부 회로(14b)를 구비한다.
또한 CPU 인터페이스 회로(14a)는, CPU 버스(15)로부터 입력한 데이터, 어드레스 및 제어 신호를 디코딩하여 내부 회로(14b)에 보내고, 또한 외부 디바이스 버스(16)로부터 입력한 데이터, 어드레스 및 제어 신호를 인코딩하여 CPU 버스(15)를 통하여 CPU(2)에 보낸다.
또한 더 상세하게는 외부 디바이스(4)는, 데이터 메모리(4a1)와 워크 메모리(4a2)를 구비하는 메모리(4a) 및 외부 입출력 디바이스(4b)를 구비하고, 외부 디바이스 인터페이스 회로(14c)는, 대응하는 메모리와의 사이를 인터페이스하는 데이터 메모리 인터페이스 회로(14c1)와, 워크 메모리 인터페이스 회로(14c2)와, 외부 입출력 디바이스 인터페이스 회로(14c3)를 구비한다.
외부 디바이스 인터페이스 회로(14c)의 각각의 회로는, 외부 디바이스(4)와 내부 회로(14b)의 상이한 신호 형태를 인터페이스하는 변환 기능을 갖는다.
일반적으로 워크 메모리(4a2)는, SRAM(Static Random Access Memory)을 포함하고, 데이터 메모리(4a1)는 SDRAM(Synchronous Dynamic Random Access Memory)을 포함하며, CPU(2)가 제어 프로그램을 실행하는 경우에 액세스된다.
또한 외부 입출력 디바이스(4b)는, CPU(2)가 제어하는 피제어 대상으로부터의 입력 신호 및 조작 단부 등의 출력 장치로부터의 신호를 인터페이스 한다.
또한 외부 입출력 버스(16)는, 데이터 메모리(4a1)와 접속하는 데이터 메모리 버스(16a) 및 워크 메모리(4a2)와 접속하는 워크 메모리 버스(16b)와, 외부 입출력 디바이스(4b)와 접속하는 입출력 디바이스 버스(16c)를 구비한다.
다음으로, 비교 회로부(13)의 상세 구성에 대하여 도 2을 참조하여 설명한다. 비교 회로부(13)는 CPU 버스 신호를 기억하는 제1 메모리(13a1)와, 외부 입출력 버스 신호를 기억하는 제2 메모리(13a2)와, CPU 버스(15)를 통하여 출력된 제1 Write 데이터와, 제1 Write 데이터를 통상 인터페이스 처리 회로부(14)가 처리하고, 외부 입출력 버스(16)에 출력하는 제2 Write 데이터를, 제1 비교 타이밍 신호에 의해 비교하여 일치/불일치를 판정하고, 또한 외부 입출력 버스(16)를 통하여 입력되는 제1 Read 데이터와, 당해 제1 Read 데이터를 통상 인터페이스 처리 회로부(14)가 처리하여 CPU 버스(15)에 출력하는 제2 Read 데이터를 상기 제2 비교 타이밍 신호에 의해 비교하여 일치/불일치를 판정하는 비교 제어 회로(13b)를 구비한다.
또한 제1 비교 타이밍에서의 판정 결과, 불일치라고 판정되었을 경우, 비교 제어 회로(13b)로부터 불일치 신호(s13b2)을 수신하여, 제1 메모리(13a1)로부터, 대응하는 제1 Write 데이터를 추출하여 재판정 요구 신호 s13c와 함께 내부 회로(14b)를 통하여 송신하고, 일치하는 경우에는 외부 디바이스(4)에 제2 Write 데이터의 송신을 지시하는 신호를, 불일치하는 경우에는 재판정 요구 신호를, 각각 대응하는 인터페이스 회로에 송신하고, 또는 제2 비교 타이밍에서의 판정 결과, 불일치라고 판정되었을 경우, 제2 메모리(13a2)로부터, 대응하는 제1 Read 데이터를 추출하여 재판정 요구 신호와 함께 내부 회로(14b)를 통하여 송신하고, 일치하는 경우에는 상기 외부 디바이스에 상기 제2 Read 데이터의 송신을 지시하는 신호를, 불일치하는 경우에는 재판정 요구 신호를, 각각 대응하는 인터페이스 회로에 송신하는 재처리 회로(13c)를 구비한다.
또한 비교 제어 회로(13b)로부터 불일치 신호 s13b2를 수신함과 함께, 불일치라고 판정된 신호를 비교 제어 회로(13b)로부터 수신하여 에러 내용을 로깅하는, 기억 유지 가능한 메모리와, 불일치 내용(에러)을 표시하는 LED 등의 표시부를 구비하는 에러 처리 회로(13d)를 구비한다. 이 에러 처리 회로(13d)는, 별도의 장소에 설치되는 외부의 표시부에 구비하도록 해도 된다.
이와 같이 구성된 FPGA 인터페이스 처리 회로(3)를 구비하는 프로그래머블 컨트롤러(1)는, 비교 회로부(13)에 의하여, FPGA 인터페이스 처리부(3)의 통상 인터페이스 처리 회로(14)에서 처리하기 전의 입력 신호와, 통상 인터페이스 처리 회로(14)에서 처리한 후의 대응하는 출력 신호(3)를 비교하여, 일치하는 경우에는 외부 디바이스(4)에 제2 Write 데이터 또는 제2 Read 데이터의 송신을 지시하는 신호를 보내고, 불일치하는 경우에는 재판정 요구 신호를, 각각 대응하는 외부 디바이스 인터페이스 회로(14c)에 송신하도록 하였다.
따라서 통상 인터페이스 처리 회로(14)의 자기 진단과, 통상 인터페이스 처리 회로(14)의 처리에 에러가 검출되었을 경우의 수복 처리를, 제어 프로그램을 정지시키지 않고 실행할 수 있는 프로그래머블 컨트롤러를 제공할 수 있다.
다음으로, 도 3을 참조하여 본 실시 형태의 FPGA를 포함한 통상 인터페이스 처리 회로(14)의 자기 진단 및 에러의 수복 기능을 구비하는 프로그래머블 컨트롤러(1)의 비교 회로부(13)의 처리 동작에 대하여 설명한다.
이 처리 동작(도 3의 s3 내지 s7)의 동안, 각각의 인터페이스 회로(14c)로부터 레디 신호를 CPU(2)에 송신하도록 하고, CPU(2)는 레디 신호를 수신하기까지의 동안에는 다음 동작으로 천이하지 않는 웨이트 제어를 실행한다.
도 3은, 본 실시 형태의 비교 회로부(13)의 처리 동작을 설명하기 위한 흐름도이다. 이 흐름도는, CPU(2)가 외부 디바이스(4)의 워크 메모리(4a2)에 Write 데이터를 기입하는 경우의 자기 진단 동작을 일례로서 설명한다.
우선 CPU(2)로부터 처리를 실행하기 위한 Write 데이터 신호(어드레스·데이터·제어 신호)가 출력되면, 이 CPU 버스 신호는 메모리(13a1)와 통상 인터페이스 처리 회로부(14)의 CPU 인터페이스 회로(14a)에 입력된다.
메모리(13a1)에 입력된 신호는, 미리 설정되는 사이클 수만큼 1차 기억된다(s1).
한편, CPU 인터페이스 회로(14a)에 입력된 CPU 버스 신호 s15는, 내부 회로(14b) 및 워크 메모리 인터페이스 회로(14c2)를 통하여 워크 메모리(4a2)에 출력된다.
그리고 비교 제어 회로(13b)에서는, 메모리(13a1)에 1차 기억된 데이터와, 통상 인터페이스 처리 회로부(14)에서 처리되어 워크 메모리 인터페이스 회로(14a2)로부터 메모리 버스(16a)에 출력된, 메모리(13a1)의 1차 기억 데이터에 대응하는 메모리(13a2)에 기억된 데이터를 제1 비교 타이밍 신호에 의해 비교한다.
비교의 데이터 입력 회로는, 잡음의 영향을 받지 않도록 배려된 구성으로 해 두고, 비교 타이밍은, 워크 메모리 인터페이스 회로(14c2)에서 생성되는, 워크 메모리 버스(16b)에 출력하는 데이터의 래치 신호에 동기한 비교 타이밍 신호 s14c2에 의해 비교한다(s2).
비교의 결과(s3), 일치(에러 없음)로 판정되었을 경우에는, 비교 제어 회로(13b)는 일치 신호 s13b1을 워크 메모리 인터페이스 회로(14c2)에 보내고, 워크 메모리 인터페이스 회로(14c2)로부터 래치된 데이터가, 그대로 메모리 버스(16b)를 통하여 워크 메모리(4a2)에 출력된다(s7).
불일치라고 판정되었을 경우에는, 비교 제어 회로(13b)는 불일치 신호 s13b2를 재처리 회로(13c), 에러 처리 회로(13d) 및 워크 메모리 인터페이스 회로(14c2)에 보낸다.
워크 메모리 인터페이스 회로(14c2)에서는, 워크 메모리(4a2)에의 신호의 출력을 정지시킨다. 또한 에러 처리 회로(13d)에서는, 에러 내용을 도시하지 않은 내부 레지스터 및 백업 가능한, 도시하지 않은 백업 메모리에 로깅한다. 또한 필요가 있을 경우에는, 도시하지 않은 표시기로부터 에러를 표시한다(s8).
에러가 통지된 재처리 회로(13c)에서는, 불일치로 된 에러 내용으로부터 대응하는 데이터를 메모리(13a1)로부터 추출하여, 대응하는 어드레스, 데이터, 제어 신호의 정보로부터, 워크 메모리(4a2)에 송신하는 데이터를 재생하고, 내부 회로(14b)에 보낸다(s4).
그리고 비교 제어 회로(13b)는, 내부 회로(14b)로부터 워크 메모리 인터페이스 회로(14c2)에서 재처리된 워크 메모리 버스(16b)에의 출력 데이터와, 메모리(13a1)로부터 재추출한 데이터를 재비교한다(s5).
비교의 결과, 일치했을 경우에는, 워크 메모리 인터페이스 회로(14c2)로부터 워크 메모리 버스(16b)를 통하여 데이터를 출력하고(s7), CPU(2)는, 이 에러는 일과성의 고장이라고 판단하여 제어 프로그램의 실행을 계속한다.
이 재비교에 있어서 에러가 검출되었을 경우, 메모리(13a1)에 기억된 데이터를 정(正)으로 하고, 재처리 회로(13c)로부터 출력된 데이터를 워크 메모리 인터페이스 회로(14c2)가 도시하지 않은 출력 레지스터에 기입하여(s6), 워크 메모리 버스(16b)를 통하여 출력한다(s7).
다른 외부 디바이스(4)에 Write 데이터를 기입하는 경우, 본 워크 메모리(4a2)에 기입하는 경우와 마찬가지이므로 그 설명을 생략한다.
또한 외부 디바이스(4)로부터 Read 데이터를 판독하는 경우의 동작은, 외부 디바이스(4)로부터 Write 데이터를 기입(Write)하는 경우에는, 비교 제어 회로(13b)에서 비교하는 한쪽 기준으로 되는 참조 데이터를 메모리(13a1)로부터 추출했지만, 외부 디바이스(4)로부터 Read 데이터를 판독하는 경우에는, 비교 제어 회로(13b)에서 비교하는 기준으로 되는 참조 데이터를 메모리(13a2)로부터 추출하는 점이 상이하다.
그 외의 동작은 외부 디바이스(4)로부터 Write 데이터를 기입하는 경우와 마찬가지이므로 그 설명을 생략한다.
이상 설명한 바와 같이 본 실시 형태에 의하면, FPGA를 사용하여 구성된 신호 처리 회로를 구비하는 프로그래머블 컨트롤러에 있어서, 제어 프로그램의 실행을 정지시키지 않고 당해 FPGA를 포함한 신호 처리 회로의 자기 진단과, 에러 검출 시의 수복 기능을 구비하는 프로그래머블 컨트롤러를 제공할 수 있다.
본 발명의 몇 가지 실시 형태를 설명했지만, 이들 실시 형태는 예로서 제시한 것이며, 발명의 범위를 한정하는 것은 의도하지 않았다. 이들 신규의 실시 형태는 그 외의 다양한 형태로 실시되는 것이 가능하며, 발명의 요지를 일탈하지 않는 범위에서 다양한 생략, 치환, 변경을 행할 수 있다. 이들 실시 형태나 그 변형은 발명의 범위나 요지에 포함됨과 함께, 특허 청구 범위에 기재된 발명과 그 균등한 범위에 포함된다.

Claims (4)

  1. 프로그래머블 컨트롤러로서,
    제어 프로그램을 실행하는 CPU와,
    상기 CPU의 외부 메모리와, 상기 CPU의 외부 입출력 디바이스를 구비하는 외부 디바이스와,
    상기 제어 프로그램의 실행에 의하여, 상기 CPU가 상기 외부 디바이스에 기입하는 Write 데이터를 출력하는 출력 신호 및 상기 CPU가 상기 외부 디바이스로부터 판독하는 Read 데이터를 입력하는 입력 신호를 인터페이스하는 FPGA를 포함하는 FPGA 인터페이스 처리부와,
    상기 CPU와 상기 FPGA 인터페이스 처리부 사이를 접속하는 CPU 버스와,
    상기 FPGA 인터페이스 처리부와 상기 외부 디바이스를 접속하는, 쌍방향 패러렐 전송의 외부 입출력 버스를 구비하고,
    상기 FPGA 인터페이스 처리부는,
    상기 제어 프로그램을 실행하는 경우에 상기 입력 신호 및 상기 출력 신호를 인터페이스함과 함께, 상기 Write 데이터를 상기 외부 입출력 버스에 출력하는 제1 비교 타이밍 신호를 생성하고, 또한 상기 Read 데이터를 상기 CPU 버스에 출력하는 제2 비교 타이밍 신호를 생성하는 통상 인터페이스 처리 회로부와,
    상기 CPU가 상기 CPU 버스를 통하여 출력한 제1 Write 데이터와, 당해 제1 Write 데이터를 상기 통상 인터페이스 처리 회로부가 처리하여 상기 외부 입출력 버스에 출력하는 제2 Write 데이터를, 상기 제1 비교 타이밍 신호에 의해 비교하여 일치/불일치를 판정하며,
    또한 상기 외부 입출력 버스를 통하여 입력되는 당해 제1 Read 데이터와, 당해 제1 Read 데이터를 상기 통상 인터페이스 처리 회로부가 처리하여 상기 CPU 버스에 출력하는 당해 제2 Read 데이터를, 상기 제2 비교 타이밍 신호에 의해 비교하여 일치/불일치를 판정하는 비교 회로부
    를 구비하고,
    상기 통상 인터페이스 처리 회로부는,
    상기 CPU와 당해 통상 인터페이스 처리 회로 사이에서 상기 CPU 버스를 통하여 입출력하는 CPU 버스 신호를 인터페이스하는 CPU/인터페이스 회로와,
    상기 외부 디바이스와 당해 통상 인터페이스 처리 회로 사이에서 상기 외부 입출력 버스를 통하여 입출력하는 외부 입출력 버스 신호를 인터페이스함과 함께, 상기 제1 비교 타이밍 신호 및 상기 제2 비교 타이밍 신호를 생성하는 외부 디바이스 인터페이스 회로와,
    상기 외부 디바이스에의 액세스 요구와, 상기 외부 디바이스로부터의 액세스 요구를 조정하는 내부 회로
    를 구비하고,
    상기 제어 프로그램의 실행 중에 상기 FPGA 인터페이스 처리부의 입출력 처리 동작의 불량을 자기 진단하도록 한 것을 특징으로 하는 프로그래머블 컨트롤러.
  2. 제1항에 있어서,
    상기 외부 디바이스는, 데이터 메모리와 워크 메모리를 구비하는 메모리 및 외부 입출력 디바이스를 구비하고,
    상기 외부 디바이스 인터페이스 회로는, 상기 당해 메모리와의 사이를 인터페이스하는 데이터 메모리 인터페이스 회로와, 워크 메모리 인터페이스 회로와, 외부 입출력 인터페이스 회로를 구비하고,
    상기 외부 입출력 버스는, 당해 데이터 메모리와 접속하는 데이터 메모리 버스 및 워크 메모리와 접속하는 워크 메모리 버스와, 당해 외부 입출력 디바이스와 접속하는 입출력 디바이스 버스를 구비하도록 한 프로그래머블 컨트롤러.
  3. 제1항에 있어서,
    상기 비교 회로부는,
    상기 CPU 버스 신호를 기억하는 제1 메모리와,
    상기 외부 입출력 버스 신호를 기억하는 제2 메모리와,
    상기 CPU 버스를 통하여 출력된 제1 Write 데이터와, 당해 제1 Write 데이터를 상기 통상 인터페이스 처리 회로부가 처리하여 상기 외부 입출력 버스에 출력하는 제2 Write 데이터를, 상기 제1 비교 타이밍 신호에 의해 비교하여 일치/불일치를 판정하고, 또한 상기 외부 입출력 버스를 통하여 입력되는 당해 제1 Read 데이터와, 당해 제1 Read 데이터를 상기 통상 인터페이스 처리 회로부가 처리하여 상기 CPU 버스에 출력하는 당해 제2 Read 데이터를, 상기 제2 비교 타이밍 신호에 의해 비교하여 일치/불일치를 판정하는 비교 제어 회로와,
    상기 제1 비교 타이밍에서의 판정 결과, 불일치라고 판정되었을 경우, 상기 제1 메모리로부터, 대응하는 상기 제1 Write 데이터를 추출하여 재판정 요구 신호와 함께 상기 내부 회로를 통하여 송신하며,
    일치하는 경우에는, 상기 외부 디바이스에 상기 제2 Write 데이터의 송신을 지시하는 신호를, 불일치하는 경우에는 재판정 요구 신호를, 각각 대응하는 인터페이스 회로에 송신하고,
    상기 제2 비교 타이밍에서의 판정 결과, 불일치라고 판정되었을 경우, 상기 제2 메모리로부터, 대응하는 상기 제1 Write 데이터를 추출하여 재판정 요구 신호와 함께 상기 내부 회로를 통하여 송신하며,
    일치하는 경우에는, 상기 외부 디바이스에 상기 제2 Read 데이터의 송신을 지시하는 신호를, 불일치하는 경우에는 재판정 요구 신호를, 각각 대응하는 인터페이스 회로에 송신하는 재처리 회로
    를 구비하고, 불일치하는 경우에 수복 데이터를 송신하여 제어 프로그램을 계속 실행하도록 한 것을 특징으로 하는 프로그래머블 컨트롤러.
  4. 삭제
KR1020140169448A 2013-12-17 2014-12-01 프로그래머블 컨트롤러 KR101606289B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013260493A JP6280359B2 (ja) 2013-12-17 2013-12-17 プログラマブルコントローラ
JPJP-P-2013-260493 2013-12-17

Publications (2)

Publication Number Publication Date
KR20150070943A KR20150070943A (ko) 2015-06-25
KR101606289B1 true KR101606289B1 (ko) 2016-03-24

Family

ID=53413891

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140169448A KR101606289B1 (ko) 2013-12-17 2014-12-01 프로그래머블 컨트롤러

Country Status (4)

Country Link
JP (1) JP6280359B2 (ko)
KR (1) KR101606289B1 (ko)
CN (1) CN104714459B (ko)
IN (1) IN2014DE03347A (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017069777A (ja) * 2015-09-30 2017-04-06 株式会社日立製作所 通信処理装置、通信方法および通信システム
CN107942894B (zh) * 2016-10-13 2019-12-10 中国石油天然气集团公司 主输入输出子模块及其诊断方法、可编辑逻辑控制器
JP2018067148A (ja) * 2016-10-19 2018-04-26 東洋電機製造株式会社 シミュレーションシステム
CN108628694B (zh) * 2017-03-20 2023-03-28 腾讯科技(深圳)有限公司 一种基于可编程硬件的数据处理方法以及装置
JP6645467B2 (ja) * 2017-03-28 2020-02-14 株式会社デンソー マイクロコンピュータ
CN106873469A (zh) * 2017-03-31 2017-06-20 苏州时代华理电气有限公司 一种具有自诊断能力的数字量采集装置
CN107943629A (zh) * 2017-11-20 2018-04-20 英业达科技有限公司 计算机装置及其控制方法
JP7045293B2 (ja) * 2018-09-19 2022-03-31 日立Astemo株式会社 電子制御装置
CN109614351B (zh) * 2018-11-30 2022-05-24 中国人民解放军陆军工程大学 带有纠错和自动应答机制的并行总线串行互联扩展方法
CN109839918B (zh) * 2019-03-06 2020-10-27 中国核动力研究设计院 一种基于fpga的自诊断方法
CN111857074A (zh) * 2020-07-22 2020-10-30 广东安达智能装备股份有限公司 一种高速高精度路径比较控制方法和路径比较控制器
CN115348128B (zh) * 2022-06-27 2023-12-05 航天科工空间工程发展有限公司 一种基于fpga的双can总线处理管理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010134678A (ja) 2008-12-04 2010-06-17 Nec Corp 電子デバイス、電子デバイスの故障検出方法および電子デバイスの故障回復方法
JP2011216020A (ja) 2010-04-01 2011-10-27 Mitsubishi Electric Corp 情報処理装置および回路再構成装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61188602A (ja) * 1985-02-16 1986-08-22 Omron Tateisi Electronics Co 入出力バスの監視回路
JPH01277951A (ja) * 1988-04-28 1989-11-08 Nec Ibaraki Ltd データ転送装置
JPH0512189A (ja) * 1991-07-03 1993-01-22 Nec Corp 情報処理システム
JP3441262B2 (ja) * 1995-09-20 2003-08-25 オムロン株式会社 データ処理装置
JP3015793B1 (ja) * 1999-01-11 2000-03-06 株式会社東芝 プログラマブルコントロ―ラ
CN2867353Y (zh) * 2005-04-11 2007-02-07 北京航空航天大学 卫星导航接收机通用数字信号处理平台
CN101196213B (zh) * 2007-12-26 2010-09-01 北京航空航天大学 一种集成化高温超导磁悬浮储能飞轮磁轴承数字控制系统
JP2010039739A (ja) * 2008-08-05 2010-02-18 Koyo Electronics Ind Co Ltd 安全plc
CN201886095U (zh) * 2010-11-11 2011-06-29 中国电力科学研究院 一种合并单元的测试装置
US20120159274A1 (en) * 2010-12-21 2012-06-21 Balakrishnan Kedarnath J Apparatus to facilitate built-in self-test data collection
JP5925507B2 (ja) * 2012-02-07 2016-05-25 株式会社日立製作所 データ照合装置、照合方法及びそれを用いた安全保安システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010134678A (ja) 2008-12-04 2010-06-17 Nec Corp 電子デバイス、電子デバイスの故障検出方法および電子デバイスの故障回復方法
JP2011216020A (ja) 2010-04-01 2011-10-27 Mitsubishi Electric Corp 情報処理装置および回路再構成装置

Also Published As

Publication number Publication date
JP6280359B2 (ja) 2018-02-14
KR20150070943A (ko) 2015-06-25
IN2014DE03347A (ko) 2015-08-21
CN104714459B (zh) 2017-12-19
CN104714459A (zh) 2015-06-17
JP2015118468A (ja) 2015-06-25

Similar Documents

Publication Publication Date Title
KR101606289B1 (ko) 프로그래머블 컨트롤러
US7444540B2 (en) Memory mirroring apparatus and method
US8732532B2 (en) Memory controller and information processing system for failure inspection
KR101558687B1 (ko) 직렬 통신 테스트 장치, 시스템 및 방법
US8527714B2 (en) Secure avionics equipment and associated method of making secure
US10379946B2 (en) Controller
EP3979527A1 (en) System and method of network synchronized time in safety applications
US20030041290A1 (en) Method for monitoring consistent memory contents in redundant systems
US7890831B2 (en) Processor test system utilizing functional redundancy
US10467889B2 (en) Alarm handling circuitry and method of handling an alarm
JP2013175118A (ja) 制御装置、及びそのメモリ故障検出方法、その自己診断方法
JP2001290710A (ja) データエラー検出装置
JP2010102565A (ja) 二重化制御装置
JP2019066983A (ja) 半導体装置
JP5632804B2 (ja) バス診断機能を備えた制御装置
Proerzza et al. A low-cost fail-safe circuit for fault-tolerant control systems
JP5325032B2 (ja) 多重系システムの高信頼性制御装置
US20230055743A1 (en) Information processing device, control method, and non-transitory computer readable medium
JP6618505B2 (ja) コンフィグレーションデータ設定装置
JP2559531B2 (ja) 二重化システムのエラーチェック回路
JP2012113481A (ja) バスモジュール及びバスシステム
KR100775345B1 (ko) 듀얼포트 메모리의 액세스 제어장치 및 방법
JPS5917465B2 (ja) チエツク装置
JP2011145757A (ja) 入出力装置
JPH01277951A (ja) データ転送装置

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200303

Year of fee payment: 5