一种DSP程序和FPGA程序的外部下载系统及方法.pdf

上传人:a**** 文档编号:1294611 上传时间:2018-04-13 格式:PDF 页数:19 大小:2.76MB
返回 下载 相关 举报
摘要
申请专利号:

CN201611122983.1

申请日:

2016.12.08

公开号:

CN106547574A

公开日:

2017.03.29

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 9/44申请日:20161208|||公开

IPC分类号:

G06F9/44; G06F9/445

主分类号:

G06F9/44

申请人:

航天恒星科技有限公司

发明人:

雷丹丹; 刘鑫; 李卫洁

地址:

100086 北京市海淀区知春路82号院

优先权:

专利代理机构:

北京睿驰通程知识产权代理事务所(普通合伙) 11604

代理人:

乔双双

PDF下载: PDF下载
内容摘要

本发明提供一种DSP程序和FPGA程序的外部下载系统及方法,其中,所述系统包括1553B接口电路、DSP处理器、DSP存储单元、看门狗电路、FPGA、以及FPGA存储单元,所述1553B接口电路通过EMIFA接口与所述DSP处理器相连,所述看门狗电路通过GPIO接口与所述DSP处理器相连,所述DSP存储单元通过EMIFB接口和GPIO接口与所述DSP处理器相连,所述FPGA存储单元通过McBsp接口与所述DSP处理器相连,所述DSP处理器通过GPIO接口与所述FPGA相连,所述FPGA存储单元通过串行总线与所述FPGA相连。本发明提供的一种DSP程序和FPGA程序的外部下载系统及方法,能够提高外部下载系统的实用性、可靠性以及实时性。

权利要求书

1.一种DSP程序和FPGA程序的外部下载系统,其特征在于,所述系统包括1553B接口电
路、DSP处理器、DSP存储单元、看门狗电路、FPGA、以及FPGA存储单元,所述1553B接口电路通
过EMIFA接口与所述DSP处理器相连,所述看门狗电路通过GPIO接口与所述DSP处理器相连,
所述DSP存储单元通过EMIFB接口和GPIO接口与所述DSP处理器相连,所述FPGA存储单元通
过McBsp接口与所述DSP处理器相连,所述DSP处理器通过GPIO接口与所述FPGA相连,所述
FPGA存储单元通过串行总线与所述FPGA相连。
2.根据权利要求1所述的DSP程序和FPGA程序的外部下载系统,其特征在于:
所述1553B接口电路,用于实现上位机与所述DSP处理器之间的数据传输,以完成上位
机向所述DSP处理器发送控制命令和程序数据,并从所述DSP处理器处接收反馈指令以及程
序在线升级结果;
所述DSP处理器,用于在上电复位后,从所述DSP存储单元加载并运行底层程序,并在自
检初始化完成后与上位机建立1553B通信,以根据所述上位机的指令判断是否需要升级DSP
程序或者FPGA程序;
所述DSP存储单元,用于存储DSP底层程序数据和DSP用户程序数据;
所述看门狗电路,用于监测喂狗信号是否正常,并在喂狗信号异常时向所述DSP处理器
发送DSP复位信号;
所述FPGA存储单元,用于存储FPGA程序数据;
所述EMIFA接口,用于实现1553B数据的发送和接收功能;
所述EMIFB接口,用于实现DSP用户程序在线升级与加载运行所需的数据传输功能;
所述McBsp接口,用于实现FPGA程序在线升级所需的数据传输功能;
所述GPIO接口,用于完成DSP底层程序和DSP用户程序在所述DSP存储单元中的分区存
储与加载;在FPGA程序在线升级时,产生FPGA复位逻辑,以保证总线资源的独占性;在DSP程
序运行中,按照预设时间周期向所述看门狗电路提供喂狗信号。
3.一种应用于如权利要求1或2所述的外部下载系统的DSP程序和FPGA程序的外部下载
方法,其特征在于,所述方法包括:
当所述外部下载系统上电后,对所述EMIFA接口、EMIFB接口、McBsp接口以及GPIO接口
进行初始化并将固化状态机的状态初始化为1;
所述外部下载系统进入在线升级主循环中,并判断所述固化状态机的当前状态;
如果所述固化状态机的当前状态为1,通过1553B总线接收设备对码指令,并将设备对
码结果通过1553B总线反馈给上位机,并在设备对码成功后将固化状态机的状态设置为2;
如果在预设时长内未收到设备对码命令,则重新加载DSP应用程序。
4.根据权利要求3所述的DSP程序和FPGA程序的外部下载方法,其特征在于,所述方法
还包括:
如果所述固化状态机的状态为2,所述外部下载系统通过1553B总线接收文件头上传指
令;
响应于所述文件头上传指令,获取固化参数,并将所述固化参数通过1553B总线反馈给
上位机,并在固化参数获取成功后将所述固化状态机的状态设置为3;
其中,如果所述固化参数中包括固化DSP应用程序的参数,置地址高位GPIO为1;如果所
述固化参数中包括固化FPGA程序的参数,置FPGA复位GPIO为0。
5.根据权利要求4所述的DSP程序和FPGA程序的外部下载方法,其特征在于,所述方法
还包括:
如果所述固化状态机的状态为3,所述外部下载系统通过1553B总线接收介质清除指
令,完成对DSP存储单元或FPGA存储单元的擦除操作;
将擦除结果通过1553B总线反馈给上位机,并在擦除成功后将固化状态机的状态设置
为4。
6.根据权利要求5所述的DSP程序和FPGA程序的外部下载方法,其特征在于,所述方法
还包括:
如果所述固化状态机的状态为4,所述外部下载系统通过1553B总线接收程序文件数据
包,当所述程序文件数据包的大小超出所述DSP存储单元可容纳的大小时,将所述程序文件
数据包分批发给DSP底层程序;
所述DSP底层程序接收并烧写完一批程序文件数据包后,再进行下一批程序文件数据
包的接收和烧写,直至所有的程序文件数据包都烧写完毕;
在烧写完毕后将程序文件固化结果通过1553B总线反馈给上位机,同时将所述固化状
态机的状态设置为5。
7.根据权利要求6所述的DSP程序和FPGA程序的外部下载方法,其特征在于,所述方法
还包括:
如果所述固化状态机的状态为5,所述外部下载系统等待1553B总线接收装订检查指
令;
响应于所述装订检查指令,DSP底层程序从DSP存储单元中读取软件版本号并在对计算
程序文件数据进行检验后反馈给上位机,同时将所述固化状态机的状态设置为6。
8.根据权利要求7所述的DSP程序和FPGA程序的外部下载方法,其特征在于,所述方法
还包括:
如果所述固化状态机的状态为6,DSP底层程序释放对地址高位GPIO和FPGA复位GPIO的
控制,并等待预设时长后重新加载DSP应用程序。
9.根据权利要求3所述的DSP程序和FPGA程序的外部下载方法,其特征在于,所述方法
还包括:
DSP底层程序加电或复位后,进行初始化和自检操作,同时将初始化和自检结果输入到
主循环中;
进入主循环后,查询1553B接口电路是否有数据接收/发送,并读取1553B接口电路对应
的命令堆栈区,以获得子地址、数据帧长度、发送/接收标志;
若1553B接口电路有数据发送,则清除子地址的标志位及对应的矢量字信息;若1553B
接口电路有数据接收,则根据子地址和数据帧长度将数据缓存到对应的缓冲区,并判断数
据帧校验是否正确。
10.根据权利要求9所述的DSP程序和FPGA程序的外部下载方法,其特征在于,所述方法
还包括:
当数据帧校验正确时,若接收到设备对码命令,检测所述设备对码命令对应的模块,并
将检查结果和模块的出厂设备信息编码写入指定的子地址单元;
若接收到文件头上传命令,则存储文件头信息,并进行CRC32通讯校验;
若接收到介质清除命令,则根据文件头信息中包含的软件代号及通道号确定擦除区
域,并启动擦除操作;
若接收到介质清除查询命令,则根据软件擦除状态向固化状态机下达状态设置指令;
若接收到数据体记录上传命令,则对数据体数据进行CRC32通讯校验,并根据校验结果
向固化状态机下达状态设置指令,同时根据文件头信息中包含的软件代号及通道号确定擦
除区域,并启动固化操作。

说明书

一种DSP程序和FPGA程序的外部下载系统及方法

技术领域

本发明涉及嵌入式设备技术领域,具体涉及一种DSP程序和FPGA程序的外部下载
系统及方法。

背景技术

随着电子技术的不断发展以及用户需求的不断提升,需要经常对已经投入使用的
嵌入式设备程序进行更新,一般的基于DSP和FPGA的软件程序更新是在开发环境下通过
JTAG接口操作来实现的。基于JTAG接口的方法虽然易于操作,而且调试方便,但经常受空间
以及传输距离的限制,对于某些特殊场合,如设备在密闭的箱体内以及其他不便触及的地
方,这种方式给升级带来了极大的不便,因此开发高效、便捷的升级技术成为一种迫切的需
求。

现有技术中公开了一种基于串口通信的适合于TMS320C2000系列DSP实现程序更
新的在线升级,然而其缺点在于:该DSP程序存储FLASH位于DSP片内,容量小,无法满足复杂
性较高的数字信号处理的需要,有一定的使用局限性;同时也未采用工作状态监控机制,不
具备自恢复功能,可靠性和通用性不够完善。

现有技术还公开了一种在线升级方法,通过FLASH分区存储的方式提高软件升级
的可靠性,将FLASH分为启动代码区和产品程序区两个不同的分区,启动代码区存储的在线
升级软件,通过RS422/RS232/CAN接口对产品程序区进行读写,实现产品软件的引导和启
动,但是缺点在于:该分区存储的方式并未扩展存储空间,启动代码区和产品程序区共享原
有FLASH空间,当产品程序区有较多的数据存储需求时可能无法满足,扩展性较差;并且,没
有实现在线重加载功能,产品程序区代码的加载需要断电重启才可以实现,实时性和灵活
性较差;同样,该设计也未采用工作状态监控机制,不具备自恢复功能,可靠性和通用性不
够完善。

此外,现有技术还公开了采用CPLD或DSP作为配置主控器实现基于FLASH工艺的
FPGA在线升级和动态加载,其缺点在于:该方法需要基于JTAG接口,接口硬件连线较多,程
序时序逻辑控制复杂,可靠性差;在FPGA程序文件较大的情况下具有很大的使用局限性,通
用性差;同样,该设计也未采用工作状态监控机制,不具备自恢复功能。

综上,现有技术中都没有提出一种基于1553B总线、能够兼容DSP和FPGA两种嵌入
式处理器在线升级、具备在线重加载功能和工作状态监控功能的具有较高可靠性和较好通
用性的外部下载系统。

发明内容

本发明实施例的目的在于提供一种DSP程序和FPGA程序的外部下载系统及方法,
能够在不打开机箱的条件下实现对DSP应用程序和FPGA程序的在线更新,同时实时监控DSP
工作状态,及时处理异常状况,以提高外部下载系统的实用性、可靠性以及实时性。

为实现上述目的,本发明实施例一方面提供一种DSP程序和FPGA程序的外部下载
系统,所述系统包括1553B接口电路、DSP处理器、DSP存储单元、看门狗电路、FPGA、以及FPGA
存储单元,所述1553B接口电路通过EMIFA接口与所述DSP处理器相连,所述看门狗电路通过
GPIO接口与所述DSP处理器相连,所述DSP存储单元通过EMIFB接口和GPIO接口与所述DSP处
理器相连,所述FPGA存储单元通过McBsp接口与所述DSP处理器相连,所述DSP处理器通过
GPIO接口与所述FPGA相连,所述FPGA存储单元通过串行总线与所述FPGA相连。

进一步地,所述1553B接口电路,用于实现上位机与所述DSP处理器之间的数据传
输,以完成上位机向所述DSP处理器发送控制命令和程序数据,并从所述DSP处理器处接收
反馈指令以及程序在线升级结果;所述DSP处理器,用于在上电复位后,从所述DSP存储单元
加载并运行底层程序,并在自检初始化完成后与上位机建立1553B通信,以根据所述上位机
的指令判断是否需要升级DSP程序或者FPGA程序;所述DSP存储单元,用于存储DSP底层程序
数据和DSP用户程序数据;所述看门狗电路,用于监测喂狗信号是否正常,并在喂狗信号异
常时向所述DSP处理器发送DSP复位信号;所述FPGA存储单元,用于存储FPGA程序数据;所述
EMIFA接口,用于实现1553B数据的发送和接收功能;所述EMIFB接口,用于实现DSP用户程序
在线升级与加载运行所需的数据传输功能;所述McBsp接口,用于实现FPGA程序在线升级所
需的数据传输功能;所述GPIO接口,用于完成DSP底层程序和DSP用户程序在所述DSP存储单
元中的分区存储与加载;在FPGA程序在线升级时,产生FPGA复位逻辑,以保证总线资源的独
占性;在DSP程序运行中,按照预设时间周期向所述看门狗电路提供喂狗信号。

为实现上述目的,本申请另一方面还提供一种DSP程序和FPGA程序的外部下载方
法,所述方法包括:当所述外部下载系统上电后,对所述EMIFA接口、EMIFB接口、McBsp接口
以及GPIO接口进行初始化并将固化状态机的状态初始化为1;所述外部下载系统进入在线
升级主循环中,并判断所述固化状态机的当前状态;如果所述固化状态机的当前状态为1,
通过1553B总线接收设备对码指令,并将设备对码结果通过1553B总线反馈给上位机,并在
设备对码成功后将固化状态机的状态设置为2;如果在预设时长内未收到设备对码命令,则
重新加载DSP应用程序。

进一步地,所述方法还包括:如果所述固化状态机的状态为2,所述外部下载系统
通过1553B总线接收文件头上传指令;响应于所述文件头上传指令,获取固化参数,并将所
述固化参数通过1553B总线反馈给上位机,并在固化参数获取成功后将所述固化状态机的
状态设置为3;其中,如果所述固化参数中包括固化DSP应用程序的参数,置地址高位GPIO为
1;如果所述固化参数中包括固化FPGA程序的参数,置FPGA复位GPIO为0。

进一步地,所述方法还包括:如果所述固化状态机的状态为3,所述外部下载系统
通过1553B总线接收介质清除指令,完成对DSP存储单元或FPGA存储单元的擦除操作;将擦
除结果通过1553B总线反馈给上位机,并在擦除成功后将固化状态机的状态设置为4。

进一步地,所述方法还包括:如果所述固化状态机的状态为4,所述外部下载系统
通过1553B总线接收程序文件数据包,当所述程序文件数据包的大小超出所述DSP存储单元
可容纳的大小时,将所述程序文件数据包分批发给DSP底层程序;所述DSP底层程序接收并
烧写完一批程序文件数据包后,再进行下一批程序文件数据包的接收和烧写,直至所有的
程序文件数据包都烧写完毕;在烧写完毕后将程序文件固化结果通过1553B总线反馈给上
位机,同时将所述固化状态机的状态设置为5。

进一步地,所述方法还包括:如果所述固化状态机的状态为5,所述外部下载系统
等待1553B总线接收装订检查指令;响应于所述装订检查指令,DSP底层程序从DSP存储单元
中读取软件版本号并在对计算程序文件数据进行检验后反馈给上位机,同时将所述固化状
态机的状态设置为6。

进一步地,所述方法还包括:如果所述固化状态机的状态为6,DSP底层程序释放对
地址高位GPIO和FPGA复位GPIO的控制,并等待预设时长后重新加载DSP应用程序。

进一步地,所述方法还包括:DSP底层程序加电或复位后,进行初始化和自检操作,
同时将初始化和自检结果输入到主循环中;进入主循环后,查询1553B接口电路是否有数据
接收/发送,并读取1553B接口电路对应的命令堆栈区,以获得子地址、数据帧长度、发送/接
收标志;若1553B接口电路有数据发送,则清除子地址的标志位及对应的矢量字信息;若
1553B接口电路有数据接收,则根据子地址和数据帧长度将数据缓存到对应的缓冲区,并判
断数据帧校验是否正确。

进一步地,所述方法还包括:当数据帧校验正确时,若接收到设备对码命令,检测
所述设备对码命令对应的模块,并将检查结果和模块的出厂设备信息编码写入指定的子地
址单元;若接收到文件头上传命令,则存储文件头信息,并进行CRC32通讯校验;若接收到介
质清除命令,则根据文件头信息中包含的软件代号及通道号确定擦除区域,并启动擦除操
作;若接收到介质清除查询命令,则根据软件擦除状态向固化状态机下达状态设置指令;若
接收到数据体记录上传命令,则对数据体数据进行CRC32通讯校验,并根据校验结果向固化
状态机下达状态设置指令,同时根据文件头信息中包含的软件代号及通道号确定擦除区
域,并启动固化操作。

本发明与现有技术相比的有益效果是:

(1)本发明采用FLASH分区存储的方式,提高软件升级的可靠性;同时,分区存储使
用地址高位GPIO控制的方式,从物理上扩展了DSP FLASH的存储空间。

(2)本发明能够不断电重启DSP即可运行DSP应用程序,在对实时性要求较高的场
合中具有明显优势。

(3)本发明所述的DSP底层程序监控DSP工作状态的工作机制,能够实时监控系统
运行状态,硬件、软件和通信故障情况时可对系统自主复位,而不需要手动复位即可恢复系
统工作状态,可满足某些无法手动控制断电重启的场合下的使用需求。

(4)本发明采用严谨的固化流程,DSP底层程序采用状态机机制,保证固化流程按
照步骤严格执行,防止在固化参数未确定的情况下对芯片误操作或固化步骤错误导致的外
部下载失败。

(5)本发明中所述的FPGA程序的外部下载充分利用了DSP的接口特点,使用McBSP
和GPIO模拟产生FPGA存储单元的SPI时序,与现有技术中使用GPIO模拟JTAG时序的方法相
比,具有硬件连线少,程序逻辑简单清晰,可靠性高等优势。

(6)本发明具有很强的通用性。在DSP+FPGA架构广泛应用于各种数字信号处理系
统的研究背景下,本发明能够兼容DSP和FPGA两种嵌入式处理器的在线升级功能,应用范围
广阔;同时,近年来软件无线电因被认为是无线通信技术未来的发展趋势而受到广泛关注,
而其中重要的设计思路是尽可能地用可升级、可重配置的应用软件,本发明的在线下载方
法具有良好的借鉴和使用价值;另外,在航空航天和兵器领域,1553B总线以高可靠性和强
实时性得到了广泛的应用,在采用MIL-STD-1553B总线通用接口的系统中,本发明无需额外
接口即可实现外部下载功能,具有良好的兼容性,大大简化了系统设计。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所
需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施
例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施
例的内容和这些附图获得其他的附图。

图1是本实施例所述的DSP程序和FPGA程序的外部下载系统的结构示意图;

图2是本实施例所述的DSP程序和FPGA程序的外部下载方法的流程图;

图3是本实施例所述的基于状态机机制实现程序文件固化方法的工作流程图;

图4是本实施例中外部下载系统的功能模块图;

图5是本实施例中外部下载系统的控制流程图;

图6是本实施例中外部下载系统的数据流程图。

贯穿附图,应该注意的是,相似的标号用于描绘相同或相似的元件、特征和结构。

具体实施方式

提供以下参照附图的描述来帮助全面理解由权利要求及其等同物限定的本公开
的各种实施例。以下描述包括帮助理解的各种具体细节,但是这些细节将被视为仅是示例
性的。因此,本领域普通技术人员将认识到,在不脱离本公开的范围和精神的情况下,可对
本文所述的各种实施例进行各种改变和修改。另外,为了清晰和简洁,公知功能和构造的描
述可被省略。

以下描述和权利要求书中所使用的术语和词汇不限于文献含义,而是仅由发明人
用来使本公开能够被清晰和一致地理解。因此,对于本领域技术人员而言应该明显的是,提
供以下对本公开的各种实施例的描述仅是为了示例性目的,而非限制由所附权利要求及其
等同物限定的本公开的目的。

应该理解,除非上下文明确另外指示,否则单数形式也包括复数指代。因此,例如,
对“组件表面”的引用包括对一个或更多个这样的表面的引用。

请参阅图1,本申请实施方式提供一种DSP程序和FPGA程序的外部下载系统,所述
系统集成于处理板上,所述处理板位于机箱内。其中,所述系统包括1553B接口电路、DSP处
理器、DSP存储单元、看门狗电路、FPGA、以及FPGA存储单元,所述1553B接口电路通过EMIFA
接口与所述DSP处理器相连,所述看门狗电路通过GPIO接口与所述DSP处理器相连,所述DSP
存储单元通过EMIFB接口和GPIO接口与所述DSP处理器相连,所述FPGA存储单元通过McBsp
接口与所述DSP处理器相连,所述DSP处理器通过GPIO接口与所述FPGA相连,所述FPGA存储
单元通过串行总线与所述FPGA相连。

在本实施方式中,所述1553B接口电路,用于实现上位机与所述DSP处理器之间的
数据传输,以完成上位机向所述DSP处理器发送控制命令和程序数据,并从所述DSP处理器
处接收反馈指令以及程序在线升级结果。

所述DSP处理器,用于在上电复位后,从所述DSP存储单元加载并运行底层程序,并
在自检初始化完成后与上位机建立1553B通信,以根据所述上位机的指令判断是否需要升
级DSP程序或者FPGA程序。具体地,若需要升级,则将通过1553B接口发送来的代码烧写至相
应存储单元,烧写完成后跳转到DSP应用程序处执行;如果不需要外部下载,则跳转到DSP应
用程序处执行原有程序。当应用程序很大或DSP的内存空间较小时,可采用将DSP应用程序
代码或FPGA程序代码分批发给DSP底层程序,DSP底层程序接收并烧写完一批代码后,再进
行下一批代码的接收和烧写工作,直到所有的程序代码都烧写完毕。在DSP程序运行过程中
对DSP工作状态进行监控,异常时可自主复位。

所述DSP存储单元为DSP外部非易失性存储器,用于存储DSP底层程序数据和DSP用
户程序数据,DSP底层程序上电可自动加载至内存运行,DSP用户程序的升级和加载通过DSP
底层程序实现。

所述看门狗电路,用于监测喂狗信号是否正常,并在喂狗信号异常时向所述DSP处
理器发送DSP复位信号;

所述FPGA存储单元为FPGA外部非易失性存储器,用于存储FPGA程序数据,上电可
自动加载运行,FPGA程序的升级通过DSP底层程序实现。

所述EMIFA接口为1553B接口电路与DSP处理器之间的并行总线接口,通过该接口
完成1553B数据的发送和接收功能。

所述EMIFB接口为DSP存储单元与DSP处理器之间的并行总线接口,通过该接口实
现DSP用户程序在线升级与加载运行等所需的数据传输功能。

所述McBsp接口为FPGA存储单元与DSP处理器之间的串行总线接口,通过该接口的
SPI工作模式实现FPGA程序在线升级等所需的数据传输功能。

所述GPIO接口用于完成DSP底层程序和DSP用户程序在DSP存储单元中的分区存储
与加载,从而保证程序数据的可靠性;在FPGA程序在线升级时,产生FPGA复位逻辑,保证总
线资源的独占性;在DSP程序运行中,定时产生喂狗信号给看门狗电路,达到监控DSP工作状
态的目的。

本实施方式中,各个模块中的芯片型号、规格及性能指标如下:

DSP底层软件运行在TI公司的TMS320C6416T芯片上,主频600MHz,具有1MB的
L2RAM,64MB×4的EMIFB空间,256MB×4的EMIFA空间,含3个定时器,16个可用GPIO,3个
McBSP接口。

1553B芯片选用HT61843,该芯片为4M 1553B总线接口通信协议模块,该芯片可支
持8/16位微处理器接口,地址总线的映射采用字结构,与DSP的EMIFA接口相连接,采用CE0
片选空间。

DSP Flash芯片选用JS28F128,该芯片具有16bit宽度的并行总线接口,128Mbit容
量,时钟速率最快可高达52MHz,与DSP的EMIFB接口相连接,采用CE1片选空间。

FPGA Flash芯片选用N25Q128A,该存储器采用增强型SPI协议存取数据,128Mbit
容量,读写速率最快可高达54MHz,与DSP的McBSP2接口相连接。

看门狗芯片选用MAX706,喂狗周期不大于1.6s。

请参阅图2和图3,本申请实施方式还提供一种DSP程序和FPGA程序的外部下载方
法,所述方法包括以下步骤。

S1:当所述外部下载系统上电后,对所述EMIFA接口、EMIFB接口、McBsp接口以及
GPIO接口进行初始化并将固化状态机的状态初始化为1;

S2:所述外部下载系统进入在线升级主循环中,并判断所述固化状态机的当前状
态;

S3:如果所述固化状态机的当前状态为1,通过1553B总线接收设备对码指令,并将
设备对码结果通过1553B总线反馈给上位机,并在设备对码成功后将固化状态机的状态设
置为2;

S4:如果在预设时长内未收到设备对码命令,则重新加载DSP应用程序。

在本实施方式中,所述的基于状态机机制实现程序文件固化方法的工作流程如图
3所示:

如果所述固化状态机的状态为2,所述外部下载系统通过1553B总线接收文件头上
传指令;

响应于所述文件头上传指令,获取固化参数,并将所述固化参数通过1553B总线反
馈给上位机,并在固化参数获取成功后将所述固化状态机的状态设置为3;

其中,如果所述固化参数中包括固化DSP应用程序的参数,置地址高位GPIO为1;如
果所述固化参数中包括固化FPGA程序的参数,置FPGA复位GPIO为0。

如果所述固化状态机的状态为3,所述外部下载系统通过1553B总线接收介质清除
指令,完成对DSP存储单元或FPGA存储单元的擦除操作;

将擦除结果通过1553B总线反馈给上位机,并在擦除成功后将固化状态机的状态
设置为4。

如果所述固化状态机的状态为4,所述外部下载系统通过1553B总线接收程序文件
数据包,当所述程序文件数据包的大小超出所述DSP存储单元可容纳的大小时,将所述程序
文件数据包分批发给DSP底层程序;

所述DSP底层程序接收并烧写完一批程序文件数据包后,再进行下一批程序文件
数据包的接收和烧写,直至所有的程序文件数据包都烧写完毕;

在烧写完毕后将程序文件固化结果通过1553B总线反馈给上位机,同时将所述固
化状态机的状态设置为5。

如果所述固化状态机的状态为5,所述外部下载系统等待1553B总线接收装订检查
指令;

响应于所述装订检查指令,DSP底层程序从DSP存储单元中读取软件版本号并在对
计算程序文件数据进行检验后反馈给上位机,同时将所述固化状态机的状态设置为6。

如果所述固化状态机的状态为6,DSP底层程序释放对地址高位GPIO和FPGA复位
GPIO的控制,并等待预设时长后重新加载DSP应用程序。

在本实施方式中,所述方法还包括:

DSP底层程序加电或复位后,进行初始化和自检操作,同时将初始化和自检结果输
入到主循环中;

进入主循环后,查询1553B接口电路是否有数据接收/发送,并读取1553B接口电路
对应的命令堆栈区,以获得子地址、数据帧长度、发送/接收标志;

若1553B接口电路有数据发送,则清除子地址的标志位及对应的矢量字信息;若
1553B接口电路有数据接收,则根据子地址和数据帧长度将数据缓存到对应的缓冲区,并判
断数据帧校验是否正确。

在本实施方式中,所述方法还包括:

当数据帧校验正确时,若接收到设备对码命令,检测所述设备对码命令对应的模
块,并将检查结果和模块的出厂设备信息编码写入指定的子地址单元;

若接收到文件头上传命令,则存储文件头信息,并进行CRC32通讯校验;

若接收到介质清除命令,则根据文件头信息中包含的软件代号及通道号确定擦除
区域,并启动擦除操作;

若接收到介质清除查询命令,则根据软件擦除状态向固化状态机下达状态设置指
令;

若接收到数据体记录上传命令,则对数据体数据进行CRC32通讯校验,并根据校验
结果向固化状态机下达状态设置指令,同时根据文件头信息中包含的软件代号及通道号确
定擦除区域,并启动固化操作。

在一个具体场景中,如图4所示,DSP底层程序配置项划分为初始化、自检、1553B数
据接收、1553B数据发送、应答数据组帧、DSP用户程序擦除、DSP用户程序固化、FPGA程序擦
除、FPGA程序固化、加载DSP用户程序等10个子功能,根据功能与实际需求,对应设计了图3
中的16个模块,实现上述10个子功能。图3中从上到下体现了模块间的调用关系。

如图5所示,DSP底层程序的控制流程为:

(a)系统上电后完成对EMIFA接口、EMIFB接口、McBsp接口、GPIO接口的初始化,实
现对1553B接口电路的RT工作模式设置,固化状态机初始化为1;

(b)系统进入在线升级主循环中,如果固化状态机为1,则等待1553B总线接收设备
对码指令,实现固化数据包和固化设备的状态控制和匹配性验证,将设备对码结果通过
1553B总线反馈给PC机,同时设备对码成功后置固化状态机为2;如果在T1秒内未收到设备
对码命令,则跳转到DSP应用程序重加载流程中。

(c)如果固化状态机为2,系统等待1553B总线接收文件头上传指令,获取固化相应
参数,固化参数获取结果通过1553B总线反馈给PC机,同时参数获取成功置固化状态机为3;
如果固化参数中要求固化DSP应用程序,则置地址高位GPIO为1,后续步骤对DSP存储单元高
半区进行固化操作;如果固化参数中要求固化FPGA程序,则置FPGA复位GPIO为0,后续步骤
在FPGA复位状态下进行固化操作;

(d)如果固化状态机为3,系统等待1553B总线接收介质清除指令,根据固化参数,
完成对DSP或FPGA存储单元的擦除操作,将存储单元擦除结果通过1553B总线反馈给PC机,
同时擦除成功后置固化状态机为4;

(e)如果固化状态机为4,系统等待1553B总线接收程序文件数据包,当应用程序很
大或DSP的内存空间较小时,可采用将DSP应用程序文件数据包或FPGA程序文件数据包分批
发给DSP底层程序,DSP底层程序接收并烧写完一批程序文件数据包后,再进行下一批程序
文件数据包的接收和烧写工作,直到所有的程序代码都烧写完毕,烧写完毕后将程序文件
固化结果通过1553B总线反馈给PC机,同时固化成功后置固化状态机为5;

(f)如果固化状态机为5,系统等待1553B总线接收装订检查指令,DSP底层程序从
存储单元中读出软件版本号、计算程序文件数据检验和后反馈给PC机,同时置固化状态机
为6,PC机判断版本号和校验和正确性;

(g)如果固化状态机为6,DSP底层程序释放对地址高位GPIO和FPGA复位GPIO的控
制,等待T2秒后启动DSP应用程序重加载流程。

DSP底层程序实时监测喂狗信号是否正常,异常时给出DSP复位信号。

如图6所示,DSP底层程序的数据流程为:

DSP底层程序加电或复位后,首先进行初始化和自检操作,同时将初始化和自检结
果输入到主循环。

进入主循环后,首先查询1553B接口是否有数据接收/发送,并读取1553B的命令堆
栈区,获得子地址、数据帧长度、发送/接收标志等信息。若为数据发送,则清除子地址标志
位及相关矢量字信息,以便下次发送;若为数据接收,则根据子地址和数据帧长度将数据缓
存到相应缓冲区,并判断数据帧校验和是否正确,如果正确则进行下一步处理:

若接收到设备对码命令,则进行相关单元检查,并将检查结果和出厂设备等信息
编码写入规定子地址单元;

若接收到文件头上传命令,则存储文件头信息,并进行CRC32通讯校验,给出相应
命令执行状态消息;

若接收到介质清除命令,则给出相应命令执行状态消息,同时根据文件头信息中
规定的“软件代号及通道号”确定擦除区域,启动清除操作;

若接收到介质清除查询命令,则根据软件擦除状态给出相应命令执行状态消息;

若接收到数据体记录上传命令,则对数据体数据进行CRC32通讯校验,并给出相应
命令执行状态消息,同时根据文件头信息中规定的“软件代号及通道号”确定擦除区域,启
动固化操作;

若接收到装订检查命令,则将软件版本号、标识单元写入状态参数单元,给出相应
命令状态执行消息。

主循环结束后加载DSP用户程序。

本发明与现有技术相比的有益效果是:

(1)本发明采用FLASH分区存储的方式,提高软件升级的可靠性;同时,分区存储使
用地址高位GPIO控制的方式,从物理上扩展了DSP FLASH的存储空间。

(2)本发明能够不断电重启DSP即可运行DSP应用程序,在对实时性要求较高的场
合中具有明显优势。

(3)本发明所述的DSP底层程序监控DSP工作状态的工作机制,能够实时监控系统
运行状态,硬件、软件和通信故障情况时可对系统自主复位,而不需要手动复位即可恢复系
统工作状态,可满足某些无法手动控制断电重启的场合下的使用需求。

(4)本发明采用严谨的固化流程,DSP底层程序采用状态机机制,保证固化流程按
照步骤严格执行,防止在固化参数未确定的情况下对芯片误操作或固化步骤错误导致的外
部下载失败。

(5)本发明中所述的FPGA程序的外部下载充分利用了DSP的接口特点,使用McBSP
和GPIO模拟产生FPGA存储单元的SPI时序,与现有技术中使用GPIO模拟JTAG时序的方法相
比,具有硬件连线少,程序逻辑简单清晰,可靠性高等优势。

(6)本发明具有很强的通用性。在DSP+FPGA架构广泛应用于各种数字信号处理系
统的研究背景下,本发明能够兼容DSP和FPGA两种嵌入式处理器的在线升级功能,应用范围
广阔;同时,近年来软件无线电因被认为是无线通信技术未来的发展趋势而受到广泛关注,
而其中重要的设计思路是尽可能地用可升级、可重配置的应用软件,本发明的在线下载方
法具有良好的借鉴和使用价值;另外,在航空航天和兵器领域,1553B总线以高可靠性和强
实时性得到了广泛的应用,在采用MIL-STD-1553B总线通用接口的系统中,本发明无需额外
接口即可实现外部下载功能,具有良好的兼容性,大大简化了系统设计。

应该注意的是,如上所述的本公开的各种实施例通常在一定程度上涉及输入数据
的处理和输出数据的生成。此输入数据处理和输出数据生成可在硬件或者与硬件结合的软
件中实现。例如,可在移动装置或者相似或相关的电路中采用特定电子组件以用于实现与
如上所述本公开的各种实施例关联的功能。另选地,依据所存储的指令来操作的一个或更
多个处理器可实现与如上所述本公开的各种实施例关联的功能。如果是这样,则这些指令
可被存储在一个或更多个非暂时性处理器可读介质上,这是在本公开的范围内。处理器可
读介质的示例包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光学数
据存储装置。另外,用于实现本公开的功能计算机程序、指令和指令段可由本公开所属领域
的程序员容易地解释。

本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似
的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。

尽管已参照本公开的各种实施例示出并描述了本公开,但是本领域技术人员将理
解,在不脱离由所附权利要求及其等同物限定的本公开的精神和范围的情况下,可对其进
行形式和细节上的各种改变。

一种DSP程序和FPGA程序的外部下载系统及方法.pdf_第1页
第1页 / 共19页
一种DSP程序和FPGA程序的外部下载系统及方法.pdf_第2页
第2页 / 共19页
一种DSP程序和FPGA程序的外部下载系统及方法.pdf_第3页
第3页 / 共19页
点击查看更多>>
资源描述

《一种DSP程序和FPGA程序的外部下载系统及方法.pdf》由会员分享,可在线阅读,更多相关《一种DSP程序和FPGA程序的外部下载系统及方法.pdf(19页珍藏版)》请在专利查询网上搜索。

本发明提供一种DSP程序和FPGA程序的外部下载系统及方法,其中,所述系统包括1553B接口电路、DSP处理器、DSP存储单元、看门狗电路、FPGA、以及FPGA存储单元,所述1553B接口电路通过EMIFA接口与所述DSP处理器相连,所述看门狗电路通过GPIO接口与所述DSP处理器相连,所述DSP存储单元通过EMIFB接口和GPIO接口与所述DSP处理器相连,所述FPGA存储单元通过McBsp接。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1