CN102999363B - 一种fpga/dsp嵌入式系统的启动方法 - Google Patents

一种fpga/dsp嵌入式系统的启动方法 Download PDF

Info

Publication number
CN102999363B
CN102999363B CN201210512838.XA CN201210512838A CN102999363B CN 102999363 B CN102999363 B CN 102999363B CN 201210512838 A CN201210512838 A CN 201210512838A CN 102999363 B CN102999363 B CN 102999363B
Authority
CN
China
Prior art keywords
fpga
dsp
chip
niosii
embedded
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
CN201210512838.XA
Other languages
English (en)
Other versions
CN102999363A (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.)
Aerospace Long March Launch Vehicle Technology Co Ltd
Beijing Institute of Telemetry Technology
Original Assignee
Aerospace Long March Launch Vehicle Technology Co Ltd
Beijing Institute of Telemetry Technology
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 Aerospace Long March Launch Vehicle Technology Co Ltd, Beijing Institute of Telemetry Technology filed Critical Aerospace Long March Launch Vehicle Technology Co Ltd
Priority to CN201210512838.XA priority Critical patent/CN102999363B/zh
Publication of CN102999363A publication Critical patent/CN102999363A/zh
Application granted granted Critical
Publication of CN102999363B publication Critical patent/CN102999363B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

一种FPGA/DSP嵌入式系统的启动方法,基于一种FPGA专用的主动串行配置芯片EPCS,通过嵌入式软核处理器NIOS?II,控制完成FPGA的重配置和DSP的启动过程。相对于基于外部并行FLASH芯片的启动方法,降低了FPGA/DSP嵌入式系统的板级PCB布线复杂度和系统体积。

Description

一种FPGA/DSP嵌入式系统的启动方法
技术领域
本发明涉及一种FPGA/DSP架构的嵌入式系统的启动方法,属于FPGA/DSP架构的嵌入式系统的软硬件设计领域。
背景技术
FPGA/DSP架构的嵌入式系统作为一种典型的嵌入式系统,具有较强的逻辑控制能力和计算能力,在军事、医疗、工业等诸多场合下都有应用。通常,FPGA作为系统控制核心,控制外围数据的采集,处理以及实现各种通信协议,DSP为系统的计算核心,负责实现系统的核心算法,其通过EMIF和FPGA进行数据传递。然而,FPGA和DSP作为智能处理器件,其本身都不能存储应用程序,所以这种架构的嵌入式系统需要一片外部存储芯片用来存储FPGA硬件配置数据和DSP的应用程序数据。当前,一般设计都选取外部并行FLASH芯片来完成这一工作。并行FLASH芯片的数据线和地址线会占据比较多的PCB布局布线资源,从而增加了PCB布线复杂度和系统体积。
发明内容
本发明所解决的问题是:针对传统的FPGA/DSP+FLASH架构的嵌入式系统的不足,提出一种FPGA/DSP+EPCS架构的嵌入式硬件平台,并给出系统启动方法。
本发明的技术解决方案是:
一种FPGA/DSP架构的嵌入式系统的启动方法,所述FPGA/DSP嵌入式系统包括FPGA芯片、DSP芯片和EPCS芯片,所述启动方法的步骤如下:
(1)将所述FPGA芯片设置为主动配置模式,并使能FPGA芯片的远程配置功能,将DSP芯片设置为从SPI启动模式;
(2)在FPGA芯片中实现NIOSII嵌入式软核处理器系统;
(3)所述FPGA/DSP嵌入式系统上电之后,FPGA芯片通过主动配置模式完成第一次配置,所述NIOSII嵌入式软核处理器系统开始运行,
(4)NIOSII嵌入式软核处理器系统通过SPI接口与DSP芯片建立通信;
(5)NIOSII嵌入式软核处理器系统读取EPCS芯片中的DSP应用程序数据并且写入DSP芯片的RAM中,之后控制DSP芯片启动;
(6)DSP芯片启动之后,NIOSII嵌入式软核处理器系统发起FPGA芯片重新配置命令,FPGA芯片通过EPCS芯片中的用户FPGA配置数据完成第二次配置,即FPGA/DSP架构的嵌入式系统完成启动。所述EPCS芯片中预置有DSP应用程序数据和用户FPGA配置数据。
本发明与现有技术相比的有益效果是:
相对于传统FPGA/DSP+FLASH架构的嵌入式硬件平台,发明灵活运用各类器件的有益特性,提出一种FPGA/DSP+EPCS架构的嵌入式硬件平台,并给出系统启动的方法,在保证此类嵌入式硬件平台优越性能的同时,降低了板级PCB布线的复杂度和产品的体积。
附图说明
图1为本发明系统硬件结构框图
图2为EPCS16中的程序地址分配图
图3为本发明方法流程图
图4为NIOSII与DSP建立连接流程图
图5为NIOSII与DSP确定连接流程图
图6为sectionload命令格式
图7为DSP_APP数据格式
图8为jumpclose命令格式
具体实施方式
下面结合附图对本发明的具体实施方式进行进一步的详细描述。
图1为本发明采用的硬件结构。FPGA/DSP嵌入式系统包括FPGA芯片、DSP芯片和EPCS芯片,本法发明选用ALTERA公司的cycloneIII系列FPGA芯片,该系列FPGA支持远程配置技术。选用TI公司的C67XX系列DSP芯片,该系列DSP芯片支持从模式SPI启动方式。FPGA专用配置芯片选用EPCS16,用来存储FPGA硬件配置数据和DSP应用程序数据,其具有16Mbit的存储空间。
如图3所示,本发明提供了一种FPGA/DSP架构的嵌入式系统的启动方法,FPGA/DSP嵌入式系统包括FPGA芯片、DSP芯片和EPCS芯片,EPCS芯片中预置有DSP应用程序数据和用户FPGA配置数据;
启动方法的步骤如下:
(1)将所述FPGA芯片设置为主动配置模式,并使能FPGA芯片的远程配置功能,将DSP芯片设置为从SPI启动模式;
(2)在FPGA芯片中实现NIOSII嵌入式软核处理器系统;
(3)所述FPGA/DSP嵌入式系统上电之后,FPGA芯片通过主动配置模式完成第一次配置,所述NIOSII嵌入式软核处理器系统开始运行,
(4)NIOSII嵌入式软核处理器系统通过SPI接口与DSP芯片建立通信;
(5)NIOSII嵌入式软核处理器系统读取EPCS芯片中的DSP应用程序数据并且写入DSP芯片的RAM中,之后控制DSP芯片启动;
(6)DSP芯片启动之后,NIOSII嵌入式软核处理器系统发起FPGA芯片重新配置命令,FPGA芯片通过EPCS芯片中的用户FPGA配置数据完成第二次配置,即FPGA/DSP架构的嵌入式系统完成启动。
基于QuartusII提供的SOPCbuilder构建NIOSII系统,如下表所示,
组件名称 描述
cpu_0 NIOS II Processor
jtag_uart_0 JTAG UART
onchip_ram On-chip Memory(RAM or ROM)
epcs_flash_controller EPCS Serial Flash Controller
remote_update_cyclone III Remote Update Controller(cyclone III)
uart UART(RS-232 Serial Port)
spi SPI(3 Wire Serial)
sysid System ID Peripheral
cpu_0为NIOSII处理器。jtag_uart_0为NIOSII的调试JTAG口。onchip_ram为48K的FPGA片上RAM,其为NIOSII的运行空间。epcs_flash_controller为EPCS控制器,用来访问EPCS16,NIOSII提供访问接口函数。remote_update_cycloneiii为CYCLONEIII系列FPGA的远程配置控制器,用来实现FPGA的远程重配置。SPI实现NIOSII和DSP的通信,用来启动DSP。受制于FPGA片上RAM的大小,所以要对定制的NIOSII系统做一定程度的简化,以控制整个NIOSII程序数据及其运行空间的大小。
图2为EPCS16中各种程序的地址分配图,其中FPGA_BOOT为NIOSII系统的硬件配置数据,NIOSII_BOOT为NIOSII程序数据。这两部分数据可通过NIOSII自带的FLASHProgrammer工具下载至EPCS16的基地址处。发明所选用的NIOSII系统的硬件配置数据大小为200Kbyte左右,NIOSII程序数据也不会很大,所以预留384Kbyte的空间存储这两部分数据。0X060000-0X100000空闲不用。从0X100000起开始存放用户FPGA配置数据FPGA_APP,这部分数据大小也为200Kbyte左右,预留384Kbyte空间。从0×160000开始,最大有640Kbyte的空间,可用来存放DSP的用户应用程序。
下面通过图4~图8来具体说明本发明方法。
系统上电后,通过主动串行配置模式(AS),FPGA用FPGA_BOOT完成的自身的第一次配置。然后epcs_flash_controller中的一小段bootloader把NIOSII_BOOT从EPCS16中复制到NIOSII的运行空间onchip_ram中,完成NIOSII系统的加载启动。NIOSII程序开始运行后,完成DSP程序数据的加载和启动,然后通过用户FPGA配置数据完成FPGA的重配置。
1)DSP的启动
DSP应用程序的启动过程由DSP的从SPI启动模式来决定,整个过程可分为三步:
第一步:建立连接
如图4,NIOSII发送标志字1(0X5853),然后接收一个字,判断其是否为标志字2(0X5253)。如果是,则进入下一步骤,如果不是,重复发送标志字1(0X5853)。
第二步:确定连接
如图5,第一步成功结束后,NIOSII发送标志字3(0X5853590B),DSP返回应答标志字4(0X5253590B),然后NIOSII发送一个整数N,DSP返回同一整数N。最后,NIOSII发送整数序列1...N,DSP返回同一整数序列作为应答。
第三步:数据传递
第二步结束后,NIOSII和DSP之间建立了稳定可靠的连接,可以进行数据传递,如图6,数据传递过程主要通过sectionload命令,将EPCS16中DSP_APP数据复制到DSP内部RAM的指定位置处。DSP_APP在EPCS16中的存储格式如图7,NIOSII负责格式的解析以及数据的传递。数据复制完毕后,如图8,NIOSII发起jumpclose命令,使DSP程序指针跳转至用户程序入口地址处。
2)FPGA的重配置
FPGA的重配置过程通过remote_update_cycloneiii完成,在完成DSP的启动后,NIOSII发起重配置命令,利用用户FPGA配置数据完成自身的第二次配置。
本发明说明书中未作详细描述的内容属于本领域技术人员的公知技术。

Claims (1)

1.一种FPGA/DSP架构的嵌入式系统的启动方法,其特征在于:所述FPGA/DSP嵌入式系统包括FPGA芯片、DSP芯片和EPCS芯片,所述启动方法的步骤如下:
(1)将所述FPGA芯片设置为主动串行配置模式,并使能FPGA芯片的远程配置功能,将DSP芯片设置为从SPI启动模式;
(2)在FPGA芯片中实现NIOSII嵌入式软核处理器系统;
(3)所述FPGA/DSP嵌入式系统上电之后,FPGA芯片通过主动串行配置模式完成第一次配置,所述NIOSII嵌入式软核处理器系统开始运行,
(4)NIOSII嵌入式软核处理器系统通过SPI接口与DSP芯片建立通信;
(5)NIOSII嵌入式软核处理器系统读取EPCS芯片中的DSP应用程序数据并且写入DSP芯片的RAM中,之后控制DSP芯片启动;
(6)DSP芯片启动之后,NIOSII嵌入式软核处理器系统发起FPGA芯片重新配置命令,FPGA芯片通过EPCS芯片中的用户FPGA配置数据完成第二次配置,即FPGA/DSP架构的嵌入式系统完成启动;
所述EPCS芯片中预置有DSP应用程序数据和用户FPGA配置数据。
CN201210512838.XA 2012-11-30 2012-11-30 一种fpga/dsp嵌入式系统的启动方法 Active CN102999363B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210512838.XA CN102999363B (zh) 2012-11-30 2012-11-30 一种fpga/dsp嵌入式系统的启动方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210512838.XA CN102999363B (zh) 2012-11-30 2012-11-30 一种fpga/dsp嵌入式系统的启动方法

Publications (2)

Publication Number Publication Date
CN102999363A CN102999363A (zh) 2013-03-27
CN102999363B true CN102999363B (zh) 2015-11-25

Family

ID=47927968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210512838.XA Active CN102999363B (zh) 2012-11-30 2012-11-30 一种fpga/dsp嵌入式系统的启动方法

Country Status (1)

Country Link
CN (1) CN102999363B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320531A (zh) * 2014-07-15 2016-02-10 北京自动化控制设备研究所 一种基于MicroBlaze软核的FPGA软件在线升级方法
CN106886427A (zh) * 2015-12-15 2017-06-23 西安富成防务科技有限公司 一种dsp与fpga统一启动架构
CN107168720B (zh) * 2017-06-06 2020-09-08 武汉虹信通信技术有限责任公司 一种基于fpga的spi接口配置方法
CN112148341B (zh) * 2020-10-29 2023-11-21 合肥埃科光电科技股份有限公司 一种基于NiosII软核的FPGA在线升级方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030064039A (ko) * 2002-01-25 2003-07-31 삼성전자주식회사 원격 에프피지에이 프로그램 업그레이드 방법
CN101795019A (zh) * 2010-01-19 2010-08-04 东南大学 基于软核的光电电流互感器合并单元
CN102760106A (zh) * 2011-04-28 2012-10-31 北京京师励耘教育科技有限公司 Pci学业数据挖掘芯片及其运行方法
CN102779079A (zh) * 2011-05-12 2012-11-14 中国科学院空间科学与应用研究中心 一种用于长期在轨工作的星载sram型fpga的配置方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030064039A (ko) * 2002-01-25 2003-07-31 삼성전자주식회사 원격 에프피지에이 프로그램 업그레이드 방법
CN101795019A (zh) * 2010-01-19 2010-08-04 东南大学 基于软核的光电电流互感器合并单元
CN102760106A (zh) * 2011-04-28 2012-10-31 北京京师励耘教育科技有限公司 Pci学业数据挖掘芯片及其运行方法
CN102779079A (zh) * 2011-05-12 2012-11-14 中国科学院空间科学与应用研究中心 一种用于长期在轨工作的星载sram型fpga的配置方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于EPCS Flash配置的Altera SOPC启动及更新研究;杨钊等;《中国西部数据》;20090131;第8卷(第1期);第2-3页,图1-3 *

Also Published As

Publication number Publication date
CN102999363A (zh) 2013-03-27

Similar Documents

Publication Publication Date Title
CN103019779B (zh) 一种fpga/dsp嵌入式系统的程序更新方法
CN105637498B (zh) eUICC的管理方法、eUICC、SM平台和系统
CN102999363B (zh) 一种fpga/dsp嵌入式系统的启动方法
CN105302663B (zh) 一种镜像开机方法和终端设备
CN102883012B (zh) 移动终端电流的测试系统及测试方法
CN108023778A (zh) 固件升级方法及其系统
CN109391444A (zh) 一种bwp的激活控制方法、用户设备及基站
CN103259936A (zh) 移动终端操作系统升级方法及其装置
CN104461649B (zh) 芯片兼容方法及装置
CN111010317A (zh) 一种基于串口和蓝牙低能耗双协议的蓝牙产测方法及系统
CN103744693B (zh) 一种多系统切换方法及电子设备
CN110119282A (zh) 一种基于通用嵌入式计算机的物联网终端及系统
CN103106088B (zh) 硬件固件独立升级系统及方法
CN105573798B (zh) 一种可快速重新配置fpga的方法及电路
CN108196929B (zh) 一种智能加载系统、方法、存储介质及设备
CN107622027A (zh) 一种多合一Flash控制器及制卡方法
CN103654843A (zh) 超声诊断设备、及超声诊断设备的通信接口配置方法及系统
CN105117248A (zh) 一拖多tpms主控制器的程序下载器及下载方法
CN111682965A (zh) 一种fota控制器
CN108989117B (zh) 通信协议的配置方法、无线通信装置和家用电器
CN201001123Y (zh) 一种无线传感器网络节点
CN113703689B (zh) 智能电表的数据存储方法、装置、智能电表以及存储介质
CN105550010A (zh) 一种基于SoC的无线智能程序加载方法及系统
CN105828421A (zh) 一种终端及终端省电的方法
CN103973717A (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
C14 Grant of patent or utility model
GR01 Patent grant