SSブログ

Raspberry Pi用pigpio Library(番外編その3) [Raspberry Pi]

昨日の確認結果。Raspberry Pi3にD/AコンバータのMCP4922をSPIのstandard bus(pigpioの言うところの)のほうに繋いで1kHzの三角波を出力させたところ。出力中にはSPIのauxiliary busのほうに繋がったA/DコンバータであるMCP3208には60kHzぐらいのレートで他の信号を別スレッドから同時にサンプルさせている。
1217scope.jpg
自分で言うのもナニではあるけど、これはArduinoじゃないよとわざわざ注釈を入れたいほどの、ふぉとしょで描いたように安定した美しい三角波。変調度は10%ほどの浅いものなので、D/Aの非直線エラーがわかるほどではないが、よくみるとグリッジが出ているのはわかる。

オシロ右下の周波数表示もうれしいことを言ってくれている。ほんとかどうか知らないけど(出力ソフトもオシロも時計を使っているからそれなりに確度は高いか)。

ということでとりあえず、僕としては一件落着。
nice!(0)  コメント(2)  トラックバック(0) 

nice! 0

コメント 2

貴樹

はじめまして。
Mathematicaが好きな方を見つけ、そして RaspberryPiにも興味を持っているとのことで、うれしくてコメントしています(・・)

RasPiを使ったシステムでは、ADコンバータを使ってもキレイにサンプリングできないだろうと思っておりました。(今までは、Arduinoと連携させるしか方法はないとおもってました)
今回の記事を読ませていただき、興味を持ちましたので今度試してみたいと思っています。1msのサンプリングができると、とても助かるのです(・・)
by 貴樹 (2017-01-17 18:28) 

decafish

コメントありがとうございます。
同好の士からコメントいただけるのは僕もうれしいです。

一度まとめようと思っているのですが、Microchip社のA/D、D/Aは価格/入手性と精度/使いやすさのバランスは格別です。僕のような光学に使う場合、12bitで十分なことが多くて、Raspberry Piとの組み合わせでたくさん使っています。

ただ、やはり正確なサンプリング間隔が必要なときはRaspbianでは限界があって、たとえばMCP3204というA/Dチップだと60kspsぐらいでるのですが、Pi3のRaspbianで1core占有させてもサンプリングの終了時刻には-0+10usecぐらいのソフトウェア的なジッタがあります。

入力帯域がこれを無視できるくらいならいいのですが、そうでない場合、A/Dデータそれぞれに終了時刻を付加して何らかの補正をする必要があります。

僕のような光学用途の場合、時間に依存することは少ないので、帯域が足りないときは全体をゆっくり進めればいい、ということが多いです。

試してみられて結果が出たら、その印象を教えていただけるとうれしいです。
よろしくお願いします。
by decafish (2017-01-17 21:10) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

Raspberry Pi用pigpio ..gsl 2.3 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。