一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 2592|回复: 16
收起左侧

手上有2片M8,写不上程序怎么办,查了下好象什么锁死了吧

  [复制链接]
发表于 2012-7-1 20:56 | 显示全部楼层 |阅读模式
2片都是从板上拆下来的,那种大的饮水机里面的,本来准备做M8  R2R  ,现在电路都全部搭接好了,准备写程序郁闷的是就是写不进去,估计应该是厂家为了保护自己的知识产权把他锁了,2片都一样,他板上外接了32.768,请问大家这个还可以解开吗,郁闷死了
发表于 2012-7-1 21:02 | 显示全部楼层
锁了呗~~~~~~~

搜高压编程器~
发表于 2012-7-1 21:03 | 显示全部楼层
建议仿制一个萧天老师的高压并行编程器吧,有了这个工具玩AVR非常方便的,参考资料:
https://www.yleee.com.cn/thread-1151-1-1.html
https://www.yleee.com.cn/thread-1052-1-1.html
 楼主| 发表于 2012-7-1 21:37 | 显示全部楼层
感谢2位老大,我现在就去做一个高压编程器回来在报告结果
 楼主| 发表于 2012-7-1 23:12 | 显示全部楼层
做了半天好象才发现要用M8带的,晕,就是没M8了,要是用就不做这个东西了,
发表于 2012-7-1 23:18 | 显示全部楼层
做了半天好象才发现要用M8带的,晕,就是没M8了,要是用就不做这个东西了,
顺劲通信 发表于 2012-7-1 23:12 https://www.yleee.com.cn/images/common/back.gif


汗,还是要解决先有鸡还是先有蛋的问题,转一篇文章(转自http://hi.baidu.com/%C4%BE%CE%C4%D2%BB%B5%B6/blog/item/34e0931cb988a18587d6b6a8.html,感谢原作者),希望对你有帮助:
AVR芯片的ISP全攻略 及 avr解锁
2010-08-20 11:24
当误设了AVR的熔丝位是的ISP无法下程序了,那就需要对它进行解锁。
我赞成的方法是用有源晶振或是用单片机模拟有源晶振(此方法适用于ATMEGA16或32)
把有源晶振的输出脚接16的第一个时钟引脚,或,例如:用at89S52的ALE端接X1脚,将熔丝位设置为出厂设置在写入,就OK!
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 引脚连接的电容
? 必须断开所有的外部复位源

http://blog.163.com/tshmail@126/blog/static/30786113200911610488341/?fromdm&fromSearch&isFromSearchEngine=yes
--------------------------------------------------------------------------------------------------------------------------------
比较常用的办法就是直接用电路搭一个震荡电路,可以用555来做,也可以用模拟元件来做作,总之有震荡出来就得了。将频率加在TXATL1上,不断按“擦除”就可以了。(需要说明一下的是这种方法一般按一次是不会成功的,嘿嘿,需要按很多次才行的。)解锁用的频率最好是被锁的频率,不是被锁的频率也应该可以解不过我没有试过。       如果你还有一块单片机(必须有外部晶振,且晶振是1M,2M,4M,8M,12M),那相比之下这种方法就更简单,先给两块单片机通电,然后直接将两块单片机的TXATL1接上,将下载器接在要解锁的单片机上,不断按“擦除”就可以了。(一般一次就成功。顺便说明一下我是我一般是用12M来解锁的)
发表于 2012-7-1 23:19 | 显示全部楼层
这两天老是出现这种鸡生蛋还是蛋生鸡的问题,呵呵,

还是先买个M8回来做母种吧
发表于 2012-7-2 01:28 | 显示全部楼层
呵呵,还是那个恢复器好使,尤其是手上有好几片旧的AVR
发表于 2012-7-2 05:28 | 显示全部楼层
6楼的方法是可以的
简单点,就是外接一个时钟,把熔丝位改回来就ok了
发表于 2012-7-2 09:55 | 显示全部楼层
费那么大劲干嘛,淘宝上卖的高压编程器才50。60元。
我去年就买了个,不过现在在睡大觉。哈哈

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-5-5 01:03 , Processed in 0.078995 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表