KR101883522B1 - 듀얼 mcu에서 마스터 mcu 및 슬레이브 mcu 전환 방법 및 장치 - Google Patents

듀얼 mcu에서 마스터 mcu 및 슬레이브 mcu 전환 방법 및 장치 Download PDF

Info

Publication number
KR101883522B1
KR101883522B1 KR1020140025546A KR20140025546A KR101883522B1 KR 101883522 B1 KR101883522 B1 KR 101883522B1 KR 1020140025546 A KR1020140025546 A KR 1020140025546A KR 20140025546 A KR20140025546 A KR 20140025546A KR 101883522 B1 KR101883522 B1 KR 101883522B1
Authority
KR
South Korea
Prior art keywords
mcu
gpio
master
slave
spi
Prior art date
Application number
KR1020140025546A
Other languages
English (en)
Other versions
KR20150103905A (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 KR1020140025546A priority Critical patent/KR101883522B1/ko
Publication of KR20150103905A publication Critical patent/KR20150103905A/ko
Application granted granted Critical
Publication of KR101883522B1 publication Critical patent/KR101883522B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Transfer Systems (AREA)

Abstract

듀얼 MCU에서 마스터 MCU 및 슬레이브 MCU 전환 방법 및 장치가 개시되어 있다. 마스터 MCU와 슬레이브 MCU를 포함하는 듀얼 MCU의 핸드쉐이킹 방법은 마스터 MCU로 설정된 제1 MCU의 제1 GPIO 아웃풋을 하이 상태로 설정하는 단계, 제1 MCU와 슬레이브 MCU로 설정된 제2 MCU와 동기화된 태스크를 수행하는 단계, 제2 MCU의 제2 GPIO 아웃풋 채널을 하이 상태로 설정하는 단계, 제1 MCU가 제2 GPIO 아웃풋 채널의 하이 상태로 인한 라이징 엣지를 탐지하고 제1 MCU와 제2 MCU 사이에서 SPI 통신을 수행하는 단계, SPI 통신을 완료 후 제2 MCU의 제2 GPIO 아웃풋 채널을 로우 상태로 설정하는 단계, 제1 MCU의 제1 GPIO 아웃풋을 로우 상태로 설정하는 단계를 포함할 수 있되, 핸드쉐이킹은 마스터 MCU와 슬레이브 MCU 사이에서 전환이 이루어지지 않을 경우 수행될 수 있다.

Description

듀얼 MCU에서 마스터 MCU 및 슬레이브 MCU 전환 방법 및 장치{Method and apparatus for switching between master MCU(micro controller unit) and slave MCU of dual MCU}
본 발명은 MCU 동작에 관한 것으로서, 보다 상세하게는 듀얼 MCU의 동작 방법 및 장치에 관한 것이다.
MCU는 Micro Controller Unit의 약자로 집적 회로 위에 구현된 작은 컴퓨터로 볼 수 있다. 프로세서, 메모리 그리고 프로그램 가능한 입/출력을 가지고 있다. MCU는 NOR flash 혹은 OTP ROM(one time programmable ROM) 또한 포함되고 있는 경우도 있으며 작은 용량의 RAM을 가지고 있다. MCU는 임베디드 애플리케이션을 위해 디자인 되었으며 임베디드 시스템에 널리 사용된다. 임베디드 시스템에서의 MCU는 개인용 컴퓨터(PC)에서의 CPU와 대응되는 개념으로 생각하면 된다.
MCU는 자동적으로 제품이나 장치를 컨트롤 하는데 사용된다. 그 예로 오토 모바일 엔진 컨트롤 시스템, 체내 주입식 혹은 휴대용 의료기기, 리모콘, 프린터 등의 사무기기, 파워 서플라이, 장난감 등이 있다. 마이크로프로세서, 메모리, 입/출력 등의 기능을 하나의 칩 위에 구현한 MCU는 제품을 소형화 하거나 단가를 낮추는데 유용하기에 디지털로 제어되는 제품을 만들 때 산업용으로도 많이 쓰인다. ADC와 DAC를 포함한 경우에는 아날로그 입/출력을 가진 시스템에서도 사용될 수 있다.
일부 MCU들은 4KHz이하의 낮은 클락 레이트(clock rate)에서 동작되며 8 비트 ADC/DAC를 가지며 매우 저전력(수mW~수uW)에서 동작할 수 있다. 대부분의 MCU들은 기본적인 연산 기능과 인터럽트(interrupt) 기능을 가지고 있으며 휴지 상태에서는 수 nW의 전력밖에 사용하지 않는다. 이러한 특징으로 인해 저용량의 배터리로 오랜 시간 지속되어야 하는 전자 기기에 많이 쓰인다. 다른 MCU들은 고성능의 연산 능력을 가지고 있으며 DSP(Digital Signal Processing)기능을 가지고 있다. 이러한 MCU들은 수 GHz의 클럭으로도 동작하며 요즘 나오는 스마트폰과 테블릿 PC 등은 대부분이 이러한 MCU를 탑재하고 있다
본 발명의 제1 목적은 마스터 MCU(micro control unit)와 슬레이브 MCU를 포함하는 듀얼 MCU의 핸드쉐이킹 방법을 제공하는 것이다.
본 발명의 제2 목적은 마스터 MCU와 슬레이브 MCU 사이에서 핸드쉐이킹을 수행하는 듀얼 MCU를 제공하는 것이다.
상술한 본 발명의 제1 목적을 달성하기 위한 본 발명의 일 측면에 따른 마스터 MCU(micro control unit)와 슬레이브 MCU를 포함하는 듀얼 MCU의 핸드쉐이킹 방법은 상기 마스터 MCU로 설정된 제1 MCU의 제1 GPIO(general purpose input output) 아웃풋을 하이 상태로 설정하는 단계, 상기 제1 MCU와 상기 슬레이브 MCU로 설정된 제2 MCU와 동기화된 태스크를 수행하는 단계, 상기 제2 MCU의 제2 GPIO 아웃풋 채널을 상기 하이 상태로 설정하는 단계, 상기 제1 MCU가 상기 제2 GPIO 아웃풋 채널의 상기 하이 상태로 인한 라이징 엣지를 탐지하고 상기 제1 MCU와 상기 제2 MCU 사이에서 SPI(serial peripheral interface) 통신을 수행하는 단계, 상기 SPI 통신을 완료 후 상기 제2 MCU의 상기 제2 GPIO 아웃풋 채널을 로우 상태로 설정하는 단계, 상기 제1 MCU의 상기 제1 GPIO 아웃풋을 상기 로우 상태로 설정하는 단계를 포함할 수 있되, 상기 핸드쉐이킹은 상기 마스터 MCU와 상기 슬레이브 MCU 사이에서 전환이 이루어지지 않을 경우 수행될 수 있다.
마스터 MCU와 슬레이브 MCU를 포함하는 듀얼 MCU의 핸드쉐이킹 방법은 상기 마스터 MCU로 설정된 제1 MCU의 제1 GPIO 아웃풋을 하이 상태로 설정하는 단계, 상기 제1 MCU와 상기 슬레이브 MCU로 설정된 제2 MCU에서 동기화된 태스크를 수행하는 단계, 상기 제2 MCU의 제2 GPIO 아웃풋 채널을 상기 하이 상태로 설정하는 단계, 상기 제1 MCU가 상기 제2 GPIO 아웃풋 채널의 상기 하이 상태로 인한 라이징 엣지를 탐지하고 상기 제1 MCU와 상기 제2 MCU 사이에서 SPI 통신을 수행하는 단계, 상기 SPI 통신을 완료 후 상기 제2 MCU의 상기 제2 GPIO 아웃풋 채널을 상기 하이 상태로 유지하는 단계, 상기 제1 MCU가 SPI 설정을 슬레이브 모드로 전환하고 상기 제1 MCU의 상기 제1 GPIO 아웃풋을 로우 상태로 설정하는 단계, 상기 제2 MCU는 상기 SPI 설정을 마스터 모드로 전환하고 상기 제2 GPIO 아웃풋 채널을 상기 로우 상태로 설정하는 단계를 포함할 수 있되, 상기 핸드쉐이킹은 상기 마스터 MCU와 상기 슬레이브 MCU 사이에서 전환이 이루어질 경우 수행될 수 있다.
상술한 본 발명의 제2 목적을 달성하기 위한 본 발명의 일 측면에 따른 마스터 MCU와 슬레이브 MCU 사이에 핸드쉐이킹을 수행하는 듀얼 MCU 는 제1 MCU 및 제2 MCU를 포함하고, 상기 제1 MCU는 상기 마스터 MCU로 설정되고 제1 GPIO(general purpose input output) 아웃풋을 하이 상태로 설정하고 상기 슬레이브 MCU로 설정된 상기 제2 MCU와 동기화된 태스크를 수행하고, 상기 제2 MCU의 제2 GPIO 아웃풋 채널이 상기 하이 상태여서 라이징 엣지를 탐지한 경우, 상기 제2 MCU와 SPI(serial peripheral interface) 통신을 수행하고, 상기 SPI 통신 후 상기 제2 GPIO 아웃풋 채널이 로우 상태로 설정되는 경우, 상기 제1 GPIO 아웃풋을 상기 로우 상태로 설정하도록 구현될 수 있고, 상기 제2 MCU는 상기 마스터 MCU로 설정된 상기 제1 MCU의 상기 제1 GPIO 아웃풋이 하이 상태로 설정된 경우, 상기 제1 MCU와 동기화된 태스크를 수행하고, 제2 GPIO 아웃풋 채널을 상기 하이 상태로 설정하고, 상기 제1 MCU와 SPI(serial peripheral interface) 통신을 수행하고, 상기 SPI 통신을 완료 후 상기 제2 GPIO 아웃풋 채널을 로우 상태로 설정하도록 구현될 수 있고 상기 핸드쉐이킹은 상기 마스터 MCU와 상기 슬레이브 MCU 사이에서 전환이 이루어지지 않을 경우 수행될 수 있다.
*마스터 MCU(micro control unit)와 슬레이브 MCU 사이에 핸드쉐이킹을 수행하는 듀얼 MCU는 제1 MCU 및 제2 MCU를 포함하고, 상기 제1 MCU는 상기 마스터 MCU로 설정되고 제1 GPIO(general purpose input output) 아웃풋을 하이 상태로 설정하고 상기 슬레이브 MCU로 설정된 상기 제2 MCU와 동기화된 태스크를 수행하고, 상기 제2 MCU의 제2 GPIO 아웃풋 채널이 상기 하이 상태여서 라이징 엣지를 탐지한 경우, 상기 제2 MCU와 SPI(serial peripheral interface) 통신을 수행하고, 상기 SPI 통신 후 상기 제2 GPIO 아웃풋 채널이 하이 상태를 유지하는 경우, SPI 설정을 슬레이브 모드로 전환하고 상기 제1 GPIO 아웃풋을 로우 상태로 설정하도록 구현될 수 있고, 상기 제2 MCU는 상기 마스터 MCU로 설정된 상기 제1 MCU의 상기 제1 GPIO 아웃풋이 하이 상태로 설정된 경우, 상기 제1 MCU와 동기화된 태스크를 수행하고, 제2 GPIO 아웃풋 채널을 상기 하이 상태로 설정하고, 상기 제1 MCU와 SPI(serial peripheral interface) 통신을 수행하고, 상기 SPI 통신을 완료 후 상기 제2 GPIO 아웃풋 채널을 하이 상태로 유지하고 상기 SPI 설정을 마스터 모드로 전환하고 상기 제2 GPIO 아웃풋 채널을 상기 로우 상태로 설정하도록 구현될 수 있고, 상기 핸드쉐이킹은 상기 마스터 MCU와 상기 슬레이브 MCU 사이에서 전환이 이루어질 경우 수행될 수 있다.
상술한 바와 같이 본 발명의 실시예에 따른 듀얼 MCU에서 마스터 MCU 및 슬레이브 MCU 전환 방법 및 장치를 사용함으로써 MCU 간의 SPI 통신 동기화 뿐만 아니라 마스터 MCU 및 슬레이브 MCU 간의 SW(software) Task 동기화, 유연한 마스터/슬레이브 사이의 전환이 가능해질 수 있다.
도 1은 본 발명의 실시예에 따른 듀얼 슬레이브 사이의 채널을 나타낸 개념도이다.
도 2는 본 발명의 실시예에 따른 SPI 통신 방법을 나타낸다.
도 3는 본 발명의 실시예에 따른 마스터 MCU와 슬레이브 MCU 사이의 GPIO 핸드쉐이킹 방법에 대한 순서도이다.
도 4는 본 발명의 실시예에 따른 제1 MCU 및 제2 MCU의 타이밍도를 나타낸 개념도이다.
도 5는 본 발명의 실시예에 따른 마스터 MCU와 슬레이브 MCU 사이의 GPIO 핸드쉐이킹 방법에 대해 개시한다.
도 6은 본 발명의 실시예에 따른 제1 MCU 및 제2 MCU의 타이밍도를 나타낸 개념도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성 요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성 요소에 대해서 중복된 설명은 생략한다.
비동기식 회로는 전역 클록을 사용하지 않고 주변 모듈끼리의 핸드셰이크 프로토콜에 의해서 데이터를 전송하는 방식으로 전송시의 동기화는 해당 모듈끼리 로컬라이즈(localize)됨을 기본으로 한다. 따라서, 가장 느린 컴포넌트의 시간을 기준으로 전역 클록의 주기를 결정하는 worst-case 형태의 동기식 설계 기법에 비해 모듈간의 다양한 종료시점으로 인한 average-case 형태의 동작을 수행한다. 이는 이론적으로 높은 성능의 특성을 가지며, 실제로 고속 파이프라인 회로에 적용되었다.
한편, 비동기식 회로 설계 시에 전역 클록이 없으므로 timing closure를 위한 클록 트리 밸런스를 고려하지 않아도 되기 때문에 이로 인해 발생하는 문제점 특히 전력 소모가 문제가 되는 동기식 설계 방법에 비해 장점을 지닌다. 더구나 동작이 필요할 때만 구동되므로, clock gating과 같이 강제적으로 클록 전파를 방지하는 기법을 사용하지 않더라도 특성상 전력 효율이 우수한 on-demand 형태의 동작을 수행할 수 있다. 비동기식 설계 기법이 저전력 설계를 의미하는 것은 아니지만, 이러한 이유 때문에 특정 애플리케이션에서 저전력 소모를 목적으로 성공적으로 적용되었다.
또한, 전역 클록을 사용하지 않음으로 인하여 클록 스파이크(clock spike)가 없기 때문에 평탄한 방사 스펙트럼(smooth radiation spectra) 특성을 갖는다. 이는 향상된 전자기적인 호환성(better electromagnetic compatibility)을 제공하여 매우 민감한 리시버 등과 함께 사용 시에 상호 간섭이 감소될 수 있다.
아울러, 시스템 내의 모든 모듈들은 핸드셰이크 프로토콜을 통하여 통신하므로 가변 동작 속도 환경에서도 잘 적응하여 우수한 이식성 및 재사용 특성을 갖는다.
비동기 회로에서는 모든 데이터 전달이 이 핸드셰이크 프로토콜에 의해 수행될수 있다. 즉 전송 데이터의 심볼과 그 시작 시점이 가변적인 비동기 회로 환경에 서는 이벤트의 유효성을 알려주는 정확한 전환이 필요하다. 이 정확한 전환을 생성(sender 입장에서) 혹은 감지(receiver 입장에서)하기 위해 시그널링 방식, 데이터 인코딩 방식을 사용한다. 각 방식에 따라서 여러 가지 구현 방식이 가능하고, 아울러 비동기식 핸드셰이크 방식은 채널 종류에 따라서도 다양한 방식으로 구현될 수 있다.
예를 들어, 시그널링 방식은 데이터의 유효 시점과 데이터 처리의 완료를 의미하는 요청(request), 승인(acknowledge) 신호 쌍의 라이징(rising), 폴링(falling) 중 한쪽만 사용하느냐, 아니면 모두 사용하는가에 따라서 4-phase(한쪽 사용), 2-phase(양쪽 사용)로 구분된다. 4-phase 시그널링이 항상 초기화 상태(space state)를 거쳐야 하고, 2-phase 시그널링에는 space state가 존재하지 않는다.
이하, 본 발명의 실시예에서는 듀얼 MCU(Dual MCU) 시스템에서 2 채널 GPIO(general purpose input output)를 활용하여 MCU 간의 통신과 Task의 동기를 맞추고, 유연하게 마스터 MCU와 슬레이브 MCU를 전환하는 데에 있다.
도 1은 본 발명의 실시예에 따른 듀얼 슬레이브 사이의 채널을 나타낸 개념도이다.
도 1을 참조하면, 듀얼 MCU(100, 150) 간의 동기화와 유연한 마스터/슬레이브 전환을 수행하기 위해 듀얼 MCU(100, 150) 사이에는 SPI(serial peripheral interface) 통신 채널과 2채널 GPIO의 연결이 이루어진다.
도 2는 본 발명의 실시예에 따른 SPI 통신 방법을 나타낸다.
도 2에서는 하나의 마스터 MCU와 하나의 슬레이브 MCU 사이에서 구현된 SPI에 대해 개시한다. SPI 통신 채널은 4 와이어 시리얼 버스("4 wire" serial bus)라는 용어로 표현될 수도 있다. SPI는 컨트롤러와 주변 장치(peripheral device) 사이의 4-와이어 시리얼 통신 인터페이스를 담당한다. SPI 통신은 원래 주변 기기와의 통신을 위해 개발되었지만 두 개의 프로세서 사이의 통신도 가능하다. SPI 통신 프로토콜은 4개의 신호 프로토콜(MOSI(200), MISO(220), SCLK(240), SS(260))으로 나뉠 수 있다. 우선 MOSI(Master Out Slave In)(200)에서 MOSI(200)는 마스터에 의해 생성되고 슬레이브가 수신하게 되는 통신 프로토콜이다. MISO(Master In Slave Out) (220)는 슬레이브에서 생성되고 마스터가 수신하는 통신 프로토콜이다. SCLK(Serial Clock)(240)은 마스터가 마스터와 슬레이브 사이의 데이터 전송을 동기화 하기 위해 사용되는 통신 프로토콜이다. SS(260)는 각각의 슬레이브/주변 장치를 선택하기 위해 마스터에서 생성되는 신호를 생성하는 통신 프로토콜이다.
이 4개의 신호 중에서 MOSI(200)와 MISO(220)는 데이터 라인, SS(260)와 SCLK(240)는 제어 라인으로 사용될 수 있다. SPI-bus 통신은 하나의 마스터와 여러개의 슬레이브로 구성될 수 있다. 보통 하나의 SPI 장치가 SPI 마스터로 동작되며 SCLK(240), 클럭 신호를 생성하여 데이터 흐름을 제어할 수 있다. 또, SS(260)를 통해 통신하고 싶은 슬레이브를 활성화할 수도 있다.
SPI 통신은 언제나 마스터에 의해 시작된다. 마스터는 주파수(frequency)를 이용하여 클럭을 설정하는데 이 주파수는 슬레이브 장치가 지원할 수 있는 최대 크기의 주파수와 같거나 작다. 마스터는 그 다음에 특정한 슬레이브-주변 장치의 칩 선택(SS)을 풀링(pulling)하여 "low" 상태로 만듬으로써 통신하기를 원하는 슬레이브를 선택할 수 있다. 만약, 기다리는 시간이 필요하다면 (예를 들면 analog-to-digital 변환) 마스터는 반드시 클록 사이클을 시작하기 전까지 필요한 주기의 시간을 기다려야 한다.
다시 도 1을 참조하면, 본 발명의 실시예에서는 2채널 GPIO의 각 채널이 서로 반대의 Input/Output 방향으로 설정될 수 있다. 본 발명의 실시예에서는 GPIO의 채널을 기반으로 마스터/슬레이브 사이의 전환을 수행하는 방법에 대해 개시한다.
도 3는 본 발명의 실시예에 따른 마스터 MCU와 슬레이브 MCU 사이의 GPIO 핸드쉐이킹 방법에 대한 순서도이다.
도 3에서는 마스터 MCU와 슬레이브 MCU 사이의 전환이 이루어지지 않을 때 GPIO 핸드쉐이킹(handshaking)을 수행하는 절차에 대해 개시한다. 이하 본 발명의 실시예에서는 제1 MCU가 마스터 MCU이고 제2 MCU가 슬레이브 MCU인 경우를 가정한다.
제1 MCU의 GPIO 아웃풋 채널을 하이 상태로 설정한다(단계 S300).
우선 마스터 MCU로 동작하는 제1 MCU의 GPIO 아웃풋 채널인 GPIO_A핀이 하이(High) 상태로 설정되면서 동시에 제1 MCU와 제2 MCU의 동기화된 태스크가 수행될 수 있다.
제2 MCU의 GPIO 아웃풋 채널을 하이 상태로 설정한다(단계 S310).
슬레이브 MCU로 동작하는 제2 MCU 측에서 태스크 수행을 마치고 SPI 통신을 위한 준비가 완료되면 SPI 통신의 동기화를 위하여 제2 MCU의 GPIO 아웃풋 채널인 GPIO_B핀을 하이(High) 상태로 설정할 수 있다.
제1 MCU와 제2 MCU가 SPI 통신을 수행한다(단계 S320).
제1 MCU 는 GPIO_B핀에서 하이 상태로 설정함으로 인해 발생한 라이징 엣지(Rising Edge)를 감지하고 SPI 통신을 시작할 수 있다.
SPI 통신 완료 후 제2 MCU의 GPIO 아웃풋 채널을 로우 상태로 설정한다(단계 S330).
제1 MCU와 제2 MCU 사이의 SPI 통신이 완료되면 제2 MCU는 GPIO_B핀을 로우(Low)로 클리어(clear)할 수 있다.
제1 MCU의 GPIO 아웃풋 채널을 로우 상태로 설정한다(단계 S340).
제1 MCU는 제2 MCU의 GPIO_B핀이 클리어됨을 감지하고 GPIO_A 핀을 로우(Low)로 클리어할 수 있다.
제1 MCU의 GPIO 아웃풋 채널을 하이 상태로 설정한다(단계 S350).
제1 MCU는 다음 사이클(Cycle)의 태스크가 수행될 시점이 되면 GPIO_A핀을 다시 하이(High) 상태로 설정함으로써 다음 사이클의 태스크 동기화를 요청할 수 있다.
도 3에서는 제1 MCU와 제2 MCU 사이에서 마스터와 슬레이브 사이의 전환이 수행되지 않을 경우의 동작에 대한 것이다. 제1 MCU와 제2 MCU 사이에서 마스터와 슬레이브 사이의 전환이 수행되지 않을 경우 타이밍도는 아래의 도 3과 같이 표현될 수 있다.
도 4는 본 발명의 실시예에 따른 제1 MCU 및 제2 MCU의 타이밍도를 나타낸 개념도이다.
도 4에서 단계 S400 내지 단계 S450까지는 순환 태스크(cyclic task) 동기화 제어 방법을 나타낸다.
도 4의 타이밍 도를 참조하면, 마스터 MCU인 제1 MCU의 GPIO 아웃풋 채널인 GPIO_A 핀이 로우 상태였다가 하이 상태로 전환되면서 동시에 제1 MCU와 제2 MCU의 동기화된 태스크가 수행될 수 있다(단계 S400).
다음으로 슬레이브 MCU로 동작하는 제2 MCU 측에서 태스크 수행을 마치고 SPI 통신을 위한 준비가 완료되면 SPI 통신의 동기화를 위하여 제2 MCU의 GPIO 아웃풋 채널인 GPIO_B핀을 하이(High) 상태로 설정할 수 있다(단계 S410).
제1 MCU는 GPIO_B핀이 하이 상태로 설정됨으로 인해 발생한 라이징 엣지(Rising Edge)를 감지하고 SPI 통신을 시작할 수 있다(단계 S420).
제1 MCU와 제2 MCU 사이의 SPI 통신이 완료되면 제2 MCU는 GPIO_B핀을 로우(Low)로 설정하여 클리어(clear)할 수 있다(단계 S430).
제1 MCU는 제2 MCU의 GPIO_B핀이 단계 S430과 같이 로우 상태로 설정되어 클리어됨을 감지하고 GPIO_A 핀을 로우(Low) 상태로 설정하여 클리어할 수 있다(단계 S440).
제1 MCU는 다음 사이클(Cycle)의 태스크가 수행될 시점이 되면 GPIO_A핀을 다시 하이(High) 상태로 설정함으로써 다음 사이클의 태스크 동기화를 요청할 수 있다(단계 S450).
도 5는 본 발명의 실시예에 따른 마스터 MCU와 슬레이브 MCU 사이의 GPIO 핸드쉐이킹 방법에 대해 개시한다.
도 5에서는 마스터 MCU와 슬레이브 MCU 사이의 전환이 이루어질 경우, GPIO 핸드쉐이킹(handshaking)을 수행하는 방법에 대해 개시한다. 이하 본 발명의 실시예에서는 제1 MCU가 마스터 MCU이고 제2 MCU가 슬레이브 MCU인 경우를 가정한다.
제1 MCU의 GPIO 아웃풋 채널을 하이 상태로 설정한다(단계 S500).
마스터 MCU로 동작하는 제1 MCU의 GPIO 아웃풋 채널인 GPIO_A핀이 하이 상태로 설정되면서 동시에 제1 MCU와 제2 MCU 사이의 동기화된 태스크가 시작된다.
제2 MCU의 GPIO 아웃풋 채널을 하이 상태로 설정한다(단계 S510).
슬레이브 MCU로 동작하는 제2 MCU에서 태스크 수행을 마치고 SPI 통신을 위한 준비가 완료되면 SPI 통신 동기화를 위하여 제2 MCU의 GPIO 아웃풋 채널인 GPIO_B핀을 하이 상태로 설정할 수 있다.
제1 MCU가 SPI 통신을 수행한다(단계 S520).
제1 MCU는 GPIO_B핀의 라이징 에지를 감지하고 SPI 통신을 시작할 수 있다.
제2 MCU가 GPIO_B핀을 하이 상태로 유지한다(단계 S530).
SPI 통신이 완료되면 제2 MCU는 다음 사이클에서 마스터 MCU로 전환하기 위하여 GPIO_B핀을 하이 상태로 유지할 수 있다.
제1 MCU는 SPI 설정을 슬레이브 모드로 전환한 후, GPIO_A핀을 로우 상태로 클리어한다(단계 S540).
제1 MCU는 GPIO_B핀이 클리어되지 않음을 탐지할 수 있고 SPI 설정을 슬레이브 모드로 전환한 후, GPIO_A핀을 로우 상태로 클리어할 수 있다.
제2 MCU는 SPI 설정을 마스터 모드로 전환한 후, GPIO_B핀을 로우로 클리어한다(단계 S550).
제2 MCU는 제1 MCU의 GPIO_A핀이 클리어됨을 감지하고 SPI 설정을 마스터 모드로 전환한 후, GPIO_B핀을 로우로 클리어할 수 있다.
제2 MCU는 SPI 설정을 마스터 모드로 전환한 후, GPIO_B핀을 하이 상태로 설정한다(단계 S560).
제2 MCU는 다음 사이클의 태스크가 수행될 시점이 되면 GPIO_B핀을 하이로 설정함으로써 다음 사이클의 태스크 동기화를 요청한다. 이후의 과정은 마스터/슬레이브 전환이 이루어지지 않을 경우와 동일하게 제 2 MCU가 마스터 슬레이브로써 동작할 수 있다.
도 5에서는 제1 MCU와 제2 MCU 사이에서 마스터와 슬레이브 사이의 전환이 수행될 경우의 동작에 대한 것이다. 제1 MCU와 제2 MCU 사이에서 마스터 MCU와 슬레이브 MCU 사이의 전환이 수행되지 않을 경우 타이밍도는 아래의 도 6과 같이 표현될 수 있다.
도 6은 본 발명의 실시예에 따른 제1 MCU 및 제2 MCU의 타이밍도를 나타낸 개념도이다.
도 6에서 단계 S600 내지 단계 S660까지는 순환 태스크(cyclic task) 동기화 제어 방법을 나타낸다.
마스터 MCU로 동작하는 제1 MCU의 GPIO 아웃풋 채널인 GPIO_A핀이 하이 상태로 설정되면서 동시에 제1 MCU와 제2 MCU 사이의 동기화된 태스크가 시작된다(단계 S600).
슬레이브 MCU로 동작하는 제2 MCU에서 태스크 수행을 마치고 SPI 통신을 위한 준비가 완료되면 SPI 통신 동기화를 위하여 제2 MCU의 GPIO 아웃풋 채널인 GPIO_B핀을 하이 상태로 설정할 수 있다(단계 S610).
제1 MCU는 GPIO_B핀의 라이징 에지를 감지하고 SPI 통신을 시작할 수 있다(단계 S620).
통신이 완료되면 제2 MCU는 다음 사이클에서 마스터 MCU로 전환하기 위하여 GPIO_B핀을 하이 상태로 유지할 수 있다(단계 S630).
제1 MCU는 GPIO_B핀이 클리어되지 않음을 탐지할 수 있고 SPI 설정을 슬레이브 모드로 전환한 후, GPIO_A핀을 로우 상태로 클리어할 수 있다(단계 S640).
제2 MCU는 제1 MCU의 GPIO_A핀이 클리어됨을 감지하고 SPI 설정을 마스터 모드로 전환한 후, GPIO_B핀을 로우로 클리어할 수 있다(단계 S650).
제2 MCU는 다음 사이클의 태스크가 수행될 시점이 되면 GPIO_B핀을 하이로 설정함으로써 다음 사이클의 태스크 동기화를 요청한다. 이후의 과정은 마스터/슬레이브 전환이 이루어지지 않을 경우와 동일하게 제 2 MCU가 마스터 슬레이브로써 동작할 수 있다(단계 S660).
도 7은 본 발명의 실시예에 따른 듀얼 MCU를 나타낸 개념도이다.
도 7을 참조하면, 듀얼 MCU(700)는 마스터 MCU 또는 슬레이브 MCU로 동작할 수 있는 제1 MCU(710) 또는 제2 MCU(720)를 포함할 수 있다. 제1 MCU(710) 및 제2 MCU(720)는 전술한 도 1 내지 도 6에서의 핸드 쉐이킹 동작을 수행할 수 있다.
예를 들어, 제1 MCU(710) 및 제2 MCU(720)는 마스터 MCU와 슬레이브 MCU 사이에서 전환이 이루어지지 않을 경우 아래와 같은 동작을 수행할 수 있다.
제1 MCU(710)는 마스터 MCU로 설정되고 우선 제1 GPIO(general purpose input output) 아웃풋을 하이 상태로 설정할 수 있다. 제1 MCU(710)는 슬레이브 MCU로 설정된 제2 MCU(720)와 동기화된 태스크를 수행하고, 제2 MCU(720)의 제2 GPIO 아웃풋 채널이 하이 상태여서 라이징 엣지를 탐지한 경우, 제2 MCU(720)와 SPI 통신을 수행할 수 있다. SPI 통신 후 제2 GPIO 아웃풋 채널이 로우 상태로 설정되는 경우, 제1 GPIO 아웃풋을 로우 상태로 설정하도록 구현될 수 있다.
제2 MCU(720)는 마스터 MCU로 설정된 제1 MCU(710)의 제1 GPIO 아웃풋이 하이 상태로 설정된 경우, 제1 MCU(710)와 동기화된 태스크를 수행할 수 있다. 제2 MCU(720)는 제2 GPIO 아웃풋 채널을 상기 하이 상태로 설정하고, 제1 MCU(710)와 SPI 통신을 수행할 수 있다. SPI 통신을 완료 후 제2 GPIO 아웃풋 채널을 로우 상태로 설정할 수 있다.
또 다른 예를 들어, 제1 MCU(710) 및 제2 MCU(720)는 마스터 MCU와 슬레이브 MCU 사이에서 전환이 이루어질 경우 아래와 같은 동작을 수행할 수 있다.
제1 MCU(710)는 마스터 MCU로 설정되고 우선 제1 GPIO(general purpose input output) 아웃풋을 하이 상태로 설정할 수 있다. 제1 MCU(710)는 슬레이브 MCU로 설정된 제2 MCU(720)와 동기화된 태스크를 수행하고, 제2 MCU(720)의 제2 GPIO 아웃풋 채널이 하이 상태여서 라이징 엣지를 탐지한 경우, 제2 MCU(720)와 SPI 통신을 수행할 수 있다. SPI 통신 후 제2 GPIO 아웃풋 채널이 하이 상태를 유지하는 경우, 제1 MCU(710)의 SPI 설정을 슬레이브 모드로 전환하고 제1 GPIO 아웃풋을 로우 상태로 설정하도록 구현될 수 있다.
제2 MCU(720)는 마스터 MCU로 설정된 제1 MCU(710)의 제1 GPIO 아웃풋이 하이 상태로 설정된 경우, 제1 MCU(710)와 동기화된 태스크를 수행할 수 있다. 제2 MCU(720)는 제2 GPIO 아웃풋 채널을 상기 하이 상태로 설정하고, 제1 MCU(710)와 SPI 통신을 수행할 수 있다. SPI 통신을 완료 후 제2 GPIO 아웃풋 채널을 하이 상태로 유지하고 SPI 설정을 마스터 모드로 전환할 수 있다. 제2 MCU(720)는 SPI 설정을 마스터 모드로 전환한 후 제2 GPIO 아웃풋 채널을 로우 상태로 설정할 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (4)

  1. 삭제
  2. 마스터 MCU(micro control unit)와 슬레이브 MCU를 포함하는 듀얼 MCU의 핸드쉐이킹 방법에 있어서,
    상기 마스터 MCU로 설정된 제1 MCU의 제1 GPIO(general purpose input output) 아웃풋을 하이 상태로 설정하는 단계;
    상기 제1 MCU와 상기 슬레이브 MCU로 설정된 제2 MCU에서 동기화된 태스크를 수행하는 단계;
    상기 제2 MCU의 제2 GPIO 아웃풋 채널을 상기 하이 상태로 설정하는 단계;
    상기 제1 MCU가 상기 제2 GPIO 아웃풋 채널의 상기 하이 상태로 인한 라이징 엣지를 탐지하고 상기 제1 MCU와 상기 제2 MCU 사이에서 SPI(serial peripheral interface) 통신을 수행하는 단계;
    상기 SPI 통신을 완료 후 상기 제2 MCU의 상기 제2 GPIO 아웃풋 채널을 상기 하이 상태로 유지하는 단계;
    상기 제1 MCU가 SPI 설정을 슬레이브 모드로 전환하고 상기 제1 MCU의 상기 제1 GPIO 아웃풋을 로우 상태로 설정하는 단계;
    상기 제2 MCU는 상기 SPI 설정을 마스터 모드로 전환하고 상기 제2 GPIO 아웃풋 채널을 상기 로우 상태로 설정하는 단계를 포함하되,
    상기 핸드쉐이킹은 상기 마스터 MCU와 상기 슬레이브 MCU 사이에서 전환이 이루어질 경우 수행되는 듀얼 MCU 의 핸드쉐이킹 방법.
  3. 삭제
  4. 마스터 MCU(micro control unit)와 슬레이브 MCU 사이에 핸드쉐이킹을 수행하는 듀얼 MCU 에 있어서,
    상기 듀얼 MCU는 제1 MCU 및 제2 MCU를 포함하고,
    상기 제1 MCU는 상기 마스터 MCU로 설정되고 제1 GPIO(general purpose input output) 아웃풋을 하이 상태로 설정하고 상기 슬레이브 MCU로 설정된 상기 제2 MCU와 동기화된 태스크를 수행하고, 상기 제2 MCU의 제2 GPIO 아웃풋 채널이 상기 하이 상태여서 라이징 엣지를 탐지한 경우, 상기 제2 MCU와 SPI(serial peripheral interface) 통신을 수행하고, 상기 SPI 통신 후 상기 제2 GPIO 아웃풋 채널이 하이 상태를 유지하는 경우, SPI 설정을 슬레이브 모드로 전환하고 상기 제1 GPIO 아웃풋을 로우 상태로 설정하도록 구현되고,
    상기 제2 MCU는 상기 마스터 MCU로 설정된 상기 제1 MCU의 상기 제1 GPIO 아웃풋이 하이 상태로 설정된 경우, 상기 제1 MCU와 동기화된 태스크를 수행하고, 제2 GPIO 아웃풋 채널을 상기 하이 상태로 설정하고, 상기 제1 MCU와 SPI(serial peripheral interface) 통신을 수행하고, 상기 SPI 통신을 완료 후 상기 제2 GPIO 아웃풋 채널을 하이 상태로 유지하고 상기 SPI 설정을 마스터 모드로 전환하고 상기 제2 GPIO 아웃풋 채널을 상기 로우 상태로 설정하도록 구현되고,
    상기 핸드쉐이킹은 상기 마스터 MCU와 상기 슬레이브 MCU 사이에서 전환이 이루어질 경우 수행되는 듀얼 MCU.
KR1020140025546A 2014-03-04 2014-03-04 듀얼 mcu에서 마스터 mcu 및 슬레이브 mcu 전환 방법 및 장치 KR101883522B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140025546A KR101883522B1 (ko) 2014-03-04 2014-03-04 듀얼 mcu에서 마스터 mcu 및 슬레이브 mcu 전환 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140025546A KR101883522B1 (ko) 2014-03-04 2014-03-04 듀얼 mcu에서 마스터 mcu 및 슬레이브 mcu 전환 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20150103905A KR20150103905A (ko) 2015-09-14
KR101883522B1 true KR101883522B1 (ko) 2018-07-30

Family

ID=54243904

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140025546A KR101883522B1 (ko) 2014-03-04 2014-03-04 듀얼 mcu에서 마스터 mcu 및 슬레이브 mcu 전환 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101883522B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102373690B1 (ko) * 2015-12-01 2022-03-17 엘지디스플레이 주식회사 데이터 송수신 장치 및 이를 포함한 터치센서 내장형 표시장치
CN108763140B (zh) * 2018-04-23 2021-02-12 深圳市文鼎创数据科技有限公司 一种双向通信的方法、系统及终端设备
CN108710597B (zh) * 2018-05-17 2022-01-28 福建升腾资讯有限公司 一种利用gpio优化mcu通信的方法及系统
KR102643094B1 (ko) 2019-04-18 2024-03-04 현대모비스 주식회사 전자식 유압 브레이크 장치 및 그의 제어 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100732830B1 (ko) 2005-12-17 2007-06-27 김건 임베디드 시스템의 고속 실시간 모니터링 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100732830B1 (ko) 2005-12-17 2007-06-27 김건 임베디드 시스템의 고속 실시간 모니터링 장치

Also Published As

Publication number Publication date
KR20150103905A (ko) 2015-09-14

Similar Documents

Publication Publication Date Title
KR101883522B1 (ko) 듀얼 mcu에서 마스터 mcu 및 슬레이브 mcu 전환 방법 및 장치
EP2587385B1 (en) Usb key device and method for realizing intelligent card communication using usb interface
TWI461920B (zh) 用於控制器介面的共同協定引擎介面
TW201122832A (en) A cascade device of serial bus with clock and cascade method
US20170116147A1 (en) System, device and method for transmitting signals between different communication interfaces
JP2009268044A (ja) データ伝送ブリッジ装置とそのコントロールチップ及びデータ伝送ブリッジ方法
WO2022161244A1 (zh) 多主机仲裁方法、装置和可读存储介质
US20170031862A1 (en) Dual-bus semiconductor chip processor architecture
WO2016089598A1 (en) Integration of downstream ports in a multiple interface device
TWI528161B (zh) 資料傳輸系統以及資料傳輸方法
WO2017049556A1 (zh) 数据传输方法和移动终端
CN104850417B (zh) 一种信息处理的方法及电子设备
US6032204A (en) Microcontroller with a synchronous serial interface and a two-channel DMA unit configured together for providing DMA requests to the first and second DMA channel
TW200519607A (en) Interrupt signal control method
CN105389155B (zh) 一种利用spi接口实现tdm音频数据接收的方法及系统
CN103207845A (zh) 将ps/2键盘连接到便携式终端的方法和便携式终端
CN107402898B (zh) 一种信息处理的方法及电子设备
CN103207850A (zh) 外接设备,异质设备的传输系统与其方法扩展功能
CN106354683B (zh) 微控制装置及应用于微控制装置的输入/输出系统
KR101490823B1 (ko) Fpga를 활용한 장치 제어용 범용 i2c 인터페이스 장치 및 이를 이용한 통신 방법
CN104426566A (zh) 一种数据收发系统及数据收发方法
CN111965655A (zh) 应用飞时测距的多媒体系统及其操作方法
KR20200057158A (ko) 클록 장애를 복원하는 수신 장치 및 이를 포함하는 전송 시스템
CN203217562U (zh) 外接设备与异质设备的传输系统
CN111158758A (zh) 一种唤醒中央处理器的方法和装置

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant