AVR芯片的ISP全攻略+熔丝补救方法,请各位指正 (www.ourdev.cn)
你尚未登录 |登录 |快速注册 |退出 首页 酷贴 搜索 在线 本网站由阿莫电子邮购独家赞助
AVR (原ourAVR.com) 技术论坛 -> 分类清单 -> AVR芯片的ISP全攻略+熔丝补救方法,请各位指正 跳转至: 未登录
↓↓ AVR芯片的ISP全攻略+熔丝补救方法,请各位指正 回复数:148,点击数:41664
抱歉本贴的回复数太多,为了减轻网络流量,只显示帖子正文的前后各10个回复。本贴的正文内容中间隐藏了128个回复。你需要 点击此处 才能查看全部内容。
对为你带来的访问不便表示歉意。不过我们仍会坚持即使没有登录,仍能共享我们网站的所有资料。你没有 登录后就能消除这个访问上的不便(可增加到显示60个回复)。
如果你是新用户请先 注册。注册是免费的,并且手续简单只需要填写用户名与口令。
↓↓↓↓↓↓↓↓↓↓↓↓
【楼主位】 HJJourAVR
积分:4933
派别:
等级:------
来自:
AVR芯片的ISP全攻略



并行编程,最早的编程方法,功能最强大,但需要连接较多的引脚,通常需要12V~24V的高压,以示区别,下面称为 高压并行编程。 

ISP(In System Programmability)  在系统编程,简称为 串行下载

IAP(In Application Programing)  在应用编程,BootLoader也是类似的意思



1 ISP虽然利用了SPI接口(例外:M64/M128为UASRT0接口,Tiny13等没有SPI接口)的引脚,但只在复位时起作用,而且下载完成后合格的下载器会自动断开端口的连接,对正常工作时没有影响的( 在产品应用中,下载器一定是不会一直粘在上面的)。

2 虽然高压并行下载能修复任何熔丝位,但对于贴片封装来说是很不现实的,所以ISP接口是最常用的下载方式了

3 虽然IAP是一种新的升级方法,但IAP程序本身也是要先用高压并行下载或ISP来烧进芯片里面才行

4 Tiny13等少管脚AVR芯片因为管脚实在太少了,有ISP,但没有[高压并行编程]而特制了[高压串行编程] 



所以,产品上一般都留有ISP接口插座,或更省位置的----留6个焊盘就行了





ISP的工作前提 

    1 芯片没有物理损坏

    2 芯片的SPIEN熔丝位=0    使能ISP功能

    3 芯片的RSTDISBL熔丝位=1 RESET引脚有效 (假如芯片有这个熔丝位)

    4 线路正常---------接错线? 短路?

    5 下载器正常-------特别要考虑 连线的接触不良问题

    6 电源





   运行时钟      ISP时钟(必须低于运行时钟的1/4)

    4096Hz        <1024Hz       //很变态的用法,外接32.768KHz晶体+CKDIV8 ,不过AVRISP还是提供了603Hz这个速度了

                                //另一简易解决办法是 下载时在32.768KHz晶体并联一个1MHz晶体,双龙的下载线就配有一个8MHz的石英晶体

   32768Hz        <8192Hz

     128KHz       < 32KHz       //内部RC128KHz

     1.0MHz       <250KHz       //默认值(包括8MHz+CKDIV8),所以AVRISP的ISP速度多为230KHz

     8.0MHz      <2000KHz

    16.0MHz      <4000KHz

运行时钟不等于震荡器的频率,因为部分AVR芯片有系统时钟预分频器,可以对震荡器进行1~256分频

CKDIV8熔丝位决定CLKPS位的初始值。

若CKDIV8未编程,CLKPS位复位为“0000”;若CKDIV8 已编程,CLKPS 位复位为“0011”,给出启动时分频因子为8



AVRISP可提供的ISP时钟 921.6KHz,230.4KHz, 57.6KHz,28.8KHz,4.0KHz, 603Hz

STK500可提供的ISP时钟 1.845MHz,460.8KHz,115.2KHz,57.6KHz,4.0KHz,1206Hz



   时钟设定      ISP方案

   内部RC        选择合适的ISP速度

   外部RC        接上合适的电阻和电容,选择合适的ISP速度。------补救: 外部时钟源接到XTAL1

                 外部RC 根本就没有什么意义,频率精度/稳定度不高,成本也没有降低,所以新的AVR芯片已经没有这个选项了。

                 各位网友要注意的是错误设定后补救方法

   外部晶体      接上合适的晶体,选择合适的ISP速度。      ------补救: 外部时钟源接到XTAL1

   外部时钟      接上合适的时钟源,选择合适的ISP速度。    ------补救: 外部时钟源接到XTAL1

外部时钟源可以是 外部(4MHz)有源晶体输出,其他MCU的XTAL2脚,各种方波振荡电路(NE555)输出等





大部分AVR芯片的ISP端口是  SCK,MOSI,MISO,RESET

而M64/M128的ISP端口是     SCK, PDI, PDO,RESET


     而且M64/M128出厂默认兼容M103----熔丝位M103C=0,很多新特性不能使用,程序也可能不能正常运行

     ----因为C编译器通常默认自动把SP指向SRAM的末端,M103=0x0FFFH, M64/M128=0x10FFH,必然出错!





AVR的所有熔丝位均是: 

   1 未编程,多为不起作用的意思。 

   0   编程,多为  起作用的意思。 


  基于可编程工艺的都是这样: 

  PROM/EEPROM/FLASH都是出厂时和擦除后变为全1(0xFF)的,要编程才能变成0。 

  反过来就是了,跟CE/OE/INT都是[低电平有效]一样,都是很常见。





在ISP模式下永远不能访问(修改)SPIEN位,这是AVR芯片的硬件保护

有独立RESET脚的M16/M32/M64/M128等,在ISP模式下根本就就不会令ISP无效,无论如何修改熔丝位,都能恢复正常。

M8/M48/M88/M168/Tiny系列有RSTDISBL熔丝位可以令导致RESET失效而令ISP无法工作外,其他情况都能恢复正常。



一般来说,只要满足ISP的工作前提,再把XTAL1接到一个4MHz有源晶体的输出,基本是万试万灵的。



不要忘记,并行高压编程的时钟信号也是从XTAL1导入方波信号的。

如果有源晶振的方法不行(除了ISPEN=0,RSTDISBL=0情况外),恐怕高压编程也未必能奏效。









JTAG的影响(M16,M32,M128等):

   JTAG能访问 SPIEN 和 JTAGEN,要是不小心同时改成SPIEN=1,JTAGEN=1,将会导致MCU锁死,需要高压并行编程才能恢复。





DebugWIRE的影响:(M48,M88,M168,T2313等,数据手册里面的资料不是很详细)

   由于DebugWIRE使用RESET脚来通讯,所以跟ISP有所冲突

   可以通过ISP或并行高压编程来使能DebugWIRE功能[即DWEN=0],使能DebugWIRE功能后,ISP功能失效。

   可以通过DebugWIRE来关闭DebugWIRE功能[即DWEN=1],关闭DebugWIRE功能后,如果RSTDISBL=1,SPIEN=0,ISP功能有效。

   比较特殊的是 DebugWIRE调试中,断点的使用会降低Flash 数据记忆时间 DebugWIRE调试用的器件不能发给最终客户。

   JTAG MKII同时具备JTAG/DeubgWIRE/ISP三种功能,可以轻松实现DebugWIRE/ISP的切换。

     (软件需要升级到1.09版以后 即对应AVRstudio 4.12以后版本)

        最新版本 JTAG MK2使用说明中文pdf(20051125)

   设计使用debugWIRE 的系统时,必须进行下面的检查:

   • dW/(RESET) 的上拉电阻不得小于10kΩ。debugWIRE 并不需要上拉电阻

   • 将 RESET 引脚与 VCC 直接连接将无法工作

   • 使用debugWIRE 时必须断开与RESET 引脚连接的电容

   • 必须断开所有的外部复位源



本贴被 hope2008 编辑过,最后修改时间:2010-02-07,18:25:49.
 
2005-11-12,12:49:42
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
【1楼】 andre
积分:120
派别:
等级:------
来自:
佩服,经典啊
我一直不敢进行熔丝位编程,就怕万一锁死芯片就不知该咋办了
我用的是128,很贵的
现在看来万一锁死还有补救的方法啊
我得外部晶振测不到波形,所以不敢选外部时钟
 
2005-11-12,19:48:25
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
【2楼】 JAMESKING

积分:2127
派别:
等级:------
来自:湖南·株洲 单片机和机电控制系统设计与开发
此帖子最好置顶,现在用并口ISP的人特别多,来了个新手就要问一次,比较烦了。
__________________________
韬光养晦,低调做人。

QQ:375084788,由于好友太多,请没需要的朋友不要加我,谢谢。
2005-11-12,20:06:38
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
【3楼】 MyAVR

积分:1037
派别:
等级:------
来自:
这下完了,我还有几个贴在PCB上的M32,

还打算找个串口高压的办法搞过来.

如此看来不行了.
 
2005-11-14,14:10:22
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
【4楼】 machao
积分:5240
派别:
等级:------
来自:
补充一点:

   在硬件电路设计时,芯片的RESET脚不能直接接VCC,应通过一个5.1K电阻接VCC,这样才能保证ISP的正常下载,以及DEBUGWARE的ON CHIP DEBUG 功能的正常使用。
 
2005-11-14,14:28:50
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
【5楼】 1982wjn 金宁

积分:277
派别:
等级:------
来自:
我用的M128接4M有源晶振时熔丝为可以正常烧写,去掉外部晶振后,可以读,但就是写不进去了。
 
2005-11-15,13:29:26
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
【6楼】 HJJourAVR
积分:4933
派别:
等级:------
来自:
【5楼】 1982wjn 金宁:
    芯片的LB2/LB1为何值?必须同时为1才能修改熔丝位!
    先整片擦除再试一下? 
 
2005-11-15,15:06:30
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
【7楼】 benladn911 AVR猎手

积分:2285
派别:
等级:------
来自:孤独地带

在ISP状态下SPIEN选项都是不可修改!
大家能否举例出到底在哪些情况下把芯片锁死了???
我刚学AVR不久,不过我们现在还没锁死过一个芯片~~~~~~~~~~~~~
我的下载工具:并口下载线、STK500下载器(都是自制的)
 
2005-11-17,09:42:57
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
【8楼】 lsdwz414
积分:34
派别:
等级:------
来自:
好的帖子,我正在找补救的方法,我的MEGA64锁死了
 
2005-11-17,10:52:35
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
【9楼】 viaboy
积分:4
派别:
等级:------
来自:
好帖,学习中。。。
 
2005-11-18,10:25:55
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
【10楼】 choicesun
积分:177
派别:
等级:------
来自:
我遇到的情况是在将熔丝位设置成外部时钟时,即CKSEL3..0 编成为 0000时锁死!
准备按HJJourAVR的说法接个有源晶振试试!
 
2005-11-22,10:12:20
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
↑↑↑↑↑↑↑↑↑↑↑↑
抱歉本贴的回复数太多,为了减轻网络流量,只显示帖子正文的前后各10个回复。本贴的正文内容中间隐藏了128个回复。你需要 点击此处 才能查看全部内容。
对为你带来的访问不便表示歉意。不过我们仍会坚持即使没有登录,仍能共享我们网站的所有资料。你没有 登录后就能消除这个访问上的不便(可增加到显示60个回复)。
如果你是新用户请先 注册。注册是免费的,并且手续简单只需要填写用户名与口令。
↓↓↓↓↓↓↓↓↓↓↓↓
【139楼】 xyyjjb
积分:46
派别:
等级:------
来自:
各位大侠,手头有块Atmega48目标板,一插上Jtag MKII 克隆板,目标板电源就短路了,请问怎么办? 
 
2010-05-06,19:44:06
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
【140楼】 span42 狂奔的蜗牛

积分:180
派别:
等级:------
来自:山西->河北->北京->>>?
mark
 
2010-05-06,21:20:09
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
【141楼】 master0722
积分:294
派别:
等级:------
来自:浙江
好东西,要记号的
 
2010-05-19,18:53:06
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
【142楼】 hucheng1010
积分:10
派别:
等级:------
来自:
首先要明确一点外部时钟指的是外部“有源震荡器”,可以是有源晶振...    所以“外部时钟”和“外部晶振”这两个名词不要搞混了.
 
2010-05-19,19:09:04
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
【143楼】 mtswz213 超人哥

积分:104
派别:
等级:------
来自:西安
这种情况我也遇到过,不过当时用51把AVR给救了,就是把PSEN接到AVR的X1脚,很好用
 
2010-05-19,19:27:52
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
【144楼】 s409348459
积分:146
派别:
等级:------
来自:
MARK!!
 
2010-05-28,23:29:36
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
【145楼】 KKIFISH
积分:5
派别:
等级:------
来自:
MARK一下,以待研究
 
2010-05-29,10:21:23
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
【146楼】 wj414

积分:162
派别:
等级:------
来自:上海
使用USBISP烧写新买的MEGA8A-PU芯片无法烧写,提示:进入编程模式失败!
请检查FUSE设置、电源、时钟和ISP电缆连接!

但是烧写我以前的MEGA16L芯片是可以的。
会是什么问题导致的呀?
 
2010-06-04,20:00:50
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
【147楼】 BLDC2010
积分:106
派别:
等级:------
来自:深圳
mark
 
2010-06-14,15:48:02
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
【148楼】 huangtonggao
积分:41
派别:
等级:------
来自:
找的就是你 谢了
 
2010-07-17,17:18:07
资料 邮件 回复 引用回复   ↑↑   ↓↓ 编辑 删除
↑↑↑↑↑↑↑↑↑↑↑↑
抱歉本贴的回复数太多,为了减轻网络流量,只显示帖子正文的前后各10个回复。本贴的正文内容中间隐藏了128个回复。你需要 点击此处 才能查看全部内容。
对为你带来的访问不便表示歉意。不过我们仍会坚持即使没有登录,仍能共享我们网站的所有资料。你没有 登录后就能消除这个访问上的不便(可增加到显示60个回复)。
如果你是新用户请先 注册。注册是免费的,并且手续简单只需要填写用户名与口令。
↑↑  快速回复帖子主题:AVR芯片的ISP全攻略+熔丝补救方法,请各位指正
你尚未登录,不能回复以上帖子。
AVR (原ourAVR.com) 技术论坛 -> 分类清单 -> AVR芯片的ISP全攻略+熔丝补救方法,请各位指正 跳转至: 未登录
任何建议或投诉,欢迎随时与我们联系。 ourDEV.cn 我们的电子开发网,友好交流气氛,乐于开源共享,“这里远比混乱的现实世界美好”。
网站负责人:  阿莫(armok),手机:13433056000,电邮:armok ourdev.cn(请将空格改成@)
地址与电话:  东莞市东城八一路同沙工业园内,0769-22298000,传真请按4
 阿莫邮购门市与雕刻机展示厅:东莞市莞城区莞太路和生文具礼品批发市场A2018,A2035 杨小姐 13711915767
 雕刻机的技术咨询、订单查询、生产进度,可查询:13600266008吴先生(雕刻机设计人员kaif_w)
声明:  本网站由东莞科士通(Infostone)科技有限公司属下的阿莫电子邮购部提供独家赞助。
 有正式的工商注册与网站备案。详情可到东莞工商局查询。
 本网站(ourDEV.cn)原名称为ourAVR.com(我们的AVR),自2007-09-01起从专业的AVR网转成综合电子网站。
 本网站系统由armok Using Oracle + Java/JSP + WebLogic + Linux 2001/12/20 -- 2007/09/13
 本BBS所有代码均为原创,版权归 armok 所有。本网站自:2004-10-03,16:31:17 起开始运行。
法律顾问:  本网站尊重知识产权,自2007年08月15日起,魏龙律师担任ourDEV.cn(原ourAVR.com)常年法律顾问。

本网站已经通过了东莞市公安局安全认证许可,请大家遵守国家法律法规。粤ICP备09047143号