Help us understand the problem. What is going on with this article?

RaspberryPi GPIO Pinアサインと各種規格・仕様についてまとめ

More than 1 year has passed since last update.

◆夏季休暇中のメインイベント

★16日追記 (ピンアサイン表は前パターン網羅しておくべきでしたね。またそのうち更新します)

お盆休みはAzureとラズパイを遊びつくす!!

社会人になるとなかなかまとまった時間がとれないので、やりたいなーと思いつつやれていなかった azure と IoT。

本日夏季休の中盤。azure 夏季休暇前半で アカウント開設 / VNET環境構築 / Virtual Machine / Azure Load Balancer / 一般化済OSイメージ作成 / Blob Storage / VDI (DaaS) といろいろ楽めました。後半はラズパイやろうかなーとラズパイ本体を探します。

発売当初、WiiリモコンでLEDを点灯させてみたり、LinuxやFreeBSDが動く小さなワンボードコンピュータとしていろいろ遊んだラズパイ。2019年、ふと温度・湿度・二酸化炭素濃度などの空気センサーで遊びたくなったので、ラズパイを設置・結線しつつ、I/O の仕様等を改めて調べてみました。また、センサーのデータ読み取り&可視化をやるための環境構築としてOSのインストールや Python3.6 のビルドを行っているのですが、コンパイルがぜんぜん終わらないので、待ち時間に本記事を執筆を開始。次からはクロスコンパイル環境作ろうと思った次第。

普段は明日の仕事に備えて早めに寝るsuttonですが、今日は寝ない。明日のことは心配しなくて良い。深夜3時くらいにOSのダウンロードと構築が完了。次はpython3.6のビルド。python3.6 のビルドを深夜に始め、朝方5時頃についに寝落ち。翌朝からpython3.6のビルドを再開するも、なぜビルドコマンドを実行しないで寝てしまったのか・・。寝る前にちゃんとやってたら、眠っている間に終わっていたのに orz 

さて、ここから本題。

◆PINアサイン
Raspberry Pi A+ B+ 2B 3B の GPIO 40ピンのPINアサイン
pinout.PNG
画像は raspberrypi.zyx さんより引用させて頂きました。

◆ラズパイI/Oピンの規格・用語・用途

Model A / Model +A / Model B で利用されている Broadcom BCM2835 で利用可能な通信方式・機能・規格を自分用にメモ・忘備録として記載。ピンアサインの図などを見ていて、これは何をするところなのか?と不明点がでた場合の参考となれば幸いです。

*ALT0~ALT6の切り替えでGPIOのピンの機能・役割が変わり、下記のようにたくさんの規格や方式が使用できます

pin表記 名称 分類 簡単な説明
GPIO General Purpose Input/Output 集積回路/マイコンの一般的な入出力ピン
3.3V 3.3 volt Electricity 3.3Vの電力供給
5V 5.0 volt Electricity 5Vの電力供給
GND Ground Electricity グラウンド アース 接地 (電位0 Volt)
SCL Serial Clock I2C クロック (ICやデバイス間の同期用)
SDA Serial Data I2C データ通信(同期シリアル通信)
MISO Master In Slave Out SPI デバイスからマスタへデータ送信
MOSI Master Out Slave In SPI マスタからスレーブのデバイスへデータ送信
SCLK Serial Clock SPI データ転送同期のクロック(マスタが生成)
CS Chip Select SPI チップセレクト/スレーブセレクト (どのデバイス・チップと通信するか)
CE Chip Enable SPI チップ有効化⇒セレクト/スレーブセレクトと同じ
TxD Transmit Data UART データ送信(非同期シリアル通信)
RxD Receive Data UART データ受信(非同期シリアル通信)
CTS Clear to Send UART データ送信可能を通知
RTS Request to Send UART データ送信を要求
SD CLK SDIO Clock SDIO SDIO通信のクロック
SD CMD SDIO Command SDIO SDIOのコマンド
SD DAT SDIO Data SDIO SDIOのデータ通信
PCM_CLK PCM Clock PCM PCMクロック
PCM_FS PCM Frame Sync PCM PCMフレーム同期
PCM_DIN PCM Data In PCM PCMデータ入力
PCM_DOUT PCM Data Out PCM PCMデータ出力
H-SYNC Horizontal Synchronizing Signal DPI 水平同期信号(1走査線の書き換えタイミング)
V-SYNC Vertical Synchronizing Signal DPI 垂直同期信号(1画面の書き換えタイミング)
CLK Clock DPI ディスプレイクロック
DE / DEN DPI Enable DPI 表示開始信号
DPI_D Data(Red/Green/Blue) DPI RGB (Red/Green/Blue)の色データ
1W Data W1-GPIO Data 1-Wire 1-Wireインターフェース用データ
GPCLK General Purpose Clock GPCLK ソフトウェア制御によらずピン固定の周波数を出力
TDI Test Data In JTAG デバッグ用データ入力
TMS Test Mode Select JTAG デバッグモード選択
TRST Test Reset JTAG JTAG機能のリセット
TDO Test Data Out JTAG デバッグ用データ出力
TCK Test Clock JTAG ターゲット JTAG ポートへのテストクロック信号
RTCK Return Test Clock JTAG ターゲット JTAG ポートからのリターンテストクロック信号
ID_SC Serial Clock for HAT EEPROM I2C HAT EEPROM 用クロック *1
ID_SD Serial Data for HAT EEPROM I2C EEPROM 用シリアルデータ通信 *1

*1 HAT I2C EEPROM RaspberryPiの仕様を熟知した人以外は使用非推奨とのこと

用語 名称 簡単な説明
I2C Inter Intergrated Circut シリアル通信(同期)の方式。
SPI Serial Peripheral Interface シリアル通信(同期)の方式。
UART Universal Asynchronous Receiver Transmitter 非同期シリアル通信の方式。ラズパイではコンソール接続機能を提供
SDIO Secure Digital Input/Output SDカードと同じインターフェースでデータ入出力する規格 (SDカードインターフェース)
PWM Pulse Width Modulation パルス幅変調。パルス波の時間幅を変化させて変調する変調方式
PCM Pulse Code Modulation パルス符号変調。アナログ信号に対して標本化及び量子化を行いデジタル信号に変換する変調方式
DPI Display Parallel Interface ディスプレイ映像出力用パラレルインターフェース
1-Wire One Wire Interface 信号+給電の線とGNDだけで低速データ転送を行う。1-Wireセンサなどを接続して利用
JTAG Joint Test Action Group IEEE1149.1 集積回路や基板の検査およびテスト・デバッグの標準規格
WiringPi - RaspberryPiのGPIOを簡単に利用できるように作られたC言語ライブラリ。ラッパーが用意されているのでphpやpythonからも利用可能
HAT Hardware Attached on Top ラズベリーパイの拡張端子の名称。拡張基盤用のEEPROMを接続する機能を提供

◆あとがき
記事執筆終わったーと思ったら、ちょうどいいタイミングで python3.6 のコンパイルも完了!いいタイミング!いよいよセンサーなどを接続して遊んでいこうと思います。皆さんも良きラズパイライフを!

sutton
東京都在住のクラウドエンジニアです。AWSをメインに、処理の自動化、テストの自動化などに取り組みつつ、技術営業で資料作成の毎日。最近、AzureとIoTに取り組んでいます。現在、IT関係への投稿はQiitaのみで、他のサイトやSNSはやっておりません。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away