atmega32u4 进入编程模式失败

atmega32u4 Failed to enter programming mode

我设计了一个使用 atmega32u4 和一些其他组件(例如 RTC、内存等)的定制板,但将它们留空以测试是否可以对微控制器进行编程。在手工焊接微控制器和必要的电容器和电阻器之后,ATMEL Studio 无法使用 AVRISP MKII 读取设备 signature.I'。该开发板的设计灵感来自于 ARDUINO ProMicro。我试图解决的事情:

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

  2. 使用示波器检查 SPI 线,看微控制器是否从编程器接收命令。

  3. 我试过去掉16MHZcrystal,还是一样

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

  5. 我在回流焊后正确清洗了电路板。

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

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

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

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

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

图片来自microcontroller.net

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

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