CN116303178A - 一种自适应spi接口装置及自适应时序校准方法 - Google Patents

一种自适应spi接口装置及自适应时序校准方法 Download PDF

Info

Publication number
CN116303178A
CN116303178A CN202310182601.8A CN202310182601A CN116303178A CN 116303178 A CN116303178 A CN 116303178A CN 202310182601 A CN202310182601 A CN 202310182601A CN 116303178 A CN116303178 A CN 116303178A
Authority
CN
China
Prior art keywords
interface
device interface
data
adaptive
slave device
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.)
Pending
Application number
CN202310182601.8A
Other languages
English (en)
Inventor
王晨
郭强
张志军
付小伟
李刚
李庆
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.)
Xi'an Standard Information Technology Co ltd
Original Assignee
Xi'an Standard Information Technology Co ltd
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 Xi'an Standard Information Technology Co ltd filed Critical Xi'an Standard Information Technology Co ltd
Priority to CN202310182601.8A priority Critical patent/CN116303178A/zh
Publication of CN116303178A publication Critical patent/CN116303178A/zh
Pending legal-status Critical Current

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/382Information transfer, e.g. on bus using universal interface adapter
    • 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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Communication Control (AREA)

Abstract

本发明公开了一种自适应SPI接口装置及自适应时序校准方法,包括主设备接口和从设备接口;主设备接口和/或从设备接口包括数据缓冲器、时钟源、接口控制器、训练校验序列、训练接收寄存器和接口时序电路;训练校验序列与训练接收寄存器交互连接,训练接收寄存器和数据缓冲器交互连接,数据缓冲器和接口时序电路交互连接,接口控制器输出端分别与数据缓冲器、接口时序电路和时钟源输入端连接。实现了自适应时序,时序免调试,调试效率高。

Description

一种自适应SPI接口装置及自适应时序校准方法
技术领域
本发明属于SPI通信领域,涉及一种自适应SPI接口装置及自适应时序校准方法。
背景技术
SPI是一种高速的全双工,同步的通信总线,一般由3或4根线组成。SPI接口广泛应用于芯片/设备(本文中“芯片”和“设备”可互换)间通讯如:MCU、FLASH、EEPROM、ADC等。
SPI以主从方式工作,由主芯片发起数据传输,一个主芯片可以连接一个或多个从芯片。
实际应用中,主芯片需要根据从芯片SPI接口的工作模式配置自己的SPI接口的工作模式,只有主从芯片工作模式一致时,两者才能正常、稳定的通信。由于不同类型的芯片或同一类型芯片不同生产厂家的工作模式可能不同,导致主芯片需要人为的修改程序以重新适配从芯片模式,这种方式调试效率低且容易出错。此外,一种更为隐蔽的故障模式是:当主从芯片的SPI模式不匹配,总线时序靠近标准时序的临界态时,总线也有可能正常通信,但由于时序余量非常小,系统的可靠性很差,例如在不同的环境温度下通信数据会出现错误,并且这种不稳定态引起的问题在实际工程中也难以排查。
发明内容
本发明的目的在于克服上述现有技术的缺点,提供一种自适应SPI接口装置及自适应时序校准方法,实现了自适应时序,时序免调试,调试效率高。
为达到上述目的,本发明采用以下技术方案予以实现:
一种自适应SPI接口装置,包括主设备接口和从设备接口;
主设备接口和/或从设备接口包括数据缓冲器、时钟源、接口控制器、训练校验序列、训练接收寄存器和接口时序电路;训练校验序列与训练接收寄存器交互连接,训练接收寄存器和数据缓冲器交互连接,数据缓冲器和接口时序电路交互连接,接口控制器输出端分别与数据缓冲器、接口时序电路和时钟源输入端连接。
优选的,当主设备接口和从设备接口采用四线制连接时,时钟源输入或输出时钟信号,接口时序电路输入或输出片选信号、主出从入信号和主入从出信号。
优选的,当主设备接口和从设备接口采用三线制连接时,自时钟源输入或输出时钟信号,接口时序电路输入或输出片选信号和双向数据信号。
优选的,主设备接口连接有主设备,从设备接口连接有从设备;
主设备和从设备采用FPGA、MCU、DSP、CPU、GPU、CPLD、FLASH、PLL、ADC、DAC、放大器、衰减器、收发机或传感器。
一种基于上述装置的自适应时序校准方法,包括以下过程:
主设备接口和从设备接口连接后,以主设备接口作为自适应端时:
S1,主从设备接口进入校准模式,主设备接口发起校准,从设备接口响应校准;
S2,主设备接口依次配置多个SPI模式;
S3,主设备接口配置时钟相位为标准相位,即时钟沿与数据变化对齐;
S4,主设备接口写数据到从设备接口,并接收从设备接口的数据;
S5,主设备接口判断写和读的数据一致性,如果不一致,回到S2,切换下一SPI模式,如果一致,则继续下一步;
S6,主设备接口依次配置时钟相位为超前和滞后,即时钟沿相对于数据变化沿超前或滞后一定相位;
S7,主设备接口写数据到从设备接口,并接收从设备接口的数据;
S8,主设备接口判读写和读的数据一致性,如果不一致,回到S2,切换下一SPI模式,如果一致,则结束自适应模式;
S9,主设备接口配置成标准相位参数进行正常SPI通信;
以从设备接口作为自适应端时,与主设备接口自适应过程一致。
优选的,SPI模式为0、1、2和3。
优选的,超前或滞后的时间为1/8或1/4时钟。
优选的,S4的具体过程为:第一帧由主设备接口向从设备接口发送训练校验序列,从设备接口按其设置的时序,向从设备接口训练接收寄存器里写入接收采样到的序列。第二帧由主设备接口向从设备接口读取接收采样到的序列,从设备接口按其设置的时序,向主设备接口发射训练接收寄存器数据,主设备接口按SPI模式进行数据接收,存入主设备接口的训练接收寄存器。
进一步,S5的具体过程为:接收完成后,主设备接口的接口控制器比较训练接收寄存器和之前发送的训练校验序列,若发送数据和接收数据相同,认为该时序配置有效。
优选的,若所有SPI模式下均写和读的数据不一致,则更换主设备接口。
与现有技术相比,本发明具有以下有益效果:
本发明通过配置多个SPI模式,在正常时钟相位及超前和滞后下,进行写和读数据的一致性比对,若正常时钟相位下发送数据和接收数据相同,认为该时序配置有效,若超前和滞后时钟偏移都配置有效,则认为当前SPI时序模式配置正确。实现了自适应时序,时序免调试,调试效率高;实测并使用最佳信号时序,稳定性强;并且发明所述接口兼容性好,能够适配各种厂家芯片的时序,后期硬件更换不需要修改维护软件,降低系统成本。
附图说明
图1为本发明的接口组成示意图;
图2为本发明的四线制连接示意图;
图3为本发明的三线制连接示意图;
图4为本发明的自适应时序校准流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,下面描述中使用的词语“前”、“后”、“左”、“右”、“上”和“下”指的是附图中的方向,词语“内”和“外”分别指的是朝向或远离特定部件几何中心的方向。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
如图1所示,为本发明所述的自适应SPI接口装置,包括主设备接口和从设备接口。
主设备接口和从设备接口可以仅有一个为本发明所述的自适应设备,也可以均为自适应设备,均适用于自适应时序校准。
自适应设备的主设备接口和/或从设备接口包括数据缓冲器、时钟源、接口控制器、训练校验序列、训练接收寄存器和接口时序电路;训练校验序列与训练接收寄存器交互连接,训练接收寄存器和数据缓冲器交互连接,数据缓冲器和接口时序电路交互连接,接口控制器输出端分别与数据缓冲器、接口时序电路和时钟源输入端连接。
接口时序电路:用于负责按照接口控制器的要求产生相应的正常、超前、或滞后的发送信号时序,并对接收信号进行采样。
数据缓冲器:用于接收时负责对接口时序电路的采样数据进行缓存。发送时负责对发送数据(训练序列或待发送数据)进行缓存。
训练收发寄存器:用于仅在校准模式下工作,发送时从训练检验序列中读取训练检验序列,接收时将接收到的训练序列与读取的训练检验序列进行比对。
训练检验序列:用于负责保存设定好的训练校准序列。
时钟源:用于负责产生时钟。
接口控制器:用于负责整个校准流程的状态控制,并产生相应的SPI信号波形,控制接口时序电路产生相应的信号相位。
根据总线数据方向,可分为自适应4线或3线SPI系统。
如图2所示,当主设备接口和从设备接口采用四线制连接时,时钟源输入或输出时钟信号,接口时序电路输入或输出片选信号、主出从入信号和主入从出信号。
如图3所示,当主设备接口和从设备接口采用三线制连接时,自时钟源输入或输出时钟信号,接口时序电路输入或输出片选信号和双向数据信号。
其中CS:表示片选信号。SCLK:表示时钟信号。MOSI:表示主出从入信号。MISO:表示主入从出信号。IO:表示双向数据总线。
主设备接口连接有主设备,从设备接口连接有从设备。
主设备和从设备采用FPGA、MCU、DSP、CPU、GPU、CPLD、FLASH、PLL、ADC、DAC、放大器、衰减器、收发机或传感器等。
基本工作流程为:
上电启动后进行自适应时序校准模式。
校准通过后转为正常通信模式(即现有某种模式下的SPI通信)。
其中以主设备接口作为自适应端时,自适应时序校准的过程如图4所示:
1,主从设备接口进入校准模式,主设备接口发起校准,从设备接口响应校准。
2,主设备接口依次配置SPI模式0、1、2、3。
3,主设备接口配置时钟相位为标准相位,即时钟沿与数据变化对齐。
4,主设备接口写数据到从设备接口,并接收从设备接口的数据。
5,主设备接口判断写和读的数据一致性,如果不一致,回到步骤2,切换下一SPI模式,如果一致,则继续下一步。
6,主设备接口依次配置时钟相位为超前和滞后,即时钟沿相对于数据变化沿超前或滞后一定相位。
7,设备写数据到从设备接口,并接收从设备接口的数据。
8,主设备接口判读写和读的数据一致性,如果不一致,回到步骤2,切换下一SPI模式,如果一致则结束自适应模式。
9,主设备接口配置成标准相位参数进行正常SPI通信。
若所有SPI模式下均写和读的数据不一致,则证明主设备接口存在问题,更换主设备接口。
超前或滞后的时间为1/8或1/4时钟。
主设备接口控制器设置时钟源、接口时序电路为SPI模式0,第一帧由主设备接口向从设备接口发送训练校验序列,从设备接口按其设置的时序,向从设备接口训练接收寄存器里写入接收采样到的序列。第二帧由主设备接口向从设备接口读取接收采样到的序列,从设备接口按其设置的时序,向主设备接口发射训练接收寄存器数据,主设备接口按SPI模式0进行数据接收,存入主设备接口的训练接收寄存器。接收完成后,主设备接口比较训练接收寄存器和之前发送的训练校验序列,若发送数据和接收数据相同,认为该时序配置有效。
若当前模式配置有效,主设备接口控制器设置时钟源偏移一定时间(如超前或滞后1/8时钟),重复上述时序校准过程,若超前和滞后时钟偏移都配置有效,则认为当前SPI时序模式配置正确,进入正常通信模式。
若标准/超前/滞后时钟相位有任意一个配置出现训练序列错误,则认为当前SPI时序模式配置错误,主设备接口控制器设置时钟源和接口时序电路依次进入SPI时序模式1、2、3,并在每个模式下超前/滞后时钟,直至找到正确时序配置模式(选取标准SCLK相位),进入正常通信模式。
若主设备接口和从设备接口仅有一端为自适应设备时,自适应设备端根据上述流程调整找出最佳时序模式。当主设备接口和从设备接口都为自适应设备时,按照时间顺序依次调整,即上电后主(或从)设备先进行时序调整,经过某约定的预设时间后,从(或主)设备再进行时序调整。
实施例1:
1.把主设备例化成FPGA,从设备例化成FLASH,训练序列例化成PRBS序列,训练寄存器例化为FLASH某存储空间。
2.主设备接口发送PRBS序列到从设备接口,再接收从设备接口返回的PRBS序列,对比发送与接收的数据是否一致。
3.主设备接口依次配置时钟采样点为标准,配置采样点为超前和滞后1/8到1/4个数据线保持时间,测试数据发和收。
4.详细步骤参照方案中的流程执行。
5.若主设备接口遍历各时序模式后无法调整出最佳时隙,则经过1s后,从设备接口进行上述调整过程。
实施例2:
主设备接口为自适应主设备接口,从设备接口为现有非自适应从设备接口。
这种情况下系统工作方式为:
1.主设备接口根据从设备接口的特定寄存器(如:芯片ID寄存器,或芯片中某可自由读写寄存器)的参数配置自己的训练寄存器。
2.主设备接口使用训练寄存器中的训练序列,根据方案中的流程,执行自适应动作。
3.主设备接口读写从设备接口寄存器的过程,可以遍历不同命令控制字(如长度分为1Byte,2Byte等,读写位在地址前或在地址后),以便适应更多类型的非自适应从设备接口。
实施例3:
主设备接口为现有非自适应SPI主设备接口,从设备接口为自适应SPI从设备接口。这种情况下工作方式为:
1.主设备接口循环读写从设备接口训练寄存器中的内容。
2.从设备接口应答训练序列。
3.主设备接口对比读写到的内容,如果一致,就置位从设备接口校准完成寄存器,随后结束自适应模式,如果不一致就继续读写从设备接口训练寄存器。
4.从设备接口读取自己的校准完成寄存器,如果被置位,就结束自适应模式,否则,就保持自适应模式。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施例和许多应用对本领域技术人员来说都将是显而易见的。因此,本教导的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。出于全面之目的,所有文章和参考包括专利申请和公告的公开都通过参考结合在本文中。在前述权利要求中省略这里公开的主题的任何方面并不是为了放弃该主题内容,也不应该认为申请人没有将该主题考虑为所公开的发明主题的一部分。

Claims (10)

1.一种自适应SPI接口装置,其特征在于,包括主设备接口和从设备接口;
主设备接口和/或从设备接口包括数据缓冲器、时钟源、接口控制器、训练校验序列、训练接收寄存器和接口时序电路;训练校验序列与训练接收寄存器交互连接,训练接收寄存器和数据缓冲器交互连接,数据缓冲器和接口时序电路交互连接,接口控制器输出端分别与数据缓冲器、接口时序电路和时钟源输入端连接。
2.根据权利要求1所述的自适应SPI接口装置,其特征在于,当主设备接口和从设备接口采用四线制连接时,时钟源输入或输出时钟信号,接口时序电路输入或输出片选信号、主出从入信号和主入从出信号。
3.根据权利要求1所述的自适应SPI接口装置,其特征在于,当主设备接口和从设备接口采用三线制连接时,自时钟源输入或输出时钟信号,接口时序电路输入或输出片选信号和双向数据信号。
4.根据权利要求1所述的自适应SPI接口装置,其特征在于,主设备接口连接有主设备,从设备接口连接有从设备;
主设备和从设备采用FPGA、MCU、DSP、CPU、GPU、CPLD、FLASH、PLL、ADC、DAC、放大器、衰减器、收发机或传感器。
5.一种基于权利要求1-4任意一项所述装置的自适应时序校准方法,其特征在于,包括以下过程:
主设备接口和从设备接口连接后,以主设备接口作为自适应端时:
S1,主从设备接口进入校准模式,主设备接口发起校准,从设备接口响应校准;
S2,主设备接口依次配置多个SPI模式;
S3,主设备接口配置时钟相位为标准相位,即时钟沿与数据变化对齐;
S4,主设备接口写数据到从设备接口,并接收从设备接口的数据;
S5,主设备接口判断写和读的数据一致性,如果不一致,回到S2,切换下一SPI模式,如果一致,则继续下一步;
S6,主设备接口依次配置时钟相位为超前和滞后,即时钟沿相对于数据变化沿超前或滞后一定相位;
S7,主设备接口写数据到从设备接口,并接收从设备接口的数据;
S8,主设备接口判读写和读的数据一致性,如果不一致,回到S2,切换下一SPI模式,如果一致,则结束自适应模式;
S9,主设备接口配置成标准相位参数进行正常SPI通信;
以从设备接口作为自适应端时,与主设备接口自适应过程一致。
6.根据权利要求5所述的自适应时序校准方法,其特征在于,SPI模式为0、1、2和3。
7.根据权利要求5所述的自适应时序校准方法,其特征在于,超前或滞后的时间为1/8或1/4时钟。
8.根据权利要求5所述的自适应时序校准方法,其特征在于,S4的具体过程为:第一帧由主设备接口向从设备接口发送训练校验序列,从设备接口按其设置的时序,向从设备接口训练接收寄存器里写入接收采样到的序列。第二帧由主设备接口向从设备接口读取接收采样到的序列,从设备接口按其设置的时序,向主设备接口发射训练接收寄存器数据,主设备接口按SPI模式进行数据接收,存入主设备接口的训练接收寄存器。
9.根据权利要求8所述的自适应时序校准方法,其特征在于,S5的具体过程为:接收完成后,主设备接口的接口控制器比较训练接收寄存器和之前发送的训练校验序列,若发送数据和接收数据相同,认为该时序配置有效。
10.根据权利要求5所述的自适应时序校准方法,其特征在于,若所有SPI模式下均写和读的数据不一致,则更换主设备接口。
CN202310182601.8A 2023-02-28 2023-02-28 一种自适应spi接口装置及自适应时序校准方法 Pending CN116303178A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310182601.8A CN116303178A (zh) 2023-02-28 2023-02-28 一种自适应spi接口装置及自适应时序校准方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310182601.8A CN116303178A (zh) 2023-02-28 2023-02-28 一种自适应spi接口装置及自适应时序校准方法

Publications (1)

Publication Number Publication Date
CN116303178A true CN116303178A (zh) 2023-06-23

Family

ID=86816214

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310182601.8A Pending CN116303178A (zh) 2023-02-28 2023-02-28 一种自适应spi接口装置及自适应时序校准方法

Country Status (1)

Country Link
CN (1) CN116303178A (zh)

Similar Documents

Publication Publication Date Title
CN107844445B (zh) 用于非源同步系统的调谐电路系统和操作
US4887262A (en) Single-channel bus system for multi-master use with bit cell synchronization, and master station comprising a bit cell synchronization element suitable for this purpose
US7043657B1 (en) Universal synchronization clock signal derived using single forward and reverse direction clock signals even when phase delay between both signals is greater than one cycle
US20030231537A1 (en) Single-clock, strobeless signaling system
KR101369963B1 (ko) 복수의 집적회로 장치를 포함하는 집적회로 모듈을테스트하기 위한 시스템 및 방법
KR101617374B1 (ko) 에러 검출 기법들에 의거한 메모리 쓰기 타이밍의 조정
US20080235405A1 (en) USB controller and a testing method of the USB controller
JP5876240B2 (ja) インターフェース信号を操作する装置及び制御装置
CN102013971A (zh) 接收设备及其接收方法
CN116303178A (zh) 一种自适应spi接口装置及自适应时序校准方法
US9570128B2 (en) Managing skew in data signals
CN110489362B (zh) eMMC校正输出入有效窗口自动调整方法、装置、存储介质
CN110806719B (zh) 一种plc系统及其控制方法
US20040078500A1 (en) Serial peripheral interface and related methods
CN103021470B (zh) 取样相位校正方法和使用此取样相位校正方法的储存系统
CN114342311B (zh) 用于同步串行数据传输的装置和方法
JP2022107522A (ja) 位相調整方法およびシステム
WO2021056631A1 (zh) 可自主回复写应答的axi总线传输装置
KR102174456B1 (ko) 직렬 통신 인터페이스에서의 동기화 장치 및 방법
US7327632B2 (en) Interface circuit
CN112783531A (zh) 一种fpga与dsp架构下以太网升级dsp程序方法
US20200412585A1 (en) Communication system, control circuit, and received signal adjustment method of equipment
KR100295683B1 (ko) 인터아이씨의 제너럴콜 어크날리지장치및 방법
CN112667551B (zh) 一种基于相位自适应的qspi传输数据的方法及系统
JPH03171945A (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