【问题标题】:atmega32u4 Failed to enter programming modeatmega32u4 无法进入编程模式
【发布时间】:2021-02-12 06:12:37
【问题描述】:

我设计了一个使用 atmega32u4 和一些其他组件(如 RTC、内存等)的定制板,但将它们留空以测试微控制器是否可以编程。仅手工焊接微控制器和必要的电容器和电阻器后,ATMEL Studio 无法读取设备签名。我正在使用 AVRISP MKII。该板的设计灵感来自 ARDUINO ProMicro。我试图解决的问题:

  1. 测量所有 3.3 伏电源线和所有地线。 (都对应PCB和原理图)

  2. 检查 SPI 线路以查看微控制器是否使用示波器接收来自编程器的命令。

  3. 我试过把16MHZ的晶振去掉,还是一样。

  4. 我对微控制器进行了回流焊,因为它是 QFN 类型(atmega32-MU 封装),并且我在微控制器下方有几个通孔用于助焊剂流出。

  5. 回流后我已经正确清洗了电路板。

  6. 我用一个 0.1uF 的电容将 AREF 接地,!HWB 引脚 (PE7) 为空。我没有接地。

  7. 我用一个实际的 promicro 板测试了编程器,它编程正常。

我想我遗漏了一些东西,但我不知道是什么...如果你们能帮助我,我将不胜感激。附上电路原理图。

微控制器 RESET 由引脚 13 上的 MICRO RST 指示。PB4 上的 RESET 用于另一个尚未填充并留空的设备,我用示波器检查了引脚 13,它似乎工作正常,并且在编程的第一刻。 MISO、MOSI 和 SCK 也在向相关引脚发送信号。 谢谢

【问题讨论】:

    标签: microcontroller avr atmega atmega32


    【解决方案1】:

    如果您使用 ISP 对板进行编程,则必须将 RESET 连接到编程器。否则无法对控制器进行编程!

    图片来自microcontroller.net

    你的RESET好像是在PB4上,但是为了编程,它应该连接到uC的RESET。

    【讨论】:

    • 抱歉造成混淆,微控制器 RESET 由引脚 13 上的 MICRO RST 指示。PB4 上的 RESET 用于另一个尚未填充并留空的设备,我用示波器检查了引脚 13 和它似乎工作正常,并在编程的第一刻归零。 MISO、MOSI 和 SCK 也在向相关引脚发送信号。
    • 您好,感谢您的回复。我在微控制器的引脚 13 上使用了标签“MICRO RST”进行编程,“RESET”网络标签适用于也适用于 SPI 线路的内存 IC,但它在板上没有填充和空置。我用示波器观察了所有 SPI 线(MISO、MOSI、SCK 和 MICRO RST,它们似乎都在被软件中断之前向微控制器发送信号。即使 MKII 灯在连接到电路板时也会变成绿色。我看到了一件可疑的事情是电源在使用 3.3v 作为电源时显示 2 mA 电流,在使用 5 伏时显示 8mA。
    • 嗯,也许连接到你的 uC 的设备在编程过程中没有被禁用并开始向你的 MISO 发送一些数据? 16MHz 也是 3V3 的速度,你需要 5V。
    【解决方案2】:

    所以,差不多一个月后我才意识到问题所在!我从电路中移除了 16MHz 晶体,这导致了编程问题。现在,放好晶振后程序就成功上传到ATMEGA32U4了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多