我如何计划AVR的电路编程?


12

我对AVR进行重新编程的常用方法(到目前为止仅限于ATtiny13和ATtiny2313)是将芯片与主机电路断开连接,将其插入所有ICSP连接器就位的另一面包板上,进行编程,然后进行更换。但是,我不断听到有人可以对芯片进行编程(据我了解,这是ICSP的全部内容)。

在对芯片进行原位编程之前,是否需要考虑任何特殊的硬件考虑?例如,我担心ICSP过程可能会损坏连接到用于ICSP的相同AVR引脚的电路组件。是否偶尔需要添加二极管或其他某种缓冲来保护这些组件?

我知道这个问题听起来很模糊,但我想是的-但由于我对更一般的经验法则感兴趣,因此我没有提供特定电路的详细信息。即,您不必担心这一点,还是答案真的取决于MCU所属于的特定电路?

Answers:


15

我几乎在每块AVR板上都使用ISP。不用担心。该AVR ISP mkII使用手册让你需要寻找出“目标接口”一节中的局限性的一个很好的总结。基本上,如果您直接对编程器运行MISO / MOSI / SCK引脚,并且它们与电路的其余部分之间大约有820欧姆(并且对于复位引脚没有做任何时髦的事情),就可以了。我不用担心ISP会损坏其他组件。它不是高压编程器。所有信号均以5V运行,因此,如果它可能损坏外部组件,那么您的微控制器也将如此。

如果您真的对不允许进行ISP编程的板卡不满,我至少会尝试在您的编程板上使用ZIF插槽。它们很贵,但是会大大改善您的生活质量。


感谢您的链接-这正是我所追求的。我实际上并没有使用真正的AVR ISP-只是经过适当编程的arduino。(!)我将在几天之内用Bus Pirate替换它,因此将带有ZIF插槽的板子放在一起绝对是我计划要做的事情。我当前的程序非常丑陋!
蒂姆(Tim)

1

使用跳线或开关,以便您可以物理上断开ICSP接头连接器。这样,您可以与其他功能共享引脚,而不必担心,也不必摆弄其他组件。

这似乎是最明显,最安全的解决方案,这就是我使用的解决方案。

(我的第一个答案已删除,因此我尝试添加更多详细信息)。


那将如何工作?然后,当连接了开关/跳线时,引脚仍将连接到电路的其余部分。
EEZE

0

不幸的是,如果引脚与其他功能(例如照明LED)共用,则无法在AVR的电路编程中进行操作。尽管它可能会起作用,但不能保证它会导致程序员或µC的输出下降得太低而无法正常工作。

另一种选择是订购预先编程的芯片。我知道Microchip为他们的某些芯片提供了此功能,但是我不确定Atmel。


哦,我对此很怀疑。我猜,我只需要继续以缓慢而笨拙的方式做事。(呵呵,没有机会让爱特梅尔做预编程对我来说,我只是一个卑微的业余爱好者:-))
蒂姆·

Microchip收取约40美元的“设置费”。同样,不确定Atmel。如果您订购的范围在10-100之间,则可能值得。
Thomas O

3
我已经编写了很多带有SPI引脚上其他负载的电路板,尤其是LED,完全没有问题。请注意不要让其他任何东西驱动信号。例如,这意味着,如果您连接了SPI设备,请为其提供上拉电阻或类似电阻,以使其也保持复位状态或不被选择。
Yann Vernier 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.