- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I would like to translate KBA229212 into Japanese.
Please confirm to my work
Thanks,
Kenshow
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello, Kenshow-san
Confirm of KBA.
Please work to do.
Thanks,
Jenna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Jenna-san,
Japanese translation was over.
Please check below.
Original KBA:
Correlator to Demodulate FSK Signals using Smart I/O - KBA229212
Thanks.
==============================
タイトル: スマートI / Oを使用してFSK信号を復調する相関器 - KBA229212
バージョン:**
質問:
FSK信号を復調する相関器を作成するにはどうすればよろしいでしょうか?
回答:
周波数変換式変調方式(FSK)は、低速モデムのエンコード方式として一般的に使用されています。デジタルデータは、2つの異なる周波数で表されます。この例では、高周波数(4.0 kHz)は論理「1」を表します。低周波数(2.0 kHz)は論理「0」を表します。周波数は1200ボーのレートで変調されます。
FSKデータを検出するための標準的な手段は、相関器の使用です。
相関器は、それ自体の遅延コピーを入力信号に乗算します。遅延は、1つの周波数で、遅延が一方の波形の完全なサイクルと他方の波形のサイクルの半分になるように選択されます。4.0 kHzの1サイクルは250 µsecです。2.0 kHzの1サイクルは500 µsecです。したがって、250 µsecの遅延により、1サイクルで4.0 kHz、半サイクルで2.0 kHzの適切な時間シフトが得られます。遅延はシフトレジスタで行えます。乗算器は、排他的ORゲート(XOR)またはexclusive_NORでできます。
遅延の間、相関器の時間出力は少しノイズ的です。これは、ローパスフィルターとヒステリシスコンパレーターで削減でき、復調されたデジタルデータを生成します。これは、この記事の目的とは別の作業になります。
相関器のロジックは、すべてをSmart I/O内で構築できます。遅延を決定するには別のクロックが必要です。次の例では、相関器の実装についてステップごとに示しております。
1. Smart I/O、PWM、およびClockを配置します。
2. PWMクロックを24 MHzに設定します。
3. 相関器の入出力用にSmart I/Oの右側にピンを追加します。
Smart I/Oはシフトレジスタのチェーンとして構成され、データユニットからの8ビットとLUTからの7ビットで、合計15ビットです。チェーンの最後のLUTは使用せず、XORを使用します。
4. Smart I/Oを右クリックして設定を開始します。
5. [ data3 ]のドロップダウンをクリックし、[ Input (async) ] を選択します。
6. [ input ]のドロップダウンをクリックし、TCPWM(5)line_complを選択します。
これで、スマートI / Oのロジックへの接続が表示されます。
7. シフトレジスタの行をステップダウンします。
- LUT7のつの入力すべてをgpio5に設定します。
- LUT0_Input0をDUに設定し、LUT0_Input1と_Input2をLUT1に設定します。DUにはLUT0への接続が1つしかありません。Input1とInput2は「dummy」に接続する必要があります。
- LUT1_Input2をLUT0に設定し、LUT1_Input0およびLUT1_Input1をLUT2に設定します。LUT1_Input0はLUT1に接続されていないため、「dummy」に接続する必要があります。
- LUT2の3つの入力すべてをLUT1に設定します。
- LUT3のつの入力すべてをLUT2に設定します。
- LUT5のつの入力すべてをLUT3に設定します。
- LUT6のつの入力すべてをLUT3に設定します。
- LUT4_Input0をgpio5に設定します。これはXORへの直接入力です。LUT4_input1および_Input 2をLUT6に設定します。これは、XORへのシフトレジスタ遅延入力になります。
- のドロップダウンからクロックを選択します。
8.データユニットとLUTを設定します。
LUT7、LUT2、LUT3、LUT5、およびLUT6をDフリップフロップとして設定します。
[ LUT7 ]タブに移動します。
Input0、Input1、およびInput2 = 1に対してOut = 1を選択し、それ以外はすべて= 0を選択します。
[ Mode ]のドロップダウンから[ Registered output ]を選択します。
[ Apply ]をクリックします。
LUT2、LUT3、LUT5、およびLUT6について繰り返します。
9. LUT0をDフリップフロップとして設定します。
- タブに移動します。
(DUからの)Input0に従ってOutを設定します。他の入力を無視します。[ Mode ]のドロップダウンから[ Registered output ]を選択します。
10.データユニットを設定します:
- Data Unitタブに移動します。
- のドロップダウンから[Shift Right ]を選択します。
- Sizeは8を入力します。
- 右シフトを有効にするため、DU_TR0を0に設定します。
- 右シフトを有効にするため、DU_TR1を1に設定します。
- DU_TR2をLUT7に設定します。
11. LUT1をDフリップフロップとして設定します。
- タブに移動します。
- (LUT0からの)Input2に従うようにOutを設定します。他の入力を無視します。
- のドロップダウンからRegistered output ]を選択します。
12. LUT4をXORとして構成します。
- タブに移動します。
- Input0(LUT5)とInput1(LUT6)の排他的論理和の組み合わせに従うようにOutを設定します。Input2(LUT6)はInput1に続き、無視されます。
- ドロップダウンからCombinatorial ]を選択します。この出力は登録されていません。
これで、Smart I/Oの設定が完了しました。
13. [ Apply ]をクリックして、Smart I/Oの結線を表示します。
14. [ Hide routing matrix ]をクリックして、接続の表示を簡略化します。
15. [ OK ] をクリックして回路図に戻ります。
16. PWMを設定します。
PWMの周期は、次のように計算されます。
- [PWM] を右クリックし、Configureをクリックします。
- をクリックします。
- Period を199に設定します(実際の期間はこの数+1カウントです)。
- Compareを99に設定します(実際の比較はこの数+1カウントです)。
- 残りの設定はデフォルト値のままにします。
- をクリックして、回路ビューに戻ります。
17. ピンを接続します。
- Smart I/Oで信号をPWMからData3に結線します。
- Smart I/Oでgpio5を結線してCorr_Inをピン留めします。
- Smart I/Oでgpio4を結線して、Corr_Outをピン留めします。ピン割り当ては自動的のPSoC®によって行われます。
- DWRピンビューをクリックします。
- 各ピンのロック]をクリックして、回路図上の各信号のポートとピン番号を表示します。
18. 波形の視認性を改善します。
- Configure ]をクリックします。
- gpio6ドロップダウンからOutput ]を選択します。
- OKをクリックして回路図に戻ります。
- デジタル出力ピンをgpio6に追加し、Delayというラベルを付けます。
19. コードを生成します。
- main.cファイルを開きます。
- 次のコードスニペットを追加します
TCPWM_1_Start();
SmartIO_1_Start();
while(1);
- ビルドしてプログラムします。
20. テスト:
- 2.0および4.0 kHzで1200ボーの外部ソースを提供します。これは、AN221886(スマートI / Oを使用したデジタルFSK送信信号の生成)に記載されている方法に従って、信号発生器または別のPSoCデバイス上のプロジェクトで実行できます。
トレース1:モデムデータ、1200ボー トレース2:変調されたFSK信号 トレース3:遅延FSK信号 トレース4:相関器の出力 カーソルは約250 µsecのエッジ間遅延を示します(クロックおよびサンプリングエラー内)。 |
|
より長いシフトレジスタとより高い周波数のクロックを使用することで、遅延のより細かい分解能とより正確な相関を実現できますが、1つのSmart i/O では15ビットが限界になります。さらに精度が必要な場合は、複数のSmart I/O ポートを備えたサイプレスパーツを使用できます。
==============================
18-May-2020