CN105785856B - 基于弹载应用的程序动态分段加载装置和方法 - Google Patents
基于弹载应用的程序动态分段加载装置和方法 Download PDFInfo
- Publication number
- CN105785856B CN105785856B CN201610108883.7A CN201610108883A CN105785856B CN 105785856 B CN105785856 B CN 105785856B CN 201610108883 A CN201610108883 A CN 201610108883A CN 105785856 B CN105785856 B CN 105785856B
- Authority
- CN
- China
- Prior art keywords
- program
- general character
- supporting module
- chip
- dsp chip
- 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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23296—Load, update new program without test program, save memory space
Abstract
本发明属于硬件的数据动态分段更新及加载技术领域,公开了一种基于弹载应用的程序动态分段加载装置和方法,装置通过以太网与上位机有线通信或者通过遥测与控制台无线通信,装置包括:DSP芯片、共性支撑模块、至少一个FLASH存储器;其中,DSP芯片上设置有第一SPI接口,第一SPI接口包含有片选信号输出端、时钟信号输出端、第一数据输出端和第一数据输入端;共性支撑模块包含有第一IO端、第二IO端、第三IO端和第四IO端;FLASH存储器上设置有第二SPI接口,第二SPI接口包含有片选信号输入端、时钟信号输入端、第二数据输出端和第二数据输入端,以满足在飞行器不同的阶段,动态分段更新DSP芯片中执行的程序。
Description
技术领域
本发明涉及硬件的数据动态分段更新及加载技术领域,尤其涉及一种基于弹载应用的程序动态分段加载装置和方法,适用于各类以共性支撑模块及DSP为主要处理芯片的弹载信号处理机。
背景技术
随着弹载技术的发展,弹载信号处理机需要满足多种功能,如被动检测,雷达成像、前视单脉冲探测跟踪,目标识别,抗干扰等。这就要求弹载信号处理机在导弹飞行的过程中,在不同的阶段执行不同的程序。
DSP(数字信号处理器)凭借其在信号处理方面的优异性能,往往作为弹载计算机的主处理器。传统的做法是在DSP完成上电后,将所有程序一次性加载到DSP芯片里,然后根据惯性器件的测量参数值,决定执行哪一段程序。这样做的弊端是程序的体积过大,而且程序出错的概率也会变大。
发明内容
针对上述已有技术的不足,本发明的目的在于提出一种基于弹载应用的程序动态分段加载装置和方法,以满足在飞行器不同的阶段,动态分段更新DSP芯片中执行的程序,以及弹载计算机后期系统更新的要求。
为达到上述目的,本发明的实施例采用如下技术方案予以实现。
技术方案一:
一种基于弹载应用的程序动态分段加载装置,所述装置与上位机有线通信或者与控制台无线通信,所述装置包括:DSP芯片、共性支撑模块、至少一个FLASH存储器;
其中,所述DSP芯片上设置有第一SPI接口,所述第一SPI接口包含有片选信号输出端、时钟信号输出端、第一数据输出端和第一数据输入端;所述共性支撑模块包含有第一IO端、第二IO端、第三IO端和第四IO端;所述FLASH存储器上设置有第二SPI接口,所述第二SPI接口包含有片选信号输入端、时钟信号输入端、第二数据输出端和第二数据输入端;
所述片选信号输出端通过所述第一IO端与所述片选信号输入端连接,所述时钟信号输出端通过所述第二IO端与所述时钟信号输入端连接,所述第一数据输出端通过所述第三IO端与所述第二数据输入端连接,所述第一数据输入端通过所述第四IO端与所述第二数据输出端连接。
技术方案一的特点和进一步的改进为:
(1)所述FLASH存储器中存储有多个分段加载程序,所述共性支撑模块上还设置有GPIO接口,所述GPIO接口用于向所述DSP芯片传送分段加载程序的存储地址信息。
(2)所述DSP芯片中存储有程序加载核,所述程序加载核用于将每个分段加载程序加载到所述DSP芯片中。
(3)所述DSP芯片的型号为TMS320C6678。
(4)所述共性支撑模块采用的芯片型号为A2F500M3G。
(5)所述FLASH存储器的型号为N25Q128A11ESE40F。
技术方案二:
一种基于弹载应用的程序动态分段加载方法,共性支撑模块外挂至少一个FLASH存储器,DSP芯片中存储有程序加载核,所述程序加载核用于将分段加载程序加载到所述DSP芯片中,所述FLASH存储器用于存储多个分段加载程序;所述方法包括如下步骤:
步骤1,所述共性支撑模块获取程序加载指令,所述程序加载指令用于指示是否对所述DSP芯片进行分段程序加载,以及所述分段加载程序在FLASH存储器中的存储地址;
步骤2,所述共性支撑模块根据所述程序加载指令,从FLASH存储器中获取分段加载程序,并发送给所述DSP芯片;
步骤3,所述DSP芯片接收所述分段加载程序,并启动程序加载核,将所述分段加载程序加载到DSP芯片中。
技术方案二的特点和进一步的改进为:
步骤1中,所述共性支撑模块获取程序加载指令具体为:所述共性支撑模块与上位机有线通信,从所述上位机获取程序加载指令;或者所述共性支撑模块与控制台无线通信,从所述控制台获取程序加载指令。
本发明的有益效果为:(1)以DSP芯片和共性支撑模块为核心芯片,无需其他的控制芯片,适用于各类以共性支撑模块和DSP芯片为主要处理芯片的弹载计算机系统;(2)本发明的加载除选用以太网作为上位机和DSP芯片的数据传输通道外,还通过遥测与控制台进行数据传输,作用距离比传统方法大大提高,可以实现远程动态分段加载;这两路接口在不作为程序加载使用的时候可用于和外部的通信,提高了系统的灵活性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于弹载应用的程序动态分段加载装置的结构示意图;
图2为本发明实施例提供的一种基于弹载应用的程序动态分段加载方法的流程示意图一;
图3为本发明实施例提供的一种基于弹载应用的程序动态分段固化方法的流程示意图;
图4为本发明实施例提供的一种基于弹载应用的程序动态分段加载方法的流程示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种基于弹载应用的程序动态分段加载装置,如图1所示,所述装置通过以太网与上位机有线通信或者通过遥测与控制台无线通信,所述装置包括:DSP芯片、共性支撑模块、至少一个FLASH存储器。
其中,所述DSP芯片上设置有第一SPI接口,所述第一SPI接口包含有片选信号输出端、时钟信号输出端、第一数据输出端和第一数据输入端;所述共性支撑模块包含有第一IO端、第二IO端、第三IO端和第四IO端;所述FLASH存储器上设置有第二SPI接口,所述第二SPI接口包含有片选信号输入端、时钟信号输入端、第二数据输出端和第二数据输入端;
所述片选信号输出端通过所述第一IO端与所述片选信号输入端连接,所述时钟信号输出端通过所述第二IO端与所述时钟信号输入端连接,所述第一数据输出端通过所述第三IO端与所述第二数据输入端连接,所述第一数据输入端通过所述第四IO端与所述第二数据输出端连接。
进一步的,所述FLASH存储器中存储有多个分段加载程序,所述共性支撑模块上还设置有GPIO接口,所述GPIO接口用于向所述DSP芯片传送分段加载程序的存储地址信息。
所述DSP芯片中存储有程序加载核,所述程序加载核用于将每个分段加载程序加载到所述DSP芯片中。
示例性的,所述DSP芯片的型号为TMS320C6678,但不限于该型号。所述共性支撑模块采用的芯片型号为A2F500M3G,但不限于该型号。所述FLASH存储器的型号为N25Q128A11ESE40F,但不限于该型号。
本发明实施例还提供一种基于弹载应用的程序动态分段加载方法,应用于如上述实施例所述的装置中,共性支撑模块外挂至少一个FLASH存储器,DSP芯片中存储有程序加载核,所述程序加载核用于将分段加载程序加载到所述DSP芯片中,所述FLASH存储器用于存储多个分段加载程序;如图2所示,所述方法包括如下步骤:
步骤1,所述共性支撑模块获取程序加载指令,所述程序加载指令用于指示是否对所述DSP芯片进行分段程序加载,以及所述分段加载程序在FLASH存储器中的存储地址;
步骤2,所述共性支撑模块根据所述程序加载指令,从FLASH存储器中获取分段加载程序,并发送给所述DSP芯片;
步骤3,所述DSP芯片接收所述分段加载程序,并启动程序加载核,将所述分段加载程序加载到DSP芯片中。
步骤1中,所述共性支撑模块获取程序加载指令具体为:所述共性支撑模块通过以太网与上位机有线通信,从所述上位机获取程序加载指令;或者所述共性支撑模块通过遥测与控制台无线通信,从所述控制台获取程序加载指令。
具体的,DSP芯片中保留以太网读写加载代码的程序段,称之为程序加载核。这个程序加载核包含在DSP芯片的底层库中,在启动任何一个程序后都可以根据需要唤醒该程序加载核。
DSP芯片要求能够实现动态分段更新功能,也就是说FLASH存储器能够实现对程序的分段存储,同时DSP芯片需要能够完成对FLASH存储器的分段读取。FLASH存储器的分段存储可以通过对存储地址的控制完成,同样的DSP芯片的分段读取也通过地址的控制完成。
具体来讲DSP芯片通过与共性支撑模块互联的GPIO信号,可以确定程序在FLASH存储器中的存储段及DSP芯片进行加载时候的加载段。
示例性的,本发明技术方案选用了GPIO[0]、GPIO[1]、GPIO[2]、GPIO[3]来进行控制,在DSP芯片的程序当中,读取这四个GPIO的值,对应到FLASH存储器中相应的程序存储地址段,若整个加载程序一共分成16个程序段(第0段~第15段),如果GPIO[0]、GPIO[1]、GPIO[2]、GPIO[3]输入的是0011(转换为十进制为3),就表示加载的是FLASH存储器中的第3段程序,然后通过共性支撑模块对DSP芯片加载模式的配置就可以完成DSP芯片的动态分段程序加载。
需要补充的是,在使用上位机或者遥测来对FLASH存储器进行程序分段烧写的时候,控制流程基本如下:首先共性支撑模块判断是否对共性支撑模块外挂FLASH存储器烧写,然后通过共性支撑模块的IO控制FLASH存储器的使能;使能FLASH存储器完成后,共性支撑模块控制DSP芯片的SPI接口与FLASH存储器的SPI控制线连接;最后DSP芯片启动程序加载核,并根据与共性支撑模块相连的GPIO值,确定在FLASH存储器中进行程序烧写段的位置,然后通过SPI接口将程序写入FLASH存储器。
示例性的,如图3所示为本发明实施例提供的一种基于弹载应用的程序动态分段固化方法的流程示意图。
当进行程序动态分段固化的时候,控制流程基本如下:首先共性支撑模块判断是通过遥测或以太网进程程序固化;若通过遥测进行程序固化,则共性支撑模块接收遥测发送的待固化程序数据,然后共性支撑模块通过时序控制,将程序数据固化到FLASH存储器中相应的位置段;若通过以太网进行程序固化,则首先DSP接收上位机发送的待固化程序数据,并将该数据存储在DSP外挂的DDR3中,然后共性支撑模块将连接在其上的DSP的SPI接口与FLASH的SPI接口相连;最后DSP启动动态加载核,并根据与共性支撑模块相连的GPIO值,确定程序烧写段位置,然后通过SPI将程序写入FLASH存储器。
示例性的,如图4所示,为本发明实施例提供的一种基于弹载应用的程序动态分段加载方法的流程示意图。
在对DSP进行程序分段加载的时候,控制流程基本如下:首先共性支撑模块判断DSP是否进行程序分段加载:若要进行程序加载,则共性支撑模块通过IO控制打开FLASH存储器的使能,然后将DSP连接在共性支撑模块上的SPI接口与FLASH存储器的SPI控制线连接;最后DSP启动程序加载核,并根据与共性支撑模块相连的GPIO值,确定程序加载段位置;最后共性支撑模块将DSP设置为SPI加载模式,并控制DSP重新上电,等待加载完成。
综上所述,本发明以DSP芯片和共性支撑模块为核心芯片,各个加载功能模块以软件模块形式集成到两个芯片中,无需额外的控制芯片。同时,本发明完成了对DSP芯片不同时刻程序分段更新的工作。适用于各类以共性支撑模块及DSP为主要处理芯片的弹载计算机系统。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (8)
1.一种基于弹载应用的程序动态分段加载装置,其特征在于,所述装置与上位机有线通信或者与控制台无线通信,所述装置包括:DSP芯片、共性支撑模块、至少一个FLASH存储器;
其中,所述DSP芯片上设置有第一SPI接口,所述第一SPI接口包含有片选信号输出端、时钟信号输出端、第一数据输出端和第一数据输入端;所述共性支撑模块包含有第一IO端、第二IO端、第三IO端和第四IO端;所述FLASH存储器上设置有第二SPI接口,所述第二SPI接口包含有片选信号输入端、时钟信号输入端、第二数据输出端和第二数据输入端;
所述片选信号输出端通过所述第一IO端与所述片选信号输入端连接,所述时钟信号输出端通过所述第二IO端与所述时钟信号输入端连接,所述第一数据输出端通过所述第三IO端与所述第二数据输入端连接,所述第一数据输入端通过所述第四IO端与所述第二数据输出端连接。
2.根据权利要求1所述的一种基于弹载应用的程序动态分段加载装置,其特征在于,所述FLASH存储器中存储有多个分段加载程序,所述共性支撑模块上还设置有GPIO接口,所述GPIO接口用于向所述DSP芯片传送分段加载程序的存储地址信息。
3.根据权利要求1所述的一种基于弹载应用的程序动态分段加载装置,其特征在于,所述DSP芯片中存储有程序加载核,所述程序加载核用于将每个分段加载程序加载到所述DSP芯片中。
4.根据权利要求1所述的一种基于弹载应用的程序动态分段加载装置,其特征在于,所述DSP芯片的型号为TMS320C6678。
5.根据权利要求1所述的一种基于弹载应用的程序动态分段加载装置,其特征在于,所述共性支撑模块采用的芯片型号为A2F500M3G。
6.根据权利要求1所述的一种基于弹载应用的程序动态分段加载装置,其特征在于,所述FLASH存储器的型号为N25Q128A11ESE40F。
7.一种基于弹载应用的程序动态分段加载方法,其特征在于,共性支撑模块外挂至少一个FLASH存储器,DSP芯片中存储有程序加载核,所述程序加载核用于将分段加载程序加载到所述DSP芯片中;所述FLASH存储器用于存储多个分段加载程序;其中,所述DSP芯片上设置有第一SPI接口,所述第一SPI接口包含有片选信号输出端、时钟信号输出端、第一数据输出端和第一数据输入端;所述共性支撑模块包含有第一IO端、第二IO端、第三IO端和第四IO端;所述FLASH存储器上设置有第二SPI接口,所述第二SPI接口包含有片选信号输入端、时钟信号输入端、第二数据输出端和第二数据输入端;
所述片选信号输出端通过所述第一IO端与所述片选信号输入端连接,所述时钟信号输出端通过所述第二IO端与所述时钟信号输入端连接,所述第一数据输出端通过所述第三IO端与所述第二数据输入端连接,所述第一数据输入端通过所述第四IO端与所述第二数据输出端连接;
所述方法包括如下步骤:
步骤1,所述共性支撑模块获取程序加载指令,所述程序加载指令用于指示是否对所述DSP芯片进行分段程序加载,以及所述分段加载程序在FLASH存储器中的存储地址;
步骤2,所述共性支撑模块根据所述程序加载指令,从FLASH存储器中获取分段加载程序,并发送给所述DSP芯片;
步骤3,所述DSP芯片接收所述分段加载程序,并启动程序加载核,将所述分段加载程序加载到DSP芯片中。
8.根据权利要求7所述的一种基于弹载应用的程序动态分段加载方法,其特征在于,步骤1中,所述共性支撑模块获取程序加载指令具体为:所述共性支撑模块与上位机有线通信,从所述上位机获取程序加载指令;或者所述共性支撑模块与控制台无线通信,从所述控制台获取程序加载指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610108883.7A CN105785856B (zh) | 2016-02-26 | 2016-02-26 | 基于弹载应用的程序动态分段加载装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610108883.7A CN105785856B (zh) | 2016-02-26 | 2016-02-26 | 基于弹载应用的程序动态分段加载装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105785856A CN105785856A (zh) | 2016-07-20 |
CN105785856B true CN105785856B (zh) | 2018-07-20 |
Family
ID=56403661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610108883.7A Active CN105785856B (zh) | 2016-02-26 | 2016-02-26 | 基于弹载应用的程序动态分段加载装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105785856B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114047958B (zh) * | 2021-10-31 | 2023-07-14 | 山东云海国创云计算装备产业创新中心有限公司 | 一种服务器的基板管理控制器的启动方法、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102347896A (zh) * | 2011-07-14 | 2012-02-08 | 广州海格通信集团股份有限公司 | 一种基于以太网加载fpga和dsp的平台及其实现方法 |
CN104239084A (zh) * | 2013-06-24 | 2014-12-24 | 南京南瑞继保电气有限公司 | 一种dsp程序自动加载的实现方法 |
CN104461660A (zh) * | 2014-12-30 | 2015-03-25 | 西安电子科技大学 | 一种异构系统的多模式动态加载方法 |
CN105359098A (zh) * | 2013-05-17 | 2016-02-24 | 相干逻辑公司 | 多处理器嵌入式系统上应用的动态重新配置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8370544B2 (en) * | 2009-07-23 | 2013-02-05 | Stec, Inc. | Data storage system with compression/decompression |
-
2016
- 2016-02-26 CN CN201610108883.7A patent/CN105785856B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102347896A (zh) * | 2011-07-14 | 2012-02-08 | 广州海格通信集团股份有限公司 | 一种基于以太网加载fpga和dsp的平台及其实现方法 |
CN105359098A (zh) * | 2013-05-17 | 2016-02-24 | 相干逻辑公司 | 多处理器嵌入式系统上应用的动态重新配置 |
CN104239084A (zh) * | 2013-06-24 | 2014-12-24 | 南京南瑞继保电气有限公司 | 一种dsp程序自动加载的实现方法 |
CN104461660A (zh) * | 2014-12-30 | 2015-03-25 | 西安电子科技大学 | 一种异构系统的多模式动态加载方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105785856A (zh) | 2016-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102087606B (zh) | 一种fpga配置文件更新装置 | |
CN102063943B (zh) | Nand闪存参数自动检测系统 | |
CN106445398B (zh) | 一种基于新型存储器的嵌入式文件系统及其实现方法 | |
CN102185729B (zh) | 测试装置、测试方法及系统 | |
CN101454746B (zh) | 一种以多功能存储卡通讯的方法 | |
CN109346122B (zh) | 固态硬盘性能的测试方法及装置 | |
US8266371B2 (en) | Non-volatile storage device, host device, non-volatile storage system, data recording method, and program | |
CN106484316A (zh) | 用来管理一记忆装置的方法以及记忆装置与控制器 | |
CN101344870B (zh) | 一种复用性强的fifo控制模块及其管理内存的方法 | |
CN104050113B (zh) | 通过易失性影子存储器访问非易失性存储器 | |
CN108563590A (zh) | 基于片上flash存储器的otp控制器和控制方法 | |
CN110765032A (zh) | 基于系统管理总线接口对i2c存储器进行读写的方法 | |
CN109117205A (zh) | 一种基于mcu和fpga的双芯片加载方法 | |
CN103544994A (zh) | 快闪存储器控制器、快闪存储器侦错方法 | |
CN105785856B (zh) | 基于弹载应用的程序动态分段加载装置和方法 | |
CA1065477A (en) | Computer to tape deck interface | |
CN107451271A (zh) | 一种哈希表处理方法、装置、设备及存储介质 | |
CN208444289U (zh) | 基于片上flash存储器的otp控制器 | |
CN105765472B (zh) | 远程控制装置以及控制系统 | |
CN105204774B (zh) | 一种数据处理方法及电子设备 | |
CN104698867A (zh) | 基于m文件系统函数的数据采集卡的数据交互方法 | |
CN103119573A (zh) | Dma控制器以及数据读出装置 | |
CN106569852A (zh) | 一种烧录方法及装置 | |
CN102129416A (zh) | 一种数据通信命令表的配置存储系统及方法 | |
CN111638899A (zh) | 一种通过dsp串口升级fpga程序的方法 |
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 |