AVRの回路内プログラミングをどのように計画しますか?


12

AVR(これまでのところATtiny13とATtiny2313に限定されていました)を再プログラムする私の通常の方法は、チップをホスト回路から切断し、すべてのICSPフックアップを所定の位置に置いて別のブレッドボードに差し込み、プログラムしてから交換することです。しかし、私はチップをその場でプログラムできると聞き続けています(これはICSPの要点です)。

その場でチップをプログラミングする前に考慮しなければならない特別なハードウェアの考慮事項はありますか?たとえば、ICSPプロセスは、ICSPに使用されているのと同じAVRピンに接続された回路コンポーネントを損傷する可能性があることを心配しています。これらのコンポーネントを保護するために、ダイオードまたは他の種類のバッファリングを追加する必要がある場合がありますか?

この質問は漠然と聞こえるかもしれませんが、そうだと思いますが、より一般的な経験則に興味があるため、特定の回路の詳細は提供していません。つまり、これを心配する必要はないのでしょうか、それとも、MCUが属する特定の回路に本当に依存するのでしょうか?

回答:


15

私はこれまでに行ったほぼすべてのAVRボードにISPを使用しました。恐れることは何もありません。AVR ISP mkIIのマニュアルは、あなたが「ターゲット・インタフェース」セクションに外を見る必要がある制限のかなり良い概要を示します。基本的に、MISO / MOSI / SCKピンをプログラマーに直接実行し、それらと回路の残りの部分との間に約820オームがある(そして、リセットピンでファンキーなことをしていない)場合は大丈夫です。ISPが他のコンポーネントを損傷する心配はありません。高電圧プログラマーではありません。信号はすべて5Vで動作するため、外部コンポーネントを損傷する可能性がある場合は、マイクロコントローラーも損傷する可能性があります。

ISPプログラミングが許可されていないボードにこだわっている場合は、少なくともプログラミングボードにZIFソケットを使用してみてください。それらは高価ですが、それはあなたの生活の質を大いに改善します。


リンクをありがとう-それがまさに私が望んでいることです。実際に実際のAVR ISPを使用しているわけではありません-適切にプログラムされたarduino (!)数日中にこれをバスパイレーツに置き換えるので、ZIFソケットを備えたボードを一緒に投げることは間違いなく私がやろうとしていることです。私の現在の手順は非常にいです!
ティム

1

ICSPヘッダーを物理的に切断できるように、ジャンパーまたはスイッチを使用します。この方法で、心配することなく、他のコンポーネントをいじることなく、ピンを他の機能と共有できます。

これは最も明白で安全な解決策のように思えますが、私が使用しているものです。

(最初の回答は削除されたため、詳細を追加しようとしました)。


それはどのように機能しますか?その後、スイッチ/ジャンパーを接続しても、ピンは回路の残りの部分に接続されたままになります。
eeze

0

残念ながら、ピンが他の機能(LEDの点灯など)で共有されている場合、AVRの回路プログラミングを行うことはできません。動作する可能性はありますが、プログラマまたはµCの出力が低下して動作しなくなる可能性があるため、保証されていません。

もう1つの方法は、事前にプログラムされたチップを注文することです。Microchipがこれを彼らのチップのいくつかに提供していることは知っていますが、Atmelについてはわかりません。


まあ、私はこれを疑った。ゆっくりと不格好なやり方を続けなければならないだけだと思う​​。(ああ、Atmelに事前プログラミングをしてもらう機会はありません。私はただの趣味です。:
ティム

マイクロチップは、約40ドルの「セットアップ料金」を請求します。繰り返しますが、Atmelについては不明です。10〜100の範囲で注文する場合は、おそらくそれだけの価値があります。
トーマスO

3
SPIピンの他の負荷、特にLEDを使用して、問題なくボードをたくさんプログラムしました。信号を駆動するものが他にないように注意してください。これは、たとえば、SPIデバイスが接続されている場合、プルアップ抵抗などを与えて、リセット状態または選択解除状態を維持することを意味します。
ヤンバーニエ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.