- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I would like to translate KBA219862 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
Yes, confirm of it.
It is good to work.
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.
Thanks.
Kenshow
Original KBA:
Translated by Kenshow
==============================
タイトル: PSoCアナログコプロセッサでスマートIOを使用する16ビット遅延ライン(シリアルイン–シリアルアウトシフトレジスタ)– KBA219862
バージョン:**
質問:
UDBを使用せず16ビットシフトレジスタを作成するにはどうすればよいでしょうか?
回答:
このナレッジベース記事(KBA)は、8ビットシフトレジスタ用のKBA219861の拡張になります。
多くのPSoC® 4およびPSoC 6つのデバイスは、Smart IOブロックを実装します。Smart IOブロックには、8つのLUTとデータユニット(DU)が含まれています。各LUTは、組み合わせ回路またはレジスタロジックとして構成できます。DUは、カウンター、データマッチング、シフトレジスタなど、多くの機能を実装できます。DUはPSoC Creatorバージョン4.1以降で表示されます。以前のバージョンでは使用できません。
以下は外部から供給される 20-kHz の矩形波を 8μ秒遅延させる例です
次の手順は、外部から供給される20 kHzの矩形波を16 µsec遅延させる例を示しています。
1. PSoC Creatorで新しいプロジェクトを作成しsource、Smart IOコンポーネント、およびクロックを配置します。クロックを1.0 MHzに設定します。
2. Smart IOを有効にします。デフォルトでは、Smart IOは構成されていません。ブロックの入力と出力は表示されません。Smart IOコンフィグレーション画面が開くと、デフォルトで[ General ]タブが表示されます。このタブでは、すべての結線とパラメータは空白になっています。DUの入力フィールドのいずれかを変更して、構成を有効にします。
これで、DUが強調表示され、使用中であり、[ Data Unit ]タブが有効になります。
3. [ Data Unit ]タブに移動します。デフォルトの論理ブロックが右下に表示されます。
4. [ Opcode ]ドロップダウン矢印をクリックし、[ Shift Right ]を選択して、[ Apply ]をクリックします。右下にShift Rightブロックが表示されます。
5.シフトレジスタの長さ(Size)を設定し、[ Apply ]をクリックします。
6. [ General ]タブに移動します。[ Clock ]ドロップダウン矢印をクリックし、ドロップダウンリストから[ Divided clock (Active) ]を選択します。
7. Shift Right機能への入力を選択します。
TR0 | これは非同期ロード機能であり、0に設定する必要があります。ドロップダウンリストから[ Constant 0 ]を選択して、TR0を設定します。 |
TR1 | これはEnable機能であり、1に設定する必要があります。ドロップダウンリストからConstan1を選択してTR1を設定します。 |
TR2 | シフトレジスタへの入力データです。TR2への入力は、LUTの1つからの出力である必要があります。TR2をデータ入力またはGPIOに直接接続することはできません。 |
8. 適切なLUTを選択します。この例では、LUT0を選択します。
エラーコードは、入力が未定義であることを示します。
LUT0への入力は、任意のデータラインまたはGPIOの半数内が使用可能です。この例では、各LUT0入力に対してgpio2を選択します。次に、線上の接続バブルをクリックして、3つのLUT0入力gpio2をすべて設定します。ここでは、GPIO0とGPIO1がプログラミングとデバッグに使用され、スマートIO接続には使用できないため、GPIO2を選択します。
GPIOが未設定なので、エラーが表示されます。
9. GPIO2をInput(Async) に設定します。
これでシフトレジスタの入力接続が設定されました。
10. この例では、LUT0をフォロワーまたはバッファとして設定する必要があります。[ LUT0 ]タブに移動します。[Mode]ドロップダウンリストから[ Combinatorial ]を選択します。
Input0、1、2は同じソースGPIO0に接続されているため、出力のエンコーディングは入力のいずれか1つを選択可能ですが、1、1、1が便利です。
11. DU出力をGPIOに接続します。DU出力はGPIOに直接接続されないため、別のLUTを介して接続する必要があります。各LUT出力は、単一のGPIOに接続されています。GPIO0とGPIO1はデバッグとプログラミングで使用され、GPIO2は既に入力として使用されているため、次に使用可能なピンはGPIO3です。GPIO3ドロップダウンリストから[ output ]を選択します。
12. LUT3を選択します。これは、GPIO3に接続される唯一のLUTです。DU出力は、各LUTのInput0にしか接続できません。LUT3のInput0をDUに接続します。LUT3のInput1とInput2を接続する必要があります。GPIO2はすでに使用されているので、接続に使用できます。
13. LUT3をフォロワーとしてプログラムしますが、LUT0とは異なります。DUはいずれかのLUTのInput0にのみ接続するため、組み合わせ回路はInput0に従う必要があります。
OKをクリックします。[ General ]タブが表示されます。Smart IOの結線が完了していることに注意してください。
14. smart IO結線を完了します。再度[ OK]をクリックします。スケマティックビューに戻ります。使用するGPIOに合わせて外部ピンの位置を調整します。PWMと同じソースを利用するようにクロック接続を調整します。このテスト例では、PWM の周期 (period) は 49 でコンペア (compare) は 24 になっています。
15. コードを生成します。ソースコードはシンプルです:
SmartIO_1_Start();
PWM_1_Start();
while (1);
ビルドしてプログラムします。
16. 入力信号を提供して出力を測定することでシフトレジスタをテストしてください。
P1.0のSource_OutをP0.2のSR_Inに接続します(これは、開発キットのジャンパー線を使用してここで行われます)。
トレース1はSource_Out-SR_In
トレース2はSR_Out
オシロスコープのカーソルは波形の遅延が 8μ秒であることを示しています。
上記は16ビットシフトレジスタの前半を実装し、残りの実装はLUTで実装されます。LUTは、2つの異なる登録済みフォームに構成できます。
入力が登録された形式では、入力2が登録されていても、出力は入力0と入力1に従うことができます。入力0と入力1を固定値に保持する簡単な方法がないため、出力登録フォームを使用する方がより直接的です。入力0、1、および2は、8ビットシフトレジスタの例と同様に、フォロワーを形成するように設定されます。
17. LUT0を構成します。GPIOからの入力はLUT0にあります。LUT0の場合、[ Mode ]ドロップダウンリストから[ Registered output ]を選択します。組み合わせデコードは同じままです。[ General ]タブの外観と接続は変更されません。
18.ビルドしてプログラムします。スコープは9μ秒の遅延を示し、DUからは8μ秒、LUT0からは1μ秒です。トレース参照は、8ビットシフトレジスタの例と同じです。
19. LUTを順番に接続します。
(そのトレースクロスの全てを有する)信号チェーンは、次のとおり
GPIO2 to
LUT0 to
DU to
LUT1 to
LUT2 to
LUT4 to
LUT5 to
LUT6 to
LUT7 then back to
LUT3
and out on GPIO3.
LUT1を除くすべてのLUTは同じ方法で設定されます。input0、1、および2がすべてlogic1の場合、レジスタ付き出力および出力Highになります。DUに接続できるのは、LUT1のinput 0のみです。したがって、ロジックはinput 0に従う必要があります。
多くの接続が可能です。このルーティングは、8ビットシフトレジスタの例で行ったように、GPIO2とGPIO3の入力と出力をそれぞれ保持するように選択されています。
20. [ Hide routing matrix ] をクリックして、簡略化されたルーティングを表示します。
21. 同じ2行のコードセグメントを使用してビルドおよびプログラミングします。
22. 結果を測定します。スコープは16 µsecの遅延を示しています。トレース参照は、8ビットおよび10ビットのシフトレジスタの例と同じです。
==============================
15-May-2020