论文部分内容阅读
随着芯片集成技术的高速发展,以单片机、嵌入式处理器、数字信号处理器(DSP)为核心的嵌入式系统乃至于集成度更高的片上系统(SoC)以其软硬件可裁剪、高度的实时性、高度的可靠性、功能齐全、低功耗、适应面广等诸多优点而活跃在国防、工业、商用、医疗、家用等国民经济及社会生活各个领域中。本论文即来源于笔者实习所在公司的一个SoC芯片的设计项目,而笔者在这个项目中主要负责的是设计“嵌入式ISP/IAP”功能的IP核,使之具有在线编程的能力。ISP/IAP技术是未来仪器的发展方向。它们的出现为电路与系统的设计、生产制造以及日后的软件更新升级带来了翻天覆地的变化。
ISP技术和IAP技术既有区别又有联系,它们都属于在线编程的范畴。其中,ISP(In-System Programming:在系统编程)技术是由Lattice半导体公司首先提出,是指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。执行ISP时需要简单的硬件资源用以将芯片和上位机联系起来。编程、更新的命令和数据均来自上位机;而IAP(In-Application Programming:在应用编程)的概念最早由SST公司提出的,是指MCU可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序,也就是所谓的 “在应用中编程或升级代码”。有别于ISP技术,这种方式编程时的数据和命令是来自芯片正在运行的应用程序的。
本文的核心在于对现有的基于“Rom+Flash”双存储单元的嵌入式ISP/IAP技术模式进行分析后,提出了基于单一Flash存储单元的方案,以及对于这种改进型设计的详细论述和软硬件协同设计实现。所采用的设计语言主要是VerilogHDL和汇编,而设计及仿真工具则是KeilC以及Sysnopsys公司的VCS、DCCompiler等IC设计工具。
由于种种原因,现有多数与ISP/IAP技术有关的文章都着重于介绍其应用,而关于该技术设计实现的理论文章少之又少,本文的研究内容提供了一种经过仿真验证之后证实可行的实现方案以供参考,或多或少的填补了这方面的空白。