CN102855150B - 一种向待编程设备烧录信息的方法及系统 - Google Patents

一种向待编程设备烧录信息的方法及系统 Download PDF

Info

Publication number
CN102855150B
CN102855150B CN201210288886.5A CN201210288886A CN102855150B CN 102855150 B CN102855150 B CN 102855150B CN 201210288886 A CN201210288886 A CN 201210288886A CN 102855150 B CN102855150 B CN 102855150B
Authority
CN
China
Prior art keywords
file
main side
fpga
configuration file
configuration
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
Application number
CN201210288886.5A
Other languages
English (en)
Other versions
CN102855150A (zh
Inventor
房帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Huahuan Electronics Co Ltd
Original Assignee
Beijing Huahuan Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Huahuan Electronics Co Ltd filed Critical Beijing Huahuan Electronics Co Ltd
Priority to CN201210288886.5A priority Critical patent/CN102855150B/zh
Publication of CN102855150A publication Critical patent/CN102855150A/zh
Application granted granted Critical
Publication of CN102855150B publication Critical patent/CN102855150B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种向待编程设备烧录信息的方法及系统,该包括:主端获取至少一个从端上用于指示FPGA型号的身份识别码;主端向从端发送根据身份识别码确定的配置文件;从端在接收到配置文件后,实现主端对从端FPGA的配置;在配置生效后,主端向从端发送需要编程的文件;从端接收所述需要编程的文件,并将需要编程的文件写入到EPCS中。由于本发明提供的技术方案脱离了PC机的限制,利用嵌入式设备同时实现了对多台设备的配置及编程,并且该方法简单灵活稳定,能够大大提高了生产效率。

Description

一种向待编程设备烧录信息的方法及系统
技术领域
本发明涉及计算机技术领域,更具体的说,尤其涉及在嵌入式领域中的一种向待编程设备烧录信息的方法及系统。
背景技术
目前,在现有技术中,通常都是通过PC机((personalcomputer,个人计算机),利用FPGA(Field-ProgrammableGateArray,即现场可编程门阵列)厂家提供的编程工具来实现将FPGA程序或软件编程到EPCS(Erasableprogrammableconfigurableserial,串行存贮器)。在具体的生产过程中,这种利用PC机串行编程的工作方式,由于在同一时刻只能烧录一台需要编程的设备,因此这种方式远远不能满足大量设备的编程需求,不仅导致占用大量的PC机,也在很大程度上由于工作效率低下,浪费了大量的时间。
怎样脱离PC机的限制,提出一种利用嵌入式设备可对多个需要编程的设备同时烧录的方法即可解决现有技术存在的上述问题,
发明内容
本发明的目的是提供一种向待编程设备烧录信息的方法及系统,脱离了PC机的限制,利用嵌入式设备同时实现了对多台设备的配置及编程,并且该方法简单灵活稳定,大大提高了生产效率。
本发明的目的是通过以下技术方案实现的:
本发明提供了一种向待编程设备烧录信息的方法,该方法包括:
主端获取至少一个从端上用于指示可编程逻辑门阵列FPGA型号的身份识别码;
所述主端向从端发送根据所述身份识别码确定的配置文件;
所述从端在接收到所述配置文件后,实现所述主端对从端FPGA的配置;
在配置生效后,所述主端向从端发送需要编程的文件;
所述从端接收所述需要编程的文件,并将所述需要编程的文件写入到串行存储芯片EPCS中。
进一步的,所述方法还包括:
所述主端由至少一个10pin的program编程口分别通过至少一条JTAG线缆连接到一台从端,;
所述从端通过一个10pin的JTAG接口接收所述主端发送的配置文件,所述从端包括一片FPGA以及与其相连的EPCS。
进一步的,所述方法还包括:
预先根据所述从端FPGA的型号生成对应的配置文件,其中,所述配置文件中包括所述从端的配置信息以及一个配置在从端FPGA上内存中的配置运行程序。
进一步的,所述主端向从端发送根据身份识别码确定的配置文件,包括:
所述主端根据所述身份识别码确定对应从端FPGA型号的配置文件;
所述主端向从端发送下载所述配置文件的通知,所述通知中包含所述配置文件的下载地址,以便所述从端根据所述下载地址获得所述配置文件。
进一步的,在所述从端接收到所述配置文件后,所述方法还包括:
所述主端向所述从端发送用于指示所述配置文件启动运行的JTAG命令,以便使所述从端的配置文件生效;
所述从端接收所述JTAG命令,运行所述从端FPGA上的配置运行程序,将所述EPCS内的内容清除,并监听所述JTAG接口的数据。
进一步的,所述从端接收所述需要编程的文件,并将所述文件写入到串行存储芯片EPCS中,包括:
所述从端在接收到所述编程的文件大小是所述EPSC页大小的整数倍时,将所述接收到的编程文件写入到所述EPCS中。
进一步的,所述方法还包括:
所述主端采用广播的方式同时针对所述至少一个从端进行配置和编程;
其中,所述至少一个从端之间具有相同的硬件配置;所述硬件配置包括FPGA的型号以及EPCS的型号。
本发明还提供了一种向待编程设备烧录信息的系统,该系统包括:
主端设备,用于获取至少一个从端上用于指示FPGA型号的身份识别码,根据所述身份识别码确定对应的配置文件,并将所述配置文件发送给所述从端;还用于在配置生效后,向所述从端发送需要编程的文件;
至少一个从端设备,用于接收所述主端发送的所述配置文件,实现所述主端对从端FPGA的配置;还用于接收所述需要编程的文件,并将所述需要编程的文件写入到串行存储芯片EPCS中。
优选的,所述主端设备进一步包括:
文件生成模块,用于预先根据所述从端FPGA的型号生成对应的配置文件,其中,所述配置文件中包括所述从端的配置信息以及一个配置在从端FPGA上内存中的配置运行程序;
信息获取模块,用于获取所述从端上用于指示FPGA型号的身份识别码,并根据所述身份识别码确定对应的配置文件;
数据发送模块,用于将所述配置文件发送给所述从端,在所述从端接收到所述配置文件后,向所述从端发送用于指示所述配置文件启动运行的JTAG命令,以便使所述从端的配置文件生效;还用于在配置生效后,向所述从端发送需要编程的文件。
优选的,所述从端设备进一步包括:
数据接收模块,用于接收所述主端发送的所述配置文件;在接收到所述配置文件后,接收所述从端发送用于指示所述配置文件启动运行的JTAG命令;还用于在配置生效后,接收所述主端发送的需要编程的文件;
信息处理模块,用于在接收到所述配置文件后,实现所述主端对从端FPGA的配置;并根据所述JTAG命令运行所述配置运行程序;还用于将所述需要编程的文件,写入到串行存储芯片EPCS中。
由上述本发明提供的技术方案可以看出,本发明实施例提供的一种向待编程设备烧录信息的方法及系统,主端获取至少一个从端上用于指示FPGA型号的身份识别码;主端向从端发送根据身份识别码确定的配置文件;从端在接收到所述配置文件后,实现主端对从端FPGA的配置;在配置生效后,主端向从端发送需要编程的文件;从端接收需要编程的文件,并将需要编程的文件写入到串行存储芯片EPCS中。由于本发明提供的技术方案脱离了PC机的限制,利用嵌入式设备同时实现了对多台设备的配置及编程,并且该方法简单灵活稳定,能够大大提高了生产效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种向待编程设备烧录信息的方法流程图;
图2为本发明实施例中主端与从端的连接示意图;
图3为本发明实施例实现向待编程设备烧录信息的方法具体流程图;
图4为本发明实施例中从端侧的FPGA设计示意图;
图5为本发明实施例中从端侧的处理流程图;
图6为本发明实施例中主端侧的硬件结构示意图;
图7为本发明实施例中主端对从端进行配置的流程图;
图8为本发明实施例一种向待编程设备烧录信息的系统结构示意图;
图9为本发明实施例一种向待编程设备烧录信息的具体系统结构示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
下面将结合附图对本发明实施例作进一步地详细描述。
如图1所示,本发明实施例提供了一种向待编程设备烧录信息的方法,该方法包括如下步骤:
101、主端获取至少一个从端上用于指示FPGA型号的身份识别码;
102、主端向从端发送根据所述身份识别码确定的配置文件;
103、从端在接收到所述配置文件后,实现所述主端对从端FPGA的配置;
104、在配置生效后,所述主端向从端发送需要编程的文件;
105、从端接收所述需要编程的文件,并将所述需要编程的文件写入到串行存储芯片EPCS中。
在本发明实施例中,可以实现一个主端对至少一个从端同时进行配置和编程;其中,为了实现该发明目的,需要多个从端设备之间具有相同的硬件配置;所述硬件配置包括但不限于FPGA的型号以及EPCS的型号。
另外,本发明实施例中主端可以采用广播的方式同时针对至少一个从端进行配置和编程。
在本发明实例中,所述方法还可以包括:
主端由至少一个10pin的program编程口分别通过至少一条JTAG线缆连接到一台从端,;
从端通过一个10pin的JTAG接口接收主端发送的配置文件,所述从端包括一片FPGA以及与其相连的EPCS。
上述连接方式可以参见图2所示,主端有多个编程口,每一个编程口通过一条JTAG线缆(10pin线缆)连接到一台从端,主端对外有多个烧录口,每个烧录口连接一台从端。
图2描述了主端设备与从端设备的架构关系,其中,主端为替代现有PC机的嵌入式软硬件系统,该嵌入式软硬件系统主要由至少一个10PIN的Program编程口分别通过至少一条JTAG线缆连接到一台从端,其中,嵌入式软硬件系统上运行的程序负责对从端FPGA的配置并通过该接口向从端发送数据。从端是需要编程的FPGA系统,其中FPGA留有一个10PIN的JTAG接口,并连接待编程的EPCS。
在本发明实施例中,所述方法还可以包括:
预先根据所述从端FPGA的型号生成对应的配置文件,其中,所述配置文件中包括所述从端的配置信息以及一个配置在从端FPGA上内存中的配置运行程序。
具体的,本发明实施例中配置文件可以采用RBF文件实现;其中,RBF是一种文件格式后缀,英文全称为RawBinaryFile,译为原始二进制文件。
本发明实施例中针对设备所支持的每一种FPGA型号都会生成一个对应的RBF文件,预先存储在主端。主端能够根据所连接的从端FPGA型号自动选择对应的RBF文件下载到从端。
需要说明的是,从端在未配置之前其FPGA为空白,当从端下载到RBF文件后,从端FPGA将会被配置,在配置成功及生效后,其从端将会与主端之间建立通信通道,以便最终实现主端对从端EPCS的编程。
另外,本发明实施例中最终目的是将编程文件写入到从端EPCS内,EPCS是连接到从端FPGA针脚的,由于EPCS并不直接连接到主端,所以本发明实施例采用了通过从端FPGA反写EPCS的方法,这种反写方法称为JTAG模式烧录EPCS。
具体的说,步骤102可以包括:
主端根据所述身份识别码确定对应从端FPGA型号的配置文件;
主端向从端发送下载所述配置文件的通知,所述通知中包含所述配置文件的下载地址,以便所述从端根据所述下载地址获得所述配置文件。
在本发明实施例中,在所述从端接收到所述配置文件后,所述方法还可以包括:
主端向所述从端发送用于指示所述配置文件启动运行的JTAG命令,以便使所述从端的配置文件生效;
从端接收所述JTAG命令,运行所述从端FPGA上的配置运行程序,将所述EPCS内的内容清除,并监听所述JTAG接口的数据。
具体的说,JTAG的英文全称为JointTestActionGroup,是一种IEEE标准的协议。该协议所包含的内容包括:硬件接口:TDI,TDO,TMS,TCK四条数据信号线;时序标准:就是不同的命令及状态机时序,本发明实施例中用于指示所述配置文件启动运行的JTAG命令是指发送代表“启动”命令的时序,该命令时序是FPGA硬件本身所能接受的。
另外,本发明实施例中配置运行程序可以为Nios程序,是指运行在Nios软核处理器上的程序;所谓的Nios软核是指将FPGA配置成一个虚拟的CPU,可以执行相应计算机指令。也可以将本发明实施例中所指的Nios程序可以简单理解为裸机程序。其中,在从端接收到配置文件后,该Nios程序被嵌入到FPGA片上的RAM中。
具体的说,步骤105可以包括:
从端在接收到所述编程的文件大小是所述EPSC页大小的整数倍时,将所述接收到的编程文件写入到所述EPCS中。
如图3所示,描述了本发明的具体流程:
主端程序开始运行后,首先进行设备识别,读取从端FPGA的IDcode码,从而确定从端FPGA的型号;
用对应从端FPGA型号的配置文件(RBF文件)对从端FPGA进行配置;
配置成功后,主端向从端发送JTAG命令使配置生效,从端上嵌入到从端FPGA片上RAM的配置运行程序(Nios程序)开始运行;
其中,该Nios程序运行流程可以参见图3中的右半部分所示:
首先打开Nios软核中EPCSController(EPCS控制器)设备,并擦除全部内容,然后监听JTAG接口的数据;
主端程序开始向从端发送需要编程的文件;
从端程序接收主端发送的要编程的文件,并将数据写到EPCS中,直到主端程序退出流程时,主端对从端EPCS的编程过程完成。
为了进一步说明从端侧的实现方案,下面进行详细说明。
本发明实施例中所述主端能够向从端中EPCS烧录信息,主要是通过配置文件,也就是RBF文件实现的,因此,本发明实施例中分别从从端和主端的角度来对本发明的技术方案进行详细说明。
如图4所示,为从端FPGA的设计示意图;硬件分为三个部分:
(1)Nios软核,也成为SOPC(System-on-a-Programmable-Chip,即可编程片上系统)或者虚拟CPU,包括:
一个Niosprocessor(Nios处理器);
一个on-chipmemory(FPGA片上内存)作为内存使用,通过用Nios程序预先初始化内存,就可以把Nios程序存放在RBF文件中;
一个EPCSController(EPCS控制器),用来读写EPCS;
一个1位的上升沿用于触发中断I/O;
8位的数据输入I/O用于传入数据;
24位的输出I/O可以用来反馈校验信息。
其中,Nios软核运行所需要的时钟信号来自于VirtualJTAG模块(虚拟JTAG模块),VirtualJTAG用于获取来自主端通过JTAG线发送的数据信号。
(2)串转并模块:该模块用于实现将串行数据转为并行数据并产生中断的功能;
包含3个输入跟3个输出信号;
输入clk为稳定的50M时钟信号,en为使能信号,data为数据信号;
输出rst为复位信号,用于使软核cpu复位;irq信号是中断信号,当输出data8位总线上数据准备好时会发出中断信号给软核cpu。
(3)VirtualJTAG模块:该模块为Altera提供的现有模块,该模块实现了获取FPGA上的JTAG信号的功能,并可以送出最大24位的指令数据,实现了和主端设备的硬件交互。
需要说明的是,上述Nios软核和虚拟JTAG模块可以采用Quartus工具中已有的相应功能模块实现。
其中,Altera为生产FPGA的公司名称,本发明实施例中所涉及的FPGA均为该公司生产。另外,Quartus为FPGA生产厂商Altera公司面向公众推出的FPGA设计工具。NiosIDE是Altera公司面向公众推出的Nios程序开发环境及工具。
另外,软件设计时指运行在从端FPGA片上的Nios程序设计,通过初始化的形式将二进制格式文件插入到FPGA的内部RAM上,并伴随硬件设计生成的RBF文件一同被配置到从端FPGA,其中Nios程序运行环境为Nios环境,流程如图5所示;
从从端侧的处理流程图5中可以看出,在主端向从端配置成功后,从端的主要功能是要接收主端发送的编程数据,以及将接收到的编程数据写入到EPCS中,因此如图5所示,流程大体分为接收数据(图5中右半部分)和写EPCS数据(图5中左半部分)两部分,为了解决冲突两部分之间用数据队列联系起来。
接收数据过程主要是一个中断处理过程,当中断触发时,从端运行的程序会读取数据地址上的值并将其插入到队列的头部;
在向EPCS写入数据的过程中,由于按页写入EPCS的效率是最高的,于是将写EPCS模块设计成包含一个缓存区,该缓存区的大小被设计成EPCS页大小的整数倍,该EPCS模块会不停的从队列的尾部取出数据加入到缓存区,当缓存区满时将缓存区数据一并写入到EPCS。另外,程序还包含了擦除EPCS的功能,以及计算接收到的数据的校验和并写入到数据输出地址。
在本发明实施例中对RBF文件的生成过程进行详细说明:
所述RBF中包含一个FPGA设计和一个需要运行在从端FPGA片上内存中的Nios程序。
也就是说,为了实现从端将主端发送的需要编程的文件写入EPCS,从端需要独立运行的程序,该程序运行于Nios软核上,因此从端需要对应FPGA型号的FPGA设计和运行在软核上的Nios程序。例如以EP2C8Q208为例,最终生成一个EP2C8Q208.rbf文件,利用此文件可完成对任意使用FPGA型号为EP2C8Q208的目标设备上EPCS的编程。
具体的说,以EP2C8Q208型号的FPGA为例,RBF文件的生成过程可以通过如下方法实现:
首先,利用Quartus工具创建工程,建立顶层文件,选择FPGA型号为EP2C8Q208,利用SOPC工具创建Nios软核,时钟选择50Mhz外部时钟,添加上述实施例中描述的Nios软核中所包含的内容,生成SOPC也就是Nios软核;
其中,在on-chipmemory模块的属性中设定大小并选中“初始化存储器内容”和“使能非默认的初始化文件”;
其次,利用上述生成的SOPC系统,或者ptf文件,用NiosIDE工具创建Nios程序工程,编写代码,用于实现从端侧的接收数据以及将数据写入EPCS中的功能;
如上编译后会在SOPC目录下生成与SOPC中设置的on-chipmemory初始化文件相对应的HEX文件。回到Quartus工程,在top文件下加入VirtualJTAG模块,串转并模块,按照图4中的描述连线完成后,综合工程会生成SOF文件,打开Quartus中的“ConvertProgrammingFiles”工具将SOF文件转换为RBF文件,此时不可选用压缩选项。将该RBF文件重命名为EP2C8Q208.rbf。这样针对EP2C8Q208的从端设计完成。
为了进一步说明本实施例中主端侧的实现过程,下面进行具体介绍。
如图6所示,本实施例中可以采用的但不限于主端为基于EP4CE40F29型号的FPGA来搭建的嵌入式硬件平台,软件环境为linux2.6操作系统。。
其中,本发明实施例中主端设备主要实现两个功能:一是将生成的对应FPGA型号的RBF文件配置给从端FPGA;二是将需要编程到从端EPCS的数据文件发送到从端。
由于主端硬件平台选用了FPGA环境,首先需要对其做FPGA设计,主端FPGA主要包含三部分:Nios软核,并转串模块及其他外围设备,其中主端Nios软核可以采用与从端相同的方法实现,本实施例中不进行详细描述;
主端侧的并转串模块与从端侧的串转并模块相对应,成对使用,两者之间存在约定好的协议,当主端的并转串模块将数据转为串行数据从I/O口送出后,以保证从端的串转并模块准确的从穿行数据中将数据检出并还原为并行数据。
另外,本发明实施例中用从端反馈的JTAGtdo信号来检测连接的所有从端设备的状态。作为输出信号的Jtagclk,Jtagtms,Jtagtdi需要分别对应连接所有从端FPGA的JTAG信号线。
其中,Tdo,tdi,tms,tck是JTAG标准中所用到的四条数据线。这四条线是连接主端和从端的唯一物理连接。本实施例中所描述的一切主从之间的通信,都是通过这4条数据线。
如图7所示,本实施例中主端的软件平台为Nioslinux;
在本发明实施例中主端实现了两大功能:将RBF文件配置进从端FPGA,并使其生效运行;将需要编程到从端EPCS的数据文件发送到从端,并保证其准确送达。
具体的,本发明实施例中将RBF文件配置到从端FPGA的过程利用了JTAG协议,其中,JTAG协议至少有4条信号线:TCK,TMS,TDI,TDO,前三的方向为主到从,后一相反,从而实现JTAG主从的数据交流。
在主端对从端的配置过程中,需要JTAG的4条信号线对软件开放,本实施例中采用读写I/O的方式操作4条信号线实现JTAG协议已完成RBF文件的下载配置。在并转串模块上设计了一个“config”控制信号,用来控制并转串模块是否释放对JTAG信号线的控制权,或者说直接将JTAG信号(jtck,jtms,jtdi)透传出去。
当配置完成后,利用CHECK_STATUS指令可检测FPGA是否配置成功。如果成功的话,发送STARTUP指令使配置生效,于是从端的Nios程序开始运行;但是由于此时从端没有时钟信号,程序会暂停在初始状态。
其中,案例中所涉及的JTAG指令码为:
EXTEST;0x000;
PROGRAM;0x002;
STARTUP;0x003;
CHECK_STATUS;0x004;
SAMPLE;0x005;
IDCODE;0x006;
USERCODE;0x007;
BYPASS;0x3FF;
PULSE_NCONFIG;0x001;
CONFIG_IO;0x00D;
HIGHZ;0x00B;
CLAMP;0x00A;
当完成对从端FPGA的配置,并且内部所包含的程序已经开始运行后,便可以进行传送文件。在传送文件之前,先将并转串模块配置为传送文件的模式,即获得三条输出信号线的控制权,然后将clk的时钟信号通过Jtagtck信号传出。这时,从端获得时钟信号,Nios程序便开始运行,并准备接收数据。
主端程序开始读取要传送的数据文件,并按字节写入到data数据线,并转串模块发现写入后便通过Jtagtms和Jtagtdi信号将转换的串行数据发出。
需要注意的是,由于并行数据转换为串行数据,以及发送串行数据的过程,甚至从端接收的过程是需要时间的,因此并行数据写入速度是有要求的,如果太快会发生丢失。因此主端向从端发送的数据大小需要是一个从端缓存buff的整数倍。因此在发现发送的数据不是buff大小的整数倍时,需要发送冗余数据以补足整数倍的大小,在写EPCS的过程中,可以通过发送0xff补齐数据。
当数据发送过程中,需要记录发送数据的校验和,本发明实施例中可以采用异或和的方式。当发送完毕后,将并转串模块转换为普通模式,以便通过JTAG协议来获取从端反馈的值。然后用反馈的校验值与自己计算的校验和对比可判断是否传送成功。
综上所述,本发明实施例提供的一种向待编程设备烧录信息的方法,由于该技术方案脱离了PC机的限制,利用嵌入式设备同时实现了对多台设备的配置及编程,并且该方法简单灵活稳定,能够大大提高了生产效率。
如图8所示,基于上述图1所述的方法实施例,本发明还提供了一种向待编程设备烧录信息的系统,该系统包括:
主端设备81,用于获取至少一个从端上用于指示FPGA型号的身份识别码,根据所述身份识别码确定对应的配置文件,并将所述配置文件发送给所述从端;还用于在配置生效后,向所述从端发送需要编程的文件;
至少一个从端设备82,用于接收所述主端发送的所述配置文件,实现所述主端对从端FPGA的配置;还用于接收所述需要编程的文件,并将所述需要编程的文件写入到串行存储芯片EPCS中。
具体的,所述主端设备进一步可以包括:
文件生成模块811,用于预先根据所述从端FPGA的型号生成对应的配置文件,其中,所述配置文件中包括所述从端的配置信息以及一个配置在从端FPGA上内存中的配置运行程序;
信息获取模块812,用于获取所述从端上用于指示FPGA型号的身份识别码,并根据所述身份识别码确定对应的配置文件;
数据发送模块813,用于将所述配置文件发送给所述从端,在所述从端接收到所述配置文件后,向所述从端发送用于指示所述配置文件启动运行的JTAG命令,以便使所述从端的配置文件生效;还用于在配置生效后,向所述从端发送需要编程的文件。
具体的,所述从端设备进一步可以包括:
数据接收模块821,用于接收所述主端发送的所述配置文件;在接收到所述配置文件后,接收所述从端发送用于指示所述配置文件启动运行的JTAG命令;还用于在配置生效后,接收所述主端发送的需要编程的文件;
信息处理模块822,用于在接收到所述配置文件后,实现所述主端对从端FPGA的配置;并根据所述JTAG命令运行所述配置运行程序;还用于将所述需要编程的文件,写入到串行存储芯片EPCS中。
需要说明的是,由于所述一种向待编程设备烧录信息的系统是基于图1所示的方法实施例获得的,包含了相同或相应的技术特征,本发明实施例中各功能模块是图1所述方法实施例中各步骤的实体转换,因此在本发明实施例中不对重复性的技术方案进行详述,请具体参见上述图1实施例中的相关描述。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (10)

1.一种向待编程设备烧录信息的方法,其特征在于,包括:
主端获取至少一个从端上用于指示现场可编程逻辑门阵列FPGA型号的身份识别码;
所述主端向从端发送根据所述身份识别码确定的配置文件;
所述从端在接收到所述配置文件后,实现所述主端对从端FPGA的配置;
在配置生效后,所述主端向从端发送需要编程的文件;
所述从端接收所述需要编程的文件,并将所述需要编程的文件写入到串行存储芯片EPCS中;
其中,从端FPGA包括:Nios软核,其包括:一个Niosprocessor,一个on-chipmemory,一个EPCSController用来读写EPCS,一个1位的上升沿用于触发中断I/O,8位的数据输入I/O用于传入数据,24位的输出I/O用来反馈校验信息;串转并模块,用于实现将串行数据转为并行数据并产生中断的功能,其包括3个输入和3个输出信号;VirtualJTAG模块,用于实现获取FPGA上的JTAG信号的功能,并可送出最大24位的指令数据,实现和主端设备的硬件交互;其中,Nios软核运行所需要的时钟信号来自于VirtualJTAG模块。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述主端由至少一个10pin的program编程口分别通过至少一条JTAG线缆连接到一台从端;
所述从端通过一个10pin的JTAG接口接收所述主端发送的配置文件,所述从端包括一片FPGA以及与其相连的EPCS。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
预先根据所述从端FPGA的型号生成对应的配置文件,其中,所述配置文件中包括所述从端的配置信息以及一个配置在从端FPGA上内存中的配置运行程序。
4.根据权利要求3所述的方法,其特征在于,所述主端向从端发送根据身份识别码确定的配置文件,包括:
所述主端根据所述身份识别码确定对应从端FPGA型号的配置文件;
所述主端向从端发送下载所述配置文件的通知,所述通知中包含所述配置文件的下载地址,以便所述从端根据所述下载地址获得所述配置文件。
5.根据权利要求4所述的方法,其特征在于,在所述从端接收到所述配置文件后,所述方法还包括:
所述主端向所述从端发送用于指示所述配置文件启动运行的JTAG命令,以便使所述从端的配置文件生效;
所述从端接收所述JTAG命令,运行所述从端FPGA上的配置运行程序,将所述EPCS内的内容清除,并监听所述JTAG接口的数据。
6.根据权利要求5所述的方法,其特征在于,所述从端接收所述需要编程的文件,并将所述文件写入到串行存储芯片EPCS中,包括:
所述从端在接收到所述编程的文件大小是所述EPSC页大小的整数倍时,将所述接收到的编程文件写入到所述EPCS中。
7.根据权利要求1-6中任一所述的方法,其特征在于,所述方法还包括:
所述主端采用广播的方式同时针对所述至少一个从端进行配置和编程;
其中,所述至少一个从端之间具有相同的硬件配置;所述硬件配置包括FPGA的型号以及EPCS的型号。
8.一种向待编程设备烧录信息的系统,其特征在于,所述系统包括:
主端设备,用于获取至少一个从端上用于指示FPGA型号的身份识别码,根据所述身份识别码确定对应的配置文件,并将所述配置文件发送给所述从端;还用于在配置生效后,向所述从端发送需要编程的文件;
至少一个从端设备,用于接收所述主端发送的所述配置文件,实现所述主端对从端FPGA的配置;还用于接收所述需要编程的文件,并将所述需要编程的文件写入到串行存储芯片EPCS中;
其中,从端FPGA包括:Nios软核,其包括:一个Niosprocessor,一个on-chipmemory,一个EPCSController用来读写EPCS,一个1位的上升沿用于触发中断I/O,8位的数据输入I/O用于传入数据,24位的输出I/O用来反馈校验信息;串转并模块,用于实现将串行数据转为并行数据并产生中断的功能,其包括3个输入和3个输出信号;VirtualJTAG模块,用于实现获取FPGA上的JTAG信号的功能,并可送出最大24位的指令数据,实现和主端设备的硬件交互;其中,Nios软核运行所需要的时钟信号来自于VirtualJTAG模块。
9.根据权利要求8所述的系统,其特征在于:所述主端设备进一步包括:
文件生成模块,用于预先根据所述从端FPGA的型号生成对应的配置文件,其中,所述配置文件中包括所述从端的配置信息以及一个配置在从端FPGA上内存中的配置运行程序;
信息获取模块,用于获取所述从端上用于指示FPGA型号的身份识别码,并根据所述身份识别码确定对应的配置文件;
数据发送模块,用于将所述配置文件发送给所述从端,在所述从端接收到所述配置文件后,向所述从端发送用于指示所述配置文件启动运行的JTAG命令,以便使所述从端的配置文件生效;还用于在配置生效后,向所述从端发送需要编程的文件。
10.根据权利要求9所述的系统,其特征在于,所述从端设备进一步包括:
数据接收模块,用于接收所述主端发送的所述配置文件;在接收到所述配置文件后,接收所述主端发送用于指示所述配置文件启动运行的JTAG命令;还用于在配置生效后,接收所述主端发送的需要编程的文件;
信息处理模块,用于在接收到所述配置文件后,实现所述主端对从端FPGA的配置;并根据所述JTAG命令运行所述配置运行程序;还用于将所述需要编程的文件,写入到串行存储芯片EPCS中。
CN201210288886.5A 2012-08-14 2012-08-14 一种向待编程设备烧录信息的方法及系统 Active CN102855150B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210288886.5A CN102855150B (zh) 2012-08-14 2012-08-14 一种向待编程设备烧录信息的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210288886.5A CN102855150B (zh) 2012-08-14 2012-08-14 一种向待编程设备烧录信息的方法及系统

Publications (2)

Publication Number Publication Date
CN102855150A CN102855150A (zh) 2013-01-02
CN102855150B true CN102855150B (zh) 2016-02-10

Family

ID=47401759

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210288886.5A Active CN102855150B (zh) 2012-08-14 2012-08-14 一种向待编程设备烧录信息的方法及系统

Country Status (1)

Country Link
CN (1) CN102855150B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103561125A (zh) * 2013-10-31 2014-02-05 乐视致新电子科技(天津)有限公司 Mac地址的烧录方法、装置和系统
CN105512064A (zh) * 2014-09-26 2016-04-20 中国航空工业第六一八研究所 一种通讯控制器配置信息的在线加载系统及其方法
CN106020860A (zh) * 2016-05-04 2016-10-12 桥弘数控科技(上海)有限公司 一种fpga的更新方法、装置及系统
CN106919393B (zh) * 2017-02-28 2020-06-16 海信视像科技股份有限公司 一种对待发布软件进行处理的方法及装置
EP3422124A1 (en) * 2017-06-30 2019-01-02 SUEZ Groupe Method for controlling an ozone generating machine
CN108519889B (zh) * 2018-03-22 2021-06-11 深圳华中科技大学研究院 一种基于jtag标准的fpga程序远程升级系统及方法
CN112235245A (zh) * 2020-09-11 2021-01-15 福建新大陆通信科技股份有限公司 一种电子设备数据写入方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7127708B2 (en) * 2002-03-28 2006-10-24 Lucent Technologies Inc. Concurrent in-system programming of programmable devices
CN101485576A (zh) * 2008-12-30 2009-07-22 深圳市蓝韵实业有限公司 一种对设备内fpga芯片统一配置和管理的系统
CN102043747A (zh) * 2010-12-17 2011-05-04 浙江大学 Jtag下载方式下fpga逻辑代码的下载方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7127708B2 (en) * 2002-03-28 2006-10-24 Lucent Technologies Inc. Concurrent in-system programming of programmable devices
CN101485576A (zh) * 2008-12-30 2009-07-22 深圳市蓝韵实业有限公司 一种对设备内fpga芯片统一配置和管理的系统
CN102043747A (zh) * 2010-12-17 2011-05-04 浙江大学 Jtag下载方式下fpga逻辑代码的下载方法

Also Published As

Publication number Publication date
CN102855150A (zh) 2013-01-02

Similar Documents

Publication Publication Date Title
CN102855150B (zh) 一种向待编程设备烧录信息的方法及系统
US11698412B2 (en) Device, system and method to support communication of test, debug or trace information with an external input/output interface
CN102087606B (zh) 一种fpga配置文件更新装置
WO2018064885A1 (zh) 一种对可编程逻辑器件进行配置或更新的装置和方法
CN103870429B (zh) 基于嵌入式gpu的高速信号处理板
CN206162501U (zh) 数据转换设备、芯片、及影像系统
US20080201497A1 (en) Wireless-interface module and electronic apparatus
US20140365704A1 (en) Using dual phys to support multiple pcie link widths
US9904644B2 (en) Systems and methods of using an SPI controller
CN104834620B (zh) 串行外设接口spi总线电路、实现方法以及电子设备
CN103763549B (zh) 一种基于FPGA的Camera Link接口实验与开发系统
KR20180012327A (ko) 소프트 프로세서 기반의 이미지 신호 소스 및 이미지 신호 처리 방법
WO2018218954A1 (zh) 一种验证平台和验证方法、计算机存储介质
US9935637B2 (en) Systems and methods for FPGA development and operation
CN209560436U (zh) 一种NVMe硬盘背板
CN111190855A (zh) 一种fpga多重远程配置系统及方法
CN110727466B (zh) 多晶粒的多核计算机平台及其开机方法
CN103116512A (zh) 一种cpld固件升级的方法
WO2017148221A1 (zh) 串行外设接口的传输控制方法、装置及系统
CN109359082B (zh) 一种基于fpga的usb数据实时监听系统及方法
CN107329863B (zh) 一种基于COMe的测量仪器通用硬件平台
CN204706031U (zh) 串行外设接口spi总线电路以及电子设备
CN105068965A (zh) 基于I2C总线的NAND Flash存储方法及系统
CN203761518U (zh) 一种基于FPGA的Camera Link接口实验与开发系统
JP2013125315A (ja) バスシステムおよび情報処理機器

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
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method and system of burning information to the device to be programmed

Effective date of registration: 20201119

Granted publication date: 20160210

Pledgee: Zhongguancun Beijing technology financing Company limited by guarantee

Pledgor: BEIJING HUAHUAN ELECTRONICS Co.,Ltd.

Registration number: Y2020990001362

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20220422

Granted publication date: 20160210

Pledgee: Zhongguancun Beijing technology financing Company limited by guarantee

Pledgor: Beijing Huahuan Electronics Co.,Ltd.

Registration number: Y2020990001362

PC01 Cancellation of the registration of the contract for pledge of patent right