CN102902646B - 板卡通信方法及板卡、fpga的加载方法和系统 - Google Patents
板卡通信方法及板卡、fpga的加载方法和系统 Download PDFInfo
- Publication number
- CN102902646B CN102902646B CN201210345772.XA CN201210345772A CN102902646B CN 102902646 B CN102902646 B CN 102902646B CN 201210345772 A CN201210345772 A CN 201210345772A CN 102902646 B CN102902646 B CN 102902646B
- Authority
- CN
- China
- Prior art keywords
- data
- transmitting terminal
- clock
- board
- frame
- 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.)
- Active
Links
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
- Logic Circuits (AREA)
Abstract
本申请提供了一种板卡通信方法及一种板卡、一种FPGA的加载方法和系统,其中的发送端板卡通信方法具体包括:发送端板卡将传输数据封装为数据帧;发送端板卡对所述数据帧进行时钟合路,得到相应的合路数据;发送端板卡将所述合路数据通过背板的一根数据线发送给接收端板卡。本申请能够在节省背板走线资源的前提下,以较少的存储器成本完成FPGA的加载,缩短FPGA所在板卡的启动时间。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种板卡通信方法及一种板卡、一种FPGA的加载方法和系统。
背景技术
目前FPGA(现场可编程门阵列,FieldProgrammableGateArray)具有编程灵活性和硬件高速性,因此,得到越来越广泛的应用。
在当前的TD-SCDMA(时分同步码分多址,TimeDivision-SynchronousCodeDivisionMultipleAccess)基站系统中,FPGA器件的使用非常广泛。例如,一种基站系统由主板卡和子板组成,其中,主板卡具体可以包括:MCU(微控制单元,MicroControlUnit))、Flash(闪速存储器)、EPLD(可擦除可编程逻辑器件,ErasableProgrammableLogicDevice)、接口接插件等器件,子板具体可以包括FPGA器件、Flash、EPLD、接口接插件等器件;主板卡和子板通过接口接插件进行通讯。
由于FPGA器件是一种掉电不保存数据的逻辑芯片,故要求在每次上电后都重新加载,也即将数据重新写入FPGA器件中,使其能够正常工作。
现有FPGA的加载方法有很多,常用的有主动加载和被动加载两种。
被动加载的原理为,将主板卡的处理器(如MCU等)作为加载过程的master(主),将FPGA器件作为加载过程的slave(从),由MCU主动从本身挂载的存储芯片(如Flash等)中将配置文件加载到FPGA器件中,FPGA器件在整个过程中处于被动地位;由于配置文件中往往含有不止一个配置命令和不止一个配置数据,而每个配置命令和配置数据均需要通过数据线传输以实现并行加载;这样,被动加载需要使用多根主板卡背板的数据线与子板相连,而对于已完成背板设计的主板卡或子板卡,其走线资源是非常有限的,故被动加载在现有技术中是基本无法实现的。
主动加载的原理为,FPGA器件受到触发后,主动从自身挂载的存储芯片(如Flash为例等)中按照FPGA器件硬件实现的通信协议提取出配置文件,并将配置文件加载起来,FPGA器件在整个过程中处于主动地位。
现有技术一般采用主动模式完成FPGA的加载。在主动加载模式下FPGA需使用提供内部存储空间或外部存储器存储空间的存储器件,通常该存储器件被划分为3部分空间:GOLDEN空间,RUNNING空间和BACKUP空间,每个存储空间中存储1个FPGA镜像文件。
参照图1,示出了现有技术一种主动加载模式的流程图。其中,FPGA器件在上电复位完成后,会先读取SPI(串行外围设备接口,serialperipheralinterface)Flash存储器的GOLDEN空间中的版本,并启动FPGA内嵌处理器;在FPGA内嵌处理器启动后,会触发FPGA器件使用RUNNING空间中的版本重新加载;在重新加载完成后FPGA器件才开始正常工作。可见,主动加载FPGA需要在子板上外挂存储器件以存储3个FPGA镜像文件,这导致存储器成本随FPGA规模的增加;另外,主动加载FPGA需要分别加载GOLDEN空间和RUNNING空间中的版本,加载流程复杂,从而导致子板的启动时间较长。
遇到FPGA版本升级的情况,参照图1,FPGA内嵌处理器还需要通过通信接口,接收主板卡发送的升级镜像文件,并烧写至当前的BACKUP空间中,然后并交换存储器中存储的RUNNING空间和BACKUP空间地址;在重启FPGA器件后,先从GOLDEN空间开始加载,重启后加载新的RUNNING空间,才能完成版本升级工作。可见,FPGA版本升级同样需要耗费存储器成本,且其流程除了包括普通加载操作外,还可以包括与主板卡通信、文件烧写及空间地址交换等操作,也即FPGA版本升级的流程更为繁琐,从而导致子板的启动时间更加漫长。
总之,需要本领域技术人员迫切解决的一个技术问题就是:如何能够在节省背板走线资源的前提下,以较少的存储器成本完成FPGA的加载,缩短FPGA所在板卡的启动时间。
发明内容
本申请所要解决的技术问题是提供一种板卡通信方法及一种板卡、一种FPGA的加载方法和系统,能够在节省背板走线资源的前提下,以较少的存储器成本完成FPGA的加载,缩短FPGA所在板卡的启动时间。
为了解决上述问题,本申请公开了一种板卡通信方法,所述板卡作为发送端板卡,所述方法包括:
发送端板卡将传输数据封装为数据帧;
发送端板卡对所述数据帧进行时钟合路,得到相应的合路数据;
发送端板卡将所述合路数据通过背板的一根数据线发送给接收端板卡。
优选的,所述传输数据包括命令和命令对应数据;
则所述发送端板卡将传输数据封装为数据帧的步骤进一步包括:
分别将所述命令和命令对应数据编码为命令信息和数据信息。
优选的,所述发送端板卡对所述数据帧进行时钟合路,得到相应的合路数据的步骤,进一步包括:
将所述数据帧的每个编码位扩展为若干个发送端板卡时钟周期的合路数据,所述若干个发送端板卡的时钟周期的合路数据包括:
第一数据,其为宽度为(A+0.5)倍发送端板卡时钟周期的高脉冲数据;
第二数据,其为宽度为B倍发送端板卡时钟周期的脉冲数据,脉冲极性与所述数据帧的编码位一致;
第三数据,其为宽度为(C+0.5)倍发送端板卡时钟周期的低脉冲数据;
其中,A,B,C为大于0的自然数。
优选的,A为1,B为2,C为1。
优选的,所述命令信息的长度为2位,所述数据信息的长度为8位。
优选的,所述发送端板卡包括处理器、存储器和可编程逻辑器件;
则所述方法还包括:
所述处理器通过并行IO口从所述存储器读取传输数据,并将所述传输数据通过并行IO口输出给所述可编程逻辑器件;
所述可编程逻辑器件将传输数据封装为数据帧;
所述可编程逻辑器件对所述数据帧进行时钟合路,得到相应的合路数据;
所述可编程逻辑器件将所述合路数据通过背板的一根数据线发送给接收端板卡。
优选的,所述方法还包括:
所述处理器生成命令,并将所述命令作为传输数据通过并行IO口输出给所述可编程逻辑器件。
另一方面,本申请还公开了一种板卡通信方法,所述板卡作为接收端板卡,所述方法包括:
接收端板卡通过背板的一根数据线接收来自发送端板卡的合路数据;
接收端板卡从所述合路数据中恢复出发送端时钟,并依据所述发送端时钟采样得到恢复后合路数据;
接收端板卡对所述恢复后合路数据进行解帧,得到原始传输数据。
优选的,所述接收端板卡从所述合路数据中恢复出发送端时钟的步骤,进一步包括:
依据接收端时钟对所述合路数据采样并延迟D个周期,恢复得到发送端时钟;D为大于0的自然数。
优选的,所述接收端板卡对所述恢复后合路数据进行解帧,得到原始传输数据的步骤,进一步包括:
依据计数器将所述恢复后合路数据分解为数据帧;所述计数器的长度等于所述数据帧的长度;
将所述数据帧恢复为原始传输数据。
再一方面,本申请还公开了一种FPGA的加载方法,包括:
主板卡将配置命令和相应的配置数据封装为数据帧;
主板卡对所述数据帧进行时钟合路,得到相应的合路数据;
主板卡将所述合路数据通过背板的一根数据线发送给接收端板卡;
子板卡通过背板的一根数据线接收来自主板卡的合路数据;所述子板卡为FPGA所在板卡;
子板卡从所述合路数据中恢复出发送端时钟,并依据所述发送端时钟采样得到恢复后合路数据;
子板卡对所述恢复后合路数据进行解帧,得到配置命令和相应的配置数据;
子板卡依据所述配置命令和相应的配置数据,进行FPGA的加载。
优选的,所述方法还包括:
子板卡在FPGA加载成功后,将背板的该根数据线拉低约定时间后释放;
主板卡在所述约定时间内检测背板的该根数据线的电平状态,若电平状态为低则认为子板卡的FPGA加载成功,若电平状态为高则认为子板卡的FPGA加载失败。
另一方面,本申请还公开了一种板卡,所述板卡作为发送端板卡,所述发送端板卡包括:
成帧模块,用于将传输数据封装为数据帧;
时钟合路模块,用于对所述数据帧进行时钟合路,得到相应的合路数据;及
发送模块,用于将所述合路数据通过背板的一根数据线发送给接收端板卡。
优选的,所述传输数据包括命令和命令对应数据;
则所述成帧模块进一步包括:
编码子模块,用于分别将所述命令和命令对应数据编码为命令信息和数据信息。
优选的,所述时钟合路模块进一步包括:
编码位扩展子模块,用于将所述数据帧的每个编码位扩展为若干个发送端板卡时钟周期的合路数据,所述若干个发送端板卡的时钟周期的合路数据包括:
第一数据,其为宽度为(A+0.5)倍发送端板卡时钟周期的高脉冲数据;
第二数据,其为宽度为B倍发送端板卡时钟周期的脉冲数据,脉冲极性与所述数据帧的编码位一致;
第三数据,其为宽度为(C+0.5)倍发送端板卡时钟周期的低脉冲数据;
其中,A,B,C为大于0的自然数。
优选的,所述发送端板卡包括处理器、存储器和可编程逻辑器件;其中
所述处理器通过并行IO口从所述存储器读取传输数据,并将所述传输数据通过并行IO口输出给所述可编程逻辑器件;
所述可编程逻辑器件包括所述成帧模块、时钟合路模块和发送模块。
另一方面,本申请还公开了一种板卡,所述板卡作为接收端板卡,所述接收端板卡包括:
接收模块,用于通过背板的一根数据线接收来自发送端板卡的合路数据;
时钟恢复模块,用于从所述合路数据中恢复出发送端时钟;
采样模块,用于依据所述发送端时钟采样得到恢复后合路数据;及
解帧模块,用于对所述恢复后合路数据进行解帧,得到原始传输数据。
优选的,所述时钟恢复模块进一步包括:
采样延迟子模块,用于依据接收端时钟对所述合路数据采样并延迟D个周期,恢复得到发送端时钟;D为大于0的自然数。
优选的,所述解帧模块进一步包括:
分解子模块,用于依据计数器将所述恢复后合路数据分解为数据帧;所述计数器的长度等于所述数据帧的长度;
解帧子模块,用于将所述数据帧恢复为原始传输数据。
另一方面,本申请还公开了一种FPGA的加载系统,包括主板卡和子板卡,其中,所述子板卡为FPGA所在板卡;所述主板卡进一步包括:
成帧模块,用于将配置命令和相应的配置数据封装为数据帧;
时钟合路模块,用于对所述数据帧进行时钟合路,得到相应的合路数据;及
发送模块,用于将所述合路数据通过背板的一根数据线发送给接收端板卡;
所述子板卡进一步包括:
接收模块,用于通过背板的一根数据线接收来自主板卡的合路数据;
时钟恢复模块,用于从所述合路数据中恢复出发送端时钟;
采样模块,用于依据所述发送端时钟采样得到恢复后合路数据;
解帧模块,用于对所述恢复后合路数据进行解帧,得到配置命令和相应的配置数据;及
加载模块,用于依据所述配置命令和相应的配置数据,进行FPGA的加载。
优选的,所述子板卡还包括:
数据线操控模块,用于在FPGA加载成功后,将背板的该根数据线拉低约定时间后释放;
所述主板卡还包括:
检测模块,用于在所述约定时间内检测背板的该根数据线的电平状态,若电平状态为低则认为子板卡的FPGA加载成功,若电平状态为高则认为子板卡的FPGA加载失败。
与现有技术相比,本申请具有以下优点:
本申请提供了一种板卡通信的技术方案,其由发送端板卡在将传输数据封装为数据帧,对所述数据帧进行时钟合路,得到相应的合路数据;由于所述合路数据为依据传输数据合路得到的一路数据,故仅需使用一根数据线即可进行合路数据的传输;相对于现有技术中需要使用多根背板的数据线来逐位传输较大数据量的传输数据,本申请仅使用背板的一根数据线即可实现较大数据量的传输。
本申请板卡通信的技术方案的实施只需使用板卡上已有的器件来执行相应的操作即可,无需耗费多余的器件成本。
本申请板卡通信的技术方案可以应用于FPGA的加载;在实施本申请FPGA的加载方案时,发送端板卡仅需要使用1个存储器存储1个FPGA镜像文件即可,并且,通常板卡上会部署有1个存储器的;这样,相对于现有技术中主动加载使用3个存储器存储3个FPGA镜像文件,本申请仍能以较少的存储器成本完成FPGA的加载;并且,接收端板卡依据接收到的数据进行FPGA的加载或升级即可,无需现有技术中依据接收到的数据进行FPGA的加载或升级即可,无需现有技术中复杂的加载或升级流程,故还能够缩短FPGA所在板卡的启动时间。综上,本申请FPGA的加载方案仅需使用背板的一根数据线和板卡上已有的1个存储器,因此,能够在节省背板走线资源的前提下,以较少的存储器成本完成FPGA的加载,缩短FPGA所在板卡的启动时间。
附图说明
图1是现有技术一种主动加载模式的流程图;
图2是本申请一种板卡通信方法实施例1的流程图;
图3是本申请一种数据帧结构示意图;
图4是本申请一种时钟合路的流程图;
图5是本申请一种板卡通信方法实施例2的流程图;
图6是本申请一种基站系统中主板卡的结构示意图;
图7是本申请一种MCU向EPLD命令寄存器或数据寄存器写数据的时序图;
图8是本申请一种板卡通信方法实施例3的流程图;
图9是本申请一种时钟恢复的示意图;
图10是本申请一种基站系统中子板卡的结构示意图;
图11是本申请一种FPGA的加载方法实施例1的流程图;
图12是本申请一种FPGA的加载方法实施例2的流程图;
图13是本申请一种板卡实施例1的结构图;
图14是本申请一种板卡实施例2的结构图;
图15是本申请一种FPGA的加载系统实施例的结构图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
在现有基站系统的框架下,无论是主板卡还是子板卡,均已完成背板设计,故主板卡还是子板卡的走线资源是非常有限的。但是,FPGA的被动加载的实现过程中,主板卡需要通过背板的数据线将不止一个配置命令和不止一个配置数据传输至子板卡,也即主板卡和子板卡均需要使用多根背板的数据线,这对已完成背板设计的主板卡和子板卡是不可能的,故FPGA的被动加载基本是无法实现的,令本领域技术人员望而却步。
但是,FPGA的主动加载会耗费较多的存储器成本,且会增加FPGA所在板卡的启动时间。
本申请发明人注意到,如果能够使用有限的走线资源实现较大数据量的传输,则能够实现FPGA的被动加载,故能够节省FPGA的主动加载所耗费的存储器成本;而且子板卡依据接收到的数据进行FPGA的加载或升级即可,无需现有技术中复杂的加载或升级流程,故所述传输又能够缩短FPGA所在板卡的启动时间。
本申请提供了一种板卡通信的技术方案,其能够使用背板的一根数据线实现较大数据量的传输,在此通过实施例进行详细说明。
参照图2,示出了本申请一种板卡通信方法实施例1的流程图,所述板卡作为发送端板卡,所述方法具体可以包括:
步骤201、发送端板卡将传输数据封装为数据帧;
本申请可以用于在板卡之间实现较大数据量传输数据的传输,这里的传输数据可以包括命令和数据中的一种或组合等等,本申请对具体的传输数据不加以限制。
在具体实现中,所述发送端板卡将传输数据封装为数据帧的过程可以包括将传输数据进行编码的过程;具体而言,将传输数据中的命令编码为命令信息,或者,将传输数据中的数据编码为数据信息,等等。
在本申请的一种优选实施例中,所述传输数据可以进一步包括命令和命令对应数据;
则所述发送端板卡将传输数据封装为数据帧的步骤可以进一步包括:
分别将所述命令和命令对应数据编码为命令信息和数据信息。
例如,在本申请的一种应用示例中,所述命令信息的长度为2位(bit),所述数据信息的长度为8位。
参照图3,示出了本申请一种数据帧结构示意图,可以用CMD表示依据FPGA的配置命令编码得到的命令信息,以及,用CFG_DATA表示依据配置命令对应数据编码得到的数据信息,其中:
CMD:由2bit构成,用于传递三种配置命令;
CFG_DATA:由8bit构成,用于传递配置数据。
参照表1,示出了图3所示数据帧的格式定义。
表1
当然,上述图3和表1仅是作为示例,实际上本申请对具体的命令信息和数据信息的长度及定义内容不加以限制。
另外,图3和表1示出了命令和命令对应数据被编码为数据帧的示例,实际上,本申请的数据帧并不局限于图3和表1,例如,本申请的数据帧可以仅仅包括依据命令编码得到的命令信息等等。
步骤202、发送端板卡对所述数据帧进行时钟合路,得到相应的合路数据;
由于传输数据的数据量较大,为了实现传输数据的单线传输,也即为了使用背板的一根数据线传输数据,本申请实施例需要对所述数据帧进行时钟合路。相对于现有技术,本申请的时钟合路能够将现有技术用多根背板的数据线传输的数据合路为一路,以使用一根数据线进行传输。
在本申请的一种优选实施例中,所述发送端板卡对所述数据帧进行时钟合路,得到相应的合路数据的步骤,可以进一步包括:
将所述数据帧的每个编码位扩展为若干个发送端板卡时钟周期的合路数据,所述若干个发送端板卡的时钟周期的合路数据具体可以包括:
第一数据,其为宽度为(A+0.5)倍发送端板卡时钟周期的高脉冲数据;
第二数据,其为宽度为B倍发送端板卡时钟周期的脉冲数据,脉冲极性与所述数据帧的编码位一致;
第三数据,其为宽度为(C+0.5)倍发送端板卡时钟周期的低脉冲数据;
其中,A,B,C为大于0的自然数。
第一数据可作为接收端板卡判断时钟沿是否到来的依据;其(A+0.5)倍发送端板卡时钟周期的宽度主要用于为接收端板卡的采样提供充裕的建立时间,避免接收端板卡采用与发送端板卡时钟周期同频的时钟采样合路数据引起的漏采样或亚稳态问题。
在具体实现中,A为大于等于1的数值,即可避免漏采样和亚稳态问题,保证接收端数据与发送端数据的高度一致性,保证传输准确度。但是,A的数值过大容易增加合路数据的长度,降低传输效率。
在本申请的一种优选实施例中,A为1,既能避免漏采样和亚稳态问题,保证接收端数据与发送端数据的高度一致性,保证传输准确度;又能够尽可能地减少合路数据的长度,提高传输效率。
第二数据作为有效数据,用于表示要传输的数据帧的编码位(bit)。在具体实现中,B为大于等于2的数值,即可有效表达要传输的数据帧的相应bit。在本申请的一种优选实施例中,B为2,能够达到传输准确度和高传输效率的最优。
第三数据可作为上一合路数据的第二数据与下一合路数据的第一数据之间的保护间隔,主要用于为接收端板卡的采样提供保持时间。在具体实现中,C为大于等于1的数值,即可避免采样结果的失真率,保证传输准确度。但是,C的数值过大容易增加合路数据的长度,降低传输效率。在本申请的一种优选实施例中,C为2,能够达到传输准确度和高传输效率的最优。
参照图4,示出了本申请一种时钟合路的流程图,假设TX_CLK表示发送端板卡时钟周期,则图4所示的时钟合路过程将每个数据帧的编码bit扩展成5个TX_CLK周期,这5个TX_CLK时钟周期可分为三个部分:
FLAG:该部分用于表示第一数据,其是宽度为1.5倍TX_CLK周期的高脉冲,可被作为接收端板卡判断时钟沿是否到来的依据;
DATA_BIT:该部分用于表示第二数据,其是宽度为2倍TX_CLK周期的脉冲,脉冲极性与要传输的数据帧的编码bit一致;
GAP:该部分用于表示第三数据,其是宽度为1.5倍TX_CLK周期的低脉冲,作为DATA_BIT与下一FLAG之间的保护间隔。
步骤203、发送端板卡将所述合路数据通过背板的一根数据线发送给接收端板卡。
由于传输数据的数据量较大,现有技术中需要使用多根背板的数据线来传输这些传输数据;而本申请实施例的发送端板卡在将传输数据封装为数据帧,对所述数据帧进行时钟合路,得到相应的合路数据,由于所述合路数据为依据传输数据合路得到的一路数据,故仅需使用一根数据线即可进行合路数据的传输。
参照图5,示出了本申请一种板卡通信方法实施例2的流程图,所述板卡作为发送端板卡,所述发送端板卡具体可以包括处理器、存储器和可编程逻辑器件;
所述方法具体可以包括:
步骤501、所述处理器通过并行IO口从所述存储器读取传输数据,并将所述传输数据通过并行IO口输出给所述可编程逻辑器件;
步骤502、所述可编程逻辑器件将传输数据封装为数据帧;
步骤503、所述可编程逻辑器件对所述数据帧进行时钟合路,得到相应的合路数据;
步骤504、所述可编程逻辑器件将所述合路数据通过背板的一根数据线发送给接收端板卡。
相对于方法实施例1,方法实施例2可指定发送端板卡上的器件来执行相应的操作。其中,所述存储器可用于存储传输数据;所述处理器可用于通过并行IO口从所述存储器读取传输数据,并将所述传输数据通过并行IO口输出给所述可编程逻辑器件;所述可编程逻辑器件可用于执行将传输数据封装为数据帧、对所述数据帧进行时钟合路,得到相应的合路数据等操作。
通常处理器为板卡上已有的器件,例如,大多数板卡上有MCU处理器;通常板卡上也部署有FLASH、ROM(只读存储器,ReadOnlyMemory)或RAM(随机存储器、randomaccessmemory)等存储器;另外,通常板卡上也会部署有CPLD(复杂可编程逻辑器件,ComplexProgrammableLogicDevice)、EPLD等可编程逻辑器件。故本申请的实施只需使用板卡上已有的器件来执行相应的操作即可,无需耗费多余的器件成本。
在本申请的一种优选实施例中,所述传输数据还可以包括所述处理器产生的命令,相应地,所述方法还可以包括:所述处理器生成命令,并将所述命令作为传输数据通过并行IO口输出给所述可编程逻辑器件。
综上,本申请板卡通信方案的实施只需使用板卡上已有的器件来执行相应的操作即可,无需耗费多余的器件成本。
在本申请应用于FPGA的加载时,发送端仅需要使用1个存储器存储1个FPGA镜像文件即可,并且,通常板卡上会部署有1个存储器的;这样,相对于现有技术中主动加载使用3个存储器存储3个FPGA镜像文件,本申请仍能以较少的存储器成本完成FPGA的加载。
为使本领域技术人员更好地理解本申请,以下针对基站系统中主板卡,描述其在FPGA的加载过程中的板卡通信方法示例;
参照图6,示出了本申请一种基站系统中主板卡的结构示意图,所述主板卡具体可以包括MCU、FLASH、EPLD、晶振和接口接插件,其中,
所述MCU可以进一步包括MIF(处理器接口,MCUInterface)接口;
所述FLASH用于存储FPGA的配置文件,该配置文件通常为bit文件,该bit文件中通常包含文件头信息和加载FPGA所需的配置数据;
所述晶振产生的时钟TX_CLK提供给EPLD;
所述接口接插件通过背板的一根数据线SER_DATA与接收端板卡相连;
所述EPLD可以进一步包括成帧模块、合路模块、命令寄存器和数据寄存器;
该方法示例具体可以包括:
步骤S1、MCU通过MIF接口从FLASH读取bit文件;
步骤S2、MCU生成FPGA的配置命令;配置命令通常由MCU上的C语言代码实现;
步骤S3、MCU检测EPLD的成帧模块是否空闲,如果空闲则通过MIF接口按图7时序向EPLD命令寄存器或数据寄存器写入相应的配置命令或配置数据;
图7中,clk为MCU外部时钟,clk、cs、we、oe、addr、data等信号是MCU产生。其中,cs是MCU产生的片选信号,we是写使能信号,oe是读使能信号,addr是地址信号,data是数据信号。具体原理可以参考并行norflash接口时序。本申请实施例中,EPLD可以通过代码将自己伪装成一片NORFlash,对于MCU而言,EPLD实际上是一片NORFlash器件。请参考附件:
根据图7的时序,当cs信号被拉高后,MCU对EPLD的一次写操作结束。成帧模块采样到cs信号的上升沿后,即可开始一次成帧过程.
步骤S4、成帧模块将所述配置数据和配置命令封装为数据帧;
步骤S5、合路模块对所述数据帧进行时钟合路,得到相应的合路数据;
步骤S6、合路将合路数据通过接口接插件及SER_DATA发送给接收端板卡。
现通过实际中的传输例子证明本申请数据的传输时间。
假设以FPGA的bit文件大小filesize为5MB,数据线波特律baudrate为25Mbps,按照本申请bit编码方式1bit数据使用5baud传输即bitmult=5,按照本申请图3所示的数据帧结构所示1Byte数据需要10bit长度即Bytemult=1.25,处理器并行数据口的读写效率effect为80%,则bit文件的传输时间为t=(bitmult×Bytemult×(filesize/baudrate))/effect=10s;实践证明本申请能够实现较大数据量的快速传输。
参照图8,示出了本申请一种板卡通信方法实施例3的流程图,所述板卡作为接收端板卡,所述方法具体可以包括:
步骤801、接收端板卡通过背板的一根数据线接收来自发送端板卡的合路数据;
步骤802、接收端板卡从所述合路数据中恢复出发送端时钟,并依据所述发送端时钟采样得到恢复后合路数据;
由于发送端板卡和接收端板卡中数字信号使用的时钟来自不同的振荡器,这两个振荡器同频可以达到好的传输性能(如不失真等),但由于使用不同的时钟源,故两个时钟的相位关系是随机的。而在数字化传输系统中,接收端的时钟相位必须与发送端的时钟相位一直才能保证传输的准确度。故接收端板卡需要从所述合路数据中恢复出发送端时钟。
在本申请的一种优选实施例中,所述接收端板卡从所述合路数据中恢复出发送端时钟的步骤,可以进一步包括:
依据接收端时钟对所述合路数据采样并延迟D个周期,恢复得到发送端时钟;D为大于0的自然数。
参照图9,示出了本申请一种时钟恢复的示意图,其中,RX_CLK为接收端时钟,CFG_DATA为使用图4得到的合路数据且被接收端板卡接收到,CFG_CLK为恢复得到的发送端时钟。
现对CFG_DATA进行分析,由于CFG_DATA链路上在有效数据前存在FLAG这一个上升沿,且CFG_DATA上一定存在至少1.5倍TX_CLK即RX_CLK宽的GAP低脉冲。因此,只需用RX_CLK将CFG_DATA采样并延迟2个RX_CLK周期,即可得到能够正确采样DATA_BIT的发送端时钟。
需要说明的是,除了依据接收端时钟对所述合路数据采样并延迟D个周期的时钟恢复方法外,本申请还可以采用其它时钟恢复方法,例如,对RX_CLK的宽度进行调整,并依据调整后RX_CLK对所述合路数据采样并延迟D’个周期,恢复得到发送端时钟;D’为大于0的自然数等等。本申请对具体的时钟恢复方法不加以限制。
在具体实现中,时钟恢复操作可以通过EPLD完成,也可以使用独立的D触发器完成,本申请对具体的执行主体不加以限制。
在实际应用中,依据所述发送端时钟对所述合路数据进行采样,即可得到恢复后合路数据。
步骤803、接收端板卡对所述恢复后合路数据进行解帧,得到原始传输数据。
在本申请的一种优选实施例中,所述接收端板卡对所述恢复后合路数据进行解帧,得到原始传输数据的步骤,可以进一步包括:
步骤A1、依据计数器将所述恢复后合路数据分解为数据帧;所述计数器的长度等于所述数据帧的长度;
步骤A2、将所述数据帧恢复为原始传输数据。
假设所述数据帧的长度为10bit,则可以采用模10计数器将所述恢复后合路数据分解为若干个独立的数据帧。例如,图4和图9中的CFG_DATA对应数据帧的一个编码bit,则从接收到第一个CFG_DATA起,连续计数10个CFG_DATA,依据该10个CFG_DATA时钟恢复并采样得到的数据即为发送端板卡传输的第一个数据帧;依次类推,即可得到后续的数据帧。
在实际应用中,步骤A2通过解码即可将所述数据帧恢复为原始传输数据。本申请对具体的编解码算法是不加以限制的。
如果步骤A1得到图3所示数据帧,则需要依据2bit和8bit的长度将数据帧回复为CMD和CFG_DATA两个部分,然后进行相应的解码。
在本申请的一种优选实施例中,所述合路数据为依据所述数据帧的每个编码位扩展为若干个发送端板卡时钟周期的合路数据,所述若干个发送端板卡的时钟周期的合路数据具体可以包括:
第一数据,其为宽度为(A+0.5)倍发送端板卡时钟周期的高脉冲数据;
第二数据,其为宽度为B倍发送端板卡时钟周期的脉冲数据,脉冲极性与所述数据帧的编码位一致;
第三数据,其为宽度为(C+0.5)倍发送端板卡时钟周期的低脉冲数据;
其中,A,B,C为大于0的自然数。
由于第一数据可作为接收端板卡判断时钟沿是否到来的依据,其(A+0.5)倍发送端板卡时钟周期的宽度主要用于为接收端板卡的采样提供充裕的建立时间,避免接收端板卡采用与发送端板卡时钟周期同频的时钟采样合路数据引起的漏采样或亚稳态问题;第二数据作为有效数据,用于表示要传输的数据帧的编码位(bit);第三数据可作为上一合路数据的第二数据与下一合路数据的第一数据之间的保护间隔,主要用于为接收端板卡的采样提供保持时间。因此,所述充裕的建立时间和保持时间能够避免接收端板卡采样合路数据引起的漏采样或亚稳态问题,避免采样结果的失真率,保证传输准确度。
为使本领域技术人员更好地理解本申请,以下针对基站系统中子板卡,描述其在FPGA的加载过程中的板卡通信方法示例;
参照图10,示出了本申请一种基站系统中子板卡的结构示意图,所述子板卡具体可以包括FPGA、EPLD、晶振和接口接插件,其中,
所述晶振产生的时钟RX_CLK提供给EPLD;
所述接口接插件通过背板的一根数据线SER_DATA与发送端板卡相连,并接收来自发送端板卡的合路数据;
所述EPLD可以进一步包括时钟恢复模块和解帧模块;
该方法示例具体可以包括:
步骤T1、EPLD通过SER_DATA、接口接插件接收来自发送端板卡的合路数据;
步骤T2、时钟恢复模块从所述合路数据中恢复出发送端时钟,并依据所述发送端时钟采样得到恢复后合路数据;
步骤T3、解帧模块对所述恢复后合路数据进行解帧,得到原始传输数据;
步骤T4、EPLD依据所述原始传输数据进行FPGA的加载
对于板卡通信方法实施例3而言,由于其为板卡通信方法实施例1-2的逆过程,所以描述的比较简单,相关之处参见板卡通信方法实施例1-2的部分说明即可。
上述板卡通信方法可以应用于FPGA的被动加载过程中,参照图11,示出了本申请一种FPGA的加载方法实施例1的流程图,具体可以包括:
步骤1101、主板卡将配置命令和相应的配置数据封装为数据帧;
步骤1102、主板卡对所述数据帧进行时钟合路,得到相应的合路数据;
步骤1102、主板卡将所述合路数据通过背板的一根数据线发送给接收端板卡;
步骤1104、子板卡通过背板的一根数据线接收来自主板卡的合路数据;所述子板卡为FPGA所在板卡;
步骤1105、子板卡从所述合路数据中恢复出发送端时钟,并依据所述发送端时钟采样得到恢复后合路数据;
步骤1106、子板卡对所述恢复后合路数据进行解帧,得到配置命令和相应的配置数据;
步骤1107、子板卡依据所述配置命令和相应的配置数据,进行FPGA的加载。
其中,步骤1101-步骤1103可具体参照板卡通信方法实施例1-2的相关说明,步骤1104-步骤1106可具体参照板卡通信方法实施例3的相关说明。
现通过FPGA的各种配置命令,说明步骤1107的加载过程:
RESET命令:该命令将子板卡计数器清零并将EPLD置为空闲状态;RESET命令执行的方式通常为,子板卡的EPLD检测到数据帧的CMD域为11时,即可认为接收到RESET命令,故发起一次自复位,复位过程会自动完成。
PROG命令:该命令将触发EPLD清除FPGA逻辑。PROG命令执行的方式通常为,子板卡的EPLD检测到数据帧的CMD域为01时,即可认为接收到PROG命令,故拉低FPGA的PROGRAM_B管脚,清空FPGA逻辑。
DATA_BEGIN命令:该命令将触发EPLD完成数据接收和FPGA加载。DATA_BEGIN命令执行的方式通常为,子板卡的EPLD检测到数据帧的CMD域为10时,即可认为接收到DATA_BEGIN命令,故释放FPGA的PROGRAM_B管脚,并依据CFG_DATA域的配置数据进行FPGA的加载。
在本申请的一种优选实施例中,主板卡可以通过背板的该根数据线的电平状态判断子板卡的FPGA是否加载成功,相应地,所述方法还可以包括:
子板卡在FPGA加载成功后,将背板的该根数据线拉低约定时间后释放;
主板卡在所述约定时间内检测背板的该根数据线的电平状态,若电平状态为低则认为子板卡的FPGA加载成功,若电平状态为高则认为子板卡的FPGA加载失败。
在具体实现中,子板卡的EPLD可以检测FPGA的DONE信号是否拉高,若DONE信号拉高,则认为FPGA已经加载成功,并将数据线拉低约定时间后释放。
主板卡在传输完成后,可将EPLD数据线置为高阻状态并在约定时间检测背板的该根数据线的电平状态,若电平状态为低则可认为子板卡FPGA加载成功;若电平状态为高则可认为子板卡的FPGA加载失败,通知处理器重新启动加载流程。
需要说明的是,所述约定时间可由本领域技术人员依据实际需求确定,本申请对具体的约定时间不加以限制。
需要说明的是,本申请也可用于FPGA的升级,只需主板卡将最新版本的配置文件传输至子板卡,由子板卡依据最新版本的配置文件进行升级即可,无需现有技术中FPGA主动加载的复杂流程。
在实施本申请FPGA的加载方案时,发送端板卡仅需要使用1个存储器存储1个FPGA镜像文件即可,并且,通常板卡上会部署有1个存储器的;这样,相对于现有技术中主动加载使用3个存储器存储3个FPGA镜像文件,本申请仍能以较少的存储器成本完成FPGA的加载;并且,接收端板卡依据接收到的数据进行FPGA的加载或升级即可,无需现有技术中依据接收到的数据进行FPGA的加载或升级即可,无需现有技术中复杂的加载或升级流程,故还能够缩短FPGA所在板卡的启动时间。综上,本申请FPGA的加载方案仅需使用背板的一根数据线和板卡上已有的1个存储器,因此,能够在节省背板走线资源的前提下,以较少的存储器成本完成FPGA的加载,缩短FPGA所在板卡的启动时间。
参照图12,示出了一种FPGA的加载方法实施例2的流程图,具体可以包括主板卡工作流程和子板卡工作流程;
其中的主板卡工作流程具体可以包括:
步骤1201、检测子板卡的在位;
在控制系统中,板卡之间的互联普遍采用插卡式结果,通常由一块背板和数块板卡构成;其中,数块板卡通过其上的接口接插件等连接器与背板插件链接。当板卡上电的同时,检测自己或其它板卡与背板的接口信号是否可靠的连接也即板卡在位信号的检测。由于板卡在位信号的检测为控制领域内的公知技术,故在此不作赘述。
步骤1202、检测背板的一根数据线的电平状态;
步骤1203、判断该根数据线的电平状态是否为高,若是,则执行步骤1204,否则返回步骤1202;
加载开始前,主板卡可将背板的一根数据线驱动为高阻状态并使能管脚内部上拉电阻;检测该根数据线的电平,若该根数据线的电平为低,则认为子板卡尚未就绪,加载不能开始;若该根数据线的电平为高,则认为子板卡已经就绪,可以开始FPGA的跨板加载流程。
步骤1204、向子板卡发送配置命令及相应的配置数据;
所述配置命令及相应的配置数据具体包括:RESET命令;PROG命令;DATA_BEGIN命令以及数据;
步骤1205、在约定时间内检测背板的该根数据线的电平状态;
步骤1206、判断该根数据线的电平状态是否为低,若是,则执行步骤1207,否则返回步骤1201;
步骤1207、子板卡的FPGA加载成功。
其中的子板卡工作流程具体可以包括:
步骤121、子板卡处于IDLE(空闲)状态,释放背板的一根数据线;
步骤122、进行数据的恢复和解析;
步骤123、判断是否接收到RESET命令,若是,则执行步骤124,否则继续执行步骤123;
步骤124、子板卡的EPLD自复位;
步骤125、判断是否接收到PROG命令,若是,则执行步骤126,否则继续执行步骤125;
步骤126、清空FPGA逻辑;
步骤127、判断是否接收到DATA_BEGIN命令以及数据,若是,则执行步骤128,否则继续执行步骤127;
步骤128、加载FPGA;
步骤129、判断FPGA的DONE信号拉高与否,若是,则执行步骤1210,否则返回执行步骤121;
步骤1210、将背板的该根数据线拉低约定时间后释放。
参照图13,示出了本申请一种板卡实施例1的结构图,所述板卡作为发送端板卡,所述发送端板卡具体可以包括:
成帧模块1301,用于将传输数据封装为数据帧;
时钟合路模块1302,用于对所述数据帧进行时钟合路,得到相应的合路数据;及
发送模块1303,用于将所述合路数据通过背板的一根数据线发送给接收端板卡。
在本申请的一种优选实施例中,所述传输数据具体可以包括命令和命令对应数据;
则所述成帧模块1301可以进一步包括:
编码子模块,用于分别将所述命令和命令对应数据编码为命令信息和数据信息。
在本申请的另一种优选实施例中,所述时钟合路模块1302可以进一步包括:
编码位扩展子模块,用于将所述数据帧的每个编码位扩展为若干个发送端板卡时钟周期的合路数据,所述若干个发送端板卡的时钟周期的合路数据具体可以包括:
第一数据,其为宽度为(A+0.5)倍发送端板卡时钟周期的高脉冲数据;
第二数据,其为宽度为B倍发送端板卡时钟周期的脉冲数据,脉冲极性与所述数据帧的编码位一致;
第三数据,其为宽度为(C+0.5)倍发送端板卡时钟周期的低脉冲数据;
其中,A,B,C为大于0的自然数。
在本申请的再一种优选实施例中,所述发送端板卡具体可以包括处理器、存储器和可编程逻辑器件;其中
所述处理器通过并行IO口从所述存储器读取传输数据,并将所述传输数据通过并行IO口输出给所述可编程逻辑器件;
所述可编程逻辑器件可以进一步包括所述成帧模块1301、时钟合路模块1302和发送模块1303。
参照图14,示出了本申请一种板卡实施例2的结构图,所述板卡作为接收端板卡,所述接收端板卡具体可以包括:
接收模块1401,用于通过背板的一根数据线接收来自发送端板卡的合路数据;
时钟恢复模块1402,用于从所述合路数据中恢复出发送端时钟;
采样模块1403,用于依据所述发送端时钟采样得到恢复后合路数据;及
解帧模块1404,用于依据所述恢复后合路数据进行解帧,得到原始传输数据。
在本申请的一种优选实施例中,所述时钟恢复模块1402可以进一步包括:
采样延迟子模块,用于依据接收端时钟对所述合路数据采样并延迟D个周期,恢复得到发送端时钟;D为大于0的自然数。
在本申请的另种优选实施例中,所述解帧模块1404可以进一步包括:
分解子模块,用于依据计数器将所述恢复后合路数据分解为数据帧;所述计数器的长度等于所述数据帧的长度;
解帧子模块,用于将所述数据帧恢复为原始传输数据。
对于板卡实施例而言,由于其与板卡通信方法实施例基本相似,所以描述的比较简单,相关之处参见板卡通信方法实施例的部分说明即可。
参照图15,示出了本申请一种FPGA的加载系统实施例的结构图,所述系统具体可以包括主板卡1501和子板卡1502,其中,所述子板卡为FPGA所在板卡;所述主板卡1501可以进一步包括:
成帧模块1511,用于将配置命令和相应的配置数据封装为数据帧;
时钟合路模块1512,用于对所述数据帧进行时钟合路,得到相应的合路数据;及
发送模块1513,用于将所述合路数据通过背板的一根数据线发送给接收端板卡;
所述子板卡1502可以进一步包括:
接收模块1521,用于通过背板的一根数据线接收来自主板卡的合路数据;
时钟恢复模块1522,用于从所述合路数据中恢复出发送端时钟;
采样模块1523,用于依据所述发送端时钟采样得到恢复后合路数据;
解帧模块1524,用于对所述恢复后合路数据进行解帧,得到配置命令和相应的配置数据;及
加载模块1525,用于依据所述配置命令和相应的配置数据,进行FPGA的加载。
在本申请的一种优选实施例中所述子板卡1502还可以包括:
数据线操控模块,用于在FPGA加载成功后,将背板的该根数据线拉低约定时间后释放;
所述主板卡还包括:
检测模块,用于在所述约定时间内检测背板的该根数据线的电平状态,若电平状态为低则认为子板卡的FPGA加载成功,若电平状态为高则认为子板卡的FPGA加载失败
对于FPGA的加载系统实施例而言,由于其与FPGA的加载方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本申请所提供的一种板卡通信方法及一种板卡、一种FPGA的加载方法和系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (19)
1.一种板卡通信方法,其特征在于,所述板卡作为发送端板卡,所述方法包括:
发送端板卡将传输数据封装为数据帧;
发送端板卡对所述数据帧进行时钟合路,得到相应的合路数据;
发送端板卡将所述合路数据通过背板的一根数据线发送给接收端板卡;
其中,所述发送端板卡对所述数据帧进行时钟合路,得到相应的合路数据的步骤,进一步包括:
将所述数据帧的每个编码位扩展为若干个发送端板卡时钟周期的合路数据,所述若干个发送端板卡的时钟周期的合路数据包括:
第一数据,其为宽度为(A+0.5)倍发送端板卡时钟周期的高脉冲数据;
第二数据,其为宽度为B倍发送端板卡时钟周期的脉冲数据,脉冲极性与所述数据帧的编码位一致;
第三数据,其为宽度为(C+0.5)倍发送端板卡时钟周期的低脉冲数据;
其中,A,B,C为大于0的自然数。
2.如权利要求1所述的方法,其特征在于,所述传输数据包括命令和命令对应数据,则所述发送端板卡将传输数据封装为数据帧的步骤进一步包括:
分别将所述命令和命令对应数据编码为命令信息和数据信息。
3.如权利要求1所述的方法,其特征在于,A为1,B为2,C为1。
4.如权利要求2所述的方法,其特征在于,所述命令信息的长度为2位,所述数据信息的长度为8位。
5.如权利要求1所述的方法,其特征在于,所述发送端板卡包括处理器、存储器和可编程逻辑器件FPGA;
则所述方法还包括:
所述处理器通过并行IO口从所述存储器读取传输数据,并将所述传输数据通过并行IO口输出给所述FPGA;
所述FPGA将传输数据封装为数据帧;
所述FPGA对所述数据帧进行时钟合路,得到相应的合路数据;
所述FPGA将所述合路数据通过背板的一根数据线发送给接收端板卡。
6.如权利要求1所述的方法,其特征在于,还包括:
处理器生成命令,并将所述命令作为传输数据通过并行IO口输出给FPGA。
7.一种板卡通信方法,其特征在于,所述板卡作为接收端板卡,所述方法包括:
接收端板卡通过背板的一根数据线接收来自发送端板卡的合路数据;
接收端板卡从所述合路数据中恢复出发送端时钟,并依据所述发送端时钟采样得到恢复后合路数据;
接收端板卡对所述恢复后合路数据进行解帧,得到原始传输数据;
其中,所述合路数据为若干个发送端板卡的时钟周期的合路数据,所述若干个发送端板卡的时钟周期的合路数据包括:
第一数据,其为宽度为(A+0.5)倍发送端板卡时钟周期的高脉冲数据;
第二数据,其为宽度为B倍发送端板卡时钟周期的脉冲数据,脉冲极性与数据帧的编码位一致;
第三数据,其为宽度为(C+0.5)倍发送端板卡时钟周期的低脉冲数据;
其中,A,B,C为大于0的自然数。
8.如权利要求7所述的方法,其特征在于,所述接收端板卡从所述合路数据中恢复出发送端时钟的步骤,进一步包括:
依据接收端时钟对所述合路数据采样并延迟D个周期,恢复得到发送端时钟;D为大于0的自然数。
9.如权利要求7所述的方法,其特征在于,所述接收端板卡对所述恢复后合路数据进行解帧,得到原始传输数据的步骤,进一步包括:
依据计数器将所述恢复后合路数据分解为数据帧;所述计数器的长度等于所述数据帧的长度;
将所述数据帧恢复为原始传输数据。
10.一种FPGA的加载方法,其特征在于,包括:
主板卡将配置命令和相应的配置数据封装为数据帧;
主板卡对所述数据帧进行时钟合路,得到相应的合路数据;
主板卡将所述合路数据通过背板的一根数据线发送给接收端板卡;
子板卡通过背板的一根数据线接收来自主板卡的合路数据;所述子板卡为FPGA所在板卡;
子板卡从所述合路数据中恢复出发送端时钟,并依据所述发送端时钟采样得到恢复后合路数据;
子板卡对所述恢复后合路数据进行解帧,得到配置命令和相应的配置数据;
子板卡依据所述配置命令和相应的配置数据,进行FPGA的加载;
其中,所述主板卡对所述数据帧进行时钟合路,得到相应的合路数据的步骤,进一步包括:
将所述数据帧的每个编码位扩展为若干个主板卡时钟周期的合路数据,所述若干个主板卡的时钟周期的合路数据包括:
第一数据,其为宽度为(A+0.5)倍主板卡时钟周期的高脉冲数据;
第二数据,其为宽度为B倍主板卡时钟周期的脉冲数据,脉冲极性与所述数据帧的编码位一致;
第三数据,其为宽度为(C+0.5)倍主板卡时钟周期的低脉冲数据;
其中,A,B,C为大于0的自然数。
11.如权利要求10所述的方法,其特征在于,还包括:
子板卡在FPGA加载成功后,将背板的该根数据线拉低约定时间后释放;
主板卡在所述约定时间内检测背板的该根数据线的电平状态,若电平状态为低则认为子板卡的FPGA加载成功,若电平状态为高则认为子板卡的FPGA加载失败。
12.一种板卡,其特征在于,所述板卡作为发送端板卡,所述发送端板卡包括:
成帧模块,用于将传输数据封装为数据帧;
时钟合路模块,用于对所述数据帧进行时钟合路,得到相应的合路数据;及
发送模块,用于将所述合路数据通过背板的一根数据线发送给接收端板卡;
其中,所述时钟合路模块进一步包括:
编码位扩展子模块,用于将所述数据帧的每个编码位扩展为若干个发送端板卡时钟周期的合路数据,所述若干个发送端板卡的时钟周期的合路数据包括:
第一数据,其为宽度为(A+0.5)倍发送端板卡时钟周期的高脉冲数据;
第二数据,其为宽度为B倍发送端板卡时钟周期的脉冲数据,脉冲极性与所述数据帧的编码位一致;
第三数据,其为宽度为(C+0.5)倍发送端板卡时钟周期的低脉冲数据;
其中,A,B,C为大于0的自然数。
13.如权利要求12所述的板卡,其特征在于,所述传输数据包括命令和命令对应数据,则所述成帧模块进一步包括:
编码子模块,用于分别将所述命令和命令对应数据编码为命令信息和数据信息。
14.如权利要求12所述的板卡,其特征在于,所述发送端板卡包括处理器、存储器和FPGA;其中
所述处理器通过并行IO口从所述存储器读取传输数据,并将所述传输数据通过并行IO口输出给所述FPGA;
所述FPGA包括所述成帧模块、时钟合路模块和发送模块。
15.一种板卡,其特征在于,所述板卡作为接收端板卡,所述接收端板卡包括:
接收模块,用于通过背板的一根数据线接收来自发送端板卡的合路数据;
时钟恢复模块,用于从所述合路数据中恢复出发送端时钟;
采样模块,用于依据所述发送端时钟采样得到恢复后合路数据;及
解帧模块,用于对所述恢复后合路数据进行解帧,得到原始传输数据;
其中,所述合路数据为若干个发送端板卡的时钟周期的合路数据,所述若干个发送端板卡的时钟周期的合路数据包括:
第一数据,其为宽度为(A+0.5)倍发送端板卡时钟周期的高脉冲数据;
第二数据,其为宽度为B倍发送端板卡时钟周期的脉冲数据,脉冲极性与数据帧的编码位一致;
第三数据,其为宽度为(C+0.5)倍发送端板卡时钟周期的低脉冲数据;
其中,A,B,C为大于0的自然数。
16.如权利要求15所述的板卡,其特征在于,所述时钟恢复模块进一步包括:
采样延迟子模块,用于依据接收端时钟对所述合路数据采样并延迟D个周期,恢复得到发送端时钟;D为大于0的自然数。
17.如权利要求15所述的板卡,其特征在于,所述解帧模块进一步包括:
分解子模块,用于依据计数器将所述恢复后合路数据分解为数据帧;所述计数器的长度等于所述数据帧的长度;
解帧子模块,用于将所述数据帧恢复为原始传输数据。
18.一种FPGA的加载系统,其特征在于,包括主板卡和子板卡,其中,所述子板卡为FPGA所在板卡;所述主板卡进一步包括:
成帧模块,用于将配置命令和相应的配置数据封装为数据帧;
时钟合路模块,用于对所述数据帧进行时钟合路,得到相应的合路数据;及
发送模块,用于将所述合路数据通过背板的一根数据线发送给接收端板卡;
所述子板卡进一步包括:
接收模块,用于通过背板的一根数据线接收来自主板卡的合路数据;
时钟恢复模块,用于从所述合路数据中恢复出发送端时钟;
采样模块,用于依据所述发送端时钟采样得到恢复后合路数据;
解帧模块,用于对所述恢复后合路数据进行解帧,得到配置命令和相应的配置数据;及
加载模块,用于依据所述配置命令和相应的配置数据,进行FPGA的加载;
其中,所述时钟合路模块,具体用于将所述数据帧的每个编码位扩展为若干个主板卡时钟周期的合路数据,所述若干个主板卡的时钟周期的合路数据包括:
第一数据,其为宽度为(A+0.5)倍主板卡时钟周期的高脉冲数据;
第二数据,其为宽度为B倍主板卡时钟周期的脉冲数据,脉冲极性与所述数据帧的编码位一致;
第三数据,其为宽度为(C+0.5)倍主板卡时钟周期的低脉冲数据;
其中,A,B,C为大于0的自然数。
19.如权利要求18所述的系统,其特征在于,所述子板卡还包括:
数据线操控模块,用于在FPGA加载成功后,将背板的该根数据线拉低约定时间后释放;
所述主板卡还包括:
检测模块,用于在所述约定时间内检测背板的该根数据线的电平状态,若电平状态为低则认为子板卡的FPGA加载成功,若电平状态为高则认为子板卡的FPGA加载失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210345772.XA CN102902646B (zh) | 2012-09-17 | 2012-09-17 | 板卡通信方法及板卡、fpga的加载方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210345772.XA CN102902646B (zh) | 2012-09-17 | 2012-09-17 | 板卡通信方法及板卡、fpga的加载方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102902646A CN102902646A (zh) | 2013-01-30 |
CN102902646B true CN102902646B (zh) | 2015-12-09 |
Family
ID=47574890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210345772.XA Active CN102902646B (zh) | 2012-09-17 | 2012-09-17 | 板卡通信方法及板卡、fpga的加载方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102902646B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103200127B (zh) * | 2013-02-28 | 2016-08-10 | 武汉中软通科技有限公司 | 一种板间串行通信系统及方法 |
CN104966538B (zh) * | 2015-06-02 | 2018-12-21 | 北京广利核系统工程有限公司 | 一种基于fpga技术的核电站仪控系统 |
CN107358928B (zh) * | 2017-08-21 | 2022-12-23 | 武汉精测电子集团股份有限公司 | 一种超高分辨率图形信号发生器及其启动、升级方法 |
CN107749786B (zh) * | 2017-12-01 | 2020-08-04 | 熊猫电子集团有限公司 | 多通道短波接收设备接收能力测试方法及系统 |
CN108279949B (zh) * | 2018-01-18 | 2021-05-04 | 海信视像科技股份有限公司 | 一种应用于电视的开机方法、系统及电视 |
CN109165047B (zh) * | 2018-09-03 | 2021-10-12 | 英业达科技有限公司 | 维持图形处理器主板的正确时间的方法 |
CN113765649B (zh) * | 2021-09-30 | 2024-07-26 | 陕西长岭电子科技有限责任公司 | 一种数字通信数传系统的位同步方法 |
CN113885672B (zh) * | 2021-10-26 | 2024-04-16 | 广东安朴电力技术有限公司 | 一种机箱板卡配置方法、系统及mmc系统控保机箱 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466185A (zh) * | 2002-06-18 | 2004-01-07 | 华为技术有限公司 | 一种高速信元传输的实现方法 |
CN101137247A (zh) * | 2007-10-16 | 2008-03-05 | 中兴通讯股份有限公司 | 一种准同步数字系列支路业务的接入系统及方法 |
CN101719867A (zh) * | 2009-11-23 | 2010-06-02 | 中兴通讯股份有限公司 | 一种包交换网络中的时钟恢复方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090251867A1 (en) * | 2007-10-09 | 2009-10-08 | Sharma Viswa N | Reconfigurable, modularized fpga-based amc module |
-
2012
- 2012-09-17 CN CN201210345772.XA patent/CN102902646B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466185A (zh) * | 2002-06-18 | 2004-01-07 | 华为技术有限公司 | 一种高速信元传输的实现方法 |
CN101137247A (zh) * | 2007-10-16 | 2008-03-05 | 中兴通讯股份有限公司 | 一种准同步数字系列支路业务的接入系统及方法 |
CN101719867A (zh) * | 2009-11-23 | 2010-06-02 | 中兴通讯股份有限公司 | 一种包交换网络中的时钟恢复方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102902646A (zh) | 2013-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102902646B (zh) | 板卡通信方法及板卡、fpga的加载方法和系统 | |
US7529862B2 (en) | System for providing access of multiple data buffers to a data retaining and processing device | |
CN102508533B (zh) | 一种复位控制装置和方法 | |
CN101937376B (zh) | 一种数据管理方法及数据存储装置 | |
CN102567146B (zh) | 一种实现日志备份的方法及其装置、智能卡 | |
CN103870429B (zh) | 基于嵌入式gpu的高速信号处理板 | |
KR20160075312A (ko) | 트랜잭션 버퍼링된 메모리에서의 초기 식별 | |
CN211376201U (zh) | 一种命令读写装置、存储器 | |
CN105335548A (zh) | 一种用于ice的mcu仿真方法 | |
CN109992555A (zh) | 一种供多路服务器共用的管理板卡 | |
TW201721414A (zh) | 初始化週邊裝置之方法與使用此方法之電子裝置 | |
CN105116975A (zh) | 一种计算机板载硬盘及其实现方法 | |
CN106201973B (zh) | 一种单线串行通信接口的方法与系统 | |
CN102053936B (zh) | Fpga通过ddr2接口与dsp通信的方法及装置 | |
CN203250312U (zh) | 一种接口形式可扩展的通用核心处理子板 | |
CN105224486A (zh) | 基于lbe总线的1553b总线协议模块 | |
CN107861775A (zh) | 一种ssd启动控制设备以及方法 | |
JP2005078652A (ja) | モジュラコンポーネントを有するメモリカード | |
CN116539992A (zh) | 存储设备在位稳定状态检测装置、方法、逻辑模块及介质 | |
CN104426624A (zh) | 一种图像同步显示方法及装置 | |
CN114461142B (zh) | 一种读写Flash数据的方法、系统、装置及介质 | |
US20190108105A1 (en) | Semiconductor system including fault manager | |
CN204706031U (zh) | 串行外设接口spi总线电路以及电子设备 | |
Costache et al. | FPGA Implementation of a SD Card Controller using SPI communication | |
Carvalho et al. | Enhancing I2C robustness to soft errors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |