KR102173535B1 - Embedded board based on android enhenced real time response - Google Patents

Embedded board based on android enhenced real time response Download PDF

Info

Publication number
KR102173535B1
KR102173535B1 KR1020200065782A KR20200065782A KR102173535B1 KR 102173535 B1 KR102173535 B1 KR 102173535B1 KR 1020200065782 A KR1020200065782 A KR 1020200065782A KR 20200065782 A KR20200065782 A KR 20200065782A KR 102173535 B1 KR102173535 B1 KR 102173535B1
Authority
KR
South Korea
Prior art keywords
board
real
kernel
android
time
Prior art date
Application number
KR1020200065782A
Other languages
Korean (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 젝스컴퍼니 주식회사
Priority to KR1020200065782A priority Critical patent/KR102173535B1/en
Application granted granted Critical
Publication of KR102173535B1 publication Critical patent/KR102173535B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7803System on board, i.e. computer system on one or more PCB, e.g. motherboards, daughterboards or blades
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • H04L29/06
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Combinations Of Printed Boards (AREA)

Abstract

The present invention relates to an Android-based embedded board with improved real-time performance. According to the present invention, the Android-based embedded board with improved real-time performance comprises: a board which operates based on an Android operating system; a CPU installed on the board to control the board; a network card; and a case having the board installed therein. According to the present invention, real-time performance can be significantly improved.

Description

실시간 성능이 향상된 안드로이드 기반의 임베디드 보드{EMBEDDED BOARD BASED ON ANDROID ENHENCED REAL TIME RESPONSE}Android-based embedded board with improved real-time performance {EMBEDDED BOARD BASED ON ANDROID ENHENCED REAL TIME RESPONSE}

본 발명은 안드로이드 기반의 임베디드 보드에 관한 것으로서, 보다 상세하게는 안드로이드 운영체제의 커널 계층이 실시간커널과 비실시간커널의 실시간 이중 커널(Real-Time Dual Kernel)로 구성됨으로써 실시간 성능이 향상됨과 동시에 다른 장치와 호환성이 높은 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드에 관한 것이다.The present invention relates to an Android-based embedded board, and more specifically, the kernel layer of the Android operating system is composed of a real-time kernel and a real-time dual kernel of a non-real-time kernel, so that real-time performance is improved and other devices It relates to an Android-based embedded board with improved real-time performance that is compatible with the system.

임베디드 보드란, 공장자동화기계부터 키오스크 등 산업계 전반에 이용되는 임베디드 시스템에 이용되는 보드를 의미한다.The embedded board refers to a board used in embedded systems used in the entire industry, from factory automation machines to kiosks.

기존의 임베디드 보드는 마이크로소프트사의 윈도우즈 운영체제에 대응되는 x86 계열로 마련되었는데, x86 계열의 임베디드 보드는 윈도우즈 운영체제를 별도로 구매해야 하기 때문에 전체 장치의 가격이 상승하게 되는 문제가 있다. Existing embedded boards were prepared in the x86 series corresponding to Microsoft's Windows operating system, but the x86 series of embedded boards has a problem that the price of the entire device increases because the Windows operating system must be separately purchased.

이에 따라, 개방형 플랫폼인 안드로이드가 임베디드 시스템의 운영체제로서 주목받고 있으며, 산업제어시스템(Industrial Control Systems, ICS) 분야에서의 응용에 대한 요구도 증가하고 있는 추세이다.Accordingly, Android, an open platform, is attracting attention as an operating system of an embedded system, and demands for applications in the industrial control systems (ICS) field are also increasing.

이러한 추세에 따라, 임베디드 보드의 제조사들은 안드로이드 운영체제에 대응되는 ARM 계열의 폼팩터를 이용하여 각종 시스템을 개발, 제조하고 있다.In accordance with this trend, manufacturers of embedded boards are developing and manufacturing various systems using the form factor of the ARM series corresponding to the Android operating system.

그러나 안드로이드는 모바일 디바이스의 플랫폼을 제공하는 것을 목적으로 개발되었기 때문에 산업제어시스템 분야에서 요구되는 실시간 처리능력을 갖추지 못하는 문제가 있으며, 다른 장치와 호환성이 낮은 문제가 있다.However, since Android was developed for the purpose of providing a platform for a mobile device, there is a problem in that it does not have the real-time processing capability required in the industrial control system field, and it has low compatibility with other devices.

본 발명의 목적은, 상술한 종래의 문제점을 해결하기 위한 것으로서, 안드로이드 운영체제의 커널 계층이 실시간커널과 비실시간커널의 실시간 이중 커널(Real- Time Dual Kernel)로 구성됨으로써 실시간 성능이 향상됨과 동시에 다른 장치와 호환성이 높은 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드를 제공함에 있다.An object of the present invention is to solve the above-described conventional problem, and the kernel layer of the Android operating system is composed of a real-time kernel and a real-time dual kernel, thereby improving real-time performance and It is to provide an Android-based embedded board with improved real-time performance with high device compatibility.

상기 목적은, 본 발명에 따라, 안드로이드 운영체제를 기반으로 작동되는 보드; 상기 보드에 설치되며 상기 보드를 제어하는 CPU; 상기 보드가 외부의 장치와 정보를 교환할 수 있도록 상기 보드에 설치되되, EtherCAT(Ethernet for Control Automation Technology) 통신 방식에 대응되도록 마련되는 네트워크카드; 및 내부에 상기 보드가 설치되는 케이스를 포함하되, 상기 CPU는, ARM계열의 CPU로 마련되며, 상기 운영체제를 구성하는 커널(Kernel) 계층은, 리눅스커널로 마련되어 비실시간 태스크를 처리하는 비실시간커널과, 상기 리눅스커널에 Xenomai를 이식함으로써 형성되며 상기 EtherCAT 통신 방식을 통해 수신되는 실시간 태스크를 상기 비실시간커널과 독립적으로 처리하는 실시간커널을 포함하며, 상기 실시간커널은, 태스크 처리 시 상기 비실시간커널보다 높은 우선순위를 가지며, 상기 EtherCAT 통신 방식에서의 EtherCAT 마스터는, IgH EtherCAT 마스터로 마련되어 제네릭(Generic) 드라이버 방식을 통해 네트워크 장치 드라이버와 연동되며, 상기 보드는, 내부에 물이 이동될 수 있는 유로가 형성되는 기판부와, 상기 유로에 연결되도록 상기 기판부에 설치되며 상기 케이스 내부의 수증기를 포집하여 응축하는 제습부와, 상기 CPU의 하부에 배치되되 상기 유로에 노출되도록 상기 기판부에 설치되며 상기 유로에서 공급된 물이 기화됨으로써 상기 CPU에서 발생되는 열을 흡수하는 방열부와, 상기 기판부에 설치되며 상기 방열부에서 기화된 수증기가 상기 케이스 외부로 배출될 수 있도록 배출통로를 형성하는 배출부를 포함하는 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드에 의해 달성된다.The object is, according to the present invention, a board operated based on the Android operating system; A CPU installed on the board and controlling the board; A network card installed on the board so that the board can exchange information with an external device, and configured to correspond to an EtherCAT (Ethernet for Control Automation Technology) communication method; And a case in which the board is installed therein, wherein the CPU is provided with an ARM-series CPU, and the kernel layer constituting the operating system is provided with a Linux kernel to process a non-real-time task. And, a real-time kernel formed by transplanting Xenomai into the Linux kernel and processing a real-time task received through the EtherCAT communication method independently from the non-real-time kernel, wherein the real-time kernel is It has a higher priority, and the EtherCAT master in the EtherCAT communication method is provided as an IgH EtherCAT master and is interlocked with the network device driver through a generic driver method, and the board is a flow path through which water can be moved. And a dehumidifying unit installed on the substrate to be connected to the flow path and collecting and condensing water vapor inside the case, and a dehumidifying unit disposed under the CPU and installed on the substrate to be exposed to the flow path, A heat dissipation part that absorbs heat generated from the CPU by vaporizing water supplied from the flow path, and a discharge that is installed on the substrate and forms a discharge passage so that the steam vaporized from the heat dissipation part can be discharged to the outside of the case Real-time performance including wealth is achieved by an improved Android-based embedded board.

삭제delete

삭제delete

삭제delete

또한, 상기 보드는, Mini-ITX 폼팩터로 마련될 수 있다.In addition, the board may be provided in a Mini-ITX form factor.

본 발명에 따르면, 산업제어시스템 분야에서 요구되는 실시간 성능이 대폭적으로 향상된 임베디드 보드가 제공될 수 있다.According to the present invention, an embedded board with significantly improved real-time performance required in the industrial control system field can be provided.

또한, 본 발명에 따르면, 종래의 산업현장에서 사용되었던 x86계열의 Mini-ITX 폼팩터에 대응되는 케이스에 그대로 장착될 수 있는 효과가 있다.In addition, according to the present invention, there is an effect that it can be mounted in a case corresponding to the form factor of the x86 series Mini-ITX used in conventional industrial sites.

한편, 본 발명의 효과는 이상에서 언급한 효과들로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 효과들이 포함될 수 있다.Meanwhile, the effects of the present invention are not limited to the above-mentioned effects, and various effects may be included within a range that will be apparent to a person skilled in the art from the contents to be described below.

도 1은 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드의 전체 구성을 도시한 것이고,
도 2는 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드의 계층 구조를 도시한 것이고,
도 3은 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드의 안드로이드와 Xenomai 간의 통신 과정을 도시한 것이고,
도 4는 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드의 IgH EtherCAT Master, 네트워크 장치 드라이버 및 제네릭 디바이스 드라이버의 구조를 도시한 것이고,
도 5는 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드의 태스크의 주기성에 대한 분석 결과를 그래프와 표로 도시한 것이고,
도 6은 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드의 실험과정과 EtherCAT Control Task에 대한 성능분석 결과를 도시한 것이고,
도 7은 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드의 Execution Time의 개념도와 분석 결과를 도시한 것이고,
도 8은 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드의 삽입모듈(110a)을 도시한 것이고,
도 9는 본 발명의 다른 실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드의 보드를 도시한 것이다.
1 is a diagram showing the overall configuration of an Android-based embedded board with improved real-time performance according to an embodiment of the present invention,
2 shows a hierarchical structure of an Android-based embedded board with improved real-time performance according to an embodiment of the present invention,
3 is a diagram illustrating a communication process between Android and Xenomai of an Android-based embedded board with improved real-time performance according to an embodiment of the present invention.
FIG. 4 is a diagram illustrating the structure of an IgH EtherCAT Master, a network device driver, and a generic device driver of an Android-based embedded board with improved real-time performance according to an embodiment of the present invention.
5 is a graph and a table showing an analysis result of a task periodicity of an Android-based embedded board with improved real-time performance according to an embodiment of the present invention.
6 is a diagram illustrating an experimental process of an Android-based embedded board with improved real-time performance and a performance analysis result for an EtherCAT Control Task according to an embodiment of the present invention.
7 is a conceptual diagram and analysis result of the execution time of an Android-based embedded board with improved real-time performance according to an embodiment of the present invention.
8 is a diagram illustrating an insertion module 110a of an Android-based embedded board with improved real-time performance according to an embodiment of the present invention,
9 illustrates a board of an Android-based embedded board with improved real-time performance according to another embodiment of the present invention.

이하, 본 발명의 일부 실시 예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다.Hereinafter, some embodiments of the present invention will be described in detail through exemplary drawings. In adding reference numerals to elements of each drawing, it should be noted that the same elements are assigned the same numerals as possible even if they are indicated on different drawings.

그리고 본 발명의 실시 예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.In addition, in describing an embodiment of the present invention, if it is determined that a detailed description of a related known configuration or function interferes with an understanding of the embodiment of the present invention, a detailed description thereof will be omitted.

또한, 본 발명의 실시 예의 구성요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다.In addition, terms such as first, second, A, B, (a), and (b) may be used in describing the components of the embodiment of the present invention. These terms are only used to distinguish the component from other components, and the nature, order, or order of the component is not limited by the term.

지금부터는 첨부된 도면을 참조하여, 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드(100)에 대해 상세히 설명한다.Hereinafter, with reference to the accompanying drawings, an Android-based embedded board 100 with improved real-time performance according to an embodiment of the present invention will be described in detail.

도 1은 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드의 전체 구성을 도시한 것이고, 도 2는 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드의 계층 구조를 도시한 것이고, 도 3은 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드의 안드로이드와 Xenomai 간의 통신 과정을 도시한 것이고, 도 4는 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드의 IgH EtherCAT Master, 네트워크 장치 드라이버 및 제네릭 디바이스 드라이버의 구조를 도시한 것이고, 도 5는 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드의 태스크의 주기성에 대한 분석 결과를 그래프와 표로 도시한 것이고, 도 6은 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드의 실험과정과 EtherCAT Control Task에 대한 성능분석 결과를 도시한 것이고, 도 7은 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드의 Execution Time의 개념도와 분석 결과를 도시한 것이고, 도 8은 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드의 삽입모듈(110a)을 도시한 것이다.1 is a diagram showing the overall configuration of an Android-based embedded board with improved real-time performance according to an embodiment of the present invention, and FIG. 2 is a layer of an Android-based embedded board with improved real-time performance according to an embodiment of the present invention. 3 is a diagram illustrating a communication process between Android and Xenomai of an Android-based embedded board with improved real-time performance according to an embodiment of the present invention, and FIG. 4 is a real-time diagram according to an embodiment of the present invention. The structure of the IgH EtherCAT Master, the network device driver, and the generic device driver of an Android-based embedded board with improved performance is shown. FIG. 5 is a diagram of a task of an Android-based embedded board with improved real-time performance according to an embodiment of the present invention. The analysis results for periodicity are shown in graphs and tables, and FIG. 6 shows the experimental process of the Android-based embedded board with improved real-time performance according to an embodiment of the present invention and the performance analysis results for the EtherCAT Control Task, 7 is a conceptual diagram and analysis result of the execution time of an Android-based embedded board with improved real-time performance according to an embodiment of the present invention, and FIG. 8 is an Android-based Android-based with improved real-time performance according to an embodiment of the present invention. It shows the insertion module (110a) of the embedded board.

도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드(100)는 보드(110), CPU(120) 및 네트워크카드(130)을 포함한다.As shown in FIG. 1, an Android-based embedded board 100 with improved real-time performance according to an embodiment of the present invention includes a board 110, a CPU 120, and a network card 130.

보드(110)는 안드로이드 운영체제를 기반으로 작동되는 것으로서, 인쇄 회로 기판(Printed Circuit Board, PCB)으로 마련되며, 후술하는 CPU(120) 및 네트워크카드(130)가 설치된다. 보드(110)는 공작기계, 로봇 등 산업 자동화 장치를 제어하는데 사용될 수 있고, 키오스크, 버스 전광판 등의 일반 산업에 이용되는 특수 장치를 제어하는데 사용될 수 있다.The board 110 is operated based on the Android operating system, is provided with a printed circuit board (PCB), and a CPU 120 and a network card 130 to be described later are installed. The board 110 may be used to control industrial automation devices such as machine tools and robots, and may be used to control special devices used in general industries such as kiosks and bus billboards.

이러한 보드(110)는 후술하는 네트워크카드(130)로부터 후술하는 CPU(120)로 데이터를 전달하거나, CPU(120)에서 처리된 데이터를 네트워크카드(130)로 전달하는 것으로, Mini-ITX 폼팩터 규격으로 마련된다.This board 110 transfers data from the network card 130 to be described later to the CPU 120 to be described later, or transfers the data processed by the CPU 120 to the network card 130, which is a Mini-ITX form factor standard. It is provided with.

Mini-ITX 폼팩터 규격은 17cm*17cm의 면적으로 마련되는 것으로서, 인텔사의 x86계열 CPU가 탑재된 소형보드로 가장 널리 보급된 규격이다. 그러나 안드로이드 운영체제가 탑재되는 ARM 계열의 임베디드 보드는 상술한 x86 계열의 폼팩터 규격과는 상이한 면적으로 마련되었으므로, 종래의 x86 계열의 보드가 장착되는 케이스(Mini-ITX 폼팩터 규격의 케이스)에 ARM 계열의 임베디드 보드를 장착하는 것이 불가능하여, ARM 계열의 임베디드 보드를 이용하는 경우 ARM 계열의 폼팩터 규격에 대응되는 케이스를 별도로 제작해야 하는 문제가 있다. The Mini-ITX form factor standard is prepared in an area of 17cm*17cm, and is the most widely distributed standard as a small board equipped with Intel's x86 series CPU. However, since the ARM series embedded board on which the Android operating system is mounted has a different area from the above-described x86 series form factor standard, the ARM series of the ARM series are installed in the case (Mini-ITX form factor standard case) where the conventional x86 series board is mounted. Since it is impossible to mount an embedded board, there is a problem in that a case corresponding to the form factor standard of the ARM series must be separately manufactured when using the ARM series embedded board.

따라서, Mini-ITX 폼팩터 규격으로 마련되는 보드(110)에 의하면, 종래의 x86 계열의 Mini-ITX 폼팩터에 대응되는 케이스에 그대로 장착되는 것이 가능한 임베디드 보드가 제공된다.Accordingly, according to the board 110 provided in the Mini-ITX form factor standard, an embedded board capable of being mounted in a case corresponding to the conventional x86 series Mini-ITX form factor is provided.

한편, 상술한 보드(110)에 설치되는 운영체제(Operating System, OS)는 안드로이드(Android)로 마련되는데, 안드로이드는 윈도우즈(Windows)에 비해 개방성이 크고, 가격이 저렴하며, 모바일 기기 및 기타 각종 시스템에 다수 사용되고 있는 오픈 소스 플랫폼이다.On the other hand, the operating system (OS) installed on the above-described board 110 is provided with Android, which has greater openness and lower price than Windows, and mobile devices and other various systems It is an open source platform that is widely used in

이 때, 도 2에 도시된 바와 같이, 안드로이드 운영체제를 구성하는 커널(Kernel) 계층은 EtherCAT 프로토콜을 통해 송수신되는 실시간 태스크를 처리하기 위한 실시간커널(R)과, 비실시간 태스크를 처리하는 비실시간커널(NR)의 실시간 이중 커널(Real-Time Dual Kernel) 구조를 포함하여 구성된다.In this case, as shown in FIG. 2, the kernel layer constituting the Android operating system includes a real-time kernel R for processing real-time tasks transmitted and received through the EtherCAT protocol, and a non-real-time kernel for processing non-real-time tasks. It is composed of (NR) Real-Time Dual Kernel structure.

보다 상세하게, 여기서 비실시간커널(NR)은 기존에 존재하던 리눅스 커널(이하 '리눅스 커널'이라 함)을 의미하며, 실시간커널(R)은 기존의 리눅스 커널에 Xenomai를 이식함으로써 형성되는 커널(이하 'Xenomai 커널'이라 함)을 의미한다.In more detail, here, the non-real-time kernel (NR) means the existing Linux kernel (hereinafter referred to as'Linux kernel'), and the real-time kernel (R) is a kernel formed by transplanting Xenomai to the existing Linux kernel ( Hereinafter referred to as'Xenomai kernel').

Xenomai는 리눅스에서 실시간적인 요소를 지원하기 위한 개발 프레임워크로, Xenomai는 다양한 실시간 API(Application Programming Interface)들을 리눅스 기반의 플랫폼에 제공함으로써 리눅스 기반의 실시간 운영체제 환경을 구축 가능하게 한다.Xenomai is a development framework to support real-time elements in Linux, and Xenomai provides a variety of real-time application programming interfaces (APIs) to a Linux-based platform to build a real-time operating system environment based on Linux.

Xenomai의 이식을 통해 안드로이드 운영체제에서의 커널 계층은 실시간 이중 커널(Real-Time Dual Kernel) 구조를 갖게 된다. 실시간 이중 커널이란, 비실시간 태스크 내지 쓰레드를 처리하는 리눅스 커널과 실시간 태스크 내지 쓰레드를 처리하는 Xenomai 커널이 공존하며 실행되는 구조를 말한다.Through Xenomai's porting, the kernel layer in the Android operating system has a Real-Time Dual Kernel structure. The real-time dual kernel refers to a structure in which a Linux kernel that processes non-real-time tasks or threads and a Xenomai kernel that processes real-time tasks or threads coexist and run.

리눅스 커널과 Xenomai 커널의 이중 커널 구조의 구현을 위해서, 먼저 리눅스 커널과 독립적으로 실시간 태스크를 관리하기 위한 ADEOS/I-Pipe 커널 패치를 기존의 리눅스 커널에 적용해야 한다. 여기서 ADEOS(Adaptive Domain Environment for Operating System)란 각각의 도메인들을 동일한 하드웨어 플랫폼에서 동작하도록 허용하는 자원 가상화 층을 말한다. ADEOS 도메인들은 시스템에서 생성되는 태스크를 파이프라인을 통해서 수신 받는다. 파이프라인을 통해 전달되는 태스크는 높은 우선순위의 도메인부터 점점 감소되어 낮은 우선순위의 도메인으로 전달된다. In order to implement the dual kernel structure of the Linux kernel and the Xenomai kernel, first, the ADEOS/I-Pipe kernel patch for managing real-time tasks independently of the Linux kernel must be applied to the existing Linux kernel. Here, ADEOS (Adaptive Domain Environment for Operating System) refers to a resource virtualization layer that allows each domain to operate on the same hardware platform. ADEOS domains receive system-generated tasks through pipelines. Tasks delivered through the pipeline are gradually reduced from the higher priority domain to the lower priority domain.

상술한 ADEOS/I-Pipe 커널 패치 후, 기존의 리눅스 커널에 Xenomai를 이식하게 되면 리눅스 커널과 Xenomai 커널이 공존하게 되는데, 이 때, Xenomai 커널(즉, 실시간커널(R))이 리눅스 커널(즉, 비실시간커널(NR))보다 높은 우선순위를 가지게 되어 시스템에서 생성되는 태스크를 가장 먼저 수신하게 된다.After the aforementioned ADEOS/I-Pipe kernel patch, when Xenomai is transplanted to the existing Linux kernel, the Linux kernel and the Xenomai kernel coexist. At this time, the Xenomai kernel (that is, the real-time kernel (R)) becomes the Linux kernel (that is, , Non-real-time kernel (NR)) has a higher priority, so that the task created in the system is received first.

상술한 바와 같은 보드(110)에 따르면, EtherCAT 프로토콜을 통해 송수신되는 실시간 태스크가 효과적으로 처리될 수 있으므로, 임베디드 보드의 실시간 성능이 향상되는 효과가 있다.According to the board 110 as described above, since real-time tasks transmitted and received through the EtherCAT protocol can be effectively processed, real-time performance of the embedded board is improved.

한편, 안드로이드 어플리케이션 간에는 AIDL(Android Interface Definition Language)를 통해 IPC(Inter-Process Communication)를 구현할 수 있으나, 상술한 Xenomai 커널은 ADEOS를 통해 메모리 공간도 따로 쓰고 있는 별도의 다른 커널이므로, AIDL의 IPC로는 통신이 불가능하다. 따라서 도 3에 도시된 바와 같이, 실시간 태스크와 비실시간 태스크 간의 통신 프로토콜인 XDDP(Cross-Domain Datagram Protocol)를 이용하면 안드로이드와 Xenomai 간의 통신 인터페이스를 효과적으로 구현할 수 있다.On the other hand, between Android applications, IPC (Inter-Process Communication) can be implemented through AIDL (Android Interface Definition Language), but the aforementioned Xenomai kernel is a separate kernel that also uses memory space through ADEOS. Communication is impossible. Therefore, as shown in FIG. 3, using the Cross-Domain Datagram Protocol (XDDP), which is a communication protocol between a real-time task and a non-real-time task, can effectively implement a communication interface between Android and Xenomai.

CPU(120)는 보드(110)에 설치되어 보드(110)를 제어하는 것으로서, ARM 계열의 CPU(120)로 마련된다. 여기서 ARM 계열이란, 영국의 CPU(120) 제조사인 ARM Holdings 사(社)에서 제조되는 RISC(Reduced Instruction Set Computer) 형식의 CPU(120) 계열로, 모바일 CPU(120) 프로세서의 약 95% 이상을 차지하는 CPU(120) 계열이다. ARM 계열의 CPU(120)는 가격이 저렴하며, 낮은 전력을 소모하여 높은 효율을 내는 것으로 알려져 있다.The CPU 120 is installed on the board 110 to control the board 110 and is provided as an ARM-based CPU 120. Here, the ARM series is a series of CPU 120 in the form of RISC (Reduced Instruction Set Computer) manufactured by ARM Holdings, a manufacturer of CPU 120 in the UK, and uses about 95% or more of the mobile CPU 120 processor. It is occupied CPU 120 series. It is known that the ARM-based CPU 120 is inexpensive and consumes low power to produce high efficiency.

이러한 CPU(120)는 상술한 보드(110)와 후술하는 네트워크카드(130)를 통해 외부의 장치와 데이터를 교환함으로써, 외부의 장치를 제어하는 기능을 수행한다.The CPU 120 performs a function of controlling an external device by exchanging data with an external device through the above-described board 110 and a network card 130 to be described later.

네트워크카드(130)는 보드(110)가 외부의 장치와 데이터를 교환할 수 있도록 하는 것으로서, 상기 보드(110)에 설치된다.The network card 130 allows the board 110 to exchange data with an external device, and is installed on the board 110.

이러한 네트워크카드(130)는 보다 상세하게, 보드(110)로부터 데이터를 전달받아 외부의 장치로 전달하거나, 외부의 장치로부터 데이터를 전달받아 보드(110)로 전달하는 것으로, 네트워크카드(130)는 EtherCAT(Ethernet for Control Automation Technology) 통신 방식에 대응되도록 마련된다.In more detail, the network card 130 receives data from the board 110 and transmits it to an external device, or receives data from an external device and transmits the data to the board 110. The network card 130 It is prepared to correspond to the EtherCAT (Ethernet for Control Automation Technology) communication method.

EtherCAT은 Real-Time Ethernet을 사용한 마스터와 슬레이브 간 통신 방식을 말하는데, 실시간 데이터의 확정적 전송시간 보장, 높은 전송 대역폭 및 분산시계(Distributed Clock) 기법을 활용한 고정밀 동기화 등의 특징을 가진 것으로 알려져 있다.EtherCAT refers to a communication method between a master and a slave using Real-Time Ethernet, and is known to have features such as guaranteed real-time data transmission time, high transmission bandwidth, and high-precision synchronization using a distributed clock technique.

한편, EtherCAT 통신 방식에서의 EtherCAT 마스터는, IgH EtherCAT 마스터로 마련된다. 즉, EtherCAT 방식의 통신은, IgH EtherCAT 마스터가 네트워크 장치 드라이버와 연동됨으로써 이루어진다.On the other hand, the EtherCAT master in the EtherCAT communication method is provided as an IgH EtherCAT master. In other words, EtherCAT communication is achieved by interlocking the IgH EtherCAT master with the network device driver.

IgH EtherCAT 마스터는 실시간 리눅스인 Xenomai, RTAI 및 RT_PREEMPT 등과 호환 가능하며, 다양한 Ethernet Device의 실시간 디바이스 드라이버를 제공하는 것으로 알려져 있다.IgH EtherCAT Master is compatible with real-time Linux such as Xenomai, RTAI and RT_PREEMPT, and is known to provide real-time device drivers for various Ethernet devices.

이 때, IgH EtherCAT 마스터와 네트워크 장치 드라이버는 제네릭(Generic) 드라이버 방식을 통해 연동된다.At this time, the IgH EtherCAT master and the network device driver are interlocked through the generic driver method.

보다 상세하게, 도 4에 도시된 바와 같이, 제네릭 드라이버 방식은 IgH EtherCAT 마스터 스택과 네트워크 장치 드라이버 간에 제네릭 드라이버를 이용하여 연동되도록 하는 방식이다. 다시 말하면, 제네릭 드라이버 방식은 Ethernet 드라이버를 수정하지 않고 제네릭 드라이버, 즉, EtherCAT 드라이버를 추가로 사용하는 것이다. 이러한 제네릭 드라이버 방식에 따르면, 네트워크 장치 드라이버의 별도의 수정 없이, EtherCAT 방식의 통신을 구현할 수 있는 효과가 있다.In more detail, as shown in FIG. 4, the generic driver method is a method in which the IgH EtherCAT master stack and the network device driver are interlocked using a generic driver. In other words, the generic driver method is to additionally use the generic driver, that is, the EtherCAT driver, without modifying the Ethernet driver. According to this generic driver method, it is possible to implement EtherCAT communication without additional modification of the network device driver.

본 발명의 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드(100)의 실시간 성능을 검증하기 위하여 아래와 같은 사양에서 실험들을 수행하였다.In order to verify the real-time performance of the Android-based embedded board 100 with improved real-time performance of the present invention, experiments were performed in the following specifications.

CPU(120)CPU(120) I.MXD SabreSDI.MXD SabreSD AndroidAndroid Android 6.0.1 MarshmallowAndroid 6.0.1 Marshmallow KernelKernel Android Linux 4.1.15Android Linux 4.1.15 Real-time OSReal-time OS Xenomai 3.0.7Xenomai 3.0.7 ADEOS/I-PipeADEOS/I-Pipe ipipe-core-4.1.18-arm-9ipipe-core-4.1.18-arm-9 EtherCAT MasterEtherCAT Master IgH EtherCAT Master 1.5.2IgH EtherCAT Master 1.5.2 ToolchainToolchain arm-linux-androideabi-4.9arm-linux-androideabi-4.9

먼저, 본 발명의 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드(100)의 실시간 성능을 Xenomai 사용자 라이브러리에서 제공하는 Latency 테스트를 통하여 분석하였다. Latency 테스트는 설정된 Runtime 동안 수행된 태스크의 주기성을 확인하기 위한 것이다. 본 실험에서 Runtime은 1시간으로 설정되었으며, 태스크는 1ms로 설정되었다. Jitter는 현재 태스크의 실제 주기와 설정된 주기의 차이를 의미한다. First, the real-time performance of the Android-based embedded board 100 with improved real-time performance of the present invention was analyzed through a latency test provided by the Xenomai user library. Latency test is to check the periodicity of tasks performed during the set runtime. In this experiment, the runtime was set to 1 hour and the task was set to 1 ms. Jitter means the difference between the actual period of the current task and the set period.

도 5에 도시된 바와 같이, Jitter의 평균, 최대, 최소 및 편차를 분석하였을 때 결과는 표와 같으며, 그림은 결과의 분포를 나타낸다.As shown in FIG. 5, when the average, maximum, minimum and deviation of the jitter are analyzed, the results are shown in the table, and the figure shows the distribution of the results.

또한, 도 6의 (a)에 도시된 바와 같이, 본 발명의 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드(100)에 4개의 EtherCAT 슬레이브를 CAT8 기가바이트 랜케이블로 연결한다. 이 후, 안드로이드 GUI 어플리케이션에서 설정된 목표 속도를 기초로 Xenomai ProfileTask에서 Velocity Profile을 생성한다. 이를 EtherCAT Control Task로 전달하여 1ms 마다 각 EtherCAT 슬레이브를 구동시킨 후 10분 동안의 EtherCAT Control Task에 대한 성능분석 결과를 기록한다. In addition, as shown in (a) of FIG. 6, the four EtherCAT slaves are connected to the Android-based embedded board 100 with improved real-time performance of the present invention with CAT8 gigabyte LAN cables. After that, the Velocity Profile is created in Xenomai ProfileTask based on the target speed set in the Android GUI application. It transfers this to the EtherCAT Control Task, drives each EtherCAT slave every 1ms, and records the result of performance analysis for the EtherCAT Control Task for 10 minutes.

도 6의 (b)에 도시된 바와 같이, EtherCAT Control Task를 통한 각 디바이스의 Encoder에서 실제 측정한 값이 ProfileTask에서 생성된 Velocity Profile 값(reference 값)을 추적하는 것을 확인할 수 있다.As shown in (b) of FIG. 6, it can be seen that the value actually measured by the encoder of each device through the EtherCAT Control Task tracks the Velocity Profile value (reference value) created in the ProfileTask.

또한, 도 7의 (a)에서 Expected Cycle은 실시간 태스크의 설정된 주기를 의미하고, Actual Cycle은 실시간 태스크의 실제 주기를 의미하고, Execution Time은 Ethernet 디바이스의 버퍼에서 EtherCAT Dataframe을 받을 때부터 새로운 Dataframe을 만든 후 Ethernet 디바이스의 버퍼로 보낼 때까지 걸리는 시간을 의미하고, Jitter는 실시간 태스크의 실제 주기와 설정된 주기의 차이를 의미한다. 7(a), Expected Cycle means the set period of real-time task, Actual Cycle means the actual period of real-time task, and Execution Time is a new Dataframe from the time EtherCAT Dataframe is received from the buffer of the Ethernet device. It means the time it takes to send it to the buffer of the Ethernet device after making it, and Jitter means the difference between the actual cycle of the real-time task and the set cycle.

도 7의 (b)에 도시된 바와 같이, EtherCAT Control Task의 평균 및 편차 값에 따르면 본 발명의 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드(100)는 실시간 성능이 보장됨을 확인할 수 있다.As shown in (b) of FIG. 7, it can be seen that the real-time performance of the Android-based embedded board 100 with improved real-time performance of the present invention is guaranteed according to the average and deviation values of the EtherCAT Control Task.

상술한 바와 같은 보드(110), CPU(120) 및 네트워크카드(130)를 포함하는 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드(100)에 따르면, 산업제어시스템 분야에서 요구되는 실시간 성능이 대폭적으로 향상된 임베디드 보드가 제공될 수 있다.According to the Android-based embedded board 100 with improved real-time performance according to an embodiment of the present invention including the board 110, CPU 120 and network card 130 as described above, in the field of industrial control systems An embedded board with significantly improved real-time performance required can be provided.

또한, 본 발명에 따르면, 종래의 산업현장에서 사용되었던 x86계열의 Mini-ITX 폼팩터에 대응되는 케이스에 그대로 장착될 수 있는 효과가 있다.In addition, according to the present invention, there is an effect that it can be mounted in a case corresponding to the form factor of the x86 series Mini-ITX used in conventional industrial sites.

한편, 체결부재는 보드(110)에 형성된 삽입홀에 나사 형태로 결합되는데, 유지보수를 위해 반복적으로 체결부재를 나사결합하다 보면 삽입홀의 직경이 증가하게 되어, 체결부재가 견고히 결합되지 못하고 보드(110)가 흔들릴 수 있는 문제가 발생한다.On the other hand, the fastening member is coupled to the insertion hole formed in the board 110 in the form of a screw, and if the fastening member is repeatedly screwed for maintenance, the diameter of the insertion hole increases, so that the fastening member cannot be firmly coupled and the board ( 110) may shake.

그러므로, 도 8에 도시된 바와 같이 삽입홀을 별도의 삽입모듈(110a)에 형성하고, 삽입모듈(110a)이 보드(110)에 슬라이딩 방식으로 탈부착 가능하게 삽입되는 구조로 구성하면, 유지보수를 위한 보드(110)의 반복적인 탈부착으로 삽입홀의 직경이 증가하여 결합이 헐거워지는 경우, 보드(110) 전체를 교체하지 않고도 삽입모듈(110a)만을 교체함으로써 기존의 보드(110)를 계속적으로 사용할 수 있는 효과가 있다.Therefore, as shown in FIG. 8, if the insertion hole is formed in a separate insertion module 110a, and the insertion module 110a is configured to be detachably inserted into the board 110 in a sliding manner, maintenance is performed. When the diameter of the insertion hole increases due to the repeated detachment of the board 110 for repetitive attachment, the existing board 110 can be continuously used by replacing only the insertion module 110a without replacing the entire board 110. There is an effect.

한편, 삽입모듈(110a)의 상면 또는 하면의 삽입홀 주위에는 탄성부재(110b)가 설치될 수 있다. 이 때, 탄성부재(110b)는 보드(110)의 상승된 온도에 견딜 수 있도록 고내열성 소재로 마련되는 것이 바람직하다. 이에 따르면, 삽입모듈(110a)이 체결부재에 의해 케이스와 체결되는 경우, 체결부재에 인가되는 외력에 의해 삽입모듈(110a)이 파손되는 것이 효과적으로 방지될 수 있다.Meanwhile, an elastic member 110b may be installed around the insertion hole on the upper or lower surface of the insertion module 110a. At this time, the elastic member (110b) is preferably provided with a high heat-resistant material to withstand the elevated temperature of the board (110). Accordingly, when the insertion module 110a is fastened to the case by the fastening member, it can be effectively prevented that the insertion module 110a is damaged by an external force applied to the fastening member.

그리고 탄성부재(110b)의 저면에는 복수개의 양/음각 패턴이 형성될 수 있다. 이에 따르면, 탄성부재(110b)의 저면의 마찰력이 증대되므로, 체결부재가 삽입모듈(110a)과 케이스를 고정시킬 때 보다 안정적으로 고정시킬 수 있는 효과가 있다.Further, a plurality of positive/negative patterns may be formed on the bottom surface of the elastic member 110b. Accordingly, since the frictional force of the bottom surface of the elastic member 110b is increased, there is an effect that the fastening member can more stably fix the insertion module 110a and the case.

지금부터는 본 발명의 다른 실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드(200)를 설명한다.From now on, an Android-based embedded board 200 with improved real-time performance according to another embodiment of the present invention will be described.

도 9는 본 발명의 다른 실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드(200)의 보드를 도시한 것이다.9 is a diagram illustrating a board of an Android-based embedded board 200 with improved real-time performance according to another embodiment of the present invention.

본 발명의 다른 실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드(200)는 보드(210), CPU(120), 네트워크카드(130) 및 내부에 보드(210)가 설치되는 케이스를 포함한다. Android-based embedded board 200 with improved real-time performance according to another embodiment of the present invention includes a board 210, a CPU 120, a network card 130, and a case in which the board 210 is installed. .

여기서 CPU(120) 및 네트워크카드(130)는 상술한 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드(100)와 동일한 것이므로 중복 설명은 생략한다.Here, since the CPU 120 and the network card 130 are the same as the Android-based embedded board 100 having improved real-time performance according to an embodiment of the present invention, a redundant description will be omitted.

보드(210)는 안드로이드 운영체제를 기반으로 작동되는 것으로서, 인쇄 회로 기판(Printed Circuit Board, PCB)으로 마련되며, CPU(120)와 네트워크카드(130)가 설치된다.The board 210 is operated based on the Android operating system and is provided with a printed circuit board (PCB), and a CPU 120 and a network card 130 are installed.

도 9에 도시된 바와 같이, 이러한 보드(210)는 보다 상세하게, 기판부(211), 제습부(212), 방열부(213) 및 배출부(214)를 포함한다.As shown in FIG. 9, such a board 210 includes a substrate part 211, a dehumidifying part 212, a radiating part 213, and a discharge part 214 in more detail.

기판부(211)는 상술한 CPU(120) 및 네트워크카드(130)가 설치될 수 있는 공간을 형성하며, 내부에 후술하는 제습부(212)에서 응축된 물이 이동될 수 있는 통로인 유로(a)가 형성된다.The substrate part 211 forms a space in which the above-described CPU 120 and the network card 130 can be installed, and a passage that is a passage through which water condensed in the dehumidification unit 212 to be described later can be moved ( a) is formed.

제습부(212)는 보드(210)가 설치된 케이스 내부의 수증기를 포집하여 응축하는 것으로서, 기판부(211)에 설치되되 유로(a)에 연결되도록 설치된다. 이 때, 제습부(212)에서 응축된 물은 유로(a)를 따라 이동하여 후술하는 방열부(213)에서 기화된다.The dehumidifying part 212 collects and condenses water vapor inside the case in which the board 210 is installed, and is installed on the substrate part 211 but is installed to be connected to the flow path (a). In this case, the water condensed in the dehumidifying unit 212 moves along the flow path a and is vaporized in the heat dissipation unit 213 described later.

방열부(213)는 금속재질로 마련되어 CPU(120)에서 발생되는 열을 외부와 교환하는 것으로서, 기판부(211)에 설치되되, CPU(120)의 하부에 배치되어 CPU(120)에서 발생되는 열을 흡수한다. The heat dissipation part 213 is provided with a metal material to exchange heat generated from the CPU 120 with the outside, and is installed on the substrate part 211, and is disposed under the CPU 120 to be generated from the CPU 120. Absorbs heat

방열부(213)는 기판부(211) 내부에 형성된 유로(a)에 노출되도록 설치되는 바, 이러한 방열부(213)에 따르면, 액체상태의 물이 수증기로 기화됨으로써 CPU(120)에서 발생되는 열이 흡수될 수 있다.The heat dissipation part 213 is installed so as to be exposed to the flow path a formed inside the substrate part 211. According to this heat dissipation part 213, the liquid water is vaporized into water vapor, which is generated in the CPU 120. Heat can be absorbed.

배출부(214)는 방열부(213)에서 기화된 수증기가 케이스 외부로 배출될 수 있도록 배출통로(o)를 형성하는 것으로서, 기판부(211)에 설치되되 방열부(213)의 하부에 설치된다.The discharge part 214 forms a discharge passage (o) so that the steam vaporized in the heat dissipation part 213 can be discharged to the outside of the case, and is installed on the substrate part 211 but is installed under the heat dissipation part 213 do.

상술한 바와 같은 구조를 갖는 보드(210)에 따르면, 케이스 내부에 잔존할 수 있는 수분이 제거됨과 동시에, CPU(120)에서 발생되는 열이 효과적으로 흡수될 수 있으므로, 보드(210)의 수명을 증대시킬 수 있는 효과가 기대된다.According to the board 210 having the structure as described above, since moisture that may remain inside the case can be removed and heat generated from the CPU 120 can be effectively absorbed, the life of the board 210 is increased. The effect that can be made is expected.

이상에서, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above, even if all the constituent elements constituting an embodiment of the present invention are described as being combined into one or operating in combination, the present invention is not necessarily limited to these embodiments. That is, within the scope of the object of the present invention, all the constituent elements may be selectively combined and operated in one or more.

또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석 되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In addition, terms such as "include", "consist of" or "have" described above mean that the corresponding component may be present unless otherwise stated, excluding other components It should not be construed as being able to further include other components. All terms, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art, unless otherwise defined, to which the present invention belongs. Terms generally used, such as terms defined in the dictionary, should be interpreted as being consistent with the meaning of the context of the related technology, and are not interpreted as ideal or excessively formal meanings unless explicitly defined in the present invention.

그리고 이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.And the above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the technical field to which the present invention pertains will be able to make various modifications and variations without departing from the essential characteristics of the present invention.

따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain the technical idea, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present invention.

100 : 본 발명의 일실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드
110 : 보드
R : 실시간커널
NR : 비실시간커널
110a : 삽입모듈
110b : 탄성부재
120 : CPU
130 : 네트워크카드
200 : 본 발명의 다른 실시예에 따른 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드
210 : 보드
211 : 기판부
a : 유로
212 : 제습부
213 : 방열부
214 : 배출부
o : 배출통로
100: Android-based embedded board with improved real-time performance according to an embodiment of the present invention
110: board
R: Real-time kernel
NR: Non-real-time kernel
110a: insertion module
110b: elastic member
120: CPU
130: network card
200: Android-based embedded board with improved real-time performance according to another embodiment of the present invention
210: board
211: substrate portion
a: Euro
212: dehumidification unit
213: radiator
214: discharge part
o: discharge passage

Claims (5)

안드로이드 운영체제를 기반으로 작동되는 보드;
상기 보드에 설치되며 상기 보드를 제어하는 CPU;
상기 보드가 외부의 장치와 정보를 교환할 수 있도록 상기 보드에 설치되되, EtherCAT(Ethernet for Control Automation Technology) 통신 방식에 대응되도록 마련되는 네트워크카드; 및
내부에 상기 보드가 설치되는 케이스를 포함하되,
상기 CPU는,
ARM계열의 CPU로 마련되며,
상기 운영체제를 구성하는 커널(Kernel) 계층은,
리눅스커널로 마련되어 비실시간 태스크를 처리하는 비실시간커널과, 상기 리눅스커널에 Xenomai를 이식함으로써 형성되며 상기 EtherCAT 통신 방식을 통해 수신되는 실시간 태스크를 상기 비실시간커널과 독립적으로 처리하는 실시간커널을 포함하며,
상기 실시간커널은,
태스크 처리 시 상기 비실시간커널보다 높은 우선순위를 가지며,
상기 EtherCAT 통신 방식에서의 EtherCAT 마스터는,
IgH EtherCAT 마스터로 마련되어 제네릭(Generic) 드라이버 방식을 통해 네트워크 장치 드라이버와 연동되며,
상기 보드는,
내부에 물이 이동될 수 있는 유로가 형성되는 기판부와, 상기 유로에 연결되도록 상기 기판부에 설치되며 상기 케이스 내부의 수증기를 포집하여 응축하는 제습부와, 상기 CPU의 하부에 배치되되 상기 유로에 노출되도록 상기 기판부에 설치되며 상기 유로에서 공급된 물이 기화됨으로써 상기 CPU에서 발생되는 열을 흡수하는 방열부와, 상기 기판부에 설치되며 상기 방열부에서 기화된 수증기가 상기 케이스 외부로 배출될 수 있도록 배출통로를 형성하는 배출부를 포함하는 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드.
A board operated based on the Android operating system;
A CPU installed on the board and controlling the board;
A network card installed on the board so that the board can exchange information with an external device, and configured to correspond to an EtherCAT (Ethernet for Control Automation Technology) communication method; And
Including a case in which the board is installed inside,
The CPU,
It is prepared with ARM series CPU,
The kernel (Kernel) layer constituting the operating system,
A non-real-time kernel prepared as a Linux kernel to process non-real-time tasks, and a real-time kernel formed by implanting Xenomai into the Linux kernel and processing real-time tasks received through the EtherCAT communication method independently from the non-real-time kernel, and ,
The real-time kernel,
It has a higher priority than the NRT kernel when processing tasks,
The EtherCAT master in the above EtherCAT communication method,
It is prepared as an IgH EtherCAT master and interlocks with the network device driver through a generic driver method.
The board,
A substrate portion in which a flow path through which water can be moved is formed; a dehumidifying portion installed in the substrate portion to be connected to the flow path and collecting and condensing water vapor inside the case; and a dehumidifying portion disposed below the CPU, the flow path A heat dissipation unit installed on the substrate to be exposed to and absorbing heat generated from the CPU by vaporizing water supplied from the flow path, and a heat dissipation unit installed on the substrate unit and discharge vaporized water vapor from the heat dissipation unit to the outside of the case Android-based embedded board with improved real-time performance including an exhaust part that forms an exhaust passage so that it can be used.
삭제delete 삭제delete 삭제delete 청구항 1에 있어서,
상기 보드는,
Mini-ITX 폼팩터로 마련되는 것을 특징으로 하는 실시간 성능이 향상된 안드로이드 기반의 임베디드 보드.
The method according to claim 1,
The board,
Android-based embedded board with improved real-time performance, characterized in that it is provided in a Mini-ITX form factor.
KR1020200065782A 2020-06-01 2020-06-01 Embedded board based on android enhenced real time response KR102173535B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200065782A KR102173535B1 (en) 2020-06-01 2020-06-01 Embedded board based on android enhenced real time response

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200065782A KR102173535B1 (en) 2020-06-01 2020-06-01 Embedded board based on android enhenced real time response

Publications (1)

Publication Number Publication Date
KR102173535B1 true KR102173535B1 (en) 2020-11-03

Family

ID=73197933

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200065782A KR102173535B1 (en) 2020-06-01 2020-06-01 Embedded board based on android enhenced real time response

Country Status (1)

Country Link
KR (1) KR102173535B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117215810A (en) * 2023-11-08 2023-12-12 珠海格力电器股份有限公司 XDDP protocol data transmission method, electronic equipment and numerical control machine tool

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980019402A (en) * 1998-03-16 1998-06-05 천기완 CPU COOLING DEVICE OF PC
KR101692766B1 (en) * 2015-10-05 2017-01-04 젝스컴퍼니 주식회사 Embedded development system
KR101950484B1 (en) * 2018-08-08 2019-02-20 엘아이지넥스원 주식회사 Task Management Device for Providing Real-time Performance to Android
KR20190068030A (en) * 2017-12-08 2019-06-18 젝스컴퍼니 주식회사 Android embedded system with enhanced security
KR20190071076A (en) * 2017-12-14 2019-06-24 전자부품연구원 System for controlling stage equipment based on redundant network and method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980019402A (en) * 1998-03-16 1998-06-05 천기완 CPU COOLING DEVICE OF PC
KR101692766B1 (en) * 2015-10-05 2017-01-04 젝스컴퍼니 주식회사 Embedded development system
KR20190068030A (en) * 2017-12-08 2019-06-18 젝스컴퍼니 주식회사 Android embedded system with enhanced security
KR20190071076A (en) * 2017-12-14 2019-06-24 전자부품연구원 System for controlling stage equipment based on redundant network and method thereof
KR101950484B1 (en) * 2018-08-08 2019-02-20 엘아이지넥스원 주식회사 Task Management Device for Providing Real-time Performance to Android

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117215810A (en) * 2023-11-08 2023-12-12 珠海格力电器股份有限公司 XDDP protocol data transmission method, electronic equipment and numerical control machine tool
CN117215810B (en) * 2023-11-08 2024-04-19 珠海格力电器股份有限公司 XDDP protocol data transmission method, electronic equipment and numerical control machine tool

Similar Documents

Publication Publication Date Title
Bratterud et al. IncludeOS: A minimal, resource efficient unikernel for cloud services
US6691146B1 (en) Logical partition manager and method
Armbruster et al. A Real-time Java virtual machine with applications in avionics
US8782296B2 (en) Method and device for incremental configuration of IMA type modules
US20050076107A1 (en) Virtual management controller to coordinate processing blade management in a blade server environment
US20080244598A1 (en) System partitioning to present software as platform level functionality
CN111610985B (en) Kubernetes cluster rapid deployment method on domestic platform
US11145568B2 (en) Magnetically affixed heat spreader
KR100583511B1 (en) Apparatus and method for dynamically allocating resources of a dead logical partition
KR102173535B1 (en) Embedded board based on android enhenced real time response
Lardieri et al. A multi-layered resource management framework for dynamic resource management in enterprise dre systems
Zuepke et al. AUTOBEST: a united AUTOSAR-OS and ARINC 653 kernel
Wulf et al. A survey on hypervisor-based virtualization of embedded reconfigurable systems
CN115617456A (en) Method and device for hybrid operation of virtual machine and container, electronic equipment and readable storage medium
Tsoutsouras et al. A hierarchical distributed runtime resource management scheme for NoC-based many-cores
Hetherington et al. Edge: Event-driven gpu execution
US10523581B2 (en) Flighting of node controller in pilot mode in resource management system
Major et al. An Overview of the NetWare Operating System.
US11842210B2 (en) Systems, methods, and apparatus for high availability application migration in a virtualized environment
US20230324870A1 (en) Method and Assembly for Managing Automation Programs for Industrial Automation Platforms
Wang Component-based performance-sensitive real-time embedded software
US20230034779A1 (en) Service mesh for composable cloud-native network functions
Tian et al. Implementation of real-time network extension on embedded linux
Aili Introducing the Data Plane Development Kit (DPDK) on Lenovo Servers
US20110145540A1 (en) Dynamically reallocating computing components between partitions

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant