ラベル raspberry pi の投稿を表示しています。 すべての投稿を表示
ラベル raspberry pi の投稿を表示しています。 すべての投稿を表示

2017年8月22日火曜日

ラズパイに人感センサをつなぐ

人を感知するセンサが焦電型赤外線センサです。出力がディジタルなモジュールが入手できます。


 Raspberry Piで利用する例です。

人感センサ1 PaPIRs
人感センサ2 PSUP7C-02-NCL-16-1

2017年5月29日月曜日

node-REDでセンサを扱う記事が蓄積できた


Raspberry Piを使うと、実際のセンサをハンドリングできます。
1-wireのように複数の温度センサをつないだ時のJSONデータの取り出し方は、面倒ですが記述は簡単です。

おんどとりのようにバイナリ・データをコマンドとして送らないといけないのは、記述が簡単ではありません。

LED電球のHUEはgatewayを通じてZigBee通信を行いますが、ファームウエアを更新しないと、電球を見つけてきません。夏にはIKEAの安いTRADFRIがサポートされるようなので、期待しています。


www.denshi.club/pc/nodered/windows-node-red-1.html
2017年2月16日 ... Windows でnode-REDを使ってIoT (1) インストール. □Windowsマシンには自由に 使えるI/Oがない. 現在のPCには、セントロニクス・パラレルのプリンタ・ポートやRS232C の制御信号を含む非同期シリアル・ポートは外部に出ていません。
www.denshi.club/pc/nodered/node-redtips.html
2016年11月30日 ... node-RED Tips -- Input (1). ○CPUのクロックを表示(2016/11/30). ラズパイの クロックは、デフォルトから次のように/boot/config.txtに書き加えると変更できます。 Raspberry Pi 3 Model 3の例です。
www.denshi.club/pc/nodered/node-red-tips----output.html
2016年11月30日 ... node-RED Tips -- Output (1). ○dashboardノードを使って測定結果をビジュアルに 表示(2016/11/30). テスト用に常に変化するデータ・ソースを用意します。こちらのWeb ページでも紹介しているラズパイのCPU温度を測ります。 次のJSON ...
www.denshi.club/pc/iot/iot3node-red.html
2017年1月22日 ... node-REDではセンサなどの専用のノードが用意されていれば、すぐに利用できます。 そうでない場合は、装置に合わせたコマンドを送って利用します。測定器の34461Aも 同様に利用できました。多くの測定器では、コマンドはアスキ・コードで ...


www.denshi.club/pc/led/ledphilips-hue1-node-red.html
2017年3月11日 ... LED電球(Philips HUE)をコントロールする その(1) node-RED. □LED電球を自在に 扱う. 蛍光灯の時代、調光機能をもつリモコンを使うと、たいへん便利でした。LED電球 に時代が移り、初期のころは調光機能が働きませんでしたが、今では ...
www.denshi.club/.../nodered/x86-raspberry-pi-jessie-node-red.html
2017年1月1日 ... x86 Raspberry Pi Jessie にnode-REDをインストール (1). □x86 Raspberry Pi Jessieのセットアップ. Raspberry Piの利用できるOSの中で、多くの人に使われている のがLinuxのDebianベースのJessieです。2016年12月16日に、現在 ...
www.denshi.club/pc/iot/post-3.html
2017年1月24日 ... おんどとりでIoT その4 node-REDのメッセージ. □メッセージの内容. functionノード では、プログラムを記述できるのですが、メッセージ自体がどういうものかがわかってい ないと、送られてくるメッセージに対して追加や変更ができません。
www.denshi.club/pc/led/ledphilips-hue2node-red.html
2017年3月24日 ... LED電球(Philips HUE)をコントロールする その(2) node-RED. □Windowsでも実行 できる. 前回、PhilipsのLED電球HUEのON/OFFをnode-REDを使ってプログラミング しました。色温度などを変更したり、RGBの3色を独自に変更できる ...
www.denshi.club/pc/raspi/iot8spi2.html
2016年11月13日 ... はじめての電気とIoT (9) SPI経由でアナログ電圧測定 その2 node-RED. □入力電圧 に応じて出力を可変. 前回、ラズパイにA-DコンバータのMCP3008をつなげ、実験の ためにチャネル0のCH0を3.3VにCH1をGNDに接続して動作を確認 ...

最新のWindows 10 IoT Coreインストール

2016年1月11日にRaspberry Pi 2を用いてWindows 10 IoT Coreのインストールの記事を掲載しました。
 Raspberry Pi 3がサポートされたので、それに伴って、インストールの様子を更新しました。なんと、ほぼ全部変更になりました。2017年5月まで1年半は、すごい変化です。
 2017年にRaspberry Pi 4が出ると、もっと変わるかもしれません。

IoTへの挑戦 Raspberry PiでWindows 10 IoT Coreを動かす(2)(Ver 2.0)


テキサス・インストルメンツのsensorTAGをnode-REDで簡単にプログラミング

 10種類のセンサを搭載してBluetoothで通信するTIのsensorTAGは技適を通っています。
 センサが送ってくるデータはJSON形式なので、node-REDで扱うのに適しています。javascriptでコーディングするのも最小限で済みます。
 たとえば、複数のセンサデータから、温度を抽出するfunctionのコードはこんなに簡単です。
if (msg.topic === 'sensorTag/temperature') {
    msg.payload = msg.payload.ambient;
    return msg;
} else {
    return null;
}


(1) node-REDのノードの準備
(2) node-REDプログラムの作成

2017年5月2日火曜日

Raspberry Pi ネイティブ JESSIEで i2s-DACを使う update!

Raspberry Piの4/10版JESSIEには、PCM5122系のi2s-DACのドライバが入っています。つまり、MPDをつかわずとも、HDMIからではなく、HATボードからハイレゾを再生できます。
 ALLO – BOSS DAC(PCM5122)でも動作確認したので、追記しました。

Raspberry Piでi2s-DACを音声出力にして高品位な音楽を聴く(Rev.C)





2017年2月24日金曜日

ラズベリーパイ ゼロが国内販売開始

Raspberry Pi ZEROは2015年暮れに5ドルで発売され、その後Ver1.3に上がりましたが、日本国内では正規な流通には乗りませんでした。
 2017年2月24日18:00に国内販売が始まります。KSYでは702円+送料、スイッチサイエンスは648円+送料です。どちらも即日発送ではありません。
 最低限、ピンヘッダがないと、積読になりそうです。

現行のラズパイ3(Raspberry Pi 3 model B)に比べて、

  • CPUがシングル・コア(3は4コア)
  • クロックが1GHz(3は1.2GHz)
  • メモリが512Mバイト(3は1Gバイト)

と機能が低いですが、学習を初めるには十分な機能と速度があります。

 2017年1月11日のラズパイOSが最新です。


5ドル!ラズパイ・ゼロ(Raspberry pi Zero)でIoT (1) ラズパイとは

2016年10月4日火曜日

Raspberry Pi とVolumio2がリクロッカでさらに進化する

Volumio2が10月14日に正式にリリースしました。

Raspberry Pi とVolumio2はChordのmojoとあまり変わらない高品質の音楽がながれる。
それが、進化した。

https://volumio.org/allo-kali-i2s-reclocker-a-true-gamechanger/

ハードは、


  • ALLO KALI I2S RECLOCKER 7000円
  • ALLO – PIANO HI-FI DAC 2750円
  • ALLO – POWER SUPPLY 5V 3A 1125円

価格は本日のレート。
 ラズパイの上に重ねて使う。電源は、ラズパイだけとKaili+pianoの2系統に分けられる。

 pianoはPCM5122を使っている。抵抗やコンデンサは、オーディオ用を選んである。電源ラインには、LCフィルタがしっかり入っているし、TIの新しいLDOを使っている。ヘッドホンアンプも新しいTPA6133A2。

ありていにいうと、音の分離がよくなり、バイオリンが聞きやすくなった。弦がえも言われないぐらい震える。


Raspberry Pi とVolumioで最先端オーディオを楽しむ その7 より良い音を求めてリクロッカKALI

2016年10月1日土曜日

ラズパイでVNCを使うのがこんなに簡単になった

9月23日付けのラズパイのリリースは、画面回りが一新されました。WebブラウザもGPUメモリ 16MB で動きます。

20年前、リモート・ソフトを使ったことがありますが、画面更新が亀のように遅く、それ以後、使っていませんでした。

今回のリリースでは、個人使用のライセンスでRealVNCサーバがインストールされています。設定画面でチェックするだけで、起動できます。

使ってみて、便利だ、早い! というか、ラズパイにディスプレイが不要になりました。


とにかく便利!Raspberry Pi をWindowsから利用するVNCの簡単インストール

2016年8月10日水曜日

Raspberry PiによるWindows 10 IoT Coreのまとめ

8月3日にWindows 10 Anniversary Updateがありました。Windows 10 IoT Coreはマイコンボードに対応した組み込み用のOSですが、同様にAnniversary Updateがありました。
Windows 10 IoT Coreの開発ツールはVisulaStudio2015でRaspberry Piなどのマイコンボードのソフトを作り、リモートで更新します。デバッグもできる便利な環境が用意されています。
 まとめ記事を掲載しました。
http://www.denshi.club/make/2016/08/raspberry-pi-3-model-b-10.html

2016年7月1日金曜日

Raspberry Pi と Volumio 2 RC2 & I2S-パワーアンプMAX98357

 I2S接続は、音がよい。ということで、パワー・アンプをつないでみた。どの半導体メーカーも頑張っているが、最近、TIの宣伝をよく見る。けれど、電子工作で使えるのは多くない。
 エイダフルートの製品をスイッチサイエンスが扱っている。

MAX98357A搭載 I2S 3W D級アンプボード

元の型番は「Adafruit I2S 3W Class D Amplifier Breakout - MAX98357A」だが、マニュアルは「Adafruit MAX98357 I2S Class-D Mono Amp」とモノアンプであると明記されている。

 I2Sはステレオ信号を受け付ける。MAX98357 は、16/24/32ビットで最大96kHzまでの信号をデコードする。ハイレゾ対応だ。
 問題は、出力が1系統しかないところ。デフォルトがL+Rの混合出力。用途によってはそれでよいのだけど、ステレオで使いたい。
 SD端子にかける電圧で、Lチャネルだけ、Rチャネルだけ、L+Rチャネルという使い分けができる。つまり、ボードが2枚あればよい。

 I2Sの信号は3種類あるが、MAX98357はラズパイでも扱っている左詰め。
 とりあえず、Lだけ、Rだけの出力が出るところまで実験した。


Raspberry PiのI2Sにパワー・アンプを追加する (1)

真空管でいうと45シングル並みの1W少しのパワーしか出ないが、45なみに、中低音はしっかり、明瞭度の高い音楽が聞こえてくる。

2016年6月28日火曜日

Raspberry Pi 3 model B と Volumio 2 RC2 & I2S-DAC ES9023

Volumio2が10月14日に正式にリリースしました。

連載メニュー Raspberry Pi とVolumioで最先端オーディオを楽しむ

(1) ラズパイで音出しの準備
(2) メイン・パーツはI2S-DACボード
(3) Volumio2を立ち上げる
(4) ケースに入れる
(5) PC(x86)用Volumio2
(6) コンパクトなZeroでMPD
(7) より良い音を求めてリクロッカKALI



新シリーズ 最新ラズパイ・ゼロと真空管アンプでハイエンド・オーディオを

(1) 準備
(2) 真空管アンプの組み立てを始める TU-8150
(3) はんだ付け完了
(4) 組み立て完了
(5) 測定1
(6) 測定2
(7) 真空管アンプの音出し
(8) Volumioのインストール準備
(9) Volumioの音出し



以下、Volumio2リリース以前の話題です。

update
ラズパイ用は7/25に0.975
                  7/28 0.976
      8/20 0.979
PC用は7/28に0.975

-----

7月25日付で、PC用のVolumio2 VERSION: 0.963

UEFIのBIOSでUSBブートするには、Fat32でフォーマットし、efiディレクトリにブートファイルが置いてあればいい。
レガシーBIOSでは、USBの先頭セクタにブートプログラムが入っていなければならない。
ファイルを見ると、efiディレクトリがあって、それらしいバイナリファイルが置いてあるので、UFEI対応と思われる。

UEFI対応マシンにUSBメモリを挿し、ブート時にUFEI-USBを選ぶと、Volumio2がブートした。元のWindowsには何も影響ないようだ。
日本語のフォントが入ってない。




-----
6月25日付で、ベータ版最終となるVolumio 2 RC2のRaspberry Pi用がリリースした。

https://volumio.org/forum/volumio-rc2-t4288.html
6/30 Githubも更新されたが、ラズパイ用だけ。https://github.com/volumio/Volumio2

RC1から3か月、たくさんの修正が行われたらしい。見た目は、バックに絵が張り込めるところ。

I2S-DACにはGeneric I2S DACを選択。Output DeviceはAudio Jackになっているが、表示だけの問題らしく、DACから音が出ている。


2.8MHzのdsf、5.6MHzのdffファイルも問題なく再生している。

多言語対応になっていて、日本語メニューをアップされた方がおられるので、週末のアップデートにはフランス語の不具合修正と同時に日本語が選べるかもしれない。

有線LANを追加するが、GUIは変化しない。RC1は2本目eth1も表示したように記憶している。

画像をドロップすると、背景を変えられる。


 もう1台立ち上げた。ひとつの画面で操作ができる。

7/1修正がかかる。0.923から0.928になった。
メニューに日本語が選べるようになった。

2016年6月7日火曜日

Raspberry Piのイヤホン出力の音を聞く

 Raspberry Piには、一番手軽に音を聞くにはイヤホンジャックを使います。B+の時代には、スイッチング電源に変わったから音がどうとかいう話を見かけましたが、その後、みんなの関心がI2Sに移ったようです。
 HDMIディスプレイを使えばそこから音は出ますが、秋月のSHARP 7インチ高精細IGZO-LCDパネル 接続モジュールセット(ラズベリーパネル接続キット)では音の出る場所がありません。
 
●4極イヤホンジャック
 Raspberry PiのイヤホンジャックにはVideoが出ています。先端から、L、R、GND、Videoです。
●パワーアンプは
もちろん効率の良いD級を使いますが、入力にボリュームがついていると便利です。
PAM8403 D級ステレオアンプモジュールを利用しました。このボリュームにはスイッチがついています。使ってわかりましたが、電源が入ったとき、ボコッとポップ音がします。

Raspberry Piのイヤホン・ジャックにパワー・アンプを追加する


 youtubeでそれなりの高音質の動画を再生しました。普通に、よい感じです。Raspberry Piは2Bを使いました。


●電源系の接続
 RAVPOWERという2.4Aが二つ出力のとれる充電器を利用しました。これは、実際に測ると3Aぐらいまで頑張れそうです。
 これをRaspberry Pi 2Bに入れ、GPIOの5Vをパワーアンプにつないでいます。
 USBには、PFU Happy Hacking Keyboard Lite2 英語配列 USBキーボード ブラック PD-KB200B/Uをつなぎ、このキーボードにはUSBが2口あるので、マウスと秋月のLCDをつなぎました。秋月のLCDは多くても500mA程度の消費電流なので、問題ないようです。

 CPUは少しあったかいですが、いまのところ止まることなく動作しています。


2016年4月17日日曜日

LabVIEW LINX Software Setup

https://www.labviewmakerhub.com/doku.php?id=learn:tutorials:libraries:linx:3-0:software-setup
のようには、LINXをインストールできない。Windows10のファイアウォールが邪魔をする。お勧めのツールを使ってのインストールは、この問題点(TCP/IPのポート)を指摘してくれるが、肝心のファイアウォールのアラート画面が出てこないので、インストール中に解除できない。ftpで落としてきたvipファイルをクリックしてインストールすると、ファイアウォールのアラートが出るので、先に進めれる。

今までに分かったこと。LabVIEW ホームエディションをダウンロードして、正常にインストールできないマシンがある。このマシンでは、岩通のツールが異常だったときにLabVIEWをインストールしてあるかどうかを聞かれた。keysightのBenchかIOサーチツールもLabVIEW が絡んでるような気がする。どちらにしろ、インストールが正常に行われたかどうかは、あまりにも入れるパッケージが多すぎてわからない。単純にホームエディションを入れるインストーラを用意してくれないと、初めて利用するユーザにはわからなすぎるインストーラだ。
アンインストールをしてもレジストリに試用期間が過ぎたことの情報が残って悪さをしているのかもしれない。正規な登録コードを入れてもLINXのインストールに失敗するので、そのマシンを使うのをあきらめた。

LINX3は、ラズパイをリモートでLabVIEWから使うツール。Arduinoと同じ考え。Windows10 IoT coreと同じ考えだと思う。

 ここまででわかっていないこと。ラズパイのSDメモリには何を入れればいいのか。Arduinoにはブートローダが最初から書かれている。Windows10では、PCのツールから書き込んでいるように思える。

ーーー
https://www.labviewmakerhub.com/doku.php?id=learn:tutorials:libraries:linx:3-0:raspberry-pi-setup
このスライドで分かったことは、ラズパイには普通にラズベリアンを入れる。LINXツールで、リモートソフトをインストールする。という手順。LAN経由で通信を行う。
ーーー
Lチカを始める。
Targets and Deices にタッチパネルしかない。LINXが見えるはず。
ftpで落としてきたのは、publishされていない。publishはpro版しかできないとされている。ビデオはプロを使っている。
30日トライアルをインストール。
publishするときに必要なファイルを読むようにファイルマネージャが開くが、何を開くかがわからない。

LINXパッケージを一度uninstallした。

お勧めの方法でインストールした。3363のポートは空いているママのようだ。
Targets and Deicesは見えない。リブート。
今度はTargets and DeicesにLINXが見ある。しかし、No items found 前途多難だ。

ラズパイの接続が、立ち上げるたびに毎回切れる。
固定IPアドレスを入れてsaveするが、ネットワークのリセットのメッセージを出したまま、フリーズする。

ーーー
やっと動いた。
たいへんだった。
どうも原因はファイアウォールではなかったようだ。LINXをインストールするときのモジュールにMakeHub Toolsも一緒に入れないと失敗する。ビデオでは、すでにそれがマシンに入っている状態で話を進めているように見える。
また、BlinkもI/Oポートの例題なのに、ビデオではeth0を触れるので、そうしないといけないように感じるが、そうではない。

ーーー

LabVIEW MakerHubによるRaspberry PiのLチカ (1)

ーーー
LINX3.00xは、1回では入らない。3台のマシンで実験。
アンインストールとインストールを2回、3回、5回で入った。めげないことが重要だ。


2016年3月29日火曜日

Raspberry Pi 3 model B と Volumio 2 RC1 & I2S-DAC ES9023

Volumio2が10月14日に正式にリリースしました。
10月15日現在、記事をアップデートしました。


新連載 最新ラズパイ・ゼロと真空管アンプでハイエンド・オーディオを

(1) 準備
(2) 真空管アンプの組み立てを始める
(3) はんだ付け完了
(4) 組み立て完了
(5) 測定1
(6) 測定2
(7) 真空管アンプの音出し
(8) Volumioのインストール準備
(9) Volumioの音出し


●実験中
 リクロッカKALIを使うとMCKが出ます。なので、MCKが必要なAK44xxが利用できます。
 AK4452はこのシリーズの一番ローエンドですが、弦の響きがすごく良いです。

AK4497EQは電源の影響をすごく受けます。キットで最初出ていましたが、現在は完成品になり、半額で販売されています。

 ES9038PROは、現時点でスペックが最高のDACです。
ラズパイでも利用できます。DIYINHKでは最小構成が2万円購入できます。8電源必要なので、電源部分の費用のほうがかかります。
 KALIの出すMCKを外部入力で使えます。もちろん、KALIのMCKではなくボード上にある80MHzも使えます。





以下、Volumio2リリース以前の話題です。

 ラズパイで最新のMPDであるVolumio2(RC1)を動かしている。Raspberry Pi 3 model Bを使えば、外部にWi-Fiドングルを用意しなくてよい。RC1はまだサンバの共有サービスが実装されていないが、NASがNFSをサポートしていれば、現時点でマウントできる。ただ、設定時の認識、動作時のマウントは時間がかかったり、挙動がへんだったりする感じ。



 NAS経由の音源。96kHz/24bitは問題なく再生。192kHzはプチプチ切れることがある。


7/30 いずれもRC2対応の記事にアップデートしています。Rev.B

 Raspberry Pi とVolumioで最先端オーディオを楽しむ その6 コンパクトなZeroでMPD


 RC1のままだとHifiberry+にしか対応していない。/boot/config.txtで、plusの文字をとって

dtoverlay=hifiberry-dac とすれば、ES9023が使えるようになる。GUIの設定は現状のバージョンではhifiberryplusだけど。

ーーー
4月17日現在
まだRC1だけど、CD-ROMが読めるような?記述、HDMIへの音声出力の選択メニューなどが追加されているようだ。
Intel-PCは、それ自体をMPDサーバーにするようで、専用のマシンを用意するような使い方かもしれない。
6月11日現在
もうすぐRC2が出そう。最終テスト版。機能はRC1に比べて大きく増強されている。PC版も用意されるかもしれない。
6月23日現在
 ラズパイ3で44.1kHz再生時に左右の出力が入れ替わる現象は、カーネルが対応したバージョンをRC2で用意するらしい。

6月25日付RC2リリース
 3か月ぶりに最終チェック用RC2がリリースした。2.63GBの容量。intel用はまだ用意されていない。
ダウンロード先;
https://volumio.org/forum/volumio-rc2-t4288.html

2016年3月23日水曜日

Raspberry Pi のI2S信号を見てみる つづき2

 49.152MHzのクロックを使っているのは、ES9023を積んでいる
DAC-24192-ULN, 24Bit/192KHz DAC, I2S Input, Ultra Low Noise Regulator Circuit

クロックは
HPRC-331: High Precision & Low Jitter Audio Clock with Ultra Low Noise Circuit
の組み合わせ。


 今日はpicoScorpeを使った。

 サンプリング周波数176.4kHzの1kHz。メインの正しいらしい周波数に対して、少しのずれた周波数の2種類の周波数が観測できる。


サンプリング周波数192kHzの1kHz。複雑。










サンプリング周波数176.4kHzの1kHz。時間軸を広げた。こちらのほうがはっきりわかる。低い周波数が一つ見える。


サンプリング周波数192kHzの1kHz。時間軸を広げた。メインの周波数自体を少し偏移させている。前の波形を見れば、さらに数Hz離れた複数の周波数にもずらすという、複雑な波形だと推測できる。

昨日の観測の推定から一歩進んだ。


  •  サンプリング周波数の整数倍のMCKのクロックを使うときは、メインの周波数以外に数Hzずれた周波数を数分の1の確率で発生させる。
  •  サンプリング周波数の整数倍でないMCKのクロックを使うときは、メインの周波数以外に数Hzずれた周波数を複数、数分の1の確率で発生させる。メインの周波数自体をすごく狭い範囲で偏移させる。


 サンプリング周波数の整数倍かそうでないかで、波形の作り方が大きく異なる。整数倍の時のほうが生理的には受け入れられるが、多くの人が入手しているのは、整数倍のクロックのDACではない。

 この実験の根本的な部分が間違っているのかな。最初に用意した1kHzが正しくない?
 WaveGeneの波形を見た。すると、トリガのかかり方によって、二つの波形が見えてしまう。でも、これは、トリガが、正弦波に乗っているノイズによって、安定にかかていないためだと思われる。 離れたところに出るので、上記の「サンプリング周波数176.4kHzの1kHz。時間軸を広げた。こちらのほうがはっきりわかる。低い周波数が一つ見える。」とかいたが、同じ理由であれば、

  •  サンプリング周波数の整数倍のMCKのクロックを使うときは、正しい波形だけが出る。


ということになる。


 しごく当然の結論。
 測定は難しい。リアルタイムに正しいトリガをかけるには、トリガにローパスフィルタをつけないと、このノイジーな波形に対処できないかも。
 逆か。ノイジーな波形をそうでないように対策してから測定すればいいのかな。
大体、この汚い波形をだれも見たことないから、対策をしている人を見かけない。。。いるのかな。
 さかのぼれば、BCKやLRCKにはMCKがもろに乗っているし、LRCKにはBCKが乗っている。192kHzのBCKはひどいオーバシュートが出ている。みんな何とかしないといけない問題。ディジタルデータとしては処理されるが、結局アナログ出力に、それらのノイズ成分が漏れているからこんな汚い波形になるのだろうと思う。
 ラズパイの信号からES9023への信号の途中にはダンピング抵抗が入っている。でも、すごくレベルの高いMCKの漏れは、取り切れていない。フェライトビーズで対策をすればいいのかな。

 で、オシロは、そういう状況でも正しい波形を観測しなくちゃいけない。リアルタイムでなくてもいい。そう、今のオシロはみんな蓄積型だ。keysightにはバッチ型の解析ソフトがあったような。買えないけど。
 Picoもデータは吐き出せる。Matlabのデータも吐き出せる。解析に持っていけそうな気はするが、気力がない。

 これらの結論は、測定器を正しく操作しているかどうかで変わってくるので、うのみにしないで。。。

PS. 176.4kHzは 発振器が50MHz、40MHz、49.152MHzいずれであっても、キレイは一つの周波数が観測できるような気がする。192kHzはノイジーになったり偏差のある周波数に動き続けているような感じ。

2016年3月22日火曜日

Raspberry Pi のI2S信号を見てみる つづき

 TeraDak ES9023 For Pi 2/B+。  wavgeneで1kHzを発振させ、UR12でループバックし、Wavespectraで録音。192kHz/24bitデータ。
 波形が安定してトリガがかからない。周波数カウンタに揺らぎがあるということは、PLLの」ロックが外れていること。とは関係ない? こういう事象って、どう測定すればいいのかな。わからない。

●FFTをかける
RCA出力。波形自体、ノイズが乗っている。

10kHz FFTをかけると、1kHz以外にノイズがみられる。

100kHz この帯域では、変なノイズ成分が見られない。オーディオ用としては問題ないように見える。でも60kHzから80kHz付近がこんもり盛り上がっているように見える。デルタΣ変調の高域の盛り上がりをローパスフィルタで落とした感じ?

1MHz いやはや、ノイズが多いね。これはコンピュータからのノイズかな?
10MHzでも、多くのノイズがみられる。もちろん音として聞こえはしないが、折り返して20kHz以下に落ちることは十分考えられる。

50MHz
 電源を入れていないとき。環境ノイズです。


さかのぼって、マシンが立ち上がって、volumioが動く前のノイズです。


●●重要なことが分かった。多くの推測あり

  • ES9023で50MHzのクロックを使うとき、サンプリング周波数192kHzの1kHz前後をばりばり変化する。
  • PCM5122でも192kHzの1kHzもばりばり変化する。おかしいなー。BCKに対してPLLが高い周波数を作っているのだから、安定なMCKが出ているはずなのに。
  • ES9023で49.152MHzのクロックを使うとき、サンプリング周波数192kHzの1kHzは少々変化する。
  • ES9023で49.152MHzのクロックを使うとき、サンプリング周波数176.4kHzの1kHzは1kHzと低いのと2つだけ変化する。二つの周波数なのでオシロでは安定に見えてしまう。

 48kHzハイレゾである176.4kHzは、その整数倍の49.152MHzでは安定に2通りの周波数が出力されている。2Hzぐらい離れている。出現頻度は半々ぐらいに見える。

 44.1kHzハイレゾである192kHzは、その整数倍ではないがの49.152MHzでは2通りの周波数が出力されている。2Hzぐらい離れている。波形の濃さから出現頻度は1:3ぐらいに見える。


 ES9018は、マルチレベルかつ3次のデルタシグマ変調器が入っている(たぶん)。絶対なレベルを正確に得ることは不可能なので、2^n個のコンパレータを用意し、ランダムに切り替える。確率的に、すごく正しいレベルが得られる。基準電圧は半導体の製造上正しい電圧が出ないけど、ある一定の電圧範囲に分布しているという理屈。双六を1万回ふると、各数字の出るのが1/6に近づくというのと同じ。10回ふっても1/6にはならない。

 もしかして、クロックに対しても、ふってるの? ある範囲の周波数偏移で毎回ずらして出力する。確率的には正しい周波数を出力することで、理想のクロックを使っていることになる、という理屈なのかなー。
 DSDでも、ノイズが高域にあるが、これがホワイトノイズであれば、折り返しても、聞こえる帯域のノイズレベルを上げるだけ。でも、特有の周波数成分があれば、折り返しノイズは、特定のスペクトルを持つことになる。

 ピアノだって、複数のピアノ線をよって作る。その1本ごとに共振周波数を変えて調律する。すでにむかしから、そういう手法はあったのだ。NHK「もう一つのショパンコンクール」から。

 もうひとつ考えられるのは、BCK/LRCKもすでに周波数がふられている。でも、安定に観測できるからそういうことはないように見えるけど。

 オーディオ用のDACが16ビットを超えたころから、絶対的な基準電圧や電流を作ることが不可能になった。なので、それを避ける工夫を各社がし始めた。

 とすると、15万円もするジッターの少ない発振器は、意味があるの。2つもしくはそれ以上の複数の周波数を偏移させるのだから、ジッターがあろうが最初からずらそうと思って設計されているのだとすると。意味ない?
 安いパーツを使っても、ちゃんと性能を出せる設計! えらい!
 ほんとかなー。

 なんか、青色LEDが、ある一定の割合で格子欠陥が存在したら、光量が飛躍的に増えたという話に通じるものがる。えっ、全然違うか。その当時というか、十年以上、みんなは格子欠陥のないGaNを作ろうとしてたんだね。


2016年3月20日日曜日

Raspberry Pi のI2S信号を見てみる

(1) ES9023ボード
 型番はI2S HiFi DAC ES9023 Expansion Board Decode Board Encoder for Raspberry pi B+で頼んだが、送られてきたのは、TeraDak ES9023 For Pi 2/B+ だった。2417円で購入。


 4つの信号を、200MHz、200MS/sの4象限オシロで見る。
 入力はCDリッピングのまま44.1kHz/16ビット。

 周波数を上げる。

 MCKが見えるところまで上げる。
LRCKの中に、MCKがびっちりと乗っている。BCKもしっかり乗っている。けれど、1/0の判断を間違えるようなレベルではない。
 BCKを基準に数ns遅れてDATAを見るので、ジッタの影響は全くない。というか、素晴らしい信号の立ち上がり。LRCKとBCKの同期はきっちり取れている。MCKは50MHzなので、同期はとれていなし、なんだかひずんだ正弦波だ。

 100MHz 5GS/sのオシロで見てみる。2現象なのでBCKとMCKだけ。同期はしていないので、ログデータをキャプチャ。
  706/44.1=16倍 サンプリング周波数の16倍がBCKになっている。


 ちなみに、画面で見えているのは、こんな感じ。
5GS/sすごいところは、なにかにひきづられて時々時間軸方向に微妙にずれているところをきっちり記録している。でも、このゆらぎは、データの読み取りに影響が出ているずれではないと思う。


●192kHz/24bit
 時間軸は上記の5倍速くなっています。BCK,DATAの関係はおんなじに見えます。おかしいな、Volumioの表示は32bitになっている。


 時間軸を早くします。
 もっと早くします。BCKは100ns=10MHz?
さらに早くします。
別のオシロで見ると。うっすら、少しずれた波形が見えています。BCKとMCKです。

BCK(下)とDATA(上)のタイミングを見ます。TIのPCM1792のタイムチャートによれば、BCK立ち下がり10ns後にDATAをサンプリングしていますから、ジッターの影響はないですね。


I2Sの信号の立ち上がりがとてもそろっています。ARMマイコンって、I/Oを同時にON/OFFする命令があるのでしょうか?

 ついでにRCAのアナログ信号を見て。。。見ないほうが良かった。本当? 1kHzは存在するけど。


 プローブではなくてシールド線でつなぐと少しはきれい。