安価なCH340中国語コンバーターに基づいた新しいtinyAVRファミリーのプログラマー

Unified Program and Debug Interface(UPDI)は、AVR XMEGAマイクロコントローラーのプログラミングに使用される2線式PDIインターフェースに代わる、新しい8ビットAtmelマイクロコントローラーのプログラミング/デバッグ用の単線式インターフェースです。



画像






それで、アトメロフスクプロトコルの棚が到着しました-ISP、JTAG、debugWIRE、TPI、aWire、PDI、今ここにUPDIがあります。 同時に、AVRの生態系の状況は依然として非常に絶望的であるため、それらの使用を完全に放棄するつもりでしたが、最新のトレンドは少し喜んでくれたため、この記事を執筆しました。



Atmel ICEプログラマーの幸運な所有者だけがUPDIプロトコルを使用できます。UPDIプロトコルは、コネクターのかなり奇妙な選択のために使用するのにあまり便利ではなく、工業規模で購入する余裕はそれほどありません。 さらに、Atmel Studioをインストールする必要がありますが、当社のポリシーによると、ほとんどのコンピューターはインターネットにアクセスできず、スタジオはドライバーまたは一部のライブラリのいずれかで定期的にクロールするため、Atmel Studioを定期的に使用することを拒否します。プログラマーがシステムに表示された瞬間、つまり、ドライバーが正しくインストールされたが、ネットワークにアクセスし、強制的に更新されない限り、彼はスタジオ自体に気づかれませんでした。



そのため、開発で新しい便利なATTiny1616マイクロコントローラーを使用し始めた直後(その利点について)、本番環境でブートローダーコントローラーに書き込むために使用できるツールが必要でした。 もちろん、 SMSおよびインターネットへのアクセスの登録は必要ありません。



少し検索した後、 Github (https://github.com/mraardvark/pyupdi)でpyupdiプロジェクトを発見しました。これはPythonでのUPDIプロトコルの実装であり、この実装はレベルコンバーターを除いて通常のUARTプロトコルに基づいています。さらに便利です。標準のFTDIコンバーターチップまたはそれらに対応する中国のCH340 / 341を使用できるためです。



プロジェクトがダウンロードされてテストされ、非常に元気になりました。 しかし、数日後、彼はまだ私たちに適していないことが明らかになりました。 理由:





この問題はPythonのフレームワーク内でしばらくの間解決されましたが、修正後、プロジェクトを再構築し、テストする必要があったため、より馴染みのある、つまりCでスクリプトを書き直したいという要望がありました。 結局のところ、私たちは包埋者です!



次に、新しいtinyAVR 1シリーズの利点について簡単に説明します。





プログラマーの鉄の部分として、次のように、中国のCH340チップに基づいた利用可能なUSB-UART TTLコンバーターを使用しました。



画像



プログラミングには、2つの出力RXとTXを接続するだけで十分です。これらの出力には既に1.5kの出力抵抗が装備されているため、コンバータモデルに抵抗がない場合は追加する必要があります。 組み合わされた出力は、プログラム可能なチップのUPDIピンに接続されます。コンバータのグランドもコントローラのグランドに接続する必要があります。 外部電源がある場合は、コンバータが使用する電力(3.3Vまたは5V)に対応するかどうかにのみ注意を払う必要があります。 必要がある場合は、コントローラーとコンバーター自体から回路に電力を供給できます。これは初期プログラミングに非常に便利です。



画像



注意! 抵抗はオプションであり、コンバータの出力に保護抵抗がない場合にのみはんだ付けする必要があります。



CH340チップに接続されている唯一の問題は、プログラミングバージョンでパリティビットが使用されており、カーネルバージョンのCH340ドライバーがこのビットで正しく動作しないため、Linuxバージョンのプログラムで動作しなかったことです。 この問題は近い将来修正されるかもしれませんが、今のところ私はこれを行う忍耐を持っていません。



IDE Code :: Blocksでの作業と実験の結果、 updiprogプログラムが作成およびデバッグされ、そのソースコードがGithubに投稿されました



このバージョンのプログラムに実装されたもの:





Pythonでコンパイルされたソーススクリプトの5 kopecksと比較して、プログラムの初期サイズは約25 kbです。



完了した作業が誰かに役立つことを願っています。 私はレビューと提案を喜んでいるでしょう。



All Articles