KR101499332B1 - Spi 인터페이스 및 spi 인터페이스를 통한 직렬 통신 방법 - Google Patents

Spi 인터페이스 및 spi 인터페이스를 통한 직렬 통신 방법 Download PDF

Info

Publication number
KR101499332B1
KR101499332B1 KR1020130080734A KR20130080734A KR101499332B1 KR 101499332 B1 KR101499332 B1 KR 101499332B1 KR 1020130080734 A KR1020130080734 A KR 1020130080734A KR 20130080734 A KR20130080734 A KR 20130080734A KR 101499332 B1 KR101499332 B1 KR 101499332B1
Authority
KR
South Korea
Prior art keywords
spi
signal
signals
sclk
interface
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020130080734A
Other languages
English (en)
Other versions
KR20140008260A (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 KR20140008260A publication Critical patent/KR20140008260A/ko
Application granted granted Critical
Publication of KR101499332B1 publication Critical patent/KR101499332B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • H04L7/0331Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop with a digital phase-locked loop [PLL] processing binary samples, e.g. add/subtract logic for correction of receiver clock
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

본 발명은 SPI(Serial Peripheral Interface) 프로토콜을 사용한 주변 장치와의 직렬 통신에 관한 것이며, 특히 잡음 환경을 위한 SPI 인터페이스 및 잡음 환경에서 SPI 인터페이스를 통한 직렬 통신 방법에 관한 것이다.
본 발명의 일 양태에 따라, 복수의 SPI 신호 및 내부 클럭 신호를 수신하도록 구성되며 상기 수신된 SPI 신호를 상기 내부 클럭 신호를 사용하여 동기시키도록 구성된 복수의 싱크로나이저, 및 상기 동기된 SPI 신호 및 상기 내부 클럭 신호를 수신하도록 구성되며 상기 동기된 SPI 신호 중 적어도 하나의 동기된 SPI 신호의 신호 천이를 SPI 프로토콜에 따라 검출하여 평가하도록 구성된 SPI 프로토콜 핸들러를 포함하는 SPI 인터페이스가 제공된다.

Description

SPI 인터페이스 및 SPI 인터페이스를 통한 직렬 통신 방법{SPI INTERFACE AND METHOD FOR SERIAL COMMUNICATION VIA AN SPI INTERFACE}
본 발명은 직렬 주변장치 인터페이스(Serial Peripheral Interface(SPI)) 프로토콜을 이용한 주변 장치(peripheral device)와의 직렬 통신에 관한 것이며, 특히 잡음 환경을 위한 SPI 인터페이스 및 잡음 환경에서 SPI 인터페이스를 통한 직렬 통신 방법에 관한 것이다.
SPI(Serial Peripheral Interface) 프로토콜은 집적 회로(integrated circuit(IC)) 사이의 데이터 전달(data transfer)을 위해 폭넓게 사용되는 프로토콜이며, 특히 SPI 마스터(SPI master)로도 지칭되는 호스트 프로세서(host processor)와 SPI 슬레이브(SPI slave)로도 지칭되는 하나 이상의 주변 장치(peripheral) 사이의 데이터 전달을 위해 폭넓게 사용되는 프로토콜이다. SPI 프로토콜은 네 개의 신호
CS: 칩 선택(chip select)
SCLK: 시프트 클럭(shift clock) 또는 직렬 클럭(serial clock)
SDI: 시프트 데이터 인(shift data in) 또는 직렬 데이터 인(serial data in)
SDO: 시프트 데이터 아웃(shift data out) 또는 직렬 데이터 아웃(serial data out)을 명시한다. 그러나, 대안적인 명명법(naming convention)도 또한 폭넓게 사용된다는 것이 이해되어야 한다.
SPI 프로토콜은 정확한 동작을 위해 정해진 타이밍을 요구하는 동기 프로토콜(synchronous protocol)이다. SPI 디바이스가 잡음 환경(예를 들어, 큰 스위칭 전류/전압을 갖는 전력 변환장치)에서 작동하고 있으면, SPI 디바이스 상에서 타이밍 위반(timing violation)을 야기하는 글리치(glitch)가 SPI 신호 상에서 발생할 수 있다. 타이밍 위반을 수신하는 통상적인 SPI 디바이스의 거동은 알려져 있지 않다. 통상적인 SPI 디바이스의 거동은 구현예(아날로그 필터의 사용 등)에 따라 달라지지만, 최악의 경우에 인터페이스의 모든 플립플롭은 준안정(metastable)이 되며(즉, 플립플롭은 "로우(low)" 상태와 "하이(high)" 상태 사이에 불안정 상태에 있으며, 정해지지 않은 시간 후에 안정 상태 중 하나인 "로우" 또는 "하이"로 변할 것임) 심각한 결과를 갖는 랜덤 거동(random behavior)을 야기할 수 있다.
그러나, 잡음 환경에서의 정확한 타이밍은 랜덤 잡음 이벤트의 예측 불가능으로 인해 보장되지 않을 수 있다. 통상적인 SPI 디바이스에서, 클럭 신호 상에 글리치를 억제하기 위해 아날로그 필터가 통상적으로 사용되지만, 잡음이 유발된 이벤트(noise induced event)로 인해 아날로그 필터의 사용도 또한 타이밍 위반을 완전히 배제할 수 없다. 예를 들어 아날로그 필터는 너무 작은 클럭 펄스를 통과할 수 있는데, 이는 SPI 플립플롭이 준안정이 되게 할 수 있다.
그러므로, 예를 들어 잡음 SPI 신호로 인해 타이밍 위반에 대해 둔감하며 따라서 잡음 환경에서의 애플리케이션에 적절한 직렬 주변장치 인터페이스에 대한 필요성이 존재하며, 타이밍 위반에 대해 둔감하며 따라서 잡음 환경에서의 애플리케이션에 적절한 SPI 인터페이스를 통한 직렬 통신 방법에 대한 필요성이 존재한다.
본 발명의 일 양태에 따라, 복수의 SPI 신호 및 내부 클럭 신호를 수신하며 내부 클럭 신호를 이용하여 수신된 SPI 신호를 동기시키도록 구성된 복수의 싱크로나이저, 및 동기된 SPI 신호 및 내부 클럭 신호를 수신하며 동기된 SPI 신호 중 적어도 하나의 신호 천이를 SPI 프로토콜에 따라 검출하여 평가하도록 구성된 SPI 프로토콜 핸들러를 포함하는 SPI 인터페이스가 제공된다.
본 발명의 또 다른 양태에 따라, SPI 인터페이스를 통한 직렬 통신 방법이 제공되며, 방법은 복수의 SPI 신호 및 내부 클럭 신호를 수신하는 단계, 내부 클럭 신호를 이용하여 복수의 SPI 신호를 동기시키는 단계, 및 동기된 SPI 신호 중 적어도 하나의 신호 천이를 SPI 프로토콜에 따라 검출하여 평가하는 단계를 포함한다.
본 발명의 추가의 특징, 양태 및 장점은 첨부 도면을 참조하여 이루어진 본 발명의 이하의 상세한 설명으로부터 명백하게 될 것이다.
본 발명의 추가적인 이해를 제공하기 위해 첨부 도면이 포함되며, 첨부 도면은 본 명세서에 포함되어 본 명세서의 일부분을 구성한다. 도면은 본 발명의 실시예를 예시하며, 상세한 설명과 함께 본 발명의 원리를 설명하는 역할을 한다. 본 발명의 다른 실시예 및 본 발명의 의도된 장점 중 많은 장점이 이하의 상세한 설명을 참조하여 보다 잘 이해되므로 그러한 실시예 및 장점이 쉽게 이해될 것이다.
도 1은 본 발명의 일 실시예에 따른 SPI 인터페이스의 단순화된 개략적인 도면을 예시적으로 도시한다.
도 2는 본 발명의 일 실시예에 따른 예시적인 방법을 도시한다.
이하의 상세한 설명에서는, 본 발명의 일부분을 형성하면서 본 발명이 실시될 수 있는 구체적인 실시예가 예시로서 도시되어 있는 첨부 도면이 참조된다. 본 발명의 범위를 벗어나지 않으면서 다른 실시예가 이용될 수 있으며 구조적인 변화 또는 다른 변화가 수행될 수 있다는 것이 이해되어야 한다. 그러므로, 이하의 상세한 설명은 제한적인 의미로 받아들여지지 않아야 하며, 본 발명의 범위는 첨부된 특허청구범위에 의해 정의된다.
도 1은 본 발명의 일 실시예에 따른 SPI 인터페이스의 단순화된 개략적인 도면을 예시적으로 도시한다.
도 1에 도시된 SPI 인터페이스는 직렬 데이터 인(serial data in(SDI)) 신호 입력(11a), 칩 선택(chip select(CS)) 신호 입력(11b), 직렬 클럭(serial clock(SCLK)) 신호 입력(11c), 직렬 데이터 아웃(serial data out(SDO)) 신호 출력(11d), 내부 클럭 입력(13), 제 1, 제 2 및 제 3 싱크로나이저(12a, 12b 및 12c), 제 1, 제 2 및 제 3 디지털 필터(14a, 14b 및 14c), SPI 프로토콜 핸들러(SPI protocol handler)(16), 및 출력 스테이지(18)를 포함한다.
도 1에 도시된 실시예에서, 제 1, 제 2 및 제 3 싱크로나이저(12a, 12b 및 12c), 디지털 필터(14a, 14b 및 14c), SPI 프로토콜 핸들러(16), 및 SPI 출력 스테이지(18)는 내부 클럭 신호를 수신하기 위해 내부 클럭 신호 입력(13)에 접속된다. 내부 클럭 신호는 내부의 잘 정의된 클럭(internal well-defined clock)에 의해 제공되며, 특히 칩의 외부로부터의 잡음에 영향을 받지 않는 온 칩 오실레이터(on-chip oscillator)에 의해 제공된다. 따라서, SPI의 모든 디바이스는 잘 정의된 내부 클럭에 의해 클럭킹된다.
본 발명의 바람직한 일 실시예에서, 제 1, 제 2 및 제 3 싱크로나이저(12a, 12b 및 12c)는 싱크로나이저 플립플롭(synchronizer flip-flop)이다. 싱크로나이저 플립플롭이 미리 정해진 회복 시간(recovery time) 후에 준안정 상태(metastable state)로부터 회복하므로, 싱크로나이저 플립플롭은 소정의 시간 간격 동안 준안정(metastability)을 경험하게 된다. 미리 정해진 회복 시간이 경과하기 전에 싱크로나이저 플립플롭의 출력 또는 결과가 다른 동기 로직(synchronous logic)(예를 들어, 디지털 필터 및 SPI 프로토콜 핸들러(SPI protocol handler))에 의해 사용되지 않도록 회복 시간의 기간은 내부 클럭 주기보다 작아야 한다.
제 1 싱크로나이저(12a)는 SDI 입력(11a) 및 제 1 디지털 필터(14a)에 추가로 접속된다. 제 1 싱크로나이저(12a)는 SPI 신호를 SDI 입력(11a)으로부터 수신하고, 수신된 SPI 신호를 동기시키며, 동기된 SPI 신호를 제 1 디지털 필터(14a)로 출력한다.
제 2 싱크로나이저(12b)는 CS 입력(11b) 및 제 2 디지털 필터(14b)에 추가로 접속된다. 제 2 싱크로나이저(12b)는 CS 신호를 CS 입력(11b)으로부터 수신하고, 수신된 CS 신호를 동기시키며, 동기된 CS 신호를 제 2 디지털 필터(14b)로 출력한다.
제 3 싱크로나이저(12c)는 SCLK 입력(11c) 및 제 3 디지털 필터(14c)에 추가로 접속된다. 제 3 싱크로나이저(12c)는 SCLK 신호를 SCLK 입력(11c)으로부터 수신하고, 수신된 SCLK 신호를 동기시키며, 동기된 SCLK 신호를 제 3 디지털 필터(14c)로 출력한다.
디지털 필터(14a, 14b 및 14c)는 소정 개수(예를 들어, 3, 5, 8 등)의 연속하는 샘플이 동일한 값(예를 들어, 1)을 포함하는지를 점검할 수 있으며, 만일 그렇다면 필터링 결과로서 이러한 값을 출력할 수 있다. 대안적으로, 디지털 필터(14a, 14b 및 14c)는 많은 수의 연속하는 샘플 중 소정 비율의 연속하는 샘플(예를 들어, 5 중에서 4, 7 중에서 5 등)이 동일한 값(예를 들어, 1)을 포함하는지를 점검할 수 있으며, 만일 그렇다면 필터링 결과로서 이러한 값을 출력할 수 있다. 그러나, 본 발명은 전술된 예시적인 필터 설계로 한정되지 않으며 다른 필터 설계도 또한 이용될 수 있다는 것이 이해되어야 한다.
제 1 디지털 필터(14a)는 동기된 SDI 신호를 제 1 싱크로나이저(12a)로부터 수신하고, 동기된 SDI 신호를 필터링하며, 동기되어 필터링된 SPI 신호(SDI 필트(SDI filt))를 SPI 프로토콜 핸들러(16)로 출력한다.
제 2 디지털 필터(14b)는 동기된 CS 신호를 제 2 싱크로나이저(12b)로부터 수신하고, 동기된 CS 신호를 필터링하며, 동기되어 필터링된 CS 신호(CS 필트(CS filt))를 SPI 프로토콜 핸들러(16)로 출력한다.
제 3 디지털 필터(14c)는 동기된 SCLK 신호를 제 3 싱크로나이저(12c)로부터 수신하고, 동기된 SCLK 신호를 필터링하며, 동기되어 필터링된 SCLK 신호(SCLK 필트(SCLK filt))를 SPI 프로토콜 핸들러(16)로 출력한다. 또한, 제 3 필터는 SPI 출력 스테이지(18)로 출력되는 별개의 SCLK 신호(SCLK 패스트(SCLK fast))도 또한 생성한다. 이러한 신호, SCLK 패스트는 SCLK 필트의 지연보다 작은 지연을 갖는데, 즉 SCLK 패스트는 SCLK 필트가 통과했던 필터링 스테이지보다 적은 개수의 필터링 스테이지를 통과한다.
따라서, 모든 SPI 입력 신호가 SPI 프로토콜 핸들러에 도달하기 전에 예를 들어 단일 잡음 이벤트를 억제하기 위해 모든 SPI 입력 신호는 싱크로나이저(특히, 싱크로나이저 플립플롭)(12a, 12b 및 12c)에 의해 동기되며 디지털 필터(14a, 14b 및 14c)에 의해 필터링된다. 또한, SPI 프로토콜 핸들러 내에 포함된 플립플롭으로서 이하에서 "SPI 플립플롭"으로 지칭되는 모든 SPI 관련 플립플롭은 (잘 정의된) 내부 클럭을 이용하여 클럭킹된다. 도 1의 SPI 인터페이스에서, 내부 클럭이 외부 SPI 클럭(SCLK)보다 빠른 것이 중요한데, 왜냐하면 그렇지 않은 경우에 싱크로나이저(12a, 12b 및 12c) 및 디지털 필터(14a, 14b 및 14c)는 SPI 신호 내에 포함된 천이 중 일부 천이를 상실할 것이기 때문이다.
본 발명의 바람직한 일 실시예에서, 디지털 필터(14a, 14b 및 14c)의 디지털 필터 스테이지는 동기되어 필터링된 상이한 SPI 입력 신호가 동일한 시간만큼 지연되도록 동등하다.
유리하게는, 예를 들어 칩 선택 신호가 활성화되지 않을 때 디지털 필터(14a, 14b 및 14c)가 클럭킹되지 않게 할 수 있는 클럭 게이팅(clock gating)을 사용함으로써 전력 소비가 감소될 수 있다.
이러한 맥락에서, 본 발명의 소정의 실시예에서 칩 선택 신호는 "하이 활성화(high-active)" 신호이며, 따라서 CS 신호가 하이(high)일 때 "칩 선택"은 활성화되며 CS 신호가 로우(low)일 때 "칩 선택"은 활성되지 않는다는 것이 이해되어야 한다. 대안적인 실시예에서, 칩 선택 신호는 또한 "nCS 신호"로 지칭될 수 있는 "로우 활성화(low-active)" 신호일 수도 있다. 이 경우에, nCS 신호가 로우일 때 "칩 선택"은 활성화되며, nCS 신호가 하이일 때 "칩 선택"은 활성화되지 않는다.
그러므로, 도 1에 도시된 SPI 인터페이스에서, (SPI 타이밍 위반(SPI timing violation)을 야기하는) 외부 잡음 이벤트 또는 글리치(glitch)는 SPI 플립플롭(즉, SPI 프로토콜 핸들러(16) 내에 포함된 플립플롭)에서 타이밍 위반을 야기하기 않는다. 그렇지 않으면, SPI 플립플롭은 심각한 결과를 갖는 SPI 플립플롭/SPI 인터페이스의 랜덤 거동(random behavior)을 야기할 수 있었던 외부 글리치로 인해 준안정이 될 수 있었다.
싱크로나이저 플립플롭이 미리 정해진 회복 시간 후에 준안정 상태로부터 회복하므로 이들 싱크로나이저 플립플롭은 소정의 시간 간격 동안 준안정을 경험할 수 있는 도 1에 도시된 SPI 인터페이스 내에 포함된 유일한 플립플롭이다.
SPI 프로토콜 핸들러(16)는 동기되어 필터링된 SPI 입력 신호 SDI 필트, CS 필트, SCLK 필트를 수신하고, 수신된 SPI 입력 신호 내의 신호 천이(signal transition)(즉, 상승/하강 에지)를 검출하며, 검출된 신호 천이를 SPI 프로토콜에 따라 평가한다.
본 발명의 바람직한 실시예에서, 디지털 필터(14a, 14b 및 14c)는 필터링된 SPI 신호의 신호 천이(즉, 상승/하강 에지)를 나타내는 신호를 추가로 생성한다. 이 경우에, SPI 프로토콜 핸들러(16)는 동기되어 필터링된 SPI 입력 신호는 물론 평가를 위한 SPI 입력 신호의 신호 천이를 나타내는 상응하는 신호를 디지털 필터(14a, 14b 및 14c)로부터 수신한다.
SPI 프로토콜에 따른 SPI 입력 신호의 예시적인 평가는 이하에서 간단하게 설명될 것이다. SDI 접근(SDI access)은 CS 신호의 하나의 에지(예를 들어, 상승 에지)와 함께 시작할 수 있다. 이 시점에서, SPI 프로토콜 핸들러(16) 내에 포함된 시프트 레지스터(shift register)가 개시되며, 즉 외부 소스에 의해 제공된 병렬 출력 값이 SPI 프로토콜 핸들러(16)의 시프트 레지스터 내로 샘플링된다.
출력 스테이지(18)는 더 작은 고유 지연(smaller intrinsic delay)을 갖는 별개의 SCLK 신호인 SCLK 패스트(SCLK fast)를 추가로 수신하며, SCLK 패스트는 SPI 프로토콜 핸들러로 제공된 SCLK 신호인 SCLK 필트(SCLK filt)보다 덜 필터링된다. 따라서, 반응 시간이 감소될 수 있어서, 출력 스테이지(18)는 SCLK 신호의 하나의 에지(예를 들어, 상승 에지) 직후에 출력 비트를 SDO 출력(11d)으로 제공할 수 있다.
클럭 신호 SCLK 패스트가 SCLK 필트보다 덜 필터링되므로, 클럭 신호 SCLK 패스트는 약간의 타이밍 변화를 포함할 수 있다. 그러나, 전달된 값(forwarded value)(출력 비트)이 단지 완전히 필터링된 SCLK 필트 신호에 의해 클럭킹된 SPI 프로토콜 핸들러의 시프트 레지스터에 의해서만 제공되므로(그리고 그에 따라 정의되므로), 이들 타이밍 변화는 정해지지 않은 상태에 도달할 수 없다.
그런 다음, SCLK 신호의 하나의 에지(예를 들어, 하강 에지) 후에, SDI 값이 시프트 레지스터 내로 "시프트"되며, SDI 값은 시프트 레지스터의 "제 1" 위치로 샘플링되며, 시프트 레지스터의 "마지막" 위치에 위치된 비트, 예를 들어 MSB는 시프트 레지스터의 밖으로 시프트되는 반면, 시프트 레지스터 내의 모든 다른 비트는 한 위치씩 시프트되도록 시프트 레지스터 내에 포함된 모든 비트가 한 위치씩 시프트된다.
다시, 출력 스테이지(18)는 더 작은 고유 지연을 갖는 별개의 SCLK 신호인 SCLK 패스트(SCLK fast)를 수신하는데, 왜냐하면 SCLK 패스트는 SPI 프로토콜 핸들러로 제공된 SCLK 신호인 SCLK 필트(SCLK filt)보다 덜 필터링되기 때문이다. 따라서, 반응 시간이 감소될 수 있어서, 출력 스테이지는 SCLK 신호의 하나의 에지(예를 들어, 상승 에지) 직후에 출력 비트를 SDO 출력(11d)으로 제공할 수 있다.
그런 다음, SCLK 신호의 또 다른 에지 후에, 예를 들어 하강 에지 후에, 다음 SDI 값이 시프트 레지스터 내로 "시프트"되며, 다음 SDI 값은 시프트 레지스터의 "제 1" 위치로 샘플링되며, 시프트 레지스터의 "마지막" 위치에 위치된 비트는 시프트 레지스터의 밖으로 시프트되는 반면, 시프트 레지스터 내의 모든 다른 비트는 한 위치씩 시프트되도록 시프트 레지스터 내에 포함된 모든 비트가 한 위치씩 시프트된다.
칩 선택 신호가 활성화되는 한(예를 들어, CS가 하이이면) 전술된 단계가 반복된다. 칩 선택 신호가 활성되지 않을 때(예를 들어, CS가 로우로 변화할 때), 접근이 완료되며, 콘텐츠가 읽혀져서 병렬 입력 값으로서 또 다른 디바이스(on-chip device)로 제공될 수 있다. 소정의 실시예에서, 칩 선택 신호는 시프트 레지스터의 전체 콘텐츠가 단일 SPI 접근(single SPI access) 중에 대체되며, 즉 모든 "이전의" 비트가 시프트 아웃되고 시프트 레지스터 내로 연속적으로 샘플링된 상응하는 개수의 수신된 SDI 값에 의해 대체되도록 시프트 레지스터 내에 포함된 비트의 개수와 동일한 고정된 개수의 SCLK 사이클 동안 활성화된다.
본 발명의 바람직한 실시예에서, SDI 프로토콜 핸들러는
· SCLK 클럭이 클럭킹을 시작하기 전에 칩 선택 신호 상에 활성 에지가 존재했었는지를 점검하는 것,
· SCLK 신호의 적어도 하나의 에지(예를 들어, 하강 에지)가 발생했는지를 점검하는 것,
· SCLK 신호의 미리 정해진 개수의 에지(예를 들어, 하강 에지)가 발생했는지를 점검하는 것,
· SCLK 신호의 에지들 사이의 시간 간격을 평가하는 것, 및
· SPI 신호의 기간을 평가하는 것과 같은 추가의 SPI 프로토콜 점검 및/또는 평가를 수행하기 위해 디지털 필터의 출력을 추가로 모니터한다.
SPI 프로토콜 점검 및/또는 평가의 결과에 기반하여, SPI 프로토콜 핸들러(16)는 SPI 접근이 유효했었는지 여부를 판단한다. 접근이 유효하지 않았다면, 접근은 무시되어 무효로 식별되며, 즉 이러한 접근 내에서 수신된 모든 데이터가 드롭(drop)되며, SPI 프로토콜 핸들러(16)는 유리하게는 오류 플래그 비트를 설정한다.
그러므로, 도 1에 도시된 SPI 인터페이스는 외부 SPI 신호가 결정적인 SPI 플립플롭 입력에 (직접) 접속되지 않게 함으로써 정해진 SPI 거동을 보장한다. 심지어 접근 중에 SPI 타이밍 위반인 경우에도, 정해진 SPI 거동이 보장되며, 따라서 SPI 접근 내에 타이밍 위반이 검출되면, 각각의 SPI 접근이 오류로서 식별되고, 이러한 접근에서 수신된 모든 데이터는 드롭되며 오류 플래그가 추가로 설정될 수 있다.
도 2는 본 발명의 일 실시예에 따른 예시적인 방법을 도시한다. SPI 인터페이스를 통한 직렬 통신 방법은
복수의 SPI 신호 및 내부 클럭 신호를 수신하는 단계(단계 202),
내부 클럭 신호를 이용하여 복수의 SPI 신호를 동기시키는 단계(단계204),
동기된 SPI 신호를 디지털 필터링하는 단계(단계 206),
동기되어 필터링된 SPI 신호 중 적어도 하나의 신호 천이를 SPI 프로토콜에 따라 검출하여 평가하는 단계(단계 208)를 포함한다.
비록 특정 실시예가 본 명세서에 예시되며 설명되었지만, 다양한 대안적 및/또는 균등한 구현이 본 발명의 범위를 벗어나지 않으면서 도시되며 설명된 구체적인 실시예를 대체할 수 있다는 것이 당업자에게 이해될 것이다. 본 출원은 본 명세서에서 논의된 구체적인 실시예의 임의의 변경 또는 변형을 포괄하도록 의도된다. 그러므로, 본 발명은 특허청구범위 및 그의 균등물에 의해서만 제한되도록 의도된다.

Claims (26)

  1. 복수의 SPI 신호 및 내부 클럭 신호를 수신하며 상기 수신된 SPI 신호를 상기 내부 클럭 신호를 사용하여 동기시키도록 구성된 복수의 싱크로나이저, 및
    상기 동기된 SPI 신호 및 상기 내부 클럭 신호를 수신하며 상기 동기된 SPI 신호 중 적어도 하나의 동기된 SPI 신호의 신호 천이를 SPI 프로토콜에 따라 검출하여 평가하도록 구성된 SPI 프로토콜 핸들러를 포함하되,
    상기 복수의 SPI 신호는 칩 선택(CS) 신호, 직렬 클럭 (SCLK) 신호 및 직렬 데이터 인(SDI) 신호를 포함하는
    SPI 인터페이스.
  2. 제 1 항에 있어서,
    상기 SPI 프로토콜 핸들러는 상기 수신된 SPI 신호 중 상기 적어도 하나의 상기 신호 천이의 상기 평가에 기반하여 상기 복수의 SPI 신호가 유효 접근(valid access)을 형성하는지를 판단하도록 더 구성되는
    SPI 인터페이스.
  3. 제 2 항에 있어서,
    상기 SPI 프로토콜 핸들러는 상기 복수의 SPI 신호가 유효 접근을 형성하지 않는 경우에 상기 복수의 SPI 신호를 드롭시키도록 더 구성되는
    SPI 인터페이스.
  4. 제 2 항에 있어서,
    상기 SPI 프로토콜 핸들러는 상기 복수의 SPI 신호가 유효 접근을 형성하지 않는 경우에 오류 플래그를 설정하도록 더 구성되는
    SPI 인터페이스.
  5. 삭제
  6. 제 2 항에 있어서,
    상기 수신된 SPI 신호 중 상기 적어도 하나의 상기 신호 천이의 상기 평가는
    - 상기 SCLK 신호가 클럭킹을 시작하기 전에 상기 CS 신호 상에 에지가 존재했었는지를 점검하는 것,
    - 상기 SCLK 신호의 적어도 하나의 에지가 발생했는지를 점검하는 것,
    - 상기 SCLK 신호의 미리 정해진 개수의 하강 또는 상승 에지가 발생했는지를 점검하는 것,
    - 상기 SCLK 신호의 에지들 사이의 시간 간격을 평가하는 것, 및
    - 상기 SPI 간격의 기간을 평가하는 것 중 적어도 하나를 포함하는
    SPI 인터페이스.
  7. 제 1 항에 있어서,
    상기 복수의 싱크로나이저 중 상기 싱크로나이저는 싱크로나이저 플립플롭인
    SPI 인터페이스.
  8. SPI 인터페이스를 통한 직렬 통신 방법으로서,
    복수의 SPI 신호 및 내부 클럭 신호를 수신하는 단계와,
    상기 내부 클럭 신호를 이용하여 상기 복수의 SPI 신호를 동기시키는 단계와,
    상기 동기된 SPI 신호 중 적어도 하나의 신호 천이를 SPI 프로토콜에 따라 검출하여 평가하는 단계를 포함하되,
    상기 복수의 SPI 신호는 칩 선택(CS) 신호, 직렬 클럭 (SCLK) 신호 및 직렬 데이터 인(SDI) 신호를 포함하는
    방법.
  9. 제 8 항에 있어서,
    상기 수신된 SPI 신호 중 상기 적어도 하나의 상기 신호 천이의 상기 평가에 기반하여 상기 복수의 SPI 신호가 유효 접근을 형성하는지를 판단하는 단계를 더 포함하는
    방법.
  10. 제 9 항에 있어서,
    상기 복수의 SPI 신호가 유효 접근을 형성하지 않는 경우에 상기 복수의 SPI 신호를 드롭시키는 단계를 더 포함하는
    방법.
  11. 제 9 항에 있어서,
    상기 복수의 SPI 신호가 유효 접근을 형성하지 않는 경우에 오류 플래그를 설정하는 단계를 더 포함하는
    방법.

  12. 삭제
  13. 제 9 항에 있어서,
    상기 수신된 SPI 신호 중 상기 적어도 하나의 상기 신호 천이의 상기 평가는
    - 상기 SCLK 신호가 클럭킹을 시작하기 전에 상기 CS 신호 상에 에지가 존재했었는지를 점검하는 것,
    - 상기 SCLK 신호의 적어도 하나의 에지가 발생했는지를 점검하는 것,
    - 상기 SCLK 신호의 미리 정해진 개수의 하강 또는 상승 에지가 발생했는지를 점검하는 것,
    - 상기 SCLK 신호의 에지들 사이의 시간 간격을 평가하는 것, 및
    - 상기 SPI 간격의 기간을 평가하는 것 중 적어도 하나를 포함하는
    방법.
  14. 복수의 SPI 신호 및 내부 클럭 신호를 수신하며 상기 내부 클럭 신호를 이용하여 상기 수신된 SPI 신호를 동기시키도록 구성된 복수의 싱크로나이저,
    상기 동기된 SPI 신호를 수신하며 필터링하도록 구성된 복수의 디지털 필터, 및
    상기 동기되어 필터링된 SPI 신호 및 상기 내부 클럭 신호를 수신하며 상기 수신된 SPI 신호 중 적어도 하나의 신호 천이를 SPI 프로토콜에 따라 검출하여 평가하도록 구성된 SPI 프로토콜 핸들러를 포함하되,
    상기 복수의 SPI 신호는 칩 선택(CS) 신호, 직렬 클럭 (SCLK) 신호, 및 직렬 데이터 인(SDI) 신호를 포함하는
    SPI 인터페이스.
  15. 제 14 항에 있어서,
    상기 SPI 프로토콜 핸들러는 상기 수신된 SPI 신호 중 상기 적어도 하나의 상기 신호 천이의 상기 평가에 기반하여 상기 복수의 SPI 신호가 유효 접근을 형성하는지를 판단하도록 더 구성되는
    SPI 인터페이스.
  16. 제 15 항에 있어서,
    상기 SPI 프로토콜 핸들러는 상기 복수의 SPI 신호가 유효 접근을 형성하지 않는 경우에 상기 복수의 SPI 신호를 드롭시키도록 더 구성되는
    SPI 인터페이스.
  17. 제 15 항에 있어서,
    상기 SPI 프로토콜 핸들러는 상기 복수의 SPI 신호가 유효 접근을 형성하지 않는 경우에 오류 플래그를 설정하도록 더 구성되는
    SPI 인터페이스.
  18. 삭제
  19. 제 15 항에 있어서,
    상기 수신된 SPI 신호 중 상기 적어도 하나의 상기 신호 천이의 상기 평가는
    - 상기 SCLK 신호가 클럭킹을 시작하기 전에 상기 CS 신호 상에 에지가 존재했었는지를 점검하는 것,
    - 상기 SCLK 신호의 적어도 하나의 에지가 발생했는지를 점검하는 것,
    - 상기 SCLK 신호의 미리 정해진 개수의 하강 또는 상승 에지가 발생했는지를 점검하는 것,
    - 상기 SCLK 신호의 에지들 사이의 시간 간격을 평가하는 것, 및
    - 상기 SPI 간격의 기간을 평가하는 것 중 적어도 하나를 포함하는
    SPI 인터페이스.
  20. 제 14 항에 있어서,
    상기 복수의 싱크로나이저 중 상기 싱크로나이저는 싱크로나이저 플립플롭인
    SPI 인터페이스.
  21. SPI 인터페이스를 통한 직렬 통신 방법으로서,
    복수의 SPI 신호 및 내부 클럭 신호를 수신하는 단계,
    상기 내부 클럭 신호를 이용하여 상기 복수의 SPI 신호를 동기시키는 단계,
    상기 동기된 SPI 신호를 디지털 필터링하는 단계,
    상기 동기되어 디지털 필터링된 SPI 신호 및 상기 내부 클럭 신호를 SPI 프로토콜 핸들러에 의해 수신하는 단계, 및
    상기 수신된 SPI 신호 중 적어도 하나의 신호 천이를 SPI 프로토콜에 따라 상기 SPI 프로토콜 핸들러에 의해 검출하여 평가하는 단계를 포함하되,
    상기 복수의 SPI 신호는 칩 선택(CS) 신호, 직렬 클럭 (SCLK) 신호 및 직렬 데이터 인(SDI) 신호를 포함하는
    방법.
  22. 제 21 항에 있어서,
    상기 수신된 SPI 신호 중 상기 적어도 하나의 상기 신호 천이의 상기 평가에 기반하여 상기 복수의 SPI 신호가 유효 접근을 형성하는지를 상기 SPI 프로토콜 핸들러에 의해 판단하는 단계를 더 포함하는
    방법.
  23. 제 22 항에 있어서,
    상기 복수의 SPI 신호가 유효 접근을 형성하지 않는 경우에 상기 복수의 SPI 신호를 드롭시키는 단계를 더 포함하는
    방법.
  24. 제 22 항에 있어서,
    상기 복수의 SPI 신호가 유효 접근을 형성하지 않는 경우에 오류 플래그를 상기 SPI 프로토콜 핸들러에 의해 설정하는 단계를 더 포함하는
    방법.

  25. 삭제
  26. 제 22 항에 있어서,
    상기 수신된 SPI 신호 중 상기 적어도 하나의 상기 신호 천이의 상기 평가는
    - 상기 SCLK 신호가 클럭킹을 시작하기 전에 상기 CS 신호 상에 에지가 존재했었는지를 점검하는 것,
    - 상기 SCLK 신호의 적어도 하나의 에지가 발생했는지를 점검하는 것,
    - 상기 SCLK 신호의 미리 정해진 개수의 하강 또는 상승 에지가 발생했는지를 점검하는 것,
    - 상기 SCLK 신호의 에지들 사이의 시간 간격을 평가하는 것, 및
    - 상기 SPI 간격의 기간을 평가하는 것 중 적어도 하나를 포함하는
    방법.
KR1020130080734A 2012-07-11 2013-07-10 Spi 인터페이스 및 spi 인터페이스를 통한 직렬 통신 방법 Active KR101499332B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/546,092 2012-07-11
US13/546,092 US9418037B2 (en) 2012-07-11 2012-07-11 SPI interface and method for serial communication via an SPI interface having an SPI protocol handler for evaluating signal transitions of SPI signals

Publications (2)

Publication Number Publication Date
KR20140008260A KR20140008260A (ko) 2014-01-21
KR101499332B1 true KR101499332B1 (ko) 2015-03-05

Family

ID=48792928

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130080734A Active KR101499332B1 (ko) 2012-07-11 2013-07-10 Spi 인터페이스 및 spi 인터페이스를 통한 직렬 통신 방법

Country Status (4)

Country Link
US (1) US9418037B2 (ko)
EP (1) EP2685388A1 (ko)
KR (1) KR101499332B1 (ko)
CN (1) CN103544129B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9706508B2 (en) * 2013-04-05 2017-07-11 Honeywell International Inc. Integrated avionics systems and methods
KR101630599B1 (ko) 2015-02-16 2016-06-16 주식회사 이노와이어리스 시스템 성능 향상을 위한 제어 로직을 구비한 직렬 주변기기 인터페이스 및 그 구동 방법
JP6447531B2 (ja) * 2016-01-29 2019-01-09 オムロン株式会社 信号処理装置、信号処理装置の制御方法、制御プログラム、および記録媒体
US10324889B2 (en) 2016-08-07 2019-06-18 Demand Peripherals, Inc. System and method to tolerate ringing on a serial data bus
US9964597B2 (en) * 2016-09-01 2018-05-08 Texas Instruments Incorporated Self test for safety logic
CN112559426A (zh) * 2020-12-15 2021-03-26 广州智慧城市发展研究院 数据传输方法、接口电路以及装置
CN112506838A (zh) * 2021-02-03 2021-03-16 青岛鼎信通讯股份有限公司 一种应用于ir46电表检定装置的spi时钟同步方法
US11341081B1 (en) 2021-03-10 2022-05-24 Texas Instruments Incorporated Propagation delay compensation for SPI interfaces
CN114896182B (zh) * 2022-05-11 2023-10-20 地平线(上海)人工智能技术有限公司 存储装置、方法、电子设备和存储介质
CN119576831B (zh) * 2025-02-07 2025-04-25 成都电科星拓科技有限公司 Spi信号跨屏发送方法及可折叠电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080006150A (ko) * 2006-07-11 2008-01-16 삼성전자주식회사 직렬 통신 방식을 이용한 데이터 송수신 장치 및 방법

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4575644A (en) * 1983-12-02 1986-03-11 Burroughs Corporation Circuit for prevention of the metastable state in flip-flops
US5878234A (en) * 1996-09-10 1999-03-02 Sierra Wireless, Inc. Low power serial protocol translator for use in multi-circuit board electronic systems
US5886658A (en) * 1997-05-15 1999-03-23 Crystal Semiconductor Corporation Serial port interface system and method for an analog-to-digital converter
EP1005213A3 (en) * 1998-11-02 2000-07-05 Information Storage Devices, Inc. Multiple message multilevel analog signal recording and playback system containing configurable analog processing functions
JP3973308B2 (ja) * 1998-11-27 2007-09-12 富士通株式会社 セルフタイミング制御回路を内蔵する集積回路装置
JP2000187676A (ja) * 1998-12-22 2000-07-04 Mitsubishi Electric Corp 論理合成装置および論理合成プログラムを記録したコンピュータ読み取り可能な記録媒体
US7020076B1 (en) * 1999-10-26 2006-03-28 California Institute Of Technology Fault-tolerant communication channel structures
TW583571B (en) 2002-06-18 2004-04-11 Etoms Electronics Corp Noise protection method and system of serial peripheral interface
JP2006060436A (ja) 2004-08-19 2006-03-02 Meidensha Corp 同期式ディジタルフィルタ
US7319406B2 (en) * 2005-09-30 2008-01-15 Rockwell Automation Technologies, Inc. System and method of channel serialization in a safety I/O product
US7348915B2 (en) * 2006-07-19 2008-03-25 Quickfilter Technologies, Inc. Programmable digital filter system
GB2450862B (en) * 2007-04-25 2011-07-20 Wolfson Microelectronics Plc Synchronisation circuit and method
US8510485B2 (en) * 2007-08-31 2013-08-13 Apple Inc. Low power digital interface
US7963443B2 (en) * 2007-12-31 2011-06-21 Vivotech, Inc. Systems, methods, and computer program products for mitigating signal noise at a wireless smart device reader
WO2010008867A2 (en) 2008-06-23 2010-01-21 Hart Communication Foundation Wireless communication network analyzer
WO2010080172A1 (en) * 2009-01-12 2010-07-15 Rambus Inc. Clock-forwarding low-power signaling system
US8433019B2 (en) * 2009-07-24 2013-04-30 Electronics And Telecommunications Research Institute System and apparatus for synchronization between heterogeneous periodic clock domains, circuit for detecting synchronization failure and data receiving method
US8244964B2 (en) * 2009-12-23 2012-08-14 Spansion Llc Read preamble for data capture optimization
US8058902B1 (en) * 2010-06-11 2011-11-15 Texas Instruments Incorporated Circuit for aligning input signals
JP2012023486A (ja) 2010-07-13 2012-02-02 On Semiconductor Trading Ltd 半導体装置
US8135881B1 (en) * 2010-09-27 2012-03-13 Skyworks Solutions, Inc. Dynamically configurable serial data communication interface
CN102437736A (zh) 2010-09-29 2012-05-02 北京京东方光电科技有限公司 线性电源芯片电压输出调节方法、芯片及系统
US8775714B2 (en) * 2012-01-30 2014-07-08 Infineon Technologies Ag System and method for a bus interface

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080006150A (ko) * 2006-07-11 2008-01-16 삼성전자주식회사 직렬 통신 방식을 이용한 데이터 송수신 장치 및 방법

Also Published As

Publication number Publication date
EP2685388A1 (en) 2014-01-15
US20140019791A1 (en) 2014-01-16
CN103544129B (zh) 2016-12-07
US9418037B2 (en) 2016-08-16
KR20140008260A (ko) 2014-01-21
CN103544129A (zh) 2014-01-29

Similar Documents

Publication Publication Date Title
KR101499332B1 (ko) Spi 인터페이스 및 spi 인터페이스를 통한 직렬 통신 방법
US8719613B2 (en) Single-wire serial interface with delay module for full clock rate data communication between master and slave devices
US8386828B1 (en) Circuit for estimating latency through a FIFO buffer
CN201663588U (zh) 一种实现多相位时钟分数分频的装置
JP2009219021A (ja) データリカバリ回路
US8248134B2 (en) Digital suppression of spikes on an I2C bus
CN100392560C (zh) 多时钟域系统复位电路
EP3739463B1 (en) Circuit for asynchronous data transfer
KR20170139673A (ko) 통합 회로들 사이에서의 통신
US10924091B2 (en) Immediate fail detect clock domain crossing synchronizer
JP2004056803A (ja) 非同期データ通信インターフェイス用プログラム可能グリッチフィルタ
CN104467753B (zh) 一种可滤除毛刺的跳沿检测方法及装置
Caputa et al. An on-chip delay-and skew-insensitive multicycle communication scheme
JP2011199743A (ja) クロック異常検出回路
JP3825722B2 (ja) 半導体回路装置
CN100495917C (zh) 一种突波分离电路
CN112688670B (zh) 具有抗噪性和毛刺事件跟踪的去抖动电路
WO2006056904A2 (en) Globally asynchronous locally synchronous systems
JP2003078397A (ja) ディジタル論理入力信号のノイズをフィルタリングするための方法及び装置
US7747889B2 (en) Bus having a dynamic timing bridge
US20160140078A1 (en) Control device for I2C slave device
US7627065B2 (en) Generating a clock crossing signal based on clock ratios
EP2447805A1 (en) Apparatus and method for synchronizing and providing a glitch-free clock
WO2006070507A1 (ja) データ受信装置及びデータ受信方法
CN105653378B (zh) 微处理器异步读取外设fifo长度的方法

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20130710

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20140626

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20141128

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20150227

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20150227

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20180219

Start annual number: 4

End annual number: 4