KR20240038170A - 칩 선택 핀을 갖지 않는 직렬 주변기기 인터페이스(spi)를 사용하는 칩 동작을 위한 시스템들 및 방법들 - Google Patents

칩 선택 핀을 갖지 않는 직렬 주변기기 인터페이스(spi)를 사용하는 칩 동작을 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR20240038170A
KR20240038170A KR1020247008780A KR20247008780A KR20240038170A KR 20240038170 A KR20240038170 A KR 20240038170A KR 1020247008780 A KR1020247008780 A KR 1020247008780A KR 20247008780 A KR20247008780 A KR 20247008780A KR 20240038170 A KR20240038170 A KR 20240038170A
Authority
KR
South Korea
Prior art keywords
pin
clock
ack
integrated circuit
bus
Prior art date
Application number
KR1020247008780A
Other languages
English (en)
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 KR20240038170A publication Critical patent/KR20240038170A/ko

Links

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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

칩 선택 핀을 갖지 않는 직렬 주변기기 인터페이스(SPI)를 사용하는 칩 동작을 위한 시스템들 및 방법들이 개시된다. 호스트와 디바이스 간의 통신 링크는 클록 라인, 호스트-디바이스 라인 및 디바이스-호스트 라인을 포함할 수 있다. 호스트는 클록 라인을 사용하여 시작 또는 정지 조건을 시그널링할 수 있으며, 디바이스는 디바이스를 통해 호스트 라인으로 호스트의 시그널링의 확인응답을 전송할 수 있다. 일단 확인응답이 이루어지면, 호스트는 그 후, SPI와 같은 프로토콜을 사용하여 호스트에서 디바이스 라인으로 시그널링할 수 있다.

Description

칩 선택 핀을 갖지 않는 직렬 주변기기 인터페이스(SPI)를 사용하는 칩 동작을 위한 시스템들 및 방법들
[0001] 본 출원은 "SYSTEMS AND METHODS FOR CHIP OPERATION USING SERIAL PERIPHERAL INTERFACE (SPI) WITHOUT A CHIP SELECT PIN"이라는 발명의 명칭으로 2021년 9월 24일에 출원된 미국 특허 출원 일련 번호 제17/484,419호에 대한 우선권을 주장하며, 이는 그 전체가 본 명세서에 인용에 의해 포함된다.
[0002] 본 개시내용의 기술은 일반적으로 직렬 주변기기 인터페이스(SPI; serial peripheral interface) 규격(specification)을 사용하여 동작하는 2개의 집적 회로(IC; integrated circuit)들 간의 통신에 관한 것이다.
[0003] 현대 사회에는 컴퓨팅 디바이스들이 풍부하며, 특히 모바일 통신 디바이스들이 점점 더 일반화되어 왔다. 이러한 모바일 통신 디바이스들의 보급은 부분적으로는 이제 이러한 디바이스들에서 가능해지는 많은 기능들에 의해 주도된다. 이러한 디바이스들의 처리 능력들의 증가는 모바일 통신 디바이스들이 순수한 통신 도구들에서 정교한 모바일 엔터테인먼트 센터들로 진화하여서, 향상된 사용자 경험들을 가능하게 했다는 것을 의미한다.
[0004] 많은 사례들에서, 기능들은 상이한 다이들 또는 칩들 상의 회로들이 서로 통신하도록 함으로써 가능해질 수 있다. 예를 들어, 프로세서 칩은 메모리 칩 또는 센서 칩과 통신할 수 있다. 이러한 통신을 지원하기 위해 다양한 표준들과 프로토콜들이 개발되었다. 저속 통신을 위한 하나의 대중적인 표준은 직렬 주변기기 인터페이스(SPI) 사양이다. SPI는 널리 채택되고 있다. 따라서, SPI에 대한 개선들은 컴퓨팅 디바이스 전반에 불균형적인 영향을 미칠 수 있다.
[0005] 상세한 설명에 개시된 양태들은 칩 선택 핀을 갖지 않는 직렬 주변기기 인터페이스(SPI)를 사용하는 칩 동작을 위한 시스템들 및 방법들을 포함한다. 특히, 예시적인 양태들은 호스트(마스터라고도 지칭됨)-단일 디바이스(슬레이브라고도 지칭됨) 통신 링크들을 위한 칩 선택 핀을 제거하는 것을 고려한다. 통신 링크는 클록 라인, 호스트-디바이스 라인, 및 디바이스-호스트 라인을 포함할 수 있다. 호스트는 클록 라인을 사용하여 시작 또는 정지 조건을 시그널링할 수 있으며, 디바이스는 디바이스-호스트 라인을 통해 호스트의 시그널링의 확인응답(acknowledgment)을 전송할 수 있다. 일단 확인응답이 이루어지면, 호스트는 그 후, SPI와 같은 프로토콜을 사용하여 호스트-디바이스 라인에서 시그널링할 수 있다. 이러한 배열(arrangement)은 전용 칩 선택 핀의 필요성을 없애며, 이는 칩의 공간을 절약하고, 칩들 간의 라인 라우팅의 복잡성을 줄이는 데 도움이 될 수 있다.
[0006] 이와 관련하여, 일 양태에서, 집적 회로(IC)가 개시된다. IC는 버스 인터페이스를 포함한다. 버스 인터페이스는 관련 버스 상의 클록 라인에 결합하도록 구성된 클록 핀을 포함한다. 버스 인터페이스는 또한, 관련 버스 상의 입력 라인에 결합하도록 구성된 입력 핀을 포함한다. 버스 인터페이스는 또한, 관련 버스 상의 출력 라인에 결합하도록 구성된 출력 핀을 포함한다. IC는 또한 제어 회로를 포함한다. 제어 회로는 클록 핀 상의 변경을 검출하도록 구성된다. 제어 회로는 또한 변경이 검출되었다는 확인응답(ACK)을 출력 핀에서 전송하도록 구성된다. 제어 회로는 또한 ACK를 전송한 후 클록 핀 상의 후속 변경을 검출하도록 구성된다. 제어 회로는 또한 출력 핀에서 제2 ACK를 전송하도록 구성된다.
[0007] 다른 양태에서, IC가 개시된다. IC는 버스 인터페이스를 포함한다. 버스 인터페이스는 관련 버스 상의 클록 라인에 결합하도록 구성된 클록 핀을 포함한다. 버스 인터페이스는 또한, 관련 버스 상의 입력 라인에 결합하도록 구성된 입력 핀을 포함한다. 버스 인터페이스는 또한, 관련 버스 상의 출력 라인에 결합하도록 구성된 출력 핀을 포함한다. IC는 또한 제어 회로를 포함한다. 제어 회로는 클록 핀 상의 클록 신호를 논리적 하이로 유지하도록 구성된다. 제어 회로는 또한 클록 신호를 논리적 로우로 변경하도록 구성된다. 제어 회로는 또한 변경이 검출되었다는 ACK를 입력 핀에서 수신하도록 구성된다. 제어 회로는 또한 ACK를 수신한 후 클록 신호를 논리적 하이로 변경하도록 구성된다. 제어 회로는 또한 입력 핀에서 제2 ACK를 수신하도록 구성된다.
[0008] 다른 양태에서, SPI 버스를 제어하기 위한 방법이 개시된다. 방법은 클록 핀 상의 변경을 검출하는 단계를 포함한다. 방법은 또한, 변경이 검출되었다는 ACK를 출력 핀에서 전송하는 단계를 포함한다. 방법은 또한, ACK를 전송한 후 클록 핀 상의 후속 변경을 검출하는 단계를 포함한다. 방법은 또한, 출력 핀에서 제2 ACK를 전송하는 단계를 포함한다.
[0009] 다른 양태에서, SPI 버스를 제어하기 위한 방법이 개시된다. 방법은 클록 핀 상의 클록 신호를 논리적 하이로 유지하는 단계를 포함한다. 방법은 또한, 클록 신호를 논리적 로우로 변경하는 단계를 포함한다. 방법은 또한, 변경이 검출되었다는 ACK를 출력 핀에서 수신하는 단계를 포함한다. 방법은 또한, ACK를 수신한 후 클록 신호를 논리적 하이로 변경하는 단계를 포함한다. 방법은 또한, 입력 핀에서 제2 ACK를 수신하는 단계를 포함한다.
[0010] 도 1a는 데이지 체인(daisy-chain) 직렬 주변기기 인터페이스(SPI) 링크를 사용하여 통신하는 종래의 칩-다중 칩 시스템의 블록도이다.
[0011] 도 1b는 SPI 링크에서 독립적으로 배열된 디바이스들을 사용하여 통신하는 종래의 칩-다중 칩 시스템의 블록도이다.
[0012] 도 1c는 SPI 링크를 사용하여 통신하는 종래의 칩-칩 시스템의 블록도이다.
[0013] 도 2는 SPI 링크 내의 라인들이 종래의 SPI 링크에서 어떻게 사용될 수 있는지를 도시하는 시그널링 도면이다.
[0014] 도 3은 본 개시내용의 예시적인 양태들에 따른 칩 선택 라인을 갖지 않는 SPI 링크를 사용하는 예시적인 칩-칩 시스템의 블록도이다.
[0015] 도 4는 도 3의 칩-칩 시스템에 대한 시작 조건 시퀀스를 예시하는 흐름도이다.
[0016] 도 5는 도 4의 시작 조건 시퀀스를 도시하는 시그널링 도면이다.
[0017] 도 6은 도 3의 칩-칩 시스템에 대한 정지 조건 시퀀스를 도시하는 흐름도이다.
[0018] 도 7은 도 6의 정지 조건 시퀀스를 도시하는 시그널링 도면이다.
[0019] 도 8은 도 3의 호스트 또는 마스터 칩을 구현하는 예시적인 회로의 블록도이다.
[0020] 도 9는 도 3의 디바이스 또는 슬레이브 칩을 구현하는 예시적인 회로의 블록도이다.
[0021] 도 10은 도 3의 칩-칩 시스템을 포함할 수 있는 예시적인 모바일 컴퓨팅 디바이스의 블록도이다.
[0022] 이제 도면(drawing figure)들을 참조하여, 본 개시내용의 몇 가지 예시적인 양태들이 설명된다. 본 명세서에서 "예시적인"이라는 단어는 "예, 사례 또는 예시의 역할을 하는 것"을 의미하기 위해 사용된다. 본 명세서에서 "예시적인" 것으로 설명되는 임의의 양태는 반드시 다른 양태들보다 바람직하거나 유리한 것으로 해석될 필요는 없다.
[0023] 상세한 설명에 개시된 양태들은 칩 선택 핀을 갖지 않는 직렬 주변기기 인터페이스(SPI)를 사용하는 칩 동작을 위한 시스템들 및 방법들을 포함한다. 특히, 예시적인 양태들은 호스트(마스터라고 또한 지칭됨)-단일 디바이스(슬레이브라고 또한 지칭됨) 통신 링크들을 위한 칩 선택 핀을 제거하는 것을 고려한다. 통신 링크는 클록 라인, 호스트-디바이스 라인, 및 디바이스-호스트 라인을 포함할 수 있다. 호스트는 클록 라인을 사용하여 시작 또는 정지 조건을 시그널링할 수 있으며, 디바이스는 디바이스-호스트 라인을 통해 호스트의 시그널링의 확인응답을 전송할 수 있다. 일단 확인응답이 이루어지면, 호스트는 그 후, SPI와 같은 프로토콜을 사용하여 호스트-디바이스 라인에서 시그널링할 수 있다. 이러한 배열은 전용 칩 선택 핀의 필요성을 없애며, 이는 칩의 공간을 절약하고, 칩들 간의 라인 라우팅의 복잡성을 줄이는 데 도움이 될 수 있다.
[0024] 본 개시내용의 예시적인 양태들을 다루기 전에, 후속 논의를 위한 맥락을 제공하기 위해, SPI 링크를 사용하는 칩-다중 칩 시스템에 대한 간략한 개요가 도 1a 및 도 1b에서 제공되며, SPI 링크를 사용하는 칩-칩 시스템이 도 1c에서 제공된다. 도 2는 종래의 SPI 링크에 대한 시그널링 도면을 제공하며, 본 개시내용의 예시적인 양태들에 대한 논의는 도 3을 참조하여 이하에서 시작한다.
[0025] 이와 관련하여, 도 1a는 SPI 링크(102)를 사용하여 칩들 간에 통신하는 종래의 칩-다중 칩 시스템(100)의 블록도이다. 본 명세서에서 사용되는 바와 같이, 칩은 실리콘과 같은 반도체 재료의 하나의 작은 조각에 전자 회로들의 세트를 갖는 집적 회로(IC) 또는 모놀리식 IC이다. 복수의 칩들이 적층되어, 패키지-온-패키지(package-on-package)를 사용하여 적층될 수 있는 하나 이상의 칩 캐리어 패키지들에 동봉된 다수의 IC들일 수 있는 시스템 인 패키지(SiP)를 형성할 수 있다는 것이 인식되어야 한다. SiP는 전자 시스템의 기능들의 전부 또는 대부분을 수행하며, 전형적으로 모바일 폰, 디지털 음악 플레이어 등 내에서 사용된다. IC들을 포함하는 다이들은 기판 상에 수직으로 적층될 수 있다. 다이들은 패키지에 접착된 미세한 와이어들에 의해 내부적으로 연결된다. 대안적으로, 플립 칩 기술의 경우, 솔더 범프들을 사용하여, 적층된 칩들을 함께 결합한다. SiP는 시스템 온 칩(SoC)과 비슷하지만 덜 긴밀하게(tightly) 집적되고 단일 반도체 다이에 있지 않다.
[0026] 도 1a를 계속 참조하면, 제1 칩(104)은 호스트 IC일 수 있다. 역사적으로, 호스트 IC는 마스터 IC로 지칭될 수 있으며, 이러한 용어는 본 명세서에서 상호 교환가능하게 사용될 수 있다. 제1 칩(104)은 SPI 링크(102)를 통해 복수의 제2 칩들(106(1)-106(N))에 결합되며, 예시된 바와 같이, N=3이다. 제2 칩들(106(1)-106(3))은 디바이스 칩들 또는 슬레이브 칩들로 지칭될 수 있다. SPI 링크(102)는 클록 라인(SCLK)(108), 마스터 출력 슬레이브 입력(MOSI) 라인(110), 마스터 입력 슬레이브 출력(MISO) 라인(112) 및 슬레이브 선택(SS) 라인(114)을 포함한다. 슬레이브 선택 라인(114)은 또한, 일반적으로 칩 선택(CS) 라인으로 지칭된다. 도 1a에서, 제2 칩들(106(1)-106(3))은 데이지 체인으로 배열되고, 여기서 제2 칩(106(1))의 MISO는 제2 칩(106(2))의 MOSI에 연결된다. 제2 칩(106(2))의 MISO는 제2 칩(106(3))의 MOSI에 연결되고, 제2 칩(106(3))의 MISO는 제1 칩(104)의 MISO에 연결된다.
[0027] 대조적으로, 제2 칩들은 도 1b에 예시된 칩-다중 칩 시스템(100')에 의해 더 잘 예시된 바와 같이 독립적으로 배열될 수 있다. 제2 칩들(106(1)-106(N))은 동일하지만, SPI 링크(102')는 제1 칩(104')을 제2 칩들(106(1)-106(N))에 개별적으로 결합하는 추가적인 슬레이브 선택 라인들(114(1)-114(N))을 갖는다. 마찬가지로, 제2 칩들(106(1)-106(N))을 데이지 체이닝하는 대신에, MOSI 라인(110)은 제1 칩(104')을 제2 칩들(106(1)-106(N)) 각각에 결합하고, MISO 라인(112)은 마찬가지로 제2 칩들(106(1)-106(N)) 각각을 제1 칩(104')에 결합한다.
[0028] 칩-다중 칩 시스템들(100 및 100')이 일부 사례들에서 컴퓨팅 디바이스 내에 정의되고 사용되지만, 보다 일반적으로 SPI는 도 1c의 시스템(100")에 의해 더 잘 예시된 바와 같이 단지 단일 쌍의 칩들을 연결하는 데 사용될 수 있다. 시스템(100")은 제1 칩(104)과 단 하나의 제2 칩(106)을 포함한다. SPI 링크(102)는 앞서 논의된 라인들(108, 110, 112, 114)을 포함하지만, 데이지 체이닝 또는 여분의 칩 선택 라인들을 필요로 하지 않는다.
[0029] 도 2는 전형적인 SPI 링크(102)에 대한 신호 도면(200)을 예시한다. 어느 제2 칩(106(1)-106(N))이 인에이블 또는 선택되고 있는지를 지정하는 것 외에도, CS 라인(114)은 또한 활성 트랜잭션 동안에 논리적 로우를 어서트(asserting)함으로써 유효한 트랜잭션 단계(valid transaction phase)를 나타낸다. 하강 에지(202)는 트랜잭션의 시작을 나타내고, 상승 에지(204)는 트랜잭션의 종료를 나타낸다. 유효한 트랜잭션 윈도우(206) 동안, 클록 라인(108)은 클록 신호(208)를 제공한다. 유효한 트랜잭션 윈도우(206) 외부에서, 클록 라인(108)은 논리적 하이로 유지된다. 제1 칩(104)은 유효한 트랜잭션 윈도우(206)에서 MOSI 라인(110)에서 커맨드(210)를 전송할 수 있으며, 이는 제2 칩(106)으로 하여금 MISO 라인(112)에서 응답 데이터(212)를 전송하게 한다.
[0030] SPI는 주로 내장 시스템들에서 단거리 통신에 사용되는 저속(전형적으로 50MHz(megahertz) 미만, 더 일반적으로 10MHz 미만, 이때, 초당 약 10 메가비트(Mbps) 내지 50Mbps의 스루풋 범위들임) 동기식 직렬 통신 인터페이스 규격이라는 것이 인식되어야 한다. 따라서, 본 개시내용의 예시적인 양태들은 예시적인 양태로서 SPI에 초점을 맞추지만, 본 개시내용은 그렇게 제한되지 않는다. 전이중 통신을 이용하고 슬레이브 또는 칩 선택 라인들을 포함하는 다른 동기식 직렬 통신 시스템들이 또한 본 개시내용으로부터 이익을 얻을 수 있다.
[0031] SPI 사양은 1980년대 중반에 도입된 이후 유용한 것으로 입증되었다. 그러나, 보다 현대적인 컴퓨팅 디바이스들은 다중 슬레이브 버스에서 데이지 체인 또는 독립적인 제어가 가능하지 않은 수많은 관련된 센서 칩들 또는 연계된 칩들을 갖는 중앙 애플리케이션 프로세서 또는 모뎀을 가질 수 있다. 따라서, 이들 센서 또는 연계된 칩들 각각은 그 안에 대응하는 4개의 레인들 또는 라인들을 갖는 그 자신의 SPI 링크를 가질 수 있다. 각각의 라인은 칩들 각각 상의 그 자신의 핀 또는 범프를 필요로 하며, 이는 양 칩들의 비용과 복잡성을 부가한다. 마찬가지로, 애플리케이션과 복수의 연계된 칩들 사이에 많은 라인들을 라우팅하는 것은 어려울 수 있다.
[0032] 본 개시내용의 예시적인 양태들은 SPI 링크의 양 단부들로부터의 칩 선택 라인 및 대응하는 칩 선택 핀의 제거를 가능하게 한다. SoC 또는 다른 칩과 같은 칩이 다수의 SPI 마스터 회로들을 갖는 경우, 칩 선택 라인 및 핀의 제거는 증가하는 공간 및 비용의 절감들을 가능하게 한다. 본 개시내용의 예시적인 양태들은 칩 선택 라인들 및 핀들을 제거할 뿐만 아니라, 나머지 라인들을 사용하여 호스트와 디바이스 사이에 시그널링 시퀀스를 도입함으로써 칩 선택 라인의 유효한 트랜잭션 표시 기능을 보존한다. 특히, 호스트는 SPI 링크의 클록 라인을 조작(manipulating)하고 MISO 라인의 디바이스로부터 확인응답을 수신함으로써 새로운 트랜잭션의 시작을 시그널링한다. 유사하게, 트랜잭션의 종료는 클록 라인을 사용하여 호스트에 의해 시그널링되며, MISO 라인에서 확인응답이 수신된다.
[0033] 예시적인 시스템(300)이 도 3에 예시되어 있다. 시스템(300)은 수정된 SPI 링크(306)에 의해 디바이스(또는 슬레이브) 칩(304)에 결합된 호스트(또는 마스터) 칩(302)을 포함한다. 수정된 SPI 링크(306)는 클록(SCLK) 라인(308), MISO 라인(310) 및 MOSI 라인(312)을 갖지만, 슬레이브 또는 칩 선택 라인은 갖지 않는다. 호스트 칩(302)은 클록(314) 및 제어 회로(316)뿐만 아니라 버스 인터페이스(318)(때때로 호스트 버스 인터페이스로 지칭됨)를 포함할 수 있다. 마찬가지로, 디바이스 칩(304)은 내부 클록(320) 및 제어 회로(322)뿐만 아니라 버스 인터페이스(324)(호스트 버스 인터페이스와 구별하기 위해 때때로 디바이스 버스 인터페이스라고 함)를 포함할 수 있다. 버스 인터페이스(318, 324)는 핀들 또는 범프들을 포함할 수 있다는 것이 인식되어야 한다(그러나, 본 명세서에서 사용되는 바와 같이, 용어 "핀"은 범프들을 포함하는 것으로 정의된다). 특히, 호스트 버스 인터페이스(318)는 클록 핀(318A), 입력 핀(318B)(MISO 라인(310)에 대응함) 및 출력 핀(318C)(MOSI 라인(312)에 대응함)을 포함할 수 있다. 마찬가지로, 디바이스 버스 인터페이스(324)는 클록 핀(324A), 출력 핀(324B)(MISO 라인(310)에 대응함), 및 입력 핀(324C)(MOSI 라인(312)에 대응함)을 포함할 수 있다.
[0034] 예시적인 양태에서, 호스트 칩(302) 및 디바이스 칩(304)은 초기에 연결되어, 핸드쉐이크 기반 양방향 동기화를 수행할 수 있다. 핸드쉐이크 동기화는 이 분야에서 잘 이해되지만, 소스(예를 들어, 호스트 칩(302) 및 클록(314))와 목적지 클록(예컨대, 디바이스 칩(304) 및 내부 클록(320)) 사이의 클록 비(clock ratio)에 관계없이 목적지 클록 도메인으로의 정확한 데이터의 샘플링을 보장하기 위한 요청 및 확인응답 메커니즘으로서 요약될 수 있다. 호스트 칩(302)과 디바이스 칩(304)을 동기화하기 위한 다른 방법들이 존재할 수 있으며, 이는 본 개시내용의 범위 내에 있다.
[0035] 동기화 프로세스와 관련하여, 디바이스 칩(304), 특히 제어 회로(322)는 클록들(314, 320) 사이의 비를 이해할 수 있고, 클록 핀(324A)에서 클록 신호의 상태 변경을 신뢰성 있게 검출하고 상태 변경이 유지되고 있음을 확인하기 위해 내부 클록(320)의 N개(즉, 소정의 미리 결정된 값)의 클록 사이클들에 걸친 샘플링이 필요하다는 것을 알거나 결정할 수 있다. 이러한 능력은 도 4를 참조하여 아래에 더 상세히 설명되는 바와 같이 트랜잭션 시작 시퀀스와 관련된다.
[0036] 이와 관련하여, 도 4는 시스템(300)이 유휴 상태에 들어가는 단계(블록 402) 및 호스트 칩(302)이 클록 라인(308) 상의 클록 신호를 논리적 로우로 구동하는 단계(블록 404)를 포함하는 몇 가지 예비 단계들을 포함하는 트랜잭션 시작 시퀀스 프로세스(400)를 예시한다. 디바이스 칩(304)은 호스트 칩(302)에 알려진 최종 상태로 MISO 라인(310)을 유지한다(블록 406). 초기 시동에서, 호스트 칩(302)은 MISO 라인(310)이 논리적 로우에서 시작한다는 것을 알고 있으므로, 이 특정 유휴 상태가 이전의 활성 상태를 갖지 않더라도, 호스트 칩(302)은 여전히 MISO 라인(310)의 예상되는 상태를 알 수 있다는 점에 유의한다.
[0037] 도 4를 계속 참조하면, 호스트 칩(302)은 유휴 상태를 종료하기로 결정한다(블록 408). 유휴 상태로부터의 종료는 센서를 샘플링할 필요성, 디바이스 칩(304) 내의 데이터에 액세스해야 할 필요성 등에 의해 야기될 수 있다. 호스트 칩(302)은 클록 라인(308) 상의 클록 신호를 논리적 하이로 어서트한다(블록 410). 디바이스 칩(304)은 내부 클록(320)의 미리 결정된 수의 클록 사이클들 동안 클록 핀(324A)에서 클록 신호를 샘플링하여 클록 핀(324A)의 변경을 검출하고 확인한다(블록 412). 이러한 미리 결정된 수는 프로그래밍 가능할 수 있고, 클록들(314, 320)의 클록 주파수들의 비들의 함수일 수 있고, 핸드쉐이크 동기화 프로세스 동안 설정될 수 있다는 점에 유의한다. 디바이스 칩(304)은 (내부 클록(320)의) 미리 결정된 수의 클록 사이클들 동안 MISO 라인(310)을 반전시킴으로써 확인응답(ACK)을 전송한다(블록 414). 호스트 칩(302)은 MISO 라인(310)을 샘플링함으로써 ACK를 검출하고, 클록 신호를 디어서트(deassert)한다(블록 416).
[0038] 도 4를 계속 참조하면, 디바이스 칩(304)은 내부 클록(320)의 미리 결정된 수의 클록 사이클들 동안 클록 신호를 샘플링하여 클록 핀(324A)의 변경을 검출하고 확인한다. 디바이스 칩(304)은 트랜잭션 단계에 들어가고(블록 418), MISO 라인(310)을 반전시킴으로써 제2 ACK를 전송한다(블록 420). 호스트 칩(302)은 제2 ACK를 검출하고, 클록 라인(308) 상의 클록 신호의 대응하는 동작과 함께 트랜잭션 단계에 들어간다(블록 422).
[0039] 프로세스(400)에 도시된 것과 같은 트랜잭션 시작 시퀀스를 사용함으로써, 현재 누락된 칩 선택 핀의 트랜잭션 시작 기능이 보존될 수 있다. 따라서, 칩 선택 핀이 생략되더라도, 디바이스 칩(304)은 트랜잭션 상태에 들어가도록 지시될 수 있다.
[0040] 프로세스(400)는 도 5에 예시된 시그널링 도면(500)에 대응한다. 제1 라인(502)은 호스트 칩(302)의 상태에 대응하며, 여기서 호스트 칩(302)은 유휴 상태(504)에서 시작하고, 시작 상태(506)에 들어간 다음, 트랜잭션 상태(508)에 들어간다. 호스트 칩(302)은 라인(510)에 도시된 클록 라인(308) 및 라인(512)에 도시된 MOSI 라인(312)을 제어하는 반면, 디바이스 칩(304)은 라인(514)에 도시된 MISO 라인(310)을 제어한다. 디바이스 칩(304)은 호스트 칩(302)이 (블록 410에 대응하는) 시간(516)에서 클록 라인(308)에서 클록 신호를 어서트하는 것을 본다. 클록이 어서트되는 동안, 디바이스 칩(304)은 어서션(assertion)을 검출하고 확인하기 위해 클록 신호를 샘플링한다. 그 후, 디바이스 칩(304)은 시간(518)에서 (도시된 로우에서 하이로 그리고 하이에서 로우로 둘 모두로) MISO 라인(310)을 반전시켜 (블록 414에 대응하는) 제1 ACK를 제공한다. 호스트 칩(302)은 이 제1 ACK를 검출하고, (블록 416에 대응하는) 시간(520)에서 클록 라인을 디어서트한다. 디바이스 칩(304)은 클록 라인에서 이러한 상태 변경을 검출하고 확인하며, (블록 420에 대응하는) MISO 라인(310)을 반전시킴으로써 시간(522)에서 제2 ACK를 전송한다. 디바이스 칩(304)의 상태를 갖는 라인(524)에 도시된 바와 같이, 디바이스 칩(304)은 유휴 상태(526)에서 시작하고, 제1 ACK를 전송함으로써 시간(518)에서 시작 상태(528)에 들어간다. 시작 상태(528)는 제2 ACK를 전송함으로써 시간(522)에서 종료되고, 디바이스 칩(304)은 트랜잭션 상태(530)에 들어간다. 트랜잭션 상태(530)에서, 호스트 칩(302)은 MOSI 라인(312)에서 커맨드(532)를 전송할 수 있으며, 이는 디바이스 칩(304)으로 하여금 MISO 라인(310)에서 데이터(534)를 전송하게 한다.
[0041] 유사하게, 본 개시내용은 생략된 칩 선택 핀의 트랜잭션 정지 기능을 보존하기 위한 트랜잭션 정지 시퀀스를 제공한다. 이 프로세스(600)는 도 6에 예시되어 있다. 프로세스(600)는 호스트 칩(302)이 트랜잭션의 종료가 발생했다고 결정하는 것으로부터 시작하고, 마지막 MISO 상태를 검출한다(블록 602). 마지막 MISO 상태의 검출은 전술한 블록 406에 관련된다는 점에 유의한다. 그 후, 호스트 칩(302)은 클록 신호를 논리적 하이로 유지한다(블록 604). 디바이스 칩(304)은 내부 클록(320)의 미리 결정된 수의 클록 사이클들 동안 클록 신호를 샘플링하여 논리적 하이로의 변경을 검출하고 확인한다(블록 606). 디바이스 칩(304)은 MISO 라인을 반전시킴으로써 정지 ACK를 전송한다(블록 608). 호스트 칩(302)은 정지 ACK를 수신하고, 클록 신호를 디어서트한다(블록 610). 디바이스 칩(304)은 클록 신호의 논리적 로우를 검출 및 확인하기 위해 내부 클록(320)의 미리 결정된 수의 클록 사이클들 동안 클록을 샘플링하고(블록 612), MISO 라인을 원래의 "마지막 상태"로 다시 반전시킴으로써 제2 정지 ACK를 전송하고 유휴 상태에 들어간다(블록 614). 호스트 칩(302)은 제2 정지 ACK를 수신하고 유휴 상태에 들어간다(블록 616).
[0042] 도 7은 정지 시퀀스의 시그널링 도면(700)을 제공한다. 호스트 칩(302)은 (라인(510)에 의해 도시된) 클록 라인(308)에서 클록 신호가 활성(704)인 트랜잭션 상태(702)에서 시작한다. 마찬가지로, 데이터(706)는 MISO 라인(310)(라인(514)으로 표시됨)에서 전송되고 있다. MOSI 라인(312)(라인(512)으로 표시됨)은 데이터(706)가 전달되는 동안 휴지 상태(quiescent)이다. 호스트 칩(302)이 트랜잭션 상태(702)의 종료에 도달함에 따라, 호스트 칩(302)은 클록 라인(308)을 논리적 하이(708)로 구동하여 트랜잭션 정지 상태(710)에 들어간다. 초기에 트랜잭션 상태(712)에 있던 디바이스 칩(304)은 MISO 라인(310)을 (일반적으로 714에서) 마지막 상태로 유지하는 반면, 디바이스 칩(304)은 클록 핀(324A)에서 클록 라인(308)을 내부 클록(320)으로부터 충분한 수의 클록 사이클들 동안 샘플링하여, 확장된 논리적 하이를 결정하고 확인한 다음, (일반적으로 716에서) MISO 라인(310)을 반전시켜 정지 ACK를 호스트 칩(302)에 제공하고 정지 상태(718)에 들어간다. 정지 ACK를 수신하면, 호스트 칩(302)은 클록 라인(308)을 720에서 논리적 로우로 구동한다. 디바이스 칩(304)은 (일반적으로 722에서) MISO 라인(310)을 다시 반전시킴으로써 제2 정지 ACK를 전송하고, 유휴 상태(724)에 들어간다. 제2 정지 ACK를 수신하면, 호스트 칩(302)은 또한 유휴 상태(726)에 들어간다.
[0043] 버스 인터페이스들(318, 324) 및 제어 회로들(316, 322)가 구현될 수 있는 아주 많은 방법들이 존재하지만, 도 8 및 도 9는 이들이 각각 호스트 칩(302) 및 디바이스 칩(304)에서 어떻게 구현될 수 있는지를 도시하는 2개의 예시적인 블록도들을 제공한다. 이와 관련하여, 도 8은 호스트 칩(302)을 위한 회로(800)를 예시하고, 도 9는 디바이스 칩(304)을 위한 회로(900)를 예시한다.
[0044] 도 8을 참조하면, 회로(800)는 유휴 상태(804), 시작 상태(806), 트랜잭션 상태(808) 및 정지 상태(810) 사이에서 전환하는 상태 머신(802)을 가질 수 있다. 상태 머신(802)이 시작 상태(806)에 들어갈 때, 신호가 OR 게이트(812)로 전송되고, OR 게이트(812)는 양방향 핸드쉐이크 기반 동기화기 회로(814)로 요청을 전송한다. OR 게이트(812)는 또한 상태 머신(802)이 정지 상태(810)에 들어갈 때 신호를 수신한다. 동기화기 회로(814)는 클록(314)으로부터 클록 신호를 수신하고, 클록 라인(308) 상의 신호를 제어하는 멀티플렉서(816)에 대한 요청 신호를 생성한다. 멀티플렉서(816)는 또한 호스트 유한 상태 머신(FSM)(818)으로부터 클록 신호를 수신한다. 멀티플렉서(820)는 유사하게 MISO 라인(310)에 결합되고, AND 게이트(822)는 MOSI 라인(312)에 결합된다. MISO 라인(310)으로부터의 신호는 호스트 FSM(818) 및 동기화기 회로(814)에 제공되며, 다양한 ACK들이 디바이스 칩(304)으로부터 수신되었음을 나타낸다.
[0045] 도 9를 참조하면, 회로(900)는 유휴 상태(904), 시작 상태(906), 트랜잭션 상태(908) 및 정지 상태(910) 사이에서 전환하는 상태 머신(902)을 가질 수 있다. 클록 라인(308)으로부터의 클록 신호는 클록 신호가 논리적 하이 또는 논리적 로우로 유지되고 있는지를 결정하기 위해 "N"개의 사이클들 동안 클록 신호를 테스트하기 위해 로컬 클록(320)을 사용하는 시작/정지 검출기 회로(912)에 제공된다. 즉, 로컬 클록(320)의 N개의 사이클들 내의 각각의 샘플이 동일하면, 디바이스 칩(304)은 클록 신호가 하나의 레벨로 유지되고 있다고 추론한다. 이어서, 시작/정지 검출기 회로(912)는 검출된 신호(914)를 상태 머신(902)으로 출력할 수 있다. 클록 신호는 또한 상태에 따라 1 또는 0을 출력하는 멀티플렉서(916)에 공급된다. 0은 디바이스 FSM(918)으로 출력되는 반면, 1은 양방향 핸드쉐이크 기반 동기화기 회로(920)로 출력된다. 동기화기 회로(920)는 또한 로컬 클록(320)으로부터 신호를 수신하고, ACK뿐만 아니라 ACK_Edge1 및 ACK_Edge2 신호들도 멀티플렉서(922)로 출력한다. 디바이스 FSM(918)은 또한 MISO 라인(310)을 제어하기 위해 멀티플렉서(922)에 결합된다. MOSI 라인(312)은 AND 게이트(924)에 결합되고, AND 게이트(924)는 디바이스 FSM(918)에 신호를 제공한다.
[0046] 본 명세서에 개시된 양태들에 따른 칩 선택 핀을 갖지 않는 직렬 주변기기 인터페이스(SPI)를 사용하는 칩 동작을 위한 시스템들 및 방법들은 임의의 프로세서 기반 디바이스에 제공되거나 통합될 수 있다. 예들은 셋톱 박스, 엔터테인먼트 유닛, 네비게이션 디바이스, 통신 디바이스, 고정 로케이션 데이터 유닛, 모바일 로케이션 데이터 유닛, 글로벌 포지셔닝 시스템(GPS) 디바이스, 모바일 폰, 셀룰러 폰, 스마트폰, 세션 개시 프로토콜(SIP) 폰, 태블릿, 패블릿, 서버, 컴퓨터, 휴대용 컴퓨터, 모바일 컴퓨팅 디바이스, 웨어러블 컴퓨팅 디바이스(예를 들면, 스마트 워치, 건강 또는 피트니스 트래커, 안경 등), 데스크탑 컴퓨터, PDA(Personal Digital Assistant), 모니터, 컴퓨터 모니터, 텔레비전, 튜너, 라디오, 위성 라디오, 음악 플레이어, 디지털 음악 플레이어, 휴대용 음악 플레이어, 디지털 비디오 플레이어, 비디오 플레이어, 디지털 비디오 디스크(DVD) 플레이어, 휴대용 디지털 비디오 플레이어, 자동차, 차량 컴포넌트, 항공 전자 시스템들, 드론 및 멀티콥터를 포함하지만 이에 제한되지 않는다.
[0047] 이와 관련하여, 도 10은 스마트폰, 모바일 컴퓨팅 디바이스 태블릿 등과 같은 예시적인 모바일 단말기(1000)의 시스템 레벨 블록도이다. 모바일 단말기가 본 개시내용의 예시적인 양태들로부터 이득을 얻을 수 있는 것으로 특히 고려되지만, 본 개시내용은 그렇게 제한되지 않으며, SPI 버스를 갖는 임의의 시스템에서 유용할 수 있다는 것이 인식되어야 한다.
[0048] 도 10을 계속 참조하면, 모바일 단말기(1000)는 범용 플래시 저장(UFS) 버스(1008)를 통해 대용량 저장 요소(1006)와 통신하는 애플리케이션 프로세서(1004)(때때로 호스트로 지칭됨)를 포함한다. 애플리케이션 프로세서(1004)는 디스플레이 직렬 인터페이스(DSI) 버스(1012)를 통해 디스플레이(1010)에 그리고 카메라 직렬 인터페이스(CSI) 버스(1016)를 통해 카메라(1014)에 추가로 연결될 수 있다. 마이크로폰(1018), 스피커(1020) 및 오디오 코덱(1022)과 같은 다양한 오디오 요소들은 직렬 저전력 인터칩 멀티미디어 버스(SLIMbus)(1024)를 통해 애플리케이션 프로세서(1004)에 결합될 수 있다. 추가적으로, 오디오 요소들은 SOUNDWIRE 버스(1026)를 통해 서로 통신할 수 있다. 모뎀(1028)은 또한 SLIMbus(1024) 및/또는 SOUNDWIRE 버스(1026)에 결합될 수 있다. 모뎀(1028)은 주변 컴포넌트 인터커넥트(PCI) 또는 PCIe(PCI Express) 버스(1030) 및/또는 시스템 전력 관리 인터페이스(SPMI) 버스(1032)를 통해 애플리케이션 프로세서(1004)에 추가로 연결될 수 있다.
[0049] 도 10을 계속 참조하면, SPMI 버스(1032)는 또한 근거리 네트워크(LAN 또는 WLAN) IC(LAN IC 또는 WLAN IC)(1034), 전력 관리 집적 회로(PMIC)(1036), 컴패니언(companion) IC(때때로 브리지 칩으로 지칭됨)(1038), 및 라디오 주파수 IC(RFIC)(1040)에 결합될 수 있다. 별개의 PCI 버스들(1042, 1044)은 또한 애플리케이션 프로세서(1004)를 컴패니언 IC(1038) 및 WLAN IC(1034)에 결합할 수 있다는 것이 인식되어야 한다. 애플리케이션 프로세서(1004)는 SPI 버스일 수 있는 센서 버스(1048)를 통해 센서들(1046)과 추가로 연결될 수 있다. 모뎀(1028) 및 RFIC(1040)는 버스(1050)를 사용하여 통신할 수 있다.
[0050] 도 10을 계속 참조하면, RFIC(1040)는 라디오 주파수 프론트 엔드(RFFE) 버스(1058)를 통해 안테나 튜너(1052), 스위치(1054), 전력 증폭기(1056)와 같은 하나 이상의 RFFE 요소들에 결합될 수 있다. 추가적으로, RFIC(1040)는 버스(1062)를 통해 엔벨로프 추적 전원(ETPS)(1060)에 결합할 수 있고, ETPS(1060)는 전력 증폭기(1056)와 통신할 수 있다. 집합적으로, RFIC(1040)를 포함하는 RFFE 요소들은 RFFE 시스템(1064)으로 간주될 수 있다. RFFE 버스(1058)는 클록 라인 및 데이터 라인(예시되지 않음)으로부터 형성될 수 있다는 것이 인식되어야 한다.
[0051] 당업자들은 본 명세서에 개시된 양태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘들이 전자 하드웨어, 메모리 또는 다른 컴퓨터 판독가능 매체에 저장되고 프로세서 또는 다른 처리 디바이스에 의해 실행되는 명령어들, 또는 이 둘의 조합들로서 구현될 수 있다는 것을 추가로 인식할 것이다. 본 명세서에서 설명된 마스터 디바이스들 및 슬레이브 디바이스들은 예들로서 임의의 회로, 하드웨어 컴포넌트, 집적 회로(IC), 또는 IC 칩에서 이용될 수 있다. 본 명세서에 개시된 메모리는 임의의 유형 및 크기의 메모리일 수 있고, 원하는 임의의 유형의 정보를 저장하도록 구성될 수 있다. 이러한 상호 교환성을 명확하게 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 그들의 기능의 관점에서 일반적으로 위에서 설명되었다. 이러한 기능이 구현되는 방법은 특정 응용, 설계 선택들 및/또는 전체 시스템에 부과되는 설계 제약들에 의존한다. 당업자들은 설명된 기능을 각각의 특정 응용을 위해 다양한 방식들로 구현할 수 있지만, 이러한 구현 결정들은 본 개시내용의 범위를 벗어나는 것으로 해석되어서는 안 된다.
[0052] 본 명세서에 개시된 양태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 본 명세서에서 설명된 기능들을 수행하도록 설계된 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA) 또는 다른 프로그래머블 로직 디바이스, 개별 게이트 또는 트랜지스터 로직, 개별 하드웨어 컴포넌트들, 또는 이들의 임의의 조합으로 구현되거나 수행될 수 있다. 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 컨트롤러, 마이크로컨트롤러, 또는 상태 머신일 수 있다. 프로세서는 또한 컴퓨팅 디바이스들의 조합(예를 들어, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 관련된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성)으로서 구현될 수 있다.
[0053] 본 명세서에 개시된 양태들은 하드웨어로 그리고 하드웨어에 저장되고, 예를 들어 랜덤 액세스 메모리(RAM), 플래시 메모리, 판독 전용 메모리(ROM), 전기적으로 프로그래밍 가능한 ROM(EPROM), 전기적으로 소거 및 프로그래밍 가능한 ROM(EEPROM), 레지스터들, 하드 디스크, 이동식 디스크, CD-ROM, 또는 이 분야에 알려진 임의의 다른 형태의 컴퓨터 판독가능 매체에 상주할 수 있는 명령어들로 구현될 수 있다. 예시적인 저장 매체는 프로세서에 결합되어, 프로세서가 저장 매체로부터 정보를 판독하고, 저장 매체에 정보를 기입할 수 있게 한다. 대안적으로, 저장 매체는 프로세서와 일체형일 수 있다. 프로세서 및 저장 매체는 ASIC에 상주할 수 있다. ASIC는 원격국에 상주할 수 있다. 대안적으로, 프로세서 및 저장 매체는 원격국, 기지국, 또는 서버에 별개의 컴포넌트들로서 상주할 수 있다.
[0054] 본 명세서의 예시적인 양태들 중 어느 것에서 설명된 동작 단계들은 예들 및 논의를 제공하기 위해 설명된다는 것에 또한 유의한다. 설명된 동작들은 예시된 시퀀스들 이외의 수많은 상이한 시퀀스들로 수행될 수 있다. 더욱이, 단일 동작 단계에서 설명된 동작들은 실제로는 다수의 상이한 단계들에서 수행될 수 있다. 추가적으로, 예시적인 양태들에서 논의된 하나 이상의 동작 단계들이 조합될 수 있다. 흐름도들에 예시된 동작 단계들은 당업자에게 자명한 바와 같이 수많은 상이한 수정들을 거칠 수 있다는 것이 이해되어야 한다. 당업자들은 또한 정보 및 신호들이 다양한 상이한 기술들 및 기법들 중 임의의 것을 사용하여 표현될 수 있음을 이해할 것이다. 예를 들어, 전술한 설명 전반에서 참조될 수 있는 데이터, 명령어들, 커맨드들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 입자들, 광학적 장들 또는 입자들, 또는 이들의 임의의 조합으로 표현될 수 있다.
[0055] 본 개시내용에 대한 이전의 설명은 당업자가 본 개시내용을 실시하거나 사용할 수 있도록 하기 위해 제공된다. 본 개시내용에 대한 다양한 수정들이 당업자들에게 자명할 것이며, 본 명세서에 정의된 일반적인 원리들은 다른 변형들에 적용될 수 있다. 따라서, 본 개시내용은 본 명세서에 설명된 예들 및 설계들로 제한되는 것이 아니라, 본 명세서에 개시된 원리들 및 신규한 특징들과 일치하는 가장 넓은 범위를 부여받아야 한다.
[0056] 구현 예들은 다음의 번호가 매겨진 조항들에서 설명된다.
1. 집적 회로(IC)로서,
버스 인터페이스 ― 버스 인터페이스는,
관련 버스 상의 클록 라인에 결합하도록 구성된 클록 핀;
관련 버스 상의 입력 라인에 결합하도록 구성된 입력 핀; 및
관련 버스 상의 출력 라인에 결합하도록 구성된 출력 핀
을 포함함 ―; 및
제어 회로를 포함하고, 제어 회로는,
클록 핀 상의 변경을 검출하고;
변경이 검출되었다는 확인응답(ACK)을 출력 핀에서 전송하고;
ACK를 전송한 후 클록 핀 상의 후속 변경을 검출하고;
출력 핀에서 제2 ACK를 전송하도록 구성되는, IC.
2. 조항 1에 있어서, 버스 인터페이스는 직렬 주변기기 인터페이스(SPI) 버스 인터페이스를 포함하는, IC.
3. 조항 2에 있어서, 버스 인터페이스는 칩 선택 핀을 포함하지 않는, IC.
4. 조항 2 또는 3에 있어서, 입력 핀은 마스터 출력 슬레이브 입력(MOSI) 핀을 포함하고, 클록 핀은 SCLK 핀을 포함하는, IC.
5. 조항 2 내지 4 중 어느 하나에 있어서, 출력 핀은 마스터 입력 슬레이브 출력(MISO) 핀을 포함하는, IC.
6. 조항 1 내지 5 중 어느 하나에 있어서, 제어 회로에 결합된 내부 클록을 더 포함하는, IC.
7. 조항 6에 있어서, 제어 회로는 내부 클록의 미리 결정된 수의 클록 사이클들 동안 지속되는 클록 핀 상에서의 논리적 하이로부터 논리적 로우로의 전환을 검출함으로써 클록 핀 상의 변경을 검출하도록 구성되는, IC.
8. 조항 6에 있어서, 제어 회로는 내부 클록의 미리 결정된 수의 클록 사이클들 동안 지속되는 클록 핀 상에서의 논리적 로우로부터 논리적 하이로의 전환을 검출함으로써 클록 핀 상의 후속 변경을 검출하도록 구성되는, IC.
9. 조항 6 내지 8 중 어느 하나에 있어서, 제어 회로는 논리 레벨을 출력 핀 상의 초기 논리 레벨로부터 새로운 논리 레벨로 반전시키고 새로운 논리 레벨을 유지함으로써 ACK를 전송하도록 구성되는, IC.
10. 조항 9에 있어서, 제어 회로는 출력 핀을 초기 논리 레벨로 복귀시키고 초기 논리 레벨을 유지함으로써 제2 ACK를 전송하도록 구성되는, IC.
11. 조항 9에 있어서, 제어 회로는 이전 트랜잭션으로부터의 마지막 상태에 기초하여 초기 논리 레벨을 결정하도록 구성되는, IC.
12. 조항 1 내지 11 중 어느 하나에 있어서, 제어 회로는 제2 ACK를 전송한 후 입력 핀에서 커맨드를 검출하도록 구성되는, IC.
13. 조항 1 내지 12 중 어느 하나에 있어서, 제어 회로는,
클록 라인 상의 클록 신호가 논리적 하이로 유지되고 있음을 검출하고;
출력 핀에서 제1 정지 ACK를 전송하고;
클록 신호가 논리적 로우로 변경되었음을 검출하고;
출력 핀에서 제2 정지 ACK를 전송하도록 구성됨으로써 정지 커맨드를 검출하도록 추가로 구성되는, IC.
14. 집적 회로(IC)로서,
버스 인터페이스 ― 버스 인터페이스는,
관련 버스 상의 클록 라인에 결합하도록 구성된 클록 핀;
관련 버스 상의 입력 라인에 결합하도록 구성된 입력 핀; 및
관련 버스 상의 출력 라인에 결합하도록 구성된 출력 핀
을 포함함 ―; 및
제어 회로를 포함하고, 제어 회로는,
클록 핀 상의 클록 신호를 논리적 하이로 유지하고;
클록 신호를 논리적 로우로 변경하고;
변경이 검출되었다는 확인응답(ACK)을 입력 핀에서 수신하고;
ACK를 수신한 후 클록 신호를 논리적 하이로 변경하고;
입력 핀에서 제2 ACK를 수신하도록 구성되는, IC.
15. 조항 14에 있어서, 버스 인터페이스는 직렬 주변기기 인터페이스(SPI) 버스 인터페이스를 포함하는, IC.
16. 조항 15에 있어서, 버스 인터페이스는 칩 선택 핀을 포함하지 않는, IC.
17. 조항 15 또는 16에 있어서, 출력 핀은 마스터 출력 슬레이브 입력(MOSI) 핀을 포함하는, IC.
18. 조항 15 내지 17 중 어느 하나에 있어서, 입력 핀은 마스터 입력 슬레이브 출력(MISO) 핀을 포함하는, IC.
19. 조항 14 내지 18 중 어느 하나에 있어서, 제어 회로는 제2 ACK를 수신한 후 출력 핀에서 커맨드를 전송하도록 구성되는, IC.
20. 조항 14 내지 19 중 어느 하나에 있어서, 제어 회로는,
클록 라인 상의 클록 신호를 논리적 하이로 유지하고;
입력 핀에서 제1 정지 ACK를 수신하고;
클록 신호를 논리적 로우로 변경하고;
입력 핀에서 제2 정지 ACK를 수신하도록 구성됨으로써 정지 커맨드를 전송하도록 추가로 구성되는, IC.
21. 직렬 주변기기 인터페이스(SPI) 버스를 제어하기 위한 방법으로서,
클록 핀 상의 변경을 검출하는 단계;
변경이 검출되었다는 확인응답(ACK)을 출력 핀에서 전송하는 단계;
ACK를 전송한 후 클록 핀 상의 후속 변경을 검출하는 단계; 및
출력 핀에서 제2 ACK를 전송하는 단계를 포함하는, 방법.
22. 조항 21에 있어서,
클록 핀 상의 클록 신호가 논리적 하이로 유지되고 있음을 검출하는 단계;
출력 핀에서 제1 정지 ACK를 전송하는 단계;
클록 신호가 논리적 로우로 변경되었음을 검출하는 단계; 및
출력 핀에서 제2 정지 ACK를 전송하는 단계를 더 포함하는, 방법.
23. 직렬 주변기기 인터페이스(SPI) 버스를 제어하기 위한 방법으로서,
클록 핀 상의 클록 신호를 논리적 하이로 유지하는 단계;
클록 신호를 논리적 로우로 변경하는 단계;
변경이 검출되었다는 확인응답(ACK)을 입력 핀에서 수신하는 단계;
ACK를 수신한 후 클록 신호를 논리적 하이로 변경하는 단계; 및
입력 핀에서 제2 ACK를 수신하는 단계를 포함하는, 방법.
24. 조항 23에 있어서,
클록 핀 상의 클록 신호를 논리적 하이로 유지하는 단계;
입력 핀에서 제1 정지 ACK를 수신하는 단계;
클록 신호를 논리적 로우로 변경하는 단계; 및
입력 핀에서 제2 정지 ACK를 수신하는 단계를 더 포함하는, 방법.

Claims (24)

  1. 집적 회로(IC)로서,
    버스 인터페이스 ― 상기 버스 인터페이스는,
    관련 버스 상의 클록 라인에 결합하도록 구성된 클록 핀;
    상기 관련 버스 상의 입력 라인에 결합하도록 구성된 입력 핀; 및
    상기 관련 버스 상의 출력 라인에 결합하도록 구성된 출력 핀
    을 포함함 ―; 및
    제어 회로를 포함하고,
    상기 제어 회로는,
    상기 클록 핀 상의 변경을 검출하고;
    상기 변경이 검출되었다는 확인응답(ACK)을 상기 출력 핀에서 전송하고;
    상기 ACK를 전송한 후 상기 클록 핀 상의 후속 변경을 검출하고; 그리고
    상기 출력 핀에서 제2 ACK를 전송하도록
    구성되는,
    집적 회로(IC).
  2. 제1 항에 있어서,
    상기 버스 인터페이스는 직렬 주변기기 인터페이스(SPI) 버스 인터페이스를 포함하는,
    집적 회로(IC).
  3. 제2 항에 있어서,
    상기 버스 인터페이스는 칩 선택 핀을 포함하지 않는,
    집적 회로(IC).
  4. 제2 항에 있어서,
    상기 입력 핀은 마스터 출력 슬레이브 입력(MOSI) 핀을 포함하고, 상기 클록 핀은 SCLK 핀을 포함하는,
    집적 회로(IC).
  5. 제2 항에 있어서,
    상기 출력 핀은 마스터 입력 슬레이브 출력(MISO) 핀을 포함하는,
    집적 회로(IC).
  6. 제1 항에 있어서,
    상기 제어 회로에 결합된 내부 클록을 더 포함하는,
    집적 회로(IC).
  7. 제6 항에 있어서,
    상기 제어 회로는 상기 내부 클록의 미리 결정된 수의 클록 사이클들 동안 지속되는 상기 클록 핀 상에서의 논리적 하이로부터 논리적 로우로의 전환을 검출함으로써 상기 클록 핀 상의 상기 변경을 검출하도록 구성되는,
    집적 회로(IC).
  8. 제6 항에 있어서,
    상기 제어 회로는 상기 내부 클록의 미리 결정된 수의 클록 사이클들 동안 지속되는 상기 클록 핀 상에서의 논리적 로우로부터 논리적 하이로의 전환을 검출함으로써 상기 클록 핀 상의 상기 후속 변경을 검출하도록 구성되는,
    집적 회로(IC).
  9. 제6 항에 있어서,
    상기 제어 회로는, 논리 레벨을 상기 출력 핀 상의 초기 논리 레벨로부터 새로운 논리 레벨로 반전시키고 상기 새로운 논리 레벨을 유지함으로써 상기 ACK를 전송하도록 구성되는,
    집적 회로(IC).
  10. 제9 항에 있어서,
    상기 제어 회로는, 상기 출력 핀을 상기 초기 논리 레벨로 복귀시키고 상기 초기 논리 레벨을 유지함으로써 상기 제2 ACK를 전송하도록 구성되는,
    집적 회로(IC).
  11. 제9 항에 있어서,
    상기 제어 회로는 이전 트랜잭션으로부터의 마지막 상태에 기초하여 상기 초기 논리 레벨을 결정하도록 구성되는,
    집적 회로(IC).
  12. 제1 항에 있어서,
    상기 제어 회로는 상기 제2 ACK를 전송한 후 상기 입력 핀에서 커맨드를 검출하도록 구성되는,
    집적 회로(IC).
  13. 제1 항에 있어서,
    상기 제어 회로는,
    상기 클록 라인 상의 클록 신호가 논리적 하이로 유지되고 있음을 검출하고;
    상기 출력 핀에서 제1 정지 ACK를 전송하고;
    상기 클록 신호가 논리적 로우로 변경되었음을 검출하고; 그리고
    상기 출력 핀에서 제2 정지 ACK를 전송하도록 구성됨으로써
    정지 커맨드를 검출하도록 추가로 구성되는,
    집적 회로(IC).
  14. 집적 회로(IC)로서,
    버스 인터페이스 ― 상기 버스 인터페이스는,
    관련 버스 상의 클록 라인에 결합하도록 구성된 클록 핀;
    상기 관련 버스 상의 입력 라인에 결합하도록 구성된 입력 핀; 및
    상기 관련 버스 상의 출력 라인에 결합하도록 구성된 출력 핀
    을 포함함 ―; 및
    제어 회로를 포함하고,
    상기 제어 회로는,
    상기 클록 핀 상의 클록 신호를 논리적 하이로 유지하고;
    상기 클록 신호를 논리적 로우로 변경하고;
    상기 변경이 검출되었다는 확인응답(ACK)을 상기 입력 핀에서 수신하고;
    상기 ACK를 수신한 후 상기 클록 신호를 상기 논리적 하이로 변경하고; 그리고
    상기 입력 핀에서 제2 ACK를 수신하도록
    구성되는,
    집적 회로(IC).
  15. 제14 항에 있어서,
    상기 버스 인터페이스는 직렬 주변기기 인터페이스(SPI) 버스 인터페이스를 포함하는,
    집적 회로(IC).
  16. 제15 항에 있어서,
    상기 버스 인터페이스는 칩 선택 핀을 포함하지 않는,
    집적 회로(IC).
  17. 제15 항에 있어서,
    상기 출력 핀은 마스터 출력 슬레이브 입력(MOSI) 핀을 포함하는,
    집적 회로(IC).
  18. 제15 항에 있어서,
    상기 입력 핀은 마스터 입력 슬레이브 출력(MISO) 핀을 포함하는,
    집적 회로(IC).
  19. 제14 항에 있어서,
    상기 제어 회로는 상기 제2 ACK를 수신한 후 상기 출력 핀에서 커맨드를 전송하도록 구성되는,
    집적 회로(IC).
  20. 제14 항에 있어서,
    상기 제어 회로는,
    상기 클록 라인 상의 상기 클록 신호를 상기 논리적 하이로 유지하고;
    상기 입력 핀에서 제1 정지 ACK를 수신하고;
    상기 클록 신호를 상기 논리적 로우로 변경하고; 그리고
    상기 입력 핀에서 제2 정지 ACK를 수신하도록 구성됨으로써
    정지 커맨드를 전송하도록 추가로 구성되는,
    집적 회로(IC).
  21. 직렬 주변기기 인터페이스(SPI) 버스를 제어하기 위한 방법으로서,
    클록 핀 상의 변경을 검출하는 단계;
    상기 변경이 검출되었다는 확인응답(ACK)을 출력 핀에서 전송하는 단계;
    상기 ACK를 전송한 후 상기 클록 핀 상의 후속 변경을 검출하는 단계; 및
    상기 출력 핀에서 제2 ACK를 전송하는 단계
    를 포함하는,
    직렬 주변기기 인터페이스(SPI) 버스를 제어하기 위한 방법.
  22. 제21 항에 있어서,
    상기 클록 핀 상의 클록 신호가 논리적 하이로 유지되고 있음을 검출하는 단계;
    상기 출력 핀에서 제1 정지 ACK를 전송하는 단계;
    상기 클록 신호가 논리적 로우로 변경되었음을 검출하는 단계; 및
    상기 출력 핀에서 제2 정지 ACK를 전송하는 단계
    를 더 포함하는,
    직렬 주변기기 인터페이스(SPI) 버스를 제어하기 위한 방법.
  23. 직렬 주변기기 인터페이스(SPI) 버스를 제어하기 위한 방법으로서,
    클록 핀 상의 클록 신호를 논리적 하이로 유지하는 단계;
    상기 클록 신호를 논리적 로우로 변경하는 단계;
    상기 변경이 검출되었다는 확인응답(ACK)을 입력 핀에서 수신하는 단계;
    상기 ACK를 수신한 후 상기 클록 신호를 상기 논리적 하이로 변경하는 단계; 및
    상기 입력 핀에서 제2 ACK를 수신하는 단계
    를 포함하는,
    직렬 주변기기 인터페이스(SPI) 버스를 제어하기 위한 방법.
  24. 제23 항에 있어서,
    상기 클록 핀 상의 상기 클록 신호를 상기 논리적 하이로 유지하는 단계;
    상기 입력 핀에서 제1 정지 ACK를 수신하는 단계;
    상기 클록 신호를 상기 논리적 로우로 변경하는 단계; 및
    상기 입력 핀에서 제2 정지 ACK를 수신하는 단계
    를 더 포함하는,
    직렬 주변기기 인터페이스(SPI) 버스를 제어하기 위한 방법.
KR1020247008780A 2021-09-24 2022-08-29 칩 선택 핀을 갖지 않는 직렬 주변기기 인터페이스(spi)를 사용하는 칩 동작을 위한 시스템들 및 방법들 KR20240038170A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/484,419 2021-09-24
US17/484,419 US11609877B1 (en) 2021-09-24 2021-09-24 Systems and methods for chip operation using serial peripheral interface (SPI) without a chip select pin
PCT/US2022/075561 WO2023049604A1 (en) 2021-09-24 2022-08-29 Systems and methods for chip operation using serial peripheral interface (spi) without a chip select pin

Publications (1)

Publication Number Publication Date
KR20240038170A true KR20240038170A (ko) 2024-03-22

Family

ID=83457522

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247008780A KR20240038170A (ko) 2021-09-24 2022-08-29 칩 선택 핀을 갖지 않는 직렬 주변기기 인터페이스(spi)를 사용하는 칩 동작을 위한 시스템들 및 방법들

Country Status (5)

Country Link
US (1) US11609877B1 (ko)
KR (1) KR20240038170A (ko)
CN (1) CN117940912A (ko)
TW (1) TW202314532A (ko)
WO (1) WO2023049604A1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060143348A1 (en) * 2004-12-29 2006-06-29 Wilson Matthew T System, method, and apparatus for extended serial peripheral interface
US9990316B2 (en) * 2015-09-21 2018-06-05 Qualcomm Incorporated Enhanced serial peripheral interface
CN107832249B (zh) * 2017-10-29 2020-07-03 北京联合大学 三线实现和带有spi接口外设进行通讯的系统及方法
TWI706257B (zh) * 2018-12-13 2020-10-01 新唐科技股份有限公司 匯流排系統

Also Published As

Publication number Publication date
US20230095850A1 (en) 2023-03-30
TW202314532A (zh) 2023-04-01
WO2023049604A1 (en) 2023-03-30
US11609877B1 (en) 2023-03-21
CN117940912A (zh) 2024-04-26

Similar Documents

Publication Publication Date Title
KR102450296B1 (ko) 동기식 및 비동기식 혼합 방식의 디지털 인터페이스를 포함하는 장치, 이를 포함하는 디지털 처리 시스템, 및 이들에 의해 수행되는 디지털 처리 방법
US10133692B2 (en) Device including a single wire interface and a data processing system having the same
US10565154B2 (en) Mobile device and interfacing method thereof that adjusts clock frequency based on access mode
JP6517243B2 (ja) リンクレイヤ/物理レイヤ(phy)シリアルインターフェース
CN108476158B (zh) 多个通信总线上的基于优先级的数据通信
US20080235405A1 (en) USB controller and a testing method of the USB controller
US20190250876A1 (en) Split read transactions over an audio communication bus
CN116075814A (zh) 系统电源管理接口(spmi)系统中的扩展功能数据报
CN109791928B (zh) 用于裸片到裸片SerDes的分离式芯片解决方案
KR102613449B1 (ko) Pcie(pci(peripheral component interconnect) express) 링크에서의 측파대 시그널링
US11847087B2 (en) Systems and methods for chip operation using serial peripheral interface (SPI) with reduced pin options
US10511397B2 (en) Virtual general purpose input/output (GPIO) (VGI) over a time division multiplex (TDM) bus
KR20240038170A (ko) 칩 선택 핀을 갖지 않는 직렬 주변기기 인터페이스(spi)를 사용하는 칩 동작을 위한 시스템들 및 방법들
US10789193B2 (en) Device connected to other device by single wire and method of operating system including the devices
US20190121767A1 (en) In-band reset and wake up on a differential audio bus
US11327922B2 (en) Bus ownership for a system power management interface (SPMI) bus
US20200119902A1 (en) Payload transport on audio buses for simple pulse division multiplexed (pdm) devices
CN106533419B (zh) Esd保护电路以及mipi接口的时钟通路

Legal Events

Date Code Title Description
A302 Request for accelerated examination