Cosmo-Zでの16ch同時サンプリング
今日はCosmo-Zの開発に関して、とても大きな進捗がありました。
オシロモードでの16ch同時サンプリングができるようになったのです。
いままでCosmo-Zはオシロモードでは最大8chまでしか同時サンプリングができませんでしたが、それは計測データをセレクトしてAXI HPポートに送り出すステートマシンの出来が悪かったからです。
AXI HPは64bitの幅で計測データは16bit幅なので、1クロックで4個分の波形を転送できます。Cosmo-Zは32QWORD単位で各チャネルのデータをDDR3メモリに転送しているので、1チャネルの波形を128個分送り出しています。
ところが、AXI HPの最大転送長は256QWORDなので、1回の転送で8ch分のデータしか送り出せなかったのです。そこで現状のステートマシンの外側に新たなループを設け、256QWORDのデータ転送を複数回繰り返せるようにして、32ch分のデータをメモリに転送できるようにしたのです。
とは言っても、AXI HPポートは250MHz 64bitの幅しかないので、全部のバンド幅を使い切ったとしても16chならば最大で62.5MHzまでのサンプリングとなります。これ以上の周波数はFIFOが許す限りということになりますが、16ch 100MHz 3900ポイント程度までは大丈夫でした。
4000ポイントにするとエラーとなります。
もう、ステートマシンの動作が謎すぎて、理解不能になってきました。
下の図は16ch分の波形の同時サンプリング結果dす。
ヒストグラムもタケノコのようにワキワキと生えています。
サンプリング周波数を50MHzにしたら、16chで100万ポイント分同時サンプリングできました。
ノイズを見ているのでほとんど重なって太い棒のようになっています。
| 固定リンク
コメント