CN106909425B - 一种dsp和fpga系统在线升级方法 - Google Patents

一种dsp和fpga系统在线升级方法 Download PDF

Info

Publication number
CN106909425B
CN106909425B CN201710123905.1A CN201710123905A CN106909425B CN 106909425 B CN106909425 B CN 106909425B CN 201710123905 A CN201710123905 A CN 201710123905A CN 106909425 B CN106909425 B CN 106909425B
Authority
CN
China
Prior art keywords
dsp
fpga
upgrading
upper computer
flash memory
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
CN201710123905.1A
Other languages
English (en)
Other versions
CN106909425A (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.)
CETC 54 Research Institute
Original Assignee
CETC 54 Research Institute
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 CETC 54 Research Institute filed Critical CETC 54 Research Institute
Priority to CN201710123905.1A priority Critical patent/CN106909425B/zh
Publication of CN106909425A publication Critical patent/CN106909425A/zh
Application granted granted Critical
Publication of CN106909425B publication Critical patent/CN106909425B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Abstract

本发明公开了一种DSP和FPGA系统在线升级方法,用于解决DSP和FPGA数字信号处理系统的程序在线升级问题。技术方案是通过通用串行总线接口,完成上位机与DSP处理器的互联,将需要升级的DSP和FPGA程序文件传输给DSP处理器,由DSP的自动升级算法控制对DSP或者FPGA的Flash存储器进行升级。采用DSP的一组SPI接口总线完成两个Flash的硬件连接和擦写,通过多路复用器完成总线地址译码,避免总线冲突。本发明在无需拆卸设备的情况下同时完成了DSP和FPGA两个芯片程序升级,接口简单,软硬件设计复杂度低,为数字信号处理系统的在线升级提供了一种简洁有效的方法。

Description

一种DSP和FPGA系统在线升级方法
技术领域
本发明涉及数字信号处理技术领域,特别是涉及一种DSP和FPGA系统在线升级方法。
背景技术
在目前的数字信号处理系统中,能够同时完成逻辑信号处理和高效数据运算的DSP+FPGA双芯片组合是普遍选择。DSP和FPGA的程序通常存储在Flash中,SPI接口的NorFlash由于其总线位宽较少、硬件设计简单而备受青睐。通常的程序升级方法是利用JTAG下载线完成,需要拆开设备后利用DSP和FPGA的专用JTAG接口完成Flash内程序的更新。然而很多应用场合,拆卸设备是复杂且繁琐的,因此就需要一种无须拆卸设备而利用通用串行接口完成程序在线升级的方法。
在现有技术中,业界已经提出了一些DSP和FPGA在线升级的方法,例如,在申请号为:201510885026.3,名称为嵌入式系统DSP和FPGA在线升级方法的专利中,提出了利用主控板通过CPCI总线对DSP和FPGA进行程序在线升级的方法。然而,此方法需要使用复杂度较高的主控板,设计复杂度较高,而且采用CPCI总线为并行总线,对数字信号处理系统对外接口引线数量要求较高。因此,利用通用串行接口简洁高效地实现DSP+FPGA在线升级的技术还有所欠缺。
发明内容
本发明的目的是为了克服现有在线升级方法在复杂度和接口方式方面的不足,提供一种简洁高效的DSP和FPGA系统在线升级方法。
本发明解决其技术问题所采用的技术方案是:一种DSP和FPGA系统在线升级方法,包括以下步骤:
步骤一、在上位机分别利用DSP设计工具和FPGA设计工具一一对应产生DSP二进制升级文件和FPGA二进制升级文件;
步骤二、上位机向DSP发送在线升级命令;
步骤三、DSP收到在线升级命令后,根据在线升级命令判断进入到DSP升级模式或FPGA升级模式;若进入到DSP升级模式,则执行步骤七;若进入到FPGA升级模式,则执行步骤四;
步骤四、DSP控制多路复用器选择由DSP的SPI接口读写FPGA的Flash存储器;
步骤五、上位机将FPGA二进制升级文件分成多个数据包通过通用串行接口传输给DSP;
步骤六、DSP接收到上位机下发的FPGA二进制升级文件后,自动的将FPGA二进制升级文件写入到FPGA的Flash存储器中,替换FPGA的Flash存储器中原内容,完成后,向上位机发送反馈命令,结束本流程;
步骤七、上位机将DSP二进制升级文件分成多个数据包通过通用串行接口传输给DSP;
步骤八、DSP接收到上位机下发的DSP二进制升级文件后,自动的将DSP二进制升级文件写入到DSP的Flash存储器中,替换DSP的Flash存储器中原内容,完成后,向上位机发送反馈命令;
完成DSP和FPGA系统的在线升级。
其中,步骤六和步骤八具体包括以下步骤:
a、DSP对接收到的数据包进行加载,并向相应的Flash存储器发送擦除命令;
b、Flash存储器擦除从地址0x0开始的大于等于数据包的存储空间,擦除完成后向DSP发送擦除完成命令;
c、若DSP收到Flash存储器反馈的擦除完成命令,则将数据包从地址0x0开始写入到Flash存储器中,执行步骤d;否则,则向上位机反馈“升级出错”,由操作人员进行相应处理,结束本流程;
d、DSP判断是否还有后续数据包,若有,返回步骤a;否则,DSP向上位机反馈“升级完成”,自动升级流程结束。
本发明的有益效果是:充分利用DSP丰富的接口资源,通过通用串行接口实现升级文件的数据传输,接口设计简洁;利用多路复用器选择实现DSP对FPGA的Flash芯片进行读写,并在DSP上设计自动升级算法,通过DSP的SPI总线接口完成其自身Flash和FPGA的Flash的程序自动升级。无FPGA的算法的设计需求,软件设计复杂度低;自动升级算法能够自动的完成对Flash的控制和读写,具有较强的可操作性。本发明为DSP+FPGA组合的数字信号处理系统提供了一种便捷高效的在线升级方法,提高了系统的可维护性和可测试性。且接口简单,硬件设计复杂度低,为DSP和FPGA系统的在线升级提供了一种简洁有效的方法。
附图说明
图1是本发明实施例的硬件架构示意图;
图2是本发明实施例的Flash存储器控制与切换电路示意图;
图3是本发明实施例的DSP算法流程图。
具体实施方式
下面将结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明实施例,本发明一种DSP和FPGA系统在线升级方法具体实施如下:
首先对本实施例中的芯片型号进行介绍:FPGA芯片选用的是Altera公司的CycloneV系列5CEFA9F23,其存储器选用的是Altera公司的串行配置Flash EPCS128;DSP芯片选用的是TI公司的C674x系列TMS320C6748,其存储器选用的是Micron公司的SPI NorFlash N25Q128;2选1多路复用器选用的是TI公司的SN74CB3Q3257;与上位机互连的串行接口总线选择为RS232电平的UART串行总线,RS232收发器选用Maxim公司的MAX3232。
另外的,在实际实施中,上位机与DSP的串行接口总线也可以选择RS422电平的UART串行总线、I2C串行总线、SPI串行总线、USB串行总线或Ethernet串行总线等。其选择所依据的原则是,充分借助设备已有的对外接口,以尽量少的接口冗余实现在线升级。
图2是Flash存储器控制与切换电路示意图,从图2中可以看出,对于DSP的Flash存储器,可将其直接连接到DSP芯片的SPI总线上,由DSP处理器通过选择该Flash的片选信号(SCS0)实现擦写。对于FPGA的Flash存储器,根据SPI总线的主从设备连接要求,DSP和FPGA同时连接FPGA的Flash时应使用2选1多路复用器SN74CB3Q3257,避免两个SPI主设备连接同一个从设备而产生总线竞争。DSP通过GPIO引脚对多路复用器进行控制:在默认状态,GPIO输出为低电平,此时多路复用器的1B1、2B1、3B1、4B1分别与1A、2A、3A、4A相连,由FPGA对Flash进行控制;在FPGA程序在线升级状态,GPIO输出为高电平,此时多路复用器的1B2、2B2、3B2、4B2分别与1A、2A、3A、4A相连,由DSP对Flash进行控制。在多路复用器的S引脚使用1kΩ的电阻下拉到GND,其目的是当设备上电初始化时,DSP尚未启动,此时GPIO引脚为三态,用下拉电阻确保S引脚输入电平为低,使多路复用器工作在默认状态。
升级文件产生:对于DSP升级文件,使用TI公司的转换工具“AISgen forD800K008”将DSP程序编译产生的*.out文件转化为二进制文件*.bin;对于FPGA升级文件,使用Altera的编译工具“Quartus”将编译产生的*.sof文件转化为原始配置数据RawProgramming Data文件*.rpd。
升级文件的分包与传输:由上位机将升级文件分块并按照一定的帧格式组成数据包,数据包大小不应超过100kB,并按照顺序发送给DSP。
本发明一种DSP和FPGA系统在线升级方法,包括以下步骤:如图3;
步骤一、在上位机分别利用DSP设计工具和FPGA设计工具一一对应产生DSP二进制升级文件和FPGA二进制升级文件;
步骤二、上位机向DSP发送在线升级命令;
步骤三、DSP收到在线升级命令后,根据在线升级命令判断进入到DSP升级模式或FPGA升级模式;若进入到DSP升级模式,则执行步骤七;若进入到FPGA升级模式,则执行步骤四;
步骤四、DSP控制多路复用器选择由DSP的SPI接口读写FPGA的Flash存储器;
步骤五、上位机将FPGA二进制升级文件分成多个数据包通过RS232通用串行接口传输给DSP,数据包大小不应超过100kB;
步骤六、自动升级算法:DSP接收到上位机下发的FPGA二进制升级文件后,自动的将FPGA二进制升级文件写入到FPGA的Flash存储器中,替换FPGA的Flash存储器中原内容,完成后,向上位机发送反馈命令,在线升级过程完毕,结束本流程;
步骤七、上位机将DSP二进制升级文件分成多个数据包通过RS232通用串行接口传输给DSP,数据包大小不应超过100kB;
步骤八、自动升级算法:DSP接收到上位机下发的DSP二进制升级文件后,自动的将DSP二进制升级文件写入到DSP的Flash存储器中,替换DSP的Flash存储器中原内容,完成后,向上位机发送反馈命令;
完成DSP和FPGA系统的在线升级。
步骤六和步骤八为DSP算法流程图,具体包括以下步骤:
DSP的自动升级算法:
a、DSP对接收到的数据包进行加载,并向DSP的Flash存储器发送擦除命令;
b、DSP的Flash存储器擦除从地址0x0开始的大于等于数据包的存储空间,擦除完成后向DSP发送擦除完成命令;
c、若DSP收到DSP的Flash存储器反馈的擦除完成命令,则将数据包从地址0x0开始写入到DSP的Flash存储器中,执行步骤d;否则,则向上位机反馈“升级出错”,由操作人员进行相应处理,结束本流程;
d、DSP判断是否还有后续数据包,若有,返回步骤a;否则,DSP向上位机反馈“升级完成”,自动升级流程结束。
FPGA的自动升级算法:
e、DSP对接收到的数据包进行加载,并向FPGA的Flash存储器发送擦除命令;
f、FPGA的Flash存储器擦除从地址0x0开始的大于等于数据包的存储空间,擦除完成后向DSP发送擦除完成命令;
g、若DSP收到FPGA的Flash存储器反馈的擦除完成命令,则将数据包从地址0x0开始写入到FPGA的Flash存储器中,执行步骤h;否则,则向上位机反馈“升级出错”,由操作人员进行相应处理,结束本流程;
h、DSP判断是否还有后续数据包,若有,返回步骤e;否则,DSP向上位机反馈“升级完成”,自动升级流程结束。

Claims (2)

1.一种DSP和FPGA系统在线升级方法,其特征在于,包括以下步骤:
步骤一、在上位机分别利用DSP设计工具和FPGA设计工具一一对应产生DSP二进制升级文件和FPGA二进制升级文件;
步骤二、上位机向DSP发送在线升级命令;
步骤三、DSP收到在线升级命令后,根据在线升级命令判断进入到DSP升级模式或FPGA升级模式;若进入到DSP升级模式,则执行步骤七;若进入到FPGA升级模式,则执行步骤四;
步骤四、DSP控制多路复用器选择由DSP的SPI接口读写FPGA的Flash存储器;
步骤五、上位机将FPGA二进制升级文件分成多个数据包通过通用串行接口传输给DSP;
步骤六、DSP接收到上位机下发的FPGA二进制升级文件后,自动的将FPGA二进制升级文件写入到FPGA的Flash存储器中,替换FPGA的Flash存储器中原内容,完成后,向上位机发送反馈命令,结束本流程;
步骤七、上位机将DSP二进制升级文件分成多个数据包通过通用串行接口传输给DSP;
步骤八、DSP接收到上位机下发的DSP二进制升级文件后,自动的将DSP二进制升级文件写入到DSP的Flash存储器中,替换DSP的Flash存储器中原内容,完成后,向上位机发送反馈命令;
完成DSP和FPGA系统的在线升级。
2.根据权利要求1所述的一种DSP和FPGA系统在线升级方法,其特征在于,步骤六和步骤八具体包括以下步骤:
a、DSP对接收到的数据包进行加载,并向相应的Flash存储器发送擦除命令;
b、Flash存储器擦除从地址0x0开始的大于等于数据包的存储空间,擦除完成后向DSP发送擦除完成命令;
c、若DSP收到Flash存储器反馈的擦除完成命令,则将数据包从地址0x0开始写入到Flash存储器中,执行步骤d;否则,则向上位机反馈“升级出错”,由操作人员进行相应处理,结束本流程;
d、DSP判断是否还有后续数据包,若有,返回步骤a;否则,DSP向上位机反馈“升级完成”,自动升级流程结束。
CN201710123905.1A 2017-03-03 2017-03-03 一种dsp和fpga系统在线升级方法 Active CN106909425B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710123905.1A CN106909425B (zh) 2017-03-03 2017-03-03 一种dsp和fpga系统在线升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710123905.1A CN106909425B (zh) 2017-03-03 2017-03-03 一种dsp和fpga系统在线升级方法

Publications (2)

Publication Number Publication Date
CN106909425A CN106909425A (zh) 2017-06-30
CN106909425B true CN106909425B (zh) 2020-05-08

Family

ID=59187531

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710123905.1A Active CN106909425B (zh) 2017-03-03 2017-03-03 一种dsp和fpga系统在线升级方法

Country Status (1)

Country Link
CN (1) CN106909425B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832078B (zh) * 2017-09-15 2020-09-22 西南电子技术研究所(中国电子科技集团公司第十研究所) 基于dsp的fpga程序在线更新电路
CN108400899A (zh) * 2018-06-08 2018-08-14 山东超越数控电子股份有限公司 一种fpga的远程升级系统及方法
CN109002312A (zh) * 2018-09-10 2018-12-14 京信通信系统(中国)有限公司 软件升级方法、装置及升级服务器和设备
CN109542481B (zh) * 2018-11-19 2022-06-24 中电科思仪科技股份有限公司 一种多模式多功能测试仪器自动配置装置和方法
CN110399320A (zh) * 2019-07-16 2019-11-01 武汉鑫诚欣科技有限公司 一种满足相互高速传输的数字信号处理平台
CN111008033A (zh) * 2019-10-30 2020-04-14 中国航空工业集团公司洛阳电光设备研究所 一种基于串口的通用dsp在线升级系统及升级方法
CN111026428A (zh) * 2019-11-22 2020-04-17 同源微(北京)半导体技术有限公司 能同时远程在线更新多个板卡中fpga固件程序的系统及方法
CN111208753A (zh) * 2019-12-24 2020-05-29 西安旭彤电子科技股份有限公司 一种基于arm的fpga启动及在线升级方法
CN111221554B (zh) * 2019-12-31 2023-03-24 北京润科通用技术有限公司 一种dsp电路结构、dsp在线程序升级方法及装置
CN111506333B (zh) * 2020-04-27 2023-05-16 湖北三江航天红峰控制有限公司 一种双dsp程序在线升级方法及系统
CN113138783A (zh) * 2021-04-22 2021-07-20 深圳市天辰防务通信技术有限公司 一种基于测控主机的fpga升级方法及装置
CN113110858B (zh) * 2021-04-27 2023-02-17 云南电网有限责任公司电力科学研究院 一种基于pcram的fpga系统在线升级方法
CN113377408B (zh) * 2021-06-08 2023-07-14 北京计算机技术及应用研究所 一种高可靠sram型fpga在线升级方法及系统
CN114546453B (zh) * 2022-04-27 2022-09-09 成都凯天电子股份有限公司 Fpga配置项在线升级方法、系统、设备及存储介质
CN114661655B (zh) * 2022-05-25 2022-08-16 天津讯联科技有限公司 一种星载测控数传一体机fpga程序在轨重构系统及方法
CN115729601A (zh) * 2022-11-25 2023-03-03 中机试验装备股份有限公司 一种固件更新方法、装置、设备及计算机可读存储介质
CN115934139B (zh) * 2023-03-13 2023-07-18 东方电子股份有限公司 一种fpga在线升级方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6476636B1 (en) * 2000-09-02 2002-11-05 Actel Corporation Tileable field-programmable gate array architecture
US7194321B2 (en) * 2004-10-29 2007-03-20 Dynacity Technology (Hk) Limited Modular multi-axis motion control and driving system and method thereof
CN102347896B (zh) * 2011-07-14 2015-01-07 广州海格通信集团股份有限公司 一种基于以太网加载fpga和dsp的平台及其实现方法
CN102722390B (zh) * 2012-06-05 2015-04-15 上海联影医疗科技有限公司 多处理器共用flash的装置及固件程序加载与升级方法
CN103019779B (zh) * 2012-11-30 2015-11-25 北京遥测技术研究所 一种fpga/dsp嵌入式系统的程序更新方法
CN103092652A (zh) * 2013-01-16 2013-05-08 深圳市怡化电脑有限公司 一种多处理器程序加载装置及加载方法
CN103136028A (zh) * 2013-03-11 2013-06-05 西北工业大学 一种基于fpga的flash存储器远程在线升级方法
CN106020860A (zh) * 2016-05-04 2016-10-12 桥弘数控科技(上海)有限公司 一种fpga的更新方法、装置及系统

Also Published As

Publication number Publication date
CN106909425A (zh) 2017-06-30

Similar Documents

Publication Publication Date Title
CN106909425B (zh) 一种dsp和fpga系统在线升级方法
KR102012120B1 (ko) 소프트 프로세서 기반의 이미지 신호 소스 및 이미지 신호 처리 방법
CN101359317B (zh) 一种并行烧录系统及方法
CN104570846A (zh) Fpga重配置控制器及其控制方法
US20070240011A1 (en) FIFO memory data pipelining system and method for increasing I²C bus speed
CN107832078B (zh) 基于dsp的fpga程序在线更新电路
CN113434162B (zh) 远程在线更新fpga多版本程序的方法
CN110196391B (zh) 基于fpga与dsp架构的数字电路测试装置及方法
CN102855150B (zh) 一种向待编程设备烧录信息的方法及系统
CN108037938A (zh) 一种eMMC的开卡方法
CN104834620A (zh) 串行外设接口spi总线电路、实现方法以及电子设备
CN111190855A (zh) 一种fpga多重远程配置系统及方法
CN105930186A (zh) 多cpu的软件加载方法及基于多cpu的软件加载装置
CN110399328B (zh) 一种板载图形处理器控制方法与装置
CN114117973A (zh) 逻辑综合方法、设备和存储介质
CN101666855B (zh) 一种集成电路的通用测试系统和方法
CN111309667A (zh) 基于实时总线的异构多处理器平台的动态可重配置方法
CN201518128U (zh) 一种软件升级及调试工具
CN111208753A (zh) 一种基于arm的fpga启动及在线升级方法
CN111045734B (zh) 一种基于ima平台的软硬件程序一键固化系统及方法
CN104679123A (zh) 主机板及其数据烧录方法
CN112087359B (zh) 一种串行通信系统
CN204706031U (zh) 串行外设接口spi总线电路以及电子设备
CN111563056A (zh) 一种fpga配置文件的下载装置
CN115687190B (zh) 一种多路交互控制电路及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant