CN104461660A - 一种异构系统的多模式动态加载方法 - Google Patents
一种异构系统的多模式动态加载方法 Download PDFInfo
- Publication number
- CN104461660A CN104461660A CN201410842573.9A CN201410842573A CN104461660A CN 104461660 A CN104461660 A CN 104461660A CN 201410842573 A CN201410842573 A CN 201410842573A CN 104461660 A CN104461660 A CN 104461660A
- Authority
- CN
- China
- Prior art keywords
- dsp
- fpga
- flash storage
- host computer
- routine data
- 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.)
- Granted
Links
Abstract
本发明属于硬件的数据加载技术领域,特别涉及一种异构系统的多模式动态加载方法。其具体步骤为:当DSP需要加载程序时,上位机向DSP发送DSP程序数据;DSP向上位机发送第一结束标志;上位机收到第一结束标志后,向DSP发送第一Flash存储器写入命令;DSP根据接收的第一Flash存储器写入命令,将DDR3内存中的DSP程序数据写入第一Flash存储器中;使DSP重新上电,完成DSP程序数据的加载。当FPGA需要加载程序时,上位机向DSP发送FPGA程序数据;DSP向上位机发送第三结束标志;上位机收到第三结束标志后,向DSP发送第二Flash存储器写入命令;DSP根据接收的第二Flash存储器写入命令,将DDR3内存中的DSP程序数据写入第二Flash存储器中;使FPGA重新加载,完成FPGA程序数据的加载。
Description
技术领域
本发明属于硬件的数据加载技术领域,特别涉及一种异构系统的多模式动态加载方法。
背景技术
在大型的处理器系统正常工作的条件下,由于装箱或板卡工作环境的限制,机箱内的板卡通常无法在通过JTAG接口进行程序的优化和升级工作。信号处理中的动态加载技术就是针对这一问题提出的一种解决方案。但现有的动态加载技术中均需要一片额外的控制芯片,增加了制作成本。同时,现有技术大都针对板卡上的一个处理器芯片来实现加载功能。
发明内容
本发明的目的在于针对上述已有技术的不足,提出一种异构系统的多模式动态加载方法,以满足在没有特定的控制芯片的大型系统中,在板卡装箱以后,板卡的后期系统升级以及远程系统升级的要求。
为实现上述技术目的,本发明采用如下技术方案予以实现。
一种异构系统的多模式动态加载方法,其特征在于,所述异构系统包括DSP、FPGA、第一Flash存储器、第二Flash存储器,所述DSP和FPGA形成双向通信连接,所述DSP分别通过SPI总线分别电连接第一Flash存储器和第二Flash存储器,所述FPGA通过SPI总线电连接第二Flash存储器,所述DSP加载有DDR3内存;所述异构系统连接有上位机,所述上位机与DSP形成双向通信连接;
所述异构系统的动态加载方法包括:
当DSP需要加载程序时,上位机向DSP发送DSP程序数据,DSP将接收的DSP程序数据存入DDR3内存中;当DSP将接收的DSP程序数据存入DDR3内存之后,DSP向FPGA发送第二Flash存储器空载命令,同时向上位机发送第一结束标志;FPGA收到第二Flash存储器空载命令后,切断DSP与第二Flash存储器之间的数据传输通路,上位机收到第一结束标志后,向DSP发送第一Flash存储器写入命令;DSP根据接收的第一Flash存储器写入命令,将DDR3内存中的DSP程序数据写入第一Flash存储器中;当DSP将DSP程序数据写入第一Flash存储器之后,使DSP重新上电,完成DSP程序数据的加载;
当FPGA需要加载程序时,上位机向DSP发送FPGA程序数据,DSP将接收的FPGA程序数据存入DDR3内存中;当DSP接收的FPGA程序数据存入DDR3内存之后,DSP向FPGA发送第二Flash存储器加载命令,同时向上位机发送第三结束标志;FPGA收到第二Flash存储器加载命令后,接通DSP与第二Flash存储器之间的数据传输通路,上位机收到第三结束标志后,向DSP发送第二Flash存储器写入命令;DSP根据接收的第二Flash存储器写入命令,将DDR3内存中的FPGA程序数据写入第二Flash存储器中;当DSP将FPGA程序数据写入第二Flash存储器之后,DSP向上位机发送第四结束标志;上位机收到第四结束标志之后,向DSP发送FPGA复位命令,DSP将接收到的FPGA复位命令转发至FPGA;FPGA收到FPGA复位命令之后,复位FPGA的每个SPI信号,之后,拉低PROG_B信号500ns,使FPGA完成FPGA程序数据的加载。
本发明的特点和进一步改进在于:
当DSP需要加载程序时,DSP将DSP程序数据写入第一Flash存储器之后,DSP向上位机发送第二结束标志;上位机收到第二结束标志之后,向DSP发送DSP复位命令,DSP将接收的DSP复位命令转发到FPGA,FPGA根据收到的DSP复位命令,控制DSP重新上电,使DSP完成DSP程序数据的加载。
所述上位机通过以太网电连接DSP,使上位机形成双向通信连接;当DSP需要加载程序时,DSP通过上位机进行数据交互;当FPGA需要加载程序时,DSP通过上位机进行数据交互。
本发明的有益效果为:
1)本发明中,以DSP和FPGA为核心芯片,无需额外的控制芯片。避免了传统方法需要额外的控制芯片,移植性不强的特点。相比于传统方法移植性强,适用于各类以FPGA及DSP为主要处理芯片的异构系统。
2)本发明的加载选用以太网接口作为上位机和DSP的数据传输通道,作用距离相比以往传统方法大大提高。实现了远程动态加载。同时以以太网作为数据传输通道,为后期实现远程无线动态加载提供了更好的研究平台。
附图说明
图1为本发明的异构系统的总体结构示意图;
图2为本发明的一种异构系统的多模式动态加载方法的第一流程示意图;
图3为本发明的一种异构系统的多模式动态加载方法的第二流程示意图。
具体实施方式
下面结合附图对本发明作进一步说明:
参照图1,为本发明的异构系统的总体结构示意图。该异构系统电连接有上位机,所述上位机与DSP形成双向通信连接;具体地,上位机通过网线、RJ-45网口、以及高速串行接口SGMII与DSP连接。本发明实施例中,该异构系统包括DSP、FPGA、第一Flash存储器、第二Flash存储器,DSP与第一FLASH存储器通过SPI总线连接,其中第一FLASH存储器的片选信号通过CS0线连接到DSP的SPI接口的第一片选信号;DSP的SPI接口的时钟信号通过CLK线连接到驱动芯片SN74A的信号输入端。驱动芯片SN74A输出两路驱动能力增强的输出信号,其中一路输出信号经CLK0线接到第一FLASH存储器的时钟信号输入端,另一路输出信号经CLK1线连接到第二FLASH存储器的时钟信号输入端。DSP的SPI接口的第二片选信号经CS1_dsp线连接到FPGA的第一IO引脚;第二FLASH存储器的片选信号通过CS1线连接到FPGA的第二IO引脚;DSP的SPI接口的数据输入输出端通过复用方式分别连接到第一FLASH存储器和第二FLASH存储器的数据输出输入端;第二FLASH存储器的数据输入输出端还分别电连接FPGA的第三IO引脚和第四IO引脚上。同时,DSP还外挂4片DDR3内存,这四片DDR3内存的总容量为2GB。
本发明实施例中,DSP的型号为TMS320C6678,但不限于该型号;FPGA的型号为XC6VLX240T,但不限于该型号;每个FLASH存储器的型号为N25Q128A11ESE40F,但不限于该型号。
参照图2,为本发明的一种异构系统的多模式动态加载方法的第一流程示意图。参照图3,为本发明的一种异构系统的多模式动态加载方法的第二流程示意图。该异构系统的动态加载方法包括:
当DSP需要加载程序时,依次对DSP的每个核进行程序加载;对DSP的每个核进行程序加载的过程为:上位机向DSP的对应核发送第一Flash存储器需要写入的通知,通知DSP对应核将有要写入第一Flash存储器的数据进行传输;上位机在向DSP对应核发送通知的同时,将DSP对应核需要加载的程序数据(记为DSP对应核的程序数据)通过CCS编译软件编译生成bootloader烧写文件(.out文件),由转换工具将该boot loader烧写文件转换为.dat文件,上位机通过以太网接口将.dat文件发送到DSP的对应核,DSP的对应核将该.dat文件放在DDR3内存的指定地址(0x80000000但不唯一)。当DSP的对应核将接收的.dat文件存入DDR3内存之后,DSP的对应核向FPGA发送第二Flash存储器空载命令,同时向上位机发送第一结束标志。FPGA收到第二Flash存储器空载命令后,忽略CS1_dsp信号,将CS1信号在赋值为1(高电平无效),其余SPI引脚赋值为高阻,使DSP与第二Flash存储器之间的数据传输通路断开,上位机收到第一结束标志后,确定DSP对应核的程序数据传输完毕,此时上位机向DSP的对应核发送第一Flash存储器写入命令。DSP的对应核根据接收的第一Flash存储器写入命令,使能CS0将DDR3内存中的DSP对应核的程序数据写入第一Flash存储器中;DSP的对应核向上位机发送第二结束标志,告知第一Flash存储器写入数据完毕。上位机收到DSP的每个核发送的第二结束标志之后,向DSP发送DSP复位命令,DSP将接收的DSP复位命令通过GPIO接口转发到FPGA(FPGA控制DSP的上电顺序及时钟),FPGA根据收到的DSP复位命令,控制DSP重新上电(控制为DSP供电的电源芯片),使DSP完成DSP程序数据的加载。
当FPGA需要加载程序时,上位机向DSP发送第二Flash存储器需要写入的通知,通知DSP对应核将有要写入第一二lash存储器的数据进行传输;上位机在向DSP发送第二Flash存储器需要写入的通知的同时,将FPGA需要加载的程序数据(记为FPGA程序数据)通过编译器生成烧写文件(.bit文件),上位机通过以太网接口将该烧写文件发送到DSP,DSP将该烧写文件文件放在DDR3内存的指定地址(0x80000000但不唯一)。当DSP接收的FPGA烧写文件存入DDR3内存之后,DSP向FPGA发送第二Flash存储器加载命令,同时向上位机发送第三结束标志;FPGA收到第二Flash存储器加载命令后,将CS1_dsp赋值给CS1信号,其余SPI引脚赋值为高阻,上位机收到第三结束标志后,向DSP发送第二Flash存储器写入命令。DSP根据接收的第二Flash存储器写入命令,使能CS1将DDR3内存中的FPGA程序数据写入第二Flash存储器中;当DSP将FPGA程序数据写入第二Flash存储器之后,DSP向上位机发送第四结束标志,告知第二Flash存储器写入完毕,上位机收到第四结束标志之后,向DSP发送FPGA复位命令,DSP将接收到的FPGA复位命令转发至FPGA;FPGA收到FPGA复位命令之后,复位FPGA的每个SPI信号,之后,拉低PROG_B信号500ns,使FPGA完成FPGA程序数据的加载。
综上所述,本发明以DSP和FPGA为核心芯片。各个加载功能模块以软件模块形式集成到两个芯片中,无需额外的控制芯片。同时,本发明完成了对板卡上两种处理器芯片的加载工作。适用于各类以FPGA及DSP为主要处理芯片的异构系统。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (3)
1.一种异构系统的多模式动态加载方法,其特征在于,所述异构系统包括DSP、FPGA、第一Flash存储器、第二Flash存储器,所述DSP和FPGA形成双向通信连接,所述DSP分别通过SPI总线分别电连接第一Flash存储器和第二Flash存储器,所述FPGA通过SPI总线电连接第二Flash存储器,所述DSP加载有DDR3内存;所述异构系统电连接有上位机,所述上位机与DSP形成双向通信连接;
所述异构系统的动态加载方法包括:
当DSP需要加载程序时,上位机向DSP发送DSP程序数据,DSP将接收的DSP程序数据存入DDR3内存中;当DSP将接收的DSP程序数据存入DDR3内存之后,DSP向FPGA发送第二Flash存储器空载命令,同时向上位机发送第一结束标志;FPGA收到第二Flash存储器空载命令后,切断DSP与第二Flash存储器之间的数据传输通路,上位机收到第一结束标志后,向DSP发送第一Flash存储器写入命令;DSP根据接收的第一Flash存储器写入命令,将DDR3内存中的DSP程序数据写入第一Flash存储器中;当DSP将DSP程序数据写入第一Flash存储器之后,使DSP重新上电,完成DSP程序数据的加载;
当FPGA需要加载程序时,上位机向DSP发送FPGA程序数据,DSP将接收的FPGA程序数据存入DDR3内存中;当DSP接收的FPGA程序数据存入DDR3内存之后,DSP向FPGA发送第二Flash存储器加载命令,同时向上位机发送第三结束标志;FPGA收到第二Flash存储器加载命令后,接通DSP与第二Flash存储器之间的数据传输通路,上位机收到第三结束标志后,向DSP发送第二Flash存储器写入命令;DSP根据接收的第二Flash存储器写入命令,将DDR3内存中的FPGA程序数据写入第二Flash存储器中;当DSP将FPGA程序数据写入第二Flash存储器之后,DSP向上位机发送第四结束标志;上位机收到第四结束标志之后,向DSP发送FPGA复位命令,DSP将接收到的FPGA复位命令转发至FPGA;FPGA收到FPGA复位命令之后,复位FPGA的每个SPI信号,之后,拉低PROG_B信号500ns,使FPGA完成FPGA程序数据的加载。
2.如权利要求1所述的一种异构系统的动态加载方法,其特征在于,当DSP需要加载程序时,DSP将DSP程序数据写入第一Flash存储器之后,DSP向上位机发送第二结束标志;上位机收到第二结束标志之后,向DSP发送DSP复位命令,DSP将接收的DSP复位命令转发到FPGA,FPGA根据收到的DSP复位命令,控制DSP重新上电,使DSP完成DSP程序数据的加载。
3.如权利要求1所述的一种异构系统的动态加载方法,其特征在于,所述上位机通过以太网电连接DSP,使上位机形成双向通信连接;当DSP需要加载程序时,DSP通过上位机进行数据交互;当FPGA需要加载程序时,DSP通过上位机进行数据交互。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410842573.9A CN104461660B (zh) | 2014-12-30 | 2014-12-30 | 一种异构系统的多模式动态加载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410842573.9A CN104461660B (zh) | 2014-12-30 | 2014-12-30 | 一种异构系统的多模式动态加载方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104461660A true CN104461660A (zh) | 2015-03-25 |
CN104461660B CN104461660B (zh) | 2017-12-22 |
Family
ID=52907765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410842573.9A Active CN104461660B (zh) | 2014-12-30 | 2014-12-30 | 一种异构系统的多模式动态加载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104461660B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105785856A (zh) * | 2016-02-26 | 2016-07-20 | 西安电子科技大学 | 基于弹载应用的程序动态分段加载装置和方法 |
CN106547574A (zh) * | 2016-12-08 | 2017-03-29 | 航天恒星科技有限公司 | 一种dsp程序和fpga程序的外部下载系统及方法 |
CN107343057A (zh) * | 2017-06-30 | 2017-11-10 | 中国航空工业集团公司雷华电子技术研究所 | 一种ip地址灵活可变的c6678以太网加载方法 |
CN108153561A (zh) * | 2017-12-18 | 2018-06-12 | 北京遥测技术研究所 | 一种dsp与fpga的以太网加载方法及信号处理系统 |
CN110175056A (zh) * | 2019-05-30 | 2019-08-27 | 西安微电子技术研究所 | 一种异构平台远程动态加载多目标fpga的控制装置及控制方法 |
CN111158710A (zh) * | 2019-12-30 | 2020-05-15 | 杭州迪普科技股份有限公司 | 程序烧写方法、装置及网络设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102347896A (zh) * | 2011-07-14 | 2012-02-08 | 广州海格通信集团股份有限公司 | 一种基于以太网加载fpga和dsp的平台及其实现方法 |
US8370544B2 (en) * | 2009-07-23 | 2013-02-05 | Stec, Inc. | Data storage system with compression/decompression |
CN103793355A (zh) * | 2014-01-08 | 2014-05-14 | 西安电子科技大学 | 基于多核dsp的通用数字信号处理板卡 |
CN103823698A (zh) * | 2014-02-27 | 2014-05-28 | 四川九洲电器集团有限责任公司 | Fpga和dsp目标程序的烧写和启动的方法及设备 |
-
2014
- 2014-12-30 CN CN201410842573.9A patent/CN104461660B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8370544B2 (en) * | 2009-07-23 | 2013-02-05 | Stec, Inc. | Data storage system with compression/decompression |
CN102347896A (zh) * | 2011-07-14 | 2012-02-08 | 广州海格通信集团股份有限公司 | 一种基于以太网加载fpga和dsp的平台及其实现方法 |
CN103793355A (zh) * | 2014-01-08 | 2014-05-14 | 西安电子科技大学 | 基于多核dsp的通用数字信号处理板卡 |
CN103823698A (zh) * | 2014-02-27 | 2014-05-28 | 四川九洲电器集团有限责任公司 | Fpga和dsp目标程序的烧写和启动的方法及设备 |
Non-Patent Citations (1)
Title |
---|
姚鑫东: "基于多核DSP的实时雷达信号处理平台设计", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105785856A (zh) * | 2016-02-26 | 2016-07-20 | 西安电子科技大学 | 基于弹载应用的程序动态分段加载装置和方法 |
CN105785856B (zh) * | 2016-02-26 | 2018-07-20 | 西安电子科技大学 | 基于弹载应用的程序动态分段加载装置和方法 |
CN106547574A (zh) * | 2016-12-08 | 2017-03-29 | 航天恒星科技有限公司 | 一种dsp程序和fpga程序的外部下载系统及方法 |
CN107343057A (zh) * | 2017-06-30 | 2017-11-10 | 中国航空工业集团公司雷华电子技术研究所 | 一种ip地址灵活可变的c6678以太网加载方法 |
CN108153561A (zh) * | 2017-12-18 | 2018-06-12 | 北京遥测技术研究所 | 一种dsp与fpga的以太网加载方法及信号处理系统 |
CN108153561B (zh) * | 2017-12-18 | 2021-12-07 | 北京遥测技术研究所 | 一种dsp与fpga的以太网加载方法及信号处理系统 |
CN110175056A (zh) * | 2019-05-30 | 2019-08-27 | 西安微电子技术研究所 | 一种异构平台远程动态加载多目标fpga的控制装置及控制方法 |
CN111158710A (zh) * | 2019-12-30 | 2020-05-15 | 杭州迪普科技股份有限公司 | 程序烧写方法、装置及网络设备 |
CN111158710B (zh) * | 2019-12-30 | 2023-08-25 | 杭州迪普科技股份有限公司 | 程序烧写方法、装置及网络设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104461660B (zh) | 2017-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104461660A (zh) | 一种异构系统的多模式动态加载方法 | |
WO2017041567A1 (zh) | 基于软核处理器的fpga多镜像升级加载方法及装置 | |
US9436630B2 (en) | Using dual phys to support multiple PCIe link widths | |
CN202956753U (zh) | 一种嵌入式系统中闪存芯片的编程装置及系统 | |
CN104570846A (zh) | Fpga重配置控制器及其控制方法 | |
CN103198042A (zh) | Pci航空串行总线板卡及实现动态加载数据处理方法 | |
CN105373407A (zh) | 嵌入式系统dsp和fpga在线升级方法 | |
CN103902305A (zh) | 基于ti dsp的软件远程加载与固化方法 | |
CN107918545A (zh) | 一种基于zynq的远程升级系统及其实现方法 | |
CN105159731A (zh) | 一种fpga配置文件远程升级的装置 | |
CN110069443B (zh) | 一种基于fpga控制的ufs存储阵列系统及数据传输方法 | |
CN106406936A (zh) | 一种fpga程序多版本管理装置及方法 | |
CN106648758A (zh) | 一种多核处理器boot启动系统及方法 | |
CN105573798B (zh) | 一种可快速重新配置fpga的方法及电路 | |
CN106789210A (zh) | 一种基于can总线的多dsp智能节点软件在线升级方法 | |
CN111190855A (zh) | 一种fpga多重远程配置系统及方法 | |
CN103838588A (zh) | 通过can接口进行at90单片机程序在线更新的方法 | |
CN103514074A (zh) | Mvb网卡开发方法及平台 | |
CN101408847B (zh) | 一种固件加载方法、系统和桥接器 | |
CN102708075A (zh) | 一种sd卡硬件控制装置及控制方法 | |
CN102635379B (zh) | 一种液压间架控制器的程序在线升级方法 | |
CN104460857A (zh) | 一种高速外设部件互连标准卡及其使用方法和装置 | |
CN207586900U (zh) | 基于zynq的远程升级系统 | |
CN203689503U (zh) | 基于现场可编程门阵列实现的单板系统 | |
CN103186351A (zh) | 高性能ahci接口 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |