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

技术编号:14903928 阅读:82 留言:0更新日期:2017-03-29 19:07
本发明专利技术提供一种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程序的外部下载系统及方法,能够提高外部下载系统的实用性、可靠性以及实时性。

【技术实现步骤摘要】

本专利技术涉及嵌入式设备
,具体涉及一种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接口电路对应的命令堆栈区,以获得子地址、数据帧长度、发送\本文档来自技高网
...

【技术保护点】
一种DSP程序和FPGA程序的外部下载系统,其特征在于,所述系统包括1553B接口电路、DSP处理器、DSP存储单元、看门狗电路、FPGA、以及FPGA存储单元,所述1553B接口电路通过EMIFA接口与所述DSP处理器相连,所述看门狗电路通过GPIO接口与所述DSP处理器相连,所述DSP存储单元通过EMIFB接口和GPIO接口与所述DSP处理器相连,所述FPGA存储单元通过McBsp接口与所述DSP处理器相连,所述DSP处理器通过GPIO接口与所述FPGA相连,所述FPGA存储单元通过串行总线与所述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;如果所述固...

【专利技术属性】
技术研发人员:雷丹丹刘鑫李卫洁
申请(专利权)人:航天恒星科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1