· 2分で読了

AVRを使ったUSB応用の考察

この記事は中国語から自動翻訳されたものです。翻訳によりニュアンスが失われている場合があります。

AVRでUSBを扱う際のポイントはただ1つ、チップ自体にUSBの内蔵サポートがあるかどうかだ。現在選択肢となり得るチップは以下の通りだ1:

  • ATmega8U2
  • AT90USB82
  • ATmega16U2
  • AT90USB162
  • ATmega32U2
  • ATmega16U4
  • ATmega32U4
  • AT90USB646
  • AT90USB647
  • AT90USB1286
  • AT90USB1287

現在販売されているのはおそらくATmega32u4くらいだが、半導体不足の影響により、特別な調達ルートでもない限りほぼ手に入らない状況だ。

発送は来年の11月23日。これが現実だ。半導体不足は徐々に上流の供給に影響を与えており、いつか僕たちの日常生活をも静かに巻き込むことになるかもしれない。逆に言えば、Appleのような大企業が今でも安定して新しいスマートフォンやPCをリリースできているのは、本当に奇跡と言える。

Arduinoボードの中でATmega32u4を採用しているのはおそらくPro Microくらいだが、純正品はもう販売されていないようで、出回っているのはサードパーティ製の互換ボードばかりで品質にはかなりバラつきがある。

僕が現在使っているのはAideepenのもの(Amazonリンク、アフィリエイトではないので購入されても僕にはマージンは入らない)だが、ピンヘッダは自分でハンダ付けする必要があり、Arduino IDEではOld Bootloaderを選ばないと書き込めない。さらに低確率でエラーも吐くが、これだけ安いのだから妥協して使っている。

もうひとつの方法は、思い切ってAVRを諦め、STM32や話題のRaspberry Pi Pico、あるいはRP2040を直接採用することだ。

Footnotes

  1. https://www.avrfreaks.net/forum/atmega-devices-usb-capabilities ↩

関連記事

他のトピックを探索