このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
FPGA データ キャプチャを使用した OFDM 送受信の検証
この例では、 で生成したワイヤレス HDL IP を検証する方法を示します。この例では、実際のハードウェアで FPGA データ キャプチャを使用して IP コアの内部信号を監視および分析する方法も示します。
FPGA データ キャプチャ ツールを使用して、デバッグ分析のために JTAG 経由でハードウェア信号をキャプチャします。FPGA データ キャプチャは、適切なトリガとキャプチャ条件を使用して対象の信号をキャプチャするための多くの機能を提供します。次の手順を実行して、 whdlOFDMRx Model
zynqRadioHWSWOFDMAD9361AD9364SL
サブシステムの動作を検証します。
キャプチャ コントロールを使用して、有効なデータ コンスタレーション ポイントをキャプチャします。
トリガー条件と複数のウィンドウを使用して、CRC が失敗したフレームのヘッダー コンスタレーション ポイントをキャプチャします。
トリガー条件とトリガー位置を使用して、ピーク検索用の同期シーケンス (SS) 相関データをキャプチャし、タイミング オフセットを検証します。
要件
この例を実行するには、Xilinx Zynq ZC706 評価キットと FMCOMMS2/3/4 無線送信機ハードウェアが必要です。
ハードウェア セットアップ
の手順に従って、ホスト コンピューターと ZC706 ボードを FMCOMMS2/3/4 無線ハードウェアで構成します。
JTAG ケーブルを使用してボードをホスト コンピューターに接続します。
Simulinkモデルのセットアップ
zynqRadioHWSWOFDMAD9361AD9364SL
モデルを開きます。データ キャプチャを通じて分析する信号をテスト ポイントとしてマークします。信号をテスト ポイントとしてマークするには、信号を右クリックし、プロパティ をクリックします。次の図に示すように、Signal Properties ダイアログ ボックスの Logging and accessibility タブで、Test point チェックボックスを選択します。
あるいは、 hOFDMTxRxAddTestPoints
ヘルパー関数を使用して必要なテスト ポイントをマークし、モデルをzynqRadioHWSWOFDMAD9361AD9364SLVerify
として保存します。この関数はサポート ファイルとしてサンプルに添付されています。
hOFDMTxRxAddTestPoints
この図は、ヘッダーおよびデータ コンスタレーション ポイントをキャプチャするためにwhdlOFDMRx Model
サブシステムでマークされたテスト ポイントを示しています。
この図は、SS 相関信号とタイミング オフセット信号を捕捉するためにSync Signal Search
サブシステムでマークされたテスト ポイントを示しています。
データ キャプチャを使用して HDL IP コアを生成し、ビットストリームをロードする
OFDM HDL
サブシステムを右クリックし、HDL コード > HDL ワークフロー アドバイザー を選択して、ターゲティング ワークフローを開始します。ステップ 1.1 で、ターゲット ワークフロー を
IP Core Generation
に設定し、ターゲット プラットフォーム をZC706 and FMCOMMS2/3/4
に設定します。ステップ 1.2 で、リファレンス デザイン を
Receive and Transmit path
に設定します。この例では、リファレンス デザインパラメーターのデフォルト値を使用できます。ステップ 1.3 で、「テスト ポイントの HDL DUT 出力ポート生成を有効にする」を選択して、すべてのテスト ポイントでインターフェイス テーブルを更新します。次に、ターゲット プラットフォーム インターフェイス テーブル で、テスト ポイント信号を
FPGA Data Capture
にマッピングします。IO ポートのマッピングについては、 「 」を参照してください。
例の「IP コアの生成」セクションに従って、ステップ 1.4 からステップ 3.1 を実行します。
ステップ 3.2 で、FPGA データ キャプチャ バッファ サイズ を
32768
に設定し、FPGA データ キャプチャの最大シーケンス深度 を2
に設定します。この図に示すように、「FPGA データ キャプチャにキャプチャ条件ロジックを含める」を選択して、生成された FPGA データ キャプチャ コンポーネントにキャプチャ制御ロジックを挿入します。
ステップ 4.1 を実行し、 サンプルの「ソフトウェア インターフェイス モデルとブロック ライブラリの生成」セクションのステップに従って、ソフトウェア インターフェイス モデルを生成します。
ビットストリームを生成してボードにダウンロードするには、 サンプルの「ビットストリームの生成とロード」セクションに従います。
あるいは、 hOFDMTxRxRunHDLWATasks
ヘルパー関数を実行して、ステップ 1.1 からステップ 4.3 までのタスクを実行します。この関数はサポート ファイルとしてサンプルに添付されています。
hOFDMTxRxRunHDLWATasks
IPコアからのデータのキャプチャと分析
生成された IP コアのテスト ポイントをキャプチャし、FPGA データ キャプチャにマッピングします。FPGA データ キャプチャがトリガを待っている間にソフトウェア インターフェイス モデルを実行するには、FPGA データ キャプチャ ツールをノンブロッキング モードで起動します。
cd(fullfile('hdl_prj','hdlsrc', ... 'zynqRadioHWSWOFDMAD9361AD9364SLVerify','fpga_data_capture')); fdc = FPGADataCapture; fdc.CaptureMode = 'nonBlocking'; fdc.launchApp;
OFDM ソフトウェア インターフェイス モデルを開きます。モデルをMonitor & Tune
モードで実行して、 Simulinkモデルから構成を制御します。
open_system('zynqRadioHWSWOFDMAD9361AD9364SL_interface');
キャプチャデータコンスタレーションポイント
Channel and CPE Estimation and Correction
サブシステムからの周波数領域、チャネル等化、および共通位相誤差 (CPE) 補正されたデータ副搬送波を使用して、データ コンスタレーション ダイアグラムをプロットします。有効なデータ コンスタレーション ポイントのみをキャプチャするには、FPGA データ キャプチャ ツールの キャプチャ条件 タブで キャプチャ条件ロジックを有効にする を選択し、 tp_dataValid_1
を値High
の信号として追加します。 $$$、この図が示すように。「データのキャプチャ」をクリックします。
データのキャプチャが完了したら、ボードがキャプチャしたデータを使用してコンスタレーション ダイアグラムをプロットします。
ソフトウェア インターフェイス モデルのenableInternaLoopback
がfalse
の場合、無線ハードウェアは、Tx アンテナと Rx アンテナをそれぞれ介して OFDM 信号を送信および受信します。チャネル障害により、信号がリアルタイムで無線を通過する際に信号が変化します。このシナリオでは、コンスタレーション プロットを使用して受信信号の品質を分析します。ソフトウェア インターフェイス モデルのmodType
を変更し、データ コンスタレーション ダイアグラムが期待どおりに表示されることを確認することもできます。
hOFDMTxRxPlotDataConstellationFDC
失敗した CRC のヘッダー コンスタレーション ポイントをキャプチャする
チャネルの信号対雑音比 (SNR) が低い場合、チャネル等化と CPE 補正後の有効なヘッダー データに CRC エラーが発生することがよくあります。ソフトウェア インターフェイス モデルを使用して、これらの条件をエミュレートできます。
ソフトウェア・インターフェース・モデルで、 enableInternalLoopback
をtrue
に設定し、 snrdB
を3
に設定します。これらのトリガー設定を使用して、CRC が失敗したときに 2 つのヘッダー フレームの I/Q データをキャプチャします。
「データのキャプチャ」をクリックします。DSP System Toolbox™ライセンスをお持ちの場合、Logic Analyzer アプリは、キャプチャしたデータを複数の信号波形としてプロットします。キャプチャされたデータ内の信号tp_nSyncedFrames
は、CRC が失敗したフレームの番号を示します。
Sync Signal Search
サブシステムの機能を検証する
Sync Signal Search
サブシステムは SS 相関を実装します。サブシステムは、受信信号と SS 信号を時間領域で継続的に相互相関させることによって SS 検出を実行します。さらに、サブシステムは各タイム ステップで相関器のスパン内の信号のエネルギーを計算し、その値をスケーリングしてしきい値を生成します。Max Peak Searcher
サブシステムは、各 OFDM フレーム期間内の最大相関ピークを検索します。Sync Signal Search
サブシステムでは、 SearchHold
信号は、搬送波周波数オフセットを推定するまで最大ピーク検索を無効にします。SSPeakSearchDone
信号は、各 OFDM フレーム期間のピーク検索の完了後に High になります。FFT 長が 128 の場合、フレーム期間は 5760 サンプルです。フレーム期間の開始からの最大ピークの位置がタイミング オフセットを与えます。各 OFDM フレーム期間で相関の有効なサンプルをキャプチャして、相関データを視覚化し、タイミング オフセットを記録できます。
Trigger タブで、Trigger Stage 1 に値tp_searchHold_1
を持つ信号としてHigh
を追加します。各フレーム期間の相関データをキャプチャするには、Trigger Stage 2 で値 tp_SSPeakSearchDone_1
High
を追加し、Trigger Position をに設定します。 5759
。これらの設定により、信号がこれらのトリガーを満たす前に、ツールが 5760 個の有効な相関サンプルをキャプチャすることが保証されます。サンプル 5761 ~ 11520 は、次の OFDM フレーム期間の相関関係などに対応します。
各フレーム期間で有効な相関データをキャプチャするには、キャプチャ条件 タブで キャプチャ条件ロジックを有効にする を選択します。この図に示すように、 tp_correlationValid_1
を値High
の信号として追加します。
「データのキャプチャ」をクリックします。《ロジック アナライザー》は、キャプチャしたデータを複数の信号波形として表示します。
hOFDMTxRxPlotSSCorrelation
ヘルパー関数を実行して、取得した相関としきい値をプロットすることでピークを視覚化します。フレーム期間の開始に対する各フレームのピークのインデックスがタイミング オフセットを与えます。
hOFDMTxRxPlotSSCorrelation
結論
この例では、IP コアの内部信号を FPGA データ キャプチャにマッピングし、デザインを FPGA に展開した後に信号を視覚化する方法を示します。対象の信号をキャプチャするには、FPGA データ キャプチャ ツールのトリガーおよびキャプチャ コントロール構成を使用します。このアプローチを使用して、独自の HDL IP コアを分析およびデバッグできます。