ISP,是单片机中常用的编程方式中的一种。其全称为In-System Programming,意为在线编程,也有将其称为In-Circuit Programming或即插即用编程,有别于芯片出厂前的加特罗(AT)编程。
ISP技术是在设计好的电路板上,通过程序下载器来动态下载程序到单片机(microcontroller,缩写:MCU)的Flash、EPROM、EEPROM、配置字等储存器中,实现在线编程。
单片机ISP技术具备许多优点,比如代码调试时不需要拆下芯片,不会损坏PCB板;可以提高单片机的生产效率,还可以代替编程器,降低生产成本;ISP可实现软件、硬件分离,使工艺流程更简单,代码改变变得非常方便,同时对硬件部分造成非常小的影响。
然而,如果需要下载的单片机被烧毁,ISP编程也就无法实现了;而且在线编程也存在安全隐患,如果攻击者未经授权就能够利用在线编程接口访问单片机,就有可能会发生非常严重的信息泄露。
ISP是在线编程,即在运行时进行,使得程序调试和产品制造更加方便,其操作步骤如下:
第一步是准备好特定芯片的编程器和编程软件,在线编程需要的烧写器具有能力读取要烧录到芯片的程序或数据,并将其通过特定的接口连接到芯片的编程控制端口上。
将芯片插入编程器的ZIF插座中( ZIF表示“零插力”(Zero Insertion Force),是指通过轻松的手部压力固定和释放插件的插座机制),然后通过编程器把芯片上的程序或数据下载到PC机中。
将准备好的ISP编程器从电脑上移除,将其连接到电路板上的目标芯片的编程接口上,在线编程启动时,将启动编辑器并将其加载到编程器中,启动编辑器中的ISP功能以进行编程。
ISP烧录技术在电子制造业和各个行业中都有广泛的应用。特别是在微处理器、单片机等各种小型控制板中,ISP均是非常重要的程序烧写技术之一。比如:在产品员工调试和批量生产过程中,ISP技术可以让印刷电路板上的程序进行修整,顺利地实现批量生产;而在电子游戏机器中,ISP技术则可以批量烧写游戏程序。
同时,在教育领域,ISP技术也被广泛应用到单片机的编程教学中,便于教师和学生更好地掌握编程知识。