KR20210083851A - Vehicular electronic control unit using multi-core microcontroller - Google Patents
Vehicular electronic control unit using multi-core microcontroller Download PDFInfo
- Publication number
- KR20210083851A KR20210083851A KR1020190176549A KR20190176549A KR20210083851A KR 20210083851 A KR20210083851 A KR 20210083851A KR 1020190176549 A KR1020190176549 A KR 1020190176549A KR 20190176549 A KR20190176549 A KR 20190176549A KR 20210083851 A KR20210083851 A KR 20210083851A
- Authority
- KR
- South Korea
- Prior art keywords
- core
- electronic control
- control device
- vehicle
- domain
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Microcomputers (AREA)
Abstract
Description
본 발명은 멀티 코어 마이크로컨트롤러를 이용한 차량용 전자 제어 장치에 대한 것이다. 더욱 상세하게는, 본 발명은 멀티 코어를 포함하는 마이크로컨트롤러를 이용하여 차량의 다중 제어기를 구현하는 멀티 코어 마이크로컨트롤러를 이용한 차량용 전자 제어 장치에 대한 것이다. The present invention relates to an electronic control device for a vehicle using a multi-core microcontroller. More particularly, the present invention relates to an electronic control device for a vehicle using a multi-core microcontroller that implements a multi-controller of a vehicle using a microcontroller including a multi-core.
최근 차량은 다양한 전자 제어 기술을 적용하여 운전자의 편의나 차량 운행 안전을 도모하고 있다. 차량의 전자 제어 기술의 지속적인 개발이 이루어지면서 전자 제어 장치(Electronic Control Unit : ECU)의 경쟁력을 갖추기 위해서는 원가 절감이 요구되고 있다. Recently, various electronic control technologies are applied to vehicles to promote convenience of drivers and safety of vehicle operation. As the electronic control technology of a vehicle is continuously developed, cost reduction is required in order to secure the competitiveness of an Electronic Control Unit (ECU).
차량에는 다양한 제어 요소가 구비되고, 이를 위하여 전자 제어 장치는 다수의 제어 기능을 위한 다중 제어기 형태로도 개발된다. 종래 다중 제어를 위한 전자 제어 장치는 각각의 제어 기능을 위하여 개별 마이크로컨트롤러(MicroController : MCU)를 사용하고 있다. 전자 제어 장치에 있어서 MCU는 생산 원가의 많은 부분을 차지하고, 이에 따라 MCU의 개수를 줄이는 것은 원가 절감을 위한 좋은 방법이나, MCU의 개수를 줄이고 기존과 동일한 제어 기능을 수행하는 것은 쉽지 않다. A vehicle is equipped with various control elements, and for this purpose, an electronic control device is also developed in the form of a multi-controller for a plurality of control functions. A conventional electronic control device for multiple control uses an individual microcontroller (MCU) for each control function. In electronic control devices, MCU occupies a large portion of production cost, and thus reducing the number of MCUs is a good way to reduce costs, but it is not easy to reduce the number of MCUs and perform the same control function as before.
이러한 이유로, 현재까지는 전자 제어 장치의 하우징 내에 구비되는 인쇄회로기판(PCB)에 복수의 MCU를 탑재하는 것이 일반적이었다. 또한, 하나의 MCU에 복수의 코어를 구비하는 경우라고 하더라도 MCU에 포함되는 복수의 코어와 MCU의 작동을 위한 다른 전자요소와의 효율적인 연계 방안에 대해서는 제시되지 못하고 있다. For this reason, until now, it has been common to mount a plurality of MCUs on a printed circuit board (PCB) provided in a housing of an electronic control device. In addition, even when a single MCU includes a plurality of cores, an efficient method for linking a plurality of cores included in the MCU with other electronic elements for operation of the MCU has not been proposed.
본 발명은 상기한 바와 같은 문제점을 해결하기 위하여, 하나의 MCU로 다중 도메인의 제어기를 제어할 수 있는 멀티 코어 마이크로컨트롤러를 이용한 차량용 전자 제어 장치를 제공하는 것을 목적으로 한다. An object of the present invention is to provide an electronic control device for a vehicle using a multi-core microcontroller capable of controlling a controller of multiple domains with one MCU in order to solve the above problems.
또한, 본 발명은, 도메인이 다른 제어기를 하나의 마이크로컨트롤러로 제어함에 있어서 한정적인 하드웨어 자원(리소스)을 마이크로컨트롤러에 포함된 복수의 코어가 효율적으로 사용할 수 있도록 하는 멀티 코어 마이크로컨트롤러를 이용한 차량용 전자 제어 장치를 제공하는 것을 목적으로 한다.In addition, the present invention provides vehicle electronics using a multi-core microcontroller that allows a plurality of cores included in the microcontroller to efficiently use limited hardware resources (resources) in controlling controllers of different domains with one microcontroller. An object of the present invention is to provide a control device.
본 발명은, 멀티 코어 마이크로컨트롤러를 이용한 차량용 전자 제어 장치에 있어서, 상기 멀티 코어 마이크로컨트롤러는, 제 1 도메인의 제어를 위한 제 1 코어; 제 2 도메인의 제어를 위한 제 2 코어; 상기 제 1 코어와 상기 제 2 코어가 공통으로 사용 가능한 공유 자원; 및 상기 제 1 코어와 상기 제 2 코어의 상기 공유 자원 사용을 중재하는 중재 코어;를 포함하는 것을 특징으로 하는 차량용 전자 제어 장치를 제공한다. The present invention provides an electronic control device for a vehicle using a multi-core microcontroller, the multi-core microcontroller comprising: a first core for controlling a first domain; a second core for controlling a second domain; a shared resource that the first core and the second core can use in common; and an arbitration core that mediates use of the shared resource between the first core and the second core.
일 실시예에 있어서, 상기 공유 자원은 외부 기기와의 통신을 위한 통신 드라이버, 시간 정보 생성을 위한 클록 생성부, 타이머 또는 시스템 타이머, 신호 입출력을 위한 입출력 포트, 아날로그-디지털 컨버터, 및 플래시 드라이버 중 적어도 하나를 포함할 수 있다. In one embodiment, the shared resource is a communication driver for communication with an external device, a clock generator for generating time information, a timer or system timer, an input/output port for signal input/output, an analog-to-digital converter, and a flash driver. It may include at least one.
또한, 상기 제 1 코어와 상기 제 2 코어 각각은, 코어간 인터페이스를 통해 상기 중재 코어와 통신할 수 있다. In addition, each of the first core and the second core may communicate with the arbitration core through an inter-core interface.
일 실시예에 있어서, 상기 코어간 인터페이스는, API(Application Interface)를 포함할 수 있다. In an embodiment, the interface between the cores may include an application interface (API).
또한, 상기 API는, 상기 제 1 코어와 상기 제 2 코어 각각과 상기 중재 코어의 사이에 일 방향을 갖는 2개의 API가 쌍을 이루어 구비될 수 있다. In addition, in the API, two APIs having one direction between each of the first core and the second core and the mediation core may be provided as a pair.
상기 차량용 전자 제어 장치는, 상기 제 1 도메인의 구동을 위한 제 1 구동부와, 상기 제 2 도메인의 구동을 위한 제 2 구동부를 더 포함할 수 있다. The electronic control device for a vehicle may further include a first driving unit for driving the first domain and a second driving unit for driving the second domain.
일 실시예에 있어서, 상기 중재 코어는, 상기 제 1 코어와 상기 제 2 코어 중 적어도 하나의 주기 태스크를 트리거할 수 있다. In an embodiment, the arbitration core may trigger at least one periodic task of the first core and the second core.
일 실시예에 있어서, 상기 중재 코어는, 상기 제 1 코어와 상기 제 2 코어의 요청(Command)을 Command Queue 방식으로 처리할 수 있다. In an embodiment, the arbitration core may process requests (Commands) of the first core and the second core in a command queue manner.
또한, 상기 Command Queue를 위한 상기 Command에는, 전달이 필요한 데이터 또는 변수 정보가 파라미터로 포함되는 것을 특징으로 하는 차량용 전자 제어 장치. In addition, the command for the command queue, the electronic control device for a vehicle, characterized in that the data or variable information required to be transmitted is included as a parameter.
본 발명에 따르면, 복수의 도메인을 제어하기 위한 제어 기능을 하나의 MCU에 포함된 복수의 코어가 담당하고 하드웨어 자원을 복수의 코어가 함께 사용할 수 있어 생산 원가를 감소시킬 수 있다. According to the present invention, a plurality of cores included in one MCU are responsible for a control function for controlling a plurality of domains, and a plurality of cores can use hardware resources together, thereby reducing production cost.
또한, 인쇄회로기판에 MCU를 실장하기 위한 공간을 축소시킬 수 있어 전자 제어 장치의 설계 자유도를 확대하고 전자 제어 장치의 크기도 감소시킬 수 있는 장점이 있다. In addition, since the space for mounting the MCU on the printed circuit board can be reduced, the degree of design freedom of the electronic control device can be increased and the size of the electronic control device can be reduced.
도 1은 종래 다중 제어를 위한 전자 제어 장치의 구성을 도시한다.
도 2는 본 발명의 바람직한 실시예에 따른 멀티 코어 마이크로컨트롤러를 이용한 차량용 전자 제어 장치의 기본적인 구성을 도시한 도면이다.
도 3은 본 발명의 바람직한 실시예에 따른 멀티 코어 마이크로컨트롤러를 이용한 차량용 전자 제어 장치에서의 멀티 코어 마이크로컨트롤러의 구성을 예시한 도면이다.
도 4는 본 발명의 바람직한 실시예에 따른 멀티 코어 마이크로컨트롤러를 이용한 차량용 전자 제어 장치에 있어서, 멀티 코어의 운용을 위한 소프트웨어 아키텍처를 나타낸다.
도 5는 본 발명의 바람직한 실시예에 따른 멀티 코어 마이크로컨트롤러를 이용한 차량용 전자 제어 장치에 있어서, 멀티 코어에서의 태스크 처리 방식을 예시적으로 나타내는 도면이다.
도 6은 본 발명의 바람직한 실시예에 따른 멀티 코어 마이크로컨트롤러를 이용한 차량용 전자 제어 장치에 있어서, 코어간 인터페이스에서의 Command Queue 방식을 예시적으로 나타내는 도면이다.
도 7은 본 발명의 바람직한 실시예에 따른 멀티 코어 마이크로컨트롤러를 이용한 차량용 전자 제어 장치의 활용 예를 도시한 도면이다. 1 shows the configuration of a conventional electronic control device for multiple control.
2 is a diagram showing a basic configuration of an electronic control device for a vehicle using a multi-core microcontroller according to a preferred embodiment of the present invention.
3 is a diagram illustrating a configuration of a multi-core microcontroller in an electronic control device for a vehicle using a multi-core microcontroller according to a preferred embodiment of the present invention.
4 shows a software architecture for operating a multi-core in an electronic control device for a vehicle using a multi-core microcontroller according to a preferred embodiment of the present invention.
5 is a diagram exemplarily illustrating a task processing method in a multi-core in an electronic control device for a vehicle using a multi-core microcontroller according to a preferred embodiment of the present invention.
6 is a diagram exemplarily illustrating a command queue method in an interface between cores in an electronic control device for a vehicle using a multi-core microcontroller according to a preferred embodiment of the present invention.
7 is a diagram illustrating an application example of an electronic control device for a vehicle using a multi-core microcontroller according to a preferred embodiment of the present invention.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. First, in adding reference numerals to the components of each drawing, it should be noted that the same components are given the same reference numerals as much as possible even though they are indicated on different drawings. In addition, in describing the present invention, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, preferred embodiments of the present invention will be described below, but the technical spirit of the present invention is not limited thereto and may be variously implemented by those skilled in the art without being limited thereto.
도 1은 종래 다중 제어를 위한 전자 제어 장치의 구성을 도시한다. 1 shows the configuration of a conventional electronic control device for multiple control.
종래 차량의 전자 제어 장치(10)는, 제어의 대상이 되는 도메인마다 개별적인 제어기를 구비하는 것이 일반적이었다. 여기서 도메인이란, 엔진, 변속기, 에어백, 헤드램프 등 차량 내에서의 제어 대상, 기능 또는 영역이라는 의미로 이해될 수 있다. 종래 전자 제어 장치(10)는 복수의 도메인 제어를 위한 복수의 제어기(20, 30)를 포함한다. 도 1에서는 일례로서, 제 1 제어기(20)와 제 2 제어기(30)를 도시하였다. The conventional
제 1 제어기(20)는 제 1 도메인의 제어 기능을 수행하고, 제 2 제어기(30)는 제 2 도메인의 제어 기능을 수행한다. 제 1 제어기(20)는 MCU(22), 도메인에 포함된 특정 요소를 작동시키기 위한 구동부(24) 및 제어기의 작동을 위한 전원을 전달하는 전원공급부(26)를 포함한다. 제 2 제어기(30)는 MCU(32), 도메인에 포함된 특정 요소를 작동시키기 위한 구동부(34) 및 제어기의 작동을 위한 전원을 전달하는 전원공급부(36)를 포함한다. 전원공급부(26, 36)는 각 제어기(20, 30)의 작동 상태를 모니터링하는 기능을 더 포함하기도 한다.The
각 제어기(20, 30) 내에서, 마이크로컨트롤러(Microcontiller, 이하 'MCU'라고도 칭함)(22, 32)는 구동부(24, 34) 및 전원공급부(26, 36)와 SPI통신 방식으로 통신한다. 또한, 각 제어기(20, 30)는 다른 제어기 또는 차량의 다른 모듈과 통신할 수 있는데, 도 1에서는 통신 방식으로서 CAN 통신을 예시한다.In each of the
그런데, 이러한 종래 전자 제어 장치(20)에 있어서는, 복수의 도메인에 대한 전자 제어를 수행하기 위하여 각각이 MCU(22, 32)를 구비하는 복수의 제어기(20, 30)가 구비되어야 하는 단점이 존재하였다. However, in this conventional
도 2는 본 발명의 바람직한 실시예에 따른 멀티 코어 마이크로컨트롤러를 이용한 차량용 전자 제어 장치의 기본적인 구성을 도시한 도면이고, 도 3은 본 발명의 바람직한 실시예에 따른 멀티 코어 마이크로컨트롤러를 이용한 차량용 전자 제어 장치에서의 멀티 코어 마이크로컨트롤러의 구성을 예시한 도면이다. 2 is a view showing a basic configuration of a vehicle electronic control device using a multi-core microcontroller according to a preferred embodiment of the present invention, and FIG. 3 is a vehicle electronic control device using a multi-core microcontroller according to a preferred embodiment of the present invention. It is a diagram illustrating the configuration of a multi-core microcontroller in a device.
본 발명의 바람직한 실시예에 따른 멀티 코어 마이크로컨트롤러를 이용한 차량용 전자 제어 장치(100)는, 멀티 코어(120)를 포함하는 MCU(110)와, 복수의 도메인의 제어를 위한 각각의 구동 신호를 생성하는 복수의 구동부(150, 160)와, MCU(110) 및 구동부(150, 160)의 작동 전원을 공급하는 전원공급부(170)를 포함한다. The
복수의 구동부(150, 160)는 제 1 도메인의 구동을 위한 제 1 구동부(150)와, 제 2 도메인의 구동을 위한 제 2 구동부(160)를 포함하며, 도 2에 도시된 바와 같이 2개의 구동부(150, 160)뿐만 아니라 3 이상의 구동부를 포함하는 것도 가능할 수 있다. The plurality of
MCU(110)는 멀티 코어(120)를 포함하고, 멀티 코어(120)는 제 1 구동부(150)를 위한 제 1 코어(130-1)와, 제 2 구동부를 위한 제 2 코어(130-2)와, MCU(110)의 공통 자원(공유 자원)을 관리하기 위한 중재 코어(140)를 포함할 수 있다. 상기 제 1 코어(130-1)는 제 1 도메인의 제어를 위한 것이고, 제 2 코어(130-2)는 제 2 도메인을 제어를 위한 것이며, 제어될 도메인의 수에 따라 이러한 코어의 숫자는 증가되어 N번째의 제 N 코어(130-n)까지 포함할 수 있다. The MCU 110 includes a multi-core 120 , and the multi-core 120 includes a first core 130-1 for the
MCU(110)는 전자 제어 장치(100) 외부와 통신을 수행할 수 있고, 이러한 통신의 예로서 도 2에서는 CAN 통신을 예시하고 있으나, CAN 통신 이외에도 이더넷(Ethernet), LIN, FLEXRAY 등의 통신 방식으로 각 제어기는 외부 장치와 통신을 수행할 수도 있다. The MCU 110 may communicate with the outside of the
도 3을 참조하면, MCU(110)는 제 1 코어(130-1), 제 2 코어(130-2) 및 제 N 코어(130-n)와, 중재 코어(140)를 포함하고, 이들과 시스템 버스(180)로 연결된 공유 자원(리소스)(200)을 포함한다. Referring to FIG. 3 , the MCU 110 includes a first core 130-1, a second core 130-2, and an N-th core 130-n, and an
공유 자원(200)은, 제 1 코어(130-1), 제 2 코어(130-2) 및 제 N 코어(130-n)가 공통으로 사용할 수 있도록 MCU(110)에 구비된 하드웨어 자원이다. 공유 자원(200)으로서는, 외부 기기와의 통신을 위한 CAN 통신 드라이버(202), LIN 통신 드라이버(204) 또는 이더넷 드라이버(206); MCU(110)와 구동부(130, 140) 또는 전원공급부(150)와의 통신을 위한 SPC 통신 드라이버(208); 시간 정보 생성을 위한 클록 생성부(210), 타이머(212), 시스템 타이머(214); 신호 입력 및 처리를 위한 입출력 포트(216), ADC(아날로그-디지털 컨버터)(218); 인터럽트(220); 및 데이터 저장을 위한 플래시 드라이버(222) 등이 포함될 수 있다. 이러한 구성들은 공유 자원(200)의 예시이며 필요에 따라 추가 또는 제외될 수 있음은 물론이다. The shared
도 3의 멀티 코어 MCU(110)의 구성을 참조하면, MCU(110) 내에 복수의 코어를 구비하는 멀티 코어(120)가 구비되나, 공유 자원(200)은 종류별로 1개만 구비되어 멀티 코어(120)가 이러한 공유 자원을 공유하여 사용할 수밖에 없다. 이에 따라 멀티 코어(120)에 포함된 복수의 코어(130-1 ~ 130-n)의 공유 자원 사용을 중재하는 것이 요구되며, 중재 코어(140)는 복수의 코어(130-1 ~ 130-n)의 공유 자원 사용을 중재하는 기능을 수행한다. Referring to the configuration of the
도 4는 본 발명의 바람직한 실시예에 따른 멀티 코어 마이크로컨트롤러를 이용한 차량용 전자 제어 장치에 있어서, 멀티 코어의 운용을 위한 소프트웨어 아키텍처를 나타낸다. 4 shows a software architecture for operating a multi-core in an electronic control device for a vehicle using a multi-core microcontroller according to a preferred embodiment of the present invention.
제 1 코어 내지 제 N 코어(130-1, 130-2, 130-n)는 각각, 제 1 도메인 내지 제 N 도메인을 제어하기 위한 제 1 내지 제 N 도메인 제어 SW를 구비하고, 제 1 내지 제 N 도메인 제어 SW는 다른 코어 또는 중재 코어(140)와 연계하기 위한 시스템 서비스와 각각의 도메인 특화 기능을 서브 레이어로 구비한다. The first to N-th cores 130-1, 130-2, and 130-n each include first to N-th domain control SWs for controlling the first to N-th domains, and the first to N-th domains, respectively. The N domain control SW has a system service for linking with other cores or the
중재 코어(140)는 MCAL SW을 구비하는데, MCAL SW는 시스템 서비스와 마이크로컨트롤러 추상화 계층(MicroController Abstraction Layer : MCAL)을 서브 레이어로 구비한다. The
여기에서, '시스템 서비스'는 MCU 운영을 위한 운영 체제(OS) 또는 각 코어에서 수행할 태스크(Task)를 의미한다. 'MCAL'은 MCU에 구비된 공유 자원을 제어하는 것으로서, 공유 자원의 레지스터를 Read/Right하는 기능, 인터럽트를 처리하는 기능을 수행하는 SW로서 이해될 수 있다. Here, 'system service' refers to an operating system (OS) for MCU operation or a task to be performed by each core. 'MCAL' controls a shared resource provided in the MCU, and may be understood as SW that performs a function of reading/righting a register of a shared resource and processing an interrupt.
일 실시예에 있어서, 제 1 코어 내지 제 N 코어(130-1, 130-2, 130-n)의 도메인 제어 SW와 중재 코어(140)의 MCAL SW는 코어간 인터페이스(300)를 통해 연결된다. 코어간 인터페이스(300)는, 제 1 코어 내지 제 N 코어(130-1, 130-2, 130-n)가 중재 코어(140)와 연결되는 API(Application Interface)를 포함한다. In one embodiment, the domain control SW of the first core to the Nth core 130-1, 130-2, 130-n and the MCAL SW of the
일 실시예에 있어서, 제 1 코어 내지 제 N 코어(130-1, 130-2, 130-n)에는 일 방향성을 갖는 2개의 API가 쌍을 이루어 구비될 수 있다. 즉, 제 1 코어(130-1)와 중재 코어(140) 간에는, 중재 코어(140)에서 제 1 코어(130-1)로의 인터페이스(MCAL→제1도메인 API(310a))와, 제 1 코어(130-1)에서 중재 코어(140)로의 인터페이스(제1도메인→MCAL API(130b))가 구비된다. 제 2 코어(130-2)와 중재 코어(140) 간에는, 중재 코어(140)에서 제 2 코어(130-2)로의 인터페이스(MCAL→제2도메인 API(320a))와, 제 2 코어(130-2)에서 중재 코어(140)로의 인터페이스(제2도메인→MCAL API(320b))가 구비된다. 제 N 코어(130-n)와 중재 코어(140) 간에는, 중재 코어(140)에서 제 N 코어(130-n)로의 인터페이스(MCAL→제N도메인 API(330a))와, 제 N 코어(130-n)에서 중재 코어(140)로의 인터페이스(제N도메인→MCAL API(330b))가 구비된다.In one embodiment, the first core to the N-th core 130 - 1 , 130 - 2 , 130 - n may be provided with two APIs having one direction as a pair. That is, between the first core 130-1 and the
중재 코어(140)에서 제 1 코어 내지 제 N 코어(130-1, 130-2, 130-n)로의 인터페이스들(310a, 320a, 330a)은 중재 코어(140)의 Mcal SW에서 제공하는 함수를 제 1 코어 내지 제 N 코어(130-1, 130-2, 130-n)의 각 제어 SW가 사용하고자 하는 경우에 사용될 수 있다. Mcal SW에서 제공하는 함수의 일례로는, SPI 송신 요청 함수, ADC 값 취득 함수, Flash 저장 요청 함수 등이 있을 수 있다. The
제 1 코어 내지 제 N 코어(130-1, 130-2, 130-n)에서 중재 코어(140)로의 인터페이스들(310b, 320b, 330b)은, 제 1 코어 내지 제 N 코어(130-1, 130-2, 130-n)의 각 제어 SW에서 제공하는 함수를 중재 코어(140)의 Mcal SW에서 사용하고자 하는 경우에 사용될 수 있다. 제어 SW에서 제공하는 함수의 일례로는, SPI 수신 후 콜백 함수, Flash 저장 후 메모리 서비스 notification 함수 등이 있을 수 있다. The
제 1 코어 내지 제 N 코어(130-1, 130-2, 130-n)는 중재 코어(140)를 통해 MCU(110) 내의 공유 자원(200)과 연결된다. 또한, 제 1 코어 내지 제 N 코어(130-1, 130-2, 130-n) 상호 간에도 중재 코어(140)를 통해 연결될 수 있다. The first to Nth cores 130 - 1 , 130 - 2 and 130 - n are connected to the shared
다시 말하면, 제 1 코어(130-1)가 공유 자원(200) 중 어느 하나를 사용하고자 하는 경우, 제 1 코어(130-1)는 제1도메인→MCAL API(130b)를 통해 중재 코어(140)를 호출하고, 중재 코어(140)가 공유 자원(200) 중 어느 하나에 제 1 코어(130-1)의 요청을 전달하며, 공유 자원(200)에서의 응답은 중재 코어(140)에서 MCAL→제1도메인 API(310a)를 통해 제 1 코어(130-1)로 전달된다. 또한, 제 1 코어(130-1)와 제 2 코어(130-2) 간의 신호 전달도, 중재 코어(140)를 통해 이루어질 수 있다. 즉, 제 1 코어 내지 제 N 코어(130-1, 130-2, 130-n)는 중재 코어(140)를 거쳐 공유 자원(200)으로의 접근이나 다른 코어로의 접근이 가능할 수 있다.In other words, when the first core 130-1 intends to use any one of the shared
앞서 설명한 바와 같이, 본 발명에서는 MCU(110)의 공유 자원(200)을 제어하는 MCAL SW를 1개의 중재 코어(140)에 배치하고, 공유 자원(200)을 사용하는 제 1 내지 제 N 코어(130-1, 130-2, 130-n)의 도메인 제어 SW는 코어간 인터페이스(300)를 통해 중재 코어(140)에 구비된 MCAL SW에 접근할 수 있다.As described above, in the present invention, MCAL SW for controlling the shared
도 5는 본 발명의 바람직한 실시예에 따른 멀티 코어 마이크로컨트롤러를 이용한 차량용 전자 제어 장치에 있어서, 멀티 코어에서의 태스크 처리 방식을 예시적으로 나타내는 도면이고, 도 6은 본 발명의 바람직한 실시예에 따른 멀티 코어 마이크로컨트롤러를 이용한 차량용 전자 제어 장치에 있어서, 코어간 인터페이스에서의 Command Queue 방식을 예시적으로 나타내는 도면이다.5 is a diagram exemplarily illustrating a task processing method in a multi-core in the electronic control device for a vehicle using a multi-core microcontroller according to a preferred embodiment of the present invention, and FIG. In an electronic control device for a vehicle using a multi-core microcontroller, it is a diagram exemplarily illustrating a command queue method in an interface between cores.
하나의 MCU(110)에 복수의 코어가 구비되는 상황에서 공유 자원(200)을 이용하여 다중 도메인을 제어하여야 하므로, 시스템 서비스(OS, Task 등)를 통제하는 것이 필요하다. 제 1 코어 내지 제 N 코어(130-1, 130-2, 130-n)는 각각이 제어하는 도메인이 다르기 때문에 각각마다 별도 주기 태스크가 있어야 하지만 클록 생성부(210) 및 시스템 타이머(214)와 같은 공유 자원(200)은 1개를 공통으로 사용하여야 하므로 코어별 태스크에 대한 통제가 이루어질 필요가 있다. Since it is necessary to control multiple domains using the shared
이를 위해, 본 발명에서는 MCAL SW로 분리한 중재 코어(140)에서, 각 도메인 제어 SW가 수행되는 주기 태스크를 트리거하여 주기적인 태스크에 대한 기본 동작을 중재 코어(140)에서 주관하도록 할 수 있다. 일 실시예에 있어서, 중재 코어(140)에서는 MCAL 주기 태스크(periodic task)(예를 들면, 1ms Task, 10ms Task 등)를 수행하고, 이 MCAL 주기 태스크에서 각 도메인 주기 태스크를 트리거하여 제 1 코어 내지 제 N 코어(130-1, 130-2, 130-n)가 자신의 주기 태스크를 수행할 수 있다. To this end, in the present invention, in the
또한, 제 1 코어 내지 제 N 코어(130-1, 130-2, 130-n)가 자신의 주기 태스크를 수행할 때 공유 자원(200)을 사용할 필요가 있는 경우 코어간 인터페이스(300)를 이용하여 중재 코어(140)에 요청할 수 있다. In addition, when the first to Nth cores 130-1, 130-2, and 130-n need to use the shared
즉, 도 5를 참조하면, 중재 코어(140)는 MCAL 주기 태스크를 수행하여 특정 코어(130-1, 130-2)의 주기 태스크를 트리거할 수 있다. 특정 코어(130-1, 130-2)에서 주기 태스크 수행 중에 공유 자원(200)을 사용할 필요가 있는 경우, MCAL Command Queue를 요청한다. 중재 코어(140)는 특정 코어(130-1, 130-2)에서 요청한 MCAL Command Queue에 따른 MCAL 태스크를 수행한다. That is, referring to FIG. 5 , the
도 6을 참조하면, 코어간 인터페이스(300)에서의 Command Queue 방식이 예시된다. 앞서 설명한 코어간 인터페이스(300)는 API 호출 처리를 위한 인터페이스 계층이고, 제 1 코어 내지 제 N 코어(130-1, 130-2, 130-n)와 중재 코어(140)는 코어간 인터페이스(300)에서 Command Queue 방식으로 호출 처리를 수행한다. Referring to FIG. 6 , the Command Queue method in the
코어간 데이터 전달의 경우, 중재 코어(140)를 통해 이루어지고, 데이터 전달은 함수 호출 방식을 통해 함수의 파라미터를 이용하여 수행될 수 있다. 함수 호출 요청은 "Command"이고 복수의 Command가 Queue 방식으로 순차적으로 수행될 수 있다. 각각의 Command는 특정 API(310a, 310b, 320a, 320b, 330a, 330b)를 지시하는 API ID, 콜백 함수 주소, 실행 태스크 ID 등을 포함할 수 있다. 또한, 각각의 Command에는 전달이 필요한 데이터 또는 변수 정보를 파라미터(parameter)를 통해 전달할 수 있다. In the case of inter-core data transfer, the
중재 코어(140)는, 제 1 코어 내지 제 N 코어(130-1, 130-2, 130-n)로부터 특정 Command를 요청받은 경우, 이를 순차적으로 처리할 수 있다. 이를 위해 중재 코어(140)는, 공유 자원(200)을 통한 특정 코어(130-1, 130-2, 130-n)의 요청을 처리하도록 전달할 수 있다. 또한, 중재 코어(140)는 공유 자원(140)에서의 처리 결과 또는 공유 자원(140)의 통신 포트들을 통해 전달받은 정보를 제 1 코어 내지 제 N 코어(130-1, 130-2, 130-n)로 전달할 수 있다. When a specific command is requested from the first core to the N-th core 130-1, 130-2, 130-n, the
도 7은 본 발명의 바람직한 실시예에 따른 멀티 코어 마이크로컨트롤러를 이용한 차량용 전자 제어 장치의 활용 예를 도시한 도면이다. 도 7을 참조하면, 제 1 코어(130-1)에서 플래시 메모리(400)에 데이터를 저장하는 경우가 예시적으로 설명된다. 7 is a diagram illustrating an application example of an electronic control device for a vehicle using a multi-core microcontroller according to a preferred embodiment of the present invention. Referring to FIG. 7 , a case in which data is stored in the
도 7의 (a)를 참조하면, 제 1 코어(130-1)는 API(310a)를 통해 플래시 저장 요청을 중재 코어(140)로 전달한다. 중재 코어(140)는 공유 자원(200)에 속하는 플래시 드라이버(222)에 데이터 저장 요청을 전달하고, 플래시 드라이버(222)는 플래시 메모리(400)에 요청된 데이터를 저장한다. Referring to FIG. 7A , the first core 130-1 transmits a flash storage request to the
도 7의 (b)를 참조하면, 플래시 메모리(400)에의 데이터 저장이 완료되면, 플래시 드라이버(222)는 저장 완료 정보를 중재 코어(140)로 전달하고, 중재 코어(140)는 API(310b)를 통해 제 1 코어(130-1)로 저장 완료 정보를 전달한다. Referring to (b) of FIG. 7 , when data storage in the
이러한 본 발명에 따르면, 멀티 코어를 구비한 마이크로컨트롤러를 채용한 차량용 전자 제어 장치에 있어서, 중재 코어를 활용하여 복수의 코어가 공유 자원을 효과적으로 사용할 수 있게 된다. According to the present invention, in the electronic control device for a vehicle employing a microcontroller having a multi-core, a plurality of cores can effectively use a shared resource by utilizing an arbitration core.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and various modifications, changes, and substitutions are possible within the range that does not depart from the essential characteristics of the present invention by those of ordinary skill in the art to which the present invention pertains. will be. Accordingly, the embodiments disclosed in the present invention and the accompanying drawings are intended to explain, not to limit the technical spirit of the present invention, and the scope of the technical spirit of the present invention is not limited by these embodiments and the accompanying drawings. . The protection scope of the present invention should be construed by the following claims, and all technical ideas within the equivalent range should be construed as being included in the scope of the present invention.
100 : 차량용 전자 제어 장치
110 : MCU
120 : 멀티 코어
130 : 제 1 구동부
140 : 제 2 구동부
150 : 전원공급부
160 : 시스템 버스
200 : 공유 자원
300 : 코어간 인터페이스100: electronic control device for a vehicle
110 : MCU
120: multi-core
130: first driving unit
140: second driving unit
150: power supply
160: system bus
200 : shared resource
300: interface between cores
Claims (9)
상기 멀티 코어 마이크로컨트롤러는,
제 1 도메인의 제어를 위한 제 1 코어;
제 2 도메인의 제어를 위한 제 2 코어;
상기 제 1 코어와 상기 제 2 코어가 공통으로 사용 가능한 공유 자원; 및
상기 제 1 코어와 상기 제 2 코어의 상기 공유 자원 사용을 중재하는 중재 코어;
를 포함하는 것을 특징으로 하는 차량용 전자 제어 장치. A vehicle electronic control device using a multi-core microcontroller, comprising:
The multi-core microcontroller,
a first core for controlling the first domain;
a second core for controlling a second domain;
a shared resource that the first core and the second core can use in common; and
an arbitration core that mediates the shared resource use of the first core and the second core;
An electronic control device for a vehicle comprising a.
상기 공유 자원은 외부 기기와의 통신을 위한 통신 드라이버, 시간 정보 생성을 위한 클록 생성부, 타이머 또는 시스템 타이머, 신호 입출력을 위한 입출력 포트, 아날로그-디지털 컨버터, 및 플래시 드라이버 중 적어도 하나를 포함하는 것을 특징으로 하는 차량용 전자 제어 장치. The method of claim 1,
The shared resource includes at least one of a communication driver for communication with an external device, a clock generator for generating time information, a timer or system timer, an input/output port for signal input/output, an analog-to-digital converter, and a flash driver An electronic control device for a vehicle, characterized by the
상기 제 1 코어와 상기 제 2 코어 각각은, 코어간 인터페이스를 통해 상기 중재 코어와 통신하는 것을 특징으로 하는 차량용 전자 제어 장치. The method of claim 1,
Each of the first core and the second core communicates with the mediation core through an inter-core interface.
상기 코어간 인터페이스는, API(Application Interface)를 포함하는 것을 특징으로 하는 차량용 전자 제어 장치. 4. The method of claim 3,
The interface between the cores, the electronic control device for a vehicle, characterized in that it includes an API (Application Interface).
상기 API는, 상기 제 1 코어와 상기 제 2 코어 각각과 상기 중재 코어의 사이에 일 방향을 갖는 2개의 API가 쌍을 이루어 구비되는 것을 특징으로 하는 차량용 전자 제어 장치. 5. The method of claim 4,
The API includes two APIs having one direction between each of the first core and the second core and the mediation core, wherein the API is provided as a pair.
상기 제 1 도메인의 구동을 위한 제 1 구동부와, 상기 제 2 도메인의 구동을 위한 제 2 구동부를 더 포함하는 것을 특징으로 하는 차량용 전자 제어 장치. 6. The method according to any one of claims 1 to 5,
The electronic control device for a vehicle further comprising: a first driving unit for driving the first domain; and a second driving unit for driving the second domain.
상기 중재 코어는, 상기 제 1 코어와 상기 제 2 코어 중 적어도 하나의 주기 태스크를 트리거하는 것을 특징으로 하는 차량용 전자 제어 장치. 6. The method according to any one of claims 1 to 5,
and the mediation core triggers a periodic task of at least one of the first core and the second core.
상기 중재 코어는, 상기 제 1 코어와 상기 제 2 코어의 요청(Command)을 Command Queue 방식으로 처리하는 것을 특징으로 하는 차량용 전자 제어 장치. 6. The method according to any one of claims 1 to 5,
The arbitration core, the electronic control device for a vehicle, characterized in that for processing the request (Command) of the first core and the second core in a command queue method.
상기 Command Queue를 위한 상기 Command에는, 전달이 필요한 데이터 또는 변수 정보가 파라미터로 포함되는 것을 특징으로 하는 차량용 전자 제어 장치. 9. The method of claim 8,
The command for the command queue, the electronic control device for a vehicle, characterized in that the data or variable information required to be transmitted is included as a parameter.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190176549A KR102301020B1 (en) | 2019-12-27 | 2019-12-27 | Vehicular electronic control unit using multi-core microcontroller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190176549A KR102301020B1 (en) | 2019-12-27 | 2019-12-27 | Vehicular electronic control unit using multi-core microcontroller |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210083851A true KR20210083851A (en) | 2021-07-07 |
KR102301020B1 KR102301020B1 (en) | 2021-09-09 |
Family
ID=76862157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190176549A KR102301020B1 (en) | 2019-12-27 | 2019-12-27 | Vehicular electronic control unit using multi-core microcontroller |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102301020B1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080114003A (en) * | 2007-06-26 | 2008-12-31 | 삼성전자주식회사 | Method and apparatus for performing related task on multi-core processor |
JP2012113632A (en) * | 2010-11-26 | 2012-06-14 | Toyota Motor Corp | Information processor and method of managing exclusive access right of information processor |
JP5231400B2 (en) * | 2006-05-24 | 2013-07-10 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | Multiprocessor gateway |
KR101584210B1 (en) | 2014-11-24 | 2016-01-11 | 현대오트론 주식회사 | System and method for monitoring MCU |
KR20170041466A (en) * | 2015-10-07 | 2017-04-17 | 주식회사 성우모바일 | Integrated data processing system and method for vehicle |
-
2019
- 2019-12-27 KR KR1020190176549A patent/KR102301020B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5231400B2 (en) * | 2006-05-24 | 2013-07-10 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | Multiprocessor gateway |
KR20080114003A (en) * | 2007-06-26 | 2008-12-31 | 삼성전자주식회사 | Method and apparatus for performing related task on multi-core processor |
JP2012113632A (en) * | 2010-11-26 | 2012-06-14 | Toyota Motor Corp | Information processor and method of managing exclusive access right of information processor |
KR101584210B1 (en) | 2014-11-24 | 2016-01-11 | 현대오트론 주식회사 | System and method for monitoring MCU |
KR20170041466A (en) * | 2015-10-07 | 2017-04-17 | 주식회사 성우모바일 | Integrated data processing system and method for vehicle |
Also Published As
Publication number | Publication date |
---|---|
KR102301020B1 (en) | 2021-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8255095B2 (en) | Modular avionics system of an aircraft | |
KR20110126407A (en) | System on chip and operating method thereof | |
JP6838217B2 (en) | Vehicle control device | |
EP3872632A1 (en) | In-vehicle equipment control device | |
WO2019058874A1 (en) | Virtualization system, virtualization program, and storage medium | |
KR102301020B1 (en) | Vehicular electronic control unit using multi-core microcontroller | |
KR102416465B1 (en) | Data Processing System of Effectively Managing Shared Resource | |
JP5058890B2 (en) | Bus control device | |
US10958472B2 (en) | Direct access to bus signals in a motor vehicle | |
JP2007034910A (en) | Multi-cpu system and scheduler | |
KR101951908B1 (en) | Apparatus and method for sharing devices for robot software components | |
US20090187605A1 (en) | Vehicle Control Apparatus | |
KR20120032102A (en) | Apparatus and method for power saving of usb device | |
CN107291642B (en) | Microcontroller, control device and motor vehicle | |
US12112206B2 (en) | Control device for controlling multiple applications based on priority-based message encryption arbitration | |
KR102252315B1 (en) | Vehicular electronic control unit and monitoring method thereof | |
WO2023106073A1 (en) | Onboard device, program, and information processing method | |
Vu et al. | On-demand reconfiguration for coprocessors in mixed criticality multicore systems | |
JP2009251783A (en) | Multi-cpu bus occupancy system | |
JP4480678B2 (en) | Semiconductor integrated circuit device | |
CN101751355A (en) | Non-volatile memory device capable of initiating transactions | |
JP2551342B2 (en) | Dual microprocessor device | |
JPH05290008A (en) | Resetting method for multi-cpu system | |
JP2001092517A (en) | Fa network and robot controller | |
KR20210028421A (en) | Internal Verification Type ECU Integration System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |