CN103995939A - 一种基于arm与fpga的动态可重构嵌入式系统 - Google Patents
一种基于arm与fpga的动态可重构嵌入式系统 Download PDFInfo
- Publication number
- CN103995939A CN103995939A CN201410240878.2A CN201410240878A CN103995939A CN 103995939 A CN103995939 A CN 103995939A CN 201410240878 A CN201410240878 A CN 201410240878A CN 103995939 A CN103995939 A CN 103995939A
- Authority
- CN
- China
- Prior art keywords
- arm
- fpga
- subsystem
- dynamic reconfigurable
- embedded system
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开一种基于ARM与FPGA的动态可重构嵌入式系统,主要由ARM子系统与FPGA子系统构成,两个子系统之间通过一种或多种,一个或多个总线互联以实现数据信号、控制信号的交换,而ARM子系统可通过其一个重配置模块在线重构FPGA子系统,实现系统的动态重构。该系统通过使用高级操作系统Linux和总线作为中间件的方法,将基于ARM与FPGA的嵌入式系统的应用设计的软件部分和硬件部分相互抽象相互分离,提高了其软硬联合开发与调试的效率,并使得应用易于移植,提高了应用的代码的可重用率。
Description
技术领域
本发明涉及嵌入式领域,更具体地,涉及一种基于ARM与FPGA的动态可重构嵌入式系统。
背景技术
同时使用ARM处理器与FPGA(Field-Programmable Gate Array,现场可编程门阵列)的嵌入式系统结合了两者的优点,在通信,网络,多媒体,航空等各个领域的应用越来越广泛。然而,现有的基于ARM与FPGA的嵌入式系统的软件部分与硬件部分往往结合太紧密,相互之间并不透明,使得对基于这样的系统的应用的软硬联合开发与测试流程繁琐复杂,效率低下,可拓展性不强,移植到新硬件平台时需要对软件代码与硬件代码大量修改,代码的重用率低。另外,现有的基于ARM与FPGA的嵌入式系统无法在系统在线时重构,若实际使用时需求变更,需要对其拆机才能升级,十分不便。
发明内容
针对现有的基于ARM与FPGA的嵌入式系统存在的问题,本发明提出了一种基于ARM与FPGA的动态可重构嵌入式系统,当该动态可重构嵌入式系统在线时,即可实现重构,无需拆机升级。
为了实现上述目的,本发明的技术方案为:
用户能够基于本发明的基于ARM与FPGA的动态可重构嵌入式系统设计的目标设计;本发明的动态可重构嵌入式系统主要由ARM子系统与FPGA子系统构成,两个子系统之间通过一个或多个总线互联以实现数据信号、控制信号的交换,而ARM子系统可通过其一个重配置程序在线重构FPGA子系统,实现系统的动态重构。
具体的,由ARM子系统与FPGA子系统构成;两个子系统之间通过一个或多个总线互联,实现控制信号、数据信号的传输;
ARM子系统部分由ARM微处理器、ARM电源电路、ARM复位电路、ARM时钟电路、ARM存储器以及ARM外设构成;
FPGA子系统部分由FPGA、FPGA下载电路、FPGA时钟电路、FPGA复位电路、FPGA电源以及FPGA外设构成;
ARM子系统的操作系统下有一个重配置模块,该重配置模块以系统调用的方式将目标设计的硬件部分的比特流文件下载到FPGA子系统上,同时加载所述的目标设计的驱动至内核。
更进一步的,ARM子系统运行Linux操作系统,FPGA下载电路与总线均在ARM子系统的操作系统注册为设备,FPGA下载电路与总线的驱动被作为内核模块加载在ARM子系统的操作系统的内核,ARM子系统的操作系统将目标设计的硬件部分作为总线上的热插拔设备进行管理。
本发明的动态可重构嵌入式系统通过使用高级操作系统Linux和总线作为中间件的方法,将基于ARM与FPGA的嵌入式系统的目标设计的软件部分和硬件部分相互抽象相互分离,提高了软硬联合开发与调试的效率,并易于移植,提高了代码的可重用率。
更进一步的,目标设计的为用户基于基于ARM与FPGA的动态可重构系统的应用设计,目标设计的硬件电路的接口实现为总线的接口,目标设计的硬件电路通过总线的连接作为ARM子系统的外设,在ARM子系统的操作系统注册为字符设备、块设备、网络设备或其他类型设备被管理和调用。目标设计的驱动程序和应用程序在操作系统环境下进行开发和调试,简化软硬联合开发与测试流程得以简化,并提高移植到新硬件平台时代码的重用率。
更进一步的,ARM外设和FPGA外设是能够裁剪的外设,ARM外设包括一个USB控制器,一个10/100/1000M以太网接口和一个USB-UART接口;当总线为多个时,多个总线是相同类型或不同类型的总线。
与现有技术相比,本发明的有益效果为:本发明的动态可重构嵌入式系统的目标设计的软件部分和硬件部分相互抽象相互分离,提高了软硬联合开发与调试的效率,并易于移植,提高了代码的可重用率。在系统在线时亦可重构,且无需拆机即可进行升级,十分的方便。
附图说明
图1为本发明的基于ARM与FPGA的动态可重构系统的结构框图。
具体实施方式
下面结合附图对本发明做进一步的描述,但本发明的实施方式并不限于此。
如图1所示,本实施例由ARM子系统与FPGA子系统构成;ARM子系统部分由ARM微处理器、ARM电源电路、ARM复位电路、ARM时钟电路、ARM存储器以及其它可裁剪的ARM外设构成;FPGA子系统部分由FPGA、FPGA下载电路、FPGA时钟电路、FPGA复位电路、FPGA电源以及其他可裁剪的FPGA外设构成;两个子系统之间通过一种或多种,一个或多个总线互联,实现控制信号、数据信号等各种信号的传输。
本实施例使用的ARM处理器和FPGA为Xilinx公司的XC7Z020,它由一个ARM CortexTM-A9MPCore处理器,即PS部分与一个等效130万门的28nm低功耗可编程逻辑,即PL部分构成,这两部分主要通过芯片内部的9个AXI4总线进行数据传输。PS和PL都可以单独使用,而PS可通过芯片内部的处理器对可编程逻辑配置接口PCAP对PL进行配置。
ARM子系统部分的ARM处理器部分由XC7Z020的PS部分构成。ARM子系统部分的存储器部分由一个512MB DDR3内存和一个256Mb Quad-SPI闪存构成。另外,ARM子系统还包括一个USB OTG2.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协议实现,以内核模块的形式加载,能够设定总线工作频率与工作模式和识别总线上设备的热插拔。
重配置模块是一个工作在用户空间的程序RcfgFPGA,运行参数格式为:RcfgFPGA设备名称比特流文件路径驱动路径在进行重配置时,重配置程序卸载旧设计的驱动,然后以系统调用的方式使用设备“/dev/pcap”将目标设计的比特流文件下载到FPGA子系统上,内核检测到新设备连接产生一个热插拔事件,重配置模块监听后创建设备节点“/dev/设备名称”,并加载其驱动至内核。至此,目标设计可以在ARM子系统的操作系统下以设备的形式被使用。
以上所述的本发明的实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神原则之内所作出的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
Claims (7)
1.一种基于ARM与FPGA的动态可重构嵌入式系统,用户基于该动态可重构嵌入系统设计的目标设计;其特征在于,由ARM子系统与FPGA子系统构成;两个子系统之间通过一个或多个总线互联,实现控制信号、数据信号的传输;
ARM子系统部分由ARM微处理器、ARM电源电路、ARM复位电路、ARM时钟电路、ARM存储器以及ARM外设构成;
FPGA子系统部分由FPGA、FPGA下载电路、FPGA时钟电路、FPGA复位电路、FPGA电源以及FPGA外设构成;
ARM子系统的操作系统下有一个重配置模块,该重配置模块以系统调用的方式将目标设计的硬件部分的比特流文件下载到FPGA子系统上,同时加载所述的目标设计的驱动至内核。
2.根据权利1所述的基于ARM与FPGA的动态可重构嵌入式系统,其特征在于,
ARM子系统运行Linux操作系统,FPGA下载电路与总线均在ARM子系统的操作系统注册为设备,FPGA下载电路与总线的驱动被作为内核模块加载在ARM子系统的操作系统的内核,ARM子系统的操作系统将目标设计的硬件部分作为总线上的热插拔设备进行管理。
3.根据权利1或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的动态可重构嵌入式系统,其特征在于,当总线为多个时,多个总线是相同类型或不同类型的总线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410240878.2A CN103995939A (zh) | 2014-05-30 | 2014-05-30 | 一种基于arm与fpga的动态可重构嵌入式系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410240878.2A CN103995939A (zh) | 2014-05-30 | 2014-05-30 | 一种基于arm与fpga的动态可重构嵌入式系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103995939A true CN103995939A (zh) | 2014-08-20 |
Family
ID=51310103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410240878.2A Pending CN103995939A (zh) | 2014-05-30 | 2014-05-30 | 一种基于arm与fpga的动态可重构嵌入式系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103995939A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095569A (zh) * | 2015-07-07 | 2015-11-25 | 北京航空航天大学 | 一种基于arm和flash的fpga重配置系统 |
CN105259834A (zh) * | 2015-10-28 | 2016-01-20 | 华中科技大学 | 一种固件可重构的手机数据采集控制器及方法 |
CN105743820A (zh) * | 2016-04-21 | 2016-07-06 | 大连理工大学 | 一种基于arm+fpga架构的列车以太网交换机 |
CN110719206A (zh) * | 2019-10-21 | 2020-01-21 | 中国科学院空间应用工程与技术中心 | 天基fpga虚拟化计算服务系统、方法和可读存储介质 |
CN111447084A (zh) * | 2020-03-19 | 2020-07-24 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 一种异构工业网络的互联融合方法及系统 |
CN111464339A (zh) * | 2020-03-19 | 2020-07-28 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 一种基于动态重构的异构工业网络互联方法及通用有线通信模块 |
CN111913740A (zh) * | 2020-05-07 | 2020-11-10 | 电子科技大学 | 一种基于fpga的risc-v处理器上的实时操作系统移植方法 |
WO2022222809A1 (zh) * | 2021-04-21 | 2022-10-27 | 阿里巴巴(中国)有限公司 | 功能组件处理方法、介质、设备和操作系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101625754A (zh) * | 2009-08-05 | 2010-01-13 | 黄以华 | 一种基于fpga的图像处理系统 |
-
2014
- 2014-05-30 CN CN201410240878.2A patent/CN103995939A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101625754A (zh) * | 2009-08-05 | 2010-01-13 | 黄以华 | 一种基于fpga的图像处理系统 |
Non-Patent Citations (4)
Title |
---|
张启蒙 等: "基于LXI总线的可重构软硬件一体测试仪", 《计算机测量与控制》 * |
张宝利 等: "基于ARM+FPGA的重构控制器设计", 《现代电子技术》 * |
徐敏: "一种基于ARM的FPGA可重构配置方法的实现及应用", 《赣南师范学院学报》 * |
潘武: "基于嵌入式网络的可重构运动控制系统研究", 《中国优秀硕士学位论文全文数据库-信息科技辑》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095569A (zh) * | 2015-07-07 | 2015-11-25 | 北京航空航天大学 | 一种基于arm和flash的fpga重配置系统 |
CN105095569B (zh) * | 2015-07-07 | 2018-06-26 | 北京航空航天大学 | 一种基于arm和flash的fpga重配置系统 |
CN105259834A (zh) * | 2015-10-28 | 2016-01-20 | 华中科技大学 | 一种固件可重构的手机数据采集控制器及方法 |
CN105259834B (zh) * | 2015-10-28 | 2017-09-12 | 华中科技大学 | 一种固件可重构的手机数据采集控制器 |
CN105743820A (zh) * | 2016-04-21 | 2016-07-06 | 大连理工大学 | 一种基于arm+fpga架构的列车以太网交换机 |
CN105743820B (zh) * | 2016-04-21 | 2019-01-18 | 大连理工大学 | 一种基于arm+fpga架构的列车以太网交换机 |
CN110719206A (zh) * | 2019-10-21 | 2020-01-21 | 中国科学院空间应用工程与技术中心 | 天基fpga虚拟化计算服务系统、方法和可读存储介质 |
CN111447084A (zh) * | 2020-03-19 | 2020-07-24 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 一种异构工业网络的互联融合方法及系统 |
CN111464339A (zh) * | 2020-03-19 | 2020-07-28 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 一种基于动态重构的异构工业网络互联方法及通用有线通信模块 |
CN111464339B (zh) * | 2020-03-19 | 2022-11-01 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 一种基于动态重构的异构工业网络互联方法及通用有线通信模块 |
CN111447084B (zh) * | 2020-03-19 | 2022-11-11 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 一种异构工业网络的互联融合方法及系统 |
CN111913740A (zh) * | 2020-05-07 | 2020-11-10 | 电子科技大学 | 一种基于fpga的risc-v处理器上的实时操作系统移植方法 |
WO2022222809A1 (zh) * | 2021-04-21 | 2022-10-27 | 阿里巴巴(中国)有限公司 | 功能组件处理方法、介质、设备和操作系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103995939A (zh) | 一种基于arm与fpga的动态可重构嵌入式系统 | |
CN105204965B (zh) | 用于多节点环境中的动态节点修复的方法和装置 | |
CN105573800B (zh) | 一种基于zynq的单板或多板系统及在线更新方法 | |
US8386764B2 (en) | BIOS architecture | |
US10572397B2 (en) | Masking storage device presence | |
CN103605542A (zh) | Fpga配置文件的在线升级装置 | |
CN101968744B (zh) | 一种基于irf系统的盒式设备升级方法和系统 | |
CN102662904B (zh) | 一种基于can总线的即插即用系统及其设计方法 | |
CN103559053A (zh) | 一种板卡系统及通信接口卡fpga在线升级方法 | |
CN103513993A (zh) | 固件更新系统及方法 | |
CN103365751A (zh) | 主板测试装置及其转接模组 | |
US8966313B2 (en) | Systems and methods for a shared debug pin | |
CN104486234A (zh) | 一种将业务交换机卸载到物理网卡的方法及服务器 | |
CN107329774A (zh) | 确定Redriver芯片参数的方法和装置 | |
CN103593250A (zh) | 一种带外修改BIOS Setup选项的实现方法 | |
CN104732151A (zh) | 一种Linux系统下远程安全批量更新BIOS的方法 | |
CN105740139B (zh) | 一种基于虚拟环境的嵌入式软件调试方法 | |
CN102253845B (zh) | 服务器系统 | |
CN103514074A (zh) | Mvb网卡开发方法及平台 | |
CN103268302A (zh) | 一种接口扩展电路、接口扩展连接方法和嵌入式系统 | |
CN102377423A (zh) | Fpga在线配置方法 | |
WO2012069883A1 (en) | Method of debugging software and corresponding computer program product | |
CN204440378U (zh) | 通讯传输切换装置及电子系统 | |
US8751703B2 (en) | Interrupt event management | |
CN204065779U (zh) | 一种软plc模块的远程在线数据更新系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140820 |