KR101336105B1 - 인터럽트 가능 클록을 지닌 데이터 버스 인터페이스 - Google Patents

인터럽트 가능 클록을 지닌 데이터 버스 인터페이스 Download PDF

Info

Publication number
KR101336105B1
KR101336105B1 KR1020087017179A KR20087017179A KR101336105B1 KR 101336105 B1 KR101336105 B1 KR 101336105B1 KR 1020087017179 A KR1020087017179 A KR 1020087017179A KR 20087017179 A KR20087017179 A KR 20087017179A KR 101336105 B1 KR101336105 B1 KR 101336105B1
Authority
KR
South Korea
Prior art keywords
data
clock
clk
data transmission
circuit
Prior art date
Application number
KR1020087017179A
Other languages
English (en)
Other versions
KR20080091341A (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 KR20080091341A publication Critical patent/KR20080091341A/ko
Application granted granted Critical
Publication of KR101336105B1 publication Critical patent/KR101336105B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/06Dc level restoring means; Bias distortion correction ; Decision circuits providing symbol by symbol detection
    • H04L25/068Dc level restoring means; Bias distortion correction ; Decision circuits providing symbol by symbol detection by sampling faster than the nominal bit rate
    • 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
    • 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/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • 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

Abstract

클록 및 데이터 라인을 통해 비동기 데이터 송신을 하는 데이터 버스에서, 송신된 데이터는 데이터 버스의 다수의 데이터 속도로 샘플링함으로써 확인된다. 이 경우 샘플링은 데이터 버스의 비동기 클록으로 동기되지 않는 클록을 가지고 행해진다. 어떠한 데이터도 현재 송신되지 않을 때, 높은 주파수 클록을 지닌 인터페이스 회로의 불필요한 동작으로 인해 나타나게 되는 간섭을 회피하기 위해, 데이터 송신의 시작과 종료를 검출하기 위한 제어 회로가 제공된다. 데이터 송신의 시작에서만 인터페이스 회로에 요구된 클록이 공급된다. 데이터 송신이 종료한 후에는, 인터페이스 회로에 대한 클록은 다시 스위칭 오프된다. 제어 회로는 바람직하게, 클록 신호에 대한 필요성 없이, 데이터 상의 상태와 데이터 버스의 클록 라인에 감응하는 상태 기계로서 설계된다.

Description

인터럽트 가능 클록을 지닌 데이터 버스 인터페이스{DATA BUS INTERFACE WITH INTERRUPTIBLE CLOCK}
본 발명은 데이터 버스 인터페이스, 특히 클록 신호가 인터럽트 가능한 I2C- 또는 인터(Inter) IC 버스에 대한 인터페이스에 관한 것이다.
전술한 I2C 버스와 같은 데이터 버스 인터페이스는 업계 표준으로 알려져 있고 많이 사용된다. I2C 버스는 하나의 데이터 라인 및 하나의 클록 라인이 데이터의 송신을 위해 충분한 비동기 데이터 버스로서 명시된다. 데이터 송신의 시작과 종료는 데이터와 클록 라인 상의 대응하는 상태에 의해 표시된다. 개별 비트의 데이터 송신은 클록 라인 상의 각각의 클록 사이클로 수행되고, 클록 속도는 데이터 송신을 개시한 디바이스에 의해 명시된다. 그러므로, 데이터 클록이 수신기에서 존재하는 클록과 동기되지 않는 경우가 일어날 수 있다. 그러므로 이러한 타입의 간섭은 또한 비동기 인터페이스라고 부른다.
오늘날, 디지털 통합 회로는, 보통 라이브러리로부터 불러와서(imported) 연결되는 상이한 기능을 위한 기존 블록들을 사용해 통합된 설계 도구들에 의해 만들어진다. 이들 설계 도구가 동기 로직의 구현 전용으로 고안되기 때문에, 비동기 기능들의 통합 -전술한 비동기 데이터 인터페이스와 같은- 은 확립된 도구 흐름 내에 서는 가능하지 않다. 따라서 도구 지원이 없는 필수적인 구현에 있어서는, 비동기 데이터 인터페이스 자체의 타이밍과, 통합된 회로의 나머지와 관련하여 문제가 생길 수 있다. 통합된 회로의 안전한 동작을 보장하기 위해서는 -이들 타이밍 문제에도 불구하고- 바람직하지 않은 상당한 설계 노력이 요구된다. 여전히 비동기 데이터 인터페이스를 사용할 수 있게 하기 위해서, 비동기 아키텍처에 의해 비동기 데이터 인터페이스를 에뮬레이팅하는 라이브러리에서 기능 블록들이 이용 가능하다. 비동기적으로 송신된 데이터를 수신할 때, 클록과 데이터 라인의 상태는 다수의 데이터 속도로 오버샘플링함으로써 샘플링된다. 이후 비동기 신호는 다수의 샘플링 값으로부터 결정될 수 있다.
그러한 비동기 통합 회로에서는 복수의 요소가 시스템 클록으로 동시에 각각 스위칭된다. 그 결과 전류 흐름은 큰 주파수 범위에 걸쳐 소위 디지털 잡음을 발생시키고, 게다가 심지어 대응하는 회로 부분이 사용되지 않을지라도, 회로의 전력 소모를 증가시킨다.
통합된 회로에서 -특히 낮은 레벨에서 RF 신호들을 처리해야 하는 회로들에서- 다른 신호에 의해 유용한 신호들의 임의의 간섭을 회피하는 것이 바람직하다. 이들 다른 신호는 또한 통합된 회로의 동작을 위해 요구되는 클록 신호일 수 있다. 그러므로, 통합된 회로의 기능을 수행하기 위해 활동적이 되어야 할 회로 부분에만 클록 신호를 인가하는 것이 보통이다. 회로가 오직 스위칭 온 후 또는 파라미터가 변경되어야 할 때 인터페이스를 통해 어드레스 지정되는 경우가 종종 일어난다. 대부분은 인터페이스가 활동적이 될 것이 요구되지는 않는다. 그러한 경우, 그러한 인터페이스에 대한 클록은 통신을 위해 사용되지 않는다면 스위칭 오프될 수 있다. 하지만, 송신된 데이터의 어떠한 부분도 분실되지 않으면서 인터페이스가 데이터를 수신할 준비가 아직 되지 않도록 외부적으로 개시된 연결 설정을 검출할 수 있게 하기 위해서는, 특별한 예비조치가 취해져야 한다.
그러므로, 인터페이스가 통신을 위해 실제로 사용된다면 오직 인터페이스의 동작을 위해 요구된 클록을 제공하는 회로를 제안하는 것이 바람직하다. 또한 이 회로가 소수의 성분만을 포함하고 따라서 도구 지원 및 주요 설계 노력 없이 수동적으로 구현될 수 있는 것이 바람직하다.
청구항 1에 제안된 회로는 바라는 기능을 제공한다. 유리한 실시예와 추가 발전된 실시예가 종속항에 표시되어 있다.
데이터 버스 인터페이스는 클록과, 각각 데이터 송신의 시작과 종료가 클록과 데이터 라인 상의 상태의 독특한 조합을 통해 표시되는 데이터 라인을 포함한다. 게다가, 수신 모드에서 다수의 데이터 속도로 스캐닝함으로써 클록과 데이터 라인 상의 상태를 확인하고 송신된 데이터를 출력하는 인터페이스 회로가 제공된다. 데이터 송신의 시작과 종료를 검출하기 위한 제어 회로가 제공되고, 이 경우 데이터 송신의 시작을 검출한 후에는 제어 회로가 인터페이스 회로의 동작을 위해 요구되는 클록은 인터페이스 회로에 인가한다. 데이터 송신의 종료를 검출한 후에는, 제어 회로가 인터페이스 회로의 동작을 위해 요구된 클록을 인터럽트한다.
제어 회로는 바람직하게는, 클록 신호의 필요성 없이, 클록과 데이터 라인 상의 상태에 감응하는 상태 기계로서 설계된다.
본 발명에 따른 회로는 제어 블록과 로직 AND 게이트를 포함한다. 클록 블록에 의해 생긴 제어 신호에 따라, 로직 AND 게이트는 인터페이스 회로에 그 인터페이스 회로의 동작을 위해 요구된 클록을 송신한다. 또한, 인터페이스의 데이터와 클록 라인이 제어 블록에 공급된다. 또한 이 제어 블록에는 클록 라인과 리셋 라인에 공급될 수 있다. 이 리셋 라인은 한정된 상태로 회로를 설정하기 위해 사용된다. 동작 중에, 제어 블록은 인터페이스의 데이터와 클록 라인을 계속해서 감시한다. 인터페이스에 연결된 외부 디바이스가 그 인터페이스 상의 데이터 송신을 표시할 때, 제어 블록은 로직 AND 게이트에 제어 신호를 인가하고 그렇게 되면 로직 AND 게이트는 클록 -또한 게이트에 인가되는- 을 인터페이스 회로에 송신한다. 데이터 송신이 종료되면, 인터페이스 회로에 대한 클록은 제어 신호에 의해 다시 차단된다. 본 발명에 따른 회로의 일 실시예에서, 제어 블록은 제어 신호를 한정된 상태로 인터페이스 회로의 리셋을 실행하는 인터페이스 회로에 제어 신호를 송신한다. 그 제어 신호는 로직 AND 게이트에 공급되는 동일한 신호일 수 있다. 제어 블록은 그 인터페이스 회로에 데이터 송신이 진행되는 한 동작을 위해 요구된 클록이 공급되는 것을 보장한다. 이러한 경우, 제어 블록은 데이터 송신의 시작과 종료를 검출한다. 인터페이스 회로는 오직 송신된 데이터를 수신 및 수신 통지를 할 필요가 있을 뿐이다.
클록과 데이터 라인(SCL, SDA)으로 데이터 버스 인터페이스를 제어하기 위한 본 발명에 따른 방법은, 데이터 송신의 시작을 검출하는 단계와, 데이터 송신의 시작을 검출하면 수신 및 송신 회로에 클록 신호를 인가하는 단계를 포함한다. 일단 데이터 송신이 개시되고 실행되면, 데이터 송신의 종료가 검출된다. 데이터 송신의 종료가 검출되면, 수신 및 송신 회로로부터 클록 신호가 제거된다. 일 실시예에서, 데이터 송신의 시작과 종료를 검출하는 것은, 로직 상태 또는 데이터 및/또는 클록 라인의 상태 전이를 감시하는 것을 포함한다. 일 실시예에서, 클록 신호를 인가하고 제거하는 것은, 그 클록 신호를 전도 또는 인터럽트하는 스위치 또는 멀티플렉서를 제어하는 것을 포함한다. 이 스위치는 또한 로직 AND-게이트 또는 로직 OR-게이트 또는 다른 적합한 로직 게이트를 포함할 수 있다.
본 발명이 도면을 참조하여 아래에 설명된다.
도 1은 본 발명에 따른 회로의 성분들의 개략적인 전체상을 도시하는 도면.
도 2는 I2C 서브를 통한 데이터 송신의 시작과 종료에서의 신호 상태의 개략적인 표현을 도시하는 도면.
도 3은 본 발명에 따른 제어 블록의 제 1 실시예의 개략적인 표현을 도시하는 도면.
도 4는 제어 블록의 상이한 상태의 상태도.
도 5는 본 발명에 따른 제어 블록의 제 2 실시예의 개략적인 표현을 도시하는 도면.
도면에서, 동일하거나 유사한 요소에는 동일한 참조 기호(symbol)가 제공된 다.
도 1은 제어 블록(CLK_CTRL), 로직 AND 게이트(10) 및 인터페이스 회로(I2C)를 지닌 본 발명에 따른 회로의 개략적인 표현을 도시한다. 인터페이스 회로(I2C)에 클록 라인(SCL)과 데이터 라인(SDA)이 연결되어 있다. 또한, 클록 라인(SCL)과 데이터 라인(SDA)은 제어 블록(CLK_CTRL)에 공급된다. 게다가, 제어 블록(CLK_CTRL)에는 대응하는 클록 라인을 통해 클록(CLK)이 공급된다. 회로를 한정된 상태로 설정하기 위한 리셋 라인(RST)이 제공된다. 제어 블록(CLK_CTRL)의 출력 신호(CLK_ON)는 로직 AND 게이트(10)와 인터페이스 회로(I2C)에 공급된다. 클록 신호(CLK)는 또한 로직 AND 게이트(10)의 제 2 입력에 인가된다. 제어 블록(CLK_CTRL)은 클록과 데이터 라인(SCL, SDA)을 감시한다. 데이터 송신의 시작과 종료는 클록과 데이터 라인(SCL, SDA) 상의 한정된 상태에 의해 표시된다. 외부적으로 개시된 데이터 송신이 검출될 때, 제어 블록(CLK_CTRL)의 출력(CLK_ON)은 인터페이스 회로(I2C)에 스위칭된 클록 신호(CLK_G)로서 인가되는 로직 AND 게이트(10)에 인가된 클록 신호(CLK)를 초래하는 상태를 가정한다. 데이터 송신의 종료에서, 출력(CLK_ON)은 로직 AND 게이트(10)가 클록(CLK)을 차단하게 하는 상태를 가정하는데, 즉 스위칭된 클록 신호(CLK_G)가 더 이상 인터페이스 회로(I2C)에 인가되지 않는다. 도 1에 도시된 개략적인 회로에서, 출력 신호(CLK_ON)는 또한 인터페이스 회로(I2C)의 리셋 입력과 연결된다. 이는 인터페이스 회로(I2C)의 요소가 모든 새로운 데이터 송신의 시작에서 한정된 상태로 설정되는 것을 보장한다. 또 한편으로는, 인터페이스 회로(I2C)가 아직 데이터 라인(SCL, SDA)을 스캔하기 위해 데이터 송신의 시작시 임의의 클록을 가지지 않는다. 게다가, 그 클록 신호는 인터페이스 회로(I2C)가 데이터 송신의 종료를 표시하는 데이터 라인(SCL, SDA) 상의 한정된 상태를 검출하기 전에 다시 이미 스위칭될 수 있었다. 제어 블록(CLK_CTRL)은 데이터 송신의 시작과 종료를 담당하고, 데이터 송신이 존재할 때까지 인터페이스 회로(I2C)를 리셋 상태로 유지한다.
도 2는 제어 블록(CLK_CTRL)의 출력(CLK_ON) 상에서의 인터페이스 회로(I2C)의 데이터 라인(SDA)과 클록 라인(SCL) 상의 대응하는 신호 상태와, 인터페이스 회로(I2C)에 인가된 클록 신호(CLK_G)를, 그것들이 본 발명에 따른 회로에 관련되어 발생할 때의 개략적인 표현이다. 도 2에 나타낸 신호 상태는 클록 신호(CLK)를 기준으로 하여 도시되어 있다. 도면의 좌측에는 데이터 송신의 시작을 표시하는 데이터 라인(SDA)과 클록 라인(SCL) 상의 신호 상태가 나타나 있다. 이미 처음에 언급한 I2C 버스의 경우에는, 데이터 송신의 시작이 클록 라인(SCL) 상의 로직 하이(high) 레벨과 데이터 라인(SDA) 상의 로직 로우(low) 레벨에 의해 표시되는데 반해, 양 라인은 모두 휴지 상태(idle state)에서 로직 하이 레벨을 가진다. 그러므로, 데이터 라인(SDA)의 하강 에지는 데이터 송신의 시작을 표시한다. 하지만, 데이터 송신의 시작은 반드시 클록(CLK)과 동기적일 필요는 없다. 본 발명에 따른 회로는 클록 신호(CLK)가 하강 에지를 가질 때, 오직 인터페이스 회로(I2C)에 스위칭된 클록 신호(CLK_G)로서 클록 신호(CLK)를 송신한다. 이를 위해, 제어 블록(CLK_CTRL)의 출력 신호는 클록 신호(CLK)의 하강 에지에서만 로직 하이 레벨을 가정한다. 로직 하이 레벨은 인터페이스 회로(I2C)가 더 이상 리셋 상태로 유지되지 않는다는 결과를 가진다. 따라서 이는 인터페이스 회로(I2C)가 리셋 상태로부터 동작 상태로 넘어가는 것을 가능하게 하고 또한 이후 클록 신호(CLK_G)가 인터페이스 회로(I2C)에 확실히 인가된다. 다시 말해, 절반의 클록 사이클의 길이에 대응하는 고정된 시간이 리셋의 상쇄(canceling)와 클록 신호(CLK_G)의 다음 상승 에지 사이에서 이용 가능하다. 도면의 우측에는 데이터 송신의 종료를 표시하는 데이터 라인(SDA)과 클록 라인(SCL) 상의 신호 상태를 나타낸다. I2C 버스의 경우에, 데이터 송신의 종료는 데이터 라인(SDA) 상의 상승 에지에 의해 표시되는데 반해, 클록 신호 라인(SCL)은 로직 하이 레벨을 가진다. 데이터 송신의 시작의 검출과 유사하게, 인터페이스 회로(I2C)로의 스위칭된 클록 신호(CLK_G)는, 데이터 송신의 종료가 검출된 후, 클록 신호(CLK)의 다음 하강 에지와 함께 스위칭 오프된다. 그러므로, 완전한 마지막 클록 사이클이 인터페이스 회로(I2C)에 이용 가능하게 된다. 전술한 타이밍은 클록의 상승 에지가 결정적인 인터페이스 회로(I2C)에 관련된다. 클록의 하강 에지가 결정적인 인터페이스 회로의 경우에는, 그에 따라 클록 신호(CLK)의 리셋 및 송신의 상쇄가 클록 신호(CLK)의 상승 에지와 함께 행해진다.
도 3은 본 발명에 따른 제어 블록(CLK_CTRL)의 예시적인 개략 회로도를 나타낸다. 제어 블록(CLK_CTRL)에 신호(SCL, SDA, CLK) 및 리셋 신호(RST)가 공급된다. 제어 블록(CLK_CTRL)은 비동기 상태 기계(110), 시작/정지 디코더(150) 및 플립-플롭(flip-flop)(130)을 포함한다. 출력(CLK_ON)은 데이터 송신의 시작 또는 종료가 검출되었다는 것을 표시한다. 비동기 상태 기계(110)는 그것의 로직 회로 요소들에 의해 결정된 조합 분석에 따라 그것에 인가된 신호(SCL, SDA, CLK)를 분석한다. 동시 상태 기계와는 대조적으로, 비동기 상태 기계는 조합 피드백 신호 경로들을 지닌 로직 네트워크를 포함한다. 상태 변수들을 저장하는 어떠한 클로킹된 저장 요소도 요구되지 않는다. 오히려, 상태들은 상태 기계의 입력 신호들과 로직 회로 요소들의 피드백 신호들에 따른 조합 함수들의 출력 신호에 의해 표현된다. 본 발명에 따른 상태 기계에서, 상태 변수는 로직 회로들의 출력(q0, q1, q2)에 의해 표현된다. 상태의 변화는 하나 이상의 입력 신호들에서의 변화가 존재하는 경우에만 일어난다. 입력 신호들 중 하나에서의 변화는 네트워크를 통해, 출력(q0, q1, q2)에서의 변화를 가져올 수 있다. 도 3에 표현된 회로에서 클록 신호(CLK)에는 회로의 동작을 위해 요구되는 클록은 없고 대신 데이터와 클록 라인(SDA, SCL)의 입력들과 같은 통상적인 입력 신호가 존재한다.
도 4는 제어 블록(CLK_CTRL)에서, 데이터 송신의 시작과 종료를 검출하기 위한 상태 기계의 상태도를 나타낸다. 좌측으로부터 우측으로 읽어가면 화살표 옆의 아라비아 숫자들의 그룹은 입력 신호(SCL, SDA, CLK) 상의 상태를 나타낸다. 신호의 위치에 있는 점선은 이 신호가 그 상태에 대한 어떠한 결과도 가지지 않음을 표시한다. 화살표는 상태 변화를 신호로 알린다. 회색으로 칠해진 원들에서의 글자 a 내지 h는 본 발명에 따른 상태 기계가 채택할 수 있는 상태를 나타낸다. 이 경우 초기 상태는 글자 a로 표시된 상태이다. 신호(SCL, SDA)가 로직 하이 레벨 -즉, 어떠한 데이터 송신도 표시되지 않음- 을 보여줄 때에는, 상태 기계가 상태(a)에 남아 있게 된다. 신호(CLK)의 상태는 관계가 없다. 신호(SCL, SDA)가 데이터 송신의 시작을 표시할 때에는, 신호(CLK)의 상태가 중요하게 되는데, 신호(CLK)가 로직 하이 레벨을 가지게 되면, 상태 기계는 상태(c)로 변한다. 그렇지 않으면, 상태 기계는 상태(b)로 변하고, 신호(CLK)가 로직 로우 레벨로부터 로직 하이 레벨로 전이하기를 기다린다. 그렇게 된 이후에만 상태 기계가 상태(c)로 변하게 된다. 상태(c)에서는 데이터 송신의 시작이 검출되고, 상태 기계는 인터페이스 회로(I2C)로의 클록(CLK_G)을 차단하지 않기 위해, 클록 신호(CLK)의 하강 에지를 기다린다. 클록(CLK_G)을 차단하지 않는 것은, 상태(c)로부터 상태(d)로의 전이에 의해 트리거된다. 도 4에서, 이 전이는 점선으로 된 화살표에 의해 나타나 있다. 활동 상태에서 로직 로우 레벨을 가지는 신호 시작(START) -도 3에 도시된 디코더(150)에 의해 발생된- 은 도 3에 도시된 플립-플롭(130)을 설정한다. 그렇게 되면 플립-플롭(130)은 도 1에 도시된 AND 게이트(10)를 통해, 인터페이스 회로(I2C)로의 클록(CLK_G)을 잠금 해제(unlock)하는 로직 하이 레벨을 그것의 출력에서 가진다. 플립-플롭(130)은 디코더(150)의 NAND 게이트의 출력에서 상태 변화에 의해 제어된다. NAND 게이트는 오직 클록 라인(CLK) 상의 로직 로우 레벨을 지닌 상태(c)가 존재할 때 스위칭한다. 도 3에 도시된 것처럼, NAND 게이트의 상부의 3개의 입력은 상태 기계(110)의 비반전된 출력(q1)과 마찬가지로 반전된 출력(q0, q2)과 연결된다. 그러므로, NAND 게이트는 상부의 3개의 입력으로 아라비아 숫자 010의 스트링에 의해 나타내어지는 상태(c)를 디코딩한다. NAND 게이트의 네 번째 입력은 반전된 클록 신호(CLK)에 연결된다. 상태 기계가 상태(c)로 변할 때, 클록 신호(CLK)는 전술한 것처럼 로직 하이 레벨을 가진다. 그 결과, 디코딩은 아직 완료되지 않았다. 이는 오직 클록 신호(CLK)가 로직 로우 레벨을 가지는 경우가 된다. 그때, 상태 기계는 상태(c)로부터 상태(d)로 변하고, 보상 및 일시적인 작용이 네트워크에서 이루어지게 된다. 일시적인 작용이 사라진 후, 신호는 디코딩 조건에 더 이상 대응하지 않는 NAND 게이트의 입력들에 인가되고, 신호(START)는 다시 로직 하이 레벨을 취한다. 그러므로 상태(c)에서 상태(d)로의 전이가 길이가 ΔT인 로직 로우 레벨을 지닌 펄스를 발생시키고, 이 경우 ΔT는 일시적인 작용의 지속 기간과 동일하다는 것이 분명해진다. 펄스는 도 3에 나타낸 플립-플롭(130)을 설정한다.
아래의 표는 상태 기계의 상이한 상태와 출력(q0, q1, q2)에서의 대응하는 로직 레벨들을 나타낸다.
상태 q2 q1 q0
a 0 0 1
b 0 1 1
c 0 1 0
d 1 1 0
e 1 0 0
f 0 0 0
g 1 0 1
h 1 1 1
상이한 상태의 코딩을 고려할 때, 상태(c)로부터 상태(d)로의 전이에 있어서는, 출력(q2)만이 변할 필요가 있다는 것이 특징적이다. 출력(q0, q1)은 변하지 않은 채로 있다. 상태들의 이러한 코딩은 깨끗한 트리거 펄스를 발생시키는 것을 허용하는데, 이는 잃어버린 펄스들 -몇몇 관련 신호들 사이의 런-타임(run-time) 차이로 인한- 이 이러한 전이시에는 일어나지 않기 때문이다. 게다가, 회로의 설계뿐만 아니라 상태 코딩의 선택은 상태(c)에 심지어 회로 내의 상태의 일시적인 변화를 통해 의도적이지 않게 도달될 수 없는 것을 보장한다.
상태(d)에 도달한 후에는, I2C 버스 상에서 데이터를 송신하기 시작하게 된 다. 송신은 로직 로우 레벨을 최하는 신호(SCL)를 가지고 시작한다. 이후 상태 기계는 상태(e)로 변한다. I2C 버스 스펙에 따르면, 신호(SDA)는 오직 신호(SCL)가 로직 로우 레벨을 가질 때, 데이터 송신 동안 그것의 로직 레벨을 변경시킬 수 있다. 송신된 데이터에 따라, 상태 기계는 상태(d, e, f, a)를 취하게 된다. 상태(d, e)는 0(zero)가 송신될 때 일어난다. 상태(f, a)는 1(one)이 송신될 때 일어난다. 도 4에서의 상태도에서 분명한 것처럼, 동작을 위해 인터페이스 회로에 인가되는 클록 신호(CLK)는, 버스를 통한 데이터의 송신 동안에는 상태 기계의 입장에서는 중요하지 않다.
도 2에 도시된 것처럼, I2C 버스를 통한 데이터 송신은 소위 정지 조건에 의해 종료된다. 정지 조건을 개시하기 위해서는, 데이터 라인(SDA)이 로직 로우 레벨로 설정되어야 하고, 클록 라인(SCL)은 로직 로우 레벨을 가진다. 이로 인해 상태 기계는 상태(e)로 변한다. 이후, 클록 라인(SCL)은 로직 하이 레벨로 설정되는데 이로 인해 상태 기계는 상태(d)로 강제로 가게 된다. 정지 조건은 현재 데이터 라인(SDA)이 또한 로직 로우 레벨로부터 로직 하이 레벨로 옮겨가는 경우 존재한다. 데이터 송신의 시작시 존재해야 하는 시작 조건과 마찬가지로 다음 스테이지로의 상태 기계의 전이 -g 또는 h- 는 클록 신호(CLK)에 의존하게 된다. 클록 신호(CLK)가 상태(d)를 떠날 때 로직 하이 레벨을 가졌다면, 상태 기계는 신호(STOP)가 디코더(150)에서 발생되기 전에, 상태(g)에서 클록 신호(CLK)의 하강 에지를 기다린다. 그 다음에만 플립-플롭(130)이 리셋되고, 신호(CLK-ON)가 인터페이스 회로(I2C)로의 클록 신호(CLK)의 송신을 인터럽트한다.
도 5는 본 발명에 따른 대안적이고 예시적인 제어 블록(CLK_CTRL)의 개략적인 회로도를 나타낸다. 도 3에 나타낸 제어 블록(CLK_CTRL)에서, 요구된 로직 동작들은 그것들 각각의 기본 회로에 의해 나타난다. 하지만, 회로를 만들 때 사용된 상이한 기본 회로의 개수를 감소시키는 것이 유리할 수 있다. 예컨대, AND 게이트와 OR 게이트는 NAND 게이트로 대체될 수 있다. 그러면 그 결과 회로는 설계 도구(IC 제조업자에 의해 사용되는 및/또는 이용 가능한)의 라이브러리에서 이용 가능하고 디지털 회로를 만드는데 사용되는 미리 한정된 회로 요소들에 의해 유리하게 조립될 수 있다. 도 5에 도시된 회로의 경우, 도 3에서 도시된 회로 요소들의 일부가 그러한 미리 한정된 회로 요소들로 대체되었다. 본 명세서에서 개별 로직 기본 회로 둘레에 실선으로 그려진 프레임은, 그것이 라이브러리로부터 미리 한정된 회로 요소임을 보여준다.
전술한 바와 같이, 본 발명은 데이터 버스 인터페이스, 특히 클록 신호가 인터럽트 가능한 I2C- 또는 인터(Inter) IC 버스에 대한 인터페이스에 이용 가능하다.

Claims (9)

  1. 클록과 데이터 라인(SCL, SDA)을 지닌 데이터 버스 인터페이스로서, 데이터 송신의 시작과 종료는, 각각 상기 클록과 데이터 라인(SCL, SDA)의 고유한 상태 조합으로 표시되고, 수신 모드에서 다수의 데이터 속도로 샘플링함으로써 상기 클록과 데이터 라인(SCL, SDA)의 상태를 확인하고 송신된 데이터를 출력하는 인터페이스 회로(I2C)를 구비하는, 데이터 버스 인터페이스에 있어서,
    상기 데이터 송신의 시작과 종료를 검출하기 위해 제어 회로(CLK_CTRL)가 제공되고, 상기 제어 회로(CLK_CTRL)는 -데이터 송신의 시작을 검출한 후- 상기 인터페이스 회로(I2C)의 동작을 위해 요구되는 제 1 클록 신호(CLK_G)를 상기 인터페이스 회로(I2C)에 인가하며, 상기 제어 회로(CLK_CTRL)는 -데이터 송신의 종료를 검출한 후- 상기 인터페이스 회로(I2C)의 동작을 위해 요구되는 제 1 클록 신호(CLK_G)를 인터럽트하고, 상기 인터페이스 회로의 샘플링 스테이지의 결정적인 에지의 반대 에지에서 상기 제 1 클록 신호(CLK_G)를 스위칭하도록 적응되며, 데이터 송신의 시작과 종료를 위한 데이터 송신의 전후에 고정된 시간이 이용 가능한 것을 특징으로 하는, 데이터 버스 인터페이스.
  2. 제 1항에 있어서, 상기 제어 회로(CLK_CTRL)는 데이터 송신의 시작 또는 종료를 검출하기 위해, 상기 클록과 상기 데이터 라인(SCL, SDA)의 상태를 분석하는 것을 특징으로 하는, 데이터 버스 인터페이스.
  3. 제 1항에 있어서, 상기 제어 회로(CLK_CTRL)는 클로킹되지 않은 상태 기계를 포함하는 것을 특징으로 하는, 데이터 버스 인터페이스.
  4. 제 1항에 있어서, 상기 제 1 클록 신호(CLK_G)를 인가 또는 인터럽트하는 것은 제 2 클록 신호(CLK)와 동기적으로 일어나고, 상기 제 1 클록 신호(CLK_G)는 상기 제 2 클록 신호(CLK)로부터 유도되는 것을 특징으로 하는, 데이터 버스 인터페이스.
  5. 제 1항에 있어서, 상기 제어 회로(CLK_CTRL)는 리셋 신호를 상기 인터페이스 회로(I2C)에 인가하는 것을 특징으로 하는, 데이터 버스 인터페이스.
  6. 제 1항에 있어서, 외부 리셋 신호(RST)가 상기 제어 회로에 공급되는 것을 특징으로 하는, 데이터 버스 인터페이스.
  7. 클록과 데이터 라인(SCL, SDA)과의 데이터 버스 인터페이스를 제어하는 방법으로서, 인터페이스 수신 및 송신 회로는 상기 데이터 버스 인터페이스의 다수의 데이터 속도로 상기 클록과 데이터 라인(SCL, SDA)을 샘플링하고, 상기 방법은,
    - 데이터 송신의 시작을 검출하는 단계,
    - 데이터 송신의 시작을 검출하자마자, 상기 데이터 버스 인터페이스의 다수의 데이터 속도를 가지는 클록 신호(CLK_G)를 상기 수신 및 송신 회로에 인가하는 단계,
    - 상기 데이터 송신의 종료를 검출하는 단계, 및
    - 상기 데이터 송신의 종료를 검출하자마자, 상기 수신 및 송신 회로로부터 클록 신호를 제거하는 단계를
    포함하는, 클록과 데이터 라인(SCL, SDA)과의 데이터 버스 인터페이스를 제어하는 방법에 있어서,
    상기 클록 신호(CLK_G)는 상기 인터페이스 회로의 샘플링 스테이지의 결정적인 에지의 반대 에지에서 인가 및 제거되며, 데이터 송신의 시작과 종료를 위한 데이터 송신의 전후에 고정된 시간이 이용 가능한 것을 특징으로 하는, 데이터 버스 인터페이스를 제어하는 방법.
  8. 제 7항에 있어서, 데이터 송신의 시작 및 종료를 검출하는 것은 데이터 또는 클록 라인의 로직(logic) 상태 또는 상태 전이를 감시하는 단계를 포함하는, 데이터 버스 인터페이스를 제어하는 방법.
  9. 제 7항에 있어서, 클록 신호를 인가 및 제거하는 것은, 상기 클록 신호를 전달 또는 인터럽트하는 스위치를 제어하는 단계를 포함하는, 데이터 버스 인터페이스를 제어하는 방법.
KR1020087017179A 2006-01-30 2007-01-11 인터럽트 가능 클록을 지닌 데이터 버스 인터페이스 KR101336105B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102006004346.4 2006-01-30
DE102006004346A DE102006004346A1 (de) 2006-01-30 2006-01-30 Datenbusschnittstelle mit abschaltbarem Takt
PCT/EP2007/050261 WO2007085532A1 (en) 2006-01-30 2007-01-11 Data bus interface with interruptible clock

Publications (2)

Publication Number Publication Date
KR20080091341A KR20080091341A (ko) 2008-10-10
KR101336105B1 true KR101336105B1 (ko) 2013-12-04

Family

ID=37907812

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087017179A KR101336105B1 (ko) 2006-01-30 2007-01-11 인터럽트 가능 클록을 지닌 데이터 버스 인터페이스

Country Status (8)

Country Link
US (1) US7984214B2 (ko)
EP (1) EP1979822B1 (ko)
JP (1) JP2009525515A (ko)
KR (1) KR101336105B1 (ko)
CN (1) CN101371234B (ko)
DE (2) DE102006004346A1 (ko)
TW (1) TWI422195B (ko)
WO (1) WO2007085532A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5217982B2 (ja) 2008-12-04 2013-06-19 ソニー株式会社 情報処理装置および方法、並びにプログラム
FR2939926B1 (fr) * 2008-12-17 2010-12-10 St Microelectronics Rousset Transmission sur bus i2c
CN102117254B (zh) * 2011-01-17 2012-11-21 青岛海信日立空调系统有限公司 基于嵌入式系统实现数据异步接收的方法
CN102289278B (zh) * 2011-08-09 2013-11-06 西安华芯半导体有限公司 超低功耗接口
CN102622325B (zh) * 2011-12-23 2014-12-24 苏州华芯微电子股份有限公司 I2c总线启动与停止电路结构
GB2493416B (en) 2012-05-24 2014-04-23 Broadcom Corp Apparatus and method for synchronising signals
KR20140035771A (ko) * 2012-09-14 2014-03-24 삼성전자주식회사 임베디드 멀티미디어 카드, 상기 임베디드 멀티미디어 카드를 제어하는 호스트, 및 그 동작방법
KR101932920B1 (ko) * 2012-09-14 2019-03-18 삼성전자 주식회사 비휘발성 메모리 카드를 제어하는 호스트, 이를 포함하는 시스템 및 이의 동작 방법
DE102012110766A1 (de) * 2012-11-09 2014-05-15 MAQUET GmbH Instrumentenhalter zum Befestigen eines medizinischen Instrumentes an einem Gelenkarm
US9910819B2 (en) * 2013-03-11 2018-03-06 Microchip Technology Incorporated Two-wire serial interface and protocol
US9996488B2 (en) 2013-09-09 2018-06-12 Qualcomm Incorporated I3C high data rate (HDR) always-on image sensor 8-bit operation indicator and buffer over threshold indicator
US9690725B2 (en) 2014-01-14 2017-06-27 Qualcomm Incorporated Camera control interface extension with in-band interrupt
US10353837B2 (en) 2013-09-09 2019-07-16 Qualcomm Incorporated Method and apparatus to enable multiple masters to operate in a single master bus architecture
CN105900340A (zh) 2013-10-09 2016-08-24 高通股份有限公司 CCIe协议上的错误检测能力
US9684624B2 (en) * 2014-01-14 2017-06-20 Qualcomm Incorporated Receive clock calibration for a serial bus
DE102014206752B4 (de) * 2014-04-08 2021-08-12 Robert Bosch Gmbh Bestimmung des Zustands eines I2C-Busses
US10997114B2 (en) * 2018-06-08 2021-05-04 Qualcomm Incorporated Vector decoding in time-constrained double data rate interface
FR3100349B1 (fr) * 2019-08-28 2022-07-08 Stmicroelectronics Grand Ouest Sas Communication sur bus I2C
FR3109227B1 (fr) * 2020-04-14 2022-05-06 St Microelectronics Alps Sas Contrôleur d’interruption et procédé de gestion d’un tel contrôleur

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990006428A (ko) * 1997-06-10 1999-01-25 제프리 엘. 포맨 인터럽트를 서비스하기 위한 방법 및 장치
KR20040075064A (ko) * 2002-01-08 2004-08-26 인텔 코오퍼레이션 어드레스 및 제어 신호의 유휴 비복귀를 통해 ac 전력을줄이는 메모리 제어기

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4545030A (en) * 1982-09-28 1985-10-01 The John Hopkins University Synchronous clock stopper for microprocessor
JP2676966B2 (ja) * 1990-03-16 1997-11-17 日本電気株式会社 シングルチップマイクロコンピュータ
GB2246687B (en) * 1990-04-06 1994-04-27 Plessey Co Ltd Improvements relating to data transmission systems
JPH06202762A (ja) * 1992-10-30 1994-07-22 Nippon Motorola Ltd ライトデータ保護機能付きリセット信号発生回路
US5598112A (en) * 1995-05-26 1997-01-28 National Semiconductor Corporation Circuit for generating a demand-based gated clock
KR0184136B1 (ko) * 1996-06-03 1999-05-15 구자홍 범용 마이컴을 이용한 아이 스퀘어 씨 통신 장치
US5878234A (en) * 1996-09-10 1999-03-02 Sierra Wireless, Inc. Low power serial protocol translator for use in multi-circuit board electronic systems
DE19642265C1 (de) 1996-10-11 1998-01-29 Becker Gmbh Verfahren zum Betreten und Verlassen eines Stromsparbetriebs eines Teilnehmers in einem ringförmigen Kommunikationsnetz
US6032178A (en) 1998-01-12 2000-02-29 Siemens Aktiengesellschaft Method and arrangement for data transmission between units on a bus system selectively transmitting data in one of a first and a second data transmission configurations
US6049883A (en) * 1998-04-01 2000-04-11 Tjandrasuwita; Ignatius B. Data path clock skew management in a dynamic power management environment
US6202104B1 (en) * 1998-07-28 2001-03-13 Siemens Aktiengesellschaft Processor having a clock driven CPU with static design
DE19844936C2 (de) * 1998-09-30 2001-02-01 Siemens Ag Schaltung zur Erzeugung eines Ausgangssignals in Abhängigkeit von zwei Eingangssignalen
US6311285B1 (en) * 1999-04-27 2001-10-30 Intel Corporation Method and apparatus for source synchronous transfers at frequencies including an odd fraction of a core frequency
US6232820B1 (en) * 1999-06-14 2001-05-15 Intel Corporation Method and apparatus for dynamic clock gating
US6530029B1 (en) * 1999-09-23 2003-03-04 National Semiconductor Corporation I2C/SMBus start-stop detecting circuit that reduces the likelihood of stalling the bus due to glitches on the data line
JP2001267897A (ja) * 2000-03-17 2001-09-28 Oki Electric Ind Co Ltd 遅延装置および方法
US7069359B1 (en) * 2000-04-03 2006-06-27 Intel Corporation Circuit and technique to stall the communication of data over a double pumped bus
US6745337B1 (en) * 2000-09-29 2004-06-01 Intel Corporation Glitch detection circuit for outputting a signal indicative of a glitch on a strobe signal and initializing an edge detection circuit in response to a control signal
US6920572B2 (en) * 2000-11-15 2005-07-19 Texas Instruments Incorporated Unanimous voting for disabling of shared component clocking in a multicore DSP device
JP2002318646A (ja) * 2001-04-24 2002-10-31 Sony Corp 情報処理装置および方法
US6799233B1 (en) * 2001-06-29 2004-09-28 Koninklijke Philips Electronics N.V. Generalized I2C slave transmitter/receiver state machine
JP3844120B2 (ja) * 2001-10-19 2006-11-08 株式会社ルネサステクノロジ 半導体装置
US20030135676A1 (en) * 2002-01-17 2003-07-17 Koninklijke Philips Electronics N.V. Low-power bus interface
JP4219601B2 (ja) * 2002-03-01 2009-02-04 富士通マイクロエレクトロニクス株式会社 情報処理装置
US6968472B2 (en) * 2002-04-22 2005-11-22 Silicon Labs Cp. Inc. Serial data interface
FR2839827B1 (fr) * 2002-05-14 2005-07-15 St Microelectronics Sa Circuit de detection de depart, circuit de detection d'arret, et circuit de detection de donnees transmises selon le protocole iic
JP4207151B2 (ja) * 2003-03-17 2009-01-14 セイコーエプソン株式会社 非同期プロセッサを備えた通信装置及びその通信方法
JP4411579B2 (ja) * 2003-04-07 2010-02-10 日本電気株式会社 バスシステム
KR100591524B1 (ko) * 2004-05-14 2006-06-19 삼성전자주식회사 버스 구조하에서 다이나믹 클록 게이팅이 가능한 슬레이브장치 및 그 동작방법
DE102005041895B4 (de) 2005-09-03 2010-12-09 Audi Ag Steuergerät und Verfahren zum Steuern eines Abschaltvorgangs eines Steuergeräts
US7401242B2 (en) * 2005-09-27 2008-07-15 International Business Machines Corporation Dynamic power management in a processor design

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990006428A (ko) * 1997-06-10 1999-01-25 제프리 엘. 포맨 인터럽트를 서비스하기 위한 방법 및 장치
KR20040075064A (ko) * 2002-01-08 2004-08-26 인텔 코오퍼레이션 어드레스 및 제어 신호의 유휴 비복귀를 통해 ac 전력을줄이는 메모리 제어기

Also Published As

Publication number Publication date
DE602007006424D1 (de) 2010-06-24
WO2007085532A1 (en) 2007-08-02
TW200733655A (en) 2007-09-01
DE102006004346A1 (de) 2007-10-18
CN101371234A (zh) 2009-02-18
EP1979822A1 (en) 2008-10-15
US7984214B2 (en) 2011-07-19
KR20080091341A (ko) 2008-10-10
TWI422195B (zh) 2014-01-01
CN101371234B (zh) 2011-09-21
US20090024781A1 (en) 2009-01-22
JP2009525515A (ja) 2009-07-09
EP1979822B1 (en) 2010-05-12

Similar Documents

Publication Publication Date Title
KR101336105B1 (ko) 인터럽트 가능 클록을 지닌 데이터 버스 인터페이스
EP2458509B1 (en) Electronic device with address programmable through reduced number of terminals
EP3809611B1 (en) Link balancing parameter training control circuit
US8558606B2 (en) Debounce apparatus and method thereof
CN1870429B (zh) 半导体集成电路和降低噪声的方法
JP5332428B2 (ja) レベルシフト回路及びその方法
US6414540B2 (en) Input filter stage for a data stream, and method for filtering a data stream
US8803581B2 (en) Fast flip-flop structure with reduced set-up time
US20200162064A1 (en) Debounce circuit using d flip-flops
US5388225A (en) Time-domain boundary bridge method and apparatus for asynchronous sequential machines
US6205192B1 (en) Clock input control circuit
KR100200968B1 (ko) 화상형성장치의 호스트 인터페이스회로
CN107305442B (zh) 输入设备及其控制方法
JP2679622B2 (ja) クロック位相制御回路
JP2012023486A (ja) 半導体装置
CN110928524B (zh) 伪随机信号发生器
JP2017204705A (ja) Lvdsドライバ回路およびlvdsドライバ回路の制御方法
US7240133B1 (en) Reduced-area architecture for padded-protocol interface
JPH04101535A (ja) インタフェース回路
CN116737623A (zh) 一种通信协议切换方法、芯片和电子设备
JP5056266B2 (ja) 端子切替え装置および電子機器
KR100968225B1 (ko) 디 플립플롭을 이용한 카운터용 필터
JP3215583B2 (ja) 半導体集積回路
KR100544015B1 (ko) 잡음 제거 회로
KR19980065619A (ko) 디지탈 신호 재인가 장치 및 재인가 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee