ラズパイPicoW(Raspberry Pi Pico W)のハードウェア特性の基礎を学習します。
Raspberry Pi Pico Wの主な仕様
ラズパイPicoWの主な仕様は次のとおりです。
項 目 | 説 明 |
---|---|
SOC | RP2040 |
CPU | Cortex M0+、デュアルコア (クロック 133MHz) |
メモリー | 264KB(SRAM)、2MB(フラッシュメモリ) |
USB | USB 1.1 |
汎用入出力 | 多機能 GPIO x 26 |
※→ 同期式シリアル通信 | I2C x 2 |
※→ 同期式シリアル通信 | SPI x 2 |
※→ 調歩同期式シリアル通信 | UART x 2 |
※→ アナログ・ディジタル変換 | A-Dコンバータ x 3 (内部温度センサは除く) |
※→ パルス幅変調 | PWM x 12 |
Bluetooth | Bluetooth 5.2 |
Wi-Fi | 2.4GHz IEEE 802.11b/g/n |
プログラマブルIO | PIO x 2 |
リアルタイム・クロック | RTC (バッテリバックアップなし) |
電源定格 | DC 1.8 ~ 5.5V |
消費電流 | USBポート、GPIO使用の場合は3A |
動作温度範囲 | -20 ~ 70℃ |
ピンの仕様
ラズパイPicoWのピンは電源関連のピンとデバッグ用のピン、汎用入出力(GPIO)ピン(以下 GPピン)で構成されています。
次の図は、パルス幅変調(以下 PWM)信号線を除いた、電源関連のピンとデバッグ用のピン、GPピンの構成です。
電源関連のピン
電源関連のピンはラズパイPicoW自身への電源供給、外部デバイスへの電源供給、GND、電源スイッチから構成されています。
項 目 | ピン番号 | 説 明 |
---|---|---|
VBUS | 40 | USBポートから電源供給している場合に、USB電圧と同じ5Vを外部へ供給します。最大出力電流はUSBからの給電能力により異なります。 |
VSYS | 39 | USBポートを使用しない場合は、1.8V〜5.5Vの電源をVSYSに入力するとラズパイPicoWに電源を供給できますので、バッテリー等で駆動することも可能です。 |
3V3_EN | 37 | GNDに接続すると、ラズパイPicoWの電源がOFFになります。 |
3V3(OUT) | 36 | 3.3Vを外部へ供給します。最大出力電流は300mAです。 |
RUN | 30 | GNDに接続すると、ラズパイPicoWに使われているマイコン(RP2040)をリセットします。 |
GND | 3,8,13, 18,23, 28,33,38 | 回路の基準となる電位で、基本的には0Vです。 |
デバッグ用のピン
デバッグ用のピン(SWCLK、GND、SWDIO)は主にC/C++言語のようなコンパイラでラズパイPicoWをプログラミングする際に、エラーを検出、解析するためのデバッグ作業用に使われます。
統合開発環境のThonnyでMicroPhytonを使ってプログラミングする場合は、使いません。
GPピンの信号線(PWMを除く)
■ ピンの説明
項 目 | 説 明 |
---|---|
GP0~22、 26~28 | ディジタル信号(HighまたはLow)の入力および出力を行います。※ |
SPI0~1 TX SPI0~1 RX SPI0~1 SCK SPI0~1 CSn | SPI(Serial Peripheral Interface)は、マイコンと比較的低速なデータ転送を行うデバイスに利用されるシリアル通信方式です。 信号線は送信(TX)、受信(RX)、同期クロック(SCK)、デバイス選択(CSn)の4本で構成されています。 |
I2C0~1 SDA I2C0~1 SCL | I2C(アイ・スクエアド・シー:Inter-Integrated Circuit)は、マイコンと比較的低速なデータ転送を行うデバイスに利用されるシリアル通信方式で、2本の信号線だけでデバイスを選択できることが利点です。 信号線はシリアルデータ(SDA)、シリアルクロック(SCL)の2本で構成されています。 |
UART0~1 TX UART0~1 RX | UART(Universal Asynchronous Receiver Transmitter)は、非同期(調歩同期式)シリアル通信方式で、開始と終了の目印を決めて、その目印にしたがってデータを通信する方式です。 信号線は送信(TX)、受信(RX)の2本で構成されています。 |
ADC0~2 ADC_VREF AGND | ADC(Analog-to-digital converter)は、アナログ入力信号を12ビットのディジタル信号を変換します。 ADC_VREFはアナログ入力信号の基準電圧を供給するために使用することができます。 ADC_VREFピンを使って、デフォルトの基準電圧(3.3V)を変更し、より正確なA/D変換を可能にするため、任意の電圧レベルに設定することができます。 AGNDはADC0~2および、内部温度センサのGNDで、ADC を使用しないか、ADC の性能が重要でない場合は、このピンをデジタルグランドに接続することができます。 |
※ Highは「H」または「1」、Lowは「L」または「0」でも表現されます。
■ 初期状態
ラズパイPicoWの電源を入れた時、GPIOは次の状態になっています。
GP番号 | 実際のピン番号 | 初 期 状 態 |
---|---|---|
GP0 | 1 | UART0 TX |
GP1 | 2 | UART1 RX |
GP2~GP3 | 4~5 | GP2~GP3(ディジタル情報の入力・出力) |
GP4 | 6 | I2C0 SDA |
GP5 | 7 | I2C0 SCL |
GP6~GP15 | 9~12、 14~17、19~20 | GP6~GP15(ディジタル情報の入力・出力) |
GP16 | 21 | SPI0 RX |
GP17 | 22 | SPI0 CSn |
GP18 | 24 | SPI0 SCK |
GP19 | 25 | SPI0 TX |
GP20~GP22 | 26~27、29 | GP20~GP22(ディジタル情報の入力・出力) |
GP26~GP28 | 31~32、34 | GP26~GP28(ディジタル情報の入力・出力) |
ADC等のような別の機能を使う場合は、プログラムで指定します。
UART0 TXのように、同じ信号線であっても異なるGPピン(12、16)を指定することができます。
GP番号と、物理的配列のコネクタピンの番号とは異なりますので、プログラムでGP番号を制御する場合は注意が必要です。
GPピンの信号線(PWM)
次の図は、 PWM信号線にGPピン構成です。
初期状態ではPWM信号線は指定されていませんので、使う場合はプログラムで指定します。
GPピンの電気的特性
■ HighレベルとLowレベル
項目 | 電圧(V) | 初 期 状 態 |
---|---|---|
Lowレベルの 最高入力電圧 | 0.8 | Lowレベル電圧として、入力に0.8Vを超える電圧が入力された場合、正常な判定がされません。 |
Highレベルの 最低入力電圧 | 2 | Highレベル電圧として、入力に2Vに満たない電圧が入力された場合は、正常な判定がされません。 |
Lowレベルの 最高出力電圧 | 0.5 | 外部に対し0.5Vを超える電圧を、Lowレベルとして供給することはありません。 (通常:約0V) |
Highレベルの 最低出力電圧 | 2.62 | 外部に対し2.62Vを下回る電圧を、Highレベルとして供給することはありません。 (通常:約3.3V) |
上の表の条件は電源電圧に5Vが供給された場合です。
■ 電流について
GPピンを使う場合、GPピンに流れ込む(シンク)電流と、GPピンから流れ出る(ソース)電流を考える必要があります。
シンク電流とソース電流はほぼ同じ値となっています。
許容以上の電流が入出力されると、誤動作したり、場合によってはラズパイPicoWを壊してしまいます。
ラズパイPicoWはGPピンごとに、電流をプログラムにより、「2mA」、「4mA」、「8mA」、「12mA」に設定することができ、初期状態では「4mA」になっています。
「4mA」の設定の場合、最大8mAまで流すことができますが、GPピンの電圧が下がってしまいます。
また、GPピン全部では最大50mA という制限があり、仮にGPピンを20本使う場合、1ピン当たりの平均は50mA /20=2.5mA以下となります。
「ラズパイ実験室」では、初期状態の「4mA」の設定を使用し、実際の入出力の電流値を4mA以下に抑えて実験を行っていきます。
■ 内部プルアップ/プルダウン抵抗
内部プルアップ/プルダウン抵抗は、GPピンにプログラムで接続の有無を指定する50KΩ~80KΩ抵抗です。
入力状態のGPピンに入力信号がない時、Hレベル電圧に固定したい場合に、GPピンと電源電圧の間に接続する抵抗がプルアップ抵抗です。
反対にLレベル電圧に固定したい場合に、GPピンとGNDの間に接続する抵抗がプルダウン抵抗です。