九江精密测试技术研究所 苏长青 贺 楠 李大琦 马晓天 蒋礼威
为解决产品发布后FPGA软件的更新维护问题,提出了一种FPGA在应用编程技术的实现方法。通过在FPGA中嵌入Nios II软核处理器,并为其扩展片上存储器、FLASH控制器与UART控制器等外设,构建出一个完整的片上系统,从而实现通过串口接收外部发送的FPGA配置程序文件,并将其写入FPGA配置芯片的功能,为FPGA的IAP技术提供了一种低成本的实现方式。该方案占用的FPGA资源很少,不需要增加专门的硬件电路,软件开发也非常简单,通用性很强,具有很好的实用性。
随着嵌入式技术的不断发展,产品更新换代越来越快,新产品发布周期不断缩短,产品发布后FPGA软件的更新维护成了一个必须解决的问题。产品返厂维护或者技术人员去用户现场维护将耗费大量的人力财力,因此必须寻找一种简单易行、成本低廉的程序更新方法。
传统的程序烧录技术为在系统编程技术ISP(In-System Programming),就是允许芯片不从印制电路板上取下,就可以简单而方便地对其进行编程,多用于产品开发阶段。目前市面上的FPGA芯片已经集成了ISP的功能,通常使用USB Blaster等专用仿真器通过JTAG接口烧录程序,该种方式需要使用芯片厂商提供的专用软件开发环境如Quartus II等,往往操作复杂,对维护人员的技术水平要求较高。
目前,在应用编程技术IAP(In-Application Programming)正变得越来越流行。该技术同样是在板级上进行编程,但是可以在程序运行过程中获取新程序并进行更新,典型的实现途径是在程序中包含一小段代码来完成程序烧录的功能,该种方式多用于产品维护中的软件升级、消除BUG等,操作简单,不需要产品返厂维护或技术人员去用户现场维护。……