今回は、Raspberry Pi財団が開発した組み込み機器用のRP2040マイコンのブレイクアウトボード「Raspberry Pi Pico」をご紹介します。
Raspberry Piは、教育用の低価格パソコンを普及させる目的で開発されましたが、現在では産業用の制御装置にも組み込まれて使用されるようになっています。しかし、現在の開発の中心となっているIoT機器にRaspberry Piを使用するには、消費電力が大きいことや、アナログ入力に対応していないこと、機械制御に向かないLinux系のRaspberry Pi OSを使用していることなどから適しているとは言えませんでした。
Raspberry Pi財団は独自の組み込み用マイコンを開発することで、この分野の教育を目指すことにしたようです。そこで生まれたのがRP2040です。型名の最初の数字はCPUのコア数、2番目はプロセッサタイプ(Coretex-M0+なので0)、3番目はRAM容量、4番目はフラッシュ容量を示しています。
「Raspberry Pi Pico」はそのまま制御用ボードとしても使用できますが、RP2040を評価するためのブレイクアウトボードです。Picoの回路図や基板パターンは無償で公開されていて、誰でも自由に互換品を作成して配布することができます。
RP2040は、133MHzで動作するArm Cortex-M0+コアを2個と264KBのSRAMを搭載しています。フラッシュは搭載していませんが、独自のQuad SPIバスにより最大16MBのフラッシュを接続して利用することができます。その他、DMAコントローラや補間器、整数除算器、500kspsの12ビットA/Dコンバータ、時計(カレンダー)機能なども搭載しています。インターフェースには、4本のアナログ入力を含むGPIO×30、UART×2、SPI×2、I2C×2、PWM×16、USB1.1(ホスト/デバイス)、プログラマブルI/O×8が用意されています。
RP2040は、インターフェースの制御線を減らすためにPIO(プログラマブルI/Oブロック)というハードウェアを搭載しています。プログラムにより入出力をコントロールする仕組みで、SDカードやVGAなどのインターフェースをエミュレートすることができます。

「Raspberry Pi Pico」は、RP2040をサポートするために必要な最小限の外部回路で構成されています。搭載されているのは、2MBのフラッシュ、電源制御IC、発振器、温度センサー、LED、BOOTSELボタン、USBコネクタなどです。30本のGPIOのうち26本がユーザーI/Oピンに接続されています。4本のアナログ入力ピンはLEDの駆動や電源制御、システム電圧の検出に使用されています。電源ICは1.8~5.5Vの入力電圧に対応しており、USB接続の場合は5V、VBUS端子からは1.8~5.5Vの入力で動作します。電源を入れるときに、BOOTSELボタンを押しながら電源を入れると書き込みモードになります。
プログラミングには、C/C++とMicroPythonを使用できます。Pythonでよく利用されているThonny IDEでRP2040用のMicroPythonがサポートされています。また、RP2040に最適化された浮動小数点計算ライブラリQfplibも利用できます。USB経由でプログラムを書き込むことができますが、3本のSWD端子からもプログラミングやデバッグができます。PicoをパソコンのUSBポートに接続するとストレージとして認識され、ドラッグ&ドロップでフラッシュにプログラムを書き込むことができます。
なお、PicoにRaspberry Pi OSをインストールすることはできません。また、ヘッダピンやUSBケーブルは付属されていないので、別途用意する必要があります。
Raspberry Pi Pico 【RASPBERRYPI-PICO】 ¥500(税込¥550) |
 |
|