基于LPC接口加载FPGA的系统的制作方法
未命名
08-02
阅读:327
评论:0

基于lpc接口加载fpga的系统
技术领域
1.本发明涉及数字硬件和fpga设计技术领域,具体为一种基于lpc接口加载fpga的系统。
背景技术:
2.对于具有大容量fpga的数字板卡,常常需要对fpga芯片实现远程版本更新和多版本配置功能,一般采用板内的处理器来实现对fpga配置flash的编程和对fpga的加载,编程flash和加载fpga的应用通常需要并行接口来完成,而随着处理器的发展和外部接口的精简,目前的高端处理器,除了pcie、ddr等高速接口以外,只有lpc接口可以连接外部i/o设备,没有其他的并行接口可以使用,因此采用lpc实现fpga的加载和编程就成为高速数字板卡的必需应用技术。
3.lpc(low pin count)是基于 intel 标准的 33 mhz 4 bit并行总线协议,用于代替以前的 isa 总线协议,但两者性能相似,都用于连接南桥和super i/o芯片、flash bios、ec等设备。lpc的工作时钟速率为33mhz,最大传输值16mb/s,但信号管脚却大幅减少了25~30个,以lpc接口设计的super i/o芯片、flash芯片都能享有脚位数减少、体积微缩的好处,主板的设计也可以简化,这也是取名lpc——low pin count的原因。
技术实现要素:
4.本发明提出一种基于lpc接口加载fpga的系统,原型在一个以ft2000为核心的嵌入式板卡上,板上具有大容量的v7系列fpga芯片,需要完成对v7的多版本加载功能,上电后在板控制器(obc)从外挂的并口flash中读取程序,通过selectmap方式加载v7 fpga。ft2000通过网口获取v7的固化程序,然后通过lpc总线送到obc,obc接收后写入并口flash,以此实现v7 fpga的远程更新功能。采取的技术方案如下:一种基于lpc接口加载fpga的系统,所述系统设置在具有lpc接口的处理器板卡上,所述系统配置fpga采用selectmap模式,所述系统包括ft2000硬件系统、bram、接口逻辑lpc_bram和microblaze嵌入式系统,ft2000硬件系统从网络获取v7 fpga的配置数据源文件,通过lpc传输到接口逻辑lpc_bram,接口逻辑lpc_bram将数据读出后并写入bram缓存中,microblaze嵌入式系统从bram缓存中读取数据,编程写入外部flash中。
5.本发明技术方案,在具有lpc接口的处理器板卡上实现对大容量fpga配置flash编程和加载的系统设计,具有lpc接口的处理器板卡包括一片实现在板控制(obc)功能的a7 fpga芯片和一片用于存放v7系列高端fpga配置程序的flash芯片。a7 fpga芯片要实现基于lpc接口的数据通道、对flash的编程接口以及对高端fpga的并行加载接口逻辑,a7 fpga可以选用低端fpga芯片,降低系统实现成本。
6.本发明技术方案,实现在a7 fpga芯片上,功能包括基于lpc接口实现编程数据的传输通道,基于selectmap模式并行接口对板上的大容量fpga的配置接口,对并行flash芯片的编程逻辑接口,编程数据的缓存ram。
7.对本发明技术方案的进一步优选,接口逻辑lpc_bram包括lpc转fifo接口、fifo和数据转换接口三个子程序,lpc转fifo接口子程序获取lpc总线送来的数据,写入fifo子程序,数据转换接口子程序将数据从fifo子程序读出依次写入bram。
8.对本发明技术方案的进一步优选,microblaze嵌入式系统的microblaze嵌入式软核具有lpc接口。
9.对本发明技术方案的进一步优选,bram为128kb bram。
10.对本发明技术方案的进一步优选,具有lpc接口的处理器板卡为以ft2000为核心的嵌入式板卡,以ft2000为核心的嵌入式板卡包括一片实现在板控制功能的a7 fpga芯片和一片用于存放v7系列高端fpga配置程序的flash芯片。
11.对本发明技术方案的进一步优选,ft2000硬件系统送入接口逻辑lpc_bram的数据均通过lpc总线传送;ft2000硬件系统通过几个gpio获取接口逻辑lpc_bram的数据和状态。
12.对本发明技术方案的进一步优选,接口逻辑lpc_bram的编程数据通过写入bram由microblaze嵌入式软核读取,接口逻辑lpc_bram扇区数据通过gpio_in传送给microblaze嵌入式软核,写完一个扇区后通过int中断通知microblaze嵌入式软核,microblaze嵌入式软核完成该扇区的编程后通过gpio_out通知接口逻辑lpc_bram,接口逻辑lpc_bram再通过gpio传递给ft2000硬件系统。通过逐个扇区传输和编程的方式,省去了大容量ddr缓存电路,实现了低成本、高可靠、集成度高的优选方案。
13.本发明与现有技术相比的有益效果是:1、本发明系统,在一片芯片内部构建了具有缓存、lpc接口、selectmap接口、flash接口的完整的嵌入式系统,有效节约了板卡的板面积,减少硬件成本、降低板卡设计难度,实现了嵌入式系统的小型化、高集成化和高可靠性。
14.2、本发明系统,构建了以microblaze软核为核心处理器的可编程嵌入式系统,省去了外部程序flash、ddr等外设硬件,增强了应用的灵活性、降低了维护成本,同时提高了可靠性。
15.3、本发明系统,在满足此类需求的系统方案中,更加简单可靠,实现成本更低。fpga芯片的加载数据量大,可达10mb以上,实现系统通常需要具备大容量的ddr缓存,且需要一个专用嵌入式系统来完成,本方案将该嵌入式系统都设计在板卡的obc a7 fpga芯片内,省去了外部存储器和相关接口电路的硬件设计。
附图说明
16.图1为实施例1的系统架构示意图。
17.图2为lpc_bram实现数据传输系统结构图。
18.图3为图2中的lpc_bram子模块内部结构图。
19.图4为ft2000传输v7配置数据的程序流程示意图。
20.图5为每次上电后,本实施例系统对v7 fpga实现配置数据加载的系统结构框图。
具体实施方式
21.下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
22.为使本发明的内容更加明显易懂,以下结合附图1-图5和具体实施方式做进一步的描述。
23.本发明提出一种基于lpc接口加载fpga的系统,该系统实现具有lpc接口的处理器通过lpc对大容量fpga的配置flash进行编程固化并对fpga实现加载的功能。该系统原型包括一个ft2000嵌入式系统、一个a7 fpga芯片、一个flash芯片、一个v7 fpga芯片。主要功能在a7芯片内部实现,构建了具有缓存、lpc接口、selectmap接口、flash接口的完整的嵌入式系统,有效节约了板卡的板面积,减少硬件成本、降低板卡设计难度,实现了嵌入式系统的小型化、高集成化和高可靠性。系统的逻辑部分包括基于lpc接口实现编程数据的传输通道,基于selectmap并行接口对板上的v7 fpga的配置接口,对并行flash芯片的编程逻辑接口,编程数据的缓存ram等。系统的软件部分包括对lpc的数据接收和读取、对flash的编程算法、对高端fpga的加载程序。
24.实施例1如图1所示,本实施例系一种基于lpc接口加载fpga的系统,本系统包含ft2000硬件系统、128kb bram、接口逻辑lpc_bram和microblaze嵌入式系统共4个主要部分。ft2000硬件系统从网络获取v7 fpga的配置数据源文件,通过lpc传输到接口逻辑lpc_bram,该数据获取后以42位字长格式(包含数据和地址)写入16个字的fifo中,lpc_bram将数据从fifo中读出后依次写入128kb的bloack ram缓存中。microblaze嵌入式系统从缓存中读取数据,编程写入外部flash中,然后通知ft2000再继续传输下一个扇区的128kb数据,直到完成整个配置数据的传输和编程。
25.如图2所示,lpc_bram实现数据传输系统,该系统以软核处理器microblaze为核心构建一个嵌入式系统,lpc_bram是实现lpc接口的逻辑子模块,功能是将lpc总线送来的用于加载v7的程序数据流写入容量为128kb的bram中去,以便被microblaze系统读取,并编程写入flash中去。
26.如图3所示,接口逻辑lpc_bram的子模块主要由lpc转fifo接口、fifo和数据转换接口三个子程序来完成,lpc转fifo接口将lpc总线送来的数据获取后以42位字长格式(包含数据和地址)写入16个字的fifo中,数据转换接口子程序将数据从fifo中读出后一次写入128kb的block ram中。
27.ft2000传输v7配置数据的程序流程如图4所示:整个过程分为数据从ft2000写入双口ram和microblaze读取数据编程flash两个进程来完成。
28.为了实现数据从ft2000到128kb bram,并被microblaze读取的完整和准确的传输过程,需要ft2000、lpc_bram、microblaze之间具备足够的握手信号来支持,该系统互联如图1所示。ft2000送给lpc_bram的数据都通过lpc总线,ft2000不通过lpc总线读取数据和状态,而是通过几个gpio获取lpc_bram的状态。lpc_bram的编程数据通过写入128kb的bram而由microblaze读取,扇区号通过gpio_in传送给microblaze,写完一个扇区后通过int中断通知microblaze,microblaze完成该扇区的编程后通过gpio_out通知lpc_bram,lpc_bram再通过gpio(prg_cmp编程完成信号)传递给ft2000,以便他进行下一次的传送。
29.如图4所示,lpc_rdy:准备好信号,是连接到ft的gpio,作为和ft处理器的握手信号。
30.0表示obc的lpc总线忙,不会响应总线命令;1表示准备好,ft可以开始lpc总线操
作。
31.prg_cmp:编程完成信号,是连接到ft的2个gpio;00表示obc的flash为blank状态,没有被编过程;11表示已经完成一个扇区编程,可以继续下一次编程;01表示obc正在进行flash编程,不响应编程的请求。
32.lpc_bram的进程步骤如下:1、fifo不空开始读取lpc总线的存储器写操作送来的数据;2、判断起始标志后,第一个读取的数据为扇区号,将扇区号写到gpio_in供microblaze读取;3、接下来开始读取的是数据,依次写入双口ram中,直到结束标志,并判断长度是否为128k个;4、通过中断通知microblaze来读数;5、microblaze从双口ram中读取数据后对此扇区进行编程,成功后用gpio_out发出编程完成的信息;6、lpc_bram收到gpio_out完成信息后,将prg_cmp设置好通知ft2000,一次扇区编程完成。
33.如图5所示,配置数据被编程写入flash时,可以按照地址区分写入多个版本。当模块每次上电后,microblaze系统根据ft2000系统给出的命令,从flash中读取需要加载的配置数据,然后通过fifo和逻辑接口对v7 fpga实现selectmap 并行方式加载,加载成功后,把done信号回送给ft2000系统,表示加载成功。
34.以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
技术特征:
1.一种基于lpc接口加载fpga的系统,其特征在于:所述系统设置在具有lpc接口的处理器板卡上,所述系统配置fpga采用selectmap模式,所述系统包括ft2000硬件系统、bram、接口逻辑lpc_bram和microblaze嵌入式系统,ft2000硬件系统从网络获取v7 fpga的配置数据源文件,通过lpc传输到接口逻辑lpc_bram,接口逻辑lpc_bram将数据读出后并写入bram缓存中,microblaze嵌入式系统从bram缓存中读取数据,编程写入外部flash中。2.根据权利要求1所述的一种基于lpc接口加载fpga的系统,其特征在于:接口逻辑lpc_bram包括lpc转fifo接口、fifo和数据转换接口三个子程序,lpc转fifo接口子程序获取lpc总线送来的数据,写入fifo子程序,数据转换接口子程序将数据从fifo子程序读出依次写入bram。3.根据权利要求1所述的一种基于lpc接口加载fpga的系统,其特征在于:microblaze嵌入式系统的microblaze嵌入式软核具有lpc接口。4.根据权利要求1所述的一种基于lpc接口加载fpga的系统,其特征在于:bram为128kb bram。5.根据权利要求1所述的一种基于lpc接口加载fpga的系统,其特征在于:具有lpc接口的处理器板卡为以ft2000为核心的嵌入式板卡,以ft2000为核心的嵌入式板卡包括一片实现在板控制功能的a7 fpga芯片和一片用于存放v7系列高端fpga配置程序的flash芯片。6.根据权利要求1所述的一种基于lpc接口加载fpga的系统,其特征在于:ft2000硬件系统送入接口逻辑lpc_bram的数据均通过lpc总线传送;ft2000硬件系统通过几个gpio获取接口逻辑lpc_bram的数据和状态。7.根据权利要求6所述的一种基于lpc接口加载fpga的系统,其特征在于:接口逻辑lpc_bram的编程数据通过写入bram由microblaze嵌入式软核读取,接口逻辑lpc_bram扇区数据通过gpio_in传送给microblaze嵌入式软核,写完一个扇区后通过int中断通知microblaze嵌入式软核,microblaze嵌入式软核完成该扇区的编程后通过gpio_out通知接口逻辑lpc_bram,接口逻辑lpc_bram再通过gpio传递给ft2000硬件系统。
技术总结
本发明公开了一种基于LPC接口加载FPGA的系统,所述系统设置在具有LPC接口的处理器板卡上,所述系统配置FPGA采用SelectMAP模式,所述系统包括FT2000硬件系统、BRAM、接口逻辑LPC_BRAM和Microblaze嵌入式系统,FT2000硬件系统从网络获取V7 FPGA的配置数据源文件,通过LPC传输到接口逻辑LPC_BRAM,接口逻辑LPC_BRAM将数据读出后并写入BRAM缓存中,Microblaze嵌入式系统从BRAM缓存中读取数据,编程写入外部FLASH中。优点,本发明,在一片芯片内部构建了具有缓存、LPC接口、SelectMAP接口、Flash接口的完整的嵌入式系统,有效节约了板卡的板面积,减少硬件成本、降低板卡设计难度,实现了嵌入式系统的小型化、高集成化和高可靠性。可靠性。可靠性。
技术研发人员:林振华 黄新成
受保护的技术使用者:中国电子科技集团公司第十四研究所
技术研发日:2022.12.29
技术公布日:2023/7/31
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/