[应用方案] ISP与IAP的区别

[复制链接]
277|5
 楼主 | 2018-12-27 18:24 | 显示全部楼层 |阅读模式
ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。IAP(In-Application Programming) 指MCU可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。ISP和IAP技术是未来仪器仪表的发展方向。
 楼主 | 2018-12-27 18:24 | 显示全部楼层
  1   ISP和IAP的工作原理

   ISP的实现相对要简单一些,一般通用做法是内部的存储器可以由上位机的软件通过串口来进行改写。对于单片机来讲可以通过SPI或其它的串行接口接收上位机传来的数据并写入存储器中。所以即使我们将芯片焊接在电路板上,只要留出和上位机接口的这个串口,就可以实现芯片内部存储器的改写,而无须再取下芯片。

   IAP的实现相对要复杂一些,在实现IAP功能时, 单片机内部一定要有两块存储区,一般一块被称为BOOT区,另外一块被称为存储区。单片机上电运行在BOOT区,如果有外部改写程序的条件满足,则对存储区的程序进行改写操作。如果外部改写程序的条件不满足,程序指针跳到存储区,开始执行放在存储区的程序,这样便实现了IAP功能。

使用特权

评论回复
 楼主 | 2018-12-27 18:25 | 显示全部楼层
   2   ISP和IAP在单片机中的应用

   2.1 传统编程方法的不足

   在一般的单片机的实验或开发时,编程器是必不可少的装置。仿真、调试完的程序需要借助编程器烧到单片机内部或外接的程序存储器中。普通的编程器价格从几百元到几千元不等,对于一般的单片机用户来说还是一笔不小的开支。另外,在开发过程中,程序每改动一次就要拔下电路板上的芯片编程后再插上,这样不但麻烦也很容易对芯片和电路板造成损伤,另外在程序需要升级做改动时,必须将设备返厂或是技术人员到现场操作,既不方便也造成成本浪费。

   2.2 ISP和IAP的优点

   ISP技术的优势是不需要编程器就可以进行单片机的实验和开发,单片机芯片可以直接焊接到电路板上,调试结束即成成品,免去了调试时由于频繁地插入取出芯片对芯片和电路板带来的不便。

   IAP技术是从结构上将Flash存储器映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将程序从一个存储体转向另一个。

   ISP的实现一般需要很少的外部电路辅助实现, 而IAP的实现更加灵活,通常可利用单片机的串行口接到计算机的RS232口,通过专门设计的固件程序来编程内部存储器,可以通过现有的INTERNET或其它通讯方式很方便地实现远程升级和维护。

使用特权

评论回复
 楼主 | 2018-12-27 18:25 | 显示全部楼层
   2.3 产品分析

   目前市场上不少的单片机具有ISP和IAP功能。

   ST公司的μPSD32××系列单片机片内带128KB/256KB的FLASH存储器及32KB Boot ROM,通过JTAG串行口能很容易地实现ISP功能。IAP功能则可由用户在应用中实现。

   ATMEL公司的单片机AT89S8252,提供了一个SPI串行接口对内部程序存储器编程(ISP)。SST公司的单片机SST89C54,其最大的特点内部有两块独立的FLASH存储器,具有IAP(应用中在线编程)功能,对于8052系列的其它公司的单片机(ATMEL、 WINBOND、ISSI)可以直接代换,软硬件无须做任何改动。

   PHILIPS公司的P89C51RX2xx系列是带ISP/IAP的8位Flash单片机。PHILIPS公司为了使ISP技术和IAP技术得以推广,在芯片上免费提供了Boot ROM固件,并且巧妙地解决了固件和FLASH的地址覆盖问题及一些具体实现细节问题,使它们的实现变得简单。

   此外在外围器件中ST公司的PSD系列产品片内带大容量存储器,支持ISP及IAP功能。

使用特权

评论回复
 楼主 | 2018-12-27 18:28 | 显示全部楼层
ISP,In System Programing

       主要是指代芯片的烧写方式,以往写片子需要把片子拿下来,离开电路,用

     编程器烧,换句话说,芯片不能不脱离应用系统进行写入。

       ISP 主要针对这个问题,使用JTAG或者串行口(MCU 内部有Boot Loader ,

     通过指定的方式激活之,它可以和PC或其它上位机通过串口联系,不用使单片

     机离开应用系统而更新内部的程序/设置)进行程序的烧写操作。

       因此,具有ISP 功能的MCU 可以不使用编程器进行编程。当然,实现ISP 可

     能需要一些硬件电路支持,具体的在数据手册中有说明。

IAP,In Application Programing

       单片机内部具有一些可擦写的非易失存储器,如Flash。在单片机独立运行时,

     不具备IAP 功能的单片机并不能对Flash的数据进行修改,比如,对自身的某一

     个模块的代码,数据进行修改。

       具备了IAP 功能的MCU ,能够通过使用各自公司开发的技术,对于自身进行修

     改。

简言之:ISP=>修改MCU 内部数据需要有外部介入;

           IAP=>修改MCU 内部数据可以不用外部介入。

使用特权

评论回复
| 2019-1-5 16:27 | 显示全部楼层
了解了  感谢分享啊

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表