Raspberry Pi Audio Cookbook #3

0 comments

Posted on 25th 5月 2017 by admin in Raspberry Pi Audio Cookbook |Tips


OSのinstall Raspberry Pi CM3 Lite編

1. Raspbian Jessie Lite のインストール

電源の接続が完了したら、microSDカードにOSを書き込みます。 モジュール上に4GBのeMMCフラッシュメモリが搭載されているCM3を使用される場合は microSDカードスロットが使用できません(Disableにされています)のでmicroSDカードは不要ですが、モジュール上のeMMCフラッシュにRaspbianなどのimageを書き込む必要があります。 書き込み方法については CM3を参照してください。CM3かCM3 Liteかわからなくなった場合はモジュールの裏をチェックしてみてください。
メモリChipが載っていればCM3、実装されていなければCM3 Liteです。

裏面向かって右側にメモリチップが実装されていれば CM3(写真左)
メモリチップが実装されていなければ CM3 Lite(写真右)です

microSDカードは、できれば4GB以上(Raspbian Jessie PIXELをインストールされる場合は4GBを超えますので8GB)以上のSDHCが必要です。 SDカードの規格では、SDHC(4GBから32GBまで)がFAT32でformatされています。2GB以下はFAT16に変わりますので、4GB以上のmicroSDを使用されることをお奨めします。
量販店で販売されている特価品のmicroSDカード(16GBや32GB)は中国の携帯メーカへのOEM品の横流しですので、Secure領域(SDカードのSはSecureのSです)が、日本の正規品とは異なりますが、著作権付のコンテンツの保護を目的とする場合以外はその領域を使用しないので、Raspberry PiのOS書き込み用に使用することができます。

USBカードリーダやSDカードアダプタもあまり古いものはSDHCに対応していないものがありますので、Raspberry piで使用する前にmicroSDカードが正しく認識されるかWindowsPCで動作確認をしておいてください。


1-1. microSDカード の フォーマット

最初にmicroSDカードをフォーマットします。フォーマットのためのユーティリティは、SD Associationのサイトで無料配布されています。 使用方法を記載した PDF ファイルも一緒にダウンロードしておいてください。

「SD Formatter」ダウンロード先
https://www.sdcard.org/jp/downloads/formatter_4/

フォーマッタには、WindowsPC用とMacOS用が両方用意されていますので、必要な方をダウンロード、インストールしてください。 Windows用は対応OSの欄にWindows10が記載されていませんが、Raspbian Jessie PIXELを書き込もうと考えている方はWindows10を使用してください。なぜならWindows7の場合、4GBを超えるimageを正しく解凍できないため、7zipを使用するようRaspberry Pi.orgの公式ページにも記載されています。 我々も7zipを含めて何度かトライしましたが、Windows7 PCでは結局うまくゆきませんでした。Windpows10では問題なく解凍、書込みができましたのでWindows10を使用されることを推奨します。
SD Formatterの使用方法は、ダウンロードしたマニュアルを参照してください。オプションの「論理サイズ調整」は「ON」を選択しておいてください。


写真:SDFormatter for Windows
論理サイズ調整は「ON」に設定


写真:SDFormatter for Mac
論理サイズ調整はオプションから「Yes」に設定


1-2.Win32DiskImager のダウンロードとインストール

Windows10を使用する場合、micorSDカードへのOS imageの書き込みは "Win32Diskimager" を使用します。他にもイメージ書込み用ソフトウェアはありますが、"WIn32DiskImager"にはイメージのmicroSDカードへの書き込みだけでなく、microSDカードの内容を読みだして*.imgファイルとしてPC上にバックアップを作成する機能もあります。 ただし、その場合はメディアサイズ単位でバックアップが行われるため、8GBや16GBという巨大なファイル がバックアップの度に作成され時間もかかりますが、使いやすく便利です。"WIn32Diskimager" のダウンロードとインストールに関しては、下記 サイトをご参照ください。

https://ja.osdn.net/projects/sfnet_win32diskimager/


写真:Win32 disk imager
bootイメージの書込みだけでなく、バックアップ可能な定番ソフトウェア

MacOSの場合は、terminalでddコマンドを使う方法、"RPi-SD Card builder" や、"Etcher" などのフリーソフトを使用する方法などがあります。それらの使用方法についてはNetで検索の上、ご使用ください。一番わかりやすそうな "Etcher" は下記からダウンロードすることができます。

www.etcher.io


写真:Etcher for Mac
簡単なアイコンで手順を示してくれるため操作が容易


1-3. Raspbian Jessie LiteのダウンロードとmicroSDカードへの書込

Volumio2の起動カードを作成するために先にRaspbian Jessie Lite(PIXELでも構いません)の起動カードを作成します。目的は

 A. CM3 Lite, KCM3MB1の動作Checkを行うこと。
 B. CM3に必要なconfig情報などを入手しておくこと。 です。

「A.」に関しては省略しても構いませんが、Volumio2のイメージにはCM3のコンフィグ情報が含まれていません(20/May/2017現在)ので、ダウンロードしたVolumio2のイメージを書き込んだだけで作成したmicorSDカードでは、Volumio2が起動しません。そのため「B.」は必ず実行しておいてください。

Step-1)Raspbina Jessie Liteのダウンロード

Raspberry PiにはOSのインストーラとしてNOOBSが用意されていますが、それを使わずに下記の公式サイトからRaspbian Liteのzipファイルをダウンロードし、解凍して得られたimgファイルを直接microSDに書き込みます。

https://www.raspberrypi.org/downloads/raspbian/

5月21日現在では2017-04-10というタイムスタンプのzipファイルが公開されていますので、”Download ZIP”というボタンをクリックして入手してください。

Step-2)Raspbina Jessie Lite の解凍と、img の書込

Downloadが正常終了すると、保存先に指定したフォルダに「2017-04-10-raspbian-jessie-lite.zip」というファイルが保存されています。それを右クリックして「すべて展開」を選択すると「2017-04-10-raspbiam-jessie-lite」というフォルダが新設され、その下に「2017-04-10-raspbian-jessie-lite.img」という 1,267,444kB のイメージファイルが出来上がっているはずです。なお、上記の2017-04-10の部分、イメージファイルのサイズは、Raspbianの公式サイトに公開されているzipファイルにより変化します。

USBカードリーダに先ほどフォーマットしたmicroSDカードをセットし "Win32DiskImager" を起動すると「この不明な発行元のアプリがデバイスに変更を加えることを許可しますか?」というダイアログが表示されます。「はい」を選択すると続いて "Win32DiskImager" のダイアログが表示されます。Device欄にmicroSDカードのドライブキャラクタ(例 [G:\]などの識別番号)が表示されていることを確認後、その隣のフォルダアイコンをクリックし上記で作成したimgファイルを選択してください。準備OKなら「Write」ボタンをクリックすると書込みが始まります。
Complete dialog box (Write Successful)が表示されたら「OK」をクリックして完了です。


1-4.Raspbian Jessie Liteを使用した動作チェック

"Win32DiskImager" を「Exit」で終了させたのち、エクスプローラーを起動してください。
microSDカードがboot(G:)という(G:というドライブキャラクタはPCによって変わります)名称で現れます。サイズは20.0MB/40.3MBとなっていますが気にする必要はありません。クリックしてbootフォルダの下のファイルをチェックし、" bcm2710-rpi-cm3.dtb " があることを確認してください。そしてこのdtbファイルをPC上の適当なフォルダにバックアップ(copy)しておいてください。

1-4-1)電源ONの準備と実行

RAL-KCM3MB1にHDMI-TVやUSB-K/Bを接続していない場合(ヘッドレス)、LAN経由でPCやMacからSSHを使用してログインするしか方法がありませんが、セキュリティ向上のため最新版のRaspbian Jessieでは、デフォルトでSSHサーバ機能がOFFに設定されています。ただし、最初にRaspbianを起動した際に/bootにssh(拡張子なし)というファイル(中身は空でもOKです)があれば、SSHが有効化するという機能があります。2回目以降はSSHが常にEnableにされ、sshというファイルは消去されます。sshファイルはメモ帳や適当なテキストエディタ(MIFESや秀丸など)を使って ‘SSH enable’ というASCIIコードの文字列を入力し、/bootの下にsshという名前(ファイル拡張子なしで)で保存(save)しておきます。

Raspbian Jessie は一番最初のboot時にこのファイル(ssh)が/bootに存在すればSSHをEnableにし、その後このファイルを消去するようです。もし、ssh.rtfのように拡張子が付けられてしまった場合は、Jessieの初回boot時に無視されてSSHでログインできなくなってしまいますので、エクスプローラーの右Click「名前の変更」で拡張子を除去しておいてください。

Raspbianのセキュリティ関連に関しては下記もあわせてご覧ください。
http://www.raspberrypi.org/blog/a-security-update-for-raspbian-pixel/

Windows10 PCからSSH経由でRaspberry piにアクセスするためには何らかのTerminal emulatorが必要です。フリーソフトの "Tera Term" が最も有名で使いやすいのでお勧めします。Tera Termで検索するか下記のURLからダウンロードの後、インストールして下
さい。

https://ja.osdn.net/projects/ttssh2/

MacOSの場合、Application -> utility にある Terminalを起動します。
Raspbian jessie liteを書き込んだmicroSDをPCから取り外し、RAL-KCM3MB1の microSDカードスロットにセットしてください。カードスロットはpush-push方式を採用していますので、押し込んで指を離すと少し戻ってロックされます。取り出す時も同様に押し込んで指を離すと飛び出します。決して無理に引っ張らないようにしてください。 J9用のハウジングの1番(赤リード線)にDC+5Vを、4番(黒リード線)にGND(マイナス側)を接続し、J10に標準添付のハウジングが挿入されていること、J6の2-3間にショートプラグが差し込まれていることを確認しておいてください。

事前に、/boot/sshを作成しておいたので、デフォルトでSSHがEnableとなっているはずです。もちろんこの状態でPCからSSH経由でRaspbian Jessie Lite(2017-04-10)にアクセスすることは可能ですが、HDMI入力を持ったTVかDisplay、USB キーボードを接続しておいたほうが、最初の起動時はbootの様子などをcheckできるので便利です。

その状態でRAL-KCM3MB1のPush-buttonを軽く押してみてください。Power_LEDが点灯し、続いてAct-LEDが点滅し、Raspbianが起動します。HDMI_TVとUSBキーボードを直接接続している場合はRaspbian起動後、Loginユーザ名とPasswordを要求されますので

User : pi
Login Password : raspberry

と入力してください。

1-4-2)SSHを利用してログインする

WindowsPCでTera Termを起動すると「新しい接続」というdialog boxが現れます。TCP/IPとSSHを選択し、Host名にRaspbian Jessie Liteのデフォルト(初期設定)に接続する場合は「raspberrypi.local」と入力してください。ただし、WindowsPCに事前にiTunes
をinstallしておくことが必要です。iTunesをinstallしていない場合は、Raspberry piのTCP/IPアドレスを直接入力しなければなりません(192.168.66.11など)ので、IPアドレスを知るためにはHDMIにTV(ディスプレイ)、USBキーボードを接続しておくことが必要になります。

IPアドレスは直結したUSBキーボードから

$ ifconfig eth0
※ $は入力不要。文字入力後はEnterキー。

と、入力すればHDMI-TV上に表示されます。

TeraTermのダイアログボックスにHost名(raspberrypi.local)もしくはIPアドレスを入力し、OKボタンをクリックするとUser名、Passwordを入力するよう求められます、User名として上記と同様に「pi」、同じくPasswordとして「raspberry」をそれぞれ入力してください。その前にSSH通信で使用する暗号化に関するSecurityの警告(確認)boxが現れますが、Continueを選択しておいてください。User名、およびPasswordが認証された後、Teratermのwindow内に「pi@raspberrypi:~$」というコマンドプロンプトが表示されればOKです。


写真:ターミナルアプリ「Tera Term」画面

SSH(Secure Shell)での接続では
直結時とほぼ同様の操作でコントロールが可能

プロンプトの$に続けて上記同様に「ifconfig eth0」($は入力不要、文字入力後はEnterキー)と入力すると、IPアドレスやMACアドレスが表示されます。MACアドレスとして「00c0d0e3xxxx」が表示されていればRAL-KCM3MB1上のLANコントローラ(LAN9514)も正常に動作しています。

MacOSの場合、Application -> utility -> Terminalを起動し下記のコマンド文字列を入力してください(入力後はreturnキーを押してください)。

ssh -l pi raspberrypi.local

しばらくすると Are you sure you want to continue connecting (yes/no )?というpromptが表示されますので「yes」を入力してください。続いてPasswordの入力を要求されます。 この場合は、raspberryを入力すればpi@raspberrypi:~$が表示されRaspbian Jessieが正しく起動したことがわかります。

1-4-3) /boot/config.txtを編集し、ACT_LEDとPower_Off機能を有効にする

Raspbian JessieにLoginした後、/boot/config.txtに2行追加してACT_LEDとPower_Off機能を有効にします。

コンソール(PC/Teraterm, MacOS/Terminal, HDMI_TV+USB K/B)のプロンプト pi@raspberrypi:~$ に続けて

「sudo nano /boot/config.txt<return>」と入力します。※<return>はリーターンキー

config.txtが表示されますので最下行の下に下記の2行を追加してください。行の先頭や途中にはスペースは入れず、行の終わりは<RETURN>で終わってください。

dtoverlay=pi3-act-led,gpio=16
dtoverlay=gpio-poweroff,gpiopin=5

追加が終われば、「Ctrl-O(CtrlキーとOキーを同時に押す)」でsaveします。ファイル名が表示されて確認を求められますので ’Enter’ キーで応答してください。Save完了後Ctrl-Xでエディタ(nano)を終了させてください。

続いて「$ sudo reboot」と入力しRaspbianを再起動させてください。

/boot/config.txt への追加に成功していれば起動中にACT_LEDが点滅するはずです。 再びTeratermを起動してHost名、User、Passwordを入力した後、

$ sudo shutdown -h now

と入力してください。終了処理が行われ、gpio_poweroffが実行されるため、RAL-KCM3MB1の電源が自動的にOFFになります。


次回、いよいよVolumio2のセッティングをおこないます。
ご期待ください。

Raspberry Pi を本格オーディオ機器へ
もっと楽しむ Raspberry Pi オーディオ組込用
マザーボーボード
製品情報
RAL-KCM3MB01

Raspberry Pi Audio Cookbook #2

0 comments

Posted on 23rd 5月 2017 by admin in Raspberry Pi Audio Cookbook |Tips


電源の供給とStart/Shutdownスイッチについて

1. 電源の選定と接続

RAL-KCM3MB1の電源部のブロック図を図-1に示します。




図-1 RAK-KCM3MB01 ブロック図

J9から供給されたDC+5VはU13のMOSFETスイッチを通ってUSB Bus_Power Manager(MIC2016)を経由してUSBポートのBus_Power端子(1番)へとつながっています。 U13の出力はJ2(40P)ヘッダの2番、4番、LEDの点灯用電源などに接続されています。さらにJ10の関所(?)を挟んでCM3モジュールのV_BAT、3.3V,1.8Vの各レギュレータへと接続されています。

Raspberry pi CM3, CM3 Liteに必要な電源の諸元、電圧や消費電力、消費電流はCM3の仕様書(Raspberry Piの公式URLからダウンロードして下さい)によると、表-1のようになっています。

名称 電源供給先 電圧 電源最小容量 備考
VBAT BCM283x
Core
2.5 ~ 5.25V 3,500mW 内蔵スイッチングレギュレータ経由でCoreに供給
3V3 BCM283x
PHYs, IO, eMMC
3.3V
+/- 5%
250mA PHY,I/O,eMMCに供給
1V8 BCM283x
PHYs, IO, SDRAM
1.8V
+/- 5%
250mA PHY, I/O, SDRAMに供給
VDAC TV-out
(Composite)DAC
2.5 ~ 2.8V 25mA RAL-KCM3MB1では未使用のため3.3Vに接続
GPIO 0-27 VDD GPIO IO端子
ドライブ用
3.3V +/- 5% 50mA GPIO0~27のI/O端子に供給
GPIO 28-45 VDD GPIO IO端子
ドライブ用
3.3V +/- 5% 50mA GPIO28~45のI/O端子に供給
SDX_VDD microSD ソケット 3.3V +/- 5% 50mA microSDカードに供給

表-1 Raspberry Pi CM 3 電源等の仕様(抜粋)

VBATは名称から推測するとBattery接続用(3.7V?)のようで、CM3内部のスイッチングレギュレータでCore用の電圧(1V?)を生成しているようです。KCM3MB1ではDC+5Vを供給していますが、5V+5%以下に抑える必要がありますのでJ9から供給するDC+5Vがこの上限をオーバーしないように注意する必要があります。 表内の電源最少容量というのはあまり見かけない表現ですが、CM3はPeakでこれだけの電流が必要ですので、供給側はこれ以上の供給能力が必要ということです。
VBATは3,500mWの供給能力が最低限必要ということですのでDC+5Vでは700mA以上の供給能力が必要ということになります。3.3VはVDACの値を加えると425mA、1.8Vは250mA以上の供給能力が必要ということになります。

KCM3MB1では3.3Vおよび1.8V用レギュレータとしてそれぞれTLV62090を使用しています。カタログスペックでは3AまでOKですが、放熱などの問題もあり、これくらいの負荷には適当ということで採用しました。 3.3VはCM3やmicroSDカードの他にLAN9514が最大で288mA(USB HS, 100baseT)、LEDやPull upなどでも消費しますので最大で800mAくらいは供給できることが必要です。 また、CM3の仕様書の7.1項に記載されている電源の起動シーケンス(順序)も順守する必要があります。 さらにGPIOの各端子は1本あたり最大16mAを流すことが可能ですが各Bank( 0-27, 28-45)あたりの合計値は50mAを超えないように周辺回路を設計する必要があります。
LEDは本来なら省電力のためにダイナミック点灯すべきなのですが、ノイズ対策のためスタティック点灯としています。

RAL-KCM3MB1のDC5V全体の消費電流はこの表の値に加えてUSB各ポートに供給するBus_Power(規定では500mA x 4)、USB_HUB/LANコントローラLAN9514の消費電力(3.3V,951mWmax)、各LEDの消費電流などが必要です。計算上は
、Pw = 3,500mW(5V)+1,403mW(3.3V)+450mW(1.8V)+951mW(LAN9514)となり、合計で6,304mW、5Vでは1.26Aが必要です。これにUSBのVBUSが各ポート500mAとすると合計で1.26+2.0=3.26Aとなりますが、実際は5V/3Aか5V/4Aの電源ユニットを使用すべきです。 Volumio2を起動して楽曲の連続再生を行いながら図-1の電源ブロック図に示す測定ポイントで電流値と電流波形を実測してみました。

実測した環境はRAL-KCM3MB1にCM3 Liteを搭載、有線LANは100Base-T、USBポートにはUSB キーボード, USB マウス、USB microSD Card(32GB)Adapter、USB_DACとして、BusPower駆動のRAL-24192UT1,ヘッドホンはSONY MDR900を接続しました。ACアダプタはDC+5V/3AのUNIFIVE製で、測定はKeysite TechnologyのStrageオシロと電流測定用プローブを使用しました。実測値は下表を参照して下さい。

Volumio2楽曲再生中のRAL-KCM3MB1 消費電流実測値

測定ポイント 内容 最小値 最大値 10/May/2017
1 外部電源入力 485.1mA 586.1mA RAL-KCM3MB01全体の消費
2 CM3へ供給 209mA 334mA VBAR_3.3Vの各レギュレータが消費
3 3.3V 241mA 289mA CM3モジュール、LAN9514が消費
4 1.8V 34mA 213mA CM3モジュールが消費
5 USB V_Bus 252mA 276mA 40P2番、4番は Open,P1-P2より算出

この状態でCPUの温度を下記の方法(SSH経由)で測定しましたがほぼ46℃前後で一定しています。
~$ cat /sys/class/thermal/thermal_zone0/temp
1/1000単位で温度が返ってきます。46789なら46.789℃ということを意味します。

Volumio2で楽曲再生中は予想していたよりも消費電力が少ないようです。予想よりは少ないですが先ほどの最小要求値を考慮するとDC+5Vの電源としては3Aもしくは4Aのレギュレータを使用して下さい。USB_DACやUSB_SATA I/F+SSDなどに大喰いのものを使用する場合はDC+5V/5Aくらいのレギュレータをお使い下さい。

トランス式のリニア電源レギュレータなどに関しては後日紹介しますが、最近は医療機器組込用の低リップル、低ノイズでEMIが少ないスイッチングレギュレータが市販されていますのでそれらを使用することも選択肢の一つです。 最初は信頼のおけるメーカ(コーセルやTDKラムダなど)の5V/5Aくらいのスイッチングレギュレータを使用することをお勧めします。 それらの外部レギュレータの出力とRAL-KCM3MB1のJ9を接続し(正負を間違えないように)、J9の隣のJ10には付属の標準設定ハウジングを差し込んでおいてください。
KCM3MB1上のレギュレータU12,U14(TLV62090)の動作を止めて基板外部から別途作成したDC3.3V,1.8Vを供給する方法、トランス入力のリニアレギュレータなどは後日紹介いたします。


2. Start/Shutdown機能について

オリジナルのRaspberry Piには電源スイッチがありませんし、Raspberry Pi 3のようにACアダプタを接続している間はつねにPower_LEDが点灯しているものもあります。しかし、RasberianもLinuxですので電源OFFでファイルシステムを壊さないようにshutdown –h nowを命令後、一連の終了処理が終了した後に電源を落とす必要があります。RAL-KCM3MB1にはPCやPC周辺機器、ポータブル機器などでよく使われている電源スイッチ(ボタン)用LSI LTC2951Cを採用してStart/Shutdownボタンを実装しました。LTC2951C周辺の回路を抜き出した図をみながら動作を見てゆきましょう。


図-2 LTC2951CT部 回路図

Pushボタン(2回路2接点、モーメンタリ)を電源OFFの状態で押すかJ14の1番と2番の間を一時的に短絡するとU15(LTC2951C)のPB_N入力が’L’にアサートされます。接点のチャタリングや2重押しによりすぐOFFになるという問題はU15が解決してくれます。U15はPB_Nがアサートされると128mS後にEN_Nをアサートし、MOS_FETをONにしてVCC5に外部から供給されているDC+5Vを流し始めます。VCC5への供給が開始されるとLED2(Power_LED)が点灯し、CM3のCPUも起動します。

VCC5に電源が供給されCM3が動作している間に、再びPushボタンが押されるかJ14の1番-2番間が短絡されU16のPB_NがアサートされるとU16はINT_NをアサートしてCM3のCPUに終了処理がリクエストされたことを伝えます。CPUはこのリクエストを受付け、shutdown –h nowに相当する処理を実行したのち、U15のKILL_N入力をアサートします。 KILLがアサートされるとU16はEN_Nをdisableにし、外部から供給されているDC5VとVCC5の間を遮断します。RAL-KCM3MB1ではKILLのアサートの場合はすぐにVCC5が遮断され、USB-SATA Bridge経由で接続したHDDやSSDのunmount処理が正常終了しなかったというエラーメッセージが次回起動時に表示されることが多いので、CPUからのPower_OFFコマンドはPB_N入力に回し、14秒後にVCC5が遮断されるように設定しています。U16はPushボタンが押されて発行したShutdownのリクエストに対してCPUが応じない場合、14秒後にVCC5を遮断します。

CM3のCPUからのKILL_NもしくはPower_OFF_N指令はGPIOによりU16に伝達されます。その機能をenableにするためには/boot/config.txtの最後に下記の1行を追加しておく必要があります。

dtoverlay=gpio-power-off,gpiopin=5

この1行を追加しておくことにより、Volumio2のShutdownコマンドからPower_OFFを選択した場合や、shutdownコマンドが実行された際にGPIO5端子が’H’にアサートされVCC5が遮断されます。

Volumio2やRaspbian OSが起動中にPushボタンを押してShutdownを実行させるためにはPushボタンが押されたことを検出することが必要です。KCM3MB1ではU16のINT_N出力もしくはPushボタンをGPIO6に接続しています。GPIO6がアサートされたことを検出し、’shutdown –h now’というシェルコマンドを発行するプログラムをpythonで作成し、/etc/rc.localに追加しておくことが必要です。

プログラムの詳細、設定方法などは後日、Volumio2のインストール時に一緒に行いますので併せて紹介します。

外部電源を正負間違いなくJ9に接続後、CM3をまだ装着しない状態でPushボタンを押してみて下さい。Power_LEDが点灯するはずです。J10のところで3.3V、1.8Vなどの電圧チェックを行って下さい。その際に端子間隔が狭いので短絡させないように注意して下さい。もう一度Pushボタンを押すと14秒後にPower_LEDが消灯することを確認しておいて下さい。3.3V、1.8Vが正しく出力されていれば外部電源もOFFにした後、CM3モジュールを実装して下さい。


これでH/Wの準備は完了です。次はRaspbian Jessie LiteやVolumio2をinstallしてゆきましょう。

Raspberry Pi を本格オーディオ機器へ
もっと楽しむ Raspberry Pi オーディオ組込用
マザーボーボード
製品情報
RAL-KCM3MB01

Raspberry Pi Audio Cookbook #1 – 2

0 comments

Posted on 18th 5月 2017 by admin in Raspberry Pi Audio Cookbook |Tips |未分類


前回は本製品についてのご紹介と、この基板を使用に際しての準備についてお話をさせていただきました。
今回はいよいよ、基板についての説明に入ります。

Compute Module 3の実装

Compute Module 3本体は (写真-1) のように約45度ほど斜めにソケットに差し込み、キャリアボードと並行になるように上から押します。力をいれなくとも「カチッ」という音がするはずです。

写真-1

斜め45度ほどの角度からモジュールをセット(左)
真下に押し込む事でセットできる(右)

エッジ(金メッキの部分)が1mm以上もDDRコネクタからはみ出している場合は正しく装着できていませんので金属レバーを左右に広げ(CM3が斜めに浮き上がります)てCM3を取り外し、再度はめ直してください。(写真-2)

写真-2
正しくセットされるとエッジはあまり見えない(左)
モジュールが正しくセットされていないとエッジが見えてしまう(右)

ショートプラグの設定

RAL-KCM3MB1基板上にはJ6,J8,J15の三ヵ所にジャンパポストがあります。これらはそれぞれ下記のようにショートプラグで設定をします。

  • J15 LAN9514動作設定用、LAN MACアドレス設定用ポスト通常使用時は奇数列と偶数列(1と2、3と4….11と12など)をすべてショートプラグでショートしておき設定データをEEPROMから読み出せるようにしておいて下さい。 工場出荷時の設定データにはMACアドレスの上位3バイトのベンダコードとして00C0D0(RATOC Systems, Inc,のベンダコード)、下位3バイトには製品ごとに固有の番号が割り当てられています。その他、EEPROM内にはUSB LANコントローラやUSB HUBの動作を設定するUSB Descriptorが格納されています。なお、Raspberry Pi 3では本EEPROMは実装されていません。Raspbian OSがMACアドレスの上位3バイトにRaspberry Pi財団に割り当てられた値、下位3バイトは重複による衝突を避けるためCPUのシリアル番号の下位3バイトを埋め込んでいます。
    写真-J15
    1-2、3-4……11-12 となるようにショートプラグをセットします(写真右)
  • J6 CM3上の4GB eMMCにOSを書き込む場合に使用します
    J6 CM3 FW FFC-3AMEP1B
    端子番号 信号名 内容 備考
    1 VBUS0_B CN2 VBUS CN2(microUSB)のVBUS入力検出用
    2 UBEN USB Boot Enable CM3上のeMMCをenableにし、
    microSDカードソケットを無効にする。
    3 GND GND

    CM3上のeMMCフラッシュメモリへの書き込みをenableにするためには[1 – 2]間にショートプラグを差し込みます。enableにした後CN2のmicroUSBポートとWindowsPCのUSBポートを接続し電源をONにして下さい。実際の書き込み手順は後で説明します。

    [2 – 3]間にショートプラグを差し込むとCM3基板上のeMMCへのOS書きこみが
    disableとなります。通常使用時はこの位置にしておき、microUSBポートには何も接続しない状態で使用して下さい。CM3 Liteを使用する場合は、この位置にショートプラグを差し込んでおき、microSDカードソケットをenableにしておく必要があります。

    写真- J6
    1番と2番のポストにセットするとCM3上のeMMCに書き込みを許可
    書き込みを禁止させる場合は、2番と3番のポストにセットさせます(写真右)
  • J8 LANポートのActive_LEDおよびLink_LEDを点灯、消灯を設定しますLEDの点滅によるノイズを減少させるために消灯を選択することができます。
    J8 LAN_Link,Act LED enable FFC-3AMEP1B
    端子番号 信号名 内容 備考
    1 VCC3.3 Pull up用電源出力
    2 LED ENB LAN Link/Ack LED アノード 1 – 2 間にショートプラグ設定でLED点灯可。
    3 N.C. 未接続

     

    写真-2
    LED点灯をさせる場合は、1番と2番のポストにプラグをセットしたます(写真右)

各コネクタについて


RAL-CM3MB01ボード図

1 J2
(40P ヘッダ)
Raspberry pi 2 B+, 3互換の40Pヘッダ
2 J3(PH8P) I2S信号出力コネクタ
3 J4(PH4P) I2C信号入出力コネクタ
4 J5(PH9P) SPI信号入出力コネクタ
5 J9 (XH4P) DC+5V供給用コネクタ
6 J10(XP14P) 電源回路切替設定用コネクタ
7 J11(PH3P) ACT_LED 信号取出用コネクタ
8 J12(PH3P) Power_LED 信号取出用コネクタ
9 J13(PH3P) Shutdown_LED 信号出力コネクタ
10 J14(PH4P) Start/Shutdown Pushボタンスイッチ延長用コネクタ
  • J2(40P ヘッダ) Raspberry pi 2 B+, 3互換の 40Pヘッダ
    信号配置は下図を参照して下さい。Raspberry Pi 2 B+,3と配置やGPIO番号、信号レベルは互換です。ただし、DC+5V,DC+3.3Vは出力専用です。これらの端子には外部から電力を供給しないで下さい。KCM3MB1側には逆流防止ダイオードは入れていませんので電源回路が破損する恐れがあります。

    I2S J3 コネクタ 共通部分
    I2C J4 コネクタ 共通部分
    SPI J5 コネクタ 共通部分
  • J3(PH8P) I2S信号出力コネクタ
    GPIOをI2S信号に対応可能なようにVolumio2などRaspberry Piの代表的なMPDにあわせてアサインしています。

    J3 I2S入出力 B8B-PH-K-S
    端子番号 信号名 内容 備考
    1 VCC3.3 外部アイソレータ用電源出力 3.3V 電源出力
    2 GND
    3 I2S MCLK 外部Master Clock入力 GPIO20 40P(J2) 38番と共通
    4 GND
    5 I2S BCK BCLK出力もしくは外部BCLK入力 GPIO18 40P(J2) 12番と共通
    6 I2S LRCK LRCLK出力もしくは外部LRCLK入力 GPIO19 40P(J2) 35番と共通
    7 I2S DATA LPCM Data 出力 GPIO21 40P(J2) 40番と共通
    8 GND S.GND

     

  • J4(PH4P) I2C信号入出力コネクタ
    Raspbian(OS)の標準設定に合わせてI2Cの信号をアサインしています。これらの信号を使用するためにはOSの起動時にI2CがenableとなるようRaspi-Configなどで設定をしておく必要があります。

    J4 I2C入出力 B4B-PH-K-S
    端子番号 信号名 内容 備考
    1 VCC3.3 I2C電源 3.3V電源出力
    2 I2C_SDA1 I2C Data 入出力 GPIO2  40P(J2) 3番と共通。
    1.8kで3.3VにPullup済
    3 I2C_SCL1 I2C Clock 出力 GPIO3  40P(J2) 5番と共通。
    1.8kで3.3VにPullup済
    4 GND S.GND

     

  • J5(PH9P) SPI信号入出力コネクタ
    Raspbian(OS)の標準設定に合わせてSPIの信号をアサインしています。これらの信号を使用するためにはOSの起動時にSPIがenableとなるようRaspi-Configなどで設定をしておく必要があります。

    J5 I2C入出力 B4B-PH-K-S
    端子番号 信号名 内容 備考
    1 VCC3.3 SPI電源 3.3V電源出力
    2 SPI_SCLK SPI Clock 出力 GPIO11 J2(40P) 23番と共通
    3 SPI_MOSI SPI Data 出力 GPIO10 J2(40P) 19番と共通
    4 SPI_MISO SPI Data 入力 GPIO9 J2(40P) 21番と共通
    5 SPI_CE0_N SPI Select 0出力 GPIO8 J2(40P) 24番と共通
    6 SPI_CE1_N SPI Select 1出力 GPIO7 J2(40P) 26番と共通
    7 N.C. 未接続
    8 N.C. 未接続
    9 GND GND

     

  • J9 (XH4P) DC+5V供給用コネクタ
    RAL-KCM3MB1へ電源(DC+5V)を供給するためのコネクタです。XHコネクタを使用していますので端子1本あたり最大3Aの電流を流すことが可能です。ただし、低電圧(DC+5V)大電流(最大3A)の場合はリード線の抵抗分も無視できなくなります。リード線による電圧降下が大きい場合は1,2と3,4という組み合わせて並列にして抵抗分を減らすことが可能です。電源スイッチがOFFの場合でも、Start/Shutdownボタン回路の待機電流が流れていますので短絡事故などにご注意下さい。

    J9 DC+5V電源入力 B4B-XH-A
    端子番号 信号名 内容 備考
    1 DC+5V 電源入力 外部電源入力 DC+5V+/-0.25V
    2 DC+5V 電源入力 外部電源入力 DC+5V+/-0.25V
    3 P.GND 電源 GND /Return 外部電源 GND Return
    4 P.GND 電源 GND /Return 外部電源 GND Return

    注) RAL-KCM3MB1には本コネクタに対応したXHR-4ハウジング、赤リード線(1番に接続済、長さ20cm)、黒リード線(4番に接続済、長さ20cm)が付属しています。

     

  • J10(XP14P) 電源回路切換設定用コネクタ
    J10は電源のモードを設定するレジスタです。標準添付のXHR-14ハウジングでは2番と7番(赤)、9番と14番(白)、10番と12番(黄)が電線で短絡されています。本コネクタを利用することにより、基板外の3.3Vレギュレータ、1.8Vレギュレータを利用することや、Start/Shutdownボタンスイッチを使用しないというモードにも設定することが可能です。

    J10 電源モード設定 B14B-XH-A
    端子番号 信号名 内容 備考
    1 P.GND 電源 GND /Return 電源 GND Return
    2 VCC5 電源入力 DC5V電源入力。4番と共通。
    U13(FET Switch)の出力に接続。
    3 P.GND 電源 GND /Return 電源 GND Return
    4 VCC5 電源入力 DC5V電源入力。2番と共通。
    U13(FET Switch)の出力に接続。
    5 VCC5_IN 電源入力 CM3_V_Batt,U12(3.3Vレギュレータ),
    U14(1.8Vレギュレータ)に5Vを供給。
    6 P.GND 電源 GND /Return 電源 GND Return
    7 VCC5_IN 電源入力 CM3_V_Batt,U12(3.3Vレギュレータ),
    U14(1.8Vレギュレータ)に5Vを供給。
    8 P.GND 電源 GND /Return 電源 GND Return
    9 VCC3.3_OUT U12 出力 KCM3MB1上の3.3Vレギュレータの出力。
    10 VCC1.8_OUT U14 出力 KCM3MB1上の1.8Vレギュレータの出力。
    11 P.GND 電源 GND /Return 電源 GND Return
    12 VCC1.8_IN CM3 1.8V VCC KCM3MB1 DC1.8V電源入力。
    13 P.GND 電源 GND /Return 電源 GND Return
    14 VCC3.3_IN CM3/LAN9514 VCC KCM3MB1 DC3.3V電源入力。

    注)RAL-KCM3MB1には標準設定用のXHR-14ハウジングが付属しています。標準設定では

    1. 2番と7番を接続。基板上の3.3V、1.8Vレギュレータに5Vを供給。
    2. 9番と14番を接続。基板上の3.3Vレギュレータを使用。
    3. 10番と12番を接続。基板上の1.8Vレギュレータを使用。

    と設定されています。

  • J11(PH3P) ACT_LED 信号取出用コネクタ
    本コネクタはACT_LED駆動信号を外部に引き出すためのコネクタです。1番に外部LEDのアノード、3番にカソードを接続することによりフロントパネルなどに取り付けたLEDを点灯させることができます。KCM3MB1上のLEDを使用する場合には付属のショートプラグを1番、2番間に挿入しておいて下さい。外部のLEDに電流制限のための抵抗は追加する必要はありません。一番より15mAが供給されます。なお、ACT_LEDをActive(点灯)させるためには/boot/config.txtに下記の一行を追加し使用しているGPIOの番号を設定しておく必要があります。
    dtoverlay=pi3-act-led,gpio=16
    注)KCM3MB1ではGPIO16でLED1をドライブします。

    J11 LED1バイパス B3B-PH-K-S
    端子番号 信号名 内容 備考
    1 VCC5 LED用電源 U13(FET Switch)出力より供給。
    2 LED1 LED1アノード KCM3MB1上のLED1(ACT)アノード。
    1-2ショートで点灯可。
    3 EX_LED1 外部 LED1 カソード 外部LEDのカソードに接続。
    アノードには1番を接続。

     

  • J12(PH3P) Power_LED 信号取出用コネクタ
    本コネクタはPower_LED駆動信号を外部に引き出すためのコネクタです。1番に外部LEDのアノード、3番にカソードを接続することによりフロントパネルなどに取り付けたLEDを点灯させることができます。KCM3MB1上のLEDを使用する場合には付属のショートプラグを1番、2番間に挿入しておいて下さい。外部のLEDに電流制限のための抵抗は追加する必要はありません。一番より15mAが供給されます。

    J12 Power LED バイパス B3B-PH-K-S
    端子番号 信号名 内容 備考
    1 VCC5 LED用電源 U13(FET Switch)出力より供給。
    2 LED2 LED2 アノード KCM3MB1上のLED2(ACT)アノード。
    1-2ショートで点灯可。
    3 EX_LED2 外部LED2 カソード 外部LEDのカソードに接続。
    アノードには1番を接続。

     

  • J13(PH3P) Shutdown_LED 信号出力コネクタ
    本コネクタはShutdown_LED駆動信号を外部に引き出すためのコネクタです。1番に外部LEDのアノード、3番にカソードを接続することによりフロントパネルなどに取り付けたLEDを点灯させることができます。KCM3MB1上のLEDを使用する場合には付属のショートプラグを1番、2番間に挿入しておいて下さい。外部のLEDに電流制限のための抵抗は追加する必要はありません。一番より15mAが供給されます。

    J13 Shutdown LED バイパス B3B-PH-K-S
    端子番号 信号名 内容 備考
    1 VCC5 LED用電源 U13(FET Switch)出力より供給。
    2 LED3 LED3 アノード KCM3MB1上のLED3(ACT)アノード。
    1-2ショートで点灯可。
    3 EX_LED3 外部LED3 カソード 外部LEDのカソードに接続。
    アノードには1番を接続。

     

  • J14(PH4P) Start/Shutdown Pushボタンスイッチ延長用コネクタ
    本コネクタはStart/Shutdown ボタン信号を延長し、パネルなどに取り付けPushボタンスイッチで、Start/Shutdownが実行できるようにするためのものです。増設する押しボタンスイッチは2回路2接点のPush-ON(Make、A接点)タイプの製品をお使い下さい。MAKE接点と本コネクタの1,2および3,4の各回路に接続することによりKCM3MB1上のPushボタンスイッチとWired-ORされます。

    J14 Start/Shutdown ボタン バイパス B4B-PH-K-S
    端子番号 信号名 内容 備考
    1 PB_N Pushボタン ’L’アクティブ U15(LTC2951CTS8)のPB_Nに接続。
    2 GND GND ボタンが押されたら 1-2間を短絡する。
    A接点モーメンタリ。
    3 VCC3.3 VCC 3.3V ボタンが押されたら 3-4間を短絡する。
    A接点モーメンタリ。
    4 P_DWN Shutdown ボタン検出通知信号 Shutdownボタンが押されたことを、
    GPIO6を通してMPUに通知する。

     

RAL-KCM3MB1のH/Wの紹介、各機能の紹介をいたしました。
次回は電源を用意して実際に動かすまでということでお話を進めてゆきたいと考えております。

Raspberry Pi を本格オーディオ機器へもっと楽しむ
Raspberry Pi オーディオ組込用 マザーボーボード
製品情報
RAL-KCM3MB01

Raspberry Pi Audio Cookbook #1 – 1

0 comments

Posted on 15th 5月 2017 by admin in Raspberry Pi Audio Cookbook |Tips


Raspberry Pi Compute Module 3 専用
キャリアボード登場

Raspberry Piを使ってNet Audio機器の自作に挑戦したい。
そんな自作オーディオを趣味とされる皆さんに楽しんで頂くために、当社ではRAL-KCM3MB1というRaspberry Pi Compute Module 3専用のキャリアボード(マザーボード)を発売します。 Raspberry Piシリーズは名刺サイズ(PCカードサイズ)のRaspberry Pi 基本タイプ、さらに小さい Raspberry Pi Zeroが有名ですが、機器組込用としてCompute ModuleというDDR2 SODIM メモリソケット対応のModuleも発売されています。  特にCompute Module 3(CM3)はRaspberry Pi 3と同じ4コアのCPUを搭載した最新、高速版です。

私達はRaspberry Piが発売された当初からいろいろと実験してきましたが、実用的なものに組み込んで使用する上でいろいろと不満がありました。 そのため、CM3に対応し、必要な周辺回路を実装したキャリアボードを開発し、Raspberry Piの応用分野をひろげるだけでなく、自作派オーディオマニアの皆さんにも提供することにいたしました。

USB Hi-Speed、HDMI のコンプライアンステスト合格基準を満足しているだけでなく、静電破壊対策、不要輻射対策、インピーダンスコントロールを行った業務用マザーボード仕様です。 また、自作派のみなさんがオーディオ機器らしいケースに組み込みやすいようコネクタの配置や電源スイッチ(Start/Shutdownスイッチ)なども工夫しました。さらにRaspberry Pi 2、3互換の40Pヘッダも搭載しましたのでRaspberry Pi 2や3で実験していた電子工作をそのまま移植することができます。
本Cookbookでは皆さんがご自分の手でRaspberry PiでNet Audio機器を作り、改良しながら「いい音で音楽を楽しんでいただけるよう」に必要な情報を提供してゆきます。 Net上にはRaspberry pi Audioに関する情報が氾濫していますので、それらも参考にされながら「自作オーディオ」をお楽しみ下さい。
ただし、OSのVersionの違いなどでNet上で得た情報そのままでは動作しないということもありますのでご注意下さい。

本CookbookでもOSの更新などには逐次対応しながら情報を提供してゆく予定です。


用意するもの

お料理本と同様に本Cookbookも材料の説明からはじめてゆきたいと思います。

  1. RAL-KCM3MB1 CM3専用キャリアボード
    …. これがないと始まりません。
  2. Raspberry pi Compute Module 3 Lite
    …. 4GBのe-MMCメモリなしのタイプ。
    4GBのe-MMCメモリ実装済のCompute Module 3を使用される場合はKCM3MB1上のmicroSDカードスロットは使用できません(CM3上で無効となっています)。CM3へのプログラムの書き込みは専用のmicroUSBコネクタを使用します。
  3. DC +5V電源 ….出力3A以上、DC+5V+/-0.25Vのレギュレータを用意して下さい。
  4. 有線LAN環境
    …. RAL-KCM3MB1を接続できるRouterやHUBの空きポートが一つ必要です。当然ケーブルも必要です。
  5. 8GB以上のmicroSDカード
    …. HC IタイプでOKです。Volumio2やMoOde Player, Rune Audioなどはそれぞれ専用のimageファイルで提供されていますのでできれば2枚以上の複数。中国の携帯メーカ向のBulk品(東芝またはSanDiskブランド)の特価品で問題なく使用できます。Raspbian Jessie Lite、Volumio2だけなら4GBのmicroSDカードでもOKですが、テスト用の楽曲データを入れたり、Raspbian Jessie PIXELをinstallする場合は4GBを超えますので8GBを購入しておいた方が得策です。インストール方法などは後で説明します。
  6. WindowsPC(Windows10)、microSD用Card Reader/Writer
    …. 古いモデル、安いモノはHC Iに対応していないことがありますので注意して下さい。
    同一Network内で‘Volumio’もしくは’Volumio.local’という名前でVolumioをインストールしたRaspberry Piに接続するためにはWindowsPC側にiTunesをインストールしておくと便利です。iTunesをインストールしておくとIPアドレスを直接入力しなくとも名前で接続することができます。これはAppleが開発したBonjourというゼロコンフィギュレイション技術がiTunesをインストールすることにより一緒にインストールされるためです。Volumio2をインストールしたRaspberry PiをWiFiルータに有線LANで接続しておけば、WindowsPCのiTunes、iPod、iPad、iPhoneなどからAirPlayの出力先としてVolumioが登録されます。
  7. 音源用USBストレージ、もしくはNAS
    …. 動作確認であればUSBフラッシュメモリが簡単です。Windows PC で音楽ファイルをCopyしておけば使用できます。 Volumio2ではDefaultでsystem用のmicroSDカードの未使用領域を拡張しinternal starageというフォルダが用意されています。WindowsPCからはTeraTermなどを使用してSSH、Samba経由で楽曲ファイル(WAVファイルなど)をCopyすることができます。詳しくは後ほど説明します。
  8. USB-DAC、ヘッドホン、アンプ+スピーカ
    RAL-KCM3MB1上にはPWM出力用の3.5ミニJackは実装していませんので音楽はUSB-DACもしくはHDMI-TVから出力することになります。
    Raspberry piのOSにはUSB Audio Class 1, 2の両方に対応したドライバが組み込まれていますので新たにドライバをインストールする必要はありません。USB-DACはBus_Powerタイプ、Self-Powerタイプのどちらでも使用可能ですが、Bus_Powerタイプの場合はUSB 2.0規格に準拠した製品(突入電流を含め500mA以下)を使用して下さい。
    ただし、起動時間が長い製品はBus_Power供給開始後RaspbianのDevice Checkに間に合わず応答できない場合があります。そのような場合にはRestartかRebootを行うか、Self_Powerで使用する必要があります。
    Raspberry PiにはUSB以外にI2Sを使用して音楽を出力することもできますがその方法については後日紹介します。
  9. 筐体
    ご自分でお好みのケースをご用意下さい。 市販のタカチ製のケースに対応した穴あけ加工図を後日upしますので参考にして下さい。加工図面をタカチに送付して加工を依頼することができます。ただし、タカチのケースの場合、シャーシアース(フレームグラウンド)の取り方に注意して下さい。アルマイト処理は電気的には導通していませんのでEMI対策、ハムノイズ対策には組立て時にネジにキクワッシャをはめて導通させ電位差をなくすことが必要です。
  10. データシートなどの参考資料
    Raspberry Pi Compute Module 3のデータシートなどの資料は下記のリンクから入手することができます。
    Raspberry Piの資料はこちら ⇒(外部リンク)
    上記のページ[DOCUMENTATION>HARDWARE>COMPUTEMODULE] にある、各項目を選択(クリック)し、必要な情報を入手もしくは閲覧しておいて下さい。各項目は以下の箇所。
    – Datasheet ・・・ CM3,CM3 liteのデータシートです
    – Schematics ・・・ CM3、CMIO Rev 3.0の回路図を入手できます。
    – Flashing the Compute Module eMMC ・・・ CM3のon-board eMMC Flashに書き込むための方法やWindows用Driverなどが入手できます。CM3 Liteを使用する場合は不要です。
    – Compute Module attaching and enabling peripherals guide ・・・ bootに必要なdata file、設定などの情報が記載されています。最初は特に目を通さなくとも問題はありません。

RAL-KCM3MB1の回路図、基板寸法図、ケースに入れる際に必要なコネクタ配置図は、下記からdownloadすることができます。ただし、無断引用はお断りいたします。
http://www.ratocaudiolab.com/ral/raspiaudio/cm3mb1/


次回からは、いよいよRaspberry Pi Compute Module 3の実装や、ショートプラグ、コネクタの説明をおこないたいと思います。

Raspberry Pi を本格オーディオ機器へもっと楽しむ
Raspberry Pi オーディオ組込用 マザーボーボード
製品情報
RAL-KCM3MB01