Last Update 2023/05/09

900MHz×4コア知能炸裂!画像認識からハイパー計算まで遊び放題!
コンピュータ電子工作の素 ラズベリー・パイ解体新書

Interface編集部 編
B5判 168ページ
定価1,980円(税込)
JAN9784789847094
2016年4月1日発行
好評発売中!
コンピュータ電子工作の素 ラズベリー・パイ解体新書

 ラズベリー・パイ2は, 900MHz動作のARM Cortex-A7プロセッサを4コア搭載する,5,000円のI/Oコンピュータです.画像認識やソフトウェア無線も行えるパワフルな基板です.このラズベリー・パイ2のコンピュータ性能やイーサネット伝送性能,拡張I/Oの実力を大解剖します.並列処理や128ビット高性能演算命令,GPU演算などの最新技術も試します.開発・製造の現場でも使われている実際の製作例も紹介します.

※本書はインターフェース2015年10月号をもとに加筆・再構成を行っています
目次

プロローグ 最新ラズベリー・パイ2誕生

6倍にパワーUP!Linux/Windows/Android組み換え自由!
イントロダクション 900MHz 4コア!I/Oコンピュータ「ラズベリー・パイ2」
ラズベリー・パイは世界の定番
ハードウェア
演算性能は従来品の6倍
ご利益(1):重たいプログラムを動かし放題
ご利益(2):Linux/Windows/Android…OSを入れ替えて遊び放題
ラズベリー・パイ2の使いどころ

第1部 ラズベリー・パイ2の基礎知識

世界の定番!名刺サイズ・コンピュータ
第1章 「ラズベリー・パイ」の基本スペック
5,000円で全部入り!
基本仕様
ラズベリー・パイ2・のハードウェア
初代ラズベリー・パイの構成
I/Oコンピュータの拡張コネクタ

さすがLinux!名刺サイズ・コンピュータ・スタートアップ!
第2章 ラズベリー・パイのセットアップ
準備…ハードウェアを準備する
標準Linux「Raspbian」のインストール方法
Raspbianの初期設定
RaspbianでWi-Fi USBドングルを使う
頻繁なアップデートにも即対応!Raspbianの更新
プログラミング環境
よく使うアプリ
よく使うLinuxコマンド
便利ライブラリ/・アプリを追加インストール

お手軽シリアル×Tera Term&LAN接続の高機能ソフトでササッとログイン
第3章 パソコンからリモート操作 実験向きの環境を作る
方法1 USB-シリアル変換モジュールで接続
方法2 ネットワーク名で接続する
方法3 高機能なリモート接続アプリを使う

第2部 大解剖!ラズベリー・パイ2

4コアCortex-A7/GPU/128ビット高性能NEON命令…最新テクノロジいじり放題!
第4章 ラズベリー・パイ2のコンピュータ性能を大実験
こんな実験
実験1:コンピュータ・ボード全体の基本性能を調べる
準備…並列処理性能を確認するために最新GCC5.1をビルドする
実験2:なんと最大128ビットを1命令で演算!NEONの性能
実験3:並列化の効果をOpenMPで味わう
実験4:並列化の威力をCilkで味わう

マイコン的に使う前に基本性能を診断
第5章 実験! 三大I/O GPIO/I2C/SPI
実験内容
実験1:GPIOのON/OFF速度
実験2:I2C通信速度
実験3:SPIの転送速度

アセンブラ・レベルで最適化して全速力でON/OFF
第6章 レジスタ直接アクセスで50MHz!GPIO出力
GPIOを直接操作してみる
レジスタに直接アクセスする方法
実験

最大4コア!機能全部入りで消費電力効率を追求した組み込み向け?
第7章 ラズベリー・パイ2の心臓部Cortex-A7アーキテクチャ大研究
Cortex-A7の特徴
なんと最大128ビット演算を1命令で!高性能SIMD命令NEON
オプション機能1…セキュリティ用仮想CPUを使えるしくみTrustZone
オプション機能2…複数のOS切り替え用仮想化機能
オプション機能3…マルチプロセッシング拡張機能
コード・サイズと命令の種類のバランスを両立!Thumb-2命令
Cortex-A7のマイクロ・アーキテクチャ
マイクロ・アーキテクチャその(1)…命令読み出し部の特徴
マイクロ・アーキテクチャその(2)…実行部の特徴
メモリ・システムの特徴

レジスタ直たたき!Linuxコマンドだけで試せる
第8章 CPUアーキテクチャ Cortex-A7基本性能を調べる
実験内容
準備
実験1…CPU評価の定番DhryStoneで性能を測る
実験2…NEON命令による性能UP
実験3…分岐予測精度
実験4…データ・プリフェッチとL2キャッシュの効き目
実験5…高速メモリ読み出し

公開済みドキュメントから読み解く
Appendix1 BCM2835/2836プロセッサの内部構造を考察する

JPEGやH.264エンコーダ回路内蔵で画像処理をヘルプ
Appendix2 シリーズ共通 ラズベリー・パイのGPU「VideoCore IV」機能

ラズベリー・パイ2に標準装備で画像処理をさらに性能UP
第9章 128ビットを一度に実行高速演算用NEON命令の使い方
実験
準備
使用した双二次補間プログラム
性能アップの鍵…固定小数点化
NEON命令への計算の割り当て
NEONプログラミング
動かす手順
応用

OpenMP並列化記述から全自動並列化コンパイラまで
Appendix3 マルチコアで実験 並列処理プログラミング入門

ファイル転送/ネットワーク負荷/リクエスト数/同時接続数…定番測定ソフトで試す
第10章 ネットワーク通信&サーバ性能の実力
実験内容
実験の準備
実験1:ファイル転送
実験2:ネットワーク負荷
実験3:ウェブ性能…リクエスト数
実験4:ウェブ性能…同時接続数

USBハブ機能やイーサMAC&PHY搭載!クロック同期機能付き!
Appendix4 イーサネット/USB接続チップLAN9512/9514の研究

第3部 ラズベリー・パイ2活用術

GPIBとRS-232-CをPythonライブラリで制御
第11章 I/Oコンピュータ活用事例 オシロ&マルチメータ自動計測システム
こんな装置
ハードウェア
ソフトウェア
GPIO&I2C制御プログラム
RS-232-C制御プログラム
GPIBによるオシロスコープ制御プログラム
RS-232-CとGPIBを使うには事前準備が必要
評価用メイン・プログラムの作成
実行する

金属ケースとアースでノイズ・レス!ウォッチドッグ・タイマ&追加UPS機能で急なシャットダウンも安心!
第12章 ラズベリー・パイで組み込みコンピュータは作れる!?
ラズベリー・パイと他のボードを比べる
ラズベリー・パイを使うメリット
ラズベリー・パイを使うデメリット
実用化へのアプローチ
耐環境性能を測ってみた

スイッチ/入出力/A-Dコンバータ/D-Aコンバータ/センサ…拡張自在!
第13章 I/Oコンピュータ電子工作の素
定番シリアルSPI/I2Cを使うための設定
制御ライブラリあれこれ
C言語用定番制御ライブラリWiringPiの使い方
LEDのPWM調光
スイッチを接続する
出力ピンを増やす
I/Oピンを増やす
8ビットA-D/D-AコンバータICをつなぐ
3軸加速度センサをつなぐ
100kSps/12ビットA-Dコンバータをつなぐ

付録 1&2対応! ラズベリー・パイ便利アイテム

カメラもディスプレイもI/Oもアナログもガチャッと挿すだけ
ラズベリー・パイの拡張基板&ケース
ラズベリ・パイ直結!・拡張ボードあれこれ
純正モジュールRaspberry・Piカメラ&赤外線カメラPiNOIR
タッチ・パネル付き3.5インチ・カラー液晶ディスプレイ4DPi-32
2.2インチ小型カラー液晶ディスプレイ・キットPiTFT・Mini・Kit
キャラクタLCD&スイッチ基板
16チャネルPWM出力!サーボモータ制御向け拡張基板Adafruit16チャネルPWM/サーボHAT for Raspberry Pi
DCモータ&ステップ・モータ制御基板Gertbot
静電容量タッチ・センサ基板Adafruit静電容量センサHATキット
ラズベリー・パイの電源管理モジュールRPi-PWR・mini-DCJ
小型リアルタイム・クロック・モジュール・ミニRTCモジュール
ブレッドボード直挿しOK!・GPIO接続基板KSY-TB-002
24ビット/192kHzハイレゾ対応オーディオ用D-Aコンバータ基板SabreBerry+
32ビット384K対応!・オーディオ用D-Aコンバータ基板RaspyPlay4
RS-232-CもRS-485も!・レガシ・シリアル通信アダプタPiComm
モデル別!ラズベリー・パイ専用ケース