現在進行中のSDRの構成を少し変更しました。
データを格納するメモリをFIFOに変更しました。 メモリをつかうと、途切れなく流れてくる信号のデータを処理するため、2つのメモリを切り替えて、書き込み、読み出しを交互に行う予定でしたが、FIFOにすることによって、切り替えの制御が不要になります。 UARTでの転送は、バイト単位になるのでバイトの順番がずれると異常データに化けるという問題があります。 この点に関しては、たぶんメモリの方が同期が取りやすいと考えられますが、今回10bitのデータなので、PC側で処理できると思います。
さらに、デシメーション率を512から1024に変更しました。 UARTの転送速度が、5Mbaud以上は厳しいと判明したためです。 デシメーション後のサンプリング周波数は、78.125kHzになります。
変更後のブロック図です。
FPGAの方は、ブロック毎のシミュレーションは完了しているので、FIFOを追加して全体をまとめるだけですが、さてうまくいくでしょうか?