在单片机设计当中,ISP和ICP是两个比较常见且重要的概念。ISP能够让单片机通过采用简单的方式来擦除或写入电路板上的程序,并能够进行在线调试。ICP也是比较常见的一种烧录程序。对于新手来说,对于这两种方式具有较大混淆性。
本篇文章主讲MCU当中这两种烧录方法的区别,帮助各位新手进行理解。
在开发阶段
改code时, 不再需要将MCU从板子上拔起来, 拿到烧录器上烧, 然后再装回去。可以直接利用ISP/ICP Programmer做板上烧录, 为开发者提供了极大的便利性。
在量产阶段
客户可以采用”先焊到板子上再烧code”的方式, 将烧code的动作安排在生产线的某一站。
那么传统的方式 (先将code烧好再焊到板子上)有什么缺点?
传统的方式是这样的: 拆封-->从tray盘取出chip-->烧录-->把chip放回tray盘。
这样的流程比起上面建议的方式: 增加了烧录时间, 容易造成QFP包装的chip弯脚, 或忘了烧code即放回tray盘。
在成品阶段
已组装好的成品若要改code,可以透过预留的接口,利用ISP或ICP,更新MCU,不需要拆机。
什么是 IAP?
IAP指的是,MCU在运行的状态下,利用ISP的机制,不透过外接工具 (例如: ISP Programmer)的帮忙,去更新APROM,DataFlash或CONFIG。要实现这种功能,系统必须有取得更新数据的能力,例如: 处于某一种联机的状态。(注: 有时候, ISP/IAP的分别并不是那么清楚)
ISP与ICP的差别
For ISP
MCU必须处于可执行程序的状态(除了上电,还要接XTAL), 且必须预烧ISP-code在LDROM里面
烧录范围只限于APROM, DataFlash或CONFIG (但对使用者来说, 应经够了!)
chip在LOCK的状态下, 仍然可以只更新某一区块 (APROM, DataFlash或CONFIG)
因为烧录的动作取决于ISP-code的写法, 所以给系统设计者的弹性较大
For ICP
MCU只要处于上电状态即可,不必预烧任何code在MCU里面。烧录范围涵盖整颗MCU, 包括 APROM, DataFlash, CONFIG, LDROM和 ROMMAP chip在LOCK的状态下, 无法只更新某一区块,只能在erase-ALL之后,更新某一区块,再逐一烧回其它区块(因为ICP的本质就是走串行接口的Writer Mode, chip被LOCK之后,除了erase-ALL,所有烧录动作皆会被禁止)。因为烧录纯粹是ICP硬件的行为, MCU无法自己更新自己, 所以给系统设计者的弹性较小(例如: 无法藉由ICP去实现IAP的功能)
ISP与ICP的使用场合
从单片机的使用场合来说,要根据其不同的特性来进行安排,按照客户的系统需要,来为客户推荐ISP或ICP。从使用者的角度来说,如果必须要在ISP与ICP当中选择一款来使用的话,那么ISP会是最优的选择。
关键字:单片机 ICP ISP
引用地址:
单片机当中ICP与ISP有哪些不同
推荐阅读最新更新时间:2024-03-16 14:33
RS-232接口与单片机串行通信程序
单片机的串行口是非常有用的,通过他我们可以把单片机系统的数据传回电脑处理或者接受电脑传过来的数据而进行相应的动作,下面我就给大家介绍上一下电脑的RS-232接口与单片机串行通信程序设计方法,www.51hei.com上还有很多这样的文章大家去搜索下。 RS-232简介: 在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯.RS-232-C接口(又称EIA RS-232-C)是目前最常用的一种串行通讯接口. ("RS-232-C"中的"-C"只不过表示RS-232的版本,所以与"RS-232"简称是一样的)它是在1970年由美国电子工业协会(EIA)联合贝尔系统,调制解调器厂家及计算机终
[单片机]
基于单片机的智能化模拟信号预处理系统
1 引 言 由传感器输出的模拟信号一般要作放大、衰减、滤波等预处理之后,才能送入ADC进行模/数转换。在自动控制、智能仪表等领域中,要求这一处理过程可由软件控制,自动调整放大或衰减倍数,设置低通滤波器的截止频率,并且,还要将这些参数传送给CPU,以便修正测量结果;大多数市售的成品数据采集板都不具备模拟信号的预处理功能,使用时必须外接人工控制的放大、滤波装置,无法实现自动化。作者正是为了解决这些问题,才开发了这套基于单片机的智能化模拟信号预处理系统,当然,该系统也可以作为一般的放大器、滤波器使用。 2 硬件电路 图1为模拟信号预处理电路的简图。由双电流输出型DAC芯片AD7528和运放构成程控放大/衰减器,其原理是利用
[单片机]
80C51单片机模仿实例100—1 LED闪烁
为了保存住假期里学习过的单片机,尽量做到一个星期模仿一个实例,也是进一步学习Proteus。 今天编写的是LED间隔闪光,时间为1S,仿真软件Proteus。 /* Main.c file generated by New Project wizard * * Created: 周六 11月 25 2017 * Processor: 80C52 * Compiler: Keil for 8051 * Author: Chenchong */ #include #include #define uchar unsigned char #define uint unsigned int sbit LED
[单片机]
沁恒股份多接口单片机CH549概述
概 述 CH549是一款兼容MCS51的增强型E8051内核单片机,79%的指令是单字节单周期指令,运行速度快,内置60KB Flash-ROM,2K+256B RAM。 CH549 内嵌USB控制器和USB收发器支持 USB-Host 主机模式和 USB-Device 设备模式,支持 USB 2.0 全速 12Mbps 或者低速 1.5Mbps,支持USB PD和Type-C。支持最大 64 字节数据包,内置 FIFO,支持 DMA。 CH549提供丰富的接口资源,包括4组异步串口、8路PWM和16通道电容触摸按键,其它包括1路主从SPI,16路12位ADC,支持电压比较;内置3组定时器和3路信号捕捉;支持最多44个GP
[单片机]
单片机系统中液晶显示器的接口设计
引言 由于液晶显示器(LCD)具有显示功耗低、体积小、重量轻、超薄等许多其他显示器无法比拟的优点,在低功耗等单片机系统中被广泛采用。LCD可分为段位式LCD、字符式LCD和点阵式LCD,其中,段位式LCD和字符式LCD只能用于字符和数字的显示。本文介绍段位式液晶显示器EDS806和EDS812,给出了它与单片机的接口及编程方法。 显示数据图中,单片机(可以选择51系列中的一种,图中省略)内经过程序处理后,输出显示信号送到P1口(数据4位,选择信号4位)。数据中4位送入MC14543(BCD --锁存/ 7段译码/ 驱动动器)中,经过译码形成MC14543的输出端a、b、c、d、e、f、g分别接到8位EDS806和3位的EDS8
[单片机]
8位共阳数码管74HC595芯片AVR单片机控制 proteus仿真及源码
刚入门AVR单片机一段时间,感觉资料很少,所以进度很慢,刚才百度到这里来,现上传一个数码管的程序来和大家分享,高手就跳过吧,初学可以下载来做参考 proteus仿真原理图: 单片机源程序: /* * smg8_avr.h * * Created: 2017/3/16 1:54:20 * Author: lyl */ #ifndef SMG8_AVR_H_ #define SMG8_AVR_H_ #include lyl_avr.h //数码管端口定义 #define smgPORT PORTA #define smgPORT_DDR DDRA #define DS PA5//串行数据输入端口 #define S
[单片机]
如何将STM32单片机中的函数调用到入口参数
STM32—数组作为被调用函数的入口参数时,要两个条件, 1:数组首地址 2:数组长度 在被调用函数中,比如把数据保存到数组pbuffer[ ]中,那么在入口参数定义时要定义成指针u8 *pbuffer, 而在调用时,比如要保存到tab[ ]中,要在入口参数处强制转换成(u8 *)tab
[单片机]
一文详解80C51单片机的中断系统
中断系统是计算机或者单片机的主要功能部件。 有了中断系统,便可以使微处理器具备对外部的异步事件进行处理的能力。 当微处理器的CPU正在执行程序的过程中,如果外部硬件或者内部组件有紧急的请求(如通信,断点,发生重大故障等),中断系统就可以将当前的程序暂停,优先处理这些中断请求。 这种处理方式,对整个系统的稳定性,健壮性至关重要,同时也能大大提高处理器的效率,使得系统的应用更加灵活多变。 中断的概念 中断是指单片机在执行程序的过程中,当出现异常情况或特殊请求时,单片机停止当前程序的运行,转向对这些异常情况或特殊请求进行处理,当处理结束后再返回原程序的间断处,继续执行原程序,这一现象称为中断。 中断是单片机实时处理内部或外部事件的一
[单片机]