一种基于网络的FPGA配置***
技术领域
本实用新型涉及FPGA配置技术领域,具体涉及一种基于网络的FPGA配置***。
背景技术
在现有技术超声诊断设备设计中,以嵌入式微处理器加现场可编程逻辑门阵列FPGA(Field Programmable Gate Array)为核心的体系结构因其强大的处理能力和灵活的工作方式而被广泛采用。嵌入式微处理器的优势在于将微处理器内核与丰富多样的***接口设备紧密结合,在提供强大的运算、控制功能的同时,降低了***成本和功耗,因而适合作为数字***的控制核心;FPGA的优势在于超高速、丰富的逻辑资源以及用户可灵活配置的逻辑功能,适用于逻辑接口功能多种多样、灵活可变的场合。将二者结合形成优势互补,如有需要,再配以适当的专用芯片。这种体系结构适用于大多数复杂数字诊断仪器***的设计。而FPGA是一种现场可编程逻辑器件,在FPGA正常工作时,配置数据存储在SRAM(Static RAM)单元中,SRAM单元也被称为配置存储(ConfigurationRAM),由于存储器SRAM的易失性,FPGA在上电之后,外部电路需要将配置数据重新载入到片内的配置RAM中,内部各元器件初始化完成以后FPGA芯片才能正常工作。
如图1所示,FPGA的配置过程是两次数据的传输过程:分别由配置数据源到时序控制器和时序控制器到目标FPGA。现有的FPGA配置方式主要有两种:一种是使用传统的配置方式,使用厂家提供的专用下载电缆线和在板上使用FPGA厂家提供的专用PROM(programmableread-only memory可编程序的只读存储器)为FPGA提供配置时序,只要将PROM和FPGA的专用引脚相连,上电时将服务器内的目标程序通过下载电缆线烧录到PROM中,PROM中的配置数据就会自动加载到FPGA的SRAM中;这种配置方式包括应用于调试阶段的专用下载电缆线和应用于产品中的专用非易失性存储器。在这种方式中,前述的两次数据传输完全由FPGA厂商所提供的软硬件完成。
如图2所示,另一种方案是在微处理器(MCU)的***中采用其它的非易失性存储器(如:E2PROM、Flash)存储配置数据,通过专用烧写器将数据烧写到非易失性存储器中,烧写好的非易失性存储器再焊接到板卡中,上电后微处理器产生FPGA的配置时序将非易失性存储器中的数据置入FPGA的SRAM中,或在这种方案的基础方法上,在微处理器中加上USB接口,通过USB接口传输协议来传输数据,微处理器完成数据的控制,去更新Flash数据,从而达到配置FPGA数据的目的。
现有技术的两种FPGA配置方式有如下缺点:
第一种FPGA配置方式成本较高,超声诊断设备普遍使用FPGA,通常还不止一片的FPGA。但是基于SRAM工艺的FPGA在每次上电后需要进行配置,通常情况下FPGA的配置文件由一片外部专用的EPROM来加载。这是在FPGA的功能相对稳定的情况下采用的,所以一台设备中就会用到很多片的专用非易失性存储器,专用非易失性存储器的成本非常高,这样单机的成本就很高了。第二,常见的专用下载电缆都是使用计算机并口产生串行的配置信号,而以并口线作为传输媒介,注定其有效传输距离非常有限;第三,专用非易失性存储器的配置方式决定了目标FPGA只能接收单一配置文件,即在***运行过程中,FPGA不可能根据不同情况动态调整逻辑功能,这样的配置方式无法满足某些应用中对于***灵活性的要求。第二种FPGA配置方式虽比第一种FPGA配置方式在成本和灵活性要好很多,但USB的传输只能在比较短的距离内(通常在1米内)进行传送,否则就容易造成数据出错,所以也只适合近距离的数据更新。
现有技术的两种FPGA配置方式传输距离都非常有限,只能解决短距离的更新和下载,无法满足远程、跨区域的FPGA配置、测试、维护和更新的要求。
实用新型内容
本实用新型要解决的技术问题是提供一种基于网络的FPGA配置***,克服现有技术FPGA配置方式传输距离短、无法满足远程、跨区域FPGA配置的缺陷。
本实用新型为解决上述技术问题所采用的技术方案为:
一种基于网络的FPGA配置***,包括远程服务器、微处理器、网络接口和存储模块,所述微处理器分别与所述网络接口、所述存储模块以及至少一片现场可编程逻辑门阵列FPGA相连,所述远程服务器与所述网络接口通过网络连接,所述远程服务器存储所述现场可编程逻辑门阵列FPGA的配置数据并通过所述网络接口将所述配置数据传送至所述微处理器,所述微处理器将所述配置数据写入所述存储模块,或者从所述存储模块读出所述配置数据并对所述现场可编程逻辑门阵列FPGA进行配置。
所述的基于网络的FPGA配置***,其中所述网络设为国际互联网Internet。
所述的基于网络的FPGA配置***,其中所述远程服务器设为FTP服务器。
所述的基于网络的FPGA配置***,其中所述网络接口设为以太网接口芯片。
所述的基于网络的FPGA配置***,其中所述存储模块设为非易失性存储器。
所述的基于网络的FPGA配置***,其中所述非易失性存储器设为Flash。
本实用新型的有益效果:本实用新型基于网络的FPGA配置***将网络作为传输现场可编程逻辑门阵列FPGA配置数据的媒体,从而使配置数据传输的距离不再受到限制,只要客户端连接到以太网便可远程对现场可编程逻辑门阵列FPGA进行跨区域的配置、维护和更新,大大提高了现场可编程逻辑门阵列FPGA的配置效率和灵活性。
附图说明
本实用新型包括如下附图:
图1为现有技术FPGA配置过程示意图;
图2为现有技术FPGA配置装置示意图;
图3为本实用新型基于网络的FPGA配置***示意图;
图4为本实用新型基于网络的FPGA配置***实施例示意图;
图5为本实用新型基于网络的FPGA配置***FPGA配置主流程图;
图6为本实用新型实施例传输配置文件协议结构栈示意图;
图7为本实用新型实施例FTP服务器与客户端通信过程示意图;
图8为本实用新型实施例Flash存储格式示意图;
图9为本实用新型实施例FPGA配置流程图;
图10为本实用新型实施例FPGA配置升级过程流程图;
具体实施方式
下面根据附图和实施例对本实用新型作进一步详细说明:
如图3所示,本实用新型基于网络的FPGA配置***包括远程服务器、微处理器、网络接口和存储模块,微处理器分别与网络接口、存储模块以及至少一片现场可编程逻辑门阵列FPGA相连,远程服务器与网络接口通过网络连接,远程服务器存储现场可编程逻辑门阵列FPGA的配置数据并将配置数据通过网络接口传送至微处理器,微处理器将配置数据写入存储模块,或者从存储模块读出配置数据并对现场可编程逻辑门阵列FPGA进行配置。
如图4和图5所示,本实用新型基于网络的FPGA配置***,将Internet作为传输配置数据的媒体,并用微处理器的非易失性存储器Flash存储这些数据,在微处理器的通用I/O上实现现场可编程逻辑门阵列FPGA配置时序,现场可编程逻辑门阵列FPGA的配置流程如图4所示,微处理器按照一定的命令和次序将非易失性存储器Flash存储的配置数据下载到一片或几片现场可编程逻辑门阵列FPGA的SRAM中;其次,微处理器通过Internet网络接口与远程服务器实现配置数据、配置信息、命令、状态等的通讯;实现网络数据的互传后,对非易失性存储器Flash的内容进行读写及更新;非易失性存储器Flash存储所有有关现场可编程逻辑门阵列FPGA的配置数据包括了现场可编程逻辑门阵列FPGA的配置顺序、配置数据和现场可编程逻辑门阵列FPGA的对应关系等。
如图6所示,本实用新型使用的网络传输协议设为基于TCP的FTP(File Transfer Protocol)协议,微处理器软件中移植了TCP/IP协议,FTP协议既可以确保在复杂的网络环境中文件传输的安全性和可靠性,同时又可以保证数据传输的质量、速度等各方面的要求。
如图7所示,FTP协议是一种基于TCP的、安全的、可靠的文件传输协议,完整的FTP文件传输需要建立两种类型的连接,一种为文件传输下命令,称为控制连接,另一种则实现真正的文件传输,称为数据连接。需要进行远程传输的客户机必须安装和运行FTP客户程序,考虑到FTP服务器安全性,FTP服务器会针对每个客户端分配指定的Guest账户,需要文件传输的客户端可以通过该账户远程访问FTP服务器为其设置的指定目录。客户端需要与FTP服务器建立上传下载的数据传输是,它首先向FTP服务器的TCP端口发送建立连接的请求,FTP服务器接受来自客户端的请求,完成连接的建立过程,之后开始传输文件即FTP的数据连接。FTP服务器的传输方式有两种:ASCII方式和二进制方式,默认状态是ASCII方式,客户端可以使用TYPE命令设置文件的传输类型,但传输任务结束后必须重新设置为默认状态。FTP服务器把按照FPGA配置需要的信息和数据的指定生成文件放到指定的目标文件夹。当网络连接成功并接收到客户端的连接请求后,FTP服务器接受请求并将指定的目录开放给客户端,客户端在目录里找到目标文件后再次向FTP服务器发送请求,FTP服务器接受请求,并返回地址和暂时端口以用于建立连接进行文件的传输。数据传输完成以后,客户端向FTP服务器发送一个TCP FIN的数据包通知FTP服务器结束连接,同时FTP服务器也发送一个TCP FIN的数据包给客户端,双方成功确认数据包后关闭FTP控制连接。
如图8所示,Flash是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)存储器,数据删除不是以单个的字节为单位而是以固定的区块为单位,选择容量的大小要以实际的***来决定。实际应用中的Flash主要分为NOR和NAND两种。本实用新型使用NOR Flash区域(程序存储区)存放不同FPGA的配置信息并在开头位置加上不同的识别码加以区分,待配置的数目和FPGA的配置时序,数据长度等。NAND Flash区域(数据存储区)存储FPGA的配置数据。
以太网接口芯片选用的是台湾Realtek公司生产的RTL8019AS,主要完成TCP/IP协议,内部分为远程DMA接口、本地DMA接口、MAC(介质访问控制)逻辑、数据编码解码逻辑和其他端口。远程DMA接口是指微处理器对RTL8019AS内部RAM进行读写的总线,即ISA总线的接口部分。微处理器收发数据只需对远程DMA操作。本地DMA接口是把RTL8019AS与网线的连接通道,完成微处理器与网线的数据交换。MAC(介质访问控制)逻辑完成以下功能:当微处理器向网上发送数据时,先将一帧数据通过远程DMA通道送到RTL8019AS中的发送缓存区,然后发出传送命令;当RTL8019AS完成了上帧的发送后,再开始此帧的发送。RTL8019AS接收到的数据通过MAC比较、CRC校验后,由FIFO存到接收缓冲区;收满一帧后,以中断或寄存器标志的方式通知微处理器,FIFO逻辑对收发数据作16字节的缓冲,以减少对本地DMA请求的频率。
如图9所示,微处理器的通用I/O实现FPGA配置必须准确掌握:(1)配置文件的格式;(2)配置信号的时序。一般来说,FPGA开发软件可以生成多种不同类型的配置文件,用户可以根据不同的应用环境选用这些配置文件。本实用新型采用.bin文件。值得注意的是,对于某一特定的芯片,无论设计简单或是复杂,其配置的数据的长度是固定的,但配置文件大小却因类型的不同而有所差异。常见的FPGA配置模式包括主动串行模式、被动串行模式、被动并行模式和边界扫描模式等,为了与下载电缆兼容并节约微处理器的I/O口线,本实用新型采用被动串行模式。基于微处理器和互联网的配置方案在传输速率、传输距离上均有明显优势。
如图10所示,FPGA的配置升级过程中必须按照FPGA的配置文件的格式和信号的时序来进行。首先将待升级的数据(可能是一片或多片FPGA的相同配置信息或不同FPGA的不同配置信息)制作成.bin文件格式的升级数据包存放到远程服务器上。当设备中的微处理器与远程服务器取得信息交互后,将升级数据包通过Internet传输到该设备中,微处理器检测到升级数据包后自动运行升级程序并完成升级过程。升级数据包的内容主要包括了FPGA升级的具体数据、FPGA的配置识别码、FPGA的代码、FPGA的配置次序、FPGA配置数据的起始地址、FPGA配置数据长度以及校验值等。在制作升级数据包的过程中使用特定的软件,当输入待升级FPGA的ID标识和升级数据包的指定内容后,则按照FPGA要求的自动生成升级数据包文件。
本领域技术人员不脱离本实用新型的实质和精神,可以有多种变形方案实现本实用新型,以上所述仅为本实用新型较佳可行的实施例而已,并非因此局限本实用新型的权利范围,凡运用本实用新型说明书及附图内容所作的等效结构变化,均包含于本实用新型的权利范围之内。