WO2021125393A1 - Microcontroller unit-based driver recognition device and method - Google Patents

Microcontroller unit-based driver recognition device and method Download PDF

Info

Publication number
WO2021125393A1
WO2021125393A1 PCT/KR2019/018087 KR2019018087W WO2021125393A1 WO 2021125393 A1 WO2021125393 A1 WO 2021125393A1 KR 2019018087 W KR2019018087 W KR 2019018087W WO 2021125393 A1 WO2021125393 A1 WO 2021125393A1
Authority
WO
WIPO (PCT)
Prior art keywords
driver
microcontroller unit
slave device
code
driver recognition
Prior art date
Application number
PCT/KR2019/018087
Other languages
French (fr)
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 (주)로보티즈
Publication of WO2021125393A1 publication Critical patent/WO2021125393A1/en

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Definitions

  • the present invention relates to an apparatus and method for recognizing a driver, and more particularly, to a microcontroller unit-based driver recognition that supports plug and play of a slave device by recognizing a driver of a slave device during runtime on a non-OS microcontroller unit-based basis Apparatus and method.
  • the 4th Industrial Revolution uses communication to connect things to a network by combining intelligent information technology, including the Internet of Things, with existing industries and services or combining with new technologies in various fields such as robotics.
  • intelligent information technology including the Internet of Things
  • existing industries and services or combining with new technologies in various fields such as robotics There are a variety of things from
  • modularization plays an important role in order for things to be connected to each other in a network, and if it can support Plug and Play, which can be used immediately after being connected, user convenience can be further increased.
  • drivers supported by each vendor of the OS (Operation System) enhance user convenience. Plug-and-play support is possible if only the corresponding version of the driver is installed on both sides of the operating system driver.
  • the plug-and-play support method in the OS environment cannot be applied to the non-OS in the same way, and there are constraints.
  • runtime modification is not possible due to the characteristics of the microcontroller unit's firmware.
  • data addresses of various devices are mapped and used.
  • firmware needs to be modified to change the API (Application Programming Interface) to be executed, and additional memory consumption is required.
  • API Application Programming Interface
  • the present invention provides an apparatus and method for recognizing a microcontroller unit-based driver that supports plug-and-play of various devices on a non-OS.
  • the present invention provides a microcontroller unit-based driver recognition device and method for defining a driver function using a script language and executing the driver function through a script executor.
  • the present invention provides a microcontroller unit-based driver recognition apparatus and method capable of receiving and defining driver information of various devices at runtime without modification of the microcontroller unit's firmware.
  • an apparatus for recognizing a driver based on a microcontroller unit there is provided an apparatus for recognizing a driver based on a microcontroller unit.
  • a setting unit for sharing a driver function generated through a script language may include a control unit to communicate with and control.
  • a method for recognizing a driver based on a microcontroller unit and a computer-readable recording medium in which a computer program executing the same is recorded is recorded.
  • a method for recognizing a microcontroller unit-based driver according to an embodiment of the present invention and a recording medium storing a computer program executing the same according to an embodiment of the present invention comprises the steps of: searching for a slave device; The method may include confirming whether it is the case, requesting the driver code of the new slave device using a script language, and registering the slave device during runtime using the driver code.
  • an apparatus and method for recognizing a driver based on a microcontroller unit may receive driver information of various devices at runtime using a driver function predefined through a script language.
  • the microcontroller unit-based driver recognition apparatus and method uses a method similar to the OS driver on a non-OS, so that it is more familiar to OS users and thus it is possible to minimize the acquisition of additional knowledge required for development. .
  • an apparatus and method for recognizing a microcontroller unit-based driver is based on a plug-and-play technology using a low-cost microcontroller unit-based UART interface, and has price competitiveness compared to expensive equipment.
  • the apparatus and method for recognizing a driver based on a microcontroller unit can manage/distribute a driver code for a device outside the firmware, thereby increasing the efficiency of maintenance/maintenance/management.
  • FIGS. 1 to 3 are diagrams for explaining a microcontroller unit (MCU)-based driver recognition device according to an embodiment of the present invention.
  • MCU microcontroller unit
  • FIGS. 4 and 5 are diagrams illustrating a microcontroller unit-based driver recognition method according to an embodiment of the present invention.
  • FIGS. 1 to 3 are diagrams for explaining a microcontroller unit (MCU)-based driver recognition device according to an embodiment of the present invention.
  • MCU microcontroller unit
  • the microcontroller unit allocates information to a driver area.
  • Non-OS-based microcontroller units are different from OS-based plug-and-play support methods. Since runtime modification is impossible due to the nature of the firmware of the microcontroller unit, it is sometimes used as an address mapping method.
  • the microcontroller unit (MCU)-based driver recognition apparatus 10 does not map data addresses of various devices. Instead, the microcontroller unit (MCU)-based driver recognition device 10 adds a driver of the same API so that the end user can define the driver. Since the microcontroller unit (MCU)-based driver recognition device 10 does not map data addresses, firmware does not need to be modified, and memory waste required for mapping is reduced.
  • the microcontroller unit-based driver recognition apparatus 10 supports plug-and-play of the slave device using a script language.
  • the script language does not depend on the hardware or device being executed, and defines driver functions as strings. Since the microcontroller unit-based driver recognition device 10 uses a script language, it can execute driver functions through a script executor.
  • the microcontroller unit-based driver recognition device 10 declares a function in the microcontroller unit (MCU) in advance, and defines and uses the function in the host as well. In other words, the functions defined in the host can be used in the microcontroller unit.
  • MCU microcontroller unit
  • the microcontroller unit transmits the driver code of the added slave device to the host.
  • the host analyzes the transmitted driver code through the script executor and drives the added slave device.
  • the microcontroller unit-based driver recognition apparatus 10 may manage/distribute the driver code for the slave device outside the firmware, thereby increasing the efficiency of maintenance/maintenance/management.
  • the microcontroller unit-based driver recognition device 10 uses a script language and communication, it can be implemented in various ways if another script language or a communication system capable of performing the same role is established.
  • the communication protocol can be used by adopting various protocols such as MODBUS and custom protocols other than the Dynamixel protocol used in the present invention.
  • the microcontroller unit-based driver recognition apparatus 10 includes a setting unit 100 , a collection unit 200 , and a control unit 300 .
  • the setting unit 100 shares a driver function (API) through a script language.
  • the setting unit 100 allows the microcontroller unit and the host to use the driver function together.
  • the collection unit 200 collects the driver code and information of the slave device by calling the driver function to the microcontroller unit.
  • the controller 300 communicates with the slave device and controls the slave device using the collected driver code and information of the slave device.
  • the control unit 300 supports to call a driver function from user code created by the user. For example, when a device driver function is called from the user code, the controller 300 executes a corresponding driver script using the driver code of the registered device. For example, the controller 300 may control each slave device by executing a driver script.
  • the microcontroller unit-based driver recognition device 10 declares a slave driver function to the microcontroller unit, and defines the host to use the declared slave driver function.
  • the microcontroller unit-based driver recognition apparatus 10 calls a driver function when the slave device is plugged in.
  • the microcontroller unit-based driver recognition apparatus 10 calls a driver function and receives a slave device code as a parameter.
  • the microcontroller unit-based driver recognition apparatus 10 analyzes the slave device code through a script interpreter and drives (plays) the slave device.
  • the microcontroller unit-based driver recognition apparatus 10 updates slave device information during runtime to support plug and play of the slave device.
  • the microcontroller unit calls the imu_read_data function
  • driver information of the slave device can be received. That is, the microcontroller unit and the host have a driver for reading IMU data, and the driver function is defined as imu_read_data.
  • the microcontroller unit transmits the data address according to the slave device as a parameter while calling the host_slave_read function, and the host receives the definition of the imu_read_data function as a string through communication with the microcontroller unit.
  • the host can receive the slave device code by using the host_slave_read defined by the host and the parameter information transmitted from the microcontroller unit.
  • the microcontroller unit-based driver recognition apparatus 10 supports plug-and-play of a slave device even during runtime by receiving only desired IMU data by processing a driver function using a script language.
  • FIGS. 4 and 5 are diagrams illustrating a microcontroller unit-based driver recognition method according to an embodiment of the present invention.
  • Each process described below is a process performed by each functional unit constituting a microcontroller unit-based driver recognition device, but for the sake of concise and clear description of the present invention, the subject of each step is collectively referred to as a microcontroller unit-based driver recognition device.
  • step S410 the microcontroller unit-based driver recognition apparatus 10 searches for a slave device by performing a plug and play operation.
  • step S420 the microcontroller unit-based driver recognition apparatus 10 proceeds to step S430 when a new slave device is detected, and proceeds to step S460 if there is no new slave device.
  • step S430 the microcontroller unit-based driver recognition apparatus 10 receives the driver code of the slave device.
  • the microcontroller unit-based driver recognition apparatus 10 receives the driver code of the slave device by calling the driver function generated in the script language.
  • the microcontroller unit-based driver recognition apparatus 10 calls a driver function to receive a driver code of a slave device will be described in detail later with reference to FIG. 5 .
  • step S440 when the received response packet is a driver code, the microcontroller unit-based driver recognition apparatus 10 uses the driver code to register the slave device during runtime.
  • step S450 the microcontroller unit-based driver recognition apparatus 10 registers the slave device and performs step S410 again.
  • the microcontroller unit-based driver recognition device 10 may support the plug-and-play function by repeatedly executing or scheduling the PnP executor.
  • the microcontroller unit-based driver recognition apparatus 10 may communicate with the slave device for which device registration has been completed, and may control the slave device.
  • step S420 If there is no newly added slave device in step S420 and there is a removed slave device, proceed to step S470 to delete the deleted slave device code from the host and release the slave device.
  • the microcontroller unit-based driver recognition apparatus 10 may identify the removed slave through a ping command to the slave device.
  • step S400 the microcontroller unit-based driver recognition apparatus 10 calls a driver function of the slave device and receives the driver code of the slave device as a parameter.
  • step S400 the host executes the user code.
  • the user code may be an application written by a user. For example, when a device driver function is called from the user code, the microcontroller unit-based driver recognition device 10 executes the corresponding driver script using the driver code of the registered device.
  • step S4001 the microcontroller unit-based driver recognition device 10 calls a driver function according to the request of the user code.
  • step S4003 the microcontroller unit-based driver recognition apparatus 10 checks whether the slave device is registered using the called driver function, and if not registered, moves to step S4008 to process an error. For example, in the error processing, the driver recognition device 10 notifies the user of the error to the user who wrote the user code.
  • step S4005 the microcontroller unit-based driver recognition device 10 executes the driver script of the registered driver.
  • step S4007 the microcontroller unit-based driver recognition device 10 ends the execution of the driver script.
  • step S4301 the slave device waits to receive a command from the microcontroller unit-based driver recognition apparatus 10 .
  • step S4302 the microcontroller unit-based driver recognition device 10 calls the driver function generated in the script language to proceed to step S4303. If the microcontroller unit-based driver recognition device 10 does not call the driver function, step S4305 is performed.
  • step S4303 the microcontroller unit-based driver recognition apparatus 10 generates and transmits the driver code of the slave device through the driver function as a response packet, and returns to step S4301 to wait for command reception.
  • the microcontroller unit-based driver recognition device 10 processes the command received from the host, generates and transmits a response packet.
  • the slave device may be an actuator.
  • the actuator receives a write command such as a specific speed output request from the host, it executes the command and responds with the result as a packet.
  • the actuator receives a read command such as a request to confirm the current position, the actuator responds with a value for the current position as a packet.
  • step S4304 the microcontroller unit-based driver recognition apparatus 10 transmits the response packet received from the slave device to the host.
  • the above-described microcontroller unit-based driver recognition method may be implemented as a computer-readable code on a computer-readable medium.
  • the computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disk, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk).
  • ROM, RAM, computer-equipped hard disk can
  • the computer program recorded in the computer-readable recording medium may be transmitted to another computing device through a network, such as the Internet, and installed in the other computing device, thereby being used in the other computing device.
  • the present invention relates to an apparatus and method for recognizing a driver based on a microcontroller unit, and supports a plug-and-flag function of a device using a low-cost microcontroller unit, and maintains/repairs/management of the device by being able to manage/distribute the device outside the firmware It has industrial applicability because it increases the efficiency of

Abstract

The present invention relates to a microcontroller unit-based driver recognition device and method. According to one embodiment of the present invention, a microcontroller unit-based driver recognition device and method manage and distribute, outside a firmware, a driver code for a slave device through a script language, thereby being capable of supporting plug and play of the slave device during runtime.

Description

마이크로컨트롤러유닛 기반 드라이버 인식 장치 및 방법Microcontroller unit-based driver recognition device and method
본 발명은 드라이버 인식 장치 및 방법에 관한 것으로, 보다 상세하게는 non-OS마이크로컨트롤러유닛 기반에서 런타임 중에 슬래이브 디바이스의 드라이버를 인식하여 슬래이브 디바이스의 플러그 앤 플레이를 지원하는 마이크로컨트롤러유닛 기반 드라이버 인식 장치 및 방법이다.The present invention relates to an apparatus and method for recognizing a driver, and more particularly, to a microcontroller unit-based driver recognition that supports plug and play of a slave device by recognizing a driver of a slave device during runtime on a non-OS microcontroller unit-based basis Apparatus and method.
4차 산업혁명은 사물인터넷을 포함한 지능정보기술이 기존 산업과 서비스에 융합되거나 로봇 공학 등 여러 분야의 신기술과 결합되어 사물들을 네트워크로 연결하기 위해 통신을 사용하며, 그 방법은 단순한 수준부터 산업용에 이르기까지 다양하게 존재한다. 또한 사물들이 상호 네트워크로 연결되기 위해서는 모듈화가 중요한 역할을 하는데, 연결되는 즉시 사용할 수 있는 플러그 앤 플레이(Plug and Play)를 지원할 수 있다면 사용자의 편의성을 더욱 높일 수 있다. 이런 의미에서 OS(Operation System; 운영체제)의 각 벤더들이 지원하는 드라이버는 사용자의 편의성을 높여준다. 운영체제의 드라이버는 대응되는 버전의 드라이버만 양쪽에 설치하면 플러그 앤 플레이 지원이 가능하다.The 4th Industrial Revolution uses communication to connect things to a network by combining intelligent information technology, including the Internet of Things, with existing industries and services or combining with new technologies in various fields such as robotics. There are a variety of things from In addition, modularization plays an important role in order for things to be connected to each other in a network, and if it can support Plug and Play, which can be used immediately after being connected, user convenience can be further increased. In this sense, drivers supported by each vendor of the OS (Operation System) enhance user convenience. Plug-and-play support is possible if only the corresponding version of the driver is installed on both sides of the operating system driver.
하지만, OS와 non-OS는 환경과 조건이 매우 상이하여 OS 환경에서의 플러그 앤 플레이 지원 방식을 non-OS에 동일한 방식으로 적용할 수 없고 제약 조건도 존재한다. 특히 마이크로컨트롤러유닛의 펌웨어(Firmware) 특성 상 런타임 수정이 불가능하다. 대체 수단으로 다양한 디바이스의 데이터 주소 맵핑하고 사용하기도 한다. 하지만 주소 맵핑의 경우 실행하려는 API(Application Programming Interface )를 변경하기 위해서는 펌웨어를 수정해야 하고, 추가적인 메모리 소비가 따른다. 또한 정의된 데이터로만 제어할 수 있기 때문에 다양한 디바이스 기능을 정의하기 어렵다. However, since the OS and the non-OS have very different environments and conditions, the plug-and-play support method in the OS environment cannot be applied to the non-OS in the same way, and there are constraints. In particular, runtime modification is not possible due to the characteristics of the microcontroller unit's firmware. As an alternative means, data addresses of various devices are mapped and used. However, in the case of address mapping, firmware needs to be modified to change the API (Application Programming Interface) to be executed, and additional memory consumption is required. In addition, it is difficult to define various device functions because it can be controlled only with defined data.
한편 기존의 마이크로컨트롤러유닛에서의 UART (범용 비동기화 송수신기; Universal Asynchronous Receiver/Transmitter) 기반의 플러그 앤 플레이 방식 중 다이나믹셀(DYNAMIXEL) 프로토콜을 사용한 기술은 해당 프로토콜 디자인 제약에 의해, 최종 사용자가 디바이스에 등록된 데이터 주소와 데이터 크기를 정확히 인지하고 있어야만 사용이 가능했다. 따라서 자연스럽게 디바이스가 가지는 데이터의 주소들을 통일할 필요가 있었으며, 이로 인해 자유도가 떨어진다는 점과 함께, 여전히 최종 사용자 역시 이러한 정보들을 알고 있어야 한다는 단점이 존재했다. 쌍방이 같은 정보를 알고 있어야 한다는 점은 OS의 드라이버와 동일하지만 다이나믹셀 프로토콜은 가동되지 않은(RAW) 정보를 알고 있어야 하며, 이에 따라 API의 파라미터를 수정해야 한다.On the other hand, the technology using the DYNAMIXEL protocol among the plug-and-play methods based on UART (Universal Asynchronous Receiver/Transmitter) in the existing microcontroller unit is limited by the design of the protocol, and the end user It was possible to use it only if the registered data address and data size were accurately recognized. Therefore, it was necessary to unify the addresses of the data of the devices naturally, and there was a disadvantage that the degree of freedom was decreased and the end user still had to know this information. The fact that both parties need to know the same information is the same as the OS driver, but Dynamixel protocol must know the raw (RAW) information, and the API parameters must be modified accordingly.
본 발명의 배경기술은 대한민국 등록특허 제10-1343176호에 개시되어 있다.Background art of the present invention is disclosed in Korean Patent Registration No. 10-1343176.
본 발명은 non-OS 상에서 다양한 디바이스의 플러그 앤 플레이를 지원하는 마이크로컨트롤러유닛 기반 드라이버 인식 장치 및 방법을 제공한다.The present invention provides an apparatus and method for recognizing a microcontroller unit-based driver that supports plug-and-play of various devices on a non-OS.
본 발명은 스크립트 언어를 사용해 드라이버 함수를 정의하고, 스크립트 실행기를 통해 드라이버 함수를 실행하는 마이크로컨트롤러유닛 기반 드라이버 인식 장치 및 방법을 제공한다.The present invention provides a microcontroller unit-based driver recognition device and method for defining a driver function using a script language and executing the driver function through a script executor.
본 발명은 마이크로컨트롤러유닛의 펌웨어의 수정 없이 런타임으로 다양한 디바이스의 드라이버 정보를 수신하고 정의할 수 있는 마이크로컨트롤러유닛 기반 드라이버 인식 장치 및 방법을 제공한다.The present invention provides a microcontroller unit-based driver recognition apparatus and method capable of receiving and defining driver information of various devices at runtime without modification of the microcontroller unit's firmware.
본 발명의 일 측면에 따르면, 마이크로컨트롤러유닛 기반 드라이버 인식 장치를 제공한다. According to one aspect of the present invention, there is provided an apparatus for recognizing a driver based on a microcontroller unit.
본 발명의 일 실시예에 따른 마이크로컨트롤러유닛 기반 드라이버 인식 장치에 있어서, 스크립트 언어를 통해 생성한 드라이버 함수를 공유하는 설정부, 런타임 중에 슬래이브 디바이스의 드라이버 코드를 수집하는 수집부 및 상기 슬래이브 디바이스와 통신하고 제어하는 제어부를 포함할 수 있다.In the microcontroller unit-based driver recognition apparatus according to an embodiment of the present invention, a setting unit for sharing a driver function generated through a script language, a collection unit for collecting driver codes of a slave device during runtime, and the slave device It may include a control unit to communicate with and control.
본 발명의 다른 일 측면에 따르면, 마이크로컨트롤러유닛 기반 드라이버 인식 방법 및 이를 실행하는 컴퓨터 프로그램이 기록된 컴퓨터가 판독 가능한 기록매체를 제공한다.According to another aspect of the present invention, a method for recognizing a driver based on a microcontroller unit and a computer-readable recording medium in which a computer program executing the same is recorded.
본 발명의 일 실시 예에 따른 마이크로컨트롤러유닛 기반 드라이버 인식 방법 및 이를 실행하는 컴퓨터 프로그램이 저장된 기록매체는 마이크로컨트롤러유닛 기반 드라이버 인식 방법에 있어서, 슬래이브 디바이스를 검색하는 단계, 상기 슬래이브 디바이스가 신규인지 확인하는 단계, 상기 신규 슬래이브 디바이스의 드라이버 코드를 스크립트 언어를 이용하여 요청하는 단계 및 상기 드라이버 코드를 이용해 런타임 중에 슬래이브 디바이스를 등록하는 단계를 포함할 수 있다.A method for recognizing a microcontroller unit-based driver according to an embodiment of the present invention and a recording medium storing a computer program executing the same according to an embodiment of the present invention comprises the steps of: searching for a slave device; The method may include confirming whether it is the case, requesting the driver code of the new slave device using a script language, and registering the slave device during runtime using the driver code.
본 발명의 일 실시 예에 따르면, 마이크로컨트롤러유닛 기반 드라이버 인식 장치 및 방법은 스크립트 언어를 통해 사전 정의한 드라이버 함수로 다양한 디바이스의 드라이버 정보를 런타임으로 수신할 수 있다. According to an embodiment of the present invention, an apparatus and method for recognizing a driver based on a microcontroller unit may receive driver information of various devices at runtime using a driver function predefined through a script language.
본 발명의 일 실시 예에 따르면, 마이크로컨트롤러유닛 기반 드라이버 인식 장치 및 방법은 non-OS상에서 OS 드라이버와 유사한 방식을 이용하므로, OS 사용자들에게 보다 친숙하여 개발에 필요한 추가지식 습득을 최소화할 수 있다.According to an embodiment of the present invention, the microcontroller unit-based driver recognition apparatus and method uses a method similar to the OS driver on a non-OS, so that it is more familiar to OS users and thus it is possible to minimize the acquisition of additional knowledge required for development. .
본 발명의 일 실시 예에 따르면, 마이크로컨트롤러유닛 기반 드라이버 인식 장치 및 방법은 저가형 마이크로컨트롤러유닛 기반 UART인터페이스를 활용한 플러그 앤 플레이 기술을 기반으로 하여, 고가의 장비에 비해 가격 경쟁력이 있다.According to an embodiment of the present invention, an apparatus and method for recognizing a microcontroller unit-based driver is based on a plug-and-play technology using a low-cost microcontroller unit-based UART interface, and has price competitiveness compared to expensive equipment.
본 발명의 일 실시 예에 따르면, 마이크로컨트롤러유닛 기반 드라이버 인식 장치 및 방법은 디바이스에 대한 드라이버 코드를 펌웨어 외부에서 관리/배포할 수 있으므로 유지/보수/관리의 효율성을 높일 수 있다.According to an embodiment of the present invention, the apparatus and method for recognizing a driver based on a microcontroller unit can manage/distribute a driver code for a device outside the firmware, thereby increasing the efficiency of maintenance/maintenance/management.
도 1내지 도3은 본 발명의 일 실시 예에 따른 마이크로컨트롤러유닛(MCU) 기반 드라이버 인식 장치를 설명하기 위한 도면들.1 to 3 are diagrams for explaining a microcontroller unit (MCU)-based driver recognition device according to an embodiment of the present invention.
도4 및 도 5는 본 발명의 일 실시 예에 따른 마이크로컨트롤러유닛 기반 드라이버 인식 방법을 설명한 도면들.4 and 5 are diagrams illustrating a microcontroller unit-based driver recognition method according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서 및 청구항에서 사용되는 단수 표현은, 달리 언급하지 않는 한 일반적으로 "하나 이상"을 의미하는 것으로 해석되어야 한다.Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and will be described in detail through detailed description. However, this is not intended to limit the present invention to specific embodiments, and it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention. In describing the present invention, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Also, as used herein and in the claims, the terms "a" and "a" are to be construed to mean "one or more" in general, unless stated otherwise.
이하, 본 발명의 바람직한 실시 예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings, and in the description with reference to the accompanying drawings, the same or corresponding components are given the same reference numerals, and the overlapping description thereof will be omitted. do it with
도 1내지 도3은 본 발명의 일 실시 예에 따른 마이크로컨트롤러유닛(MCU) 기반 드라이버 인식 장치를 설명하기 위한 도면들이다.1 to 3 are diagrams for explaining a microcontroller unit (MCU)-based driver recognition device according to an embodiment of the present invention.
도 1을 참조하면, non-OS 기반의 마이크로컨트롤러유닛(MCU) 환경에서 슬래이브 디바이스가 플러그 앤 플레이되면 마이크로컨트롤러유닛이 드라이버 영역으로 정보를 할당한다. Non-OS 기반 마이크로컨트롤러유닛은 OS 기반의 플러그 앤 플레이 지원 방식과는 상이하다. 마이크로컨트롤러유닛의 펌웨어 특성상 런타임 수정이 불가능하므로 주소 맵핑 방식으로 사용하기도 한다. 하지만 마이크로컨트롤러유닛(MCU) 기반 드라이버 인식 장치(10)는 다양한 디바이스의 데이터 주소를 맵핑하지 않는다. 대신 마이크로컨트롤러유닛(MCU) 기반 드라이버 인식 장치(10)는 동일한 API의 드라이버를 추가하여 드라이버의 정의를 최종사용자가 할 수 있도록 한다. 마이크로컨트롤러유닛(MCU) 기반 드라이버 인식 장치(10)는 데이터 주소를 맵핑하지 않기 때문에 펌웨어를 수정하지 않아도 되고, 맵핑에 필요한 메모리 낭비를 줄여준다.Referring to FIG. 1 , when a slave device is plugged and played in a non-OS-based microcontroller unit (MCU) environment, the microcontroller unit allocates information to a driver area. Non-OS-based microcontroller units are different from OS-based plug-and-play support methods. Since runtime modification is impossible due to the nature of the firmware of the microcontroller unit, it is sometimes used as an address mapping method. However, the microcontroller unit (MCU)-based driver recognition apparatus 10 does not map data addresses of various devices. Instead, the microcontroller unit (MCU)-based driver recognition device 10 adds a driver of the same API so that the end user can define the driver. Since the microcontroller unit (MCU)-based driver recognition device 10 does not map data addresses, firmware does not need to be modified, and memory waste required for mapping is reduced.
마이크로컨트롤러유닛은 런타임 중에는 수정이 불가능하기 때문에 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 스크립트 언어를 이용하여 슬래이브 디바이스의 플러그 앤 플레이를 지원한다. 스크립트 언어는 실행되는 하드웨어 또는 디바이스에 종속되지 않고, 드라이버 함수들을 문자열로 정의한다. 마이크로컨트롤러유닛기반 드라이버 인식 장치(10)는 스크립트 언어는 이용하므로 스크립트 실행기를 통해 드라이버 함수들을 실행할 수 있다.Since the microcontroller unit cannot be modified during runtime, the microcontroller unit-based driver recognition apparatus 10 supports plug-and-play of the slave device using a script language. The script language does not depend on the hardware or device being executed, and defines driver functions as strings. Since the microcontroller unit-based driver recognition device 10 uses a script language, it can execute driver functions through a script executor.
마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 미리 마이크로컨트롤러유닛(MCU)에 함수를 선언하고, 호스트에서도 이 함수에 대한 정의를 하여 사용할 수 있도록 한다. 다시 말해, 호스트에서 정의한 함수를 마이크로컨트롤러유닛에서 사용할 수 있다.The microcontroller unit-based driver recognition device 10 declares a function in the microcontroller unit (MCU) in advance, and defines and uses the function in the host as well. In other words, the functions defined in the host can be used in the microcontroller unit.
슬래이브 디바이스가 추가되는 경우, 마이크로컨트롤러유닛은 추가된 슬래이브 디바이스의 드라이버 코드를 호스트에 전송한다. 호스트는 전송된 드라이버 코드를 스크립트 실행기를 통해 분석하여 추가된 슬래이브 디바이스를 구동시킨다.When a slave device is added, the microcontroller unit transmits the driver code of the added slave device to the host. The host analyzes the transmitted driver code through the script executor and drives the added slave device.
마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 슬래이브 디바이스에 대한 드라이버 코드를 펌웨어 외부에서 관리/배포할 수 있으므로 유지/보수/관리의 효율성을 높일 수 있다.The microcontroller unit-based driver recognition apparatus 10 may manage/distribute the driver code for the slave device outside the firmware, thereby increasing the efficiency of maintenance/maintenance/management.
마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 스크립트 언어와 통신을 사용하는 것이기 때문에, 다른 스크립트 언어나 혹은 동일한 역할을 수행할 수 있는 통신 체계를 구축한다면 다양한 방식으로 구현이 가능하다. 또한 통신 프로토콜도 본 발명에서 사용하고 있는 다이나믹셀 프로토콜 외에서 MODBUS, 커스텀 프로토콜 등 다양한 프로토콜을 채택하여 사용할 수 있다.Since the microcontroller unit-based driver recognition device 10 uses a script language and communication, it can be implemented in various ways if another script language or a communication system capable of performing the same role is established. In addition, the communication protocol can be used by adopting various protocols such as MODBUS and custom protocols other than the Dynamixel protocol used in the present invention.
도 2를 참조하면, 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 설정부(100), 수집부(200) 및 제어부(300)를 포함한다.Referring to FIG. 2 , the microcontroller unit-based driver recognition apparatus 10 includes a setting unit 100 , a collection unit 200 , and a control unit 300 .
설정부(100)는 스크립트 언어를 통해 드라이버 함수(API)를 공유한다. 설정부(100)는 마이크로컨트롤러유닛과 호스트가 드라이버 함수를 함께 사용할 수 있도록 한다. The setting unit 100 shares a driver function (API) through a script language. The setting unit 100 allows the microcontroller unit and the host to use the driver function together.
수집부(200)는 마이크로컨트롤러유닛으로 드라이버 함수를 호출하여 슬래이브 디바이스의 드라이버 코드 및 정보를 수집한다. The collection unit 200 collects the driver code and information of the slave device by calling the driver function to the microcontroller unit.
제어부(300)는 수집된 슬래이브 디바이스의 드라이버 코드 및 정보를 이용해 슬래이브 디바이스와 통신하고 슬래이브 디바이스를 제어한다. 제어부(300)는 사용자가 만든 유저 코드에서 드라이버 함수를 호출할 수 있도록 지원한다. 예를 들면 제어부(300)는 유저 코드에서 장치 드라이버 함수를 호출하면, 등록된 장치의 드라이버 코드를 이용해 해당 드라이버 스크립트를 실행한다. 예를 들면 제어부(300)는 드라이버 스크립트를 실행해 각 슬래이브 디바이스를 제어할 수 있다.The controller 300 communicates with the slave device and controls the slave device using the collected driver code and information of the slave device. The control unit 300 supports to call a driver function from user code created by the user. For example, when a device driver function is called from the user code, the controller 300 executes a corresponding driver script using the driver code of the registered device. For example, the controller 300 may control each slave device by executing a driver script.
도3을 참조하면, 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 마이크로컨트롤러유닛에 슬래이브 드라이버 함수를 선언하고, 호스트도 선언된 슬래이브 드라이버함수를 사용할 수 있도록 정의한다. 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 슬래이브 디바이스가 플러그인 되면 드라이버 함수를 호출한다. 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 드라이버 함수를 호출하고 파라미터로 슬래이브 디바이스 코드를 수신한다. 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 슬래이브 디바이스 코드를 스크립트 해석기를 통해 분석하여 슬래이브 디바이스를 구동(플레이)한다.Referring to FIG. 3 , the microcontroller unit-based driver recognition device 10 declares a slave driver function to the microcontroller unit, and defines the host to use the declared slave driver function. The microcontroller unit-based driver recognition apparatus 10 calls a driver function when the slave device is plugged in. The microcontroller unit-based driver recognition apparatus 10 calls a driver function and receives a slave device code as a parameter. The microcontroller unit-based driver recognition apparatus 10 analyzes the slave device code through a script interpreter and drives (plays) the slave device.
마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 런타임 중에 슬래이브 디바이스의 정보를 갱신하여 슬래이브 디바이스의 플러그 앤 플레이를 지원한다.The microcontroller unit-based driver recognition apparatus 10 updates slave device information during runtime to support plug and play of the slave device.
도 3을 자세히 설명하면, 예를 들어 호스트에서 host_slave_read, host_slave_write 및 imu_read_data 함수를 정의하고, 마이크로컨트롤러유닛이imu_read_data 함수를 호출하면 슬래이브 디바이스의 드라이버 정보를 수신할 수 있다. 즉, 마이크로컨트롤러유닛과 호스트는 IMU 데이터 읽기에 대한 드라이버를 가지고 있고, 그 드라이버 함수는 imu_read_data로 정의한다. 이때 마이크로컨트롤러유닛이 host_slave_read함수를 호출하면서 파라미터로 슬래이브 디바이스에 따른 데이터 주소를 전송하고, 호스트는 마이크로컨트롤러유닛과의 통신을 통해 imu_read_data함수에 대한 정의를 스트링으로 수신한다. 호스트는 자신이 정의한 host_slave_read와 마이크로컨트롤러유닛으로부터 전달된 파라미터 정보를 활용해 슬래이브 디바이스 코드를 수신할 수 있다. 즉, 호스트는 RAW한 정보가 없어도 imu_read_data 함수를 호출하여 슬래이브 디바이스 코드(IMU 데이터)를 획득한다. 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 스크립트 언어를 이용한 드라이버 함수 처리에 의해 원하는 IMU 데이터만을 수신하여 런타임 중에도 슬래이브 디바이스의 플러그 앤 플레이를 지원한다.3, for example, when the host_slave_read, host_slave_write, and imu_read_data functions are defined in the host, and the microcontroller unit calls the imu_read_data function, driver information of the slave device can be received. That is, the microcontroller unit and the host have a driver for reading IMU data, and the driver function is defined as imu_read_data. At this time, the microcontroller unit transmits the data address according to the slave device as a parameter while calling the host_slave_read function, and the host receives the definition of the imu_read_data function as a string through communication with the microcontroller unit. The host can receive the slave device code by using the host_slave_read defined by the host and the parameter information transmitted from the microcontroller unit. That is, the host acquires the slave device code (IMU data) by calling the imu_read_data function even if there is no RAW information. The microcontroller unit-based driver recognition apparatus 10 supports plug-and-play of a slave device even during runtime by receiving only desired IMU data by processing a driver function using a script language.
도4 및 도 5는 본 발명의 일 실시 예에 따른 마이크로컨트롤러유닛 기반 드라이버 인식 방법을 설명한 도면들이다. 이하 설명하는 각 과정은 마이크로컨트롤러유닛 기반 드라이버 인식 장치를 구성하는 각 기능부가 수행하는 과정이나, 본 발명의 간결하고 명확한 설명을 위해 각 단계의 주체를 마이크로컨트롤러유닛 기반 드라이버 인식 장치로 통칭하도록 한다.4 and 5 are diagrams illustrating a microcontroller unit-based driver recognition method according to an embodiment of the present invention. Each process described below is a process performed by each functional unit constituting a microcontroller unit-based driver recognition device, but for the sake of concise and clear description of the present invention, the subject of each step is collectively referred to as a microcontroller unit-based driver recognition device.
도 4를 참조하면, 단계 S410에서 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 플러그 앤 플레이 작업을 수행하여 슬래이브 디바이스를 검색한다. 단계 S420에서 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 새로운 슬래이브 디바이스가 검출되면 단계 S430을 진행하고 새로운 슬래이브 디바이스가 없는 경우 단계 S460을 진행한다. Referring to FIG. 4 , in step S410 , the microcontroller unit-based driver recognition apparatus 10 searches for a slave device by performing a plug and play operation. In step S420, the microcontroller unit-based driver recognition apparatus 10 proceeds to step S430 when a new slave device is detected, and proceeds to step S460 if there is no new slave device.
단계 S430에서 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 슬래이브 디바이스의 드라이버 코드를 수신한다. 이때 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 스크립트 언어로 생성된 드라이버 함수를 호출하여 슬래이브 디바이스의 드라이버 코드를 수신한다. 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)가 드라이버 함수를 호출하여 슬래이브 디바이스의 드라이버 코드를 수신하는 것은 향 후 도 5를 이용해 자세히 설명하도록 한다.In step S430, the microcontroller unit-based driver recognition apparatus 10 receives the driver code of the slave device. At this time, the microcontroller unit-based driver recognition apparatus 10 receives the driver code of the slave device by calling the driver function generated in the script language. The microcontroller unit-based driver recognition apparatus 10 calls a driver function to receive a driver code of a slave device will be described in detail later with reference to FIG. 5 .
단계 S440에서 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 수신한 응답패킷이 드라이버 코드인 경우 드라이버 코드를 이용해 런타임 중에 슬래이브 디바이스 등록을 진행한다.In step S440, when the received response packet is a driver code, the microcontroller unit-based driver recognition apparatus 10 uses the driver code to register the slave device during runtime.
단계 S450에서 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 슬래이브 디바이스를 등록하고 다시 단계 S410을 수행한다. 예를 들면 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 PnP 실행기를 반복적으로 수행하거나 스케쥴링하여 플러그 앤 플레이 기능을 지원할 수 있다. 마이크로컨트롤러 유닛 기반 드라이버 인식 장치(10)는 장치 등록이 완료된 슬래이브 디바이스와 통신하고, 슬래이브 디바이스를 제어할 수 있다.In step S450, the microcontroller unit-based driver recognition apparatus 10 registers the slave device and performs step S410 again. For example, the microcontroller unit-based driver recognition device 10 may support the plug-and-play function by repeatedly executing or scheduling the PnP executor. The microcontroller unit-based driver recognition apparatus 10 may communicate with the slave device for which device registration has been completed, and may control the slave device.
단계 S420에서 새로 추가된 슬래이브 디바이스가 없고, 제거된 슬래이브 디바이스 있는 경우 단계 S470을 진행하여 호스트에서 삭제된 슬래이브 디바이스 코드를 삭제하고, 슬래이브 디바이스를 해제한다. 예를 들면 마이크로컨트롤러 유닛 기반 드라이버 인식 장치(10)는 슬래이브 디바이스에 Ping 명령을 통해 제거된 슬래이브를 확인할 수 있다.If there is no newly added slave device in step S420 and there is a removed slave device, proceed to step S470 to delete the deleted slave device code from the host and release the slave device. For example, the microcontroller unit-based driver recognition apparatus 10 may identify the removed slave through a ping command to the slave device.
단계 S400에서 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 슬래이브 디바이스의 드라이버 함수를 호출하여 파라미터로 슬래이브 디바이스의 드라이버 코드를 수신한다. In step S400, the microcontroller unit-based driver recognition apparatus 10 calls a driver function of the slave device and receives the driver code of the slave device as a parameter.
단계 S400에서 호스트는 유저 코드를 실행한다. 유저 코드는 사용자가 작성한 어플리케이션일 수 있다. 예를 들면, 유저 코드에서 장치 드라이버 함수를 호출하면 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 등록된 장치의 드라이버 코드를 이용해 해당 드라이버 스크립트를 실행한다.In step S400, the host executes the user code. The user code may be an application written by a user. For example, when a device driver function is called from the user code, the microcontroller unit-based driver recognition device 10 executes the corresponding driver script using the driver code of the registered device.
단계 S4001에서 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 유저 코드의 요청에 따라 드라이버 함수를 호출한다.In step S4001, the microcontroller unit-based driver recognition device 10 calls a driver function according to the request of the user code.
단계 S4003에서 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 호출된 드라이버 함수를 이용해 슬래이브 디바이스의 등록 여부를 확인하고 등록되지 않았으면 단계 S4008로 이동하여 에러처리한다. 예를 들면 에러처리는 드라이버 인식 장치(10)가 유저 코드를 작성한 사용자에게 에러를 알리는 것이다.In step S4003, the microcontroller unit-based driver recognition apparatus 10 checks whether the slave device is registered using the called driver function, and if not registered, moves to step S4008 to process an error. For example, in the error processing, the driver recognition device 10 notifies the user of the error to the user who wrote the user code.
단계 S4005에서 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 등록된 드라이버의 드라이버 스크립트를 실행한다.In step S4005, the microcontroller unit-based driver recognition device 10 executes the driver script of the registered driver.
단계 S4007에서 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 드라이버 스크립트의 실행을 종료한다.In step S4007, the microcontroller unit-based driver recognition device 10 ends the execution of the driver script.
도 5를 참조하면, 단계 S4301에서 슬래이브 디바이스는 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)가 보내는 명령어를 수신하기 위해 대기하고 있다.Referring to FIG. 5 , in step S4301 , the slave device waits to receive a command from the microcontroller unit-based driver recognition apparatus 10 .
단계 S4302에서 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 스크립트 언어로 생성된 드라이버 함수를 호출하여 단계 S4303을 진행한다. 만약 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)가 드라이버 함수를 호출하지 않았다면 단계 S4305를 수행한다.In step S4302, the microcontroller unit-based driver recognition device 10 calls the driver function generated in the script language to proceed to step S4303. If the microcontroller unit-based driver recognition device 10 does not call the driver function, step S4305 is performed.
단계 S4303에서 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 드라이버 함수를 통한 슬래이브 디바이스의 드라이버 코드를 응답 패킷으로 생성하여 전송하고 단계 S4301 로 돌아가 명령어 수신을 대기한다.In step S4303, the microcontroller unit-based driver recognition apparatus 10 generates and transmits the driver code of the slave device through the driver function as a response packet, and returns to step S4301 to wait for command reception.
단계 S4305에서 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 호스트로부터 수신된 명령에 처리를 하고 응답 패킷을 생성하여 전송한다. 예를 들면 슬래이브 디바이스는 엑추에이터일 수 있다. 엑추에이터는 호스트로부터 특정 속도 출력 요청과 같은 쓰기 명령을 수신하면 해당 명령을 실행하고 그 결과를 패킷으로 응답한다. 또한, 액추에이터는 현재 위치를 확인 요청과 같은 읽기 명령을 수신하면 현재 위치에 대한 값을 패킷으로 응답한다.In step S4305, the microcontroller unit-based driver recognition device 10 processes the command received from the host, generates and transmits a response packet. For example, the slave device may be an actuator. When the actuator receives a write command such as a specific speed output request from the host, it executes the command and responds with the result as a packet. In addition, when the actuator receives a read command such as a request to confirm the current position, the actuator responds with a value for the current position as a packet.
단계 S4304에서 마이크로컨트롤러유닛 기반 드라이버 인식 장치(10)는 슬래이브 디바이스로부터 수신한 응답 패킷을 호스트로 전송한다.In step S4304, the microcontroller unit-based driver recognition apparatus 10 transmits the response packet received from the slave device to the host.
상술한 마이크로컨트롤러 유닛 기반 드라이버 인식 방법은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The above-described microcontroller unit-based driver recognition method may be implemented as a computer-readable code on a computer-readable medium. The computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disk, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk). can The computer program recorded in the computer-readable recording medium may be transmitted to another computing device through a network, such as the Internet, and installed in the other computing device, thereby being used in the other computing device.
이상에서, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above, even though all the components constituting the embodiment of the present invention are described as being combined or operated in combination, the present invention is not necessarily limited to this embodiment. That is, within the scope of the object of the present invention, all the components may operate by selectively combining one or more.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시 예 들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.Although acts are shown in a specific order in the drawings, it should not be understood that the acts must be performed in the specific order or sequential order shown, or that all shown acts must be performed to obtain a desired result. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of the various components in the embodiments described above should not be construed as necessarily requiring such separation, and the program components and systems described may generally be integrated together into a single software product or packaged into multiple software products. It should be understood that there is
이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the present invention has been looked at focusing on the embodiments thereof. Those of ordinary skill in the art to which the present invention pertains will understand that the present invention can be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is indicated in the claims rather than the foregoing description, and all differences within the scope equivalent thereto should be construed as being included in the present invention.
발명의 실시를 위한 형태는 위의 발명의 실시를 위한 최선의 형태에서 함께 기술되었다.Modes for carrying out the invention have been described together in the above best mode for carrying out the invention.
본 발명은 마이크로컨트롤러유닛 기반 드라이버 인식 장치 및 방법에 관한 것으로, 저가의 마이크로컨트롤러유닛을 이용한 디바이스의 플러그 앤 플레기 기능을 지원하고, 디바이스를 펌웨어 외부에서 관리/배포할 수 있어 유지/보수/관리의 효율성을 높이므로 산업상 이용가능성이 있다.The present invention relates to an apparatus and method for recognizing a driver based on a microcontroller unit, and supports a plug-and-flag function of a device using a low-cost microcontroller unit, and maintains/repairs/management of the device by being able to manage/distribute the device outside the firmware It has industrial applicability because it increases the efficiency of

Claims (7)

  1. 마이크로컨트롤러유닛 기반 드라이버 인식 장치에 있어서, In the microcontroller unit-based driver recognition device,
    스크립트 언어를 통해 생성한 드라이버 함수를 공유하는 설정부;a setting unit that shares the driver function created through the script language;
    런타임 중에 슬래이브 디바이스의 드라이버 코드를 수집하는 수집부; 및a collection unit that collects the driver code of the slave device during runtime; and
    상기 슬래이브 디바이스와 통신하고 제어하는 제어부를 포함하는 마이크로컨트롤러유닛 기반 드라이버 인식 장치.and a control unit for communicating and controlling the slave device.
  2. 제 1 항에 있어서,The method of claim 1,
    상기 슬래이브 디바이스의 플러그 앤 플레이를 지원하는 마이크로컨트롤러유닛 기반 드라이버 인식 장치.A microcontroller unit-based driver recognition device supporting plug and play of the slave device.
  3. 제 1 항에 있어서,The method of claim 1,
    상기 제어부는 드라이버 함수를 이용해 슬래이브 디바이스의 드라이버 코드를 호출하고,The control unit calls the driver code of the slave device using a driver function,
    상기 드라이버 코드를 이용해 각각의 슬래이브 디바이스를 제어할 수 있는 마이크로컨트롤러유닛 기반 드라이버 인식 장치.A microcontroller unit-based driver recognition device capable of controlling each slave device using the driver code.
  4. 마이크로컨트롤러유닛 기반 드라이버 인식 방법에 있어서,In the microcontroller unit-based driver recognition method,
    슬래이브 디바이스를 검색하는 단계;searching for a slave device;
    상기 슬래이브 디바이스가 신규인지 확인하는 단계;checking whether the slave device is new;
    상기 신규 슬래이브 디바이스의 드라이버 코드를 스크립트 언어를 이용하여 요청하는 단계; 및requesting a driver code of the new slave device using a script language; and
    상기 드라이버 코드를 이용해 런타임 중에 슬래이브 디바이스를 등록하는 단계를 포함하는 마이크로컨트롤러유닛 기반 드라이버 인식 방법.and registering a slave device during runtime using the driver code.
  5. 제 4 항에 있어서, 5. The method of claim 4,
    상기 슬래이브 디바이스의 플러그 앤 플레이를 지원하는 마이크로컨트롤러유닛 기반 드라이버 인식 방법.A microcontroller unit-based driver recognition method supporting plug and play of the slave device.
  6. 제 4 항에 있어서,5. The method of claim 4,
    상기 드라이버 코드를 이용해 각각의 슬래이브 디바이스를 제어할 수 있는 마이크로컨트롤러유닛 기반 드라이버 인식 장치.A microcontroller unit-based driver recognition device capable of controlling each slave device using the driver code.
  7. 제 4 항 내지 제 6 항에 마이크로컨트롤러유닛 기반 드라이버 인식 방법 중 어느 하나를 실행하고 컴퓨터가 판독 가능한 기록매체에 기록된 컴퓨터 프로그램.A computer program recorded in a computer-readable recording medium executing any one of the microcontroller unit-based driver recognition methods according to claim 4 to claim 6 .
PCT/KR2019/018087 2019-12-19 2019-12-19 Microcontroller unit-based driver recognition device and method WO2021125393A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0170417 2019-12-19
KR20190170417 2019-12-19

Publications (1)

Publication Number Publication Date
WO2021125393A1 true WO2021125393A1 (en) 2021-06-24

Family

ID=76477446

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/018087 WO2021125393A1 (en) 2019-12-19 2019-12-19 Microcontroller unit-based driver recognition device and method

Country Status (1)

Country Link
WO (1) WO2021125393A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050118170A (en) * 2003-03-07 2005-12-15 소니 가부시끼 가이샤 Device management method and device management system
KR20080046513A (en) * 2006-11-22 2008-05-27 삼성전자주식회사 System for offering web page having home network function and method for controlling a home network device
US20130297830A1 (en) * 2012-05-02 2013-11-07 Arcadyan Technology Corporation Universal driving method and system for peripherals
US20140344560A1 (en) * 2013-05-15 2014-11-20 Dell Products L.P. Driver file conversion system
US20170286124A1 (en) * 2014-09-19 2017-10-05 Alab Inc. Device driver registration device and device driver registration method using same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050118170A (en) * 2003-03-07 2005-12-15 소니 가부시끼 가이샤 Device management method and device management system
KR20080046513A (en) * 2006-11-22 2008-05-27 삼성전자주식회사 System for offering web page having home network function and method for controlling a home network device
US20130297830A1 (en) * 2012-05-02 2013-11-07 Arcadyan Technology Corporation Universal driving method and system for peripherals
US20140344560A1 (en) * 2013-05-15 2014-11-20 Dell Products L.P. Driver file conversion system
US20170286124A1 (en) * 2014-09-19 2017-10-05 Alab Inc. Device driver registration device and device driver registration method using same

Similar Documents

Publication Publication Date Title
JP3497834B2 (en) Route repeater, USB communication system, USB communication control method
US8019848B2 (en) Method and apparatus for connection exploration in a network
EP0899655B1 (en) Information communicating apparatus and method
US7865351B2 (en) Device and method for automatically launching applications residing on USB flash drives
CN102725744B (en) Extensions for USB driver interface functions
JP4669088B1 (en) Test apparatus, test method and program
JP2516317B2 (en) Data processing system and method for loading digital signal processor.
US20070005867A1 (en) Virtual peripheral device interface and protocol for use in peripheral device redirection communication
WO2012121559A2 (en) Storage system for supporting copy command and move command and operation method of storage system
WO2022097772A1 (en) Api request processing system
WO2021107179A1 (en) Method and device for automatic generation of setting code of autosar-based application software
WO2010056003A2 (en) Controller for solid state disk which controls access to memory bank
WO2016068593A2 (en) Block and user terminal for modeling three-dimensional shape and method for modeling three-dimensional shape using same
WO2011132807A1 (en) Robot system control method and a device therefor
WO2021125393A1 (en) Microcontroller unit-based driver recognition device and method
CN1130647C (en) Transmitting system, transmitting method, and transmitting/receiving system
WO2013027922A1 (en) Compressed image file management device and method, for cloud computing system
EP1033658B1 (en) Communication apparatus with means for allocating alternate designation information to each function unit, and communication system with two such communication apparatus
JP2007004710A (en) Storage access system, data transfer device, storage accessing method and program
WO2021172609A1 (en) Task software framework structure for supporting task execution of unmanned vehicle
CN109144491A (en) Microcomputer development platform
US20080065836A1 (en) System for sharing storage device among controllers and method thereof
WO2020138747A1 (en) Method for operating micro disposable iot service infrastructure
WO2019168212A1 (en) Modular sensor interface and iot sensor device package with same applied thereto
EP0260458B1 (en) Networking processors

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19956663

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19956663

Country of ref document: EP

Kind code of ref document: A1