一种基于arm与fpga的动态可重构嵌入式系统的制作方法

文档序号:6548457阅读:228来源:国知局
一种基于arm与fpga的动态可重构嵌入式系统的制作方法
【专利摘要】本发明公开一种基于ARM与FPGA的动态可重构嵌入式系统,主要由ARM子系统与FPGA子系统构成,两个子系统之间通过一种或多种,一个或多个总线互联以实现数据信号、控制信号的交换,而ARM子系统可通过其一个重配置模块在线重构FPGA子系统,实现系统的动态重构。该系统通过使用高级操作系统Linux和总线作为中间件的方法,将基于ARM与FPGA的嵌入式系统的应用设计的软件部分和硬件部分相互抽象相互分离,提高了其软硬联合开发与调试的效率,并使得应用易于移植,提高了应用的代码的可重用率。
【专利说明】—种基于ARM与FPGA的动态可重构嵌入式系统
【技术领域】
[0001]本发明涉及嵌入式领域,更具体地,涉及一种基于ARM与FPGA的动态可重构嵌入式系统。
【背景技术】
[0002]同时使用ARM处理器与FPGA (Field — Programmable Gate Array,现场可编程门阵列)的嵌入式系统结合了两者的优点,在通信,网络,多媒体,航空等各个领域的应用越来越广泛。然而,现有的基于ARM与FPGA的嵌入式系统的软件部分与硬件部分往往结合太紧密,相互之间并不透明,使得对基于这样的系统的应用的软硬联合开发与测试流程繁琐复杂,效率低下,可拓展性不强,移植到新硬件平台时需要对软件代码与硬件代码大量修改,代码的重用率低。另外,现有的基于ARM与FPGA的嵌入式系统无法在系统在线时重构,若实际使用时需求变更,需要对其拆机才能升级,十分不便。

【发明内容】

[0003]针对现有的基于ARM与FPGA的嵌入式系统存在的问题,本发明提出了一种基于ARM与FPGA的动态可重构嵌入式系统,当该动态可重构嵌入式系统在线时,即可实现重构,无需拆机升级。
[0004]为了实现上述目的,本发明的技术方案为:
[0005]用户能够基于本发明的基于ARM与FPGA的动态可重构嵌入式系统设计的目标设计;本发明的动态可重构嵌入式系统主要由ARM子系统与FPGA子系统构成,两个子系统之间通过一个或多个总线互联以实现数据信号、控制信号的交换,而ARM子系统可通过其一个重配置程序在线重构FPGA子系统,实现系统的动态重构。
[0006]具体的,由ARM子系统与FPGA子系统构成;两个子系统之间通过一个或多个总线互联,实现控制信号、数据信号的传输;
[0007]ARM子系统部分由ARM微处理器、ARM电源电路、ARM复位电路、ARM时钟电路、ARM存储器以及ARM外设构成;
[0008]FPGA子系统部分由FPGA、FPGA下载电路、FPGA时钟电路、FPGA复位电路、FPGA电源以及FPGA外设构成;
[0009]ARM子系统的操作系统下有一个重配置模块,该重配置模块以系统调用的方式将目标设计的硬件部分的比特流文件下载到FPGA子系统上,同时加载所述的目标设计的驱动至内核。
[0010]更进一步的,ARM子系统运行Linux操作系统,FPGA下载电路与总线均在ARM子系统的操作系统注册为设备,FPGA下载电路与总线的驱动被作为内核模块加载在ARM子系统的操作系统的内核,ARM子系统的操作系统将目标设计的硬件部分作为总线上的热插拔设
备进行管理。
[0011]本发明的动态可重构嵌入式系统通过使用高级操作系统Linux和总线作为中间件的方法,将基于ARM与FPGA的嵌入式系统的目标设计的软件部分和硬件部分相互抽象相互分离,提高了软硬联合开发与调试的效率,并易于移植,提高了代码的可重用率。
[0012]更进一步的,目标设计的为用户基于基于ARM与FPGA的动态可重构系统的应用设计,目标设计的硬件电路的接口实现为总线的接口,目标设计的硬件电路通过总线的连接作为ARM子系统的外设,在ARM子系统的操作系统注册为字符设备、块设备、网络设备或其他类型设备被管理和调用。目标设计的驱动程序和应用程序在操作系统环境下进行开发和调试,简化软硬联合开发与测试流程得以简化,并提高移植到新硬件平台时代码的重用率。
[0013]更进一步的,ARM外设和FPGA外设是能够裁剪的外设,ARM外设包括一个USB控制器,一个10/100/1000M以太网接口和一个USB-UART接口 ;当总线为多个时,多个总线是相同类型或不同类型的总线。
[0014]与现有技术相比,本发明的有益效果为:本发明的动态可重构嵌入式系统的目标设计的软件部分和硬件部分相互抽象相互分离,提高了软硬联合开发与调试的效率,并易于移植,提高了代码的可重用率。在系统在线时亦可重构,且无需拆机即可进行升级,十分的方便。
【专利附图】

【附图说明】
[0015]图1为本发明的基于ARM与FPGA的动态可重构系统的结构框图。
【具体实施方式】
[0016]下面结合附图对本发明做进一步的描述,但本发明的实施方式并不限于此。
[0017]如图1所不,本实施例由ARM子系统与FPGA子系统构成;ARM子系统部分由ARM微处理器、ARM电源电路、ARM复位电路、ARM时钟电路、ARM存储器以及其它可裁剪的ARM外设构成;FPGA子系统部分由FPGA、FPGA下载电路、FPGA时钟电路、FPGA复位电路、FPGA电源以及其他可裁剪的FPGA外设构成;两个子系统之间通过一种或多种,一个或多个总线互联,实现控制信号、数据信号等各种信号的传输。
[0018]本实施例使用的ARM处理器和FPGA为Xilinx公司的XC7Z020,它由一个ARMCortex?-A9MPCore处理器,即PS部分与一个等效130万门的28nm低功耗可编程逻辑,即PL部分构成,这两部分主要通过芯片内部的9个AXI4总线进行数据传输。PS和PL都可以单独使用,而PS可通过芯片内部的处理器对可编程逻辑配置接口 PCAP对PL进行配置。
[0019]ARM子系统部分的ARM处理器部分由XC7Z020的PS部分构成。ARM子系统部分的存储器部分由一个512MB DDR3内存和一个256Mb Quad-SPI闪存构成。另外,ARM子系统还包括一个USB 0TG2.0控制器,一个10/100/1000M以太网接口和一个USB-UART接口这3个可裁剪的外设,用来进行PC或网络与基于ARM与FPGA的动态可重构系统的数据传输和对目标应用的开发与调试。ARM子系统的操作系统为Linux系统,内核的主版本为3.2,使用虚拟文件系统sysfs把设备和驱动程序的信息从内核输出到用户空间和对设备和驱动程序做设置。ARM子系统的操作系统通过闪存引导。FPGA子系统的FPGA由XC7Z020的PL部分构成。FPGA子系统的FPGA下载电路由PCAP构成,被注册为字符设备,设备节点为/dev/pcap,其驱动根据PCAP的操作时序实现,以内核模块的形式加载。9个AXI4总线被注册为总线设备设备节点分别为 /dev/bus/axi4/001、/dev/bus/axi4/002、...、/dev/bus/axi4/009,其驱动根据AXI4协议实现,以内核模块的形式加载,能够设定总线工作频率与工作模式和识别总线上设备的热插拔。
[0020]重配置模块是一个工作在用户空间的程序RcfgFPGA,运行参数格式为=RcfgFPGA设备名称比特流文件路径驱动路径在进行重配置时,重配置程序卸载旧设计的驱动,然后以系统调用的方式使用设备“/dev/pcap”将目标设计的比特流文件下载到FPGA子系统上,内核检测到新设备连接产生一个热插拔事件,重配置模块监听后创建设备节点“/dev/设备名称”,并加载其驱动至内核。至此,目标设计可以在ARM子系统的操作系统下以设备的形式被使用。
[0021]以上所述的本发明的实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神原则之内所作出的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
【权利要求】
1.一种基于ARM与FPGA的动态可重构嵌入式系统,用户基于该动态可重构嵌入系统设计的目标设计;其特征在于,由ARM子系统与FPGA子系统构成;两个子系统之间通过一个或多个总线互联,实现控制信号、数据信号的传输; ARM子系统部分由ARM微处理器、ARM电源电路、ARM复位电路、ARM时钟电路、ARM存储器以及ARM外设构成; FPGA子系统部分由FPGA、FPGA下载电路、FPGA时钟电路、FPGA复位电路、FPGA电源以及FPGA外设构成; ARM子系统的操作系统下有一个重配置模块,该重配置模块以系统调用的方式将目标设计的硬件部分的比特流文件下载到FPGA子系统上,同时加载所述的目标设计的驱动至内核。
2.根据权利I所述的基于ARM与FPGA的动态可重构嵌入式系统,其特征在于, ARM子系统运行Linux操作系统,FPGA下载电路与总线均在ARM子系统的操作系统注册为设备,FPGA下载电路与总线的驱动被作为内核模块加载在ARM子系统的操作系统的内核,ARM子系统的操作系统将目标设计的硬件部分作为总线上的热插拔设备进行管理。
3.根据权利I或2所述的基于ARM与FPGA的动态可重构嵌入式系统,其特征在于,所述目标设计是用户基于动态可重构系统的应用设计,目标设计的硬件电路的接口实现为总线的接口,目标设计的硬件电路通过总线连接作为ARM子系统的外设,目标设计的驱动程序和应用程序在操作系统环境下进行开发和调试。
4.根据权利要求3所述的基于ARM与FPGA的动态可重构嵌入式系统,其特征在于,所述目标设计的硬件电路在ARM子系统的操作系统上注册为字符设备、块设备或网络设备被管理和调用。
5.根据权利要求1所述的基于ARM与FPGA的动态可重构嵌入式系统,其特征在于,所述ARM外设和FPGA外设是能够裁剪的外设。
6.根据权利要求5所述的基于ARM与FPGA的动态可重构嵌入式系统,其特征在于,所述ARM外设包括一个USB控制器,一个10/100/1000M以太网接口和一个USB-UART接口。
7.根据权利要求1所述的基于ARM与FPGA的动态可重构嵌入式系统,其特征在于,当总线为多个时,多个总线是相同类型或不同类型的总线。
【文档编号】G06F17/50GK103995939SQ201410240878
【公开日】2014年8月20日 申请日期:2014年5月30日 优先权日:2014年5月30日
【发明者】黄以华, 韦铭 申请人:广东顺德中山大学卡内基梅隆大学国际联合研究院, 中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1