KR100854662B1 - 로봇 제어 모듈의 프로세스 연결 방법 - Google Patents
로봇 제어 모듈의 프로세스 연결 방법 Download PDFInfo
- Publication number
- KR100854662B1 KR100854662B1 KR1020070055409A KR20070055409A KR100854662B1 KR 100854662 B1 KR100854662 B1 KR 100854662B1 KR 1020070055409 A KR1020070055409 A KR 1020070055409A KR 20070055409 A KR20070055409 A KR 20070055409A KR 100854662 B1 KR100854662 B1 KR 100854662B1
- Authority
- KR
- South Korea
- Prior art keywords
- controller
- data
- common
- transmission path
- opb
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/08—Programme-controlled manipulators characterised by modular constructions
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J13/00—Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network
- H02J13/00006—Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network characterised by information or instructions transport means between the monitoring, controlling or managing units and monitored, controlled or operated power network element or electrical equipment
- H02J13/00016—Circuit arrangements for providing remote indication of network conditions, e.g. an instantaneous record of the open or closed condition of each circuitbreaker in the network; Circuit arrangements for providing remote control of switching means in a power distribution network, e.g. switching in and out of current consumers by using a pulse code signal carried by the network characterised by information or instructions transport means between the monitoring, controlling or managing units and monitored, controlled or operated power network element or electrical equipment using a wired telecommunication network or a data transmission bus
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/12—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them characterised by data transport means between the monitoring, controlling or managing units and monitored, controlled or operated electrical equipment
- Y04S40/124—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them characterised by data transport means between the monitoring, controlling or managing units and monitored, controlled or operated electrical equipment using wired telecommunication networks or data transmission busses
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Artificial Intelligence (AREA)
- Computer Networks & Wireless Communication (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manipulator (AREA)
Abstract
본 발명은 로봇 제어 모듈의 프로세스 연결 방법에 관한 것으로, 보다 상세하게는 하나의 버퍼메모리와 하나의 OPB(On-chip Peripheral Bus)_메모리_컨트롤러 및 최소한의 OPB_OPB_컨트롤러를 이용하여 프로세서간 데이터 전송을 수행할 수 있는 연결 방법을 제공함으로써, 신속한 데이터 처리가 가능하도록 한 것이다.
또한, FPGA(Field Programmable Gate Array) 및 FPGA에 탑재되는 프로세스에 대한 디버깅이 용이하도록 하여, 해당 FPGA가 탑재된 제어시스템의 신뢰성을 향상시킬 수 있는 것이다.
특히, FPGA의 경량화 및 소형화가 가능하고 프로세서간의 데이터 전송 효율을 개선하며, 신속한 데이터 처리가 가능해짐에 따라, 해저드(hazard) 로봇 시스템과 같이 실시간 에러처리가 요구되는 시스템의 안전성을 크게 향상시킬 수 있는 것이다.
OPB, FPGA, 프로세스, 전송로, 버퍼메모리
Description
도 1은 일반적인 로봇 제어 모듈의 프로세스 연결 구조를 나타낸 블록도이다.
도 2는 본 발명에 의한 로봇 제어 모듈의 프로세스 연결 방법을 나타낸 블록도이다.
도 3은 본 발명에 의한 로봇 제어 모듈의 프로세스에 의해 처리되는 데이터 형태의 일 예를 나타낸 도면.
<도면의 주요 부분에 대한 부호의 설명>
100 : 주 프로세스 110 : 제1 보조 프로세스
120 : 제2 보조 프로세스 130 : 제3 보조 프로세스
200 : OPB_메모리_컨트롤러 210 : 주 OPB_OPB_컨트롤러
220 : 제1 보조 OPB_OPB_컨트롤러 230 : 제2 보조 OPB_OPB_컨트롤러
240 : 제3 보조 OPB_OPB_컨트롤러 300 : 버퍼메모리
400 : 주 프로세스용 데이터 전송로
410 : 제1 보조 프로세스용 데이터 전송로
420 : 제2 보조 프로세스용 데이터 전송로
430 : 제3 보조 프로세스용 데이터 전송로
450 : 공통 데이터 전송로
본 발명은 로봇 제어 모듈의 프로세스 연결 방법에 관한 것으로서, 보다 상세하게는 하나의 버퍼메모리와 하나의 OPB_메모리_컨트롤러 및 최소한의 OPB_OPB_컨트롤러를 이용하여 프로세서간 데이터 전송을 수행할 수 있는 연결 방법을 제공함으로써, 신속한 데이터 처리가 가능하도록 한 것이다.
또한, FPGA 및 FPGA에 탑재되는 프로세스에 대한 디버깅이 용이하도록 함은 물론, FPGA의 경량화 및 소형화가 가능하고 프로세서간의 데이터 전송 효율을 개선할 수 있는 것이다.
일반적으로 FPGA(Field Programmable Gate Array)란, 이미 설계된 하드웨어를 생산하기 직전에 최종적으로 하드웨어의 동작 및 성능을 검증하기 위해 제작하는 중간 개발물 형태의 집적회로(IC : Integrated Circuit)를 말한다.
FPGA는 반도체 제조업자 측에서 보면 양산되어 일반적 용도로 사용되므로 범용집적회로의 범주에 속하고, 사용자측에서 보면 사용자 요구에 맞게 프로그래밍하여 사용할 수 있으므로 주문형 반도체(ASIC : Application Specific IC) 범주에 속한다.
이러한 FPGA는 사용자가 직접 원하는 내용을 입력하여 사용하기에 용이하기 때문에, 주로 로봇 등을 제어하는 제어시스템의 제어모듈(로봇 제어기 등)로 많이 사용된다.
한편, 로봇제어기에 적합한 다수의 프로세스를 FPGA 내에 구성하려면, 구성되는 프로세스간의 데이터 전송이 필요하며, OPB(On-chip Peripheral Bus)를 이용하여 연결하고자 하면 다수의 OPB_메모리(Memory)_컨트롤러(Controller)와 다수의 버퍼메모리(Buffer RAM)이 사용된다. 여기서, 상기 OPB_메모리_컨트롤러는 OPB와 버퍼메모리 간의 데이터 송수신을 위한 컨트롤러이고, 상기 프로세스는 IP(Intellectual Property)에 탑재되며, IP는 FPGA 내에 단일로 동작이 가능한 모듈을 말한다.
도 1은 일반적인 로봇 제어 모듈의 프로세스 연결 구조를 나타낸 블록도로서, FPGA 내에 구성된 주 프로세스(100)와 제1 보조 프로세스(110), 제2 보조 프로세스(120), 제3 보조 프로세스(130) 간의 데이터 전송을 위한 전송로 연결구조를 나타낸 것이다.
각각의 프로세스는 데이터 송수신을 위한 전송로를 가지고 있으며, 도 1에 나타난 바와 같이, 주 프로세스(100)는 주 프로세스용 데이터 전송로(400)를 통해 데이터를 송수신하고, 제1 보조 프로세스(110)는 제1 보조 프로세스용 데이터 전송로(410)를 통해 데이터를 송수신하며, 제2 보조 프로세스(120)는 제2 보조 프로세스용 데이터 전송로(420)를 통해 데이터를 송수신하고, 제3 보조 프로세스(130)는 제3 보조 프로세스용 데이터 전송로(430)를 통해 데이터를 송수신한다.
한편, 각각의 프로세서간 데이터 송수신은, 해당 프로세서 내부의 연산처리시간 등에 따른 데이터의 송수신을 조절하기 위한 버퍼메모리를 통해 이루어지며, 상기 버퍼메모리와 데이터 전송로 간의 송수신은 OPB_메모리_컨트롤러에 의해 이루어진다.
예를 들어, 도 1에 나타난 바와 같이, 주 프로세스(100)로부터 제1 보조 프로세스(110) 내지 제3 보조 프로세스(130)를 거쳐 다시 주 프로세스(100)로 데이터가 전송되는 경우, 해당 데이터는 주 프로세스(100)에서 출력되어 주 OPB_메모리_컨트롤러(201)와 제1 버퍼메모리(301) 및 제1 OPB_메모리_컨트롤러(202)를 거쳐 제1 보조 프로세스(110)로 전송되고, 제1 보조 프로세스(110)에서 처리된 데이터는 제1 OPB_메모리_컨트롤러(202)와 제4 버퍼메모리(304) 및 제2 OPB_메모리_컨트롤러(203)를 거쳐 제2 보조 프로세스(120)로 전송되며, 제2 보조 프로세스(120)에서 처리된 데이터는 제2 OPB_메모리_컨트롤러(203)와 제6 버퍼메모리(306) 및 제3 OPB_메모리_컨트롤러(204)를 거쳐 제3 보조 프로세스(130)로 전송되고, 제3 보조 프로세스(130)에서 처리된 데이터는 제3 OPB_메모리_컨트롤러(204)와 제3 버퍼메모리(303) 및 주 OPB_메모리_컨트롤러(201)를 거쳐 주 프로세스(100)로 전송되는 것이다.
마찬가지로, 제1 보조 프로세스(110)와 제3 보조 프로세스(130) 간의 데이터 전송은 제1 OPB_메모리_컨트롤러(202)와 제5 버퍼메모리(305) 및 제3 OPB_메모리_컨트롤러(204)를 통해 이루어지며, 주 프로세스(100)와 제2 보조 프로세스(130) 간의 데이터 전송은 주 OPB_메모리_컨트롤러(201)와 제2 버퍼메모리(302) 및 제 2 OPB_메모리_컨트롤러(203)를 통해 이루어진다.
그러나, 상기와 같이 하나의 FPGA 내부에 다수의 IP(Intellectual Property)가 구성되면, FPGA 내에 IP와 버퍼메모리 및 OPB_메모리_컨트롤러가 차지하는 용량이 커지게 되며, 하나의 IP가 추가될 때 마다 해당 IP를 위한 버퍼메모리 및 OPB_메모리_컨트롤러의 개수는 기하급수적으로 증가하게 된다.
따라서, 많은 수의 IP가 탑재되는 FPGA의 경우 데이터를 처리함에 있어, 특정 IP의 사용이 제한되거나 프로세스간 데이터 전송의 처리가 복잡해지는 구조적인 문제점이 있다. 더불어, 해당 FPGA의 크기가 커지고 무거워지게 되는 문제점도 발생되었다.
또한, 상기와 같은 구조적인 문제점으로 인하여 FPGA 및 FPGA에 탑재되는 프로세스에 대한 디버깅(Debugging)이 어려워지게 되며, 그로 인해 해당 FPGA가 탑재되는 제어시스템의 전체적인 신뢰성이 저하되는 문제점이 있었다.
특히, 데이터 처리구조의 복잡함으로 인하여, 신속한 데이터의 처리가 어렵기 때문에 실시간으로 로봇을 제어하기가 어려우며, 그로 인해 위험성이 높은 해저드(hazard) 로봇 시스템과 같이 실시간 에러처리가 요구되는 시스템에 적용하기에는 안전성이 저하되는 등의 문제점이 많았다.
상기와 같은 문제점을 해결하기 위해서, 본 발명은 다수의 버퍼메모리와 OPB_메모리_컨트롤러의 구성을 배제하고, 하나의 버퍼메모리와 하나의 OPB_메모리_컨트롤러 및 최소한의 OPB_OPB_컨트롤러를 이용하여 프로세서간 데이터 전송을 수행할 수 있는 연결 방법을 제공함으로써, 신속한 데이터 처리가 가능하도록 한 로봇 제어 모듈의 프로세스 연결 방법을 제공하는데 목적이 있다.
특히, FPGA의 경량화 및 소형화가 가능하고 프로세서간의 데이터 전송 효율을 개선하며, FPGA 및 FPGA에 탑재되는 프로세스에 대한 디버깅이 용이하도록 하여, 해당 FPGA가 탑재된 제어시스템의 신뢰성을 향상시킴은 물론, 신속한 데이터 처리가 가능해짐에 따라, 해저드(hazard) 로봇 시스템과 같이 실시간 에러처리가 요구되는 시스템의 안전성을 크게 향상시킬 수 있는 로봇 제어 모듈의 프로세스 연결 방법을 제공하는데 목적이 있다.
상기와 같은 목적을 달성하기 위해서, 본 발명에 따른 로봇 제어 모듈의 프로세스 연결 방법은, 로봇을 제어하는 모듈내부에 탑재되며, 로봇을 제어하기 위한 연산처리를 수행하는 하나의 주프로세스와 적어도 하나의 보조프로세스 및 버퍼메모리 간의 데이터전송로 연결 방법에 있어서, 상기 모듈내부에 공통데이터전송로를 구성하고, 상기 버퍼메모리는 공통전송로_메모리_컨트롤러를 통해 상기 공통데이터전송로와 데이터를 송수신하고, 상기 하나의 주 프로세스는 주전송로_공통전송로_컨트롤러를 통해 상기 공통데이터전송로와 데이터를 송수신하며, 상기 적어도 하나의 보조 프로세스는 보조전송로_공통전송로_컨트롤러를 통해 상기 공통데이터전송로와 데이터를 송수신하도록 구성된 것을 특징으로 한다.
본 발명에 따른 로봇 제어 모듈의 프로세스 연결 방법에 대한 예는 다양하게 적용할 수 있으며, 이하에서는 첨부된 도면을 참조하여 가장 바람직한 실시 예에 대해 설명하기로 한다.
도 2는 본 발명에 의한 로봇 제어 모듈의 프로세스 연결 방법을 나타낸 블록도로서, FPGA 내에 구성된 주 프로세스(100)와 제1 보조 프로세스(110), 제2 보조 프로세스(120), 제3 보조 프로세스(130) 간의 데이터 전송을 위한 전송로 연결 방법을 나타낸 것이다. 여기서, 상기 보조 프로세스 및 전송로의 개수는 당업자의 요구에 따라 달라지며, 본 발명에서는 보조 프로세스가 3개인 경우를 예로 하여 설명한다.
상기 주 프로세스(100)는 주 프로세스용 데이터 전송로(400)을 통해 데이터를 송수신하고, 제1 보조 프로세스(110)는 제1 보조 프로세스용 데이터 전송로(410)를 통해 데이터를 송수신하며, 제2 보조 프로세스(120)는 제2 보조 프로세스용 데이터 전송로(420)를 통해 데이터를 송수신하고, 제3 보조 프로세스(130)는 제3 보조 프로세스용 데이터 전송로(430)를 통해 데이터를 송수신한다.
그리고, 본 발명에서는 FPGA 내부에 공통 데이터 전송로(450)가 구성되어 있다.
주 프로세스(100), 제1 보조 프로세스(110), 제2 보조 프로세스(120), 제2 보조 프로세스(130) 간의 데이터 전송을 위한 임시저장소인 버퍼메모리(Buffer RAM)(300)는 OPB_메모리_컨트롤러(200)를 통해 공통 데이터 전송로(450)와 데이터를 송수신한다. 여기서 OPB_메모리_컨트롤러(200)는 버퍼메모리(300)와 공통 데이터 전송로(450)의 데이터 송수신을 제어하는 제어모듈이며, 이하 공통전송로_메모리_컨트롤러라 한다.
상기 주 프로세스(100)는 주 프로세스용 데이터 전송로(400)와 공통 데이터 전송로(450) 간의 데이터 송수신을 제어하는 주 OPB_OPB_컨트롤러(210)에 의해 공통데이터 전송로(450)와 데이터를 송수신하며, 상기 주 OPB_OPB_컨트롤러(210)는 주전송로_공통전송로_컨트롤러라 한다.
상기 제1 보조 프로세스(110)는 제1 보조 프로세스용 데이터 전송로(410)와 공통 데이터 전송로(450) 간의 데이터 송수신을 제어하는 제1 보조 OPB_OPB_컨트롤러(220)에 의해 공통데이터 전송로(450)와 데이터를 송수신하며, 상기 제1 보조 OPB_OPB_컨트롤러(220)는 제1 보조전송로_공통전송로_컨트롤러라 한다.
상기 제2 보조 프로세스(120)는 제2 보조 프로세스용 데이터 전송로(420)와 공통 데이터 전송로(450) 간의 데이터 송수신을 제어하는 제2 보조 OPB_OPB_컨트롤러(230)에 의해 공통데이터 전송로(450)와 데이터를 송수신하며, 상기 제2 보조 OPB_OPB_컨트롤러(230)는 제2 보조전송로_공통전송로_컨트롤러라 한다.
상기 제3 보조 프로세스(130)는 제3 보조 프로세스용 데이터 전송로(430)와 공통 데이터 전송로(450) 간의 데이터 송수신을 제어하는 제3 보조 OPB_OPB_컨트롤러(240)에 의해 공통데이터 전송로(450)와 데이터를 송수신하며, 상기 제3 보조 OPB_OPB_컨트롤러(240)는 제3 보조전송로_공통전송로_컨트롤러라 한다.
이하에서, 상기와 같이 구성된 본 발명에 의한 로봇 제어 모듈의 프로세서 연결 방법에 의한 데이터 전송 과정에 대하여, 도 3을 참조하여, 주 프로세스(100)에서 처리되는 데이터가 제1 보조 프로세스(110) 내지 제3 보조 프로세스(130)에서 순차적으로 처리되는 것을 예로 설명하기로 한다.
주 프로세스(100)는 로봇의 제어를 위한 연산처리를 수행하는 과정에서, 보조 프로세서의 연산처리가 필요한 경우, 도 3의 (a)와 같이 처리하고자 하는 처리대상데이터와 해당 처리대상데이터의 처리를 요청하는 프로세스의 인덱스를 포함하는 데이터 (a)를 생성하여 주전송로_공통전송로_컨트롤러(210)로 전송한다.
상기 주전송로_공통전송로_컨트롤러(210)는 공통 데이터 전송로(450)를 통해 데이터 (a)를 공통전송로_메모리_컨트롤러(200)로 전송하며, 상기 공통전송로_메모리_컨트롤러(200)는 버퍼메모리(300)에 데이터 (a)를 저장한다.
이후, 제1 보조 프로세스(110)가 데이터를 처리할 수 있는 상태가 되면, 버퍼메모리(300)에 저장된 데이터는 공통전송로_메모리_컨트롤러(200)로 전송되며, 상기 공통전송로_메모리_컨트롤러(200)는 처리대상데이터에 연결되어 저장된 인덱스(제1 보조 프로세서 인덱스)를 확인하여, 데이터 (a)를 제1 보조전송로_공통전송로_컨트롤러(220)로 전송한다.
상기 제1 보조전송로_공통전송로_컨트롤러(220)는 제1 보조프로세스용 데이터 전송로(410)를 통해 수신된 데이터 (a)를 제1 보조 프로세스(110)로 전송하며, 상기 제1 보조 프로세스(110)는 수신된 데이터 (a)에서 처리대상데이터를 추출하여 처리한 후, 제1 보조 프로세스 인덱스에 대한 정보를 제거하여 도 3의 (b)와 같은 데이터를 생성하여, 제1 보조전송로_공통전송로_컨트롤러(220)로 전송한다.
상기 제1 보조전송로_공통전송로_컨트롤러(220)는 공통 데이터 전송로(450)를 통해 데이터 (b)를 공통전송로_메모리_컨트롤러(200)로 전송하며, 상기 공통전송로_메모리_컨트롤러(200)는 버퍼메모리(300)에 데이터 (b)를 저장한다.
이후, 제2 보조 프로세스(120)가 데이터를 처리할 수 있는 상태가 되면, 버퍼메모리(300)에 저장된 데이터 (b)는 공통전송로_메모리_컨트롤러(200)로 전송되며, 상기 공통전송로_메모리_컨트롤러(200)는 처리대상데이터에 연결되어 저장된 인덱스(제2 보조 프로세서 인덱스)를 확인하여, 해당 데이터를 제2 보조전송로_공통전송로_컨트롤러(230)로 전송한다.
상기 제2 보조전송로_공통전송로_컨트롤러(230)는 제2 보조프로세스용 데이터 전송로(420)를 통해 수신된 데이터 (b)를 제2 보조 프로세스(120)로 전송하며, 상기 제2 보조 프로세스(120)는 수신된 데이터 (b)에서 처리대상데이터를 추출하여 처리한 후, 제2 보조 프로세스 인덱스에 대한 정보를 제거하여 도 3의 (c)와 같은 데이터를 생성하여, 제2 보조전송로_공통전송로_컨트롤러(230)로 전송한다.
상기 제2 보조전송로_공통전송로_컨트롤러(230)는 공통 데이터 전송로(450)를 통해 데이터 (c)를 공통전송로_메모리_컨트롤러(200)로 전송하며, 상기 공통전송로_메모리_컨트롤러(200)는 버퍼메모리(300)에 데이터 (c)를 저장한다.
이후, 제3 보조 프로세스(130)가 데이터를 처리할 수 있는 상태가 되면, 버퍼메모리(300)에 저장된 데이터 (c)는 공통전송로_메모리_컨트롤러(200)로 전송되며, 상기 공통전송로_메모리_컨트롤러(200)는 처리대상데이터에 연결되어 저장된 인덱스(제3 보조 프로세서 인덱스)를 확인하여, 해당 데이터를 제3 보조전송로_공통전송로_컨트롤러(240)로 전송한다.
상기 제3 보조전송로_공통전송로_컨트롤러(240)는 제3 보조프로세스용 데이터 전송로(430)를 통해 수신된 데이터 (c)를 제3 보조 프로세스(130)로 전송하며, 상기 제3 보조 프로세스(130)는 수신된 데이터 (c)에서 처리대상데이터를 추출하여 처리한 후, 제3 보조 프로세스 인덱스에 대한 정보를 제거하여 도 3의 (d)와 같은 데이터를 생성하여, 제3 보조전송로_공통전송로_컨트롤러(240)로 전송한다.
상기 제3 보조전송로_공통전송로_컨트롤러(240)는 공통 데이터 전송로(450)를 통해 데이터 (d)를 공통전송로_메모리_컨트롤러(200)로 전송하며, 상기 공통전송로_메모리_컨트롤러(200)는 버퍼메모리(300)에 데이터 (d)를 저장한다.
이후, 주 프로세스(100)가 데이터를 처리할 수 있는 상태가 되면, 버퍼메모리(300)에 저장된 데이터 (d)는 공통전송로_메모리_컨트롤러(200)로 전송되며, 상기 공통전송로_메모리_컨트롤러(200)는 처리대상데이터에 연결되어 저장된 인덱스(주 프로세서 인덱스)를 확인하여, 해당 데이터를 주전송로_공통전송로_컨트롤러(210)로 전송한다.
상기 주전송로_공통전송로_컨트롤러(210)는 주 프로세스용 데이터 전송로(400)를 통해 수신된 데이터 (d)를 주 프로세스(100)로 전송하며, 상기 주 프로세스(100)는 수신된 데이터 (d)에서 처리대상데이터를 추출하여 처리하게 된다.
따라서, 하나의 버퍼메모리(300)와 공통전송로_메모리_컨트롤러(200) 및 최소한의 전송로_공통선로_컨트롤러를 이용하여, 서로 다른 프로세스간 데이터 전송이 가능해지는 것이다.
이상에서 본 발명에 의한 로봇 제어 모듈의 프로세스 연결 방법에 대하여 설명하였다. 이러한 본 발명의 기술적 구성은 본 발명이 속하는 기술분야의 당업자가 본 발명의 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.
그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 한정적인 것이 아닌 것으로서 이해되어야 하고, 본 발명의 범위는 전술한 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
상기와 같은 본 발명은 다수의 버퍼메모리와 OPB_메모리_컨트롤러의 구성을 배제하고, 하나의 버퍼메모리와 하나의 OPB_메모리_컨트롤러 및 최소한의 OPB_OPB_컨트롤러를 이용하여 프로세서간 데이터 전송을 수행할 수 있는 연결 방법을 제공함으로써, 신속한 데이터 처리가 가능해지는 것이다.
특히, FPGA(Field Programmable Gate Array) 및 FPGA에 탑재되는 프로세스에 대한 디버깅이 용이하도록 하여, 해당 FPGA가 탑재된 제어시스템의 신뢰성을 향상시킬 수 있다.
더불어, FPGA의 경량화 및 소형화가 가능하고 프로세서간의 데이터 전송 효율을 개선하며, 신속한 데이터 처리가 가능해짐에 따라, 해저드(hazard) 로봇 시스템과 같이 실시간 에러처리가 요구되는 시스템의 안전성을 크게 향상시키는 효과가 있는 것이다.
Claims (2)
- 로봇을 제어하는 모듈내부에 탑재되며, 로봇을 제어하기 위한 연산처리를 수행하는 하나의 주프로세스와 적어도 하나의 보조프로세스 및 버퍼메모리 간의 데이터전송로 연결 방법에 있어서,상기 모듈내부에 공통데이터전송로를 구성하고,상기 버퍼메모리는 공통전송로_메모리_컨트롤러를 통해 상기 공통데이터전송로와 데이터를 송수신하고,상기 하나의 주 프로세스는 주전송로_공통전송로_컨트롤러를 통해 상기 공통데이터전송로와 데이터를 송수신하며,상기 적어도 하나의 보조 프로세스는 보조전송로_공통전송로_컨트롤러를 통해 상기 공통데이터전송로와 데이터를 송수신하도록 구성된 것을 특징으로 하는 로봇 제어 모듈의 프로세스 연결 방법.
- 제 1항에 있어서,상기 공통데이터전송로는 공통 OPB(On-chip Peripheral Bus)이고,상기 공통전송로_메모리_컨트롤러는 OPB_메모리_컨트롤러이며,상기 주전송로_공통전송로_컨트롤러 및 보조전송로_공통전송로_컨트롤러는 OPB_OPB_컨트롤러인 것을 특징으로 하는 로봇 제어 모듈의 프로세스 연결 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070055409A KR100854662B1 (ko) | 2007-06-07 | 2007-06-07 | 로봇 제어 모듈의 프로세스 연결 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070055409A KR100854662B1 (ko) | 2007-06-07 | 2007-06-07 | 로봇 제어 모듈의 프로세스 연결 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100854662B1 true KR100854662B1 (ko) | 2008-08-28 |
Family
ID=39878727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070055409A KR100854662B1 (ko) | 2007-06-07 | 2007-06-07 | 로봇 제어 모듈의 프로세스 연결 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100854662B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110509278A (zh) * | 2019-09-06 | 2019-11-29 | 云南电网有限责任公司电力科学研究院 | 一种变电站巡检机器人的集中管理系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR960031070A (ko) * | 1995-02-18 | 1996-09-17 | 김광호 | 로봇 제어 시스템에서의 인터럽트 처리방법 |
JP2004029169A (ja) * | 2002-06-21 | 2004-01-29 | Seiko Epson Corp | 光学部材の製造方法、光学部材、電気光学装置、及び電子機器 |
KR20040029169A (ko) * | 2001-09-10 | 2004-04-03 | 인터내셔널 비지네스 머신즈 코포레이션 | 자동화 데이터 저장 라이브러리 내의 데이터 저장 드라이브 |
JP2007000963A (ja) * | 2005-06-23 | 2007-01-11 | Disco Abrasive Syst Ltd | チャックテーブル移動機構 |
JP2007037903A (ja) * | 2005-08-05 | 2007-02-15 | Noritz Corp | 風呂システム |
KR20070037903A (ko) * | 2005-10-04 | 2007-04-09 | 세메스 주식회사 | 반도체 제조 설비의 스케쥴링 시스템 및 그 제어방법 |
-
2007
- 2007-06-07 KR KR1020070055409A patent/KR100854662B1/ko not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR960031070A (ko) * | 1995-02-18 | 1996-09-17 | 김광호 | 로봇 제어 시스템에서의 인터럽트 처리방법 |
KR20040029169A (ko) * | 2001-09-10 | 2004-04-03 | 인터내셔널 비지네스 머신즈 코포레이션 | 자동화 데이터 저장 라이브러리 내의 데이터 저장 드라이브 |
JP2004029169A (ja) * | 2002-06-21 | 2004-01-29 | Seiko Epson Corp | 光学部材の製造方法、光学部材、電気光学装置、及び電子機器 |
JP2007000963A (ja) * | 2005-06-23 | 2007-01-11 | Disco Abrasive Syst Ltd | チャックテーブル移動機構 |
JP2007037903A (ja) * | 2005-08-05 | 2007-02-15 | Noritz Corp | 風呂システム |
KR20070037903A (ko) * | 2005-10-04 | 2007-04-09 | 세메스 주식회사 | 반도체 제조 설비의 스케쥴링 시스템 및 그 제어방법 |
Non-Patent Citations (3)
Title |
---|
공개특허 제1996-31070호 |
공개특허 제2004-29169호 |
공개특허 제2007-37903호 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110509278A (zh) * | 2019-09-06 | 2019-11-29 | 云南电网有限责任公司电力科学研究院 | 一种变电站巡检机器人的集中管理系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017181562A1 (zh) | 一种神经网络的处理方法、系统 | |
US8347044B2 (en) | Multi-processor based programmable logic controller and method for operating the same | |
WO2018040016A1 (zh) | 一种协议转换器及协议转换方法 | |
CN104699654B (zh) | 一种基于chi片内互联总线与qpi片间互联总线互联适配系统和方法 | |
US10198374B2 (en) | Configurable on-chip interconnection system and method and apparatus for implementing same, and storage medium | |
US20200218215A1 (en) | Circuit for coupling a field bus and a local bus | |
CN107592250A (zh) | 基于航空fc总线多速率自适应测试设备 | |
CN109670578A (zh) | 神经网络首层卷积层数据处理方法、装置及计算机设备 | |
CN204117142U (zh) | 提供主机即时切换分享通用串行总线电子设备的电子装置 | |
CN110888824B (zh) | 多级存储器层级结构 | |
EP4109525A2 (en) | Three dimensional programmable logic circuit systems and methods | |
US20090164676A1 (en) | Method For Transfer/Transmission Of Field Bus Data And Field Bus Communication System | |
US10318453B2 (en) | Systems and methods for transmitting interrupts between nodes | |
CN109726800B (zh) | 运算方法、装置及相关产品 | |
CN108710587B (zh) | 基于axi总线的信号处理fpga通用处理架构系统 | |
KR101593835B1 (ko) | Plc 시스템 | |
KR100854662B1 (ko) | 로봇 제어 모듈의 프로세스 연결 방법 | |
US11604747B2 (en) | Programmable hardware virtual network interface | |
EP3968171A1 (en) | Data exchange chip and server | |
CN112364582A (zh) | 一种用于三态门电路验证的改进方法、系统及装置 | |
EP4044563A1 (en) | System and method for synthesis of connectivity to an interconnect in a multi-protocol system-on-chip (soc) | |
WO2015169053A1 (zh) | 一种报文数据处理方法、装置及系统 | |
US10262973B1 (en) | Modular chip with redundant interfaces | |
CN107682198A (zh) | 一种网络通信设备 | |
KR101378298B1 (ko) | Fpga내 배선 메모리 장치 및 이를 이용한 라우터 시스템 |
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: 20120802 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20130801 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |