KR102300908B1 - Multi core control method - Google Patents
Multi core control method Download PDFInfo
- Publication number
- KR102300908B1 KR102300908B1 KR1020170063854A KR20170063854A KR102300908B1 KR 102300908 B1 KR102300908 B1 KR 102300908B1 KR 1020170063854 A KR1020170063854 A KR 1020170063854A KR 20170063854 A KR20170063854 A KR 20170063854A KR 102300908 B1 KR102300908 B1 KR 102300908B1
- Authority
- KR
- South Korea
- Prior art keywords
- core
- memory
- application
- dma
- vehicle
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012544 monitoring process Methods 0.000 claims abstract description 23
- 238000012546 transfer Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 8
- 206010039203 Road traffic accident Diseases 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
-
- G05D2201/0213—
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Hardware Redundancy (AREA)
- Traffic Control Systems (AREA)
Abstract
다중 코어 제어 방법이 개시된다. 본 발명의 다중 코어 제어 방법은 제2 코어가 애플리케이션을 수행하는 제1 코어를 모니터링하는 단계; 제2 코어가 모니터링 결과에 따라 제1 코어를 리셋시키는 단계; 및 제2 코어가 제1 코어의 동작에 이어서 애플리케이션을 수행하는 단계를 포함하는 것을 특징으로 한다.A multi-core control method is disclosed. The multi-core control method of the present invention includes the steps of: monitoring, by a second core, a first core that performs an application; resetting, by the second core, the first core according to the monitoring result; and performing, by the second core, the application following the operation of the first core.
Description
본 발명은 다중 코어 제어 방법에 관한 것으로서, 보다 상세하게는 복수 개의 코어 각각이 다른 코어의 동작 상태를 모니터링하여 모니터링한 결과에 따라 해당 동작에 이어서 애플리케이션을 수행하는 다중 코어 제어 방법에 관한 것이다.The present invention relates to a multi-core control method, and more particularly, to a multi-core control method in which each of a plurality of cores monitors the operation state of another core and performs an application following the corresponding operation according to the monitoring result.
차량의 안전성이 증가함에 따라 리던던시 프로세스(Redundancy process)가 동작하도록 설계하는 것이 증가하고 있다. 특히, 자율 주행 시스템은 높은 고가용성과 고장 안정성을 요구한다. 이를 위해 자율 주행 시스템은 매우 낮은 고장 확률을 확보하기 위해 복수 개의 코어를 구비한다.As vehicle safety increases, designing a redundancy process to operate is increasing. In particular, autonomous driving systems require high availability and fault stability. To this end, the autonomous driving system has a plurality of cores to ensure a very low failure probability.
각각의 코어는 동일한 입력 정보를 가지고 동일한 기능을 서로 독립적으로 수행한다. Each core has the same input information and performs the same function independently of each other.
기존 안전을 위한 리던던시 방법은 두 코어가 동작하되, 어느 하나의 코어에서만 출력을 내보는 방식으로 사용하다가 해당 코어에 오류가 발생하면 다른 코어의 출력으로 스위칭하여 대체하는 방식이 이용된다.In the existing redundancy method for safety, two cores operate, but only one core outputs an output, and when an error occurs in the corresponding core, a method of switching to the output of the other core is used.
그러나, 종래 방법은 2개의 코어가 동시에 동작하기 때문에 CPU(CENTRAL PROCESSING UNIT) 자원이 낭비되는 경향이 있으며, 어느 하나의 코어에 오류가 발생했을 경우 그 상태를 그대로 다른 코어가 이어 받았다고 할 수도 없어 또 다른 오류가 발생할 소지가 있었다. However, the conventional method tends to waste CPU (CENTRAL PROCESSING UNIT) resources because two cores operate at the same time. Other errors could occur.
본 발명의 배경기술은 대한민국 등록특허공보 10-1534974호(2015.07.01)의 '다중 마이크로 코어 감시 장치 및 방법'에 개시되어 있다.The background technology of the present invention is disclosed in 'Multi-micro-core monitoring apparatus and method' of Korean Patent No. 10-1534974 (2015.07.01).
본 발명은 전술한 문제점을 개선하기 위해 창안된 것으로서, 본 발명의 일 측면에 따른 목적은 복수 개의 코어 각각이 다른 코어의 동작 상태를 모니터링하여 모니터링한 결과 오류가 발생하면 해당 동작에 이어서 애플리케이션을 수행하는 다중 코어 제어 방법을 제공하는 것이다. The present invention has been devised to improve the above problems, and an object according to one aspect of the present invention is to perform an application following the corresponding operation if an error occurs as a result of monitoring each of a plurality of cores by monitoring the operation state of the other core. It is to provide a multi-core control method.
본 발명의 일 측면에 따른 다중 코어 제어 방법은 제2 코어가 애플리케이션을 수행하는 제1 코어를 모니터링하는 단계; 상기 제2 코어가 모니터링 결과에 따라 상기 제1 코어를 리셋시키는 단계; 및 상기 제2 코어가 상기 제1 코어의 동작에 이어서 애플리케이션을 수행하는 단계를 포함하는 것을 특징으로 한다.A multi-core control method according to an aspect of the present invention includes the steps of: monitoring, by a second core, a first core performing an application; resetting, by the second core, the first core according to a monitoring result; and performing, by the second core, an application following the operation of the first core.
본 발명의 상기 제2 코어는 상기 제1 코어에 대한 모니터링 결과 상기 제1 코어에 오류가 발생하면 상기 제1 코어를 리셋시키는 것을 특징으로 한다.The second core of the present invention is characterized in that when an error occurs in the first core as a result of monitoring the first core, the first core is reset.
본 발명의 상기 제1 코어는 부팅을 시작하면 DMA(Direct Memory Access)를 제어하여 제2 메모리로의 데이터 전송을 위한 데이터 처리를 수행하여 DMA 전송 준비를 완료하는 것을 특징으로 한다.The first core of the present invention is characterized in that when booting starts, it controls DMA (Direct Memory Access) to perform data processing for data transfer to the second memory to complete the DMA transfer preparation.
본 발명의 상기 제2 코어는 부팅을 시작하면 DMA를 제어하여 제1 메모리로의 데이터 전송을 위한 데이터 처리를 수행하여 DMA 전송 준비를 완료하는 것을 특징으로 한다.The second core of the present invention is characterized in that when booting starts, it controls the DMA to perform data processing for data transfer to the first memory to complete the DMA transfer preparation.
본 발명의 상기 제2 코어는 상기 제1 코어를 리셋시키면 제1 메모리로부터 전달된 데이터를 이용하여 애플리케이션을 수행하는 것을 특징으로 한다.The second core of the present invention is characterized in that when the first core is reset, the application is executed using the data transferred from the first memory.
본 발명의 상기 제2 코어는 상기 제1 코어가 현재 애플리케이션을 수행 중이면 상기 제1 코어를 모니터링하는 것을 특징으로 한다.The second core of the present invention is characterized in that it monitors the first core when the first core is currently executing an application.
본 발명의 상기 제2 코어는 상기 제1 코어에 대한 모니터링 결과 상기 제1 코어의 오류가 주행상황이 기 설정된 설정상황에 해당되는 것이면 원격 서버와 연계하여 차량을 제어하는 단계를 더 포함하는 것을 특징으로 한다.The second core of the present invention further comprises the step of controlling the vehicle in connection with a remote server if the error of the first core corresponds to a preset setting condition as a result of monitoring the first core do it with
본 발명의 상기 원격 서버와 연계하여 차량을 제어하는 단계는 상기 제2 코어가 주행환경 정보를 분석하여 상기 주행상황이 상기 설정상황인지 여부를 판단하여 판단 결과에 따라 주행환경 정보를 상기 원격 서버로 전달하는 단계; 및 상기 원격 서버로부터 전달받은 제어 정보에 따라 차량을 제어하는 단계를 포함하는 것을 특징으로 한다.In the step of controlling the vehicle in connection with the remote server of the present invention, the second core analyzes the driving environment information to determine whether the driving situation is the set situation, and transmits the driving environment information to the remote server according to the determination result. delivering; and controlling the vehicle according to the control information received from the remote server.
본 발명의 상기 설정상황은 도로 공사, 교통 사고, 교차로 진입에 따른 우선 순위 결정 중 적어도 하나를 포함하는 것을 특징으로 한다. The setting situation of the present invention is characterized in that it includes at least one of priority determination according to road construction, traffic accident, and entering an intersection.
본 발명의 일 측면에 따른 다중 코어 제어 방법은 복수 개의 코어 각각이 다른 코어의 동작 상태를 모니터링하여 모니터링한 결과에 따라 해당 동작에 이어서 애플리케이션을 수행할 수 있다.In the multi-core control method according to an aspect of the present invention, each of a plurality of cores monitors the operation state of the other core, and according to the monitoring result, the application may be performed following the corresponding operation.
본 발명의 다른 측면에 따른 다중 코어 제어 방법은 CPU 자원의 로드를 상대적으로 적게 사용할 수 있고, 기존 CPU의 코어보다 낮은 성능 및 적은 개수의 코어를 이용하여 CPU를 구현할 수 있다. The multi-core control method according to another aspect of the present invention may use a relatively small load of CPU resources, and may implement a CPU using lower performance and a smaller number of cores than the cores of the existing CPU.
도 1 은 본 발명의 일 실시예에 따른 다중 코어 제어 장치의 블럭 구성도이다.
도 2 는 본 발명의 일 실시예에 따른 제1 코어와 제2 코어의 동작을 개념적으로 나타낸 도면이다.
도 3 은 본 발명의 일 실시예에 따른 제1 메모리와 제2 메모리의 데이터 송수신 방식을 개념적으로 나타낸 도면이다.
도 4 는 본 발명의 일 실시예에 따른 다중 코어 제어 방법의 순서도이다.
도 5 는 본 발명의 일 실시예에 따른 예기치 못한 설정 상황에서 원격 제어를 수행하는 과정을 도시한 순서도이다. 1 is a block diagram of a multi-core control apparatus according to an embodiment of the present invention.
2 is a diagram conceptually illustrating operations of a first core and a second core according to an embodiment of the present invention.
3 is a diagram conceptually illustrating a data transmission/reception method between a first memory and a second memory according to an embodiment of the present invention.
4 is a flowchart of a multi-core control method according to an embodiment of the present invention.
5 is a flowchart illustrating a process of performing remote control in an unexpected setting situation according to an embodiment of the present invention.
이하에서는 본 발명의 일 실시예에 따른 다중 코어 제어 방법을 첨부된 도면들을 참조하여 상세하게 설명한다. 이러한 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 이용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야할 것이다. Hereinafter, a multi-core control method according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings. In this process, the thickness of the lines or the size of the components shown in the drawings may be exaggerated for clarity and convenience of explanation. In addition, the terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to intentions or customs of users and operators. Therefore, definitions of these terms should be made based on the content throughout this specification.
도 1 은 본 발명의 일 실시예에 따른 다중 코어 제어 장치의 블럭 구성도이고, 도 2 는 본 발명의 일 실시예에 따른 제1 코어와 제2 코어의 동작을 개념적으로 나타낸 도면이며, 도 3 은 본 발명의 일 실시예에 따른 제1 메모리와 제2 메모리의 데이터 송수신 방식을 개념적으로 나타낸 도면이다.1 is a block diagram of a multi-core control apparatus according to an embodiment of the present invention, FIG. 2 is a diagram conceptually illustrating the operation of a first core and a second core according to an embodiment of the present invention, FIG. 3 is a diagram conceptually illustrating a data transmission/reception method between a first memory and a second memory according to an embodiment of the present invention.
도 1 을 참조하면, 본 발명의 일 실시예에 따른 다중 코어 제어 장치는 제1 코어(11), 제2 코어(12), DMA(Direct Memory Access)(13), 제1 메모리(14), 제2 메모리(15), 정보 수집부(20) 및 원격 서버(30)를 포함한다.Referring to FIG. 1 , a multi-core control apparatus according to an embodiment of the present invention includes a
정보 수집부(20)는 차량의 자율 주행에 필요한 각종 주변환경 정보를 수집한다. 정보 수집부(20)에 의해 수집된 주변환경 정보는 차량의 자율 주행에 필요할 뿐만 아니라, 차량의 주행상황이 예기치 못한 설정상황에 해당되는지 여부를 판단하기 위해 사용될 수 있다. The
정보 수집부(20)에는 레이더 센서(21), 라이더 센서(22), 적외선 센서(23), 위치 센서(24) 및 촬영부(25) 등이 포함될 수 있으며, 이들을 통해 수집되는 주변환경 정보는 차량 전방의 장애물까지의 거리, 장애물의 위치, 도로 상황, 교통 정보, 주행 경로 등 차량의 자율 주행시 주행상황을 식별하는데 사용될 수 있다. The
참고로, 본 실시예에서는 정보 수집부(20)에는 레이더 센서(21), 라이더 센서(22), 적외선 센서(23), 위치 센서(24) 및 촬영부(25)가 포함되는 것을 예시로 설명하였으나, 본 발명의 기술적 범위는 이에 한정되는 것은 아니며 다양한 센서를 추가적으로 더 구비할 수 있다. For reference, in this embodiment, the
원격 서버(30)는 차량과 무선으로 연결되어 제1 코어(11) 또는 제2 코어(12)로부터 주변환경 정보를 전달받고 이 주변환경 정보를 분석하여 차량의 원격 제어를 위한 제어 정보를 생성하며, 생성된 제어 정보를 제1 코어(11) 또는 제2 코어(12)로 전달한다. The
원격 서버(30)는 주행환경 분석부(31) 및 제어정보 생성부(32)를 포함한다.The
주행환경 분석부(31)는 제1 코어(11) 또는 제2 코어(12)로부터 주변환경 정보가 전달되면 이 주변환경 정보를 분석하여 차량의 주행상황이 기 설정된 설정상황인지 여부를 판단한다. When the surrounding environment information is transmitted from the
설정상황은 차량의 자율주행시 예기치 못한 상황으로써 도로 공사, 교통 사고, 교차로 진입에 따른 우선 순위 결정 등이 포함될 수 있다. The setting situation is an unexpected situation during autonomous driving of the vehicle, and may include road construction, traffic accident, priority determination according to intersection entry, and the like.
제어정보 생성부(32)는 주행환경 분석부(31)에 의해 차량의 주행상황이 설정상황에 해당되는 것으로 판단되면, 주변환경 정보를 이용하여 차량 제어를 위한 제어 정보를 생성한다. 제어 정보에는 차량의 궤적 정보, 속도 정보 등이 포함될 수 있다. When it is determined by the driving
참고로, 제어 정보에는 궤적 정보와 속도 정보 이외에도 차량의 원격 제어를 위한 것이라면 다양한 제어 정보가 모두 포함될 수 있다. For reference, the control information may include all kinds of control information as long as it is for remote control of the vehicle in addition to the trajectory information and the speed information.
제1 메모리(14)는 제1 코어(11)의 동작에 필요한 데이터를 저장한다.The
제2 메모리(15)는 제2 코어(12)의 동작에 필요한 데이터를 저장한다.The
DMA(13)는 제2 코어(12)의 제어명령에 따라 제1 메모리(14)의 데이터를 제2 코어(12)로 전달하거나, 제1 코어(11)의 제어명령에 따라 제2 메모리(15)의 데이터를 제2 코어(12)로 전달한다. The
예를 들어, 제1 코어(11)에 오류가 발생할 경우, DMA(13)는 제2 코어(12)의 제어명령에 따라 제1 메모리(14)에 저장되어 있는 데이터를 제2 메모리(15)에 저장하고, 제2 코어(12)에 오류가 발생할 경우 제1 코어(11)의 제어명령에 따라 제2 메모리(15)에 저장되어 있는 데이터를 제1 메모리(14)에 저장한다. For example, when an error occurs in the
아울러, DMA(13)는 제1 코어(11)가 부팅을 시작하면 DMA 방식으로 데이터를 전송할 수 있도록 제1 메모리(14)에 저장되어 있는 데이터를 제2 메모리(15)로 전송하기 위한 데이터 최적화 처리를 수행하여 제2 메모리(15)로의 데이터 전송 준비를 완료한다. In addition, the
또한, DMA(13)는 제2 코어(12)가 부팅을 시작하면 DMA 방식으로 데이터를 전송할 수 있도록 제2 메모리(15)에 저장되어 있는 데이터를 제1 메모리(14)로 전송하기 위한 데이터 최적화 처리를 수행하여 제1 메모리(14)로의 데이터 전송 준비를 완료한다. In addition, the
상기한 바와 같이 데이터 전송 준비가 완료됨에 따라, DMA(13)는 이후 제2 코어(12)의 제어명령에 따라 제1 메모리(14)에 저장된 데이터를 제2 메모리(15)에 전달하거나, 제1 코어(11)의 제어명령에 따라 제2 메모리(15)에 저장된 데이터를 제1 메모리(14)에 전달한다. As the data transfer preparation is completed as described above, the
이와 같이, 제1 코어(11) 또는 제2 코어(12)의 부팅이 시작되면, DMA(13)는 DMA 방식에 따른 데이터 전송 준비를 완료하고, 이후 제어명령에 따라 DMA 방식으로 데이터를 전송함으로써, 제1 메모리(14)와 제2 메모리(15) 간의 데이터 송수신이 3msec 이내의 빠른 시간 이내에 가능하게 된다. As described above, when the booting of the
참고로, 본 실시예에서는 하나의 DMA(13)가 제1 메모리(14)와 제2 메모리(15)에 공동으로 연결되는 것을 예시로 설명하였으나, 본 발명의 기술적 범위는 이에 한정되는 것은 아니며, 제1 메모리(14)와 제2 메모리(15) 각각에 대응되게 별개로 마련되어 버스(미도시)를 통해 서로 연결되는 것도 포함한다. For reference, in the present embodiment, one
제1 코어(11)와 제2 코어(12)는 CPU(CENTRAL PROCESSING UNIT)(10)에 탑재되며, 각각이 자율 주행을 위한 동일한 애플리케이션을 독립적으로 수행할 수 있다. The
아울러, 본 실시예에서는 2개의 코어를 구비하고, 각각을 제1 코어(11)와 제2 코어(12)로 명시하였으나, 본 발명의 기술적 범위는 이에 한정되는 것은 아니며 더욱 많은 코어를 구비하는 것도 포함한다 할 것이다. In addition, in this embodiment, two cores are provided and each is specified as the
제1 코어(11)는 제1 메모리(14)와 연결되고 제2 코어(12)는 제2 메모리(15)와 연결된다. The
제1 코어(11)와 제2 코어(12)는 각기 독립적으로 동작하는데, 제1 코어(11)와 제2 코어(12) 각각은 서로 간에 그 동작 상태를 모니터링하여 모니터링한 결과에 따라 데이터를 전달받아 해당 동작에 이어서 애플리케이션을 수행한다. The
예를 들어, 제1 코어(11)가 애플리케이션을 수행하는 경우에는 제2 코어(12)는 제1 코어(11)를 모니터링하여 제1 코어(11)의 상태를 감시한다. 또한 제2 코어(12)가 애플리케이션을 수행하는 경우에는 제1 코어(11)는 제2 코어(12)를 모니터링하여 제2 코어(12)의 상태를 감시한다. For example, when the
도 2 를 참조하면, 애플리케이션을 수행하는 제1 코어(11)에서 오류가 발생하면, 제2 코어(12)는 DMA(13)를 제어하여 제1 메모리(14)에 저장된 데이터를 제2 메모리(15)에 저장하고, 제1 코어(11)를 리셋시킨다. 이어 제2 코어(12)는 제2 메모리(15)에 저장된 데이터를 이용하여 제1 코어(11)의 동작에 이어서 애플리케이션을 수행한다. Referring to FIG. 2 , when an error occurs in the
또한, 애플리케이션을 수행하는 제2 코어(12)에서 오류가 발생하면, 제1 코어(11)는 DMA(13)를 제어하여 제2 메모리(15)에 저장된 데이터를 제1 메모리(14)에 저장하고 제2 코어(12)를 리셋시킨다. 이어 제1 코어(11)는 제1 메모리(14)에 저장된 데이터를 이용하여 제2 코어(12)의 동작에 이어서 애플리케이션을 수행한다. In addition, if an error occurs in the
여기서, 제1 메모리(14)의 데이터 구조와 제2 메모리(15)의 데이터 구조는 도 3 에 도시된 바와 같이 동일한 바, 제1 메모리(14)의 데이터를 제2 메모리(15)로 전달할 경우에는 사전에 설정된 제1 메모리(14)의 시작 주소와 끝 주소를 바탕으로 해당 영역의 데이터를 제2 메모리(15)로 전달하고, 제2 메모리(15)의 데이터를 제1 메모리(14)로 전달할 경우에는 사전에 설정된 제2 메모리(15)의 시작 주소와 끝 주소를 바탕으로 해당 영역의 데이터를 제1 메모리(14)로 전달한다. Here, the data structure of the
한편, 제2 코어(12)가 제1 코어(11)를 모니터링하는 과정에서, 제2 코어(12)는 주변환경 정보를 분석하여 차량의 주행상황이 설정상황에 해당되면 주변상황 정보를 원격 서버(30)에 전달하고, 제1 코어(11)를 리셋시킨 후 원격 서버(30)로부터 전달된 제어 정보에 따라 차량을 제어한다. On the other hand, in the process of the
또한, 제1 코어(11)가 제2 코어(12)를 모니터링하는 과정에서, 제1 코어(11)는 주변환경 정보를 분석하여 차량의 주행상황이 설정상황에 해당되면 주변상황 정보를 원격 서버(30)에 전달하고, 제2 코어(12)를 리셋시킨 후 원격 서버(30)로부터 전달된 제어 정보에 따라 차량을 제어한다. In addition, in the process of the
이하 본 발명의 일 실시예에 따른 다중 코어 제어 방법을 도 4 및 도 5 를 참조하여 상세하게 설명한다. Hereinafter, a multi-core control method according to an embodiment of the present invention will be described in detail with reference to FIGS. 4 and 5 .
도 4 는 본 발명의 일 실시예에 따른 다중 코어 제어 방법의 순서도이고, 도 5 는 본 발명의 일 실시예에 따른 예기치 못한 설정 상황에서 원격 제어를 수행하는 과정을 도시한 순서도이다. 4 is a flowchart of a multi-core control method according to an embodiment of the present invention, and FIG. 5 is a flowchart illustrating a process of performing remote control in an unexpected setting situation according to an embodiment of the present invention.
도 4 의 (a) 참조하면, 먼저 제1 코어(11)가 부팅을 시작한다(S110).Referring to (a) of FIG. 4 , first, the
제1 코어(11)가 부팅이 완료됨에 따라, DMA(13)는 DMA 방식으로 데이터를 전송할 수 있도록, 제1 메모리(14)에 저장되어 있는 데이터를 제2 메모리(15)로 전송하기 위한 데이터 최적화를 수행하여 제2 메모리(15)로의 데이터 전송 준비를 완료한다(S120).As the booting of the
이어 제1 코어(11)는 현재 제2 코어(12)가 애플리케이션을 수행중인지 여부를 판단하고(S130), 판단 결과 제2 코어(12)가 애플리케이션을 수행중이지 않으면 제1 메모리(14)에 저장된 데이터를 이용하여 애플리케이션을 수행한다(S170).Next, the
반면에, 단계(S130)에서의 판단 결과 현재 제2 코어(12)가 애플리케이션을 수행 중이면, 제1 코어(11)는 제2 코어(12)를 모니터링하여 제2 코어(12)에 오류가 발생하는지 여부를 판단한다(S140). On the other hand, if it is determined in step S130 that the
이때, 제2 코어(12)에 오류가 발생하지 않으면 제1 코어(11)는 제2 코어(12)에 대한 모니터링을 계속 수행한다. At this time, if an error does not occur in the
반면에, 제2 코어(12)에 대한 모니터링을 수행하는 과정(S140)에서 제2 코어(12)에 오류가 발생하면, 제1 코어(11)는 DMA(13)를 제어하여 제2 메모리(15)에 저장된 데이터를 제1 메모리(14)에 저장하고(S150), 제1 코어(11)를 리셋시킨다(S160). On the other hand, if an error occurs in the
이어 제1 코어(11)는 제1 메모리(14)에 저장된 데이터를 이용하여 제1 코어(11)의 동작에 이어서 애플리케이션을 수행한다(S170).Next, the
한편, 단계(S160)에서 리셋된 제2 코어(12)는 도 4 의 (b)에 도시된 바와 같이 부팅(S210)되고, DMA(13)는 제2 메모리(15)에 저장되어 있는 데이터를 제1 메모리(14)로 전송하기 위한 데이터 최적화를 수행하여 제1 메모리(14)로의 데이터 전송 준비를 완료한다(S220).Meanwhile, the
이어 제2 코어(12)는 현재 제1 코어(11)가 애플리케이션을 수행중인지 여부를 판단하고(S230), 판단 결과 제1 코어(11)가 애플리케이션을 수행 중이지 않으면 제2 메모리(15)에 저장된 데이터를 이용하여 애플리케이션을 수행한다(S270).Next, the
반면에, 단계(S230)에서의 판단 결과 현재 제1 코어(11)가 애플리케이션을 수행 중(도 4 의 (a) 참조)이면, 제2 코어(12)는 제1 코어(11)를 모니터링하여 제1 코어(11)에 오류가 발생하는지 여부를 판단한다(S240). On the other hand, if it is determined in step S230 that the
이때, 제1 코어(11)에 오류가 발생하지 않으면 제2 코어(12)는 제1 코어(11)에 대한 모니터링을 계속 수행한다. At this time, if an error does not occur in the
반면에, 제1 코어(11)에 대한 모니터링을 수행하는 과정(S240)에서 제1 코어(11)에 오류가 발생하면, 제2 코어(12)는 DMA(13)를 제어하여 제1 메모리(14)에 저장된 데이터를 제2 메모리(15)에 저장하고(S250), 제1 코어(11)를 리셋시킨다(S260). 이 경우, 제1 코어(11)는 도 4 의 (a)에 도시된 바와 같이 부팅되어 그 이후의 과정을 수행한다. On the other hand, if an error occurs in the
한편, 제2 코어(12)는 제2 메모리(15)에 저장된 데이터를 이용하여 제1 코어(11)의 동작에 이어서 애플리케이션을 수행한다(S270).Meanwhile, the
즉, 제1 코어(11)가 동작하고 제2 코어(12)가 제1 코어(11)를 모니터링하는 과정에서, 제1 코어(11)에 오류가 발생하면 제2 코어(12)는 제1 메모리(14)의 데이터를 제2 메모리(15)에 저장하고, 제1 코어(11)를 리셋시킨 후, 제1 코어(11)의 동작에 이어서 애플리케이션을 수행한다. 또한, 제2 코어(12)가 동작하고 제1 코어(11)가 제2 코어(12)를 모니터링하는 과정에서, 제2 코어(12)에 오류가 발생하면 제1 코어(11)는 제2 메모리(15)의 데이터를 제1 메모리(14)에 저장하고, 제2 코어(12)를 리셋시킨 후, 제2 코어(12)의 동작에 이어서 애플리케이션을 수행한다. That is, when an error occurs in the
한편, 상기한 모니터링하는 과정에서, 오류가 차량의 주행상황이 설정상황에 해당하는 경우이면, 제1 코어(11) 또는 제2 코어(12)는 원격 서버(30)를 통해 차량을 원격 제어하도록 한다. 이를 도 5 를 참조하여 설명한다.On the other hand, in the monitoring process, if an error occurs when the driving condition of the vehicle corresponds to the set condition, the
참고로, 본 실시예에서는 제1 코어(11)가 제2 코어(12)를 모니터링하는 경우를 예시로 설명한다. For reference, in this embodiment, a case in which the
도 5 를 참조하면, 제1 코어(11)가 제2 코어(12)를 모니터링하는 과정에서, 제1 코어(11)는 정보 수집부(20)를 통해 주변환경 정보를 수집하고 수집된 주변환경 정보를 분석하여 오류가 차량의 주행상황이 설정상황에 해당하는지 여부를 판단한다(S310). Referring to FIG. 5 , in the process of the
단계(S310)에서의 판단 결과 주행상황이 설정상황에 해당되면, 제1 코어(11)는 주변환경 정보를 원격 서버(30)에 전달한다(S320). If it is determined in step S310 that the driving situation corresponds to the set situation, the
이에 따라, 원격 서버(30)는 주변환경 정보를 분석하여 차량의 주행상황이 기 설정된 설정상황인지 여부를 판단하고, 판단 결과 차량의 주행상황이 설정상황이면 주변환경 정보를 이용하여 차량의 원격 제어를 위한 제어 정보를 생성하고(S330), 생성된 제어 정보를 제1 코어(11)로 전달한다(S340).Accordingly, the
아울러, 제1 코어(11)는 제2 코어(12)를 리셋시키고 원격 서버(30)로부터 전달받은 제어 정보에 따라 차량을 제어한다(S350). In addition, the
이 경우 제1 코어(11)는 운전자에게 차량의 원격 제어에 대한 승인 여부를 확인하고, 운전자로부터 원격 제어를 승인받으면 해당 제어 정보에 따라 차량을 제어할 수도 있다. In this case, the
이와 같이 본 발명의 일 실시예에 따른 다중 코어 제어 방법은 복수 개의 코어 각각이 다른 코어의 동작 상태를 모니터링하여 모니터링한 결과에 따라 데이터를 전달받아 해당 동작에 이어서 애플리케이션을 수행할 수 있다.As described above, in the multi-core control method according to an embodiment of the present invention, each of the plurality of cores monitors the operation state of the other core, receives data according to the monitoring result, and executes the application following the corresponding operation.
또한 본 발명의 일 실시예에 따른 다중 코어 제어 방법은 CPU 자원의 로드를 기존보다 적게 사용할 수 있고, 기존 CPU의 코어보다 적은 성능 및 적은 개수의 코어를 이용하여 CPU를 구현할 수 있다. In addition, the multi-core control method according to an embodiment of the present invention can use a load of CPU resources less than before, and can implement a CPU using less performance and fewer cores than the cores of the existing CPU.
본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며 당해 기술이 속하는 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위에 의하여 정해져야할 것이다.Although the present invention has been described with reference to the embodiment shown in the drawings, this is merely exemplary, and it is understood that various modifications and equivalent other embodiments are possible by those skilled in the art. will understand Accordingly, the true technical protection scope of the present invention should be defined by the following claims.
10: CPU 11: 제1 코어
12: 제2 코어 13: DMA
14: 제1 메모리 15: 제2 메모리
20: 정보 수집부 21: 레이더 센서
22: 라이더 센서 23: 적외선 센서
24: 위치 센서 25: 촬영부
30: 원격 서버 31: 주행환경 분석부
32: 제어정보 생성부10: CPU 11: first core
12: second core 13: DMA
14: first memory 15: second memory
20: information collection unit 21: radar sensor
22: lidar sensor 23: infrared sensor
24: position sensor 25: photographing unit
30: remote server 31: driving environment analysis unit
32: control information generation unit
Claims (9)
상기 제2 코어가 모니터링 결과에 따라 상기 제1 코어를 리셋시키는 단계; 및
상기 제2 코어가 상기 제1 코어의 동작에 이어서 애플리케이션을 수행하는 단계를 포함하고,
상기 제2 코어는 상기 제1 코어에 대한 모니터링 결과 상기 제1 코어의 오류가 주행상황이 기 설정된 설정상황에 해당되는 것이면 원격 서버와 연계하여 차량을 제어하는 단계를 더 포함하고,
상기 원격 서버와 연계하여 차량을 제어하는 단계는 상기 제2 코어가 주행환경 정보를 분석하여 상기 주행상황이 상기 설정상황인지 여부를 판단하여 판단 결과에 따라 주행환경 정보를 상기 원격 서버로 전달하는 단계; 및 상기 원격 서버로부터 전달받은 제어 정보에 따라 차량을 제어하는 단계를 포함하며,
상기 설정상황은 도로 공사, 교통 사고, 교차로 진입에 따른 우선 순위 결정 중 적어도 하나를 포함하는 것을 특징으로 하는 다중 코어 제어 방법.
monitoring, by the second core, the first core executing the application;
resetting, by the second core, the first core according to a monitoring result; and
Comprising the step of the second core performing an application following the operation of the first core,
The second core further comprises the step of controlling the vehicle in connection with a remote server if the error of the first core corresponds to a preset setting condition as a result of monitoring the first core,
The step of controlling the vehicle in connection with the remote server may include: the second core analyzes the driving environment information, determines whether the driving situation is the set situation, and transmits the driving environment information to the remote server according to the determination result ; and controlling the vehicle according to the control information received from the remote server,
The setting situation is a multi-core control method, characterized in that it includes at least one of a priority determination according to road construction, traffic accident, and entering an intersection.
The method of claim 1, wherein the second core resets the first core when an error occurs in the first core as a result of monitoring the first core.
The multi-core according to claim 1, wherein, when booting starts, the first core controls DMA (Direct Memory Access) to perform data processing for data transfer to the second memory to complete preparation for DMA transfer. control method.
The method of claim 1, wherein the second core performs data processing for data transfer to the first memory by controlling the DMA when booting starts to complete preparation for DMA transfer.
The method of claim 1 , wherein the second core executes an application using data transferred from the first memory when the first core is reset.
The method of claim 1, wherein the second core monitors the first core when the first core is currently executing an application.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170063854A KR102300908B1 (en) | 2017-05-24 | 2017-05-24 | Multi core control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170063854A KR102300908B1 (en) | 2017-05-24 | 2017-05-24 | Multi core control method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180128576A KR20180128576A (en) | 2018-12-04 |
KR102300908B1 true KR102300908B1 (en) | 2021-09-10 |
Family
ID=64668995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170063854A KR102300908B1 (en) | 2017-05-24 | 2017-05-24 | Multi core control method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102300908B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102160259B1 (en) * | 2019-11-21 | 2020-09-25 | 주식회사 넥스트칩 | Method for determinig functional safety of clock and an electronic device performing the method |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100947791B1 (en) * | 2001-12-11 | 2010-03-15 | 콘티넨탈 테베스 아게 운트 코. 오하게 | Multi-core redundant control computer system, computer network for applications that are critical with regard to safety in motor vehicles, and use thereof |
CN102822807B (en) * | 2010-03-23 | 2015-09-02 | 大陆-特韦斯贸易合伙股份公司及两合公司 | Computer for controlling system and control method thereof and use |
KR20130007754A (en) * | 2011-07-11 | 2013-01-21 | 한국전자통신연구원 | Apparatus and method for controlling vehicle at autonomous intersection |
KR20150037317A (en) * | 2013-09-30 | 2015-04-08 | 한국전자통신연구원 | Apparatus and method for error recovery of autonomous vehicle |
KR101534974B1 (en) * | 2013-12-19 | 2015-07-08 | 현대자동차주식회사 | Micro core monitoring apparatus and method thereof |
DE102015003194A1 (en) * | 2015-03-12 | 2016-09-15 | Infineon Technologies Ag | Method and device for handling safety-critical errors |
-
2017
- 2017-05-24 KR KR1020170063854A patent/KR102300908B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20180128576A (en) | 2018-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102471010B1 (en) | Vehicle-mounted control unit, FPGA-based vehicle automatic driving method and device | |
JP7066767B2 (en) | Vehicle-to-vehicle interaction methods, devices, terminals, storage media, and programs | |
CN111634286B (en) | Automatic driving vehicle control method, device and equipment and readable storage medium | |
US8156253B2 (en) | Computer system, device sharing method, and device sharing program | |
CN109991841B (en) | Flight control computing system, control signal output method, device and storage medium | |
EP3766753B1 (en) | Abnormality diagnosis system and abnormality diagnosis method | |
EP2172843B1 (en) | Method and systems for restarting a flight control system | |
JP7369156B2 (en) | Vehicle fleet management methods, devices and related equipment | |
US20210258187A1 (en) | Electronic control device, electronic control method, and recording medium | |
US11366443B2 (en) | Controller | |
CN110717999B (en) | Communication method, communication device, electronic equipment and storage medium | |
KR102300908B1 (en) | Multi core control method | |
US20200114905A1 (en) | Electronic Control Apparatus, Electronic Control System, and Electronic Control Method | |
US10120715B2 (en) | Distributed network management system and method for a vehicle | |
US9804992B2 (en) | Computer system and method for accessing virtual machine | |
US11789730B2 (en) | Electronic control device and control method | |
JP2017135627A (en) | Communication method | |
WO2019021668A1 (en) | Vehicle control device | |
US20210373970A1 (en) | Data processing method and corresponding apparatus | |
CN115623304A (en) | Visual processing chip, method, device, visual system and storage medium | |
CN114978898A (en) | Data transmission control method and device, head-up display and storage medium | |
CN114928511A (en) | Data processing apparatus and data processing system | |
JP6252462B2 (en) | Image recording device | |
US10089200B2 (en) | Computer apparatus and computer mechanism | |
KR102163762B1 (en) | Method for processing error in autonomous drive controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |