搜索
bottom↓
回复: 37

求助:ATMEGA128A单片机能烧写成功,但是不运行

[复制链接]

出20入12汤圆

发表于 2018-12-6 17:15:46 | 显示全部楼层 |阅读模式
本帖最后由 qianj1986 于 2018-12-6 20:46 编辑

第一次使用ATMEGA128A单片机,手头也买了块开发板,后来就用到公司项目上,做了几块样板。
回来后发现能烧写程序但是程序没运行。
1.开发环境:AtemlStudio 7, 下载器是Ateml -ICE(官方的)

2.同样的程序运行在开发板上能正常运行(灯闪烁)

3.检查了晶振引脚有11.0592MHz正弦波,是起振了 (开发板的是7.3728MHz)


4.电源5V正常,复位引脚5V正常, PEN引脚5V正常

5.外围电路与开发板不同,外围电路也不影响单片机运行啊

6.熔丝配置与开发板一致。


非常奇怪在新做的板上无法运行,因为第一次用,看网上有很多芯片锁死的情况,我这个应该不是吧,能正常连接、下载、读取的。

各位,能否指导下是什么问题导致?

------------------------------------------------------------------------------------------------
无意中居然发现可以让单片机运行起来:

事情经过是我用示波器量每个引脚VCC/GND,先是VCC没问题(一端是接飞线引出来的地,一端量单片机的VCC),然后是量GND时,因为没飞线出VCC,就用示波器的夹子夹了个螺丝刀然后戳在电容上,当螺丝刀靠近电容的时候会有火花,很奇怪,没在意,量完后,单片机可以运行了(就是上面说的状态),但是断电又不行了。
我上电后重复之前的操作才发现是螺丝刀碰到电容(随便找了的VCC对地电容,测试发现时只要VCC对地电容都可以让它运行起来),又可以了,重复上述操作就发现断定就是这个操作能让单片机运行起来,就是不知道为什么会这样
(必须是示波器探头的那个夹子夹着螺丝碰才可以,探头是悬空的,单单螺丝刀碰到是没用的,万用表的表笔也不行)

有碰到过类似情况的吗?(就是相当于给单片机供电的VCC接了下大地就可以了)
---------------------------------------------------------------------------------------------

又有新的发现:
插上Atmel-ICE 烧写器时探头夹子碰VCC有用(一点点火花),不插烧写器,探头夹子怎么碰都不会出现火花,单片机不运行。

现在运行的条件是:要插着烧写器,然后探头夹子碰VCC后,单片机才能正常运行。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出20入12汤圆

 楼主| 发表于 2018-12-6 17:57:41 | 显示全部楼层
有哪位用过的指导下

出390入22汤圆

发表于 2018-12-6 18:18:40 来自手机 | 显示全部楼层
不运行就对了,熔丝位M103不要勾选就好了

出20入12汤圆

 楼主| 发表于 2018-12-6 18:35:33 | 显示全部楼层
liudingding 发表于 2018-12-6 18:18
不运行就对了,熔丝位M103不要勾选就好了

就是没勾选,第二张图片的第一个就是M103

最新消息,我用万用表和示波器量了会信号,不知道怎么居然可以输出灯闪烁信号(新做的板子因为没装灯,直接IO输出,用示波器量了才看到),断电再来又不行了

出20入12汤圆

 楼主| 发表于 2018-12-6 18:48:32 | 显示全部楼层
本帖最后由 qianj1986 于 2018-12-6 20:42 编辑

无意中居然发现可以让单片机运行起来:

事情经过是我用示波器量每个引脚VCC/GND,先是VCC没问题(一端是接飞线引出来的地,一端量单片机的VCC),然后是量GND时,因为没飞线出VCC,就用示波器的夹子夹了个螺丝刀然后戳在电容上,当螺丝刀靠近电容的时候会有火花,很奇怪,没在意,量完后,单片机可以运行了(就是上面说的状态),但是断电又不行了。
我上电后重复之前的操作才发现是螺丝刀碰到电容(随便找了的VCC对地电容,测试发现时只要VCC对地电容都可以让它运行起来),又可以了,重复上述操作就发现断定就是这个操作能让单片机运行起来,就是不知道为什么会这样
(必须是示波器探头的那个夹子夹着螺丝碰才可以,探头是悬空的,单单螺丝刀碰到是没用的,万用表的表笔也不行)

有碰到过类似情况的吗?(就是相当于给单片机供电的VCC接了下大地就可以了)

出200入2554汤圆

发表于 2018-12-6 18:57:22 | 显示全部楼层
不给看板子、电源、下载器肯定是爱莫能助。

M128 很成熟的片子了,不工作无非就是电源、时钟(能下载应该排除)、程序

出20入12汤圆

 楼主| 发表于 2018-12-6 19:07:13 | 显示全部楼层
本帖最后由 qianj1986 于 2018-12-6 19:24 编辑
t3486784401 发表于 2018-12-6 18:57
不给看板子、电源、下载器肯定是爱莫能助。

M128 很成熟的片子了,不工作无非就是电源、时钟(能下载应该 ...


不好意思,马上补上



程序:
#include <avr/io.h>
#include <stdio.h>
//#define         F_CPU        7372800        //Crystal frequency = 7.3728MHz
#define         F_CPU        11059200        //Crystal frequency = 11.0592MHz
#include <util/delay.h>

#define delay_us(x)     _delay_us(x)        //Delay function
#define delay_ms(x)     _delay_ms(x)

int main(void)
{
        SETBIT(DDRB,DDRB0);
        SETBIT(DDRB,DDRB1);
        SETBIT(DDRD,DDRD0);
        SETBIT(DDRD,DDRD1);
        SETBIT(DDRD,DDRD2);
        SETBIT(DDRD,DDRD3);
    while (1)
    {
                  PORTD &= ~(1<<PORTD0);
                  PORTB &= ~(1<<PORTB0);
                  PORTD &= ~(1<<PORTD1) ;
                  PORTB &= ~(1<<PORTB1) ;
                  PORTD &= ~(1<<PORTD2) ;
                  PORTD &= ~(1<<PORTD3) ;
                  delay_ms(500);
                  PORTD |= (1<<PORTD0);
                  PORTB |= (1<<PORTB0);
                  PORTD |= (1<<PORTD1);
                  PORTB |= (1<<PORTB1);
                  PORTD |= (1<<PORTD2);
                  PORTD |= (1<<PORTD3);
                  delay_ms(500);

    }
}


电源供电(5V是供给单片机的,12是其他用的)

测量单片机电压图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入475汤圆

发表于 2018-12-6 19:26:27 来自手机 | 显示全部楼层
最简单的排除法把开发版芯片换过来

出20入12汤圆

 楼主| 发表于 2018-12-6 19:33:31 | 显示全部楼层
本帖最后由 qianj1986 于 2018-12-6 21:10 编辑
1a2b3c 发表于 2018-12-6 19:26
最简单的排除法把开发版芯片换过来


1.担心换来换去最后都不运行了,刚开始还想把所有的外围拆了的。
2.看看是什么问题导致的,现在能复现,但是不知道如何处理,感觉像是电源部分问题
所以没换

出20入12汤圆

 楼主| 发表于 2018-12-6 20:46:38 | 显示全部楼层
各位用过的看看楼主位的更新

出0入0汤圆

发表于 2018-12-6 21:20:07 | 显示全部楼层
这么好的示波器不去测量电源、复位、晶振,首先要学会仪器

出20入12汤圆

 楼主| 发表于 2018-12-6 21:22:41 | 显示全部楼层
jinbangzhou 发表于 2018-12-6 21:20
这么好的示波器不去测量电源、复位、晶振,首先要学会仪器

已经全部测了,晶振图在上面有,电源和复位全是5.03V,就一直线

出0入0汤圆

发表于 2018-12-6 21:31:59 | 显示全部楼层
你知道怎么叫测试?首先要测试上电的瞬间,电源电压波形、复位波形;不行找个5V电源焊接上去

出20入12汤圆

 楼主| 发表于 2018-12-6 21:36:32 | 显示全部楼层
本帖最后由 qianj1986 于 2018-12-6 21:49 编辑
jinbangzhou 发表于 2018-12-6 21:31
你知道怎么叫测试?首先要测试上电的瞬间,电源电压波形、复位波形;不行找个5V电源焊接上去 ...


谢谢指导,我测试下
黄色的是电源,绿色的是RST信号

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2018-12-6 22:08:08 | 显示全部楼层
你好好看看程序吧,用仿真器直接控制IO寄存器输出;还有初始化最好把看门狗关掉或者程序不停喂狗,这样减少熔丝配置错;太久想不起细节。这个程序随便找个成熟的例子下载。

出0入0汤圆

发表于 2018-12-6 22:52:07 | 显示全部楼层
前段时间,使用AVR dragon 烧不成功
使用十几元的USBASP好用的很。

出0入0汤圆

发表于 2018-12-7 07:12:13 | 显示全部楼层
这电路设计的isp接口线都接错了。简单的事 ,将那个复位电路设计的复杂无比。

出0入0汤圆

发表于 2018-12-7 08:47:39 | 显示全部楼层
mega128还能采购的到?不是都被收购了么

出20入12汤圆

 楼主| 发表于 2018-12-7 09:01:27 | 显示全部楼层
yofa2008 发表于 2018-12-7 08:47
mega128还能采购的到?不是都被收购了么

可以的,MICROCHIP正常供货

出20入12汤圆

 楼主| 发表于 2018-12-7 09:07:43 | 显示全部楼层
zhifeng 发表于 2018-12-7 07:12
这电路设计的isp接口线都接错了。简单的事 ,将那个复位电路设计的复杂无比。 ...

不是下图的接法吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出200入2554汤圆

发表于 2018-12-7 09:17:00 | 显示全部楼层
qianj1986 发表于 2018-12-7 09:07
不是下图的接法吗?

M64/128 的 ISP 没按 AVR 套路来,使用的是 PDI/PDO。请看下图(摘自M128手册):



看来只能用 JTAG 了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出20入12汤圆

 楼主| 发表于 2018-12-7 09:36:40 | 显示全部楼层
t3486784401 发表于 2018-12-7 09:17
M64/128 的 ISP 没按 AVR 套路来,使用的是 PDI/PDO。请看下图(摘自M128手册):

好的,还好主要是用JTAG,ISP也是测试预留的

现在还是纠结那为啥原因造成的,阿有其他的测试方法了

出20入12汤圆

 楼主| 发表于 2018-12-7 09:38:06 | 显示全部楼层
jinbangzhou 发表于 2018-12-6 22:08
你好好看看程序吧,用仿真器直接控制IO寄存器输出;还有初始化最好把看门狗关掉或者程序不停喂狗,这样减少 ...

谢谢,注同样的程序在开发板上能运行,而且可以从新的板子中读取出来,读出来的可以再烧到开发板,能正常运行
看门狗配置位未开

出0入0汤圆

发表于 2018-12-7 10:28:12 | 显示全部楼层
可能是使用3.3V,只能最高运行8M吧。

出20入12汤圆

 楼主| 发表于 2018-12-7 10:42:15 | 显示全部楼层
KongQuan 发表于 2018-12-7 10:28
可能是使用3.3V,只能最高运行8M吧。

不是的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出20入12汤圆

 楼主| 发表于 2018-12-7 10:52:17 | 显示全部楼层
本帖最后由 qianj1986 于 2018-12-7 11:05 编辑
jinbangzhou 发表于 2018-12-6 22:08
你好好看看程序吧,用仿真器直接控制IO寄存器输出;还有初始化最好把看门狗关掉或者程序不停喂狗,这样减少 ...


今天准备用DEBUG测试,发现新做的板子无法连接上,二开发板可以连接上的。(同一编程器)

新板子的失败连接报告:(但是我也可以确认OCDEN是开的)

从新板子读出的FUSE:

按之前的操作插上编程器和用探头的夹子碰下,让单片机运行起来后,点击DEBUG 就可以的,还是卡在为什么碰下就可以了

开发板可以连接的图:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2018-12-7 11:22:50 | 显示全部楼层

这个并不表示全电压范围可以工作在16MHz

出20入12汤圆

 楼主| 发表于 2018-12-7 11:28:14 | 显示全部楼层
谢谢各位的回答和指导,刚刚发现拆了如下的电容即可正常运行,自己真是没事找事加电容,但是为什么会有如此的影响?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2018-12-10 10:59:42 | 显示全部楼层
qianj1986 发表于 2018-12-7 11:28
谢谢各位的回答和指导,刚刚发现拆了如下的电容即可正常运行,自己真是没事找事加电容,但是为什么会有如此 ...

这个电容用10uF的 这么小复位时间太短了

出20入12汤圆

 楼主| 发表于 2018-12-10 11:06:22 | 显示全部楼层
kydl2345 发表于 2018-12-10 10:59
这个电容用10uF的 这么小复位时间太短了

这不是到复位引脚上的,是到PEN引脚的

出0入0汤圆

发表于 2018-12-10 11:08:31 来自手机 | 显示全部楼层
唉。什么年代了,还入avr这个坑

出20入12汤圆

 楼主| 发表于 2018-12-10 11:09:34 | 显示全部楼层
xzhiwei 发表于 2018-12-10 11:08
唉。什么年代了,还入avr这个坑

我也不想啊,无奈

出200入2554汤圆

发表于 2018-12-10 14:13:10 | 显示全部楼层
qianj1986 发表于 2018-12-7 11:28
谢谢各位的回答和指导,刚刚发现拆了如下的电容即可正常运行,自己真是没事找事加电容,但是为什么会有如此 ...



看样子强制是进入 SPI 模式了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出20入12汤圆

 楼主| 发表于 2018-12-10 14:19:02 | 显示全部楼层
t3486784401 发表于 2018-12-10 14:13
看样子强制是进入 SPI 模式了。

进入SPI模式是:按住(Holding)PEN引脚,同时按RST,才是进入SPI模式的。因为之前那个状态,假设进入的SPI模式,按RST也是可以出来的,但是我试的时候是不行的,不管你怎么复位都没用。

出0入17汤圆

发表于 2018-12-10 15:36:39 | 显示全部楼层
qianj1986 发表于 2018-12-10 14:19
进入SPI模式是:按住(Holding)PEN引脚,同时按RST,才是进入SPI模式的。因为之前那个状态,假设进入的SP ...

应该就是楼上说的问题,上电的时候PEN脚被电容拉低,符合PEN低+上电RST的条件,进入SPI模式。  既然要上电复位才能进入SPI模式,估计退出是不是也要上电复位,而非手动复位?

出0入8汤圆

发表于 2018-12-10 15:53:12 来自手机 | 显示全部楼层
哥你复位电路装了吗?这个芯片需要复位

出200入2554汤圆

发表于 2018-12-10 17:58:45 | 显示全部楼层
我手头刚好有一块 M128 的核心板,PEN 板载上拉电阻+外引插针。
我试了下下面的上电顺序,结论的确如猜测:

1. PEN 悬空(板载上拉),上电运行正常,系统复位按钮正常;

2. PEN 强制跳线短接到 GND,上电程序不执行,此后撤掉短路线(模拟PEN上电负脉冲)程序仍然不执行;

3. 上述步骤 2 后,即使再按系统复位按钮,程序都不执行,除非重新上电且PEN断开(板载上拉)。

基本上可以确认,一旦 PEN 在上电检测到负脉冲进入 ISP 模式,复位按键就失效了,程序不再执行。
目测编程器是有退出 ISP 之类的指令,用于在此种情况下避免尴尬。

出20入12汤圆

 楼主| 发表于 2018-12-10 18:23:10 | 显示全部楼层
t3486784401 发表于 2018-12-10 17:58
我手头刚好有一块 M128 的核心板,PEN 板载上拉电阻+外引插针。
我试了下下面的上电顺序,结论的确如猜测: ...

嗯,所有的完全通了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-24 13:41

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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