DAB接收机USB固件升级的实现

分享到:
223
下一篇 >
    1.引言

  固件(Firmware)我们通常理解为软件,由于集成电路的发展,目前的固件多以FLASH为载体,它与我们通常所说的程序的区别已经越来越小。固件升级实际上就是用新的固件程序重写FLASH的过程,升级固件变得越来越简单。

  在用户使用过程中,一旦系统提供产品固件更高的版本,就要求产品能够通过固件升级程序对原有固件进行升级,而设备固件升级(Device Firmware Upgrade,DFU)正是能够完成这种任务的一种机制。随着USB技术的发展,USB设备的更新速度越来越快,通过USB接口来升级产品的固件是一种实用高效的方法。本文的主要研究内容就是在自主开发的DAB接收机的基础上,通过USB接口实现接收机的DFU.

  2.固件升级

  本文提出的固件升级方法利用PC机通过USB接口与DAB接收机进行通信,并在此基础上完成DFU的各种操作,基本结构如图1所示。

  随着科技的不断进步,生产厂商很难满足用户多元化的需求,更多的厂商把升级固件以提供更多更新的功能作为附加值来提供给用户。

  在产品上市后,生产厂商对产品程序做了进一步的优化和改进,这时候需要升级产品的固件以提升产品的性能。对于已经开发出的软件,有可能存在一些BUG,生产厂商也可以通过固件升级来修正以前版本中存在的错误。

  3.DFU实现流程

  接收机DFU的实现参照USB固件升级的标准流程,接收机通过USB线缆与PC机相连,在PC机上执行固件更新的相关操作,完成接收机的固件升级,整个过程遵循枚举,重配置,传输,显示四个阶段,具体的实现过程如图2所示。

  **阶段为枚举阶段,接收机正常运行过程包括两套不同的描述符:DFU模式描述符和正常运行描述符。接收机正常运行时,列举出DFU模式描述符并向主机表明其具备可实现DFU的能力。

  **阶段为重配置阶段,接收机和主机达成一致发起固件升级。主机给接收机发送一个USB重置请求,接收机接收到后,切换到固件升级模式,屏蔽正常工作模式,并为下一阶段做好准备。

  第三阶段为传输阶段,主机通过特定的软件将固件升级的文件传送给接收机,在功能描述符中定义的参数可以正确的保证块的大小以及在内存中重新编译的时间。

  第四阶段为显示阶段,接收机通知主机已完成重新编译,主机发送一个USB复位请求给接收机,接收机重启后,重新执行枚举阶段,并执行已经更新的固件程序。

你可能感兴趣: 嵌入式 图片 集成电路
无觅相关文章插件,快速提升流量