本发明涉及spi接口技术领域,尤其涉及一种提高芯片的spi接口频率的方法。
背景技术:
spi接口一种全双工同步串行通信接口,采用主-从模式(master-slave)控制方式,主设备可以通过提供时钟信号以及对从设备进行片选来控制多个从设备。从设备本身并不产生时钟信号,其时钟信号由主设备提供。spi接口协议在cpha为1时,时钟周期的前一边沿发送数据,后一边沿采集数据;从设备采用主设备的时钟返回miso,如图1所示,spi从设备在看到sclk的下降沿后开始返回数据,由于芯片内部存在路径延时,主设备经过tdelay延时后看到miso的电平反转,后在sclk的上升沿对miso进行采样,只有当tsclk/2–tdelay>=tds时,主设备才能对miso进行准确的采样,也就是说,spi主设备想要准确采样从设备返回的miso信号,那么spi时钟周期/2>=路径延时tdelay 芯片寄存器的建立时间tds,这样就会导致spi的时钟频率不会很高,一般的spi设备的时钟频率在40mhz内。
技术实现要素:
针对目前芯片的spi的时钟频率较低的问题,本发明提供一种提高芯片的spi接口频率的方法。
本发明提供的一种提高芯片的spi接口频率的方法,包括以下步骤:
步骤1:分别确定spi主设备的建立时间tds、保持时间tdh和miso信号的路径延时tdelay;
步骤2:采用延迟时钟采样的方法,根据不同的采样时钟周期延迟数量,结合miso信号的路径延时tdelay,计算出spi时钟频率的可调整区间;
步骤3:在所述spi时钟频率的可调整区间中选取一个稳定的时钟频率,以实现spi接口高效数据传输。
进一步地,步骤2具体包括:
步骤2.1:延迟n1个时钟周期后对spi从设备返回的miso信号进行采样,设定此时的miso信号恰好满足保持时间tdh,则得到关于spi时钟频率的第一不等式:
(n1 0.5)*tsclk tdh<=tdelay tsclk
步骤2.2:延迟n2个时钟周期后对spi从设备返回的miso信号进行采样,设定此时的miso信号恰好满足建立时间tds,则得到关于spi时钟频率的第二不等式:
(n2 0.5)*tsclk-tds>=tdelay
步骤2.3:结合所述第一不等式和第二不等式,得到spi时钟周期的可调整区间:
(tdelay tds)/(n2 0.5)<=tsclk<=(tdelay–tdh)/(n1–0.5)
其中,tsclk为时钟周期,n1为正整数,n2为正整数。
进一步地,步骤2中,在步骤2.3之后还包括:
根据spi时钟频率f与时钟周期tsclk的反比例关系,即得到式:tsclk=1/f;
将式:tsclk=1/f代入式:(tdelay tds)/(n2 0.5)<=tsclk<=(tdelay–tdh)/(n1–0.5),得到spi时钟频率f的可调整区间:
(n1–0.5)/(tdelay–tdh)<=f<=(n2 0.5)/(tdelay tds)。
本发明的有益效果:
本发明的spi主设备延迟采样时钟对miso信号进行准确采样,可以提高spi的时钟频率,有效提高spi接口的传输效率;同时spi主设备调整延迟采样时钟数量,可以适配出不同频率的spi时钟,具有很好的灵活性。
附图说明
图1为现有技术中标准的spi时序图;
图2为本发明实施例提供的一种提高芯片的spi接口频率的方法流程图;
图3为本发明实施例提供的spi主设备延迟n1个时钟周期后对miso信号进行采样的时序图,此时的miso信号恰好满足保持时间;
图4为本发明实施例提供的spi主设备延迟n2个时钟周期后对miso信号进行采样的时序图,此时的miso信号恰好满足建立时间。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2示出了本发明一种提高芯片的spi接口频率的方法流程图。如图2所示,该方法包括以下步骤:
s101:分别确定spi主设备的建立时间tds、保持时间tdh和miso信号的路径延时tdelay;
建立时间(tds)是指在时钟沿到来之前数据从不稳定到稳定所需的时间,如果建立时间不满足要求那么数据将不能在这个时钟上升沿被稳定地打入触发器;保持时间(tdh)是指数据稳定后的稳定持续时间,如果保持时间不满足要求那么数据同样也不能被稳定地打入触发器。
s102:采用延迟时钟采样的方法,根据不同的采样时钟周期延迟数量,结合miso信号的路径延时tdelay,计算出spi时钟频率的可调整区间;
s103:在所述spi时钟频率的可调整区间中选取一个稳定的时钟频率,以实现spi接口高效数据传输。
需要说明的是,本发明通过采用延迟时钟采样的方法提高spi时钟频率,通过延迟时钟采样规避掉路径延时带来的影响,根据不同的采样时钟延迟数量,结合芯片内部路径延时的时间,计算出spi时钟频率的可调整区间,设计人员可以选取出稳定的时钟频率,有效提高spi的时钟频率。
在上述各实施例的基础上,作为一种可实施方式,上述步骤s102具体包括:
s1021:如图3所示,延迟n1个时钟周期后对spi从设备返回的miso信号进行采样,设定此时的miso信号恰好满足保持时间tdh,则得到关于spi时钟频率的第一不等式:
(n1 0.5)*tsclk tdh<=tdelay tsclk
s1022:如图4所示,延迟n2个时钟周期后对spi从设备返回的miso信号进行采样,设定此时的miso信号恰好满足建立时间tds,则得到关于spi时钟频率的第二不等式:
(n2 0.5)*tsclk-tds>=tdelay
s1023:结合所述第一不等式和第二不等式,得到spi时钟周期的可调整区间:
(tdelay tds)/(n2 0.5)<=tsclk<=(tdelay–tdh)/(n1–0.5)
其中,tsclk为时钟周期,n1为正整数,n2为正整数。
s1024:根据spi时钟频率f与时钟周期tsclk的反比例关系,即得到式:tsclk=1/f;将式:tsclk=1/f代入式:(tdelay tds)/(n2 0.5)<=tsclk<=(tdelay–tdh)/(n1–0.5),得到spi时钟频率f的可调整区间:(tdelay tds)/(n2 0.5)<=1/f<=(tdelay–tdh)/(n1–0.5);然后将该式进行移位处理,即可得到spi时钟频率f的可调整区间:(n1–0.5)/(tdelay–tdh)<=f<=(n2 0.5)/(tdelay tds)。
可以理解,时钟是整个电路最重要、最特殊的信号,系统内大部分器件的动作都是在时钟的跳变沿上进行,这就要求时钟信号时延差要非常小,否则就可能造成时序逻辑状态出错;因而明确fpga设计中决定系统时钟的因素,尽量减小时钟的延时对保证设计的稳定性有非常重要的意义。
可以理解,由于建立时间tds、保持时间tdh和miso信号的路径延时tdelay已定,当n1或n2越大,则选取的spi时钟频率f将提高。这就证明了,通过延迟采样时钟个数,可以有效利用路径延时,根据延迟采样时钟的数量,适当的提高时钟的频率,灵活的提高了spi接口的传输效率。
基于上述,本发明的spi主设备延迟采样时钟对miso信号进行准确采样,可以提高spi的时钟频率,有效提高spi接口的传输效率;同时spi主设备调整延迟采样时钟数量,可以适配出不同频率的spi时钟,具有很好的灵活性。
在实际应用中,本发明可以有效提高安全芯片的spi接口时钟频率,提高数据传输效率,可以有效提高对称加密算法的性能,且设计灵活,可以根据不同的使用环境,设置不同的延迟采样时钟数量,选用不同的时钟频率进行数据传输。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
1.一种提高芯片的spi接口频率的方法,其特征在于,包括:
步骤1:分别确定spi主设备的建立时间tds、保持时间tdh和miso信号的路径延时tdelay;
步骤2:采用延迟时钟采样的方法,根据不同的采样时钟周期延迟数量,结合miso信号的路径延时tdelay,计算出spi时钟频率的可调整区间;
步骤3:在所述spi时钟频率的可调整区间中选取一个稳定的时钟频率,以实现spi接口高效数据传输。
2.根据权利要求1所述的一种提高芯片的spi接口频率的方法,其特征在于,步骤2具体包括:
步骤2.1:延迟n1个时钟周期后对spi从设备返回的miso信号进行采样,设定此时的miso信号恰好满足保持时间tdh,则得到关于spi时钟频率的第一不等式:
(n1 0.5)*tsclk tdh<=tdelay tsclk
步骤2.2:延迟n2个时钟周期后对spi从设备返回的miso信号进行采样,设定此时的miso信号恰好满足建立时间tds,则得到关于spi时钟频率的第二不等式:
(n2 0.5)*tsclk-tds>=tdelay
步骤2.3:结合所述第一不等式和第二不等式,得到spi时钟周期的可调整区间:
(tdelay tds)/(n2 0.5)<=tsclk<=(tdelay–tdh)/(n1–0.5)
其中,tsclk为时钟周期,n1为正整数,n2为正整数。
3.根据权利要求2所述的一种提高芯片的spi接口频率的方法,其特征在于,步骤2中,在步骤2.3之后还包括:
根据spi时钟频率f与时钟周期tsclk的反比例关系,即得到式:tsclk=1/f;
将式:tsclk=1/f代入式:(tdelay tds)/(n2 0.5)<=tsclk<=(tdelay–tdh)/(n1–0.5),得到spi时钟频率f的可调整区间:
(n1–0.5)/(tdelay–tdh)<=f<=(n2 0.5)/(tdelay tds)。
技术总结