KR102456127B1 - 데드록된 상태들을 어드레스하기 위한 워치독 - Google Patents

데드록된 상태들을 어드레스하기 위한 워치독 Download PDF

Info

Publication number
KR102456127B1
KR102456127B1 KR1020200103406A KR20200103406A KR102456127B1 KR 102456127 B1 KR102456127 B1 KR 102456127B1 KR 1020200103406 A KR1020200103406 A KR 1020200103406A KR 20200103406 A KR20200103406 A KR 20200103406A KR 102456127 B1 KR102456127 B1 KR 102456127B1
Authority
KR
South Korea
Prior art keywords
logic
control signal
watchdog
circuit
line
Prior art date
Application number
KR1020200103406A
Other languages
English (en)
Other versions
KR20210024425A (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 KR20210024425A publication Critical patent/KR20210024425A/ko
Application granted granted Critical
Publication of KR102456127B1 publication Critical patent/KR102456127B1/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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • 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/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4031Coupling between buses using bus bridges with arbitration
    • G06F13/4036Coupling between buses using bus bridges with arbitration and deadlock prevention
    • 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
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

설명된 기술들은 디지털 통신 인터페이스와 연관된 버스 라인들을 공유하는 상호접속된 하드웨어 디바이스들과 연관된 데드록킹 문제들을 어드레스한다. 상호접속된 하드웨어 디바이스들 내에서 내부적으로, 또는 대안적으로 외부 컴포넌트로서 구현될 수 있는 워치독-기반 해결책이 설명된다. 워치독 회로는 하드웨어 디바이스의 하나 이상의 내부 접속의 논리 상태를 모니터링하고 데드록 조건이 이 내부 모니터링을 사용하여 검출될 때 하드웨어 디바이스의 하나 이상의 부분이 리셋되게 할 수 있다.

Description

데드록된 상태들을 어드레스하기 위한 워치독{WATCHDOG FOR ADDRESSING DEADLOCKED STATES}
본원에 설명된 양태들은 일반적으로 하드웨어 데드록된 상태들을 어드레스하는 것, 및 보다 구체적으로는 워치독 회로를 사용하여 데드록된 상태들을 어드레스하는 것에 관한 것이다.
하드웨어 시스템들은 보통 공통 세트의 버스 라인들로 상호접속된 컴포넌트들을 사용한다. 이러한 시스템들에서, 다양한 하드웨어 컴포넌트들은 요구된 통신 타이밍에 기초하여 상이한 시간들에서 공유된 버스 라인들을 어서팅하는 하드웨어 디바이스들과, 시간-다중화 방식으로 이들 버스 라인에 대한 액세스를 공유할 수 있다. 그러므로, 상호접속된 컴포넌트들 중 하나가 오기능하는 이벤트에서, 공유된 버스 라인의 상태는 동일한 논리 상태에서 "데드록"될 수 있다. 데드록된 상태는 데드록된 문제가 해결될 때까지 다른 상호접속된 디바이스들이 버스 라인을 어서팅하는 것을 방지할 수 있다. 이러한 데드록킹 문제들을 해결하는 현재의 해결책들은 적당하지 않다.
최신의 하드웨어 설계들은 보통 데이터 버스 라인들 및 클럭 버스 라인들을 포함할 수 있는, 다양한 버스 라인들에 결합되고 그들과 액세스를 공유하는 상호접속된 디바이스들을 구현한다. 이들 버스 라인은 예를 들어, 상호접속된 하드웨어 디바이스들이 서로 및/또는 다른 외부 컴포넌트들과 통신할 수 있게 하는 디지털 통신 인터페이스의 부분을 형성할 수 있다. 이러한 상호접속된 설계들은 데드록킹 문제들을 일으키기 쉽고, 상호접속된 디바이스들의 수가 증가함에 따라, 데드록킹 문제를 일으킬 위험도 또한 증가한다. 바꾸어 말하면, 상호접속된 하드웨어 디바이스들 중 어느 하나에서의 오기능은 하나 이상의 버스 라인을 동일한 논리 상태에 갇혀 있게 할 수 있으므로, 다른 하드웨어 컴포넌트들이 사용할 수 없게 될 수 있다.
데드록킹을 어드레스하는 종래의 해결책들은 그것의 공급 전압을 토글함으로써 오기능하는 하드웨어 디바이스를 리셋하여, 내부 리셋을 발생하고 데드록된 버스 라인의 논리를 디폴트 또는 사전-데드록된 논리 상태로 복원하는 것을 포함한다. 그러나, 이러한 해결책들은 이것이 외부 공급 전압 스위치뿐만 아니라 이 목적을 위해 전용된 다른 추가적인 컴포넌트들을 요구하므로, 비용이 많이 든다. 이러한 해결책들은 오기능하는 하드웨어 디바이스가 적절히 식별되고 적절히 리셋되는 것을 보장하기 위해 소프트웨어-기반 컴포넌트들이 또한 요구되므로, 추가적인 설계 복잡성들을 또한 유발한다.
그러므로, 본원에 설명된 실시예들은 워치독-기반 해결책을 사용하여 데드록킹 문제들을 어드레스한다. 아래에 더 상세히 설명되는 것과 같이, 이것은 모니터링된 하드웨어 디바이스와 동일한 칩의 부분으로서 통합되거나 모니터링된 하드웨어 디바이스 외부에 있는 워치독 회로의 사용을 포함할 수 있다. 또한, 워치독 회로는 공유된 외부 버스 라인들을 모니터링하는 종래의 기술들과 대조적으로, 하드웨어 디바이스의 하나 이상의 내부 접속의 논리 상태를 모니터링할 수 있다.
본원에 설명된 실시예들은 유리하게는 데드록 시나리오들을 해결하기 위해 위에 기재된 것과 같은 추가적인 컴포넌트들 또는 설계 노력들을 요구하지 않는다. 그리고 이것이 외부 버스 라인들을 모니터링하기 위해 워치독 회로에 요구되지 않기 때문에, 워치독 타이밍은 버스 라인 타이밍들과 독립적으로 설계될 수 있고, 대신에 모니터링된 하드웨어 디바이스의 타이밍에만 의존할 수 있다. 이들 내부 하드웨어 디바이스 타이밍은 설계 문제로서, 하드웨어 컴포넌트 리셋을 발생하는 목적을 위해 결정하기가 더 간단하다. 게다가, 내부 디바이스 타이밍의 사용은 유리하게는 워치독 회로가 모니터링된 하드웨어 디바이스의 다른 부분들과 상이한 발진기 및/또는 전원을 사용하여 구현되게 할 수 있다. 그렇게 하면 워치독 회로의 강건성이 더욱 증가될 수 있고 그러므로 워치독 회로는 이러한 클럭 또는 전력 장애들에 의해 발생된 데드록킹 문제의 이벤트에서 오기능하는 모니터링된 하드웨어 디바이스(또는 그것의 부분들)를 여전히 리셋할 수 있다.
본원에 포함되고 명세서의 일부를 형성하는 첨부 도면들은 본 개시내용의 양태들을 도시하고, 설명과 함께, 양태들의 원리들을 설명하고 관련 기술 분야의 통상의 기술자들이 양태들을 제조하고 사용할 수 있게 하기 위해 추가로 이용된다.
도 1은 디지털 인터페이스를 통해 통신하는 마스터 디바이스와 슬레이브 디바이스를 포함하는 종래의 시스템을 도시한다.
도 2는 버스 라인 데드록킹을 어드레스하기 위한 종래의 리셋 회로를 도시한다.
도 3은 본 개시내용의 실시예에 따른, 디지털 인터페이스를 통해 서로 통신하는 제1 디바이스와 제2 디바이스를 포함하는 시스템을 도시한다.
도 4a는 본 개시내용의 실시예에 따른, 디바이스와 연관된 내부 제어 라인이 워치독 타임아웃 임계치 미만의 지속기간 동안 동일한 논리 상태로 유지되는 타이밍 다이어그램들을 도시한다.
도 4b는 본 개시내용의 실시예에 따른, 디바이스와 연관된 내부 제어 라인이 워치독 타임아웃 임계치를 초과하는 지속기간 동안 동일한 논리 상태로 유지되는 타이밍 다이어그램들을 도시한다.
도 4c는 본 개시내용의 실시예에 따른, 디바이스와 연관된 내부 제어 라인이 어서팅되지 않고 워치독 카운터가 시작되지 않은 타이밍 다이어그램들을 도시한다.
도 5는 본 개시내용의 실시예에 따른, 방법 흐름을 도시한다.
본 개시내용의 예시적인 양태들이 첨부 도면들을 참조하여 설명될 것이다. 요소가 처음에 나타나는 도면은 전형적으로 대응하는 참조 번호의 제일 왼쪽의 숫자(들)로 표시된다.
다음의 설명에서, 수많은 특정한 상세들이 본 개시내용의 양태들의 철저한 이해를 제공하기 위해 제시된다. 그러나, 구조들, 시스템들, 및 방법들을 포함하는 양태들이 이들 특정한 상세 없이 실시될 수 있다는 것이 본 기술 분야의 통상의 기술자들에게 명백할 것이다. 본원의 설명 및 표현은 그들의 연구의 핵심을 본 기술 분야의 통상의 다른 기술자들에게 가장 효과적으로 전달하기 위해 본 기술 분야의 경험자들 또는 통상의 기술자들에 의해 사용되는 일반적인 수단들이다. 다른 예들에서, 널리 공지된 방법들, 절차들, 컴포넌트들, 및 회로는 본 개시내용의 양태들을 불필요하게 불명하게 하는 것을 피하기 위해 상세히 설명되지 않았다.
도 1은 디지털 인터페이스를 통해 통신하는 마스터 디바이스와 슬레이브 디바이스를 포함하는 종래의 시스템을 도시한다. 도 1에 도시한 것과 같이, 종래의 시스템(100)은 마스터 디바이스(102)로서 기능하는 마이크로컨트롤러, 및 디지털 인터페이스(103)를 통해 마스터 디바이스(102)에 결합되는 슬레이브 디바이스(104)를 포함한다. 디지털 인터페이스(103)는 마스터 디바이스(102)와 슬레이브 디바이스(104) 사이의 통신들을 동기화하기 위해 마스터 디바이스(102)와 슬레이브 디바이스(104) 사이의 양방향 디지털 통신들을 용이하게 하도록 기능할 수 있다. 그러므로, 디지털 인터페이스(103)는 도 1에 도시한 것과 같은 여러 개의 버스 라인들을 구현할 수 있는데, 이들 버스 라인 중 하나는 클럭(CLK) 라인이다. 서로 통신할 때, 마스터 디바이스(102)와 슬레이브 디바이스(104)는 각각 상이한 시간들에서 CLK 라인을 어서팅할 수 있다.
도 1에 도시한 것과 같이, 슬레이브 디바이스(104)는 슬레이브 디바이스(104)에 대한 처리 및 통신 동작들을 수행하도록 구성된 논리 회로(106), CLK 라인을 통해 수신된 CLK 신호들을 디바운스하는(debouncing) 슈미트 트리거, 및 CLK 라인에 결합되는 트랜지스터(110)를 포함할 수 있다. 트랜지스터(110)의 게이트는 또한 논리 회로(106)의 제어 라인에 접속되고 제어 라인을 통해 제어 신호들을 수신한다. 그러므로, CLK 라인은 통상적으로, 풀-업 저항기(108)를 통해 공급 전압 VDD로 풀업되고, 슬레이브 디바이스(104)가 CLK 라인을 어서팅할 때(예를 들어, 마스터 디바이스(102)에 데이터를 송신할 때), 논리 회로(106)는 트랜지스터(110)가 도통하고, CLK 라인이 접지(GND)로 풀되도록 트랜지스터(110)의 게이트에 적절한 논리를 갖는 제어 신호를 출력함으로써 제어 라인을 어서팅할 수 있다. 이 방식으로, 논리 회로(106)는 트랜지스터(110)의 스위칭을 통해 CLK 라인을 필요한 대로 조절할 수 있다. 그러나, 슬레이브 디바이스(104)의 오기능의 이벤트에서, 제어 신호는 어서팅된 논리 하이 상태로 고정될 수 있어서, CLK 라인은 로우 논리 상태에 갇혀 있거나, 데드록된다. 이 데드록된 상태에서, 마스터 디바이스(102)(뿐만 아니라 CLK 라인에 접속된 다른 디바이스들)는 CLK 라인을 더 이상 이용할 수 없다.
데드록킹 상태를 해결하기 위해, 종래의 해결책들은 도 1에 도시한 것과 같은 슬레이브 디바이스(102)에 결합된 것으로서 도 2에 도시된 추가적인 리셋 회로를 사용하는 것을 포함한다. 도 2에 도시한 것과 같은 리셋 회로(200)는 트랜지스터(220), 저항기들(222, 224, 226) 및 캐패시터 C를 포함하는 전압 스위치 구성을 통해 슬레이브 디바이스(104)에 결합되는, 마스터 범용 입력/출력(GPIO) 디바이스(201) 및 외부 전원(205)을 포함한다. 이 종래의 해결책은 CLK 라인을 모니터링하도록 기능하고 슬레이브 디바이스(104)의 공급 전압 VDD를 토글하여, 도 1과 관련하여 설명된 데드록을 해결하기 위해 슬레이브 디바이스(104) 내에 내부 리셋을 발생한다. 그러나 또한, 외부 및 전용 리셋 스위칭의 이 종래의 해결책은 시스템 설계에 상당한 비용을 추가하고, 또한 이들 추가적인 컴포넌트들, 땝납 점들, PCB 레이아웃 및 공간, 및 마스터 GPIO(201)에 의해 실행되는 소프트웨어의 설계의 구현에 관해 추가적인 설계 노력들이 드는 것을 요구한다. 이 문제를 더욱 복잡하게 하는 경우가 있는데, 슬레이브 디바이스(104)가 공급 라인으로부터의 극히 낮은 전류들을 소비하는 경우들에서, 추가적인 풀-다운 트랜지스터가 합당한 시간 내에 슬레이브 디바이스(104)의 공급 전압 핀을 방전시키기 위해 필요하다.
아래에 추가로 논의되는 것과 같이, 본 개시내용에 제시된 실시예들은 외부 및 전용 리셋 회로들의 필요성을 없애 주고, 대신에 잠재적으로 오기능하는 디바이스 자체에 의해 발생된 제어 신호들을 모니터링함으로써 데드록킹을 해결하는 데 도움을 준다.
도 3은 본 개시내용의 실시예에 따른, 디지털 인터페이스를 통해 서로 통신하는 제1 디바이스와 제2 디바이스를 포함하는 시스템을 도시한다. 시스템(300)은 설명의 용이성을 위해 그리고 제한하는 것으로서가 아니게 제1 디바이스(302) 및 제2 디바이스(304)를 포함하는 것으로서 도 3에 도시된다. 실시예들은 디지털 인터페이스(303) 내에 포함된 하나 이상의 버스 라인을 통해 상호접속될 수 있는, 임의의 적합한 수의 제1 디바이스들(302) 및/또는 제2 디바이스들(304)을 구현하는 시스템(300)을 포함한다.
편의상, 실시예들은 제1 디바이스(302) 및 제2 디바이스(304)가 단일인 것을 참조하여 본원에 설명된다. 그러나, 제2 디바이스(304)를 참조하여 본원에 설명된 실시예들은 시스템(300) 내에서 임의 수의 상호접속된 디바이스들로 확장될 수 있다. 예를 들어, 제2 디바이스(304)의 워치독 회로를 참조하여 본원에 설명된 실시예들은 제1 디바이스(302)의 부분으로서 추가적으로 또는 대안적으로 구현될 수 있다. 또 하나의 예로서, 제2 디바이스(304)의 워치독 회로를 참조하여 본원에 설명된 실시예들은 제1 디바이스(302)와 추가적으로 통신하도록 구성될 수 있는, 제2 디바이스(304)와 유사한 방식으로 구성된 추가적인 디바이스들의 부분으로서 추가적으로 또는 대안적으로 구현될 수 있다.
또한, 본원에 논의된 실시예들이 CLK 라인의 모니터링에 대한 것이지만, 데드록된 상태들은 클럭 라인 유형들과 배타적이지 않고, 다른 버스 라인들이 하드웨어 디바이스의 오기능의 이벤트에서 역시 데드록될 수 있다. 그러므로, 본원에 설명된 실시예들은 CLK 라인들의 데드록된 상태들을 방지하기 위해서만 적용가능한 것으로 해석되지 않아야 한다. 대신에, 본원에 설명된 개념들은 시스템 내의 다른 상호접속된 하드웨어 디바이스들에 의해 공유될 수 있는 외부 버스 라인의 논리 상태에 영향을 주는 임의의 적합한 유형의 논리 신호의 내부 모니터링을 포함하도록 확장될 수 있다. 이것은 예를 들어, 데이터 버스 라인들의 어서션을 야기하는 내부 논리 신호들을 모니터링하는 것과, 모니터링된 신호가 데드록된 외부 버스 라인을 야기하는 동일한 논리 상태로 유지될 때 디바이스의 하나 이상의 부분이 리셋되게 하는 것을 포함할 수 있다. 본원에 설명된 실시예들은 CLK 라인들의 모니터링에 부가하여 또는 대안으로서 다른 버스 라인들의 데드록된 상태들을 모니터링하는 것을 포함할 수 있다. 예를 들어, 제2 디바이스(304)는 디지털 인터페이스(303) 내에 포함된 버스 라인들의 하나 이상(또는 모두)의 상태를 제어하는 논리 회로(306)에 의해 사용된 하나 이상의 다른 신호의 논리 상태를 모니터링하기 위해 워치독 회로(308) 및 논리 회로(306)와의 적절한 접속들을 포함할 수 있다. 그러므로, 실시예들은 디지털 인터페이스(303) 내에 포함된 임의 수의 버스 라인들의 데드록킹 문제들을 방지하기 위해 본원에 설명된 것과 같은 워치독 기술들을 구현하는 시스템(300) 내에 임의 수의 상호접속된 디바이스들을 포함한다.
실시예에서, 제1 디바이스(302)와 제2 디바이스(304)는 디지털 인터페이스(303)를 사용하여 양방향으로 서로 통신하도록 구성된 임의의 적합한 유형의 디바이스로서 구현될 수 있다. 이들 통신은 데이터를 교환하기 위해 제1 디바이스(302) 및 제2 디바이스(304)가 서로 접속을 확립하는 것을 용이하게 하는 임의의 적합한 유형의 통신 프로토콜에 따라 발생할 수 있다. 적합한 통신 프로토콜들의 일부 예들은 I2C(Inter-Integrated Circuit) 프로토콜, SPI(Serial Peripheral Interface) 프로토콜, CAN(Controller Area Network) 프로토콜, 1-Wire 프로토콜 등을 포함할 수 있다. 그러므로, 디지털 인터페이스(303)는 특정한 응용을 위해 구현되는 특정한 유형의 통신 프로토콜을 용이하게 하기 위해 임의의 적합한 수의 버스 라인들을 포함할 수 있다.
실시예에서, 제1 디바이스(302)와 제2 디바이스(304)는 둘 다 도 1을 참조하여 본원에 논의된 것과 같이, 마스터/슬레이브 관계의 부분으로서 서로 통신하기 위해 디지털 인터페이스(303) 내의 하나 이상의 버스 라인을 이용할 수 있다. 이러한 경우에, 제1 디바이스(302)는 예를 들어, 마이크로컨트롤러와 같은 임의의 적합한 유형의 마스터 디바이스로서 구현될 수 있다. 제2 디바이스(304)는 예를 들어, 또 하나의 마이크로컨트롤러, 물리적 특성을 측정하도록 구성된 센서 디바이스, 아날로그-디지털 변환기 등과 같은 임의의 적합한 유형의 슬레이브 디바이스로서 구현될 수 있다.
양방향 통신들을 용이하게 하기 위해, 제1 디바이스(302)와 제2 디바이스(304) 각각은 특정한 통신 프로토콜에 따라 데이터를 다른 디바이스에 송신할 때 CLK 라인(뿐만 아니라 도 3에 도시하지 않은 하나 이상의 데이터 라인)을 어서팅할 수 있다. 버스 경합을 피하기 위해, 제1 디바이스(302)와 제2 디바이스(304)는 각각 수신 디바이스가 통신 프로토콜에 의해 확립될 수 있는 미래 시간 윈도우 내에서 그렇게 하기를 시도하지 않도록 송신 디바이스가 버스 라인을 구동시킬 것이라는 것을 표시하는 신호를 다른 디바이스에 송신하기 위해 CLK 라인을 이용할 수 있다.
제2 디바이스(304)는 제1 디바이스(302)로부터 수신된 CLK 신호들을 디바운스하기 위해 슈미트 트리거 또는 다른 적합한 디바이스를 포함할 수 있다. 논리 회로(306)는 제2 디바이스(304)가 데이터를 처리하고, 데이터를 제1 디바이스(302)에 송신하고, 제1 디바이스(302)로부터 데이터를 수신하는 것을 용이하게 하기 위해 임의의 적합한 구성의 하드웨어를 포함할 수 있다. 논리 회로는 논리 회로(306)가 제2 디바이스(304) 내부에 있도록 제2 디바이스(304)와 동일한 칩(즉, 다이)의 부분으로서 통합될 수 있다. 논리 회로(306)는 제2 디바이스(304)에 대한 데이터 처리 및 타이밍 기능들을 관리할 수 있고, 예를 들어, 제2 디바이스(304)의 서브-회로로서 구현될 수 있다. 한 예로서, 논리 회로(306)는 제2 디바이스(304)와 연관된 데이터 처리 및 통신 기능들을 가능하게 하기 위해 적합한 상보형 금속 산화물 반도체(CMOS) 회로를 갖는 시스템-온-칩(SoC)으로서 구현될 수 있다.
또한, 제2 디바이스(304)는 제2 디바이스(304)가 제1 디바이스(302)와의 통신들을 위해 CLK 라인들을 어서팅할 필요가 있을 때 제2 디바이스(304)가 CLK 라인의 논리 상태를 제어할 수 있게 하기 위해 논리 회로(306) 및 CLK 라인에 결합된 임의의 적합한 유형의 구동기 구성을 포함할 수 있다. 예를 들어, 제2 디바이스(304)는 개방-드레인 구성에서 논리 회로(306) 및 CLK 라인에 결합된 트랜지스터(310)를 포함할 수 있다. 이러한 구성에서, 트랜지스터(301)는 도 3에 도시한 것과 같이, 제어 라인(309)을 통해 논리 회로(306)에 결합된 게이트 단자를 가질 수 있다. 논리 회로(306)는 제어 라인(309)에 또한 결합된 출력 단자를 가질 수 있고, 논리 회로(306)는 제어 라인(309) 상에서 제어 신호를 출력하도록 구성될 수 있다. 실시예에서, 제어 신호는 제2 디바이스(302)의 특정한 구현에 의존하는 특정한 이벤트들의 발생에 관해 다른 상호접속된 디바이스들(예를 들어, 제1 디바이스(302))에 시그널링하는 인터럽트 신호 또는 또 하나의 적합한 신호일 수 있다. 예를 들어, 인터럽트 신호는 새로운 측정 결과들이 있거나 제1 디바이스(302)가 페치할 새로운 데이터가 가용하다는 것(예를 들어, 제2 디바이스(304) 또는 또 하나의 적합한 디바이스의 메모리의 독출)을 제1 디바이스(302)에 표시할 수 있다.
또 하나의 예로서, 제어 신호는 대안적으로 예를 들어, I2C와 같은 다양한 데이터 통신 프로토콜들에 따라 사용되는 "클럭 스트레칭(clock stretching)" 신호일 수 있다. 이 예를 계속하면, 제2 디바이스(304)는 디지털 인터페이스(303)를 통해 제1 디바이스(302)와 계속 진행 중인 통신들을 지연시키기 위해 클럭 스트레칭 신호로서 제어 신호를 사용할 수 있다. 이것은 다양한 시나리오들에서 적용가능할 수 있고, 하나의 예는 제1 디바이스(302)가 요청된 동작(예를 들어, 센서 데이터 측정)을 아직 끝내지 않았고, 새로운 데이터가 아직 독출 대기 상태가 아닐 때이다.
바꾸어 말하면, 제어 신호는 제1 디바이스(302)가 제2 디바이스(304)와 과도하게 빠르게 통신하는 것을 방지하기 위해 통신 프로토콜에 따라 클럭 스트레칭 신호로서 사용될 수 있다. 상기 또 하나의 방식인, 클럭 스트레칭 신호의 사용은 제1 디바이스(302)가 미리 결정된 통신 속도일 수 있는 임계 통신 속도, 특정한 통신 프로토콜에 따라 사용된 통신 속도의 비율, 원래의 또는 디폴트 통신 속도로부터 조정되는 통신 속도 등에 따라 제2 디바이스(304)와 통신하는 것을 방지할 수 있다. 이 임계 통신 속도는 비주기적 및 주기적 통신 속도들을 포함할 수 있는데, 비주기적 통신 속도들은 제1 디바이스(302)에 의한 특정한 이벤트들의 완료와 연관된 위에 언급된 대기 주기들을 포함한다.
트랜지스터(310)는 저항기(308)를 통해 공급 전압 VDD로 풀업되는, CLK 라인에 결합된 드레인 단자를 추가로 가질 수 있고, 트랜지스터(308)의 소스 단자는 접지 기준에 결합될 수 있다. 그러므로, 이 개방-드레인 구성에서, CLK 라인은 트랜지스터(310)가 비도통일 때 저항기(308)를 통해 하이(논리 하이 상태)로 풀될 수 있다. CLK 라인은 트랜지스터(308)가 도통일 때 논리 로우 상태(GND)로 구동될 수 있는데, 이 상태는 제어 신호가 도 3에 도시한 구성에서 논리 회로(306)에 의해 논리 하이로 어서팅될 때 발생할 수 있다.
도 3에서 n형 전계 효과 트랜지스터(FET)로서 도시되지만, 실시예들은 임의의 적합한 유형의 트랜지스터(310)를 구현하는 제2 디바이스(304)를 포함한다. 이러한 트랜지스터들의 예들은 예를 들어, 바이폴라 접합 트랜지스터(BJT), 헤테로접합 바이폴라 트랜지스터(HBT) 등을 포함할 수 있다. 또한, 단일 트랜지스터(310)를 구현하는 도 3에 도시한 것과 같은 예시적인 구동기 구성은 CLK 라인을 어서팅하기 위해 제2 디바이스(304)에 의해 사용될 수 있는 구동기 구성의 단지 하나의 예이다. 간결성의 목적들을 위해 도 3에 도시하지 않았지만, 구동기 스테이지의 또 하나의 예는 3상태를 갖는 푸시-풀 출력 트랜지스터 구성을 대안적으로 구현할 수 있다. 예를 들어, 도 3에 도시한 것과 같은 트랜지스터(310)는 CLK 라인이 논리 회로(306)에 의해 출력된 제어 신호에 응답하여 제공되는, 푸시-풀 트랜지스터 구성의 출력에 따라 논리 하이 또는 논리 로우 상태로 구동될 수 있게 하기 위해 임의의 적합한 구성의 트랜지스터들로 대체될 수 있다.
임의의 이벤트에서, 실시예들은 논리 회로(306)에 의해 출력된 제어 신호에 응답하여 CLK 신호를 어서팅하는 제2 디바이스(304)를 포함한다. 또한, 논리 회로(306)의 오기능의 이벤트에서, 제어 라인은 계속 어서팅되고 CLK 라인의 데드록된 상태를 야기할 수 있다. 그러므로, 이들 데드록킹 문제를 피하기 위해, 실시예들은 논리 회로(306)에 의해 제공된 내부 제어 신호를 모니터링할 수 있는, 워치독 회로(308)를 구현하는 제2 디바이스(304)를 포함한다. 제어 신호가 워치독 타임아웃 임계치를 초과하여 특정한 논리 상태(예를 들어, 이 예에서 논리 하이)로 유지되는 이벤트에서, 워치독 회로(308)는 제어 신호가 디폴트, 또는 사전-어서팅된 상태(이 예에서 논리 로우)로 다시 되돌아가게 함으로써 데드록된 상태를 해결하기 위해 제2 디바이스(304)의 하나 이상의 부분이 리셋되게 할 수 있다.
그렇게 하기 위해, 실시예들은 도 3에 도시한 것과 같이, 모니터링 라인(307) 및 오버타임 라인(311)을 통해 논리 회로(306)에 결합되는 워치독 회로(308)를 포함한다. 모니터링 라인(307)은 워치독 회로(308)가 트랜지스터(310)(또는 경우에 따라, 다른 적합한 구동기 구성)에 제공된 제어 신호의 논리 상태를 정확하게 모니터링할 수 있도록 논리 회로(306)에 직접적으로, 트랜지스터(310)에 직접적으로, 또는 임의의 적합한 방식으로 결합될 수 있다. 예를 들어, 모니터링 라인(307)은 원한다면 워치독 회로(308)와 제2 디바이스(304)의 다른 컴포넌트들 간의 분리를 제공하기 위해, 추가적인 버퍼들, 결합기들 등을 포함할 수 있다. 유사하게, 워치독 회로(308)는 오버타임 라인(311)을 통해 논리 회로(306)에 직접적으로 또는 간접적으로(예를 들어, 버퍼들, 구동기들 등으로) 결합될 수 있다.
워치독 회로(308)는 제2 디바이스(304)의 통합된 부분으로서 구성될 수 있고, 트랜지스터(310), 논리 회로(306) 등과 같은 제2 디바이스(304)의 다른 컴포넌트들과 함께 제2 디바이스(304)와 동일한 칩(즉, 다이)의 부분으로서 형성될 수 있다. 워치독 회로(308)는 동일한 다이 상에서 구현될 때 제2 디바이스(304) 내부에 있을 수 있지만, 실시예들은 이 특정한 구현으로 제한되지 않는다. 대신에, 대안적 실시예들은 제어 신호의 논리 상태를 모니터링하고 데드록된 상태가 검출될 때 제2 디바이스(304)의 하나 이상의 부분이 리셋되게 하기 위해 임의의 적합한 방식으로 논리 회로(306)에 결합되는 하나 이상의 컴포넌트로서 구현되는 워치독 회로(308)를 포함한다.
워치독 회로(308)는 제어 신호의 모니터링된 상태에 기초하여 논리 회로(306)에 오버타임 신호를 출력하는 임의의 적합한 유형의 아키텍처에 따라 구현될 수 있다. 본원에 설명된 워치독 회로(308)의 예들은 타임아웃 워치독 아키텍처를 기준으로 하는 것이지만, 실시예들은 이들 예로 제한되지 않는다. 예를 들어, 워치독 회로(308)는 여러 개의 시간 주기가 만료한 후에 오버타임 신호의 발생을 트리거하는 멀티-스테이지 워치독 아키텍처와 같은, 또 하나의 유형의 워치독 아키텍처로서 대안적으로 구현될 수 있다.
바꾸어 말하면, 아래에 더 상세히 설명되는 예들에서, 워치독 회로(308)는 제어 신호가 워치독 타임아웃 임계치를 초과하여 특정한 논리 상태로 유지될 때 오버타임 신호를 발생하는 것으로서 설명된다. 이러한 실시예들에 따라, 오버타임 신호는 회로 컴포넌트들의 응답 시간 또는 전체적인 시스템 레이턴시와 같은 다른 시스템 지연들을 제외하고, 워치독 타임아웃 임계 조건이 만족될 때 즉각적으로 발생될 수 있다. 그러나, 실시예들은 이 특정한 예로 제한되지 않고, 오버타임 신호는 데드록킹 조건이 검출될 때(즉, 워치독 타임아웃 임계치가 초과될 때) 임의의 적합한 시간 스케줄에 따라 발생될 수 있다. 예를 들어, 오버타임 신호는 제어 신호가 워치독 타임아웃 임계치를 초과하여 특정한 논리 상태로 유지된다고 결정될 때 오버타임 신호가 논리 회로(306)에 언제 출력되는지에 관해 고정되거나 조정가능한 지연으로 발생될 수 있다.
오버타임 신호의 발생에 대해 위에 논의된 것과 같이, 워치독 회로(308)는 다양한 아키텍처들에 따라 구현될 수 있고, 그러므로 워치독 카운터는 워치독 회로(308)의 응답 시간 또는 다른 시스템 레이턴시와 같은 다른 시스템 지연들을 제외하고, 워치독 회로(308)가 논리 회로(306)에 의해 출력된 제어 신호의 논리 상태의 변화를 검출할 때 즉각적으로 시작될 수 있다. 대안적으로, 워치독 회로(308)는 고정되거나 조정가능할 수 있는 시간 주기만큼 워치독 카운터를 시작하는 것을 지연시킬 수 있다. 또한, 워치독 타임아웃 임계치 자체는 고정되거나 조정가능할 수 있고, 워치독 회로(308)가 구현되는 특정한 응용에 기초하여 구성될 수 있다. 예를 들어, 워치독 타임아웃 임계치는 디지털 인터페이스(300)에 의해 사용되는 클럭 속도 또는 다른 적합한 파라미터들에 기초하여 확립(고정 또는 조정)될 수 있다.
추가적으로, 워치독 회로(308)는 제2 디바이스(304) 내부에 및/또는 외부 컴포넌트로서 구현될 수 있다. 다양한 실시예들에서, 워치독 회로(308)는 또한 제2 디바이스(304)에 의해 사용된 것들과 상이한 하나 이상의 전용 컴포넌트를 사용할 수 있다. 예를 들어, 워치독 회로(308)는 시스템(300) 내의 제2 디바이스(304) 또는 다른 디바이스들에 의해 구현된 것과 상이한 발진기, 논리, 및/또는 공급 전압 VDD를 구현할 수 있다. 예를 들어, 이들 상이한 컴포넌트는 워치독 회로(308)에 전용되거나 제2 디바이스(304) 이외의 시스템(300) 내의 컴포넌트들과 공유될 수 있다(예를 들어, 시스템(300) 내의 각각의 워치독 회로 간에 공유될 수 있다). 이 방식으로, 본원에 설명된 실시예들은 발진기, 전압 공급, 논리 등에 의해 발생된 제2 디바이스(304)의 오기능들이 워치독 회로(308)에 영향을 주지 않으므로, 워치독 회로(308)의 강건한 동작을 보장한다. 그러므로, 워치독 회로(308)는 제어 신호의 상태를 계속 모니터링하고 이러한 오기능들의 이벤트에서 오버타임 신호들을 발생할 수 있다.
또한, 도 3에 도시한 것과 같이, 워치독 회로(308)는 제어 신호를 출력하기 위해 논리 회로(306)에 의해 사용되는 제어 라인(309)의 논리 상태를 모니터링한다. 이것은 제어 라인(309)에 워치독 회로(308)를 결합하는, 모니터링 라인(307)을 통해 달성된다. 이제 도 4a를 참조하여, 워치독 회로(308)의 모니터링 기능이 더 상세히 설명된다. 도 3을 참조하면서 계속 보면, 도 4a는 디지털 인터페이스(303)의 CLK 라인을 통해 전달되는 CLK 신호, 제어 라인(309)을 통해 전달되는 제어 신호, 및 워치독 회로(308)에 의해 구현되는 워치독 카운터 타이밍에 대한 타이밍 다이어그램을 도시한다. 이들 타이밍 다이어그램(400) 각각은 타임 스케일로 도시된다. 도 4a에 도시한 것과 같이, 제1 디바이스(302)는 시간 주기들(402) 동안 CLK 라인을 구동시키는 반면, 제2 디바이스(304)는 시간 주기(404) 동안 CLK 라인을 구동시킨다.
CLK 라인을 구동시키기 위해, 논리 회로(306)는 이 예에서 논리 하이 상태를 갖는 제어 신호를 출력하여, 트랜지스터(310)를 턴 온시키고 CLK 신호가 시간 주기(404) 동안 도시한 것과 같이 논리 하이 상태로부터 논리 로우 상태로 변화되게 한다. 실시예에서, 워치독 회로(308)는 (예를 들어, 제어 신호의 상승 에지를 검출하는) 에지-감지 논리 또는 (예를 들어, 제어 신호가 이제 디폴트 상태와 상이한 논리 상태에 있다는 것을 검출하는) 레벨-감지 논리에 따라 검출될 수 있는, 모니터링 라인(307)을 통해 제어 라인(309)의 논리 상태의 변화를 검출한다. 임의의 이벤트에서, 논리 회로(306)에 의해 출력된 제어 신호의 논리 상태의 변화를 검출할 때, 실시예들은 제어 신호의 논리 상태의 후속하는 변화가 검출될(에지-감지 또는 레벨-감지 논리를 통해 또한 이루어질 수 있음) 때까지 계속 런닝하는 카운터(예를 들어, 타이머)를 시작하는 워치독 회로(308)를 포함한다.
도 4a에 도시한 것과 같이, 제어 신호는 시간 주기(404)의 종료 시에 이전의 논리 로우 상태로 복귀하여, CLK 라인의 제어를 포기한다. 결과적으로, 워치독 회로(308)를 통해 구현되는 워치독 카운터는 시간 주기(404)의 종료 시에 중지되고 리셋(즉, "킥")된다. 이 예에서, 데드록킹 상태가 발생하지 않고, 시간 주기(404)는 워치독 타임아웃 임계 주기보다 적은 것으로서 도시된다. 그러므로 시스템(300)의 동작은 계속되고, 워치독 카운터는 워치독 회로(308)가 모니터링 라인(307)을 통해 논리 회로(306)에 의해 출력된 제어 신호를 계속 모니터링하는 이 방식으로 적용가능한 것으로서 시작되고 리셋된다.
도 3을 참조하면서 계속 보면, 도 4b는 도 4a에 도시한 것과 같은 동일한 타이밍 다이어그램들을 도시한다. 도 4a에 도시한 타이밍 다이어그램들(400)과 마찬가지로, 도 4b에 도시한 것과 같은 타이밍 다이어그램들(425)은 또한 제1 디바이스(302)가 시간 주기들(402) 동안 CLK 라인을 구동시키는 것, 및 제2 디바이스(304)가 시간 주기(404) 동안 CLK 라인을 구동시키는 것을 나타낸다. 그러나, 도 4b에 도시한 예시적인 타이밍 다이어그램들(425)에서, 제2 디바이스(304)는 오기능하고 CLK 라인을 데드록된 상태로 되게 한다. 도 4b에 도시한 것과 같이, 워치독 회로(308)는 논리 로우 상태로부터 논리 하이 상태로의 제어 신호의 논리 상태의 변화를 검출할 때 워치독 카운터를 개시하여, CLK 라인을 논리 로우 상태로 구동되게 한다.
도 4b에 도시한 것과 같은 예시적인 타이밍 다이어그램들(425)에서, 제어 신호는 논리 하이 상태로 유지되고, 그러므로 시간 주기(404) 동안 CLK 라인을 로우로 어서팅한다. 이 예에서, 제어 신호가 논리 하이 상태로 유지되는 시간 주기(404)는 도시한 것과 같이 워치독 타임아웃 임계치를 초과한다. 이 예에서, 제어 신호가 워치독 타임아웃 임계치를 초과하여 동일한 논리 상태로 유지될 때, 워치독 회로(308)는 오버타임 라인(311)을 통해 논리 회로(306)에 결합되는, 오버타임 신호를 발생한다.
워치독 회로(308)에 의해 발생된 오버타임 신호는 제2 디바이스(304)의 하나 이상의 부분이 리셋되게 하도록 구성될 수 있다. 이것은 예를 들어, 논리 회로(306) 또는 논리 회로(306)의 부분들을 리셋함으로써 달성될 수 있다. 예시적인 예로서, 오버타임 신호는 제2 디바이스(304)의 다른 부분들이 그들의 현재 상태를 유지하는 동안, 통신 인터페이스와 연관된 논리 회로(306)의 논리가 리셋되게 함으로써 제2 디바이스의 부분적 리셋을 야기할 수 있다. 또 하나의 예로서, 오버타임 신호는 논리 회로(306)가 리셋되게 하고, 제2 디바이스(304)의 다른 부분들(또는 전체 제2 디바이스(304))도 선택적으로 역시 리셋되게 할 수 있는 오버타임 라인(311)을 통해 논리 회로(306)의 적합한 단자에 결합될 수 있다.
오버타임 신호는 워치독 회로(308)의 아키텍처, 논리 회로(306)의 구현, 및 제2 디바이스(304)의 특정한 구현에 따라 상이한 방식들로 구성될 수 있다. 예를 들어, 오버타임 신호는 마스크가능한 인터럽트, 비마스크가능한 인터럽트, 또는 이들의 조합들에 따라, 타이밍된 펄스의 형태로 발생될 수 있다. 오버타임 신호는 고정되거나 조정가능한 데이터 및/또는 논리 타이밍에 대한 포맷을 가질 수 있다. 대안적 실시예들에서, 워치독 회로(308)는 대신에 오버타임 라인(311)을 통해 논리 회로에 직접적으로 결합되고, 제2 디바이스(304) 외부 또는 내부에 있는 또 하나의 디바이스(도시 안됨)에 결합될 수 있다. 이러한 경우들에서, 워치독 회로(308)는 결국 필요한 리셋 신호를 발생하여 논리 회로(306)에 제공할 수 있는 이들 다른 컴포넌트(들)에 오버타임 신호를 제공할 수 있다.
임의의 이벤트에서, 위에 언급된 것과 같이, 오버타임 신호의 발생은 제2 디바이스(304)의 하나 이상의 부분 및/또는 논리 회로(306)가 리셋되게 할 수 있다. 실시예에서, 제2 디바이스(304) 및/또는 논리 회로(306)의 리셋 시에, 제어 신호는 디폴트의 비어서팅된 논리 상태로 다시 되돌아갈 수 있다. 예를 들어, 도 4b에 도시한 것과 같이, 워치독 회로(308)가 오버타임 신호를 발생할 때, 제2 디바이스(304) 및/또는 논리 회로(306)의 리셋은 제어 신호가 논리 로우 상태로 다시 되돌아가게 하므로, 데드록된 상태를 해결하고 CLK 라인의 제어를 제1 디바이스(302)(또는 경우에 따라, 시스템(300) 내의 다른 디바이스들)로 이양한다.
실시예에서, 워치독 회로(308)의 동작은 통상적인 동작 동안 시스템(300)의 리셋에 투명할 수 있다. 예를 들어, 도 3을 참조하면서 계속 보면 도 4c는 도 4a에 도시한 것과 같은 동일한 타이밍 다이어그램들을 도시한다. 도 4a에 도시한 타이밍 다이어그램들(400)과 마찬가지로, 도 4c에 도시한 것과 같은 타이밍 다이어그램들(450)은 또한 디지털 인터페이스(303)의 CLK 라인을 통해 전달되는 CLK 신호, 제어 라인(309)을 통해 전달되는 제어 신호, 및 워치독 회로(308)에 의해 구현된 워치독 카운터 타이밍을 나타낸다. 그러나, 도 4a, 4b에 각각 도시한 것과 같은 타이밍 다이어그램들(400, 425)과 다르게, 도 4c에 도시한 것과 같은 타이밍 다이어그램들(450)은 제2 디바이스(304)가 CLK 라인을 어서팅하지 않는 것을 표시한다. 대신에, 제1 디바이스(302)는 도시한 것과 같은 전체 시간 주기(402) 동안 CLK 라인을 독점적으로 구동시킨다. 결과적으로, 제어 신호는 논리 로우 상태로부터 상태를 변화시키지 않고, 워치독 카운터는 시작되지 않는다.
위에 그리고 본 개시내용 전체에 걸쳐 어딘가에 설명된 논리 상태들은 개방-드레인 구성에서 트랜지스터(310)를 구현하는 도 3에 도시한 것과 같은 구동기 구성에 따라 사용된 예들이고, 다른 실시예들은 다른 구동기 구성들에 기초하는 대안적 논리 상태들을 사용할 수 있다. 보다 일반적으로, 실시예들은 워치독 회로(308)가 특정한 버스 라인(예를 들어, CLK 라인)을 어서팅하지 않는 것과 연관된 하나의 논리 상태로부터 동일한 버스 라인을 어서팅하는 것과 연관된 또 하나의 논리 상태로의 제어 신호의 논리 상태의 변화를 검출한 것에 기초하여 워치독 타이머를 개시하는 것을 포함한다.
도 5는 본 개시내용의 실시예에 따른, 방법 흐름을 도시한다. 방법 흐름(500)은 특정한 논리 상태를 갖는 제어 신호가 출력될(블록 502) 때 시작될 수 있다. 이것은 예를 들어, 제2 디바이스(304)의 논리 회로(306)가 (예를 들어, 인터럽트 신호로서) 특정한 이벤트의 발생을 표시하는 논리 상태에서 제어 신호를 출력하는 것을 포함할 수 있고, 또는 과도하게 빠른 통신들이 (예를 들어, 클럭 스트레칭 신호로서) 제1 디바이스(302)로 발생하는 것을 방지한다. 또한, 이 방식으로의 제어 신호의 어서션은 결국 예를 들어, 도 3에 도시한 것과 같은 CLK 라인과 같은, 특정한 버스 라인을 어서팅할 수 있다.
방법(500)은 버스 라인이 어서팅되도록 버스 라인(예를 들어, 도 3에 도시한 것과 같은 CLK 라인)이 논리 상태들을 변화시키게(블록 504) 하기 위해 제어 신호의 논리 상태가 디폴트 상태로부터 벗어나는 것을 포함할 수 있다. 이것은 예를 들어, CLK 라인이 트랜지스터(310)의 도통을 통해 논리 로우 상태로 변화되게 하는 논리 하이 상태에서의 출력인 제어 신호에 응답하는, 도 4b에 도시한 것과 같은 CLK 신호의 변화를 포함할 수 있다.
방법(500)은 워치독 회로가 제어 신호의 논리 상태의 변화(블록 502)를 검출할 때 워치독 카운터를 시작하는(블록 506) 것을 포함할 수 있다. 이것은 예를 들어, 워치독 회로(308)가 도 3에 도시한 것과 같은 모니터링 라인(309)을 통해 출력 신호를 모니터링하고, 도 4b를 참조하여 본원에 논의된 것과 같이, 특정한 논리 상태로 구동되는 제어 신호를 검출할 때 워치독 카운터(예를 들어, 타이머)를 개시하는 것을 포함할 수 있다.
방법(500)은 제어 신호가 논리 상태들을 변화시켰는지 또는 제어 신호가 동일한 논리 상태로 유지되는지를 결정하는(블록 508) 것을 포함할 수 있다. 이것은 예를 들어, 도 3에 도시한 것과 같은 워치독 회로(308)를 통해 수행될 수 있다. 이 결정(블록 508)은 예를 들어, 워치독 카운터가 임의의 적합한 샘플링 스케줄에 따라 증가될 때마다 반복될 수 있다. 제어 신호의 논리 상태가 변화한(예를 들어, 버스 라인의 논리 상태를 변화시키기(블록 504) 전에 디폴트 논리 상태 또는 논리 상태로 다시 되돌아가는) 이벤트에서(블록 508 - 예 브랜치), 방법(500)은 워치독 카운터를 중지 및/또는 리셋하는(블록 509) 것을 포함할 수 있다. 제어 신호가 동일한 논리 상태로 유지되는 이벤트에서, 방법(500)은 계속된다(블록 508 - 아니오 브랜치).
제어 신호를 출력하고(블록 502), 제어 신호에 응답하여 버스 라인의 논리 상태를 변화시키고(블록 504), 워치독 카운터를 시작하고(블록 506), 제어 신호가 디폴트 논리 상태로 다시 되돌아갔는지를 결정하는(블록 508) 이 프로세스는 제2 디바이스(304)가 버스 라인을 어서팅하기 위해 또 하나의 제어 신호를 출력할 때마다 도 5에 도시한 것과 같이 반복될 수 있다.
제어 신호가 동일한 논리 상태로 유지될 때(블록 508 - 아니오 브랜치), 방법(500)은 워치독 카운터가 워치독 타임아웃 임계치에 도달하였는지를 결정하는(블록 510) 것을 추가로 포함할 수 있다. 그렇지 않으면, 워치독 카운터는 제어 신호가 동일한 논리 상태로 유지되는 동안 계속 런닝할 수 있다(블록 510 - 아니오 브랜치).
그러므로, 워치독 카운터를 계속 증가시키고(블록 506), 제어 신호가 디폴트 논리 상태로 다시 되돌아갔는지를 결정하고(블록 508), 워치독 카운터가 워치독 타임아웃 임계치에 도달하였는지를 결정하는(블록 510) 프로세스는 워치독 카운터가 워치독 타임아웃 임계치에 도달할(블록 510 - 예 브랜치) 때까지 제어 신호가 동일한 논리 상태로 유지되는 한 도 5에 도시한 것과 같이 반복될 수 있다. 워치독 카운터가 워치독 타임아웃 임계치에 도달할 때(블록 510 - 예 브랜치), 워치독 회로(308)는 오버타임 신호를 출력할(블록 511) 수 있다. 본원에 논의된 것과 같이, 오버타임 신호는 제2 디바이스(304)의 하나 이상의 부분이 리셋되게 할 수 있고, 그러므로 제어 신호의 논리 상태를 그것의 디폴트 상태로 리셋하고 워치독 카운터를 리셋한다. 그러나, 리셋이 완료된 후에, 방법(500)은 본원에 논의된 것과 같이, 또 하나의 제어 신호가 버스 라인을 어서팅하기 위해 출력될(블록 502) 때마다 반복될 수 있다.
본 개시내용의 기술들은 또한 다음의 예들에서 설명될 수 있다.
예 1. 디바이스로서, 상기 디바이스 외부에 있는 버스 라인 및 상기 디바이스 내부의 논리 회로에 결합되고, 상기 논리 회로로부터 수신된 제어 신호에 응답하여 상기 버스 라인의 논리 상태를 제1 논리 상태로부터 제2 논리 상태로 변화시키도록 구성된 트랜지스터; 및 상기 디바이스 내부에 있고, 상기 제어 신호가 임계 타임아웃 주기를 초과하여 동일한 논리 상태로 유지될 때 상기 논리 회로에 오버타임 신호를 제공하도록 구성된 워치독 회로를 포함하는 디바이스.
예 2. 예 1에 있어서, 상기 트랜지스터는 개방 드레인 구성 또는 푸시-풀 구성에서 상기 버스 라인에 결합되는 디바이스.
예 3. 예들 1-2의 임의의 조합에 있어서, 상기 버스 라인은 상기 디바이스 및 제2 디바이스에 접속되는 클럭 라인인 디바이스.
예 4. 예들 1-3의 임의의 조합에 있어서, 상기 클럭 라인은 상기 디바이스와 상기 제2 디바이스가 서로 통신할 수 있게 하기 위해 I2C 통신 프로토콜에 따라 사용되는 디바이스.
예 5. 예들 1-4의 임의의 조합에 있어서, 상기 워치독 회로에 의해 제공된 상기 오버타임 신호는 상기 디바이스의 하나 이상의 부분이 리셋되게 하는 디바이스.
예 6. 예들 1-5의 임의의 조합에 있어서, 상기 디바이스의 상기 하나 이상의 부분이 리셋될 때, 상기 제어 신호는 상기 제어 신호가 상기 임계 타임아웃 주기를 초과하여 유지되는 동일한 논리 상태와 상이한 논리 상태로 변화되는 디바이스.
예 7. 예들 1-6의 임의의 조합에 있어서, 상기 워치독 회로는 상기 제어 신호의 상기 논리 상태의 변화를 검출한 것에 기초하여 타이머를 개시하도록 구성되는 디바이스.
예 8. 예들 1-7의 임의의 조합에 있어서, 상기 워치독 회로는 상기 논리 회로와 상이한 발진기 또는 상이한 전원 중 적어도 하나를 사용하여 동작하도록 구성되는 디바이스.
예 9. 예들 1-8의 임의의 조합에 있어서, 상기 트랜지스터, 상기 워치독 회로, 및 상기 논리 회로는 동일한 반도체 칩 상에서 구현되는 디바이스.
예 10. 예들 1-9의 임의의 조합에 있어서, 상기 트랜지스터는 제어 라인을 통해 상기 논리 회로로부터 상기 제어 신호를 수신하고, 상기 워치독 회로는 모니터링 라인을 통해 상기 제어 라인에 접속되는 디바이스.
예 11. 시스템으로서, 버스 라인을 선택적으로 구동시키도록 구성된 제1 디바이스; 및 상기 버스 라인을 통해 상기 제1 디바이스에 결합되고, 상기 버스 라인을 선택적으로 구동시키도록 구성되는 제2 디바이스를 포함하고, 상기 제2 디바이스는: 상기 버스 라인 및 상기 제2 디바이스 내부에 있는 논리 회로에 결합되고, 상기 제2 디바이스가 상기 버스 라인을 구동시킨다는 것을 표시하는 상기 논리 회로부터 수신된 제어 신호에 응답하여 상기 버스 라인의 논리 상태를 제1 논리 상태로부터 제2 논리 상태로 변화시키도록 구성된 트랜지스터; 및 상기 제2 디바이스 내부에 있고; 상기 제어 신호의 논리 상태를 모니터링하고, 상기 제어 신호가 임계 타임아웃 주기를 초과하여 동일한 논리 상태로 유지될 때 상기 논리 회로에 오버타임 신호를 제공하도록 구성되는 워치독 회로를 포함하는 시스템.
예 12. 예 11에 있어서, 상기 제1 디바이스는 마스터 디바이스이고, 상기 제2 디바이스는 슬레이브 디바이스인 시스템.
예 13. 예들 11-12의 임의의 조합에 있어서, 상기 제어 신호는 (ⅰ) 상기 마스터 디바이스에 이벤트를 시그널링하는 인터럽트 신호, 또는 (ⅱ) 상기 마스터 디바이스가 임계 통신 속도를 초과하여 상기 슬레이브 디바이스와 통신하는 것을 방지하는 클럭 스트레칭 신호 중 하나인 시스템.
예 14. 방법으로서, 트랜지스터를 통해, 제1 디바이스 내부에 있는 논리 회로로부터 수신된 제어 신호에 응답하여 버스 라인의 논리 상태를 제1 논리 상태로부터 제2 논리 상태로 변화시키는 단계 - 상기 트랜지스터는 (ⅰ) 상기 제1 디바이스 외부에 있는 버스 라인, 및 (ⅱ) 상기 논리 회로에 결합됨 -; 및 상기 제1 디바이스 내부에 있는 워치독 회로를 통해, 상기 제어 신호가 임계 타임아웃 주기를 초과하여 동일한 논리 상태로 유지될 때 오버타임 신호를 출력하는 단계를 포함하는 방법.
예 15. 예 14에 있어서, 상기 트랜지스터를 개방 드레인 구성 또는 푸시-풀 구성에서 상기 버스 라인에 결합하는 단계를 추가로 포함하는 방법.
예 16. 예들 14-15의 임의의 조합에 있어서, 상기 버스 라인을 상기 제1 디바이스 및 상기 제2 디바이스에 결합되는 클럭 라인으로서 제2 디바이스를 결합하는 단계를 추가로 포함하는 방법.
예 17. 예들 14-16의 임의의 조합에 있어서, 상기 논리 회로를 통해, 상기 제어 신호를 (ⅰ) 상기 제1 디바이스가 상기 제2 디바이스에 이벤트를 시그널링할 때의 인터럽트 신호, 또는 (ⅱ) 상기 제2 디바이스가 임계 통신 속도를 초과하여 상기 제1 디바이스와 통신하는 것을 방지하는 클럭 스트레칭 신호 중 하나로서 어서팅하는 단계를 추가로 포함하는 방법.
예 18. 예들 14-17의 임의의 조합에 있어서, 상기 워치독 회로에 의해 제공된 상기 오버타임 신호는 상기 제1 디바이스의 하나 이상의 부분이 리셋되게 하여, 상기 제어 신호가 상기 임계 타임아웃 주기를 초과하여 유지되는 동일한 논리 상태와 상이한 논리 상태로 상기 제어 신호를 변화시키는 방법.
예 19. 예들 14-18의 임의의 조합에 있어서, 상기 제어 신호의 상기 논리 상태의 변화를 검출한 것에 기초하여, 타이머를 상기 워치독 회로를 통해 개시하는 단계를 추가로 포함하는 방법.
예 20. 예들 14-19의 임의의 조합에 있어서, 상기 워치독 회로를 상기 논리 회로와 상이한 발진기 또는 상이한 전원 중 적어도 하나에 결합하는 단계를 추가로 포함하는 방법.
결론
특정한 실시예들이 본원에 도시되고 설명되었지만, 동일한 목적을 달성하도록 계산된 임의의 배열이 도시한 특정한 실시예들을 대체할 수 있다는 것을 알아야 한다. 본 개시내용은 다양한 실시예들의 임의의 그리고 모든 개조들 또는 변화들을 커버하는 것으로 한다. 상기 실시예들의 조합들과, 본원에 구체적으로 설명되지 않은 다른 실시예들은 상기 설명을 검토하면 본 기술 분야의 통상의 기술자들에게 분명할 것이다.
설명 및 청구범위에서 사용된 특정한 용어들은 매우 넓은 의미로 해석될 수 있다는 점에 추가로 주목한다. 예를 들어, 본원에 사용된 용어 "회로"("circuit" 또는 "circuitry")는 하드웨어를 포함할 뿐만 아니라, 소프트웨어, 펌웨어 또는 이들의 임의의 조합들을 포함하는 의미로 해석되어야 한다. 용어 "데이터"는 임의 형태의 표현 데이터를 포함하는 것으로 해석될 수 있다. 용어 "정보"는 임의 형태의 디지털 정보 외에 또한 다른 형태들의 표현 정보를 포함할 수 있다. 용어 "엔티티" 또는 "유닛"은 실시예들에서 임의의 디바이스, 장치 회로들, 하드웨어, 소프트웨어, 펌웨어, 칩들, 또는 다른 반도체들뿐만 아니라 프로토콜 계층들의 논리적 유닛들 또는 물리적 구현들 등을 포함할 수 있다. 또한 용어들 "결합된" 또는 "접속된"은 직접 결합뿐만 아니라 간접 결합을 커버하는 넓은 의미로 해석될 수 있다.
명세서 또는 청구범위에 개시된 방법들은 이들 방법의 해당 단계들 각각을 수행하기 위한 수단들을 갖는 디바이스에 의해 구현될 수 있다는 점에 추가로 주목한다.
특정한 실시예들이 본원에 도시되고 설명되었지만, 다양한 대안적 및/또는 등가적 구현들이 본 개시내용의 범위에서 벗어나지 않고서 도시되고 설명된 특정한 실시예들을 대체할 수 있다는 것을 본 기술 분야의 통상의 기술자들은 알 것이다. 본 개시내용은 본원에 논의된 특정한 실시예들의 임의의 개조들 또는 변화들을 커버하는 것으로 한다.

Claims (22)

  1. 디바이스로서,
    상기 디바이스 외부에 있는 버스 라인 및 상기 디바이스 내부의 논리 회로에 결합되고, 상기 논리 회로에 의한 제어 신호의 어서션(assertion)에 응답하여 상기 버스 라인의 논리 상태를 제1 논리 상태로부터 제2 논리 상태로 변화시키도록 구성되는 트랜지스터; 및
    상기 디바이스 내부에 있고, 상기 제어 신호가 임계 타임아웃 주기를 초과하여 동일한 논리 상태로 어서팅되어 유지될 때 상기 논리 회로에 오버타임 신호를 제공하도록 구성되는 워치독 회로 - 상기 워치독의 타이밍은 상기 버스 라인의 타이밍에 독립적임 -
    를 포함하는 디바이스.
  2. 제1항에 있어서, 상기 트랜지스터는 개방 드레인 구성 또는 푸시-풀 구성에서 상기 버스 라인에 결합되는 디바이스.
  3. 제1항에 있어서, 상기 버스 라인은 상기 디바이스 및 제2 디바이스에 접속되는 클럭 라인인 디바이스.
  4. 제3항에 있어서, 상기 클럭 라인은 상기 디바이스와 상기 제2 디바이스가 서로 통신할 수 있게 하기 위해 I2C 통신 프로토콜에 따라 사용되는 디바이스.
  5. 제1항에 있어서, 상기 워치독 회로에 의해 제공된 상기 오버타임 신호는 상기 디바이스의 하나 이상의 부분이 리셋되게 하는 디바이스.
  6. 제5항에 있어서, 상기 디바이스의 하나 이상의 부분이 리셋될 때, 상기 제어 신호는 상기 제어 신호가 상기 임계 타임아웃 주기를 초과하여 어서팅되어 유지되는 동일한 논리 상태와 상이한 논리 상태로 변화되는 디바이스.
  7. 제1항에 있어서, 상기 워치독 회로는 상기 제어 신호의 논리 상태의 변화를 검출한 것에 기초하여 타이머를 개시하도록 구성되는 디바이스.
  8. 제1항에 있어서, 상기 워치독 회로는 상기 논리 회로와 상이한 발진기 또는 상이한 전원 중 적어도 하나를 사용하여 동작하도록 구성되는 디바이스.
  9. 제1항에 있어서, 상기 트랜지스터, 상기 워치독 회로, 및 상기 논리 회로는 동일한 반도체 칩 상에서 구현되는 디바이스.
  10. 제1항에 있어서, 상기 트랜지스터는 제어 라인을 통해 상기 논리 회로로부터 상기 제어 신호를 수신하고,
    상기 워치독 회로는 모니터링 라인을 통해 상기 제어 라인에 접속되는 디바이스.
  11. 시스템으로서,
    버스 라인을 선택적으로 구동시키도록 구성된 제1 디바이스; 및
    상기 버스 라인을 통해 상기 제1 디바이스에 결합되고, 상기 버스 라인을 선택적으로 구동시키도록 구성되는 제2 디바이스
    를 포함하고, 상기 제2 디바이스는:
    상기 버스 라인 및 상기 제2 디바이스 내부에 있는 논리 회로에 결합되고, 상기 제2 디바이스가 상기 버스 라인을 구동시킨다는 것을 표시하는 상기 논리 회로에 의한 제어 신호의 어서션에 응답하여 상기 버스 라인의 논리 상태를 제1 논리 상태로부터 제2 논리 상태로 변화시키도록 구성되는 트랜지스터; 및
    상기 제2 디바이스 내부에 있고; 상기 제어 신호의 논리 상태를 모니터링하고, 상기 제어 신호가 임계 타임아웃 주기를 초과하여 동일한 논리 상태로 어서팅되어 유지될 때 상기 논리 회로에 오버타임 신호를 제공하도록 구성되는 워치독 회로 - 상기 워치독의 타이밍은 상기 버스 라인의 타이밍에 독립적임 -
    를 포함하는 시스템.
  12. 제11항에 있어서, 상기 제1 디바이스는 마스터 디바이스이고,
    상기 제2 디바이스는 슬레이브 디바이스인 시스템.
  13. 제12항에 있어서, 상기 제어 신호는 (ⅰ) 상기 마스터 디바이스에 이벤트를 시그널링하는 인터럽트 신호, 또는 (ⅱ) 상기 마스터 디바이스가 임계 통신 속도를 초과하여 상기 슬레이브 디바이스와 통신하는 것을 방지하는 클럭 스트레칭 신호 중 하나인 시스템.
  14. 방법으로서,
    트랜지스터를 통해, 제1 디바이스 내부에 있는 논리 회로에 의한 제어 신호의 어서션에 응답하여 버스 라인의 논리 상태를 제1 논리 상태로부터 제2 논리 상태로 변화시키는 단계 - 상기 트랜지스터는 (ⅰ) 상기 제1 디바이스 외부에 있는 버스 라인, 및 (ⅱ) 상기 논리 회로에 결합됨 -; 및
    상기 제1 디바이스 내부에 있는 워치독 회로를 통해, 상기 제어 신호가 임계 타임아웃 주기를 초과하여 동일한 논리 상태로 어서팅되어 유지될 때 오버타임 신호를 출력하는 단계 - 상기 워치독의 타이밍은 상기 버스 라인의 타이밍에 독립적임 -
    를 포함하는 방법.
  15. 제14항에 있어서,
    상기 트랜지스터를 개방 드레인 구성 또는 푸시-풀 구성에서 상기 버스 라인에 결합하는 단계를 추가로 포함하는 방법.
  16. 제14항에 있어서,
    상기 버스 라인을 상기 제1 디바이스 및 제2 디바이스에 결합되는 클럭 라인으로서 상기 제2 디바이스를 결합하는 단계를 추가로 포함하는 방법.
  17. 제16항에 있어서,
    상기 논리 회로를 통해, 상기 제어 신호를 (ⅰ) 상기 제1 디바이스가 상기 제2 디바이스에 이벤트를 시그널링할 때의 인터럽트 신호, 또는 (ⅱ) 상기 제2 디바이스가 임계 통신 속도를 초과하여 상기 제1 디바이스와 통신하는 것을 방지하는 클럭 스트레칭 신호 중 하나로서 어서팅하는 단계를 추가로 포함하는 방법.
  18. 제14항에 있어서, 상기 워치독 회로에 의해 제공된 상기 오버타임 신호는 상기 제1 디바이스의 하나 이상의 부분이 리셋되게 하여, 상기 제어 신호가 상기 임계 타임아웃 주기를 초과하여 어서팅되어 유지되는 동일한 논리 상태와 상이한 논리 상태로 상기 제어 신호를 변화시키는 방법.
  19. 제14항에 있어서,
    상기 제어 신호의 논리 상태의 변화를 검출한 것에 기초하여, 타이머를 상기 워치독 회로를 통해 개시하는 단계를 추가로 포함하는 방법.
  20. 제14항에 있어서,
    상기 워치독 회로를 상기 논리 회로와 상이한 발진기 또는 상이한 전원 중 적어도 하나에 결합하는 단계를 추가로 포함하는 방법.
  21. 제1항에 있어서, 상기 워치독 회로에 의해 제공되는 상기 오버타임 신호는 상기 논리 회로가 상기 제어 신호를 비어서팅되도록 야기하는, 디바이스.
  22. 제21항에 있어서, 상기 워치독 회로는 (i) 상기 논리 회로가 상기 제어 신호를 어서팅하는 것에 따라 상기 임계 타임아웃 주기까지 카운팅 업을 시작하고, (ii) 상기 논리 회로가 상기 제어 신호를 비어서팅하는 것에 따라 리셋하는 카운터를 개시하도록 구성되는, 디바이스.
KR1020200103406A 2019-08-21 2020-08-18 데드록된 상태들을 어드레스하기 위한 워치독 KR102456127B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/547,174 2019-08-21
US16/547,174 US11762799B2 (en) 2019-08-21 2019-08-21 Watchdog for addressing deadlocked states

Publications (2)

Publication Number Publication Date
KR20210024425A KR20210024425A (ko) 2021-03-05
KR102456127B1 true KR102456127B1 (ko) 2022-10-19

Family

ID=74495157

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200103406A KR102456127B1 (ko) 2019-08-21 2020-08-18 데드록된 상태들을 어드레스하기 위한 워치독

Country Status (4)

Country Link
US (1) US11762799B2 (ko)
KR (1) KR102456127B1 (ko)
CN (1) CN112416635A (ko)
DE (1) DE102020210436A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030179531A1 (en) * 2002-03-19 2003-09-25 Canon Kabushiki Kaisha Application server, communications adapter and control method
US20060242348A1 (en) * 2005-04-08 2006-10-26 Humphrey George P Circuit and method of detecting and resolving stuck I2C buses
US20070296377A1 (en) * 2006-05-17 2007-12-27 Tetsuro Hashimoto Battery charging circuit, portable electronic device and semiconductor integrated circuit
US20080018486A1 (en) * 2006-03-13 2008-01-24 Mitsumi Electric Co., Ltd. Communication device, semiconductor integrated circuit device, and communication system
US20110222898A1 (en) * 2010-03-09 2011-09-15 Canon Kabushiki Kaisha Image forming apparatus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996037816A2 (en) 1995-05-26 1996-11-28 National Semiconductor Corporation Open drain multi-source clock generator having minimum high pulse width
US6591322B1 (en) 2000-08-01 2003-07-08 Sun Microsystems, Inc. Method and apparatus for connecting single master devices to a multimaster wired-and bus environment
EP1607864A2 (en) 2004-05-28 2005-12-21 Thomson Licensing Error recovery method for an I2C bus slave
US8570772B2 (en) * 2012-01-26 2013-10-29 Linear Technology Corporation Isolated flyback converter with efficient light load operation
JP6792314B2 (ja) 2016-04-22 2020-11-25 ソニーセミコンダクタソリューションズ株式会社 通信装置、通信方法、プログラム、および、通信システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030179531A1 (en) * 2002-03-19 2003-09-25 Canon Kabushiki Kaisha Application server, communications adapter and control method
US20060242348A1 (en) * 2005-04-08 2006-10-26 Humphrey George P Circuit and method of detecting and resolving stuck I2C buses
US20080018486A1 (en) * 2006-03-13 2008-01-24 Mitsumi Electric Co., Ltd. Communication device, semiconductor integrated circuit device, and communication system
US20070296377A1 (en) * 2006-05-17 2007-12-27 Tetsuro Hashimoto Battery charging circuit, portable electronic device and semiconductor integrated circuit
US20110222898A1 (en) * 2010-03-09 2011-09-15 Canon Kabushiki Kaisha Image forming apparatus

Also Published As

Publication number Publication date
US11762799B2 (en) 2023-09-19
KR20210024425A (ko) 2021-03-05
CN112416635A (zh) 2021-02-26
US20210056064A1 (en) 2021-02-25
DE102020210436A1 (de) 2021-02-25

Similar Documents

Publication Publication Date Title
US10169282B2 (en) Bus serialization for devices without multi-device support
US9374216B2 (en) Multi-wire open-drain link with data symbol transition based clocking
US7882282B2 (en) Controlling passthrough of communications between multiple buses
US5563532A (en) Double filtering glitch eater for elimination of noise from signals on a SCSI bus
US8103896B2 (en) Method and system for I2C clock generation
US10628356B2 (en) Transmission apparatus and transmission method
US8473797B2 (en) Circuits and methods for clock malfunction detection
US9436647B2 (en) IIC bus start-stop detection circuit
JP4584199B2 (ja) データ転送システム
US6591319B2 (en) Glitch protection and detection for strobed data
CN107305526B (zh) 一种用于微控制器的调试器
KR102456127B1 (ko) 데드록된 상태들을 어드레스하기 위한 워치독
JP2018514873A (ja) 集積回路間の通信
US8421498B2 (en) Semiconductor device with bus connection circuit and method of making bus connection
JP4887432B2 (ja) 集積型障害出力/障害応答遅延回路
US5925136A (en) Difference capture timer
CN209897021U (zh) 一种用于减少数字信号上升时间的电路结构
JPS5919500B2 (ja) 高速デ−タ伝送装置
CN111694417A (zh) 经由通信接口端子的芯片复位
CN112615609B (zh) 一种具有自动切换看门狗周期的复位电路
JPH0821846B2 (ja) ワイアード信号ドライブ回路
CN111984575B (zh) 信号传输电路与方法
JP2022533363A (ja) 半二重インターフェースのための双方向リドライバ

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)