CN111694771A - 串行外设接口主机 - Google Patents

串行外设接口主机 Download PDF

Info

Publication number
CN111694771A
CN111694771A CN202010169462.1A CN202010169462A CN111694771A CN 111694771 A CN111694771 A CN 111694771A CN 202010169462 A CN202010169462 A CN 202010169462A CN 111694771 A CN111694771 A CN 111694771A
Authority
CN
China
Prior art keywords
data
list
packet
time
spi
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN202010169462.1A
Other languages
English (en)
Other versions
CN111694771B (zh
Inventor
P·赞德
J·温内斯滕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Axis AB
Original Assignee
Axis AB
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 Axis AB filed Critical Axis AB
Publication of CN111694771A publication Critical patent/CN111694771A/zh
Application granted granted Critical
Publication of CN111694771B publication Critical patent/CN111694771B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/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/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/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
    • 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
    • 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

Abstract

公开了一种用于在数据通信和处理系统(100)中向外围设备传输数据的串行外设接口(SPI)主机(110)及其方法。SPI主机(110)包括存储器(111),该存储器包括分组列表,每个分组包括与时间参数相关联的数据,该时间参数指示数据将在何时被传输给外围设备。时间参数是可配置的。SPI主机还包括串行发送和接收单元(112),其用于在根据与列表中的数据相关联的时间参数的时间传输数据。

Description

串行外设接口主机
技术领域
本文的实施例涉及串行外设接口(SPI)主机。此外,它们涉及包括SPI主机的数据通信和处理系统。
背景技术
在数据通信和处理系统(例如视频监控系统、网络音频系统、无线通信系统、雷达系统等)中,多个外围电路(例如传感器、相机、视频单元、模数转换器(ADC)、数模转换器(DAC)、音频编解码器、电机控制设备等)通过主系统芯片中的中央处理单元(CPU)经由SPI协议来配置和控制。在某些应用程序中,外围电路需要实时地重新配置,其中只允许很小的时间窗口用于SPI命令。使用传统的中断驱动或者直接存储器访问(DMA)驱动的SPI,可能难以在正确的时间开始传输,以使其适合在所允许的时间窗口内。
通常,通过使用专用微控制器进行时间关键的SPI通信来解决该问题。但是,使用专用微控制器会增加成本。在US 6687769中,提供了一种改进的高性能缓冲方案,该高性能缓冲方案具有SPI以使基于微控制器的产品以及其它组件和设备能够实现更高的串行发送和接收数据速率。缓冲方案可提供高数据速率,而无需频繁的CPU轮询或高中断开销。缓冲方案配置有中断配置,用于识别数据何时准备好由CPU发送或读取。但是,这种软件控制非常复杂,并且不解决问题,即,使SPI传输恰好在期望的时间发生。
发明内容
鉴于以上内容,本文实施例的目的是提供一种用于在数据通信和处理系统中向外围设备传输数据的改进的方法和装置。
根据本文的实施例的一个方面,该目的通过一种用于在数据通信和处理系统中向外围设备传输数据的SPI主机来达到。SPI主机包括存储器,该存储器包括分组列表。每个分组包括与时间参数相关联的数据,该时间参数指示数据将在何时被传输给外围设备。该时间参数是可配置的。SPI主机还包括串行发送和接收单元,其用于在根据与该列表中的数据相关联的时间参数的时间传输该数据。
根据本文的实施例的一个方面,该目的通过一种在SPI主机中执行的用于在数据通信和处理系统中向外围设备传输数据的方法来达到。SPI主机包括存储器和串行发送和接收单元,该存储器包括分组列表。每个分组包括与时间参数相关联的数据,该时间参数指示数据将在何时被传输给外围设备。该时间参数是可配置的。SPI主机在根据与该列表中的数据相关联的时间参数的时间向外围设备传输该数据。
换句话说,根据本文的实施例的SPI主机具有内部存储器(例如随机存取存储器(RAM)),其中分组列表(即SPI传输)可排队然后在不同的明确定义的时间执行。根据本文的实施例的SPI主机具有在例如来自系统中的全局定时器的可配置绝对时间开始处理分组列表和SPI传输的能力,或者通过从数据通信和处理系统接收外部信号开始处理分组列表和传输的能力,或者在从数据通信和处理系统接收到起始信号(initiating signal)起等待可配置时间后开始处理分组列表和传输的能力。该列表可循环,以使得相同的SPI传输序列可重复可配置的次数。
根据本文的实施例的SPI主机可被实现为主系统芯片中的功能块。
即使在使用专用微控制器的情况下,与在软件控制下通常可实现的相比,根据本文实施例的SPI主机也提供对定时(timing)的更精确控制。由于定时主要在硬件中处理,因此根据本文实施例的在SPI主机中执行的方法不太复杂。SPI主机可被集成到主系统芯片中,并通过跳过外部微控制器组件来节省成本。
因此,本文的实施例提供了一种用于在数据通信和处理系统中向外围设备传输数据的改进的方法和装置。
附图说明
将参考附图更详细地描述实施例的示例,其中:
图1是示出在其中可实现根据本文实施例的SPI主机的数据通信和处理系统的示意性框图;
图2是示出根据本文的实施例的存储在存储器中的分组列表和数据分组的示例结构的示意性框图;
图3是示出雷达系统的示意性框图;
图4是示出根据本文实施例的雷达SPI主机的示意性框图;
图5是示出根据本文实施例的具有数据分组列表的线性调频信号(chirp signal)的示意图;
图6是示出根据本文实施例的分组头的示例结构的示意性框图;
图7是示出根据本文实施例的分组结构的示意图;以及
图8是示出根据本文实施例的在SPI主机中执行的方法的流程图。
具体实施方式
图1是示出在其中可实现根据本文实施例的SPI主机110的数据通信和处理系统100的示意性框图。
数据通信和处理系统100可以是以下中的任何一种:视频监控系统、网络音频系统、无线通信系统、雷达系统等。数据通信和处理系统100包括主系统芯片120。主系统芯片120包括CPU 122。数据通信和处理系统100还可包括一个或多个外围电路或设备PD1、PD2、PD3…,例如传感器、相机、视频单元、ADC、DAC、音频编解码器、电机等。外围设备PD1、PD2、PD3可位于或集成在主系统芯片120上,或者位于主系统芯片120的外部。
根据本文的实施例,SPI主机110包括存储器111,存储器111包括分组列表,每个分组包括与时间参数t1、t2、t3……相关联的数据D1、D2、D3……,该时间参数指示数据将在什么时间被传输给外围设备。时间参数是可配置的,并且被设置为确保外围设备中的特定事件在特定时间发生,因为它们是应用程序所要求的。该时间参数是可配置的,并且可基于用于外围设备的不同应用程序、操作模式、操作模式参数等来配置。
SPI主机110还包括串行发送和接收单元T/R 112,以与外围设备PD1、PD2、PD3进行通信。串行发送和接收单元T/R 112在根据与列表中的数据相关联的时间参数的时间将该数据传输给外围电路PD1、PD2、PD3。
SPI主机110可被实现为主系统芯片120中的功能块。CPU 122可与SPI主机110交互以控制一个或多个外围设备PD1、PD2、PD3的操作。
数据通信和处理系统100可进一步包括一个或多个RAM 124,用于存储其它数据或配置。
有多种方式来触发串行发送和接收单元112以开始处理分组列表并传输数据。
根据本文的一些实施例,SPI主机110可从数据通信和处理系统100接收信号Ext,并且该接收到的外部信号将触发串行发送和接收单元112以开始处理分组列表。
根据本文的一些实施例,串行发送和接收单元112可在从数据通信和处理系统接收到起始信号起等待可配置时间之后,开始处理分组列表。
根据本文的一些实施例,串行发送和接收单元112可在可配置的绝对时间开始处理分组列表,即,当具有绝对时间的定时器到期时,串行发送和接收单元112可开始处理分组列表。定时器可以是数据通信和处理系统100中的全局定时器,或称为全局定时器。
图2示出了根据本文实施例的存储在存储器111中的分组列表以及数据分组的示例结构。在每个数据分组中,除了参数时间(TIME)和数据(DATA)之外,它还可包括头(HEADER)。头指示要与哪个外围设备进行通信,还指示SPI协议的分组长度和操作模式。可存在多种SPI协议变体,并且SPI主机需要选择正确的模式以匹配外围设备。对于发送数据,该数据可直接在分组数据中,或者可以是指向单独数据区域(数据1)的指针(指针1),或两者都有。如果希望将分组分成到多个缓冲器中,可存在更多的数据指针,例如,指针2、数据2。
对于接收数据,可具有类似的情况。SPI主机可在分组数据本身中保留空间,或者可提供一个或多个指向单独数据区域的指针,或两者都有。根据本文的一些实施例,发送数据可直接在分组中,并且用于接收数据的指针指向单独的接收缓冲器。
根据本文的一些实施例,串行发送和接收单元112可以以循环结构传输分组列表中的数据,以使得该列表中的分组被重复可配置的次数,如图2所示。在每个循环之间,可存在等待触发器。但是,可不必在循环之间等待触发。
取决于用于不同外围设备的不同应用程序和配置,与每个分组中的数据相关联的时间参数可被不同地配置。
根据本文的一些实施例,与数据相关联的时间参数可以是绝对时间。
根据本文的一些实施例,与数据相关联的时间参数可以是相对时间。例如,当前分组的时间参数与上一个分组的开始或结束时间相关。
基本上,除了第一个分组的开始没有关系,当一个设备要与一些其它设备同时开始时,绝对时间非常有用。然后,将这两个设备配置为具有相同的开始时间,并等待直到该时间到达。在第一个分组之后,是优选相对还是绝对时间仅是个实现决策。
根据本文的一些实施例,可使用来自外围设备的事件信息来推导与数据相关联的时间参数。例如,如果SPI主机用于电机控制设备,则可取决于电机的类型读取例如速度、位置、电流、电压的信息。然后,基于来自电机的信息,计算将向电机发出命令的时间。
根据本文的一些实施例,至少用于第一个分组中的数据的时间参数基于从外围设备接收的触发信号来确定。例如,SPI主机可在开始曝光时从图像传感器或整个相机获取触发信号。然后,可在与曝光的开始有关的特定时间使用由SPI主机控制的电子闪光灯来发出一系列闪光。
根据本文的一些实施例,可使用从数据通信和处理系统100的某个其它部分(即不是从受控外围设备本身)传递的绝对时间来推导与数据相关联的时间参数。数据通信和处理系统100的该其它部分可控制一些其它外围设备,并且这两个动作必须同时或以已知的时间差生效。例如,在立体相机的情况下,有两个相机,并且在每个相机中,SPI主机110控制何时拍照。两个相机例如通过全球定位系统(GPS)或精确时间协议(PTP)(其是以太网的扩展)具有共同的绝对时间。两个相机的绝对开始时间相同,因此它们可以以同步方式开始拍照。
根据本文的一些实施例,可通过使用外围设备的操作模式参数来确定列表中的一个或多个时间参数。例如,可基于外围设备的操作模式参数来推导与第一个分组中的数据相关联的时间参数以及列表中的连续分组之间的时间差。
例如,为了控制雷达发射机,可使用操作模式参数(例如何时打开和关闭电源以在精确时间将发射机的功率电平和/或频率设置为特定值以形成正确的雷达波束等)来确定时间参数和/或列表中的连续分组之间的时间差。
另一示例可以是控制图像传感器,其中人们可能想要改变行之间或帧之间的消隐间隔中的增益或曝光时间。诸如消隐间隔、帧速率等的操作模式参数可用于确定时间参数和/或列表中的连续分组之间的时间差。
分组列表和与每个分组中的数据相关联的时间参数可由数据通信和处理系统100中的CPU 122预先确定或配置,并存储在SPI主机110的存储器111中。
根据本文的一些实施例,数据通信和处理系统100还可包括本地控制单元LCU123,并且分组列表以及与每个分组中的数据相关联的时间参数可由本地控制单元LCU 123预先确定或配置和设置。
根据本文的一些实施例,可通过添加延迟因子以考虑数据通信和处理系统100中的任何显著延迟来调整时间参数。延迟因子可以是可取决于SPI发送到的外围设备来以预定方式改变的可调整因子。例如,如果有两个外围设备在SPI总线上具有不同的时钟速度,则可给更快的设备增加延迟,并先开始向更慢的设备的传输,以便它们同时结束。
取决于不同的外围设备的不同应用程序和配置,分组列表中的数据可有所不同。外围设备可以是以下中的任何一种:雷达系统、图像传感器、音频编解码器、模数转换器、数模转换器、电机控制设备、相机或视频单元。
根据本文的一些实施例,至少一个分组中的数据可以是要被传输到外围设备的配置数据。
例如,对于相机,配置数据可对应于例如增益和曝光时间、光圈、光学稳像、变焦等。
对于雷达系统,雷达传输中的线性调频可被配置和控制。图3示出了包括一个或多个雷达的雷达系统300。每个雷达都有可能带锁相环(PLL)的发射机(Tx)、一个或多个接收机(Rx)和一个或多个ADC。例如,可具有多达4个雷达,但一次只运行2个。在4个雷达的情况下,每个雷达中可只有一个Rx和一个ADC。这意味着它可具有多达16个设备(即16个芯片)来选择和配置。
所有设备都需要经由SPI协议进行配置,但是只有Tx及其PLL(如果分开的话)需要运行时重新配置。
图4示出了根据本文一些实施例的用于雷达系统的SPI主机RSPI 400。RSPI 400包括内部存储器410和具有两个SPI端口的串行发送和接收单元T/X 420。串行发送和接收单元420具有一个或多个芯片选择输出引脚chip selects(即每个外围设备一个芯片选择输出引脚),以及6个输入/输出引脚(即2个时钟clk引脚、2个主输出/从输入(MOSI)mosi引脚和2个主输入/从输出(MISO)miso引脚。每个SPI端口都有其3个引脚clk、mosi和miso。图4中还示出了本地CPU LCPU 430和RSPI 400。
根据SPI协议,SPI总线允许在两条线路MOSI和MISO上同时发送和接收数据。时钟极性(CPOL)和时钟相位(CPHA)是定义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发射线性调频。线性调频是频率随时间增加或减少的信号。也就是说,发射频率呈斜坡(ramp)变化,如图5(a)所示。线性调频信号可以以帧为单位发送,每帧可包含两个或更多个斜坡。这可由SPI主机110中的分组列表配置和控制。
通常,需要多个分组来控制一个斜坡。例如,打开电源的分组、开始频率升高(ramping)的分组、停止频率升高的分组、关闭电源的分组等。所有这些分组都需要在正确的时间发送。图5(b)示出了用于一个斜坡的分组列表。在一帧中,用于一个斜坡的分组序列对于每个斜坡都重复。在一帧中,斜坡t1内的分组之间以及斜坡t2之间的定时非常关键,例如需要大约500ns的精度。此外,帧Ts的开始也必须在准确的时间。
如图5(b)所示,分组可在存储器410中以链接列表的形式被组织为一个循环。可重复该列表可配置的次数。更一般地,当列表结尾eol被经过可配置的次数时,传输处理将停止。每个循环可对应于一个或两个或更多个线性调频,但是存在如上所述针对每个线性调频发送的多个命令(即,分组)。帧中线性调频的数量通常对应于分组列表循环的次数。根据本文的一些实施例,例如如果需要两种交替类型的线性调频,可使分组列表更长,从而使其涵盖两个线性调频。
图6示出了分组头的示例结构。取决于所接收的数据是否被丢弃,头由两个或三个32比特字组成。头的字段在下面的表1中描述。
表1
Figure BDA0002408659070000091
Figure BDA0002408659070000101
分组t1之间的时间可在分组头中配置。时间t1可以以雷达时钟周期数为单位或使用内部时钟来计数。
可在寄存器中配置第一个分组的开始时间Ts。可从控制CPU(主CPU或LCPU)写该寄存器。将Ts与系统中的绝对时间定时器连续比较,并在它匹配时生成开始脉冲或触发信号。替代地,第一个分组可立即开始,或者在接收到外部触发信号之后开始。
分组长度、芯片选择、数据比特顺序等也可在分组头中配置。
还可在分组头中配置是否存储所接收的数据以及使用rec_addr配置在内部RAM中何处存储所接收的数据。
一个SPI分组可包含多个打包数据值,例如12比特值,如图7所示。这些值可能需要被填充为16比特或32比特,并重新排序以匹配雷达子系统的数据格式。填充和重新排序可在寄存器rw_mem_rd_cfg中进行配置。比特时钟频率可以是可配置的,例如从3.2kHz到50MHz。在此示例中,RSPI 400模块的时钟为400MHz,内部存储器410的大小为4K字节,即1K×32。
现在将参考图8描述在SPI主机110中执行的用于在数据通信和处理系统100中向外围设备传输数据的方法。如上所述,SPI主机110包括存储器111和串行发送和接收单元112,存储器111包括分组列表。每个分组包括与时间参数相关联的数据,该时间参数指示数据将在何时被传输给外围设备。该方法包括以下动作。
动作810
SPI主机110等待用于串行发送和接收单元112开始处理分组列表的触发信号。
触发信号可以是来自数据通信和处理系统100的外部信号。串行发送和接收单元112可在接收到外部信号之后开始处理分组列表。串行发送和接收单元112还可在从接收到外部信号起等待可配置时间之后开始处理分组列表。
触发信号也可以是具有可配置绝对时间的定时器,并且当定时器到期时,串行发送和接收单元112可开始处理分组列表。
动作820
串行发送和接收单元112开始处理分组列表,例如从存储器111中读出分组列表,从分组头中获取信息,该分组头包含分组的特定配置,例如开始时间、分组长度、比特顺序和CPHA模式、指向下一个分组的指针等。
动作830
串行发送和接收单元112检查与数据相关联的时间参数,并等待直到传输分组中的数据的时间。
动作840
串行发送和接收单元112在根据与分组列表中的数据相关联的时间参数的时间传输数据。串行发送和接收单元112继续处理分组列表,直到已经发送了所有分组。分组头中的pkt_irq字段用于在分组被完全处理后生成中断pkt。
串行发送和接收单元112可以以循环结构传输分组列表中的数据,以使得分组列表被重复可配置的次数。
串行发送和接收单元112可检查eol是否被经过了可配置的次数。eol是列表结尾标记。当具有此字段集的分组已被传输了rw_cnt中配置的次数时,分组列表的处理停止。
总而言之,根据实施例的SPI主机110、400及其中的方法具有一些优点。例如,它为外围设备的运行时期(run-time)配置提供了可能性,使得配置的传输适合在允许的时间窗口内。即使在使用专用微控制器的情况下,与使用软件控制的现有技术解决方案通常所实现的相比,它也提供了对定时的更精确控制。它提供了一种不太复杂的方法,因为定时主要在硬件中处理。通过集成到主系统芯片而不使用外部微控制器组件,可节省成本。
当使用词语“包括”或“包含”时,应将其解释为非限制性的,即意味着“至少由……组成”。
本文的实施例不限于上述优选实施例。可使用各种替代、修改和等同物。因此,以上实施例不应被视为限制本发明的范围,本发明的范围由所附权利要求书限定。

Claims (15)

1.一种用于在数据通信和处理系统(100)中向外围设备(PD1,PD2,PD3)传输数据的串行外设接口SPI主机(110,400),所述SPI主机包括:
包括分组列表的存储器(111,410),每个分组包括与时间参数相关联的数据,所述时间参数指示所述数据将在何时被传输给所述外围设备,其中,所述时间参数是可配置的;以及
串行发送和接收单元(112,420),其用于在根据与所述列表中的数据相关联的时间参数的时间传输所述数据。
2.根据权利要求1所述的SPI主机(110,400),其中,所述串行发送和接收单元(112,420)通过从所述数据通信和处理系统(100)接收到的外部信号来被触发以开始处理所述分组列表。
3.根据权利要求1所述的SPI主机(110,400),其中,所述串行发送和接收单元(112,420)在从所述数据通信和处理系统接收到起始信号起等待可配置时间后,开始处理所述分组列表。
4.根据权利要求1所述的SPI主机(110,400),其中,所述串行发送和接收单元(112,420)在可配置的绝对时间处开始处理所述分组列表。
5.根据权利要求1-4中的任一项所述的SPI主机(110,400),其中,所述串行发送和接收单元(112,420)以循环结构传输所述分组列表中的数据,以使得所述分组列表被重复可配置的次数。
6.根据权利要求1-5中的任一项所述的SPI主机(110,400),其中,与每个分组中的数据相关联的时间参数是绝对时间或相对时间。
7.根据权利要求1-6中的任一项所述的SPI主机(110,400),其中,使用来自所述外围设备的事件信息或触发信号来推导与所述数据相关联的至少一个时间参数。
8.根据权利要求1-7中任一项所述的SPI主机(110,400),其中,通过使用所述外围设备的操作模式参数来确定至少一个时间参数和/或所述列表中的连续分组之间的时间差。
9.根据权利要求1-8中的任一项所述的SPI主机(110,400),其中,至少一个分组中的数据是将要被传输到所述外围设备的配置数据。
10.根据权利要求1-9中的任一项所述的SPI主机(110,400),其中,所述外围设备是以下中的任何一个:雷达系统、图像传感器、音频编解码器、模数转换器、数模转换器、电机控制设备、相机、视频单元。
11.根据权利要求1-10中的任一项所述的SPI主机(110,400),其被实现为主系统芯片(120)中的功能块,所述主系统芯片包括用于控制一个或多个外围设备的操作的中央处理单元(122)。
12.一种数据通信和处理系统(100),包括根据权利要求1-11中的任一项所述的SPI主机(110,400)。
13.根据权利要求12所述的数据通信和处理系统(100),其是以下中的任何一个:视频监控系统、网络音频系统、雷达系统。
14.一种在SPI主机(110,400)中执行的用于在数据通信和处理系统(100)中向外围设备传输数据的方法,其中,所述SPI主机(110,400)包括存储器(111,410)以及串行发送和接收单元(112,420),所述存储器包括分组列表,其中,每个分组包括与时间参数相关联的数据,所述时间参数指示所述数据将在何时被传输给所述外围设备,所述方法包括:
等待(810)用于所述串行发送和接收单元(112,420)开始处理所述分组列表的触发信号;
处理(820)所述分组列表;
根据与所述数据相关联的所述时间参数检查(830)是否是传输数据分组的时间;以及
根据与所述数据相关联的所述时间参数在所述时间传输(840)所述数据分组。
15.根据权利要求14所述的方法,其中,所述串行发送和接收单元以循环结构传输所述分组列表中的数据,以使得所述分组列表被重复可配置的次数。
CN202010169462.1A 2019-03-13 2020-03-12 串行外设接口主机 Active CN111694771B (zh)

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
CN111694771A true CN111694771A (zh) 2020-09-22
CN111694771B CN111694771B (zh) 2021-12-21

Family

ID=65801980

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010169462.1A Active CN111694771B (zh) 2019-03-13 2020-03-12 串行外设接口主机

Country Status (6)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117520220A (zh) * 2024-01-08 2024-02-06 湖南恩智测控技术有限公司 自动更新数据方法、系统、装置及存储介质

Families Citing this family (1)

* 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

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0325219A2 (en) * 1988-01-19 1989-07-26 A.C. Nielsen Company Data collection and transmission system with real time clock
US20020039370A1 (en) * 2000-04-20 2002-04-04 Mark Elliot Precise network time transfer
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
CN102291272A (zh) * 2010-06-15 2011-12-21 Jds尤尼弗思公司 设备或网络的远程动态测试方法
CN202940827U (zh) * 2012-09-07 2013-05-15 北京旋极信息技术股份有限公司 一种航电全双工实时以太网数据预处理装置
US20170344451A1 (en) * 2016-05-31 2017-11-30 Bristol, Inc. Methods and apparatus to communicatively couple field devices to a remote terminal unit

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4148290B2 (ja) * 1997-04-01 2008-09-10 ソニー株式会社 信号処理回路
WO2001039339A1 (fr) * 1999-11-26 2001-05-31 The Furukawa Electric Co., Ltd. Fibre optique pour amplification optique
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
ITUB20151177A1 (it) * 2015-05-26 2016-11-26 St Microelectronics Srl Interfaccia auto-sincronizzante, dispositivo e procedimento corrispondenti
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 (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0325219A2 (en) * 1988-01-19 1989-07-26 A.C. Nielsen Company Data collection and transmission system with real time clock
US20020039370A1 (en) * 2000-04-20 2002-04-04 Mark Elliot Precise network time transfer
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
CN102291272A (zh) * 2010-06-15 2011-12-21 Jds尤尼弗思公司 设备或网络的远程动态测试方法
CN202940827U (zh) * 2012-09-07 2013-05-15 北京旋极信息技术股份有限公司 一种航电全双工实时以太网数据预处理装置
US20170344451A1 (en) * 2016-05-31 2017-11-30 Bristol, Inc. Methods and apparatus to communicatively couple field devices to a remote terminal unit

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117520220A (zh) * 2024-01-08 2024-02-06 湖南恩智测控技术有限公司 自动更新数据方法、系统、装置及存储介质
CN117520220B (zh) * 2024-01-08 2024-04-09 湖南恩智测控技术有限公司 自动更新数据方法、系统、装置及存储介质

Also Published As

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

Similar Documents

Publication Publication Date Title
KR102445344B1 (ko) 시리얼 버스를 위한 수신 클록 캘리브레이션
CN111694771B (zh) 串行外设接口主机
CN108351406A (zh) 用于可变啁啾雷达的缓冲器样本大小控制
KR20160107247A (ko) 대역-내 인터럽트를 이용한 카메라 제어 인터페이스 확장
US20120072629A1 (en) Communication system, master device and slave device, and communication method
US20090327548A1 (en) Scalable Bus Structure
US10762013B2 (en) Driver for network timing systems
US8051222B2 (en) Concatenating secure digital input output (SDIO) interface
US20200201808A1 (en) Time-division multiplexing (tdm) data transfer on serial interfaces
US9830280B2 (en) Multiple access single SDIO interface with multiple SDIO units
US10127172B2 (en) Single SDIO interface with multiple SDIO units
KR20150128658A (ko) 직렬 데이터 송신용 디더링 회로
US7957328B2 (en) Method and system for communicating to radio frequency integrated circuit
US9811485B2 (en) Single relay SDIO interface with multiple SDIO units
US10489319B2 (en) Automatic transmission of dummy bits in bus master
US11960434B2 (en) Communication device, communication system, and communication method for transmitting data blocks including signal groups conforming to a serial peripheral interface
US11789891B2 (en) Multi-device read protocol using a single device group read command
WO2022235928A1 (en) Multi-chip camera controller system with inter-chip communication
JPH0512203A (ja) バス性能測定システム
Figure et al. B ADSP-2191 DSP I/O REGISTERS
KR20020047962A (ko) 등시전송 효율을 높인 인터페이스 장치 및 방법
GB2232857A (en) A flag counter circuit
JPH03260755A (ja) 情報処理装置内の時刻同期化方式

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant