一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种可编程器件配置方法、处理器、装置及存储介质与流程

2023-02-19 01:58:24 来源:中国专利 TAG:


1.本发明涉及通信技术领域,特别是涉及一种可编程器件配置方法、处理器、装置及存储介质。


背景技术:

2.fpga(field programmable gate array,现场可编程逻辑门阵列)等可编程器件在运行前需要通过配置文件对自身进行配置,可编程器件的配置文件可以存储于自身设置的存储器中。现有的可编程器件中配置的存储器往往是sram(static random-access memory,静态随机存取存储器)型存储器,但是sram型存储器内存储的数据在断电后会被清除,因此可编程器件在每次通电之后都需要重新获取配置文件,并对自身重新进行配置。
3.因此为了使得可编程器件能够正常运行,需要提供一种可编程器件配置方案以使得可编程器件在通电之后能够获取到配置文件,并基于上述配置文件完成对自身的配置。


技术实现要素:

4.本发明实施例的目的在于提供一种可编程器件配置方法、处理器、装置及存储介质,以使得可编程器件在通电之后能够获取到配置文件,并基于上述配置文件完成对自身的配置。具体技术方案如下:
5.第一方面,本发明实施例提供了一种可编程器件配置方法,应用于bbu中基带板上的第一处理器,所述方法包括:
6.在确定所述基带板上的可编程器件通电的情况下,向所述bbu中主控板上的第二处理器发送文件获取请求,以使得所述第二处理器从所述主控板的目标存储器中获取用于对所述可编程器件进行配置的配置文件;
7.接收所述第二处理器发送的所述配置文件;
8.触发所述可编程器件进行初始化,在确定所述可编程器件初始化完成后,向所述可编程器件发送所述配置文件,以使得所述可编程器件基于所述配置文件对自身进行配置。
9.本发明的一个实施例中,所述触发所述可编程器件进行初始化,包括:
10.向所述基带板上的epld发送可编程器件初始化指令,以使得所述epld触发所述可编程器件进行初始化。
11.本发明的一个实施例中,所述向所述基带板上的epld发送可编程器件初始化指令,以使得所述epld触发所述可编程器件进行初始化,包括:
12.向所述epld发送可编程器件初始化指令,使得所述epld通过第一管脚控制所述可编程器件的第二管脚处于高电平,以使得所述可编程器件进行初始化,其中,所述第二管脚为:用于控制所述可编程器件复位的管脚;
13.通过所述epld的第三管脚判断所述可编程器件的第四管脚是否处于高电平,若为是,则确定所述可编程器件初始化完成,其中,所述第四管脚的电平用于反映所述可编程器
件的初始化状态。
14.本发明的一个实施例中,在所述向所述可编程器件发送所述配置文件之前,还包括:
15.触发所述可编程器件接收配置文件。
16.本发明的一个实施例中,所述在确定所述基带板上的可编程器件通电的情况下,向所述bbu中主控板上的第二处理器发送文件获取请求,以使得所述第二处理器从所述主控板的目标存储器中获取用于对所述可编程器件进行配置的配置文件,包括:
17.在确定所述可编程器件通电的情况下,确定所述基带板当前的配置场景;
18.向所述bbu中主控板上的第二处理器发送用于请求与所述配置场景相匹配的配置文件的文件获取请求,以使得所述第二处理器从所述主控板的目标存储器中获取所述配置文件。
19.本发明的一个实施例中,在所述向所述可编程器件发送所述配置文件之前,还包括:
20.触发所述第一处理器的监控复位程序停止运行,其中,所述监控复位程序用于:在所述第一处理器处于异常状态的情况下触发所述第一处理器复位。
21.本发明的一个实施例中,在所述向所述可编程器件发送所述配置文件之后,还包括:
22.向所述可编程器件发送预设数量位取值为0的字节。
23.第二方面,本发明实施例提供了一种处理器,所述处理器安装于bbu中的基带板上,所述处理器读取计算机程序并执行以下操作:
24.在确定所述基带板上的可编程器件通电的情况下,向所述bbu中主控板上的第二处理器发送文件获取请求,以使得所述第二处理器从所述主控板的目标存储器中获取用于对所述可编程器件进行配置的配置文件;
25.接收所述第二处理器发送的所述配置文件;
26.触发所述可编程器件进行初始化,在确定所述可编程器件初始化完成后,向所述可编程器件发送所述配置文件,以使得所述可编程器件基于所述配置文件对自身进行配置。
27.本发明的一个实施例中,所述触发所述可编程器件进行初始化,具体包括:
28.向所述基带板上的epld发送可编程器件初始化指令,以使得所述epld触发所述可编程器件进行初始化。
29.本发明的一个实施例中,所述向所述基带板上的epld发送可编程器件初始化指令,以使得所述epld触发所述可编程器件进行初始化,具体包括:
30.向所述epld发送可编程器件初始化指令,使得所述epld通过第一管脚控制所述可编程器件的第二管脚处于高电平,以使得所述可编程器件进行初始化,其中,所述第二管脚为:用于控制所述可编程器件复位的管脚;
31.通过所述epld的第三管脚判断所述可编程器件的第四管脚是否处于高电平,若为是,则确定所述可编程器件初始化完成,其中,所述第四管脚的电平用于反映所述可编程器件的初始化状态。
32.本发明的一个实施例中,在所述向所述可编程器件发送所述配置文件之前,还包
括:
33.触发所述可编程器件接收配置文件。
34.本发明的一个实施例中,所述在确定所述基带板上的可编程器件通电的情况下,向所述bbu中主控板上的第二处理器发送文件获取请求,以使得所述第二处理器从所述主控板的目标存储器中获取用于对所述可编程器件进行配置的配置文件,具体包括:
35.在确定所述可编程器件通电的情况下,确定所述基带板当前的配置场景;
36.向所述bbu中主控板上的第二处理器发送用于请求与所述配置场景相匹配的配置文件的文件获取请求,以使得所述第二处理器从所述主控板的目标存储器中获取所述配置文件。
37.本发明的一个实施例中,在所述向所述可编程器件发送所述配置文件之前,还包括:
38.触发所述第一处理器的监控复位程序停止运行,其中,所述监控复位程序用于:在所述第一处理器处于异常状态的情况下触发所述第一处理器复位。
39.本发明的一个实施例中,在所述向所述可编程器件发送所述配置文件之后,还包括:
40.向所述可编程器件发送预设数量位取值为0的字节。
41.第三方面,本发明实施例提供了一种可编程器件配置装置,应用于bbu中基带板上的第一处理器,所述装置包括:
42.请求发送模块,用于在确定所述基带板上的可编程器件通电的情况下,向所述bbu中主控板上的第二处理器发送文件获取请求,以使得所述第二处理器从所述主控板的目标存储器中获取用于对所述可编程器件进行配置的配置文件;
43.文件接收模块,用于接收所述第二处理器发送的所述配置文件;
44.文件发送模块,用于触发所述可编程器件进行初始化,在确定所述可编程器件初始化完成后,向所述可编程器件发送所述配置文件,以使得所述可编程器件基于所述配置文件对自身进行配置。
45.第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的方法步骤。
46.第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任一所述的方法步骤。
47.本发明实施例有益效果:
48.本发明实施例提供的方案中,可编程器件的配置文件存储在安装于bbu的主控板上的目标存储器中,与可编程器件安装于同一基带板上的第一处理器向与第二处理器发送配置文件获取请求,第二存储器从目标存储器中获取到配置文件之后,可以向第一处理器发送上述配置文件。第一处理器触发可编程器件进行初始化,并在可编程器件初始化完成之后,第一处理器可以向可编程器件发送上述配置文件,以使得上述可编程器件基于上述配置文件对自身进行配置。
49.由以上可见,用于对可编程器件进行配置的配置文件存储于目标存储器中,在上述可编程器件通电后,第一处理器能够获取到存储于上述目标存储器中的配置文件,并在
触发上述可编程器件初始化之后,向上述可编程器件发送配置文件。因此,通过本发明实施例可编程器件能够获得配置文件并且基于所获得的配置文件对自身进行配置。并且,上述目标存储器与第二处理器是大多数bbu的主控板上均会安装的器件,第一处理器是大多数bbu的基带板会安装的器件,本发明实施例直接使用大多数bbu中安装有的器件便可以实现可编程器件的配置,因此本发明实施例可以充分利用bbu中现有的资源,不需要额外耗费bbu的外部资源。
附图说明
50.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
51.图1为本发明实施例提供的第一种可编程器件配置方法的流程示意图;
52.图2为本发明实施例提供的第一种应用场景的示意图;
53.图3为本发明实施例提供的第二种可编程器件配置方法的流程示意图;
54.图4为本发明实施例提供的第二种应用场景的示意图;
55.图5为本发明实施例提供的第三种可编程器件配置方法的流程示意图;
56.图6为本发明实施例提供的一种可编程器件配置装置的结构示意图。
具体实施方式
57.本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
58.本发明实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
59.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本发明实施例所获得的所有其他实施例,都属于本发明保护的范围。
60.为了使得可编程器件在通电之后能够获取到配置文件,并基于上述配置文件完成对自身的配置,本发明实施例提供了一种可编程器件配置方法、处理器、装置及存储介质。
61.本发明实施例提供了一种可编程器件配置方法,应用于bbu中基带板上的第一处理器,上述方法包括:
62.在确定上述基带板上的可编程器件通电的情况下,向上述bbu中主控板上的第二处理器发送文件获取请求,以使得上述第二处理器从上述主控板的目标存储器中获取用于对上述可编程器件进行配置的配置文件;
63.接收上述第二处理器发送的上述配置文件;
64.触发上述可编程器件进行初始化,在确定上述可编程器件初始化完成后,向上述可编程器件发送上述配置文件,以使得上述可编程器件基于上述配置文件对自身进行配置。
65.由以上可见,用于对可编程器件进行配置的配置文件存储于目标存储器中,在上
述可编程器件通电后,第一处理器能够获取到存储于上述目标存储器中的配置文件,并在触发上述可编程器件初始化之后,向上述可编程器件发送配置文件。因此,通过本发明实施例可编程器件能够获得配置文件并且基于所获得的配置文件对自身进行配置。并且,上述目标存储器与第二处理器是大多数bbu的主控板上均会安装的器件,第一处理器是大多数bbu的基带板会安装的器件,本发明实施例直接使用大多数bbu中安装有的器件便可以实现可编程器件的配置,因此本发明实施例可以充分利用bbu中现有的资源,不需要额外耗费bbu的外部资源。
66.参见图1,为本发明实施例提供的第一种可编程器件配置方法的流程示意图,应用于bbu(building base band unite,基带处理单元)中基带板上的第一处理器,上述方法包括以下步骤s101-s103。
67.具体的,上述bbu中基带板上的第一处理器可以为微处理器。
68.s101:在确定上述基带板上的可编程器件通电的情况下,向上述bbu中主控板上的第二处理器发送文件获取请求,以使得上述第二处理器从上述主控板的目标存储器中获取用于对上述可编程器件进行配置的配置文件。
69.其中,上述第二处理器可以为微处理器、cpld(complex programmable logic device,复杂可编程逻辑器件)等。
70.具体的,由于上述可编程器件均安装于上述基带板上,因此若上述基带板通电,则可以认为上述可编程器件通电。另外,若上述bbu通电,则上述bbu中的各个器件均被通电,因此若确定上述bbu通电则可以认为上述可编程器件通电。再者,也可以单独为上述可编程器件通电。
71.另外,上述可编程器件可以为fpga,上述可编程器件与第一处理器相连且安装于同一基带板上。并且上述第一处理器与主控板上的第二处理器相连,第二处理器与上述目标存储器相连。
72.具体的,上述可编程器件与第一处理器可以直接相连,或通过其他器件间接相连。
73.本发明的一个实施例中,上述第二处理器在接收到上述文件获取请求之后,可以从上述目标存储器中获取用于对上述可编程器件进行配置的配置文件,并将所获取到的配置文件发送给上述第一处理器。第一处理器在接收到上述配置文件之后可以将上述配置文件存储于上述基带板上的内存中。
74.再者,上述目标存储器中可以存储有不同类别的配置文件,上述可编程器件基于不同类别的配置文件可以完成不同的配置,从而使得可编程器件能够适用于不同的配置场景。
75.本发明的一个实施例中,第一处理器请求各个种类的配置文件,并将各个种类的配置文件均发送给可编程器件。
76.本发明的另一个实施例中,可以通过下文步骤a-步骤b实现上述步骤s101,在此暂不详述。
77.s102:接收上述第二处理器发送的上述配置文件。
78.具体的,上述第二处理器可以基于ftp(file transfer protocol,文件传输协议)向上述第一处理器发送上述配置文件。
79.s103:触发上述可编程器件进行初始化,在确定上述可编程器件初始化完成后,向
上述可编程器件发送上述配置文件,以使得上述可编程器件基于上述配置文件对自身进行配置。
80.本发明的一个实施例中,上述第一处理器可以向可编程器件发送初始化指令,以触发上述可编程器件进行初始化。其中,上述可编程器件进行初始化的过程涉及可编程器件各管脚的设置等。
81.具体的,上述第一处理器可以设置上述可编程器件中用于控制上述可编程器件复位的第二管脚处于高电平状态,在上述第二管脚处于高电平状态的情况下,上述可编程器件会对自身进行预设的初始化处理。
82.其中,上述第二管脚可以与第一处理器上的第五管脚直接相连,则上述第一处理器可以直接通过第五管脚控制上述第二管脚处于高电平。
83.具体的,若上述可编程器件为fpga,则上述第二管脚可以为program_b管脚。
84.另外,上述可编程器件在完成初始化之后,可以控制可编程器件的第四管脚处于高电平,则上述第一处理器可以读取上述第四管脚的状态,若上述第四管脚处于高电平,则认为上述可编程器件完成初始化完成。若上述可编程器件为fpga,则上述第四管脚可以为init管脚。
85.具体的,上述第四管脚可以与第一处理器上的第六管脚直接相连,则上述第一处理器可以直接通过第六管脚确定上述第四管脚是否处于高电平。
86.再者,在确定上述可编程器件初始化完成后还可以执行以下步骤c。
87.步骤c:触发上述可编程器件接收配置文件。
88.具体的,可以向上述可编程器件发送用于使能上述可编程器件接收配置文件的使能指令,以使得上述可编程器件能够接收上述配置文件。
89.本发明的一个实施例中,上述第一处理器可以设置可编程器件中用于使能数据接收接口的第七管脚处于高电平,上述第七管脚处于高电平则上述数据接收接口可以接收数据,因此通过设置上述第七管脚处于高电平可以使得上述可编程器件能够接收配置文件。
90.具体的,上述第七管脚可以直接与上述第一处理器中的第八管脚相连,则上述第一处理器可以通过上述第八管脚设置上述第七管脚处于高电平状态。
91.其中,若上述可编程器件为fpga,则上述第八管脚可以为csi_b管脚。
92.本发明的另一个实施例中,上述第一处理器可以从内存中读取上述配置文件,并向可编程器件发送上述配置文件。
93.具体的,第一处理器可以通过与上述可编程器件之间的数据传输通道向上述可编程器件发送上述配置文件,上述数据传输通道两端分别连接第一处理器的数据发送接口以及可编程器件的数据接收接口。上述数据接收接口可以以8字节为单位接收配置文件。则上述第一处理器可以每次读取配置文件中的8字节,并向可编程器件发送所读取的字节。
94.另外,上述可编程器件在接收到上述配置文件之后可以将上述配置文件存储于自身的sram型存储器内。
95.上述第一处理器在完成配置文件的发送之后,可以关闭上述配置文件,并向上述可编程器件发送配置指令,以使得上述可编程器件开始对自身进行配置。
96.本发明的再一个实施例中,上述可编程器件接收到上述第一处理器发送的配置文件后,可以基于预设模式对自身进行配置,可以通过设置可编程器件的目标管脚的取值设
置上述预设模式,上述目标管脚为用于设置可编程器件对自身进行配置的配置模式的管脚,通过设置目标管脚与其他管脚以及地线之间的连接关系,可以设置目标管脚的取值。
97.例如,若上述可编程器件为fpga,则上述目标管脚可以为m[2:0]管脚,若上述m[2:0]管脚的取值为110,则上述预设模式为从并slave selectmap模式,则上述用于接收配置文件的接口可以被称为并行selectmap接口。
[0098]
另外,在上述可编程器件完成对自身的配置之后,可以向上述第一处理器反馈表示完成对自身的配置的配置完成反馈,使得上述第一处理器确定上述可编程器件配置完成。
[0099]
具体的,上述可编程器件完成对自身的配置之后,可以将自身的第九管脚设置为高电平,表示上述可编程器件配置完成。若上述第一处理器的第十管脚与上述第九管脚直接相连,则上述第一处理器可以通过第十管脚读取第九管脚是否处于高电平。若上述可编程器件为fpga,则上述第十管脚可以为done管脚。
[0100]
此外,上述第一处理器的第一时钟管脚可以与上述可编程器件的第二时钟管脚相连,以使得上述可编程器件的时钟与上述第一处理器的时钟保持同步。若上述第一处理器为微处理器,则上述第一时钟管脚为clock管脚,若上述可编程器件为fpga,则上述第二时钟管脚为cclk管脚。
[0101]
由以上可见,用于对可编程器件进行配置的配置文件存储于目标存储器中,在上述可编程器件通电后,第一处理器能够获取到存储于上述目标存储器中的配置文件,并在触发上述可编程器件初始化之后,向上述可编程器件发送配置文件。因此,通过本发明实施例可编程器件能够获得配置文件并且基于所获得的配置文件对自身进行配置。并且,上述目标存储器与第二处理器是大多数bbu的主控板上均会安装的器件,第一处理器是大多数bbu的基带板会安装的器件,本发明实施例直接使用大多数bbu中安装有的器件便可以实现可编程器件的配置,因此本发明实施例可以充分利用bbu中现有的资源,不需要额外耗费bbu的外部资源。
[0102]
并且,由于bbu中的主控板能够与bbu之外的其他设备进行通信,因此上述其他设备可以较为便捷地向上述目标存储器中存储新的配置文件,或对上述目标存储器中原本存储的配置文件进行更新。从而使得上述可编程器件能够基于新的配置文件或更新后的配置文件对自身进行配置,从而可以较为简单的实现可编程器件功能的更新迭代。
[0103]
参见图2,为本发明实施例提供的第一种应用场景的示意图。
[0104]
其中,上述可编程器件为fpga,第一处理器为微处理器。
[0105]
由图可见,上述主控板中包含第二处理器与目标存储器,目标存储器与第二处理器相连。基带板中包含微处理器、内存与fpga,微处理器与第二处理器相连。fpga的cclk管脚与微处理器的clock管脚相连,微处理器的数据发送接口d[07:00]与fpga的数据接收接口d[07:00]相连。微处理器的4个管脚分别与fpga的program_b管脚、init管脚、csi_b管脚与done管脚相连。
[0106]
本发明的一个实施例中,第一处理器可以通过调整逻辑层的fpga配置寄存器中的各个比特的取值,调整该比特所对应的fpga的管脚的电平。并且fpga配置存储器中各比特的取值可以反映所对应的fpga的管脚当前的电平。
[0107]
具体的,上述fpga配置寄存器可以是一个比特组,上述比特组中的不同比特对应
fpga的不同管脚。若上述fpga包含上述图2所示的4个管脚,则上述比特组中包含的比特的数量大于等于4。
[0108]
例如,上述fpga配置寄存器中可以包含8个比特,fpga配置寄存器的第0位比特可以被称为cfg_cs,第0位比特对应csi_b管脚,若cfg_cs取值为1表示csi_b管脚处于高电平,若cfg_cs取值为0表示csi_b管脚处于低电平,可以将cfg_cs的取值调整为1,以指示第一处理器将csi_b管脚的电平调整为高电平。
[0109]
上述fpga配置寄存器的第1位比特可以被称为nprom,第1位比特对应program_b管脚,若nprom取值为1表示program_b管脚处于高电平,若nprom取值为0表示program_b管脚处于低电平,可以将nprom的取值调整为1以指示第一处理器将program_b管脚调整为高电平。
[0110]
上述fpga配置寄存器的第2位比特可以被称为ninit,第2位比特对应init管脚,若ninit取值为1表示init管脚处于高电平,若ninit取值为0表示init管脚处于低电平,因此若上述ninit的取值为1,则上述第一处理器可以确定init管脚处于高电平,表示fpga完成初始化。
[0111]
上述fpga配置寄存器的第3位比特可以被称为conf_done,第3位比特对应done管脚,若conf_done取值为1表示done管脚处于高电平,若conf_done取值为0表示done管脚处于低电平,因此若上述conf_done的取值为1,则上述第一处理器可以确定done管脚处于高电平,表示fpga完成对自身的配置。
[0112]
另外,剩余的第4位比特至第7为比特位预留比特。
[0113]
本发明的一个实施例中,可以通过以下步骤a-步骤b实现上述步骤s101。
[0114]
步骤a:在确定上述可编程器件通电的情况下,确定上述基带板当前的配置场景。
[0115]
具体的,上述配置场景可以为双光纤配置场景或单光纤配置场景。上述目标存储器中分别存储有与双光纤配置场景相匹配的第一配置文件以及与单光线配置场景相匹配的第二配置文件。
[0116]
步骤b:向上述bbu中主控板上的第二处理器发送用于请求与上述配置场景相匹配的配置文件的文件获取请求,以使得上述第二处理器从上述主控板的目标存储器中获取上述配置文件。
[0117]
具体的,若上述配置场景为双光纤配置场景,则上述第一处理器可以向第二处理器发送用于请求第一配置文件的文件获取请求,若上述配置场景为单光线配置场景则上述第一处理器可以向第二处理器发送用于请求第二配置文件的文件获取请求。
[0118]
由以上可见,由于在不同的配置场景中上述可编程器件需要完成不同的数据处理任务,因此需要对可编程器件进行不同的配置。本发明实施例中第一处理器根据配置场景向第二处理器请求不同的配置文件,则第一处理器可以向可编程器件发送与当前的配置场景相匹配的配置文件,使得第一处理器能够基于所接收到的配置文件完成与当前配置场景相对应的配置。并且,本发明实施例中第一处理器仅获取目标存储器中与当前配置场景相匹配的配置文件,也就仅会向可编程器件发送与当前配置场景相匹配的配置文件,可以减少可编程器件配置过程中需要传输的配置文件的数据量,提高可编程器件配置过程的效率。
[0119]
由图2可见,若上述第一处理器的管口与上述可编程器件的管口直接相连,则第一
处理器的多个管口被占用,由于第一处理器的管口数量有限,因此若第一处理器的管口与上述可编程器件的管口直接相连,第一处理器的管口数量可能不足。为了解决这一问题,可以通过以下图3所示的实施例对可编程器件进行配置。
[0120]
参见图3,为本发明实施例提供的第二种可编程器件配置方法的流程示意图,其中,第一处理器与基带板上的epld(erasable programmable logic device,可擦除可编辑逻辑器件)相连,epld与可编程器件相连,与前述图1所示的实施例相比,上述步骤s103可以通过以下步骤s103a实现。
[0121]
s103a:向上述基带板上的epld发送可编程器件初始化指令,以使得上述epld触发上述可编程器件进行初始化,在确定上述可编程器件初始化完成后,向上述可编程器件发送上述配置文件,以使得上述可编程器件基于上述配置文件对自身进行配置。
[0122]
其中,epld接收到上述可编程器件初始化指令之后,可以向可编程器件发送可编程器件初始化指令,以使得上述可编程器件进行初始化。
[0123]
本发明的一个实施例中,可以通过以下步骤d-步骤e实现上述步骤s103a。
[0124]
步骤d:向上述epld发送可编程器件初始化指令,使得上述epld通过第一管脚控制上述可编程器件的第二管脚处于高电平,以使得上述可编程器件进行初始化。
[0125]
其中,上述第二管脚为:用于控制上述可编程器件复位的管脚。
[0126]
具体的,若上述可编程器件为fpga,则上述第二管脚可以为program_b管脚。
[0127]
步骤e:通过上述epld的第三管脚判断上述可编程器件的第四管脚是否处于高电平,若为是,则确定上述可编程器件初始化完成。
[0128]
其中,上述第四管脚的电平用于反映上述可编程器件的初始化状态。
[0129]
具体的,若上述可编程器件为fpga,则上述第四管脚可以为init管脚。
[0130]
上述步骤s103a所示的epld触发可编程器件初始化的方式与前述步骤s103中第一处理器触发可编程器件初始化的方式相似,区别仅为步骤s103中第一处理器直接触发上述可编程器件进行初始化,步骤s103a中第一处理器控制epld,由epld触发上述可编程器件进行初始化,本发明实施例对此不再赘述。
[0131]
参见图4,为本发明实施例提供的第二种应用场景的示意图。
[0132]
其中,上述可编程器件为fpga,第一处理器为微处理器。
[0133]
与前述图2相比,上述基带板中还包含epld,微处理器与epld相连,epld的4个管脚分别与fpga的program_b管脚、init管脚、csi_b管脚与done管脚相连。由图可见,与图2所示的实施例相比,上述微处理器通过一个管脚与epld相连,由epld的4个管脚与fpga的管脚相连,与图2所示的实施例相比微处理器被占用的管脚较少。
[0134]
本发明的一个实施例中,上述epld可以维护上述fpga配置寄存器,第一处理器可以读取epld中fpga配置寄存器中各个比特的取值,确定fpga中各个引脚的状态,第一处理器也可以通过调整epld中fpga配置寄存器中各个比特的取值,以指示epld依据比特的取值的改变调整比特对应的fpga的管脚的电平。
[0135]
具体的,fpga配置寄存器相关的内容与前述实施例的描述相似,区别仅为本发明实施例中fpga配置寄存器由epld维护,本发明实施例对此不再赘述。
[0136]
由以上可见,第一处理器通过epld与可编程器件相连,通过epld触发可编程器件进行配置,因此第一处理器仅需要向epld发送控制指令,由epld触发可编程器件进行配置
可以降低第一处理器控制可编程器件的处理复杂度。并且,第一处理器不需要通过各类管脚与可编程器件的各类管脚直接相连,仅需要通过一个管脚与epld相连,由epld与可编程器件相连,因此本发明实施例可以减少对第一处理器管脚的占用。另外,bbu的基带板上往往会安装有epld,因此通过复用基带板上已有的epld便可以实现上述可编程器件配置的过程。
[0137]
另外,本发明的另一个实施例中,与前述图1所示的实施例相比,在向上述可编程器件发送配置文件之前,还包括以下步骤f。
[0138]
步骤f:触发上述第一处理器的监控复位程序停止运行。
[0139]
其中,上述监控复位程序用于:在上述第一处理器处于异常状态的情况下触发上述第一处理器复位。
[0140]
具体的,上述监控复位程序往往被称为看门狗程序,上述监控复位程序可以通过计时器进行计时,第一处理器可以复位计时器以使得上述监控复位程序重新开始计时,若计时器的计时时长达到预设时长,则监控复位程序判定第一处理器处于异常状态无法复位上述计时器,因此监控复位程序会触发上述第一处理器复位。例如,上述预设时长可以为5分钟、10分钟等。
[0141]
但由于上述第一处理器向可编程器件发送配置文件的过程需要一定的时间,在此期间第一处理器难以触发上述计时器复位,因此若第一处理器向可编程器件发送配置文件的时长大于上述预设时长,则监控复位程序会在配置文件发送完成前触发第一处理器复位,从而导致可编程器件配置失败,因此在向上述可编程器件发送配置文件之前,可以触发上述第一处理器的监控复位程序停止运行,从而提高可编程器件配置的成功率。
[0142]
另外,在完成配置文件的发送之后可以打开上述监控复位程序。
[0143]
再者,本发明的另一个实施例中,与前述图1所示的实施例相比,在向上述可编程器件发送上述配置文件之后,还可以执行以下步骤g。
[0144]
步骤g:向上述可编程器件发送预设数量位取值为0的字节。
[0145]
例如,上述预设数量可以为8。
[0146]
具体的,在上述第一处理器向可编程器件发送配置文件之后,第一处理器还向可编程器件发送上述预设数量位取值为0的字节,以表示配置文件发送完毕,并且使得可编程器件能够在发送上述取值为0的字节的时间段内继续对自身进行配置,从而使得可编程器件能够完成配置的过程。
[0147]
参见图5,为本发明实施例提供的第三种可编程器件配置方法的流程示意图。其中,上述可编程器件为fpga。
[0148]
在fpga通电之后,第一处理器获取配置文件之后初始化fpga,并使能fpga获取配置文件,之后关闭看门狗程序,打开配置文件,按字节读取配置文件,并将所读取的数据发送给fpga,判断上述配置文件是否读取完成,若未完成,则继续按字节读取配置文件,并向可编程器件发送所读取的数据,否则,额外向可编程器件发送预设数量位取值为0的字节。之后打开看门狗程序,关闭配置文件,触发fpga对自身进行配置,直至确定fpga配置完成。
[0149]
与前述可编程器件配置方法相对应,本发明实施例还提供了一种处理器,所述处理器安装于bbu中的基带板上,所述处理器读取计算机程序并执行以下操作:
[0150]
在确定所述基带板上的可编程器件通电的情况下,向所述bbu中主控板上的第二
处理器发送文件获取请求,以使得所述第二处理器从所述主控板的目标存储器中获取用于对所述可编程器件进行配置的配置文件;
[0151]
接收所述第二处理器发送的所述配置文件;
[0152]
触发所述可编程器件进行初始化,在确定所述可编程器件初始化完成后,向所述可编程器件发送所述配置文件,以使得所述可编程器件基于所述配置文件对自身进行配置。
[0153]
由以上可见,用于对可编程器件进行配置的配置文件存储于目标存储器中,在上述可编程器件通电后,第一处理器能够获取到存储于上述目标存储器中的配置文件,并在触发上述可编程器件初始化之后,向上述可编程器件发送配置文件。因此,通过本发明实施例可编程器件能够获得配置文件并且基于所获得的配置文件对自身进行配置。并且,上述目标存储器与第二处理器是大多数bbu的主控板上均会安装的器件,第一处理器是大多数bbu的基带板会安装的器件,本发明实施例直接使用大多数bbu中安装有的器件便可以实现可编程器件的配置,因此本发明实施例可以充分利用bbu中现有的资源,不需要额外耗费bbu的外部资源。
[0154]
本发明的一个实施例中,所述触发所述可编程器件进行初始化,具体包括:
[0155]
向所述基带板上的epld发送可编程器件初始化指令,以使得所述epld触发所述可编程器件进行初始化。
[0156]
本发明的一个实施例中,所述向所述基带板上的epld发送可编程器件初始化指令,以使得所述epld触发所述可编程器件进行初始化,具体包括:
[0157]
向所述epld发送可编程器件初始化指令,使得所述epld通过第一管脚控制所述可编程器件的第二管脚处于高电平,以使得所述可编程器件进行初始化,其中,所述第二管脚为:用于控制所述可编程器件复位的管脚;
[0158]
通过所述epld的第三管脚判断所述可编程器件的第四管脚是否处于高电平,若为是,则确定所述可编程器件初始化完成,其中,所述第四管脚的电平用于反映所述可编程器件的初始化状态。
[0159]
由以上可见,第一处理器通过epld与可编程器件相连,通过epld触发可编程器件进行配置,因此第一处理器仅需要向epld发送控制指令,由epld触发可编程器件进行配置可以降低第一处理器控制可编程器件的处理复杂度。并且,第一处理器不需要通过各类管脚与可编程器件的各类管脚直接相连,仅需要通过一个管脚与epld相连,由epld与可编程器件相连,因此本发明实施例可以减少对第一处理器管脚的占用。另外,bbu的基带板上往往会安装有epld,因此通过复用基带板上已有的epld便可以实现上述可编程器件配置的过程。
[0160]
本发明的一个实施例中,在所述向所述可编程器件发送所述配置文件之前,还包括:
[0161]
触发所述可编程器件接收配置文件。
[0162]
本发明的一个实施例中,所述在确定所述基带板上的可编程器件通电的情况下,向所述bbu中主控板上的第二处理器发送文件获取请求,以使得所述第二处理器从所述主控板的目标存储器中获取用于对所述可编程器件进行配置的配置文件,具体包括:
[0163]
在确定所述可编程器件通电的情况下,确定所述基带板当前的配置场景;
[0164]
向所述bbu中主控板上的第二处理器发送用于请求与所述配置场景相匹配的配置文件的文件获取请求,以使得所述第二处理器从所述主控板的目标存储器中获取所述配置文件。
[0165]
由以上可见,由于在不同的配置场景中上述可编程器件需要完成不同的数据处理任务,因此需要对可编程器件进行不同的配置。本发明实施例中第一处理器根据配置场景向第二处理器请求不同的配置文件,则第一处理器可以向可编程器件发送与当前的配置场景相匹配的配置文件,使得第一处理器能够基于所接收到的配置文件完成与当前配置场景相对应的配置。并且,本发明实施例中第一处理器仅获取目标存储器中与当前配置场景相匹配的配置文件,也就仅会向可编程器件发送与当前配置场景相匹配的配置文件,可以减少可编程器件配置过程中需要传输的配置文件的数据量,提高可编程器件配置过程的效率。
[0166]
本发明的一个实施例中,在所述向所述可编程器件发送所述配置文件之前,还包括:
[0167]
触发所述第一处理器的监控复位程序停止运行,其中,所述监控复位程序用于:在所述第一处理器处于异常状态的情况下触发所述第一处理器复位。
[0168]
由以上可见,由于上述第一处理器向可编程器件发送配置文件的过程需要一定的时间,在此期间第一处理器难以触发监控复位程序的计时器复位,因此若第一处理器向可编程器件发送配置文件的时长大于上述预设时长,则监控复位程序会在配置文件发送完成前触发第一处理器复位,从而导致可编程器件配置失败,因此在向上述可编程器件发送配置文件之前,可以触发上述第一处理器的监控复位程序停止运行,从而提高可编程器件配置的成功率。
[0169]
本发明的一个实施例中,在所述向所述可编程器件发送所述配置文件之后,还包括:
[0170]
向所述可编程器件发送预设数量位取值为0的字节。
[0171]
由以上可见,在上述第一处理器向可编程器件发送配置文件之后,第一处理器还向可编程器件发送上述预设数量位取值为0的字节,以表示配置文件发送完毕,并且使得可编程器件能够在发送上述取值为0的字节的时间段内继续对自身进行配置,从而使得可编程器件能够完成配置的过程。
[0172]
与前述可编程器件配置方法相对应,本发明实施例还提供了一种可编程器件配置装置。
[0173]
参见图6,为本发明实施例提供的一种可编程器件配置装置的结构示意图,应用于bbu中基带板上的第一处理器,所述装置包括:
[0174]
请求发送模块601,用于在确定所述基带板上的可编程器件通电的情况下,向所述bbu中主控板上的第二处理器发送文件获取请求,以使得所述第二处理器从所述主控板的目标存储器中获取用于对所述可编程器件进行配置的配置文件;
[0175]
文件接收模块602,用于接收所述第二处理器发送的所述配置文件;
[0176]
文件发送模块603,用于触发所述可编程器件进行初始化,在确定所述可编程器件初始化完成后,向所述可编程器件发送所述配置文件,以使得所述可编程器件基于所述配置文件对自身进行配置。
[0177]
由以上可见,用于对可编程器件进行配置的配置文件存储于目标存储器中,在上述可编程器件通电后,第一处理器能够获取到存储于上述目标存储器中的配置文件,并在触发上述可编程器件初始化之后,向上述可编程器件发送配置文件。因此,通过本发明实施例可编程器件能够获得配置文件并且基于所获得的配置文件对自身进行配置。并且,上述目标存储器与第二处理器是大多数bbu的主控板上均会安装的器件,第一处理器是大多数bbu的基带板会安装的器件,本发明实施例直接使用大多数bbu中安装有的器件便可以实现可编程器件的配置,因此本发明实施例可以充分利用bbu中现有的资源,不需要额外耗费bbu的外部资源。
[0178]
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一可编程器件配置方法的步骤。
[0179]
应用本发明实施例提供的计算机可读存储介质配置可编程器件时,用于对可编程器件进行配置的配置文件存储于目标存储器中,在上述可编程器件通电后,第一处理器能够获取到存储于上述目标存储器中的配置文件,并在触发上述可编程器件初始化之后,向上述可编程器件发送配置文件。因此,通过本发明实施例可编程器件能够获得配置文件并且基于所获得的配置文件对自身进行配置。并且,上述目标存储器与第二处理器是大多数bbu的主控板上均会安装的器件,第一处理器是大多数bbu的基带板会安装的器件,本发明实施例直接使用大多数bbu中安装有的器件便可以实现可编程器件的配置,因此本发明实施例可以充分利用bbu中现有的资源,不需要额外耗费bbu的外部资源。
[0180]
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一可编程器件配置方法。
[0181]
应用本发明实施例提供的计算机程序产品配置可编程器件时,用于对可编程器件进行配置的配置文件存储于目标存储器中,在上述可编程器件通电后,第一处理器能够获取到存储于上述目标存储器中的配置文件,并在触发上述可编程器件初始化之后,向上述可编程器件发送配置文件。因此,通过本发明实施例可编程器件能够获得配置文件并且基于所获得的配置文件对自身进行配置。并且,上述目标存储器与第二处理器是大多数bbu的主控板上均会安装的器件,第一处理器是大多数bbu的基带板会安装的器件,本发明实施例直接使用大多数bbu中安装有的器件便可以实现可编程器件的配置,因此本发明实施例可以充分利用bbu中现有的资源,不需要额外耗费bbu的外部资源。
[0182]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以
是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0183]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0184]
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于处理器、装置、存储介质及计算机程序实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0185]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0186]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机可执行指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机可执行指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0187]
这些处理器可执行指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的处理器可读存储器中,使得存储在该处理器可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0188]
这些处理器可执行指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0189]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术实施例及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献