CN106445679A - 一种控制系统程序空间共享装置及方法 - Google Patents
一种控制系统程序空间共享装置及方法 Download PDFInfo
- Publication number
- CN106445679A CN106445679A CN201610772482.1A CN201610772482A CN106445679A CN 106445679 A CN106445679 A CN 106445679A CN 201610772482 A CN201610772482 A CN 201610772482A CN 106445679 A CN106445679 A CN 106445679A
- Authority
- CN
- China
- Prior art keywords
- fpga
- cpu
- soc
- control system
- system program
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Abstract
本发明公开了一种控制系统程序空间共享装置,包括SoC‑FPGA单元和CPU单元,所述的SoC‑FPGA单元包括FPGA模块和HPS模块,所述的FPGA模块包括桥接控制寄存器和桥接转换器,所述的桥接转换器通过控制接口和数据接口连接CPU单元;所述的HPS模块包括RAM控制器、ARM以及与ARM连接的多个驱动程序管理单元,所述的ARM上连接有AXI总线,HPS模块还包括以地址形式映射至AXI总线上的片外存储器、片外RAM和通信接口;所述的FPGA模块通过AXI总线连接至ARM;还公开了其共享方法;与原有技术相比,本发明去掉了CPU侧的片外存储器与片外RAM,降低了成本和设计复杂度,实现了对程序文件的统一管理。
Description
技术领域
本发明属于电力变换控制领域,具体涉及一种基于SoC-FPGA+CPU的控制系统程序空间共享装置,以及其共享方法。
背景技术
随着电力变换装置功率越做越大、功能越做越复杂,其对控制系统的要求也越来越高。
采用单个控制芯片已经很难满足需求,所以一般都通过多个芯片协同工作以满足性能需求。
而一般多数芯片都需要RAM、FLASH等存储芯片与之配合,这样一方面增加了硬件设计的复杂性,另一方面也增大了成本。
虽然现有方案中有存储空间共享的方案,但其读写速度却并不高,而且并没有高效的RAM空间的共享方法。
发明内容
为了克服现有技术的缺点和不足,本发明的目的之一是提供一种基于SoC-FPGA+CPU的控制系统程序空间共享装置。
本发明解决其技术问题所采用的技术方案是:一种控制系统程序空间共享装置,包括SoC-FPGA单元和CPU单元,所述的SoC-FPGA单元包括FPGA模块和HPS模块,所述的FPGA模块包括桥接控制寄存器和桥接转换器,所述的桥接转换器通过控制接口和数据接口连接CPU单元;所述的HPS模块包括RAM控制器、ARM以及与ARM连接的多个驱动程序管理单元,所述的ARM上连接有AXI总线,HPS模块还包括以地址形式映射至AXI总线上的片外存储器、片外RAM和通信接口;所述的FPGA模块通过AXI总线连接至ARM。
所述的一种控制系统程序空间共享装置,其SoC-FPGA单元和CPU单元之间通过数据通路和控制线连接,所述的数据通路包括16位数据线和19位地址线,所述的控制线包括读信号线、写信号线、使能信号线和片选信号线。
所述的一种控制系统程序空间共享装置,其HPS模块还包括以地址形式映射至AXI总线上的调试接口、EPCS和QSPI芯片。
所述的一种控制系统程序空间共享装置,其SoC-FPGA模块选用Altera的C5SE系列芯片。
所述的一种控制系统程序空间共享装置,其CPU模块选用TI的TMS320C28346 CPU芯片。
本发明的目的之二是提供一种SoC-FPGA+CPU的控制系统程序空间共享方法,利用FPGA的可配置性实现对多种CPU的支持。
本发明解决其技术问题所采用的技术方案是:一种SoC-FPGA+CPU的控制系统程序空间共享方法,包括如下步骤:
a)、CPU单元向SoC-FPGA单元发起数据读写命令;
b)、SoC-FPGA单元收到命令后通过桥接器将数据传输至AXI总线上;
c)、AXI总线根据要求访问eMMC或者DDR3,然后将数据返回至桥接器;
d)、桥接器再将数据通过数据接口返回至CPU单元中,最终实现SoC-FPGA单元和CPU单元程序空间的共享。
所述的一种控制系统程序空间共享方法,桥接控制寄存器在指令接入AXI总线前判断操作是否合法。
所述的一种控制系统程序空间共享方法,其CPU单元对存储单元和外部RAM进行空间划分,用以存储多个版本的程序,然后根据需要加载不同版本的程序,实现版本管理。
所述的一种控制系统程序空间共享方法,其桥接转换器将CPU单元的控制信号和数据通路转接成符合AXI总线要求的格式,以实现对程序空间的访问和控制。
所述的一种控制系统程序空间共享方法,其CPU单元的程序更新可以通过通信接口直接对外部存储器中程序更新来实现,实现远程升级功。
本发明的有益效果是:位于SoC-FPGA侧的DDR3及eMMC芯片分别负责运行RAM和静态存储功能,将CPU芯片的数据通路和控制线连接至SoC-FPGA的FPGA侧引脚,然后对SoC-FPGA进行一定的开发后便能实现CPU对SoC-FPGA侧的DDR3和eMMC的高速访问;根据CPU的工作需求,将CPU的数据线和控制线与FPGA侧的IO引脚相连,然后在FPGA侧将数据线和控制线连接至桥接转换器,桥接转换器根据桥接控制寄存器的值来与来规范其与AXI(AdvancedeXtensible Interface)总线连接,通过控制程序,实现CPU高速访问SoC-FPGA侧的片外存储器和片外RAM,最终实现程序空间的共享。
附图说明
图1是本发明程序空间共享装置的结构框图;
图2是本发明SoC-FPGA与CPU功能连接关系示意图。
具体实施方式
为了更加清楚的阐述本发明方案,下面结合附图和实例对发明内容进行进一步的说明。应当理解,此处所描述的具体是实施例仅用于解释本发明,保护范围并不局限于所述实例。
参照图1所示,本发明公开了一种控制系统程序空间共享装置,包括SoC-FPGA单元和CPU单元,所述的SoC-FPGA单元包括FPGA模块和HPS(Hard Processor System)模块,所述的SoC-FPGA模块选用Altera的C5SE系列芯片,所述的CPU模块选用TI的TMS320C28346 CPU芯片。
HPS侧运行嵌入式Linux系统,并负责系统管理工作,包含多种存储器和外部RAM驱动控制程序,从而实现对多种不同的存储器和外部RAM的支持。
所述的SoC-FPGA单元和CPU单元之间通过数据通路和控制线连接,其数据位宽和控制线数量应根据不同芯片的具体要求而定,FPGA侧的IO引脚能够灵活的满足这种需求的变化。作为一种具体的实施例,所述的数据通路包括16位数据线和19位地址线,所述的控制线包括读信号线、写信号线、使能信号线和片选信号线,将这些信号线接入到FPGA侧的引脚上,通过桥接转换器将这些信号转换后接入到AXI总线上,这样就可以实现CPU对SoC-FPGA侧的eMMC和DDR3的访问。
所述的FPGA模块包括桥接控制寄存器和桥接转换器,所述的桥接转换器通过控制接口和数据接口连接CPU单元,桥接器实现了地址及数据信息转换完成AXI总线与多口RAM单元间的通信匹配,各个扩展芯片的互访通过多口RAM单元即可直接实现,并且SoC-FPGA侧的资源也可与各个扩展芯片单元共享。
桥接控制器用于限制CPU访问eMMC和DDR3的地址范围,防止因地址错误导致系统崩溃;Linux系统负责整个系统的内存和存储管理,所以需要在eMMC和DDR3中分别划分出一定空间供CPU使用,空间的大小根据实际需求确定。
当CPU对DDR3发起一个读写指令后,会引起相应数据通路和控制线的变化。桥接转换器则将相应的动作转换为符合AXI总线协议的格式,桥接控制寄存器负责判断操作是否合法,判断为合法后指令才会接入AXI总线,AXI线利用RAM控制器驱动外部DDR3执行动作;对eMMC的操作也遵循同一个流程。
桥接转换器主要作用是解决CPU侧的慢速数据与AXI侧的高速数据间的速度匹配问题,使得两侧数据能够高效互传。桥接控制寄存器为桥接转换器的控制单元,其能够通过Linux进行在线控制;控制接口和数据接口为FPGA侧与CPU侧的数据交互接口,包括芯片所需的各种数据总线、地址总线、控制线、片选等。需要注意的是FPGA侧的时序设计应满足CPU侧的要求。
所述的HPS模块包括RAM控制器、ARM以及与ARM连接的多个驱动程序管理单元,所述的ARM上连接有AXI总线。
ARM主要负责运行Linux系统以及相关的系统管理工作,是HPS侧的核心部分;AXI为HPS侧的系统总线,其所有的外设单元(如DDR3、外部存储芯片等)及通信通路(如以太网、USB等)均通过AXI实现互联,其能够支持多主多从,是一个强大的片上总线系统。
HPS模块还包括以地址形式映射至AXI总线上的片外存储器(图中eMMC)、片外RAM(图中DDR3)、通信接口、调试接口、用于配置SoC-FPGA芯片的EPCS和QSPI芯片,CPU侧主要包括调试接口和其他应用接口,选用的eMMC和DDR3不但容量大、读写速度快,而且单位价格也便宜。
存储控制器以及RAM控制器为集成在HPS侧的功能硬件单元,其与Linux侧的驱动程序相结合就能够实现对外部相应芯片的控制;通信及其他功能接口为HPS侧的功能接口,常用的以太网、USB、SPI、I2C等接口均可支持。
所述的FPGA模块通过AXI总线连接至ARM,外部存储器和外部RAM挂载在SoC-FPGA侧的AXI总线上,CPU的数据通道和控制线连接至FPGA的IO引脚,通过FPGA内部建立的桥接转换器实现CPU与AXI总线的桥接,实现了CPU侧对外部存储器和外部RAM的访问,CPU程序的更新可通过SoC-FPGA侧的通信口来实现。
一种控制系统程序空间共享方法,涉及权利要求1中所述的包括SoC-FPGA单元和CPU单元,所述的SoC-FPGA单元包括FPGA模块和HPS模块的程序空间共享装置,包括如下步骤:
a)、CPU单元向SoC-FPGA单元发起数据读写命令;
b)、SoC-FPGA单元收到命令后通过桥接器将数据传输至AXI总线上;
c)、AXI总线根据要求访问eMMC或者DDR3,然后将数据返回至桥接器;
d)、桥接器再将数据通过数据接口返回至CPU单元中,最终实现SoC-FPGA单元和CPU单元程序空间的共享;
e)、CPU单元对SoC-FPGA侧的存储单元(eMMC)和外部RAM(DDR3)进行了空间划分,使得CPU能够对相应的空间进行独立的操作,外部存储器中可以分出多个存储块,用以存储多个版本的程序,然后根据需要加载不同版本的程序,实现版本管理;
f)、桥接转换器将CPU侧的控制信号和数据通路转接成符合AXI总线要求的格式,实现对程序空间的访问和控制。
g)、CPU单元通过通信接口可直接实现对外部存储器中程序的更新,实现远程升级功能。
上述实施例仅例示性说明本发明的原理及其功效,以及部分运用的实施例,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (10)
1.一种控制系统程序空间共享装置,包括SoC-FPGA单元和CPU单元,所述的SoC-FPGA单元包括FPGA模块和HPS模块,其特征在于:
所述的FPGA模块包括桥接控制寄存器和桥接转换器,所述的桥接转换器通过控制接口和数据接口连接CPU单元;
所述的HPS模块包括RAM控制器、ARM以及与ARM连接的多个驱动程序管理单元,所述的ARM上连接有AXI总线,HPS模块还包括以地址形式映射至AXI总线上的片外存储器、片外RAM和通信接口;
所述的FPGA模块通过AXI总线连接至ARM。
2.根据权利要求1所述的一种控制系统程序空间共享装置,其特征在于,所述的SoC-FPGA单元和CPU单元之间通过数据通路和控制线连接,所述的数据通路包括16位数据线和19位地址线,所述的控制线包括读信号线、写信号线、使能信号线和片选信号线。
3.根据权利要求1所述的一种控制系统程序空间共享装置,其特征在于,所述的HPS模块还包括以地址形式映射至AXI总线上的调试接口、EPCS和QSPI芯片。
4.根据权利要求1所述的一种控制系统程序空间共享装置,其特征在于,所述的SoC-FPGA模块选用Altera的C5SE系列芯片。
5.根据权利要求1所述的一种控制系统程序空间共享装置,其特征在于,所述的CPU模块选用TI的TMS320C28346 CPU芯片。
6.一种控制系统程序空间共享方法,涉及权利要求1中所述的包括SoC-FPGA单元和CPU单元,所述的SoC-FPGA单元包括FPGA模块和HPS模块的程序空间共享装置,其特征在于,包括如下步骤:
a)、CPU单元向SoC-FPGA单元发起数据读写命令;
b)、SoC-FPGA单元收到命令后通过桥接器将数据传输至AXI总线上;
c)、AXI总线根据要求访问eMMC或者DDR3,然后将数据返回至桥接器;
d)、桥接器再将数据通过数据接口返回至CPU单元中,最终实现SoC-FPGA单元和CPU单元程序空间的共享。
7.根据权利要求6所述的一种控制系统程序空间共享方法,其特征在于,所述的桥接控制寄存器在指令接入AXI总线前判断操作是否合法。
8.根据权利要求6所述的一种控制系统程序空间共享方法,其特征在于,所述的CPU单元对存储单元和外部RAM进行空间划分,用以存储多个版本的程序,然后根据需要加载不同版本的程序,实现版本管理。
9.根据权利要求8所述的一种控制系统程序空间共享方法,其特征在于,所述的桥接转换器将CPU单元的控制信号和数据通路转接成符合AXI总线要求的格式,以实现对程序空间的访问和控制。
10.根据权利要求8所述的一种控制系统程序空间共享方法,其特征在于,所述的CPU单元通过通信接口直接实现对外部存储器中程序的更新,实现远程升级功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610772482.1A CN106445679A (zh) | 2016-08-31 | 2016-08-31 | 一种控制系统程序空间共享装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610772482.1A CN106445679A (zh) | 2016-08-31 | 2016-08-31 | 一种控制系统程序空间共享装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106445679A true CN106445679A (zh) | 2017-02-22 |
Family
ID=58090775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610772482.1A Pending CN106445679A (zh) | 2016-08-31 | 2016-08-31 | 一种控制系统程序空间共享装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106445679A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059045A (zh) * | 2019-04-22 | 2019-07-26 | 仓领电子科技(上海)有限公司 | 一种基于fpga的非开挖传感装置总线共享系统、方法及装置 |
CN112540949A (zh) * | 2020-12-17 | 2021-03-23 | 北京航天测控技术有限公司 | 一种数据传输系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636300A (zh) * | 2015-02-09 | 2015-05-20 | 南京国电南自美卓控制系统有限公司 | 基于soc fpga的串行收发器及数据接收发送方法 |
CN104835162A (zh) * | 2015-05-12 | 2015-08-12 | 李鹏飞 | 基于SoC_FPGA的柔性智能机器视觉检测系统 |
CN104992648A (zh) * | 2015-06-04 | 2015-10-21 | 合肥华思电子技术有限公司 | 一种基于soc fpga的液晶模组测试系统 |
CN205209651U (zh) * | 2015-11-13 | 2016-05-04 | 北京航天易联科技发展有限公司 | 一种分布式测温模块、分布式测温系统 |
-
2016
- 2016-08-31 CN CN201610772482.1A patent/CN106445679A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636300A (zh) * | 2015-02-09 | 2015-05-20 | 南京国电南自美卓控制系统有限公司 | 基于soc fpga的串行收发器及数据接收发送方法 |
CN104835162A (zh) * | 2015-05-12 | 2015-08-12 | 李鹏飞 | 基于SoC_FPGA的柔性智能机器视觉检测系统 |
CN104992648A (zh) * | 2015-06-04 | 2015-10-21 | 合肥华思电子技术有限公司 | 一种基于soc fpga的液晶模组测试系统 |
CN205209651U (zh) * | 2015-11-13 | 2016-05-04 | 北京航天易联科技发展有限公司 | 一种分布式测温模块、分布式测温系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059045A (zh) * | 2019-04-22 | 2019-07-26 | 仓领电子科技(上海)有限公司 | 一种基于fpga的非开挖传感装置总线共享系统、方法及装置 |
CN110059045B (zh) * | 2019-04-22 | 2024-04-12 | 吴进国 | 一种基于fpga的非开挖传感装置总线共享系统、方法及装置 |
CN112540949A (zh) * | 2020-12-17 | 2021-03-23 | 北京航天测控技术有限公司 | 一种数据传输系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7725638B2 (en) | Application processor circuit incorporating both SD host and slave functions and electronic device including same | |
JP6431536B2 (ja) | 最終レベルキャッシュシステム及び対応する方法 | |
EP2506150A1 (en) | Method and system for entirety mutual access in multi-processor | |
CN102831090B (zh) | 一种用于星载dsp与fpga通讯接口的地址线及其优化方法 | |
CN209168746U (zh) | 一种基于fpga的通用闪存测试系统 | |
US20220206780A1 (en) | Online upgrading method and system for multi-core embedded system | |
CN102981801B (zh) | 一种本地总线数据位宽的转换方法及装置 | |
CN104714907B (zh) | 一种pci总线转换为isa和apb总线设计方法 | |
CN105740197A (zh) | 为了更快引导时间的设备功率管理状态转换等待时间广告 | |
CN102622191B (zh) | 一种高速海量存储板 | |
US20180253391A1 (en) | Multiple channel memory controller using virtual channel | |
CN105608048A (zh) | 一种星载dsp软件任务动态重构电路及重构方法 | |
CN207008602U (zh) | 一种基于NandFlash存储器多通道的存储阵列控制装置 | |
CN109411007A (zh) | 一种基于fpga的通用闪存测试系统 | |
KR101845465B1 (ko) | 듀얼 전압 데이터 전송을 이용한 메시 성능 향상 | |
CN106445679A (zh) | 一种控制系统程序空间共享装置及方法 | |
KR20110120094A (ko) | 통합 입출력 메모리 관리 유닛을 포함하는 시스템 온 칩 | |
CN111581152A (zh) | 可重构硬件加速soc芯片系统 | |
CN103222286A (zh) | 路由交换装置、网络交换系统和路由交换方法 | |
CN107291655B (zh) | 一种带APB总线接口的SoC自举IP电路 | |
CN105677609A (zh) | 一种SoC系统的总线结构 | |
CN219574799U (zh) | 一种基于amba总线的多总线桥接器及其片上系统 | |
CN110968544B (zh) | 一种基于嵌入式自旋转移力矩磁随机存储器的SoC存储系统 | |
CN103902229B (zh) | 刀片存储装置 | |
CN201159895Y (zh) | 多处理器连接电路 |
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: 20170222 |