时钟切换方法、复杂可编程逻辑器件及FPGA板卡与流程

文档序号:24160674发布日期:2021-03-05 16:23阅读:65来源:国知局
时钟切换方法、复杂可编程逻辑器件及FPGA板卡与流程
时钟切换方法、复杂可编程逻辑器件及fpga板卡
技术领域
[0001]
本发明涉及fpga板卡技术领域,特别涉及一种时钟切换方法、复杂可编程逻辑器件及存储介质。


背景技术:

[0002]
fpga板卡主要包括板卡中央处理器(板卡管理芯片)、时钟芯片、phy芯片、cpld及fpga芯片,中央处理器和调试网口的工作时钟为本地晶振时钟,以便在上电时即可获得工作时钟,但是调试网口与业务网口共用phy芯片,这就需要时钟芯片供给同步以太网时钟,而时钟芯片在上电时并无时钟产生,这就导致网口无法正常工作。
[0003]
因此,现有技术还有待改进和提高。


技术实现要素:

[0004]
针对现有技术的上述缺陷,本发明提供一种时钟切换方法、复杂可编程逻辑器件及fpga板卡,旨在解决现有技术中时钟芯片上电时无时钟产生不能向phy芯片供给同步以太网时钟导致网口无法正常工作的问题。
[0005]
为了解决上述技术问题,本发明所采用的技术方案如下:
[0006]
本发明的第一方面,提供一种时钟切换方法,所述方法包括:
[0007]
接收第一时钟并发送至phy芯片,其中,所述第一时钟为本地晶振时钟;
[0008]
接收第一完成信号,在接收到所述第一完成信号后将发送至所述phy芯片的所述第一时钟切换为时钟芯片产生的第二时钟;
[0009]
其中,所述第一完成信号是中央处理器完成获取上层应用程序及逻辑版本后输出的信号。
[0010]
所述的时钟切换方法,其中,所述将发送至所述phy芯片的第一时钟切换为时钟芯片产生的第二时钟之前,包括:
[0011]
对所述phy芯片进行复位。
[0012]
所述的时钟切换方法,其中,接收第一完成信号,包括:
[0013]
通过总线接收所述第一完成信号。
[0014]
所述的时钟切换方法,其中,接收第一完成信号,包括:
[0015]
通过i/o口接收所述第一完成信号。
[0016]
所述的时钟切换方法,其中,所述将发送至所述phy芯片的第一时钟切换为时钟芯片产生的第二时钟,包括:
[0017]
接收到所述第一完成信号以及所述时钟芯片输出的第二完成信号后,获取所述时钟芯片产生的所述第二时钟;
[0018]
将所述第一时钟切换为所述第二时钟。
[0019]
所述的时钟切换方法,其中,所述第二完成信号是所述时钟芯片完成配置后输出的。
[0020]
本发明的第二方面,提供一种复杂可编程逻辑器件,所述复杂可编程逻辑器件在
执行计算机程序时实现上述的时钟切换方法的步骤。
[0021]
本发明的第三方面,提供一种fpga板卡,所述fpga板卡包括中央处理器、phy芯片、时钟芯片以及复杂可编程逻辑器件;
[0022]
所述中央处理器用于在上电启动后获取上层应用程序及逻辑版本并在完成获取后输出第一完成信号;
[0023]
所述时钟芯片用于产生第二时钟;
[0024]
所述复杂可编程逻辑器件用于:在上电启动后接收第一时钟并发送至所述phy芯片,并在接收到所述第一完成信号后将将发送至所述phy芯片的第一时钟切换为所述第二时钟,其中,所述第一时钟为本地晶振时钟。
[0025]
本发明的第四方面,提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一项所述的时钟切换方法的步骤。
[0026]
与现有技术相比,本发明提供了一种时钟切换方法、复杂可编程逻辑器件及fpga板卡,在上电启动后,先将本地时钟供给给phy芯片,在中央处理器完成获取上层应用程序及逻辑版本并且时钟芯片产生时钟后,将发送给phy芯片的时钟切换为时钟芯片产生的时钟,保证phy芯片在上电时就可以获得时钟,并在中央处理器完成获取上层应用程序及逻辑版本后切换为以太网时钟,保证了调试网口与业务网口的正常工作。
附图说明
[0027]
图1为本发明提供的时钟切换方法的实施例的流程图;
[0028]
图2为本发明提供的时钟切换方法的实施例中fpga板卡中各器件的交互示意图;
[0029]
图3为本发明提供的时钟切换方法的实施例的逻辑框图。
具体实施方式
[0030]
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0031]
实施例一
[0032]
本发明提供的时钟切换方法的实施例,是可以由fpga板卡中的cpld(复杂可编程逻辑器件)执行,当然可以理解,本发明提供的时钟切换方法,也可以是由其他器件或设备来执行,例如,能够执行计算机程序的处理器等。
[0033]
下面以cpld执行本发明提供的时钟切换方法为例进行说明,如图1所示,所述时钟切换方法的一个实施例中,包括步骤:
[0034]
s100、接收第一时钟并发送至phy芯片。
[0035]
具体地,如图2所示,fpga板卡中包括中央处理器(cpu)、时钟芯片、和phy(physical layer,物理层)芯片,中央处理器需要通过phy连接外部网络获取上层应用程序及逻辑版本,所述第一时钟为本地晶振时钟,调试网口和业务网口共用phy芯片,phy芯片需要时钟芯片供给同步以太网时钟以满足网口的需要,在fpga板卡上电后,中央处理器和调试网口需要马上工作以快速获取上层应用程序及逻辑版本,而时钟芯片在上电时需要一定的配置时间后才能
正常工作,生成同步以太网时钟,这就导致了上电后,phy芯片没有时钟,调试网口和业务网口也无法正常工作的情况。在本实施例中,fpga板卡上电启动,即fpga板卡上的所有器件上电后,如图2所示,cpld首先接收第一时钟clk1,即本地晶振时钟发送至phy芯片,这样,phy芯片在上电后就有了时钟,调试网口可以正常工作,中央处理器可以连接外部网络获取上层应用程序及逻辑版本。
[0036]
s200、接受第一完成信号,在接收到所述第一完成信号后将发送至所述phy芯片的第一时钟切换为时钟芯片产生的第二时钟。
[0037]
所述第一完成信号是中央处理器完成获取上层应用程序及逻辑版本后输出的信号。如图2所示,中央处理器完成获取上层应用程序及逻辑版本后,输出所述第一完成信号done,cpld接收到所述第一完成信号后,将发送至所述phy芯片的第一时钟切换为时钟芯片产生的第二时钟clk2,所述时钟芯片产生的所述第二时钟为以太网时钟,这样,业务网口的工作时钟也切换为以太网时钟,业务网口可以正常工作。
[0038]
具体地,所述第一完成信号可以是中央处理器通过总线传送至cpld,或者是通过i/o口(输入输出端口)传送至cpld,cpld可以是通过总线接收所述第一完成信号,也可以是通过i/o口接收所述第一完成信号。
[0039]
所述将发送至所述phy芯片的第一时钟切换为时钟芯片产生的第二时钟,包括:
[0040]
s210、接收到所述第一完成信号以及所述时钟芯片输出的第二完成信号后,获取所述时钟芯片产生的所述第二时钟;
[0041]
s220、将所述第一时钟切换为所述第二时钟。
[0042]
所述第二完成信号是所述时钟芯片完成配置后输出的,在上电后,所述时钟芯片需要一定的时间完成配置以产生所述第二时钟,如图2所示,在完成配置后,即,产生所述第二时钟后,所述时钟芯片输出所述第二完成信号ready至cpld,cpld接收到所述第一完成信号和所述第二完成信号后,说明中央处理器已经完成了获取上层应用程序以及逻辑版本并且所述时钟芯片已经产生了所述第二时钟,此时,cpld接收所述第二时钟,将发送至phy芯片的所述第一时钟切换为所述第二时钟,这样,cpld发送至所述phy芯片的时钟clk就转换为所述第二时钟。
[0043]
由于所述第一时钟和所述第二时钟存在差异,为了防止所述phy芯片在时钟切换之后产生相位差的问题,在本实施例中,所述将发送至所述phy芯片的第一时钟切换为时钟芯片产生的第二时钟之前,本实施例提供的时钟切换方法还包括步骤:
[0044]
对所述phy芯片进行复位。
[0045]
cpld接收到所述第一完成信号和所述第二完成信号后,对所述phy芯片进行复位,并将发送给所述phy芯片的所述第一时钟切换到所述时钟芯片发送过来的所述第二时钟,所述phy芯片的复位时间可以为400ms,在实际应用中可根据不同phy芯片的复位要求选择相应的复位时间。
[0046]
本实施例提供的时钟切换方法的逻辑框图可以如图3所示。
[0047]
在一种可能的实现方式中,本实施例提供的时钟切换方法对应的逻辑程序如下:
[0048]
[0049]
[0050][0051]
综上所述,本实施例提供了一种时钟切换方法,通过在上电启动后,先将本地时钟供给给phy芯片,在中央处理器完成获取上层应用程序及逻辑版本并且时钟芯片产生时钟后,将发送给phy芯片的时钟切换为时钟芯片产生的时钟,保证phy芯片在上电时就可以获得时钟,并在中央处理器完成获取上层应用程序及逻辑版本后切换为以太网时钟,保证了调试网口与业务网口的正常工作。
[0052]
应该理解的是,虽然本发明说明书附图中给出的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0053]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强
型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0054]
实施例二
[0055]
基于上述实施例,本发明还相应提供了一种复杂可编程逻辑器件,所述复杂可编程逻辑器件在执行计算机程序时实现如下步骤:
[0056]
接收第一时钟并发送至phy芯片,其中,所述第一时钟为本地晶振时钟;
[0057]
接收第一完成信号,在接收到所述第一完成信号后将发送至所述phy芯片的所述第一时钟切换为时钟芯片产生的第二时钟;
[0058]
其中,所述第一完成信号是中央处理器完成获取上层应用程序及逻辑版本后输出的信号。
[0059]
所述的时钟切换方法,其中,所述将发送至所述phy芯片的第一时钟切换为时钟芯片产生的第二时钟之前,包括:
[0060]
对所述phy芯片进行复位。
[0061]
所述的时钟切换方法,其中,接收第一完成信号,包括:
[0062]
通过总线接收所述第一完成信号,或;
[0063]
通过i/o口接收所述第一完成信号。
[0064]
所述的时钟切换方法,其中,所述将发送至所述phy芯片的第一时钟切换为时钟芯片产生的第二时钟,包括:
[0065]
接收到所述第一完成信号以及所述时钟芯片输出的第二完成信号后,获取所述时钟芯片产生的所述第二时钟;
[0066]
将所述第一时钟切换为所述第二时钟。
[0067]
所述的时钟切换方法,其中,所述第二完成信号是所述时钟芯片完成配置后输出的。
[0068]
在一种可能的实现方式中,所述复杂可编程逻辑器件包括处理器以及存储器。所述存储器在一些实施例中可以是所述复杂可编程逻辑器件的内部存储单元。所述存储器在另一些实施例中也可以是所述复杂可编程逻辑器件的外部存储设备。进一步地,所述存储器还可以既包括所述复杂可编程逻辑器件的内部存储单元也包括外部存储设备。在一实施例中,存储器上存储有时钟切换程序,该基于时钟切换程序可被处理器所执行,从而实现本申请中的时钟切换方法。
[0069]
所述处理器在一些实施例中可以是一中央处理器(central processing unit,cpu),微处理器或其他芯片,用于运行所述存储器中存储的程序代码或处理数据,例如执行所述时钟切换方法等。
[0070]
实施例三
[0071]
基于上述实施例,本发明还提供一种fpga板卡,所述fpga板卡包括中央处理器、phy芯片、时钟芯片以及复杂可编程逻辑器件;
[0072]
所述中央处理器用于在上电启动后获取上层应用程序及逻辑版本并在完成获取后输出第一完成信号,具体如实施例一中所述;
[0073]
所述时钟芯片用于产生第二时钟,具体如实施例一中所述;
[0074]
所述复杂可编程逻辑器件用于:在上电启动后接收第一时钟并发送至所述phy芯
片,并在接收到所述第一完成信号后将发送至所述phy芯片的第一时钟切换为所述第二时钟,其中,所述第一时钟为本地晶振时钟,具体如实施例一中所述。
[0075]
实施例四
[0076]
本发明还提供一种存储介质,其中,存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的时钟切换方法的步骤。
[0077]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1