KR102307573B1 - 직렬 주변기기 인터페이스 마스터 - Google Patents

직렬 주변기기 인터페이스 마스터 Download PDF

Info

Publication number
KR102307573B1
KR102307573B1 KR1020200030770A KR20200030770A KR102307573B1 KR 102307573 B1 KR102307573 B1 KR 102307573B1 KR 1020200030770 A KR1020200030770 A KR 1020200030770A KR 20200030770 A KR20200030770 A KR 20200030770A KR 102307573 B1 KR102307573 B1 KR 102307573B1
Authority
KR
South Korea
Prior art keywords
data
time
packet
list
spi master
Prior art date
Application number
KR1020200030770A
Other languages
English (en)
Other versions
KR20200110219A (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 KR20200110219A publication Critical patent/KR20200110219A/ko
Application granted granted Critical
Publication of KR102307573B1 publication Critical patent/KR102307573B1/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
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
    • 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/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • 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/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/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/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9078Intermediate storage in different physical parts of a node or terminal using an external memory or storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Transfer Systems (AREA)

Abstract

데이터 통신 및 처리 시스템(100)에서 주변 디바이스로 데이터를 전송하기 위한 SPI(Serial Peripheral Interface) 마스터(110) 및 그 방법이 개시된다. SPI 마스터(110)는 패킷들의 리스트를 포함하는 메모리(111)를 포함하고, 각각의 패킷은 시간 파라미터와 연관된 데이터를 포함하며, 상기 시간 파라미터는 상기 데이터가 주변 디바이스로 전송되는 시간을 나타낸다. 상기 시간 파라미터는 구성 가능하다. SPI 마스터는 리스트 내의 데이터를 상기 데이터와 연관된 시간 파라미터에 따른 시간에 전송하기 위한 직렬 송수신 유닛(112)을 더 포함한다.

Description

직렬 주변기기 인터페이스 마스터{SERIAL PERIPHERAL INTERFACE MASTER}
본 명세서의 실시예들은 직렬 주변기기 인터페이스(Serial Peripheral Interface)(SPI) 마스터에 관한 것이다. 또한, 본 명세서의 실시예들은 SPI 마스터를 포함하는 데이터 통신 및 처리 시스템에 관한 것이다.
비디오 감시 시스템들, 네트워크 오디오 시스템들, 무선 통신 시스템들, 레이더 시스템들 등과 같은 데이터 통신 및 처리 시스템들에서, 센서들, 카메라들, 비디오 유닛들, 아날로그-디지털 변환기들(ADCs), 디지털-아날로그 변환기들(DACs), 오디오 코덱, 모터 제어 디바이스들 등과 같은 많은 주변기기 회로들은 메인 시스템 칩에서의 중앙 처리 장치(CPU)에 의해 SPI 프로토콜을 통해 구성 및 제어된다. 일부 애플리케이션들에서는, 주변기기 회로들은 실시간으로 재구성되어야 할 필요가 있으며, SPI 명령들에 대해 단지 작은 시간 창(time windows)만이 허용된다. 기존의 인터럽트 구동 또는 직접 메모리 액세스(DMA) 구동 SPI에서는, 정확한 시간에 전송을 시작해서 허용된 시간 창 내에 맞추도록 하는 것이 어려울 수 있다.
대체로, 이러한 문제는 시간이 중요한 SPI 통신에 대해 전용 마이크로컨트롤러를 사용함으로써 해결된다. 그러나, 전용 마이크로컨트롤러를 사용하는 것은 비용을 증가시킬 것이다. US 6687769에서, 마이크로컨트롤러 기반 제품들 및 다른 구성요소들 및 디바이스들이 더 높은 직렬 송신 및 수신 데이터 속도를 달성할 수 있도록 SPI와 함께 향상된 고성능 버퍼링 체계가 제공된다. 상기 버퍼링 체계는 빈번한 CPU 폴링이나 높은 인터럽트 오버헤드 없이 높은 데이터 속도를 제공할 수 있다. 상기 버퍼링 체계는 데이터가 언제 CPU에 의해 전송하거나 판독할 준비가 되었는지를 식별하기 위한 인터럽트 구성으로 구성된다. 그러나, 이러한 소프트웨어 제어는 상당히 복잡하며, 상기한 문제, 즉 SPI 전송이 정확히 원하는 시간에 일어나도록 하는 것을 해결하지 못한다.
상기에 비추어, 본 명세서의 실시예들의 목적은 데이터 통신 및 처리 시스템에서 데이터를 주변 디바이스로 전송하기 위한 개선된 방법 및 장치를 제공하는 것이다.
본 명세서의 실시예들의 일 양상에 따르면, 상기 목적은 데이터 통신 및 처리 시스템에서 데이터를 주변기기로 전송하기 위한 SPI 마스터에 의해 달성된다. SPI 마스터는 패킷들의 리스트를 포함하는 메모리를 포함한다. 각각의 패킷은 시간 파라미터와 연관된 데이터를 포함하며, 상기 시간 파라미터는 상기 데이터가 주변 디바이스로 전송되는 시간을 나타낸다. 상기 시간 파라미터는 구성 가능하다. 상기 SPI 마스터는 리스트 내의 데이터를 상기 데이터와 연관된 시간 파라미터에 따른 시간에 전송하기 위한 직렬 송수신 유닛을 더 포함한다.
본 명세서의 실시예들의 일 양상에 따르면, 상기 목적은 데이터 통신 및 프로세싱 시스템에서 데이터를 주변기기로 전송하기 위해 SPI 마스터에서 수행되는 방법에 의해 달성된다. SPI 마스터는 패킷들의 리스트을 포함하는 메모리 및 직렬 송수신 유닛를 포함한다. 각각의 패킷은 시간 파라미터와 연관된 데이터를 포함하며, 상기 시간 파라미터는 상기 데이터가 주변기기로 전송되는 시간을 나타낸다. 상기 시간 파라미터는 구성 가능하다. SPI 마스터는 상기 리스트 내의 데이터를 상기 데이터와 연관된 시간 파라미터에 따른 시간에 상기 주변 디바이스로 전송한다.
다시 말해서, 본 명세서의 실시예들에 따른 SPI 마스터는 내부 메모리, 예를 들어 랜덤 액세스 메모리(RAM)를 가지며, 여기서 패킷들의 리스트, 즉 SPI 전송들이 큐잉된(queued up) 다음 상이한 잘 정의된 시간들에 수행될 수 있다. 본 명세서의 실시예들에 따른 SPI 마스터는, 예를 들어 시스템 내의 글로벌 타이머(global timer)로부터의 구성 가능한 절대 시간에 패킷 리스트의 처리 및 SPI 전송을 시작하거나, 상기 데이터 통신 및 처리 시스템으로부터 외부 신호를 수신함으로써 패킷 리스트의 처리 및 전송 시작하거나, 또는 상기 데이터 통신 및 처리 시스템으로부터 개시 신호를 수신하고서 구성 가능한 시간을 기다린 후 패킷 리스트의 처리 및 전송을 시작하는 능력을 갖는다. 동일한 SPI 전송 시퀀스가 구성 가능한 횟수만큼 반복될 수 있도록 상기 리스트가 루프될(looped) 수 있다.
본 명세서의 실시예들에 따른 SPI 마스터는 메인 시스템 칩에서의 기능 블록으로서 구현될 수 있다.
본 명세서의 실시예들에 따른 SPI 마스터는 전용 마이크로컨트롤러를 갖는 경우에서도 소프트웨어 제어로 통상 달성될 수 있는 것보다 타이밍에 대해 보다 정확한 제어를 제공한다. 본 명세서의 실시예들에 따라 SPI 마스터에서 수행되는 방법은 타이밍이 대부분 하드웨어에서 처리되기 때문에 덜 복잡하다. SPI 마스터는 메인 시스템 칩에 통합될 수 있으며, 외부 마이크로컨트롤러 구성요소를 생략함으로써 비용을 절약할 수 있다.
따라서, 본 명세서의 실시예들은 데이터 통신 및 처리 시스템에서 데이터를 주변 디바이스로 전송하기 위한 개선된 방법 및 장치를 제공하는 것이다.
실시예들의 예들은 첨부 도면들을 참조하여 보다 상세히 설명될 것이다:
도 1은 본 명세서의 실시예들에 따라 SPI 마스터가 구현될 수 있는 데이터 통신 및 처리 시스템을 도시하는 개략적 인 블록도이다.
도 2는 본 명세서의 실시예들에 따라 메모리에 저장된 패킷들의 리스트 및 데이터 패킷의 예시적인 구조를 도시한 개략적인 블록도이다.
도 3은 레이더 시스템을 도시한 개략적인 블록도이다.
도 4는 본 명세서의 실시예들에 따른 레이더 SPI 마스터를 도시한 개략적인 블록도이다.
도 5는 본 명세서의 실시예들에 따른 데이터 패킷들의 리스트를 갖는 처프 신호를 도시한 개략도이다.
도 6은 본 명세서의 실시예들에 따른 패킷 헤드에 대한 예시적인 구조를 도시한 개략적인 블록도이다.
도 7은 본 명세서의 실시예들에 따른 패킷 구조를 도시하는 개략도이다.
도 8은 본 명세서의 실시예들에 따라 SPI 마스터에서 수행되는 방법을 도시한 흐름도이다.
도 1은 본 명세서의 실시예들에 따라 SPI 마스터(110)가 구현될 수 있는 데이터 통신 및 처리 시스템(100)을 도시하는 개략적 인 블록도이다.
데이터 통신 및 처리 시스템(100)은 비디오 감시 시스템, 네트워크 오디오 시스템, 무선 통신 시스템, 레이더 시스템 등 중 어느 하나일 수 있다. 데이터 통신 및 처리 시스템(100)은 메인 시스템 칩(120)을 포함한다. 메인 시스템 칩(120)은 CPU(122)를 포함한다. 데이터 통신 및 처리 시스템(100)은 센서들, 카메라들, 비디오 유닛들, ADC들, DAC들, 오디오 코덱, 모터들 등과 같은 하나 이상의 주변기기 회로들 또는 디바이스들(PD1, PD2, PD3…)을 더 포함할 수 있다. 주변 디바이스들(PD1, PD2, PD3)은 메인 시스템 칩(120) 상에 위치되거나 통합될 수 있고, 또는 메인 시스템 칩(120) 외부에 위치될 수 있다.
본 명세서의 실시예들에 따라, SPI 마스터(110)는 패킷들의 리스트를 포함하는 메모리(111)를 포함하고, 각각의 패킷은 시간 파라미터(t1, t2, t3,...)와 연관된 데이터(D1, D2, D3,…)를 포함하며, 상기 시간 파라미터는 상기 데이터가 주변 디바이스로 전송되는 시간을 나타낸다. 시간 파라미터는 구성 가능하며, 주변 디바이스들에서의 특정 이벤트들이 애플리케이션들에 의한 필요성 때문에 특정 시간들에 일어나는 것을 확실하게 하도록 설정된다. 시간 파라미터는 구성 가능하며, 주변 디바이스에 대한 상이한 애플리케이션들, 동작 모드, 동작 모드 파라미터들 등에 기초하여 구성될 수 있다.
SPI 마스터(110)는 또한 주변 디바이스들(PD1, PD2, PD3)과 통신하기 위한 직렬 송수신 유닛 T/R(112)을 포함한다. 직렬 송수신 유닛 T/R(112)은 리스트 내의 데이터를 상기 데이터와 연관된 시간 파라미터에 따른 시간에 주변기기 회로들(PD1, PD2, PD3)로 전송한다.
SPI 마스터(110)는 메인 시스템 칩(120)에서 기능 블록으로서 구현될 수 있다. CPU(122)는 하나 이상의 주변 디바이스들(PD1, PD2, PD3)의 동작들을 제어하기 위해 SPA 마스터(110)와 상호 작용할 수 있다.
데이터 통신 및 처리 시스템(100)은 또한 다른 데이터 또는 구성들을 저장하기 위한 하나 이상의 RAM(124)을 포함할 수 있다.
패킷들의 리스트를 처리를 시작하고 데이터를 전송하기 위해 직렬 송수신 유닛(112)을 트리거하는 몇 가지 방법들이 있다.
본 명세서의 일부 실시예들에 따라, SPI 마스터(110)는 데이터 통신 및 처리 시스템(100)으로부터 신호 Ext를 수신할 수 있고, 이러한 수신된 외부 신호는 패킷 리스트의 처리를 시작하도록 직렬 송수신 유닛(112)을 트리거할 것이다.
본 명세서의 일부 실시예들에 따라, 직렬 송수신 유닛(112)은 데이터 통신 및 처리 시스템으로부터 개시 신호를 수신하고서 구성 가능한 시간을 기다린 후에 패킷 리스트의 처리를 시작할 수 있다.
본 명세서의 일부 실시예들에 따라, 직렬 송수신 유닛(112)은 구성 가능한 절대 시간에 패킷 리스트를 처리하기 시작할 수 있다. 즉, 직렬 송수신 유닛(112)은 절대 시간을 갖는 타이머가 만료될 때 패킷 리스트의 처리를 시작할 수 있다. 상기 타이머는 데이터 통신 및 처리 시스템(100) 내의 글로벌 타이머일 수 있거나 글로벌 타이머를 참조할 수도 있다.
도 2는 본 명세서의 실시예들에 따라 메모리(111)에 저장된 패킷들의 리스트 및 데이터 패킷의 예시적인 구조를 도시한다. 각각의 데이터 패킷에서, 파라미터들인 시간(TIME) 및 데이터(DATA) 외에, 헤더(HEADER)를 포함할 수 있다. 헤더는 통신할 주변 디바이스뿐만 아니라, 패킷 길이 및 SPI 프로토콜의 작동 모드를 나타낸다. 여러 가지의 SPI 프로토콜 변형들이 있을 수 있으며, SPI 마스터는 주변 디바이스에 맞는 올바른 모드를 선택해야 한다. 전송 데이터의 경우, 데이터는 패킷 DATA에 직접 존재할 수 있거나 또는 별도의 데이터 영역 DATA1에 대한 포인터 POINTER1가 존재할 수 있거나, 또는 둘 모두가 될 수 있다. 상기 패킷을 여러 버퍼들로 분할하기를 원하는 경우, POINTER2, DATA2와 같은 더 많은 데이터 포인터들이 있을 수 있다.
수신 데이터의 경우, 유사한 상황을 갖게 될 수 있다. SPI 마스터는 패킷 데이터 자체에 공간을 남겨 두거나 데이터 영역을 분리하기 위해 하나 이상의 포인터들을 제공할 수 있거나, 또는 둘 다를 할 수 있다. 본 명세서의 일부 실시예들에 따라, 전송 데이터는 패킷 내에 직접 존재할 수 있고, 별도의 수신 버퍼에 대한 수신 데이터를 위한 포인터가 있을 수 있다.
본 명세서의 일부 실시예들에 따라, 직렬 송수신 유닛(112)은 도 2에 도시된 바와 같이, 패킷 리스트 내의 패킷들이 구성 가능한 횟수 동안 반복되도록, 패킷 리스트 내의 데이터를 루프 구조(loop structure)로 전송할 수 있다. 각각의 루프 사이에, 대기 트리거(wait trigger)가 있을 수 있다. 그러나, 루프들 사이에 트리거를 기다릴 필요가 없을 수도 있다.
다른 주변 디바이스들에 대한 다른 애플리케이션들 및 구성들에 따라, 각 패킷 내의 데이터와 연관된 시간 파라미터가 다르게 구성될 수 있다.
본 명세서의 일부 실시예들에 따라, 데이터와 연관된 시간 파라미터는 절대 시간일 수 있다.
본 명세서의 일부 실시예들에 따라, 데이터와 연관된 시간 파라미터는 상대 시간일 수 있다. 예를 들어, 현재 패킷의 시간 파라미터는 이전 패킷의 시작 또는 종료 시간에 상대적이다.
기본적으로 제 1 패킷의 시작을 제외하고는 중요하지 않으며, 여기서 한 디바이스가 일부 다른 디바이스들과 동시에 시작하려고 할 때 절대 시간이 유용하다. 그 때 두 디바이스들은 동일한 시작 시간을 갖도록 구성되고, 그 시간이 도래할 때까지 기다린다. 제 1 패킷 이후, 상대 시간 또는 절대 시간이 선호되는지에 대한 실행 결정만이 있을 뿐이다.
본 명세서의 일부 실시예들에 따라, 데이터와 연관된 시간 파라미터는 주변 디바이스로부터의 이벤트 정보를 사용하여 추론될 수 있다. 예를 들어, SPI 마스터가 모터 제어 디바이스 용인 경우, 예를 들어 모터 유형에 따라 속도, 위치, 전류, 전압과 같은 정보를 판독할 수 있다. 그런 다음 모터에 명령들을 전송하는 시간들이 모터로부터의 정보에 기초하여 계산된다.
본 명세서의 일부 실시예들에 따라, 제 1 패킷 내의 데이터에 대한 적어도 시간 파라미터는 주변 디바이스로부터 수신된 트리거 신호에 기초하여 결정된다. 예를 들어, SPI 마스터는 이미지 센서로부터 또는 노출이 시작될 때 전체 카메라로부터 트리거 신호를 얻을 수 있다. 그런 다음 노출의 시작과 관련된 특정 시간들에서 SPI 마스터에 의해 제어되는 전자 플래시로 일련의 플래시를 발광시킬(fire off) 수 있다.
본 명세서의 일부 실시예들에 따라, 데이터와 연관된 시간 파라미터는 데이터 통신 및 처리 시스템(100)의 일부 다른 부분으로부터, 즉 제어된 주변 디바이스 자체가 아닌 것으로부터 통신된 절대 시간을 사용하여 추론될 수 있다. 데이터 통신 및 처리 시스템(100)의 다른 부분은 일부 다른 주변 디바이스들을 제어할 수 있으며, 두 동작들은 동시에 또는 알려진 시간 차이를 갖고 시행할 필요가 있다. 예를 들어, 스테레오 카메라 경우에는 2 개의 카메라가 있으며, 각각의 카메라에서 SPI 마스터(110)가 사진을 촬영할 때를 제어한다. 두 카메라들은, 이더넷으로 확장되는 GPS(Global Positioning System) 또는 PTP(Precision Time Protocol)를 통해 공통의 절대 시간을 갖는다. 두 카메라들은 동일한 절대 시작 시간을 가지므로, 동기화된 방식으로 사진들의 촬영을 시작할 수 있다.
본 명세서의 일부 실시예들에 따라, 리스트 내의 하나 이상의 시간 파라미터들이 주변 디바이스의 동작 모드 파라미터들을 사용함으로써 결정될 수 있다. 예를 들어, 제 1 패킷 내의 데이터와 연관된 시간 파라미터 및 리스트 내의 연속적인 패킷들 사이의 시간 차이는 주변 디바이스의 동작 모드 파라미터들에 기초하여 추론될 수 있다.
예를 들어, 레이더 송신기를 제어하기 위해, 전원을 켜고 끄는 때, 정확한 레이더 빔을 형성하기 위해 정확한 시간에 송신기의 전력 레벨 및/또는 주파수를 특정 값으로 설정하는 것 등과 같은 동작 모드 파라미터들은, 상기 시간 파라미터들 및/또는 상기 리스트에서 연속적인 패킷들 사이의 시간 차이를 결정하는 데 사용될 수 있다.
또 다른 예는 라인들 사이 또는 프레임들 사이의 블랭킹 간격들에서 이득 또는 노출 시간을 변경하고자 하는 경우 이미지 센서를 제어하는 것일 수 있다. 블랭킹 간격, 프레임 레이트 등과 같은 동작 모드 파라미터들은 상기 시간 파라미터 및/또는 상기 리스트에서 연속적인 패킷들 사이의 시간 차이를 결정하는 데 사용될 수 있다.
패킷들의 리스트 및 각 패킷 내의 데이터와 연관된 시간 파라미터들은 데이터 통신 및 처리 시스템(100)에서 CPU(122)에 의해 미리 결정되거나 구성될 수 있고, SPI 마스터(110)의 메모리(111)에 저장될 수 있다.
본 명세서의 일부 실시예들에 따라, 데이터 통신 및 처리 시스템(100)은 로컬 제어 유닛 LCU(123)를 더 포함할 수 있으며, 패킷들의 리스트 및 각각의 패킷 내의 데이터와 연관된 시간 파라미터들은 로컬 제어 유닛 LCU(123)에 의해 미리 결정되거나 설정될 수 있다.
본 명세서의 일부 실시예들에 따라, 시간 파라미터는 데이터 통신 및 처리 시스템(100)에서 임의의 상당한 레이턴시를 고려하기 위해 레이턴시 팩터(latency factor)를 추가함으로써 조정될 수 있다. 레이턴시 팩터는 조정 가능한 팩터일 수 있고, 이는 SPI가 전송하는 주변 디바이스에 따라서 미리 결정된 방식으로 변경될 수 있다. 예를 들어, SPI 버스에 클록 속도가 다른 두 개의 주변 디바이스들이 있는 경우, 더 빠른 디바이스에 지연(delay)을 부가하고 더 느린 디바이스에 대해 전송을 먼저 시작함으로써, 이들이 동시에 끝날 수 있게 된다.
다른 주변 디바이스들에 대한 상이한 애플리케이션들 및 구성들에 따라, 패킷 리스트 내의 데이터는 상이할 수 있다. 주변 디바이스는 레이더 시스템, 이미지 센서, 오디오 코덱, 아날로그-디지털 변환기, 디지털-아날로그 변환기, 모터 제어 디바이스, 카메라 또는 비디오 유닛 중 어느 하나 일 수 있다.
본 명세서의 일부 실시예들에 따라, 적어도 하나의 패킷 내의 데이터는 주변 디바이스로 전송될 구성 데이터일 수 있다.
예를 들어 카메라의 경우, 구성 데이터는 예를 들어 이득 및 노출 시간, 애퍼처, 광학 이미지 안정화, 줌(zoom) 등에 대응할 수 있다.
레이더 시스템의 경우, 레이더 전송에서의 처프(chirp)가 구성 및 제어될 수 있다. 도 3은 하나 이상의 레이더들을 포함하는 레이더 시스템(300)을 도시한다. 각각의 레이더는 위상 고정 루프(PLL)를 갖게 되는 송신기(Tx), 하나 이상의 수신기(Rx) 및 하나 이상의 ADC들을 갖고 있다. 예를 들어, 최대 4 개의 레이더가 있을 수 있지만, 한 번에 2 개만 구동될 수 있다. 4-레이더의 경우, 각각의 레이더에는 하나의 Rx와 하나의 ADC 만이 있을 수 있다. 이러한 것은 최대 16 개의 디바이스들, 즉 선택하고 구성할 16 개의 칩들이 있을 수 있다는 것을 의미한다.
모든 디바이스들은 SPI 프로토콜을 통한 구성을 필요로 하지만, 분리된 경우, Tx와 그에 대한 PLL 만이 런타임 재구성을 필요로 한다.
도 4는 레이더 시스템에 대한 본 명세서의 일부 실시예들에 따른 SPI 마스터 RSPI(400)를 도시한다. RSPI(400)는 내부 메모리(410), 2 개의 SPI 포트들을 갖는 직렬 송수신 유닛 T/X(420)를 포함한다. 직렬 송수신 유닛(420)은 하나 이상의 칩 선택 출력 핀들(chip selects), 즉 주변 디바이스에 대한 하나의 칩 선택 출력 핀, 및 6 개의 입력/출력 핀들, 즉 2 개의 클록 clk 핀들, 2 개의 마스터 아웃/슬레이브 인(MOSI) mosi 핀들 및 2 개의 마스터 인/슬레이브 아웃(MISO) miso 핀들을 갖는다. 각각의 SPI 포트는 3 개의 핀들 clk, mosi, miso를 갖는다. 로컬 CPU(LCPU)(430)가 또한 RSPI 400과 함께 도 4에 도시되어 있다.
SPI 프로토콜에 따라, SPI 버스는 2 개의 라인들 MOSI 및 MISO에서 동시에 데이터를 송수신할 수 있다. CPOL(Clock Polarity) 및 CPHA(Clock Phase)는 SPI 버스에 의해 사용될 클록 포맷을 정의하는 메인 파라미터들이다.
다음은 RSPI 400의 레지스터들의 리스트이다.
rw_cfg 모듈 인에이블, 비트 클록 극성, 타이머 클록 소스, MOSI 핀 모드
rw_trig 트리거 입력 모드 및 핀 선택
rw_clk 비트 클록 주파수
rw_mem_wr_ptr 내부 메모리 기록들을 위한 어드레스
rw_mem_wr 내부 메모리에 기록, 각각의 기록마다 rw_mem_wr_ptr 증분
rw_head_wr 패킷 헤드를 기술하는 필드가 있는 rw_mem_wr에 대한 에일리어스
rw_rec_wr 패킷 헤드의 수신 어드레스 필드가 있는 rw_mem_wr에 대한 에일리어스
rw_mem_rd_cfg 내부 메모리 판독을 위한 어드레스 및 판독 패턴
rs_mem_rd 내부 메모리로부터의 판독, 각각의 판독은 rw_mem_rd_cfg를 업데이트
rw_first 리스트에서 첫 번째 패킷에 대한 어드레스
rw_cnt 리스트에 대한 루프 카운터
rw_time 리스트에 대한 시작 시간, 이중 버퍼링
rw_start 시작 명령
r_stat 상태 레지스터
r_intr... 인터럽트 레지스터들
rw_cs_cfg 칩 선택 극성, 별도의 범위, 두 포트들에 대해 공통
다음은 RSPI 400의 인터럽트들의 리스트이다.
rdy 새로운 시작 명령을 받을 준비가 된 SPI 포트
idle SPI 포트가 유휴
pkt pkt_irq 필드 셋을 갖는 패킷이 완료됨
eol eol 필드 셋을 갖는 패킷이 완료됨
레이더(300)는 처프들(chirps)을 전송한다. 처프는 시간에 따라 주파수가 증가하거나 감소하는 신호이다. 즉, 전송 주파수는 도 5의 (a)에 도시된 바와 같이 램프들(ramps)로 변경된다. 처프 신호는 프레임들로 보내질 수 있으며, 각각의 프레임은 2 개 이상의 램프들을 포함할 수 있다. 이러한 것은 SPI 마스터(110)에서 패킷들의 리스트에 의해 구성되고 제어될 수 있다.
전형적으로, 하나의 램프를 제어하는 데 필요한 몇 가지 패킷들이 있다. 예를 들어, 전원을 켜는 패킷, 주파수 램핑을 시작하는 패킷, 주파수 램핑을 중지하는 패킷, 전원을 끄는 패킷 등이 있다. 이러한 모든 패킷들은 정확한 시간들에 보내져야 한다. 도 5의 (b)는 하나의 램프에 대한 패킷들의 리스트를 도시한다. 하나의 램프에 대한 패킷들의 시퀀스는 프레임에서 각 램프에 대해 반복된다. 프레임에서 램프 t1 내의 패킷들 사이와 램프 t2 사이의 타이밍은 매우 중요하며, 즉, 약 500 ns의 정밀도가 필요한다. 또한, 프레임 Ts의 시작은 정확한 시간에 있어야 한다.
도 5의 (b)에 도시된 바와 같이, 패킷들은 메모리(410)에서 루프로서 링크된 리스트들로 조직될 수 있다. 상기 리스트는 구성 가능한 횟수 동안 반복될 수 있다. 보다 일반적으로, 구성 가능한 횟수 동안 리스트-끝(end-of-list) eol 이 통과할 때 전송 처리가 중지된다. 각각의 루프는 하나 또는 둘 이상의 처프들에 대응할 수 있지만, 전술한 바와 같이 각 처프에 대해 보내지는 몇몇의 명령들, 즉 패킷들이 존재한다. 프레임에서 처프들의 수는 일반적으로 패킷들의 리스트가 루프(loop)되는 횟수에 대응한다. 본 명세서의 일부 실시예들에 따라, 패킷들의 리스트는 예를 들어 2 개의 교번하는 유형들의 처프가 필요한 경우 2 개의 처프들을 커버하도록 더 길게 만들어 질 수 있다.
도 6은 패킷 헤더의 예시적인 구조를 도시한다. 헤더는 수신된 데이터의 폐기 여부에 따라 2 개 또는 3 개의 32 비트 워드들로 구성된다. 상기 헤더의 필드들은 다음의 표 1에 설명되어 있다.
Figure 112020026309691-pat00001
Figure 112020026309691-pat00002
패킷들 사이의 시간 t1은 패킷 헤드에서 구성될 수 있다. 시간 t1은 레이더 클록 사이클들의 수로 또는 내부 클록을 사용하여 카운트될 수 있다.
제 1 패킷에 대한 시작 시간 Ts는 레지스터에서 구성될 수 있다. 이러한 레지스터는 메인 CPU 또는 LCPU인 제어 CPU로부터 기록될 수 있다. Ts는 시스템에서 절대 시간 타이머와 지속적으로 비교되며, 일치할 때 시작 펄스 또는 트리거 신호가 생성된다. 대안적으로, 제 1 패킷이 즉시 또는 외부 트리거 신호를 수신한 후에 시작될 수 있다.
패킷 길이, 칩 선택, 다다 비트 순서 등도 또한 패킷 헤드에 구성될 수 있다.
수신된 데이터의 저장 여부와, rec_addr을 사용하여 내부 RAM의 어디에 저장할 것인지가 패킷 헤드에 또한 구성될 수도 있다.
하나의 SPI 패킷은 도 7에 도시된 바와 같이 여러 개의 패킷화된 데이터 값들, 예를 들어 12 비트 값들을 포함할 수 있다. 상기 값들은 16 비트 또는 32 비트로 패딩되고, 레이더 서브시스템의 데이터 포맷과 일치하도록 재정렬될 필요가 있을 수 있다. 패딩(padding) 및 재정렬(reordering)은 레지스터 rw_mem_rd_cfg에서 구성될 수 있다. 비트 클록 주파수는 예를 들어 3.2 kHz 내지 50 MHz 로 구성 가능하게 될 수 있다. 이 예에서, RSPI 400 모듈은 400 MHz 클록으로 클록되고, 내부 메모리(410) 크기는 4 kbyte, 즉 1 k × 32이다.
데이터 통신 및 처리 시스템(100)에서 주변 디바이스로 데이터를 전송하기 위해 SPI 마스터(110)에서 수행되는 방법이 이제 도 8을 참조하여 설명될 것이다. 상술된 바와 같이, SPI 마스터(110)는 패킷들의 리스트를 포함하는 메모리(111) 및 직렬 송수신 유닛(112)을 포함한다. 각각의 패킷은 시간 파라미터와 연관된 데이터를 포함하며, 상기 시간 파라미터는 상기 데이터가 주변 디바이스로 전송되는 시간을 나타낸다. 상기 방법은 다음과 같은 동작들을 포함한다.
동작 810
SPI 마스터(110)는 패킷 리스트의 처리를 시작하기 위해 직렬 송수신 유닛(112)에 대한 트리거 신호를 기다린다.
트리거 신호는 데이터 통신 및 처리 시스템(100)으로부터의 외부 신호일 수 있다. 직렬 송수신 유닛(112)은 외부 신호를 수신한 후 패킷 리스트를 처리하기 시작할 수 있다. 직렬 송수신 유닛(112)은 또한 외부 신호를 수신하고서 구성 가능한 시간을 기다린 후에 패킷 리스트를 처리하기 시작할 수 있다.
트리거 신호는 또한 구성 가능한 절대 시간을 갖는 타이머일 수 있으며, 직렬 송수신 유닛(112)은 타이머가 만료될 때 패킷 리스트를 처리하기 시작할 수 있다.
동작 820
직렬 송수신 유닛(112)은, 메모리(111)로부터 패킷들의 리스트를 판독하는 것, 시작 시간, 패킷 길이, 비트 순서 및 CPHA 모드, 다음 패킷에 대한 포인터 등과 같은 패킷에 대한 특정 구성들을 포함하는 패킷 헤더로부터 정보를 얻는 것과 같이, 패킷들의 리스트를 처리하기 시작한다.
동작 830
직렬 송수신 유닛(112)은 데이터와 연관된 시간 파라미터를 확인하고, 패킷의 데이터를 전송할 때까지 기다린다.
동작 840
직렬 송수신 유닛(112)은 패킷 리스트 내의 데이터를 상기 데이터와 연관된 시간 파라미터에 따른 시간에 전송한다. 직렬 송수신 유닛(112)은 모든 패킷들이 전송될 때까지 패킷 리스트를 계속 처리한다. 패킷 헤더의 pkt_irq 필드는 패킷이 완전히 처리될 때 인터럽트 pkt를 생성하는 데 사용된다.
직렬 송수신 유닛(112)은, 패킷들의 리스트가 구성 가능한 횟수 동안 반복되도록 루프 구조로 패킷 리스트 내의 데이터를 전송할 수 있다.
직렬 송수신 유닛(112)은 구성 가능한 횟수 동안 eol이 통과되는지를 확인할 수 있다. eol은 리스트-끝 마커(end-of-list marker)이다. rw_cnt에 구성된 횟수 동안 이러한 필드 셋이 있는 패킷이 전송될 때 패킷 리스트의 처리가 중지된다.
요약하면, 실시예들에 따른 SPI 마스터(110, 400) 및 그 방법은 몇 가지 장점들을 갖는다. 예를 들어, 주변 디바이스들에 대한 런-타임 구성들이 가능하므로, 구성들의 전송을 허용된 시간 창 내에 맞출 수 있다. 전용 마이크로컨트롤러를 사용하는 경우라 하더라도 소프트웨어 제어를 통해 종래의 솔루션들에 의해 일반적으로 달성될 수 있는 것보다 타이밍을 보다 정확하게 제어할 수 있다. 타이밍은 대부분 하드웨어에서 처리되므로 덜 복잡한 방법을 제공한다. 외부 마이크로컨트롤러 구성요소를 사용하지 않고서 메인 시스템 칩에 통합되어 비용을 절감한다.
"포함하다” 또는 "포함하는” 이라는 단어를 사용하는 경우, 이는 비-제한적, 즉 "적어도 ~으로 구성됨” 을 의미하는 것으로 해석되어야 한다.
본 명세서의 실시예들은 전술한 바람직한 실시예들로 한정되지 않는다. 다양한 대안, 수정 및 등가물들이 사용될 수 있다. 따라서, 상기 실시예들은 첨부된 청구 범위에 의해 정의된 본 발명의 범위를 제한하는 것으로 간주되어서는 안 된다.

Claims (15)

  1. 데이터 통신 및 처리 시스템(100)에서 주변 디바이스(PD1, PD2, PD3)로 데이터를 전송하기 위한 SPI(Serial Peripheral Interface) 마스터(110, 400)로서:
    패킷들의 리스트를 포함하는 메모리(111, 410)로서, 각각의 패킷은 시간 파라미터와 연관된 데이터를 포함하고, 상기 시간 파라미터는 상기 데이터가 상기 주변 디바이스로 전송되는 시간을 나타내며, 상기 시간 파라미터는 구성 가능하고, 상기 패킷들의 리스트에 포함된 하나 이상의 시간 파라미터는 상기 주변 디바이스의 동작 모드 파라미터들을 사용하여 결정되는, 상기 메모리(111, 410); 및
    상기 리스트 내의 데이터를 상기 데이터와 연관된 시간 파라미터에 따른 시간에 전송하는 직렬 송수신 유닛(112, 420)을 포함하는, SPI 마스터(110, 400).
  2. 제 1 항에 있어서, 상기 직렬 송수신 유닛(112, 420)은 상기 데이터 통신 및 처리 시스템(100)으로부터 수신된 외부 신호에 의해 패킷 리스트를 처리하기 시작하도록 트리거되는, SPI 마스터(110, 400).
  3. 제 1 항에 있어서, 상기 직렬 송수신 유닛(112, 420)은 상기 데이터 통신 및 처리 시스템으로부터 개시 신호를 수신하고서 구성 가능한 시간을 기다린 후에 패킷 리스트의 처리를 시작하는, SPI 마스터(110, 400).
  4. 제 1 항에 있어서, 상기 직렬 송수신 유닛(112, 420)은 구성 가능한 절대 시간에 상기 패킷 리스트를 처리하기 시작하는, SPI 마스터(110, 400).
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서, 상기 직렬 송수신 유닛(112, 420)은 패킷들의 리스트가 구성 가능한 횟수 동안 반복되도록 루프 구조(loop structure)로 상기 패킷 리스트 내의 데이터를 전송하는, SPI 마스터(110, 400).
  6. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서, 각 패킷의 데이터와 연관된 시간 파라미터는 절대 시간 또는 상대 시간인, SPI 마스터(110, 400).
  7. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서, 상기 데이터와 연관된 적어도 하나의 시간 파라미터는 상기 주변 디바이스로부터의 이벤트 정보 또는 트리거 신호를 사용하여 추론되는, SPI 마스터(110, 400).
  8. 삭제
  9. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서, 적어도 하나의 패킷의 데이터는 상기 주변 디바이스로 전송될 구성 데이터인, SPI 마스터(110, 400).
  10. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서, 상기 주변 디바이스는 레이더 시스템, 이미지 센서, 오디오 코덱, 아날로그-디지털 변환기, 디지털-아날로그 변환기, 모터 제어 디바이스, 카메라, 비디오 유닛 중 어느 하나인, SPI 마스터(110, 400).
  11. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서, 하나 이상의 주변 디바이스들의 동작들을 제어하기 위한 중앙 처리 장치(122)를 포함하는 메인 시스템 칩(120)에서 기능 블록으로서 구현되는, SPI 마스터(110, 400).
  12. 제 1 항 내지 제 4 항 중 어느 한 항에 따른 SPI 마스터(110, 400)를 포함하는 데이터 통신 및 처리 시스템(100).
  13. 제 12 항에 있어서, 비디오 감시 시스템, 네트워크 오디오 시스템, 레이더 시스템 중 어느 하나인, 데이터 통신 및 처리 시스템(100).
  14. 데이터 통신 및 처리 시스템(100)에서 주변 디바이스로 데이터를 전송하기 위해 SPI 마스터(110, 400)에서 수행되는 방법으로서,
    상기 SPI 마스터(110, 400)는 패킷들의 리스트를 포함하는 메모리(111, 410) 및 직렬 송수신 유닛(112, 420)을 포함하고, 각각의 패킷은 시간 파라미터와 연관된 데이터를 포함하고, 상기 시간 파라미터는 상기 데이터가 상기 주변 디바이스로 전송되는 시간을 나타내며, 상기 패킷들의 리스트에 포함된 하나 이상의 시간 파라미터는 상기 주변 디바이스의 동작 모드 파라미터들을 사용하여 결정되고, 상기 방법은 :
    상기 패킷 리스트의 처리를 시작하기 위해 상기 직렬 송수신 유닛(112, 420)에 대한 트리거 신호를 기다리는 단계(810);
    상기 패킷 리스트를 처리하는 단계(820);
    상기 데이터와 연관된 시간 파라미터에 따라 데이터 패킷을 전송할 시간인지를 확인하는 단계(830); 및
    상기 데이터와 연관된 시간 파라미터에 따른 시간에 상기 데이터 패킷들을 전송하는 단계(840)를 포함하는, 방법.
  15. 제 14 항에 있어서, 상기 직렬 송수신 유닛은 상기 패킷 리스트가 구성 가능한 횟수 동안 반복되도록 루프 구조로 상기 패킷 리스트 내의 데이터를 전송하는, 방법.
KR1020200030770A 2019-03-13 2020-03-12 직렬 주변기기 인터페이스 마스터 KR102307573B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19162494.9 2019-03-13
EP19162494.9A EP3709177B1 (en) 2019-03-13 2019-03-13 Serial peripheral interface master

Publications (2)

Publication Number Publication Date
KR20200110219A KR20200110219A (ko) 2020-09-23
KR102307573B1 true KR102307573B1 (ko) 2021-10-05

Family

ID=65801980

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200030770A KR102307573B1 (ko) 2019-03-13 2020-03-12 직렬 주변기기 인터페이스 마스터

Country Status (6)

Country Link
US (1) US10929333B2 (ko)
EP (1) EP3709177B1 (ko)
JP (1) JP6956219B2 (ko)
KR (1) KR102307573B1 (ko)
CN (1) CN111694771B (ko)
TW (1) TWI747176B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11860730B2 (en) 2021-12-06 2024-01-02 Waymo Llc Low-overhead, bidirectional error checking for a serial peripheral interface
CN117520220B (zh) * 2024-01-08 2024-04-09 湖南恩智测控技术有限公司 自动更新数据方法、系统、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020039370A1 (en) * 2000-04-20 2002-04-04 Mark Elliot Precise network time transfer
US20110305150A1 (en) * 2010-06-15 2011-12-15 Joe Haver Method of remote active testing of a device or network

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4943963A (en) * 1988-01-19 1990-07-24 A. C. Nielsen Company Data collection and transmission system with real time clock
JP4148290B2 (ja) * 1997-04-01 2008-09-10 ソニー株式会社 信号処理回路
EP1152502A1 (en) * 1999-11-26 2001-11-07 The Furukawa Electric Co., Ltd. Optical fiber for optical amplifying
US6687769B2 (en) 2001-03-16 2004-02-03 Texas Instruments Incorporated Serial peripheral interface with high performance buffering scheme
US7570078B1 (en) * 2006-06-02 2009-08-04 Lattice Semiconductor Corporation Programmable logic device providing serial peripheral interfaces
JP5113453B2 (ja) * 2007-08-24 2013-01-09 Juki株式会社 シリアル通信装置
WO2010008867A2 (en) * 2008-06-23 2010-01-21 Hart Communication Foundation Wireless communication network analyzer
JP5444911B2 (ja) * 2009-07-23 2014-03-19 富士通株式会社 送受信制御装置、電子機器、データ送信方法及び制御プログラム
US9438525B2 (en) * 2012-06-01 2016-09-06 Freescale Semiconductor, Inc. Scheduling module and method thereof
CN202940827U (zh) * 2012-09-07 2013-05-15 北京旋极信息技术股份有限公司 一种航电全双工实时以太网数据预处理装置
ITUB20151177A1 (it) * 2015-05-26 2016-11-26 St Microelectronics Srl Interfaccia auto-sincronizzante, dispositivo e procedimento corrispondenti
US10360125B2 (en) * 2016-05-31 2019-07-23 Bristol, Inc. Methods and apparatus to communicatively couple field devices to a remote terminal unit
US10713201B2 (en) * 2017-09-14 2020-07-14 Intel IP Corporation Apparatus, system and method of communicating over a media agnostic (MA) USB connection
CN108268414B (zh) * 2018-03-26 2023-07-21 福州大学 基于spi模式的sd卡驱动器及其控制方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020039370A1 (en) * 2000-04-20 2002-04-04 Mark Elliot Precise network time transfer
US20110305150A1 (en) * 2010-06-15 2011-12-15 Joe Haver Method of remote active testing of a device or network

Also Published As

Publication number Publication date
US10929333B2 (en) 2021-02-23
JP6956219B2 (ja) 2021-11-02
US20200293484A1 (en) 2020-09-17
TWI747176B (zh) 2021-11-21
EP3709177A1 (en) 2020-09-16
CN111694771A (zh) 2020-09-22
CN111694771B (zh) 2021-12-21
KR20200110219A (ko) 2020-09-23
EP3709177B1 (en) 2021-03-03
TW202101241A (zh) 2021-01-01
JP2020149692A (ja) 2020-09-17

Similar Documents

Publication Publication Date Title
KR102445344B1 (ko) 시리얼 버스를 위한 수신 클록 캘리브레이션
KR102307573B1 (ko) 직렬 주변기기 인터페이스 마스터
JPH0865334A (ja) マルチメディア通信装置及び方法
US20160274820A1 (en) Signal transfer device, information processing apparatus, signal transfer method, and non-transitory recording medium
US10762013B2 (en) Driver for network timing systems
US20090327533A1 (en) Concatenating Secure Digital Input Output (SDIO) Interface
US20200201808A1 (en) Time-division multiplexing (tdm) data transfer on serial interfaces
CN111343228B (zh) 用于异步通信系统的分布式时间同步协议
KR20150128658A (ko) 직렬 데이터 송신용 디더링 회로
KR20220045982A (ko) 데이터 패킷을 송신하는 방법, 및 이 방법을 실시하는 장치
US9118611B2 (en) Data synchronization for circuit resources without using a resource buffer
US11979659B2 (en) Multi-chip camera controller system with inter-chip communication
KR20160047484A (ko) 주변 장치들로부터 하나의 와이어로의 irq 라인들의 수를 최소화하는 방법
US10002090B2 (en) Method for improving the performance of synchronous serial interfaces
JPH0946361A (ja) シリアルデータ伝送装置及びその制御方法
US20040205284A1 (en) Systems and methods for interfacing legacy equipment to high-speed data buses
US10489319B2 (en) Automatic transmission of dummy bits in bus master
US20080320178A1 (en) DMA transfer apparatus
US20070198730A1 (en) Embedded system with a bus and arbitration method for same
KR20060112349A (ko) 에스오씨 버스 시스템 및 버스 데이터 처리방법
US11960434B2 (en) Communication device, communication system, and communication method for transmitting data blocks including signal groups conforming to a serial peripheral interface
WO2020230412A1 (ja) 情報処理装置
US7552253B2 (en) Systems and methods for determining size of a device buffer
WO2022235928A1 (en) Multi-chip camera controller system with inter-chip communication
JP3791433B2 (ja) システム、制御処理装置、およびシステム制御方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant