KR20180030511A - 8 비트 미만의 바이트들 및 가변 패킷 크기를 갖는 spi 인터페이스 - Google Patents

8 비트 미만의 바이트들 및 가변 패킷 크기를 갖는 spi 인터페이스 Download PDF

Info

Publication number
KR20180030511A
KR20180030511A KR1020187000736A KR20187000736A KR20180030511A KR 20180030511 A KR20180030511 A KR 20180030511A KR 1020187000736 A KR1020187000736 A KR 1020187000736A KR 20187000736 A KR20187000736 A KR 20187000736A KR 20180030511 A KR20180030511 A KR 20180030511A
Authority
KR
South Korea
Prior art keywords
bits
data
mode
bit
transmission
Prior art date
Application number
KR1020187000736A
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 KR20180030511A publication Critical patent/KR20180030511A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • 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/1673Details of memory controller using buffers
    • 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/1689Synchronisation and timing concerns
    • 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/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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

Landscapes

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

Abstract

동기식 직렬 주변 디바이스는 데이터 출력 라인과 결합된 송신 유닛 및 클록 라인과 결합된 클록 유닛을 구비한다. 상기 직렬 주변 디바이스는 최소한의 단일 송신을 송신하고, 여기서 제 1 동작 모드에서는 상기 송신 유닛과 상기 클록 유닛이 1 비트와 8 비트 사이에 있는 것으로 정의될 수 있는 데이터 길이를 갖는 데이터 송신을 수행하도록 구성 가능하다.

Description

8 비트 미만의 바이트들 및 가변 패킷 크기를 갖는 SPI 인터페이스
관련 특허 출원
본 출원은, 2015년 7월 15일 출원된 동일 출원인에 의한 미국 가출원 번호 62/192,773 호의 우선이익을 주장하며, 상기 미국 가출원은 모든 목적들을 위해 본 출원에 참조함으로써 통합된다.
기술 분야
본 개시는 동기식 직렬 주변기기 인터페이스에 관한 것으로, 특히, 8 비트 미만의 바이트들 및 가변 패킷 크기를 갖는 SPI 인터페이스에 관한 것이다.
동기식 직렬 주변 디바이스들은 별도의 데이터 및 클록 라인들을 사용하며, 여기서 최소 데이터 크기는 8 비트이다. 이 디바이스들은 마이크로컨트롤러들의 공통 인터페이스 주변기기들이다. 이것들은 또한 아날로그-디지털 컨버터들, 디지털-아날로그 컨버터들, 센서 디바이스들, 송신기들 및 수신기들, 및 마이크로프로세서 또는 마이크로컨트롤러와 통신할 필요가 있는 기타 유형의 디바이스와 같은 복수의 독립형 디바이스들에 사용될 수 있다.
가변 데이터 폭을 갖는 직렬 송신을 자동으로 많이 처리하는 개선된 더욱 유연한 SPI 인터페이스가 필요하다.
일 실시예에 따르면, 동기식 직렬 주변 디바이스는, 데이터 출력 라인과 결합된 송신 유닛 및 클록 라인과 결합된 클록 유닛을 포함할 수 있고, 여기서 상기 직렬 주변 디바이스는 최소한의 단일 송신을 송신하고, 여기서 제 1 동작 모드에서는 상기 송신 유닛과 상기 클록 유닛이 1 비트와 8 비트 사이에 있는 것으로 정의될 수 있는 데이터 길이를 갖는 데이터 송신을 수행하도록 구성 가능하다.
추가 실시예에 따르면, 상기 동기식 직렬 주변 디바이스는, 상기 송신 유닛과 결합된 FIFO 메모리를 더 포함할 수 있고, 여기서 상기 주변 디바이스는 제 2 동작 모드로 동작하도록 더 구성 가능하고, 상기 제 2 동작 모드에서의 송신은 상기 FIFO 메모리로부터의 복수의 8-비트 워드들에 뒤따라 이어지는 8 비트 미만인 것으로 정의될 수 있는 데이터 길이를 갖는 상기 FIFO 메모리로부터의 단일 데이터 송신 워드를 포함하는 송신 프레임으로 이루어진다. 추가 실시예에 따르면, 구성 레지스터 내의 단일 비트는 상기 제 1 동작 모드 또는 상기 제 2 동작 모드가 활성 상태인지를 결정한다. 추가 실시예에 따르면, 상기 동기식 직렬 주변 디바이스는, 데이터 입력 라인과 결합된 수신 유닛을 더 포함할 수 있고, 여기서 상기 직렬 주변 디바이스는 가변 비트 길이 단일 직렬 송신을 수신하도록 구성되고, 상기 제 1 동작 모드에서는 상기 수신 유닛이 상기 정의된 데이터 길이를 갖는 데이터 송신을 수신하도록 구성 가능하다. 추가 실시예에 따르면, 상기 제 1 동작 모드에서는 구성 레지스터 내의 복수의 비트들이 상기 데이터 길이를 결정한다. 추가 실시예에 따르면, 상기 제 2 동작 모드에서는 제 1 개수의 특수 기능 레지스터 비트들이 연속적인 8 비트 워드들의 수를 결정하고, 제 2 개수의 특수 기능 레지스터 비트들은 상기 연속적인 8 비트 워드들이 송신된 후에 상기 단일 데이터 송신 워드의 비트들의 수를 결정한다. 추가 실시예에 따르면, 상기 제 1 동작 모드에서는 제 1 개수의 특수 기능 레지스터 비트들이 상기 데이터 길이를 결정하고, 상기 제 2 동작 모드에서는 제 2 개수의 특수 기능 레지스터 비트들이 연속적인 8 비트 워드들의 수를 결정하고 상기 제 1 개수의 특수 기능 레지스터 비트들은 상기 단일 데이터 송신 워드의 비트들의 수를 결정한다. 추가 실시예에 따르면, 단일 특수 기능 레지스터는 상기 제 1 및 제 2 개수의 특수 기능 레지스터 비트들을 포함한다. 추가 실시예에 따르면, 상기 동기식 직렬 주변 디바이스는 상기 클록 라인 상에 송신된 클록 신호를 제어하는 유한 상태 머신을 더 포함할 수 있다. 추가 실시예에 따르면, 상기 유한 상태 머신을 제어하는 바이트 카운터 및 비트 카운터를 더 포함할 수 있다. 추가 실시예에 따르면, 상기 비트 카운터는 상기 송신 유닛을 제어한다. 추가 실시예에 따르면, 데이터의 각 비트에 대한 PWM/맨체스터 인코딩은 필요한 변조된 패턴을 달성하기 위해 보 레이트(baud rate), 비트들의 수 및 상기 데이터를 조정함으로써 에뮬레이트된다. 추가 실시예에 따르면, 상기 동기식 직렬 주변 디바이스는 슬레이브 제어 입력부를 더 포함할 수 있다. 추가 실시예에 따르면, 상기 동기식 직렬 주변 디바이스는 별개의 데이터 입력 및 데이터 출력 라인들을 더 포함할 수 있다.
또 하나의 실시예에 따르면, 마이크로컨트롤러는 위에서 설명한 동기식 직렬 주변 디바이스를 포함할 수 있다.
또 하나의 다른 실시예에 따르면, 동기식 직렬 주변 디바이스를 동작시키는 방법은, 제 1 송신 모드로 동작하도록 상기 동기식 직렬 주변 디바이스를 구성하는 단계; 송신 비트 폭을 8 비트 미만의 길이로 설정하는 단계; 및 데이터를 전송 버퍼로 이동시키는 단계를 포함할 수 있고, 여기서 마스터 모드에서는 상기 데이터 수신시, 상기 동기식 직렬 주변 디바이스가 데이터 라인 상에 데이터를 송신하고 클록 라인 상에 관련 클록 신호를 송신하고, 다수의 8 비트 미만의 비트들이 상기 데이터 라인 상에 송신되고, 다수의 8 미만의 클록 펄스들이 상기 클록 라인 상에 송신된다.
상기 방법의 추가 실시예에 따르면, 슬레이브 모드에서는, 상기 동기식 주변 디바이스가 클록 라인에서 상기 마스터로부터의 클록 신호 수신시 데이터 라인 상에 데이터를 송신한다. 상기 방법의 추가 실시예에 따르면, 상기 방법은 제 2 송신 모드로 동작하도록 상기 동기식 직렬 주변 디바이스를 구성하는 단계; 다수의 8-비트 워드들 및 비트 폭을 8 비트 미만의 길이로 설정하는 단계; 및 데이터를 송신 FIFO 메모리로 이동시키는 단계를 더 포함할 수 있고, 트리거 수신시, 상기 동기식 직렬 주변 디바이스는 상기 송신 FIFO 메모리로부터의 복수의 8-비트 워드들에 뒤따라 이어지는 8 비트 미만인 것으로 정의될 수 있는 데이터 길이를 갖는 단일 데이터 송신 워드를 송신한다. 상기 방법의 추가 실시예에 따르면, 구성 레지스터 내의 단일 비트는 상기 제 1 동작 모드 또는 상기 제 2 동작 모드가 활성 상태인지를 결정한다. 상기 방법의 추가 실시예에 따르면, 제어 레지스터에 비트를 설정하는 것은 상기 트리거를 생성한다. 상기 방법의 추가 실시예에 따르면, 상기 방법은 상기 제 1 동작 모드에 있을 때에는, 상기 송신 비트 폭을 갖는 데이터 워드를 수신하는 것, 및 상기 제 2 동작 모드에 있을 때에는, 상기 다수의 8-비트 워드들 및 8 비트 미만의 길이를 갖는 최종 워드를 수신하는 것을 더 포함할 수 있고, 여기서 각각의 수신된 워드는 수신 FIFO 메모리로 전송된다. 상기 방법의 추가 실시예에 따르면, 상기 제 1 동작 모드에서는 구성 레지스터 내의 복수의 비트들이 상기 데이터 길이를 결정한다. 상기 방법의 추가 실시예에 따르면, 상기 제 1 동작 모드에서는 제 1 개수의 특수 기능 레지스터 비트들이 상기 데이터 길이를 결정하고, 상기 제 2 동작 모드에서는 제 2 개수의 특수 기능 레지스터 비트들이 연속적인 8 비트 워드들의 수를 결정하고 상기 제 1 개수의 특수 기능 레지스터 비트들은 상기 단일 데이터 송신 워드의 비트들의 수를 결정한다. 상기 방법의 추가 실시예에 따르면, 데이터의 각 비트에 대한 PWM/맨체스터 인코딩은 필요한 변조된 패턴을 달성하기 위해 보 레이트, 비트들의 수 및 상기 데이터를 조정함으로써 에뮬레이트된다.
도 1은 동기식 직렬 주변기기 모듈의 일 실시예의 블록도를 도시한 도면이다.
도 2는 SPI 인터페이스를 통해 결합된 마스터 및 복수의 슬레이브 유닛들을 갖는 시스템을 도시한 도면이다.
도 3은 종래의 SPI 송신의 타이밍도이다.
도 4는 제 1 동작 모드에 따른 8 비트 미만의 SPI 송신의 타이밍도이다.
도 5는 제 2 동작 모드에 따른 SPI 송신의 타이밍도이다.
도 6은 회로 내 디버거/프로그래머에 사용되는 전형적인 송신 프로토콜을 도시한 도면이다.
도 7은 PWM/맨체스터 인코딩을 에뮬레이트하는 제 1 동작 모드에 따른 송신을 도시한 도면이다.
도 8은 종래의 SPI 모듈의 제 1 구성을 도시한 도면이다.
도 9는 종래의 SPI 모듈의 제 2 구성을 도시한 도면이다.
도 10은 다양한 실시예들에 따른 SPI 모듈을 포함하는 마이크로컨트롤러의 블록도이다.
송신기가 필요한 비트들만을 전송하면, 직렬 데이터의 RF 송신을 사용하는 애플리케이션이 개선된다. 디바이스들이 단지 8-비트 바이트들만을 사용하여 직렬 데이터를 생성할 수 있을 때에는, 때로는 최적의 수(예컨대, 37 비트) 대신 초과 비트들이 송신되어야 한다(예컨대, 32 또는 40 비트). 여분의 비트들은 소비되는 총 에너지에 더해지고, 배터리 수명을 단축시킨다.
도 8 및 도 9는 마이크로컨트롤러에 구현될 수 있는 전형적인 SPI 주변기기 모듈을 도시한다. 이러한 주변기기는 서로 다른 모드들로 동작할 수 있는데, 여기서 도 8에 도시된 바와 같은 정상 모드는 시프트 레지스터(SPIxSR)와 결합된 단일 버퍼 레지스터(SPIxBUF)를 사용하며, 시프트 레지스터(SPIxSR)는 외부 핀들(SDO 및 SDI)과 다시 결합된다. 시프트 레지스터는 도 8 및 도 9에 도시된 바와 같이 직렬 변환기 및 직병렬 변환기로서 동작한다. 클록 신호는 프리스케일러들을 통해 생성되며, SDO, SDI 및 SCK 핀들 상의 신호들의 전송 프로토콜들을 처리하는 제어 로직이 제공된다. 표준에 따르면 네 번째 핀이 슬레이브 모드 또는 프레임 동기화에 사용될 수 있다. 도 9는 향상된 모드로 동작할 때의 동일한 모듈을 도시한다. 이제 FIFO 수신 및 송신 버퍼가 버퍼 레지스터(SPIxBUF)와 시프트 레지스터(SPIxSR) 사이에 결합된다. 따라서 사용자는 타이밍 제한(대기 상태)없이 FIFO 크기에 의존하는 다수의 기록들을 수행할 수 있다. 이러한 주변기기는 전형적으로 마이크로컨트롤러 내에서 쉽게 액세스할 수 있도록 메모리-맵핑되는 특수 기능 레지스터들에 의해 구성된다. 그러나 이러한 유형의 SPI 인터페이스들은 8 비트 또는 16 비트 송신들로 제한된다. 현재 가변 비트 길이 직렬 송신을 제공하는 유일한 방법은, 중앙 프로세서가 I/O 포트 및 신호들의 타이밍을 직접 제어하는 것을 필요로 하는 소위 비트-뱅잉(bit-banging) 기술을 사용하는 것인데, 이것은 명백하게 결과적으로 상당한 소프트웨어 오버헤드를 초래한다.
가변 데이터 폭을 갖는 직렬 송신을 자동으로 많이 처리하는 개선된 더욱 유연한 SPI 인터페이스가 필요하다.
다양한 실시예들에 따르면, 도 8 및 도 9에 도시된 바와 같은 SPI 모듈은 더욱 향상될 수 있다. 예를 들면, 송신되는 모든 바이트들이 8 비트 길이가 되어야 할 필요는 없도록 SPI 데이터 직렬 변환기 및 직병렬 변환기를 수정할 수 있다. 이를 위해, 무엇보다도 SPI 주변기기의 동작을 제어하는 특수 기능 레지스터가 예를 들어 특정한 설정을 제어하는 단일 모드 비트 또는 다중 비트들에 의해 제어된다. 단일 비트 BMODE를 사용하면 두 가지 모드가 가능하다. BMODE = 0일 때, 총 비트 카운트(bit count), 예를 들면 37 비트의 길이를 갖는 송신이 특정된다. 실제 길이는 특수 기능 레지스터에 설정될 수 있다. 이 모드에서, 복수의 8-비트 바이트들을 전송한 후, 최종 바이트, 예를 들어 하나의 설정에서 5번째 바이트가 필요한 길이로 절단된다. 따라서, 4개의 정상적인 8-비트 워드들 및 1개의 5-비트 워드가 순차적으로 송신되어 결과적으로 37 비트 송신이 될 것이다.
BMODE = 1일 때, 각 바이트는 선택된 비트 수로 절단된다. 이 모드로 인해, 예를 들어 8 비트 미만으로 이루어질 모든 송신이 정의될 수 있다. 그러나 그 설정은 1-8 비트 사이일 수 있으며, 8 비트 설정은 정상적인 송신과 동등하다.
일 실시예에 따르면, BMODE = 1과 동등한 단일 동작 모드만이 제공된다. 이 실시예는 2개의 동작 모드 실시예로 후술되는 바와 같은 FIFO 메모리를 필요로 하지 않지만, 도 8에 도시된 SPI 주변기기와 유사하게 구현될 수 있다. 따라서, FIFO 대신에, 도 8에 도시된 구성과 유사한 단일 송신 버퍼 레지스터 및 단일 송신 수신 레지스터가 도 1에 도시된 바와 같은 FIFO 멀티플렉서 구성 대신에 제공될 수 있다.
따라서, 다양한 실시예들에 따른 SPI 모듈은 가변 크기의 데이터 전송들을 가능케 한다. 전술한 바와 같이, 일 실시예에 따르면, 가변 전송 크기를 달성하기 위해 구현되는 2가지 모드가 있을 수 있다:
- 모드 1 - 가변 패킷 크기 모드. 패킷 크기는 예를 들어 9 내지 16391 비트 사이일 수 있다. 다른 패킷 크기는 구현에 따라 적용될 수 있다.
- 모드 2 - 가변 바이트 크기 모드. 각 바이트의 크기는 1 내지 8 비트 사이일 수 있다.
가변 바이트 크기의 효율적인 구현은, 송신 FIFO 데이터를 SDO 출력으로 직접 멀티플렉싱하고 직병렬 변환기 및 관련 수신 FIFO를 통해 SDI 입력 신호들을 수신하기 위해 비트 선택기를 사용하여 달성된다. 또한, 마스터 모드 유한 상태 머신은 byte_count 및 bit_count 정보를 이용하여 가변 개수의 SCK 펄스들을 생성한다. 도 1은 일 실시예에 따른 동기식 직렬 주변 디바이스(100)의 블록도를 도시한다.
제 1 직병렬 변환기(130)는 직렬 SDI 신호를 수신하고 병렬 8 비트 신호를 N-깊이 수신 FIFO(110)와 결합되는 제 1 멀티플렉서(120)에 포워딩한다. 직병렬 변환기(130)는 비트 카운터(150)에 의해 제어되고, 비트 카운터(150)는 또한 클록 신호(SCK)를 출력하는 유한 상태 머신(160)을 제어한다. 유한 상태 머신(160)은 바이트 카운터(140)와 더 결합된다. N-깊이 송신 FIFO(170)는 8 비트 병렬 신호를 직렬 변환기(190)에 출력하는 멀티플렉서(180)와 결합되고, 직렬 변환기(190)의 출력은 SDO 신호를 제공한다.
바이트를 자르고 또한 데이터 로드/저장 동작을 완료하는 기능은 바이트 당 8 비트로 수행되지만, 데이터 제어에는 특별한 고려가 필요하다. 특히, 연속적인 데이터 클록킹(RF 송신의 요구 사항)을 유지하면서 바이트 당 1 비트만을 전송하는 것은 매우 어렵다. 비트 카운터는 유한 상태 머신과 송신기 및 수신기와 상호 작용하여 모든 것이 동일한 상태에 있음을 확인한다.
이러한 동기식 직렬 주변 디바이스의 "마스터 모드"에서의 동작은 다음과 같을 수 있다. 첫째, 동기식 직렬 주변 디바이스는, 상술한 바와 같이 단일 모드만이 이용 가능하지 않다면 2개의 동작 모드들 중 하나에서 동작하도록 구성된다. 제 1 송신 모드에서는, 최대 8 비트의 길이에 대한 송신 비트 폭이 설정된다. FIFO 또는 전송 버퍼가 데이터 수신에 사용되면, 각각의 이러한 전송은 송신을 트리거할 수 있다. FIFO의 경우에 주변기기는 FIFO에 유효 데이터가 있는 한 간단히 전송할 것이다. 따라서, 데이터 수신시 동기식 직렬 주변 디바이스는 데이터 라인 상에 데이터를 송신하고 클록 라인 상에 관련 클록 신호를 송신하며, 여기서 8 비트 미만일 수 있는 비트 수가 데이터 라인 상에 송신되고 관련 개수의 클록 펄스들은 클록 라인 상에 송신된다.
이러한 동기식 직렬 주변 디바이스의 "슬레이브 모드"에서의 동작은 다음과 같을 수 있다. 첫째, 동기식 직렬 주변 디바이스는, 단일 모드만이 상술한 바와 같이 이용 가능하지 않다면 2개의 동작 모드들 중 하나에서 동작하도록 구성된다. 제 1 송신 모드에서는, 최대 8 비트의 길이에 대한 송신 비트 폭이 설정된다. 상기 주변기기는 FIFO에 데이터가 있다면 마스터로부터 클록들을 수신하면 간단히 전송할 것이다. 따라서, 마스터로부터 클록 수신시, 동기식 직렬 주변 디바이스는 데이터 라인 상에 데이터를 송신하며, 여기서 8 비트 미만일 수 있는 다수의 비트들이 데이터 라인 상에 송신된다.
제 2 송신 모드에서는, 다수의 8 비트 워드들 및 8 비트 미만 길이의 비트 폭이 각각의 특수 기능 레지스터 또는 레지스터들로 먼저 프로그래밍된다. 그 다음, 데이터는 송신의 전체 비트 길이에 근거하여 복수의 데이터 전송들을 필요로 할 수 있는 송신 FIFO 메모리로 이동된다. 따라서, 이 동작 모드에서, 동기식 직렬 주변 디바이스는 송신 FIFO 메모리로부터 복수의 8 비트 워드들을 송신하고 뒤따라서 8 비트 미만으로 정의될 수 있는 데이터 길이를 갖는 단일 데이터 송신 워드가 송신된다. 일 실시예에 따르면, 일단 충분한 데이터가 FIFO 내에 수신되면, 전송은 자동으로 시작될 수 있다. 또 하나의 실시예에 따르면, 사용자에 의해 설정될 수 있는 구성 레지스터의 단일 비트가 전송의 시작을 결정한다.
SPI는 복수의 디바이스들 간에 데이터를 직렬로(serially) 전송한다. 도 2는 마스터(210) 및 복수의 슬레이브들(220, 230)을 갖는 전형적인 장치(200)를 도시한다. 직렬 출력 데이터는 특정 SCK 에지 상에서 변경되고 데이터는 도 3의 타이밍도에 도시된 바와 같이 다음 SCK 에지에서 샘플링된다. 종래의 SPI 시스템들은 워드 단위로 데이터를 전송하며, 여기서 워드 크기 = 데이터 버스 폭(8 비트 MCU => 8 비트 SPI 바이트)이다. 또한 일부 시스템들은 16 비트의 데이터 전송 폭도 제공한다.
일 실시예에 따르면, 종래의 SPI 인터페이스들에서 현재 이용 가능하지 않은 특징을 제공하는 패킷-크기 옵션이 구현될 수 있다.
도 4에 도시된 바와 같이, SPI 주변기기는 특정 프로그램 가능 동작 모드에 따른 바이트 전송 모드를 가지며, 여기서 각 전송은 1 바이트의 송/수신을 수반한다. 각 바이트의 크기는 1 내지 8 비트 사이일 수 있다. 각각의 특수 기능 레지스터(SFR)는 이 기능을 제어한다: 이 레지스터는 예를 들어 단일 비트 BMODE에 의해 프로그램될 수 있으며, 여기서 BMODE = 1의 설정은 바이트 모드에 사용되고, 이것 또는 또 하나의 특수 기능 레지스터 내의 복수 비트들(BITS)은 바이트 크기를 위해 비트 수를 정의한다. 도 4에 도시된 예: 제어 레지스터는 BMODE = 1, BITS = 3의 설정을 갖는다. 이 모드에서는 3 비트, 즉 최상위 비트들(7, 6 및 5)만이 버퍼 전송 레지스터에 각각의 기록과 함께 전송된다.
도 5에 도시된 바와 같이, SPI 주변기기는 또한 특정 프로그램 가능한 동작 모드에 따른 패킷 전송 모드를 가질 수 있다. 패킷 크기는 9 내지 16391 비트 사이일 수 있다. 그러나, 위에서 언급한 것처럼, 구현에 따라 다른 크기가 적용될 수 있다. 여러 특수 기능 레지스터들(SFR)을 사용하여 설정을 제어할 수 있다. 예를 들면, 비트 BMODE = 0은 패킷 모드를 설정하는데 사용되고, 비트들(BYTES)은 8-비트 바이트 수를 설정하는데 사용되며, 비트들(BITS)은 마지막 바이트의 크기를 설정하는데 사용된다. 이 결과 (비트 수의) 패킷 크기 = BYTES*8 + BITS가 된다. 도 5에 도시된 예는 설정(BMODE = 0, BYTES = 1 및 BITS = 3)을 사용하여 결과적으로 11-비트 동작 모드가 되게 한다.
예를 들면, 도 6에 도시된 바와 같이, 회로 내 마이크로칩 직렬 프로그래밍(Microchip In Circuit Serial Programming; ICSP)은 6 비트 명령이 전송된 후 뒤따라서 16 비트 페이로드가 전송되는 것을 필요로 한다. 첫 번째 바이트는 BMODE = 1, BITS = 6을 사용하여 전송될 수 있으며, 다음 2 바이트는 BMODE = 1, BITS = 0을 사용하여 전송될 수 있다. 대안으로, 이것은 BMODE = 0, BYTES = 2, BITS = 6(패킷 크기 = 22 비트)을 갖는 패킷 모드를 사용하여 달성될 수 있다. 이로 인해 특정 마이크로컨트롤러들이 마이크로칩 PIC 프로그래밍에 사용될 수 있으며, 가변 비트-길이 워드들이 전송되어야 한다.
홀수 개의 비트들이 전송되어야 하는 무선 애플리케이션들은 새로운 패킷 모드로부터 유익을 얻을 수 있다. 예를 들어, Keeloq® 애플리케이션들은 66-192 비트 사이의 데이터 크기를 가질 수 있다. 위에서 언급했듯이, 이전에 이러한 애플리케이션들은 제로(0)-패딩 오버헤드 없이 트랜시버를 턴 오프함으로써 전력을 절약하기 위해, 정확한 길이의 패킷들을 전송하기 위한 비트 뱅잉(bit banging)을 사용해야 할 것이다. 새로운 패킷 모드는 비트 뱅잉 접근 방식에 의해 달성되는 것보다 높은 타이밍 정확도를 달성하는데 도움이 될 수 있다. 또한 원활한(seemless) 데이터 전송 지원으로 버스 활용도를 개선하고 전력 소비를 더 최적화할 수 있다.
도 7에 도시된 바와 같이, 일 실시예에 따른 새로운 SPI 모듈은 데이터의 각 비트에 대해 PWM/맨체스터 인코딩을 필요로 하는 애플리케이션에 용이하게 사용될 수 있다. 예를 들면, 특정 LED 디바이스들은 다음의 PWM 인코딩을 사용하여 1 비트의 데이터를 나타낸다. 보 레이트(baud rate), 비트 수 및 데이터는 필요한 변조된 패턴을 얻기 위해 조정될 수 있다.
도 10은 단일 칩 마이크로컨트롤러(1000) 내의 다양한 실시예들에 따른 SPI 모듈의 집적의 예를 도시한다. 마이크로컨트롤러(1000)는 프로그램 플래시 메모리(1020) 및 하버드 아키텍처를 구현하는 데이터 랜덤 액세스 메모리(1030)와 결합된 중앙 처리 유닛(1010)을 포함한다. 그러나, 다른 실시예들에 따라 다른 아키텍처들이 사용될 수 있다. 내부 시스템 버스(1090)는 CPU(1010)를 복수의 주변 디바이스들(1040a..n)과 결합시킨다. 주변 디바이스들 중 하나(1050)는 상술한 바와 같은 다양한 실시예들에 따른 SPI 모듈이다. 그것은 마이크로컨트롤러(1000)의 특수 기능 레지스터들인 복수의 구성 레지스터들(1060, 1070)을 가질 수 있고, 데이터 메모리(1030)에 메모리 매핑될 수 있다. 마이크로컨트롤러(1000)는, 디폴트 설정으로 디지털 또는 아날로그 I/O 포트들(1080)로서 동작하는 복수의 외부 핀들을 구비할 수 있다. 이 핀들(1080) 중 일부는 도 10에 도시된 바와 같이 SPI 모듈에 할당되도록 구성될 수 있다. 예를 들어, 하나의 핀(CLK)은 클록 신호를 송신 또는 수신하도록 할당될 수 있고, 하나의 핀(SDI)은 직렬 데이터 입력 핀으로서 사용될 수 있고, 하나의 핀(SDO)은 직렬 데이터 출력 핀으로서 사용될 수 있으며, 그리고 하나의 핀(#SS)은 슬레이브 선택 또는 프레임 동기화 핀으로서 사용될 수 있다. SPI 주변기기(1050)를 활성화할 때, 최소의 핀들(CLK 및 SDI 또는 SDO)이 사용될 수 있다. 또한 CS 핀을 사용할 수 있는데, 특히 하나보다 많은 슬레이브 유닛이 동일한 버스를 통해 통신하는 경우에 그러하다. 일반적으로, 복수의 이러한 핀들은 애플리케이션에 따라 마스터에 필요할 수 있고, 따라서 이러한 핀들은 단순히 I/O 포트 핀들이며 소프트웨어에 의해 수동으로 설정될 것이다. 그러나, SPI 인터페이스 모듈(1050)의 일부 실시예들은 하나 이상의 이러한 핀들을 자동으로 제어할 수 있다.

Claims (24)

  1. 동기식 직렬 주변 디바이스로서,
    데이터 출력 라인과 결합된 송신 유닛 및 클록 라인과 결합된 클록 유닛을 포함하고,
    상기 직렬 주변 디바이스는 최소한의 단일 송신을 송신하고,
    제 1 동작 모드에서는 상기 송신 유닛과 상기 클록 유닛이 1 비트와 8 비트 사이에 있는 것으로 정의될 수 있는 데이터 길이를 갖는 데이터 송신을 수행하도록 구성 가능한, 동기식 직렬 주변 디바이스.
  2. 제 1 항에 있어서,
    상기 송신 유닛과 결합된 FIFO 메모리를 더 포함하고,
    상기 주변 디바이스는 제 2 동작 모드로 동작하도록 더 구성 가능하고,
    상기 제 2 동작 모드에서의 송신은 상기 FIFO 메모리로부터의 복수의 8-비트 워드들에 뒤따라 이어지는 8 비트 미만인 것으로 정의될 수 있는 데이터 길이를 갖는 상기 FIFO 메모리로부터의 단일 데이터 송신 워드를 포함하는 송신 프레임으로 이루어지는, 동기식 직렬 주변 디바이스.
  3. 제 1 항 또는 제 2 항에 있어서,
    구성 레지스터 내의 단일 비트는 상기 제 1 동작 모드 또는 상기 제 2 동작 모드가 활성 상태인지를 결정하는, 동기식 직렬 주변 디바이스.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    데이터 입력 라인과 결합된 수신 유닛을 더 포함하고,
    상기 직렬 주변 디바이스는 가변 비트 길이 단일 직렬 송신을 수신하도록 구성되고,
    상기 제 1 동작 모드에서는 상기 수신 유닛이 상기 정의된 데이터 길이를 갖는 데이터 송신을 수신하도록 구성 가능한, 동기식 직렬 주변 디바이스.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 제 1 동작 모드에서는 구성 레지스터 내의 복수의 비트들이 상기 데이터 길이를 결정하는, 동기식 직렬 주변 디바이스.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 제 2 동작 모드에서는 제 1 개수의 특수 기능 레지스터 비트들이 연속적인 8 비트 워드들의 수를 결정하고, 제 2 개수의 특수 기능 레지스터 비트들은 상기 연속적인 8 비트 워드들이 송신된 후에 상기 단일 데이터 송신 워드의 비트들의 수를 결정하는, 동기식 직렬 주변 디바이스.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 제 1 동작 모드에서는 제 1 개수의 특수 기능 레지스터 비트들이 상기 데이터 길이를 결정하고,
    상기 제 2 동작 모드에서는 제 2 개수의 특수 기능 레지스터 비트들이 연속적인 8 비트 워드들의 수를 결정하고 상기 제 1 개수의 특수 기능 레지스터 비트들은 상기 단일 데이터 송신 워드의 비트들의 수를 결정하는, 동기식 직렬 주변 디바이스.
  8. 제 7 항에 있어서,
    단일 특수 기능 레지스터는 상기 제 1 및 제 2 개수의 특수 기능 레지스터 비트들을 포함하는, 동기식 직렬 주변 디바이스.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 클록 라인 상에 송신된 클록 신호를 제어하는 유한 상태 머신을 더 포함하는 동기식 직렬 주변 디바이스.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 유한 상태 머신을 제어하는 바이트 카운터 및 비트 카운터를 더 포함하는 동기식 직렬 주변 디바이스.
  11. 제 9 항에 있어서,
    상기 비트 카운터는 상기 송신 유닛을 제어하는, 동기식 직렬 주변 디바이스.
  12. 제 1 항 내지 제 11 항 중 어느 한 항에 있어서,
    데이터의 각 비트에 대한 PWM/맨체스터 인코딩은 필요한 변조된 패턴을 달성하기 위해 보 레이트(baud rate), 비트들의 수 및 상기 데이터를 조정함으로써 에뮬레이트되는, 동기식 직렬 주변 디바이스.
  13. 제 1 항 내지 제 12 항 중 어느 한 항에 있어서,
    슬레이브 제어 입력부를 더 포함하는 동기식 직렬 주변 디바이스.
  14. 제 1 항 내지 제 13 항 중 어느 한 항에 있어서,
    별개의 데이터 입력 및 데이터 출력 라인들을 더 포함하는 동기식 직렬 주변 디바이스.
  15. 제 1 항 내지 제 14 항 중 어느 한 항에 따른 동기식 직렬 주변 디바이스를 포함하는 마이크로컨트롤러.
  16. 동기식 직렬 주변 디바이스를 동작시키는 방법으로서,
    제 1 송신 모드로 동작하도록 상기 동기식 직렬 주변 디바이스를 구성하는 단계;
    송신 비트 폭을 8 비트 미만의 길이로 설정하는 단계; 및
    데이터를 전송 버퍼로 이동시키는 단계를 포함하고,
    마스터 모드에서는 상기 데이터 수신시, 상기 동기식 직렬 주변 디바이스가 데이터 라인 상에 데이터를 송신하고 클록 라인 상에 관련 클록 신호를 송신하고, 다수의 8 비트 미만의 비트들이 상기 데이터 라인 상에 송신되고, 다수의 8 미만의 클록 펄스들이 상기 클록 라인 상에 송신되는, 방법.
  17. 제 16 항에 있어서,
    슬레이브 모드에서는, 상기 동기식 주변 디바이스가 클록 라인에서 상기 마스터로부터의 클록 신호 수신시 데이터 라인 상에 데이터를 송신하는, 방법.
  18. 제 16 항 또는 제 17 항에 있어서,
    제 2 송신 모드로 동작하도록 상기 동기식 직렬 주변 디바이스를 구성하는 단계;
    다수의 8-비트 워드들 및 비트 폭을 8 비트 미만의 길이로 설정하는 단계; 및
    데이터를 송신 FIFO 메모리로 이동시키는 단계를 더 포함하고,
    트리거 수신시, 상기 동기식 직렬 주변 디바이스는 상기 송신 FIFO 메모리로부터의 복수의 8-비트 워드들에 뒤따라 이어지는 8 비트 미만인 것으로 정의될 수 있는 데이터 길이를 갖는 단일 데이터 송신 워드를 송신하는, 방법.
  19. 제 18 항에 있어서,
    구성 레지스터 내의 단일 비트는 상기 제 1 동작 모드 또는 상기 제 2 동작 모드가 활성 상태인지를 결정하는, 방법.
  20. 제 18 항 또는 제 19 항에 있어서,
    제어 레지스터에 비트를 설정하는 것은 상기 트리거를 생성하는, 방법.
  21. 제 18 항에 있어서,
    상기 제 1 동작 모드에 있을 때에는, 상기 송신 비트 폭을 갖는 데이터 워드를 수신하는 것, 및
    상기 제 2 동작 모드에 있을 때에는, 상기 다수의 8-비트 워드들 및 8 비트 미만의 길이를 갖는 최종 워드를 수신하는 것을 더 포함하고,
    각각의 수신된 워드는 수신 FIFO 메모리로 전송되는, 방법.
  22. 제 16 항 내지 제 21 항 중 어느 한 항에 있어서,
    상기 제 1 동작 모드에서는 구성 레지스터 내의 복수의 비트들이 상기 데이터 길이를 결정하는, 방법.
  23. 제 18 항 내지 제 22 항 중 어느 한 항에 있어서,
    상기 제 1 동작 모드에서는 제 1 개수의 특수 기능 레지스터 비트들이 상기 데이터 길이를 결정하고,
    상기 제 2 동작 모드에서는 제 2 개수의 특수 기능 레지스터 비트들이 연속적인 8 비트 워드들의 수를 결정하고 상기 제 1 개수의 특수 기능 레지스터 비트들은 상기 단일 데이터 송신 워드의 비트들의 수를 결정하는, 방법.
  24. 제 16 항 내지 제 24 항 중 어느 한 항에 있어서,
    데이터의 각 비트에 대한 PWM/맨체스터 인코딩은 필요한 변조된 패턴을 달성하기 위해 보 레이트, 비트들의 수 및 상기 데이터를 조정함으로써 에뮬레이트되는, 방법.
KR1020187000736A 2015-07-15 2016-07-14 8 비트 미만의 바이트들 및 가변 패킷 크기를 갖는 spi 인터페이스 KR20180030511A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562192773P 2015-07-15 2015-07-15
US62/192,773 2015-07-15
US15/209,467 US20170017584A1 (en) 2015-07-15 2016-07-13 SPI Interface With Less-Than-8-Bit Bytes And Variable Packet Size
US15/209,467 2016-07-13
PCT/US2016/042196 WO2017011621A1 (en) 2015-07-15 2016-07-14 Spi interface with less-than-8-bit bytes and variable packet size

Publications (1)

Publication Number Publication Date
KR20180030511A true KR20180030511A (ko) 2018-03-23

Family

ID=56550385

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187000736A KR20180030511A (ko) 2015-07-15 2016-07-14 8 비트 미만의 바이트들 및 가변 패킷 크기를 갖는 spi 인터페이스

Country Status (6)

Country Link
US (1) US20170017584A1 (ko)
EP (1) EP3323051B1 (ko)
KR (1) KR20180030511A (ko)
CN (1) CN107710184B (ko)
TW (1) TW201717033A (ko)
WO (1) WO2017011621A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2539445A (en) * 2015-06-16 2016-12-21 Nordic Semiconductor Asa Data processing
US10490238B2 (en) * 2017-06-29 2019-11-26 SK Hynix Inc. Serializer and memory device including the same
IT201800002767A1 (it) * 2018-02-16 2019-08-16 St Microelectronics Srl Circuito per il pilotaggio di led, dispositivo e procedimento corrispondenti
CN110471865B (zh) * 2019-08-15 2021-04-02 绵阳市维博电子有限责任公司 一种模拟spi通信实现控制器与驱动器通信的方法
CN112445742A (zh) * 2019-09-04 2021-03-05 北京君正集成电路股份有限公司 一种地址宽度自动识别的方法
CN111625487B (zh) * 2020-04-17 2024-05-31 惠州市德赛西威汽车电子股份有限公司 一种spi通信系统及其通信方法
CN113204507A (zh) * 2021-04-25 2021-08-03 山东英信计算机技术有限公司 一种通用输入输出数据传输方法、装置、设备及介质
CN114036088A (zh) * 2021-11-16 2022-02-11 深圳市创成微电子有限公司 一种dsp数据存储控制架构和方法
TWI818834B (zh) * 2022-12-16 2023-10-11 新唐科技股份有限公司 微控制器及應用其之序列周邊介面系統

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4809232A (en) * 1986-12-16 1989-02-28 The United States Of America As Represented By The United States Department Of Energy High speed, very large (8 megabyte) first in/first out buffer memory (FIFO)
EP0423979B1 (en) * 1989-10-20 1997-07-09 Sony Corporation High definition video signal recording systems
US6324120B2 (en) * 1990-04-18 2001-11-27 Rambus Inc. Memory device having a variable data output length
US5673396A (en) * 1994-12-16 1997-09-30 Motorola, Inc. Adjustable depth/width FIFO buffer for variable width data transfers
US6279052B1 (en) * 1998-01-13 2001-08-21 Intel Corporation Dynamic sizing of FIFOs and packets in high speed serial bus applications
FR2775091B1 (fr) * 1998-02-16 2000-04-28 Matra Communication Procede de transfert de donnees en serie, et interface de bus serie synchrone mettant en oeuvre un tel procede
US6169501B1 (en) * 1998-09-23 2001-01-02 National Instruments Corp. Adjustable serial-to-parallel or parallel-to-serial converter
CN1895899A (zh) * 1999-10-04 2007-01-17 精工爱普生株式会社 喷墨式记录装置、半导体装置及记录头装置
US6577649B1 (en) * 1999-11-12 2003-06-10 International Business Machines Corporation Multiplexer for asynchronous data
AU2001282098A1 (en) * 2000-08-25 2002-03-04 Koninklijke Philips Electronics N.V. Method and apparatus for reducing the word length of a digital input signal and method and apparatus for recovering the digital input signal
US6959316B2 (en) * 2001-02-01 2005-10-25 Nokia Mobile Phones Limited Dynamically configurable processor
US7220908B2 (en) * 2002-09-12 2007-05-22 Yamaha Corporation Waveform processing apparatus with versatile data bus
US7379467B1 (en) * 2003-05-08 2008-05-27 Cypress Semiconductor Corporation Scheduling store-forwarding of back-to-back multi-channel packet fragments
US7315549B2 (en) * 2003-07-24 2008-01-01 Intel Corporation Formatting data for a buffer
JP4356984B2 (ja) * 2004-02-24 2009-11-04 株式会社デンソー 車載センサデータ伝送装置
CN100531221C (zh) * 2004-07-27 2009-08-19 邓里文 一种用于因特网与准同步数字体系融合的适配方法
US7430624B2 (en) * 2005-10-04 2008-09-30 International Business Machines Corporation High speed on-chip serial link apparatus and method
US20080005434A1 (en) * 2006-06-02 2008-01-03 Macronix International Co., Ltd. Method and Apparatus for Communicating Data Over Multiple Pins of A Multi-Mode Bus
JP5108261B2 (ja) * 2006-07-11 2012-12-26 株式会社リコー 情報処理装置およびデータ通信装置
TW200839530A (en) * 2007-03-20 2008-10-01 Via Tech Inc Dynamic switching between multiplexed interfaces LPC and SPI
US7984177B2 (en) * 2007-04-30 2011-07-19 Vixs Systems, Inc. Multimedia client/server system with adjustable packet size and methods for use therewith
US8060681B2 (en) * 2007-11-27 2011-11-15 Microsoft Corporation Interface protocol and API for a wireless transceiver
US20090310489A1 (en) * 2008-06-17 2009-12-17 Bennett Andrew M Methods and apparatus using a serial data interface to transmit/receive data corresponding to each of a plurality of logical data streams
US9250299B1 (en) * 2009-08-28 2016-02-02 Cypress Semiconductor Corporation Universal industrial analog input interface
US8135881B1 (en) * 2010-09-27 2012-03-13 Skyworks Solutions, Inc. Dynamically configurable serial data communication interface
US8631265B2 (en) * 2010-12-13 2014-01-14 Oracle International Corporation Synchronization circuit that facilitates multiple parallel reads and writes
CN103324597B (zh) * 2012-03-23 2016-06-01 美国亚德诺半导体公司 在高速串行数字接口的通道之间平衡歪斜失真的方案
US8824535B2 (en) * 2012-05-22 2014-09-02 Blackberry Limited System and method for transmitting data through a digital interface
US9658971B2 (en) * 2013-09-11 2017-05-23 Nxp Usa, Inc. Universal SPI (serial peripheral interface)
CN103701663A (zh) * 2013-12-25 2014-04-02 北京航天测控技术有限公司 一种1553b总线程控故障注入装置
US9780938B2 (en) * 2015-06-25 2017-10-03 Intel IP Corporation Patch download with improved acknowledge mechanism

Also Published As

Publication number Publication date
US20170017584A1 (en) 2017-01-19
EP3323051B1 (en) 2023-03-29
WO2017011621A1 (en) 2017-01-19
CN107710184B (zh) 2021-12-03
EP3323051A1 (en) 2018-05-23
CN107710184A (zh) 2018-02-16
TW201717033A (zh) 2017-05-16

Similar Documents

Publication Publication Date Title
EP3323051B1 (en) Spi interface with less-than-8-bit bytes and variable packet size
CN107015927B (zh) 一种基于SoC支持多个SPI接口标准组的装置
US20220045922A1 (en) Slave-to-master data and out-of-sequence acknowledgements on a daisy-chained bus
US9842071B2 (en) Multi-channel I2S transmit control system and method
JP2019508915A (ja) メッセージングおよび入出力転送インターフェースのための最適レイテンシパケタイザ有限ステートマシン
JP6173340B2 (ja) バス上の複数のデータ線を介してデータを送るシステムおよび方法
KR20170110610A (ko) 시리얼 버스를 위한 수신 클록 캘리브레이션
US8943250B2 (en) Systems and methods for concatenating multiple devices
US20100272162A1 (en) Synchronous serial programmable interface
US20090070502A1 (en) Data Modification Module
CN105786741B (zh) 一种soc高速低功耗总线及转换方法
US8190793B2 (en) FIFO serial control device, semiconductor device, and serial data transfer method that indicates inclusion or non-inclusion of end data of serial data
US10503686B2 (en) SPI interface with automatic slave select generation
US10002090B2 (en) Method for improving the performance of synchronous serial interfaces
CN206757602U (zh) 一种基于SoC支持多个SPI接口标准组的装置
US20090063736A1 (en) Low power digital interface
KR20130111391A (ko) 프로그래밍 가능 하드웨어를 구성하기 위한 통신 시스템 및 그 방법
CN115563049A (zh) Spi发送模式赋值结构的实现方法
EP2320327A1 (en) A data transferring device
KR20160100363A (ko) 오직 수신기 클록에 의한 CCIe 수신기 로직 레지스터 기입
KR20050103102A (ko) 매스터 모드만을 갖는 에스피아이
ES2371711T3 (es) Estructura de bus escalable.
KR19990066427A (ko) 다중 비트 송수신기