HDL LOGO
ACM-024デモ回路 簡易FFTアナライザの実験
2011/05/11-
 当社のCyclone IV GX搭載FPGAボードACM-024(HiSpeed Transceiver, ALTGX搭載)にアナログ・デバイセズ(リニアテクノロジー)のLTC2274評価キットを接続して、ファンクションシンセサイザからの出力をFFT解析してみました。解析結果をグラフィックLCDモジュールに出力しています。

 こんなこともできるという例としてどうぞご覧下さい。
(画像はそれぞれクリックして拡大できます)

2011/06/02:計算を間違えていたので波形を差し換えいたしました。
2011/08/04:追記
 機能をグレードアップした実用版を開発中です。
 XILINX Spartan-6(XCM-020)での同様の実験はこちらをご覧下さい。
◆システム構成
使用機器
Cyclone IV GX FPGAボード ACM-024 ヒューマンデータ
SIF40 to SMA 変換基板 ACC-010 ヒューマンデータ
A/D変換基板 LTC2274評価キット アナログ・デバイセズ(リニアテクノロジー)
UTL-016で動作致します ヒューマンデータ
マルチファンクションシンセサイザ(SG) WF1965 エヌエフ回路設計ブロック
TFT LCDモジュール NHD-5.7-3202 40WFB-CTXI DigiKeyで購入可能
ダウンロードケーブル Terasic Blaster Terasic
◆システム構成

構成図は下図のようになります

 信号発生器(SG)かからの出力をLTC2274でA/D変換し、データを8B10B変換されたシリアルデータとしてACM-024にて受信しています。
ACM-024からLTC2274には同期信号として100MHzを供給しています。
◆FPGA内部構造

FPGA内部回路のブロック図は下記のようになります。青色部分がALTERA社提供部分で、白部分が新規作成部分です。


 ALTGXにてLTC2274からのシリアル信号を受け、後段のbytealignerにて受信処理を行っています。
FFT解析前にデータ処理(窓関数)をおこなっており、解析出力データをスペクトル変換しています。FFTのIPはアルテラMegaFunctionのものを使用しています。データをLCDに表示するために、Nios Avalonバスから取り込めるよう取り込みようペリフェラルを設置しています。

 LCDの描画はNiosプロセッサで行っています。制御信号処理を全てソフトウェアで行うと処理数が増えますので、ポートの処理をハードウェア化しています(LCD_IOペリフェラル)。
Altera FFT MegaCore ファンクションを使用しています。(有料版のQuartusIIに含まれています)
◆出力画像

いくつか観測した波形を掲載致します。画面にはピークとなる周波数とレベルを表示するようにしました。

(2011/06/12) レベルの計算を間違っていたため、正しい計算での波形を更新しました
仮数部 = |実部|^2+|虚部|2 の計算で指数部を2倍する計算が抜けていました。(新旧比較はこちら


10MHz 正弦波


5MHz 三角波


5MHz 矩形波

◆ALTGXの設定について

- 転送レート:2Gbps
- リファレンスクロック:125MHz(オンボード)


- ワードアライン:K28.5(-) → K28.7(-) に変更
LTC2274のFAM(Frame Alignment Monitor)を有効にし、Syncするタイミングを増やしました



- Rate Match FIFO:有効、Skip Pattern:K28.5 Controlパターン:K28.5

※LTC2274について
 LTC2274は、16Bit 105Msps シリアル出力 A/D変換器です。
測定データは8B10Bエンコードされたシリアルデータで出力されますので、FPGAの高速シリアルI/F(HS Transceiver)と容易に接続できます。
◆文字フォントについて
文字フォントについては、こちらのフォントを活用させていただきました。(ありがとうございました
◆回路データについて
 当社では、サンプル回路などのご提供は行っておりません。あしからずご了承くださいませ。
みなさまの参考になれば幸いです。
間違いなど見つけられましたらぜひご指摘下さい。
ひとことコメント 
メールでのご質問はこちらへどうぞ
アルテラコーナートップへ