ラズパイ関係の情報はネットに「溢れて」おります。本稿自体もそんな情報の山の裾野を担っているかもしれません。ラズパイのこと、何か調べようと思っても、まず不自由はありません。あまり多くの情報がヒットしすぎるくらいです。しかし、なるべくなら変な誤解の無いようにデバイスメーカ発行のデータシートや、ソフトウエア開発元の文書に基づきたいところ(私などの書いているものは勝手な意見なので信用しないように。)ところが手持ちの「公式っぽい」データシートを眺めていてそこに闇?があることに気付いてしまいました。
※「トホホな疑問」投稿順Indexはこちら
まず、当方が家で運用しておりますラズパイ3台の近影を掲げておきます。実はもう一台「寝ている」人がいるのですが、ここでは起こしますまい。
左より
- Raspberry Pi Zero W (ピンヘッダは自分でハンダづけしたもの)
- Raspberry Pi 1 model B+ (Raspberry Pi 公式サイトでは Pi 1ではなく只Piと)
- Raspberry Pi 3 model B+
のお三方であります。蛇足ですが、Raspberry Pi 4 の日本での技適が取れ、公式販売されているようなので、そのうち4も加わるでありましょう。
ボードの形状からは右の2つ Pi 1 model B+ と Pi 3 model B+ の2つが似ていますが、搭載されているSoCは、
- Pi ZeroとPi 1 がBCM2835
- Pi 3 はBCM2837B0
で異なります。なんと言ってもBCM2835はARM11のシングルコアですが、BCM2837はArm Cortex-A53のクワッドコアなので馬力が違う。しかし、周辺部分については非常に互換性が高いようで、私、いままで、ほとんど同じチップのように見なして使っていて問題出ませんでした。
以前に調べたところでは、Broadcom社発行のSoC全体のデータシートというのはその辺に「落ちて」いません。Broadcom社のデータシートのダウンロードページに型番入れても駄目でした。(どういうわけか、BCM2835/BCM2837に搭載されているGPU、VideoCoreのデータシートは公式サイトからダウンロードできました。)何らかの契約のある相手にしかフルのデータシートを出さない、という(料簡の狭い)行動を時々デバイス屋はやります。ま、何か大人の事情があるんですが。そんなことでSoC全体のデータシートが無いのかな、と勝手に納得してました。その代わり、フルセットではないですがラズパイ使うには十分なデータシートがネットを検索すると見つかります。以下の2つ。
- BCM2835-ARM-Peripherals.pdf
- BCM2837-ARM-Peripherals.pdf
ファイルサイズも違い、上のファイルの表紙にはBCM2835、下のファイルの表紙にはBCM2837とバッチリ書いてあるので、それで満足していました。内容的には「とても似ている」ように思われましたが、まあ、互換性高いしそんなものかと。しかし、気付いてしまいました。
下のファイル、表紙にこそBCM2837と書いてあるけれど、中身のアチコチにBCM2835と書いてないか。
そう思って目次を比べてみたら一致。内容まったく同じじゃないかと思われました。ただ違いは、表紙に書いてある型番だけ。表紙だけ引用させていただきます。
どちらもpdfファイルなので、「消されていなければ」メタデータを読み取ることができます。
元の文書は、どちらも
Microsoft Word – BCM2835 ARM Peripherals.docx
でした。作成者も同じ。ただ、PDF変換に使われたツールとPDFバージョン(GhostscriptでPDF1.3とMac OS X上のQuartzのPDF1.7)が異なるのみ。結論から言って、
同じファイル
じゃないかと。タイトルだけかい!
それにご本家、rapberrypi.org からダウンロードできる回路図も微妙
上のページのSchematicsから各ボードの回路図がダウンロードできるのですが、それぞれたった1ページしかありません。Raspberry Piとよく似ているJetson Nanoのキャリアボード(SoCやメモリ搭載しているモジュール内には立ち入らず、I/Oや電源のみのボード)の回路図は22ページもあります。いくらなんでもBCM2835とかBCM2837とか、端子を列挙するだけでも数ページにはなるだろ~。でも回路図にはちゃんとBCM2835とかBCM2837の「箱」は描かれているのでした。ささやかな描きようなので見落としそうなサイズ。ただ、電源(IO電源のつもりだと思う)とGPIO端子のみが描かれております。他に沢山ある筈の端子は省略。HDMI出力やらカメラ入力やらのコネクタ類にはSoCの端子に接続するであろう端子名が列挙されているので、とりあえずPi上で使われているペリフェラル類のみは分かる、と。