一种基于MCU和FPGA的远程电子系统升级装置及方法
技术领域
本发明涉及电子系统远程升级技术领域,更具体说,涉及一种基于MCU和FPGA的远程电子系统升级装置及方法。
背景技术
现在产品的电子系统越来越复杂,系统内的元器件数量越来越多。虽然随着摩尔定律的演进和工艺制造水平的提高,通过不断提高芯片的集成度缓解电子系统内芯片数量的急剧增加,但是电子系统中仍不可避免的出现大量的芯片的情况,而且为了加速产品上市,延长产品的生命周期和适配不同客户的具体要求,在电子系统设计时都需要考虑在尽量不更改硬件或者最少改动硬件的情况下完成整个产品的升级更新,即主要通过电子系统内芯片软件的迭代更新来实现产品的升级。
为了实现最少代价升级更新产品,通常都会在PCB板上给每个芯片预留升级硬件接口以便灵活升级更新产品并快速匹配需求。MCU和FPGA通过不同的接口独立进行升级;MCU的升级接口包括JTAG(Joint TestAction Group,联合测试工作组)等专用接口、RS232/422/485等串行接口,以及以太网、PCIe等高速数据接口;FPGA的升级接口主要是JTAG。另外还有许多外围应用芯片及其对应的升级接口,则需要对每个芯片单独依次进行软件升级。虽然实现了最少代价升级更新产品的目标,但是这种设计方式会让升级更新比较耗时耗力并且对于产品的用户来说过于复杂,且增加了产品升级更新的时间成本和人力成本。为节约成本需提高系统升级的便利性和易用性,于是提出本发明以便较好的解决此问题。
发明内容
本发明要解决的技术问题在于,现有的电子系统升级时耗时费力、人工成本和时间成本高且相对复杂的问题。
针对上述问题,提出一种基于MCU和FPGA的远程电子系统升级装置,通过将所有需要待升级芯片的升级接口通过MCU和FPGA的相应软件统一进行管理,同时通过局域网链接以进行远程操作升级,解决了上述问题。
一种基于MCU和FPGA的远程电子系统升级装置,包括MCU、FPGA功能单元、多个第一待升级芯片及多个第二待升级芯片,所述FPGA功能单元包括FPGA芯片,所述第一待升级芯片及第二待升级芯片分别设有升级接口,并通过所述升级接口与所述FPGA芯片通信连接;
MCU,用于将局域网传输过来的网络数据包解析为特定芯片升级所需的对应的命令和数据,对FPGA芯片及FPGA芯片连接的待升级芯片进行升级;
FPGA功能单元,用于解析升级命令帧, 并将通信接口切换到待升级芯片的升级接口,所述MCU将升级文件直接通过FPGA发送到相应的芯片升级接口。
结合本发明所述的远程电子系统升级装置,第一种可能的实施情况中,所述FPGA功能单元还包括四路二选一模拟开关及FPGA配置芯片,所述FPGA配置芯片通过SPI接口与所述四路二选一模拟开关的四个漏极端管脚连接,所述四路二选一模拟开关的源极端的各四个管脚分别连接FPGA芯片的四个配置管脚和MCU的SPI接口。
结合本发明所述的远程电子系统升级装置,第二种可能的实施情况中,所述第一待升级芯片及第二待升级芯片分别为HDMI延长器芯片阵列及HDBT发送器芯片阵列。
结合本发明所述的第二种可能的实施情况中,第三种可能的实施情况中,所述HDMI延长器芯片阵列及HDBT发送器芯片阵列分别由8个HDMI延长器芯片及8个HDBT发送器芯片两两组成。
结合本发明所述的第三种可能的实施情况中,第四种可能的实施情况中,所述HDMI延长器芯片阵列及HDBT发送器芯片阵列的升级接口为16个UART接口。
第二方面,提出一种基于MCU和FPGA的远程电子系统升级方法,包括步骤:
发送命令到MCU,MCU对命令进行解析,确定待升级芯片;
MCU解析从局域网接收升级文件数据包;
根据解析出来的升级文件数据包对待升级芯片进行升级。
结合本发明的第二方面,第一种可能的实施情况中,所述步骤:发送命令到MCU,MCU对命令进行解析,确定待升级芯片,包括:
若确定对MCU本身进行升级,则从局域网接收升级文件数据包;
对MCU软件进行更新升级后,自动复位后恢复工作状态。
结合本发明的第二方面,第二种可能的实施情况中,所述步骤:发送命令到MCU,MCU对命令进行解析,确定待升级芯片,还包括:
若确定升级HDMI延长器芯片阵列和/或HDBT发送器芯片阵列中的待升级芯片,则MCU通过UART将命令信息数据发送给FPGA芯片;
所述FPGA芯片切换待升级芯片的UART升级接口以接收MCU传输的升级文件;
MCU通过所述UART升级接口将升级数据文件发送给所述待升级芯片。
结合本发明的第二方面的第二种可能的实施情况,第三种可能的实施情况中,所述步骤:若确定升级HDMI延长器芯片阵列和/或HDBT发送器芯片阵列中的待升级芯片,则MCU通过UART将命令信息数据发送给FPGA芯片,包括步骤:
若确定升级HDMI延长器芯片阵列中的待升级芯片,则将所述FPGA芯片通信连接;
所述FPGA芯片通过所述通信连接控制所述待HDMI延长器芯片阵列中的待升级芯片复位和操作模式控制管脚的时序。
结合本发明的第二方面,第一种可能的实施情况中,所述步骤:发送命令到MCU,MCU对命令进行解析,确定待升级芯片,还包括:
若确定升级FPGA芯片,则将FPGA功能单元中的FPGA配置芯片通过四路二选一模拟开关分别与MCU和FPGA芯片的SPI接口连接;
MCU将FPGA芯片的配置控制脚保持在高电平,同时控制所述四路二选一模拟开关将SPI接口连接到FPGA配置芯片;
MCU更新升级FPGA配置芯片的数据;
MCU将FPGA芯片的配置控制脚输出一超过1微秒的低电平脉冲,同时控制模拟开关将FPGA的四个配置管脚连接到配置芯片;
FPGA芯片从所述FPGA配置芯片读取升级后的配置文件。
实施本发明所述的基于MCU和FPGA的远程电子系统升级装置及方法,通过将所有需要待升级芯片的升级接口通过MCU和FPGA的相应软件统一进行管理,同时通过局域网链接以进行远程操作升级。现有技术中将待升级芯片的每个升级接口通过在PCB板上预留硬件接口,打开外壳连接升级的硬件工具,PCB板上的硬件接口和计算机对每一个待升级的芯片逐个进行手动升级。上述硬件电子系统升级时耗时费力、人工成本和时间成本高且相对复杂,本申请解决了上述问题,极大的提高了生产效率,方便了产品迭代升级和系统维护。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中的一种基于MCU和FPGA的远程电子系统升级装置第一实施例组成连接示意图;
图2为为本发明中的一种基于MCU和FPGA的远程电子系统升级装置第二实施例组成连接示意图;
图3为本发明中的一种基于MCU和FPGA的远程电子系统升级方法第一实施例示意图;
图4为本发明中的一种基于MCU和FPGA的远程电子系统升级方法第二实施例示意图;
图5为本发明中的一种基于MCU和FPGA的远程电子系统升级方法第三实施例示意图;
图6为本发明中的一种基于MCU和FPGA的远程电子系统升级方法第四实施例示意图;
图7为本发明中的一种基于MCU和FPGA的远程电子系统升级方法第五实施例示意图;
附图编号说明:100——MCU、200——FPGA功能单元、210——FPGA芯片、220——FPGA配置芯片、230——四路二选一模拟开关。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明要解决的技术问题在于,现有的电子系统升级时耗时费力、人工成本和时间成本高且相对复杂的问题。
针对上述问题,提出一种基于MCU100和FPGA的远程电子系统升级装置,通过将所有需要待升级芯片的升级接口通过MCU100和FPGA的相应软件统一进行管理,同时通过局域网链接以进行远程操作升级,解决了上述问题。
系统实施例1,如图1,图1为本发明中的一种基于MCU100和FPGA的远程电子系统升级装置第一实施例组成连接示意图。
一种基于MCU100和FPGA的远程电子系统升级装置,包括MCU100、FPGA功能单元200、第一待升级芯片及第二待升级芯片,FPGA功能单元200包括FPGA芯片210。第一待升级芯片及第二待升级芯片分别设有升级接口,并通过升级接口与FPGA芯片210通信连接。
MCU100用于将局域网传输过来的网络数据包解析为特定芯片升级所需的对应的命令和数据,对FPGA芯片210及FPGA芯片210连接的待升级芯片进行升级;FPGA功能单元200,用于解析升级命令帧, 并将通信接口切换到待升级芯片的升级接口,MCU100将升级文件直接通过FPGA芯片210发送到相应的芯片升级接口。
系统实施例2,图2为为本发明中的一种基于MCU100和FPGA的远程电子系统升级装置第二实施例组成连接示意图。
FPGA功能单元200还包括四路二选一模拟开关230及FPGA配置芯片220,FPGA配置芯片220通过SPI接口与四路二选一模拟开关230的四个漏极端管脚连接,四路二选一模拟开关230的源极端的各四个管脚分别连接FPGA芯片210的四个配置管脚和MCU100的SPI接口。
在判定是升级FPGA芯片210时(FPGA芯片210是通过更新外部FPGA配置芯片220FLASH芯片的数据实现升级,同时FPGA配置芯片220的SPI接口连接到二选一四路模拟开关的四个漏极端管脚,同时两个源极端的各四个管脚分别连接FPGA芯片210的四个配置管脚和MCU100的SPI接口上)。MCU100将FPGA芯片210的配置控制脚保持在高电平,同时MCU100控制模拟开关将其SPI接口连接到FPGA配置芯片220flash,通过更新FPGA配置芯片220的数据实现FPGA芯片210配置文件的更新升级。MCU100将FPGA芯片210的配置控制脚输出一个超过1微秒的低电平脉冲,同时控制模拟开关将FPGA芯片210的四个配置管脚连接到配置芯片,FPGA芯片210便可进入从FPGA配置芯片220读取更新升级后的配置文件并重新进入正常工作模式。
本实施例中,第一待升级芯片及第二待升级芯片分别为HDMI延长器芯片阵列及HDBT发送器芯片阵列。
进一步地,HDMI延长器芯片阵列及HDBT发送器芯片阵列分别由8个HDMI延长器芯片及8个HDBT发送器芯片两两组成。
进一步地,HDMI延长器芯片阵列及HDBT发送器芯片阵列的升级接口为16个UART接口。
在一个音频系统实施例中,MCU100将局域网传输过来的网络数据包解析后,网络数据包包括命令数据,MCU100判定命令如果是HDMI延长器芯片阵列的8个HDMI延长器芯片和HDBT发送器芯片阵列的8个HDBT发送器芯片时,就通过UART将其中的命令和数据发送给FPGA芯片210。
FPGA芯片210解析升级命令帧,将待升级芯片对应的UART切换到与MCU100相连的UART直连,接着MCU100将升级数据文件通过该UART直连发送给待升级芯片。
在对HDMI延长器芯片升级时,除了UART升级接口需要连接到FPGA芯片210之外,还需要FPGA芯片210控制其复位和操作模式管脚的时序,便于其进入正确的升级模式和升级后正常复位。HDBT发送器芯片则只需连接UART到FPGA芯片210即可。
方法实施例1,如图3,图3为本发明中的一种基于MCU100和FPGA的远程电子系统升级方法第一实施例示意图,整体实施方式。
一种基于MCU100和FPGA的远程电子系统升级方法,包括步骤:
S1、发送命令到MCU100,MCU100对命令进行解析,确定待升级芯片。
S2、MCU100解析从局域网接收升级文件数据包。
S3、根据解析出来的升级文件数据包对待升级芯片进行升级。
自带网络接口的MCU100将局域网接入系统内并将相关的升级命令和文件从局域网上截取后通过通信通道发送给FPGA芯片210,FPGA芯片210则连接装置内需要升级的所有芯片的UART升级接口,然后通过解析MCU100发来的命令切换到相应的芯片的升级接口。MCU100将升级文件直接通过FPGA芯片210发送到相应的芯片升级接口实现该芯片的软件升级,最后就可以切换到下一个芯片的升级状态并重复以上流程,直到完成除MCU100和FPGA芯片210之外所有需要升级的芯片完成升级为止。
方法实施例2,如图4,图4为本发明中的一种基于MCU100和FPGA的远程电子系统升级方法第二实施例示意图,MCU100升级方法实施方式。
S11、若确定对MCU100本身进行升级,则从局域网接收升级文件数据包。
S12、对MCU100软件进行更新升级后,自动复位后恢复工作状态。
在判定是升级MCU100自身时,则更新MCU100的软件后自动复位并进入工作状态。
方法实施例3,如图5,图5为本发明中的一种基于MCU100和FPGA的远程电子系统升级方法第三实施例示意图,HDMI延长器芯片阵列和/或HDBT发送器芯片阵列升级方法实施方式。
S13、若确定升级HDMI延长器芯片阵列和/或HDBT发送器芯片阵列中的待升级芯片,则MCU100通过UART将命令信息数据发送给FPGA芯片210。
S14、所述FPGA芯片切换待升级芯片的UART升级接口以接收MCU传输的升级文件。
S15、MCU100通过UART升级接口将升级数据文件发送给待升级芯片。
方法实施例4,如图6,图6为本发明中的一种基于MCU100和FPGA的远程电子系统升级方法第四实施例示意图,HDMI延长器芯片阵列升级方法具体实施方式。
包括:S131、若确定升级HDMI延长器芯片阵列中的待升级芯片,则将FPGA芯片210通信连接;
S132、所述FPGA芯片210通过所述通信连接控制所述待HDMI延长器芯片阵列中的待升级芯片复位和操作模式控制管脚的时序。
在音频系统实施例中,MCU100将局域网传输过来的网络数据包解析后,网络数据包包括命令数据,MCU100判定命令如果是HDMI延长器芯片阵列的8个HDMI延长器芯片和HDBT发送器芯片阵列的8个HDBT发送器芯片时,就通过UART将其中的命令和数据发送给FPGA芯片210。对HDMI延长器芯片升级时,需要FPGA芯片210控制其复位和操作模式管脚的时序,便于其进入正确的升级模式和升级后正常复位。而HDBT发送器芯片则只需连接UART到FPGA芯片210即可。
方法实施例5,如图7,图7为本发明中的一种基于MCU100和FPGA的远程电子系统升级方法第五实施例示意图,对FPGA芯片210升级方法实施方式,包括:
S16、若确定升级FPGA芯片210,则将FPGA功能单元200中的FPGA配置芯片220通过四路二选一模拟开关230分别与MCU100和FPGA芯片210的SPI接口连接;S17、MCU100将FPGA芯片210的配置控制脚保持在高电平,同时控制四路二选一模拟开关230将SPI接口连接到FPGA配置芯片220;S18、MCU100更新升级FPGA配置芯片220的数据;S19、MCU100将FPGA芯片210的配置控制脚输出一超过1微秒的低电平脉冲,同时控制模拟开关将FPGA的四个配置管脚连接到配置芯片;S20、FPGA芯片210从FPGA配置芯片220读取升级后的配置文件。
实施本发明的基于MCU100和FPGA的远程电子系统升级装置及方法,通过将所有需要待升级芯片的升级接口通过MCU100和FPGA的相应软件统一进行管理,同时通过局域网链接以进行远程操作升级。现有技术中将待升级芯片的每个升级接口通过在PCB板上预留硬件接口,打开外壳连接升级的硬件工具,PCB板上的硬件接口和计算机对每一个待升级的芯片逐个进行手动升级。上述硬件电子系统升级时耗时费力、人工成本和时间成本高且相对复杂,本申请解决了上述问题,极大的提高了生产效率,方便了产品迭代升级和系统维护。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。