CN114328347A - 一种提高spi总线频率的方法 - Google Patents
一种提高spi总线频率的方法 Download PDFInfo
- Publication number
- CN114328347A CN114328347A CN202111548899.7A CN202111548899A CN114328347A CN 114328347 A CN114328347 A CN 114328347A CN 202111548899 A CN202111548899 A CN 202111548899A CN 114328347 A CN114328347 A CN 114328347A
- Authority
- CN
- China
- Prior art keywords
- clock
- spi
- master device
- sck
- sampling
- 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
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种提高SPI总线频率的方法,包括如下步骤:步骤S1,分别确定SPI主设备对MISO信号采样的建立时间Tms和MISO的路径延时Tsdelay;步骤S2,根据不同的SPI波特率,结合Tms和Tsdelay,计算出采样延迟的时钟数量;步骤S3,配置主设备在上述延迟的时钟数量后采样,从而实现SPI接口高速数据传输。这样,本发明的SPI主设备延迟采样时钟对MISO信号进行准确采样,可以提高SPI的时钟频率,有效提高SPI接口的传输效率;同时SPI主设备调整延迟采样时钟数量,可以适配出不同频率的SPI时钟,具有很好的灵活性。
Description
技术领域
本发明涉及继电器控制技术领域,尤其涉及一种提高SPI总线频率的方法。
背景技术
SPI接口是一种采用主-从模式(Master-Slave)控制方式的同步串行通信接口,主设备通过提供时钟信号和片选信号控制多个从设备。SPI接口协议在CPOL和CPHA均为1时,时钟周期的下降沿发送数据,上升沿采集数据;如图1所示,SPI从设备在SCK的下降沿发送数据,SPI主设备在SCK的上升沿采样数据。由于芯片内部存在路径延时,MISO信号经过Tdelay的延时后在SCK的上升沿被SPI主设备采样,只有当Tsck/2–Tdelay>=Ts时,主设备才能对MISO进行正确的采样,也就是说,SPI主设备想要正确采样从设备发送的MISO信号,那么SPI采样时钟周期/2>=路径延时Tdelay+SPI主设备的建立时间Ts,这样就会导致SPI的时钟频率不会很高,一般的SPI设备的时钟频率在40Mhz内。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种提高SPI总线频率的方法。
本发明提供了一种提高SPI总线频率的方法,包括如下步骤:
步骤S1,分别确定SPI主设备对MISO信号采样的建立时间Tms和MISO的路径延时Tsdelay;
步骤S2,根据不同的SPI波特率,结合Tms和Tsdelay,计算出采样延迟的时钟数量;
步骤S3,配置主设备在上述延迟的时钟数量后采样,从而实现SPI接口高速数据传输。
所述步骤S2包括:
对总线时钟BCK进行N分频得到串行时钟SCK,则得到关于SCK时钟周期的不等式:
TSCK=N*TBCK,其中TSCK为SCK的时钟周期,TBCK为总线时钟周期。
所述步骤S2包括:
主设备提前K个BCK时钟周期发送MOSI信号,MOSI为SPI主设备在BCK的时钟边沿发送的数据信号,则得到关于SPI串行时钟周期的不等式:
K*TBCK+0.5*TSCK>=Tmdelay+Tss,其中,K为主设备发送数据提前的时钟数量,TBCK为总线时钟BCK的时钟周期,TSCK为串行时钟SCK的时钟周期,Tmdelay为MOSI信号的路径延时,Tss为从设备对MOSI信号采样的建立时间。
所述步骤S2包括:
主设备延迟M个BCK时钟周期之后对MISO信号进行采样,MISO为SPI从设备在SCK的时钟边沿发送的数据信号,则得到关于SPI串行时钟周期的不等式:
M*TBCK+0.5*TSCK>=Tsdelay+Tms,其中,M为主设备采样延迟的时钟数量,TBCK为总线时钟BCK的时钟周期,TSCK为串行时钟SCK的时钟周期,Tsdelay为MISO信号的路径延时,Tms为主设备对MISO信号采样的建立时间。
所述步骤S2中,SPI主设备发送和接收数据的时钟为时钟BCK;SPI主设备发送给SPI从设备的时钟为串行时钟SCK;SCK是通过BCK任意分频得到的同步时钟。
所述步骤S2中,发送数据时,SPI主设备在SPI标准协议所规定的发送数据的时钟边沿之前发送数据,提前的时间数量通过寄存器进行配置,最大为半个SCK时钟周期。
所述步骤S2中,接收数据时,SPI主设备在SPI标准协议所规定的接收数据的时钟边沿之后接收数据,延迟的时间数量可通过寄存器进行配置,最大为半个SCK时钟周期。
与现有技术相比,本发明具有如下的有益效果:
本发明的SPI主设备延迟采样时钟对MISO信号进行准确采样,可以提高SPI的时钟频率,有效提高SPI接口的传输效率;同时SPI主设备调整延迟采样时钟数量,可以适配出不同频率的SPI时钟,具有很好的灵活性。
附图说明
图1为标准的SPI时序图
图2为本发明所述一种提高SPI总线频率的方法步骤示意图;
图3为本发明所提供的SPI主设备延迟M个BCK时钟周期后对MISO信号进行采样的时序图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如图2所示,本发明提供了一种提高SPI总线频率的方法,包括如下步骤:
步骤S1,分别确定SPI主设备对MISO信号采样的建立时间Tms和MISO的路径延时Tsdelay;建立时间Tms是指在触发器的时钟信号有效沿到来之前数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被稳定地打入触发器;
步骤S2,根据不同的SPI波特率,结合Tms和Tsdelay,计算出采样延迟的时钟数量;上述波特率指的是SPI串行时钟SCK的频率;
步骤S3,配置主设备在上述延迟的时钟数量后采样,从而实现SPI接口高速数据传输。
本发明通过采用延迟时钟采样的方法提高SPI时钟频率,通过延迟时钟采样规避掉路径延时带来的影响,根据不同的SPI采样时钟频率,结合MISO信号的路径延时和SPI主设备的采样建立时间,计算出SPI采样所需延迟的时钟数量,有效提高SPI的时钟频率。
实施例二
SPI主设备发送和接收数据的总线时钟BCK和主设备发送给SPI从设备的串行时钟SCK为两个时钟,SCK是通过BCK任意分频得到的同步时钟。SPI主设备在BCK的时钟边沿发送和接收数据,SPI从设备在SCK的时钟边沿发送和接收数据。对BCK进行N分频得到SCK,则得到关于SCK时钟周期的不等式:
TSCK=N*TBCK,其中TSCK为SCK的时钟周期,TBCK为总线时钟周期。
发送数据时,SPI主设备可以在SPI标准协议所规定的发送数据的时钟边沿之前发送数据,提前的时间数量可通过寄存器进行灵活配置,最大为半个SCK时钟周期;MOSI为SPI主设备在BCK的时钟边沿发送的数据信号,主设备提前K个BCK时钟周期发送MOSI,则得到关于SPI串行时钟周期的不等式:
K*TBCK+0.5*TSCK>=Tmdelay+Tss,其中,K为主设备发送数据提前的时钟数量,TBCK为总线时钟BCK的时钟周期,TSCK为串行时钟SCK的时钟周期,Tmdelay为MOSI信号的路径延时,Tss为从设备对MOSI信号采样的建立时间。
接收数据时,SPI主设备可以在SPI标准协议所规定的接收数据的时钟边沿之后接收数据,延迟的时间数量可通过寄存器进行灵活配置,最大为半个SCK时钟周期;MISO为SPI从设备在SCK的时钟边沿发送的数据信号,主设备延迟M个BCK时钟周期之后对MISO信号进行采样,则得到关于SPI串行时钟周期的不等式:
M*TBCK+0.5*TSCK>=Tsdelay+Tms,其中,M为主设备采样延迟的时钟数量,TBCK为总线时钟BCK的时钟周期,TSCK为串行时钟SCK的时钟周期,Tsdelay为MISO信号的路径延时,Tms为主设备对MISO信号采样的建立时间。BCK是SPI主设备的总线时钟,SPI接口时钟SCK是通过BCK分频得到。从设备在SCK的下降沿发送数据,SPI主设备可在S0、S1…Sn采样。S0采样,即标准SPI协议SCK的上升沿采样。随着SPI接口频率的提高,半个SPI接口时钟周期难以满足主设备正确采样的需求。通过配置不同的采样延迟时钟数量,SPI主设备可在S0、S1…Sn采样。延迟M个总线时钟BCK时钟周期后对SPI从设备发送的MISO信号进行采样,即主设备在Sm采样,采样的时序图如图3所示,则得到上述关于SPI采样时钟周期的不等式。
本领域技术人员可以理解,芯片的制造工艺决定了SPI主设备的建立时间Tms和MISO信号的路径延时Tsdelay,当采样延迟的时钟数量M越大,主设备采样的建立时间裕度越大,则SPI接口时钟频率将提高。这就证明了,通过延迟采样时钟数量,可以有效避免路径延时所带来的影响,根据延迟采样时钟的数量,适当的提高时钟的频率,灵活的提高了SPI接口的传输效率。
基于上述,本发明的SPI主设备延迟采样时钟对MISO信号进行准确采样,可以提高SPI的时钟频率,有效提高SPI接口的传输效率;同时SPI主设备调整延迟采样时钟数量,可以适配出不同频率的SPI时钟,具有很好的灵活性。
在实际应用中,本发明可以有效提高安全芯片的SPI接口时钟频率,提高数据传输效率,可以有效提高对称加密算法的性能,且设计灵活,可以根据不同的使用环境,设置不同的延迟采样时钟数量,选用不同的时钟频率进行数据传输。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种提高SPI总线频率的方法,其特征在于,包括如下步骤:
步骤S1,分别确定SPI主设备对MISO信号采样的建立时间Tms和MISO的路径延时Tsdelay;
步骤S2,根据不同的SPI波特率,结合Tms和Tsdelay,计算出采样延迟的时钟数量;
步骤S3,配置主设备在上述延迟的时钟数量后采样,从而实现SPI接口高速数据传输。
2.如权利要求1所述的提高SPI总线频率的方法,其特征在于,所述步骤S2包括:
对总线时钟BCK进行N分频得到串行时钟SCK,则得到关于SCK时钟周期的不等式:
TSCK=N*TBCK,其中TSCK为SCK的时钟周期,TBCK为总线时钟周期。
3.如权利要求2所述的提高SPI总线频率的方法,其特征在于,所述步骤S2包括:
主设备提前K个BCK时钟周期发送MOSI信号,MOSI为SPI主设备在BCK的时钟边沿发送的数据信号,则得到关于SPI串行时钟周期的不等式:
K*TBCK+0.5*TSCK>=Tmdelay+Tss,其中,K为主设备发送数据提前的时钟数量,TBCK为总线时钟BCK的时钟周期,TSCK为串行时钟SCK的时钟周期,Tmdelay为MOSI信号的路径延时,Tss为从设备对MOSI信号采样的建立时间。
4.如权利要求3所述的提高SPI总线频率的方法,其特征在于,所述步骤S2包括:
主设备延迟M个BCK时钟周期之后对MISO信号进行采样,MISO为SPI从设备在SCK的时钟边沿发送的数据信号,则得到关于SPI串行时钟周期的不等式:
M*TBCK+0.5*TSCK>=Tsdelay+Tms,其中,M为主设备采样延迟的时钟数量,TBCK为总线时钟BCK的时钟周期,TSCK为串行时钟SCK的时钟周期,Tsdelay为MISO信号的路径延时,Tms为主设备对MISO信号采样的建立时间。
5.如权利要求4所述的提高SPI总线频率的方法,其特征在于,所述步骤S2中,SPI主设备发送和接收数据的时钟为时钟BCK;SPI主设备发送给SPI从设备的时钟为串行时钟SCK;SCK是通过BCK任意分频得到的同步时钟。
6.如权利要求5所述的提高SPI总线频率的方法,其特征在于,所述步骤S2中,发送数据时,SPI主设备在SPI标准协议所规定的发送数据的时钟边沿之前发送数据,提前的时间数量通过寄存器进行配置,最大为半个SCK时钟周期。
7.如权利要求6所述的提高SPI总线频率的方法,其特征在于,所述步骤S2中,接收数据时,SPI主设备在SPI标准协议所规定的接收数据的时钟边沿之后接收数据,延迟的时间数量可通过寄存器进行配置,最大为半个SCK时钟周期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111548899.7A CN114328347A (zh) | 2021-12-17 | 2021-12-17 | 一种提高spi总线频率的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111548899.7A CN114328347A (zh) | 2021-12-17 | 2021-12-17 | 一种提高spi总线频率的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114328347A true CN114328347A (zh) | 2022-04-12 |
Family
ID=81052981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111548899.7A Pending CN114328347A (zh) | 2021-12-17 | 2021-12-17 | 一种提高spi总线频率的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114328347A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115333667A (zh) * | 2022-10-12 | 2022-11-11 | 中科声龙科技发展(北京)有限公司 | 调整时序的方法和通信系统 |
CN115858446A (zh) * | 2023-02-02 | 2023-03-28 | 北京紫光芯能科技有限公司 | 用于串行外围接口总线数据传输的方法、装置及系统 |
-
2021
- 2021-12-17 CN CN202111548899.7A patent/CN114328347A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115333667A (zh) * | 2022-10-12 | 2022-11-11 | 中科声龙科技发展(北京)有限公司 | 调整时序的方法和通信系统 |
CN115333667B (zh) * | 2022-10-12 | 2023-01-24 | 中科声龙科技发展(北京)有限公司 | 调整时序的方法和通信系统 |
CN115858446A (zh) * | 2023-02-02 | 2023-03-28 | 北京紫光芯能科技有限公司 | 用于串行外围接口总线数据传输的方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6031847A (en) | Method and system for deskewing parallel bus channels | |
CN114328347A (zh) | 一种提高spi总线频率的方法 | |
CN109643298B (zh) | 用于同步链路的三倍数据率技术 | |
CN109032498B (zh) | 一种多fpga的多通道采集系统的波形量化同步方法 | |
WO2018210277A1 (zh) | 时钟同步的方法和装置、计算机存储介质 | |
TW258801B (en) | Method and apparatus for providing synchronous data transmission between digital devices operating at frequencies having a P/Q integer ratio relationship | |
CN108134607A (zh) | 基于jesd204b的板间高速ad同步采集电路及同步方法 | |
EP2573975B1 (en) | Method and device for selecting sampling clock signal | |
EP3748512B1 (en) | Method for a slave device for calibrating its output timing, method for a master device for enabling a slave device to calibrate its output timing, master device and slave device | |
TW201635153A (zh) | 使用經校準、單一時脈來源同步串列器-解串列器協定之高速資料傳輸 | |
CN111510277B (zh) | 一种多通道信号同步系统、电路及方法 | |
CN103995471A (zh) | 一种分布式控制系统的时钟同步方法 | |
WO2004109524A2 (en) | Synchronous data transfer across clock domains | |
CN109143907B (zh) | 同步采样系统及自动相位选择方法 | |
US7793021B2 (en) | Method for synchronizing a transmission of information and a device having synchronizing capabilities | |
CN107800500A (zh) | 一种确定时间同步报文时钟时间的方法、装置和设备 | |
CN113204514B (zh) | 一种提高芯片的spi接口频率的方法 | |
JP2014132263A (ja) | 無線通信システム | |
CN104735824A (zh) | 数据处理系统 | |
CN117009267B (zh) | 源同步数据流中插入时间信息的方法 | |
WO2023087588A1 (zh) | 采样电路、采样电路的使用方法、存储介质、电子装置 | |
EP4016851A1 (en) | A system comprising multiple units | |
CN107846245A (zh) | 一种同步双星gps原始测量数据的设计方法 | |
CN111988105B (zh) | 一种基于rs485的高精度对时方法 | |
CN107104749A (zh) | 时钟同步方法及装置 |
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 |