Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Hi,

I'd like to translate KBA219861 into Japanese

moto

Original KBA: KBA219861

8-bit Delay Line (Serial-In – Serial-Out Shift Register) Using Smart IO in PSoC Analog Coprocessor –...

NOTE: I wonder if this title should emphasize "Analog Coprocessor", since this should apply any PSoC with Smart IO and PWM.

Translated by: MoTa_728816

==============================

タイトル: PSoC Analog Coprocessor の Smart I/O を使用して 8-bit ディレイライン (シリアルインーシリアルアウトシフトレジスタ) を実装する - KBA219861

ヴァージョン: **

質問:

UDB を使用せずにディレイラインを作るのにはどうしたら良いですか?

回答:

PSoC® 4 と PSoC 6 デバイスの多くが Smart IO ブロックを実装しています。Smart IO ブロックは 8個の LUT と データユニット (DU) を内蔵しています。それぞれの LUT は組み合わせ回路かレジスタロジックとして設定が可能です。DU はカウンタ、データマッチング、シフトレジスタといった多くの機能を実装することが可能です。DU は PSoC Creator™ 4.1 以降でサポートされています。

以下は外部から供給される 20-kHz の矩形波を 8μ秒遅延させる例です。

1. PSoC Creator でプロジェクトを作成して、source, Smart IO コンポーネント、クロックを配置してください。クロックは 1.0 MHz に設定します。

001-img-1.png

2. Smart IO を有効します。デフォルトでは、Smart IO は設定されていません:ブロックの入力、出力は表示されていません。Smart IO のコンフィグレータ画面が開くと、デフォルトで General タブが表示されます。このタブで、すべての結線とパラメータは空白になっています。DU の入力フィールドのどれかを変更して設定を有効にしてください。

002-img-2.png

これで DU はハイライトされて使用中であることが示されます、そして Data Unit タブが有効になります。

003-pastedImage_28.png

3. Data Unit タブへ移動します。デフォルトのロジックブロックのスケマティックが右下に表示されます。

004-pastedImage_39.png

4. Opecode のドロップダウンアローをクリックして、ドロップダウンリストから Shift Right を選択、そして Apply をクリックしてください。右下の方に Shift Right ブロックが表示されます。

005-img-3.png

5. シフトレジスタの長さ (size) をセットして Apply をクリックしてください。

006-img-4.png

6. General タブへ移動します。Clock のドロップダウンアローをクリックして、ドロップダウンリストから Divided Clock (Active) を選択してください。

7. Shift Right ファンクションの入力を選択します:

TR0     Asynchronous load は 0 に設定しなくてはなりません。 ドロップダウンリストから Constant 0 を選んで TR0 に設定してください。  

TR1     Enable 機能は 1 に設定しなくてはなりません。ドロップダウンリストから Constant 1 を選んで TR1 に設定してください。

TR2     シフトレジスタへの入力データ。TR2  への入力は LUT のどれかの出力にする必要があります。

TR2 を直接 データ入力や GPIO に接続することはできません。

8. LUT を選択します。この例では、 LUT0 を選択します。

007-img-5.png

入力が未指定であるというエラーコードが表示されます。

008-pastedImage_83.png

LUT0 への入力は任意のデータラインか GPIO の内半数が使用可能です。この例では、 LUT0 の入力に gpio2 を選択してください。そして、LUT0 の 3本の入力全てを gpio2 に接続するために、接続点をクリックしてください。ここで GPIO2 を選択したのは、GPIO0 と GPIO1 はプログラミングとデバッグに使用されるために Smart IO の接続には使用できないからです。

008-pastedImage_92.png

GPIO が未設定なのでエラーが表示されています。

9. GPIO2 を Input(Async) に設定してください。

009-img-6.png

これでシフトレジスタの入力接続が設定されました。

012-pastedImage_119.png

10. この例では、LUT0 はフォロワーかバッファに設定しなくてはなりません。LUT0 タブへ移動してください。 Mode ドロップダウンリストから Combinatorial を選択してください。

010-img-7.png

入力 0, 1, 2 は全て同じソース, GPIO2 に接続されています、そのため出力のエンコードはどの入力を選択可能ですが - 1、1、1 が便利です。

11. DU の出力を GPIO に接続します。DU の出力は GPIO に直結することはできません、その為他の LUT のどれかを経由させる必要がります。各 LUT は GPIO のどれか一つに接続されています。GPIO0 と GPIO1 はデバッグとプログラミングに使用されていて、GPIO2 も既に入力として使用されていますので、次に使えるピンは GPIO3 となります。GPIO3 のドロップダウンリストから Output を選択してください。

011-pastedImage_139.png

GPIO3 がまだ未接続のためにエラーが表示されます。

12. LUT3 を選択します、これが GPIO3 に出力接続可能な唯一の LUT です。DU の出力は各 LUT の入力 0 にしか接続できません。LUT3 の入力 0 を DUに接続してください。LUT3 の入力 1 と入力 2 も接続する必要があります。ちょうど GPIO2 が既に使用されているので、接続に使用できます。

012-pastedImage_149.png

13. LUT3 を LUT0 とは異なる以下のようにプログラムしてください。DU はすべて LUT に対して入力 0 のみに接続されているので、組み合わせ論理は入力 0 に従う必要があります。

013-img-8.png

OK をクリックしてください。General タブが表示されます。これで Smart IO の結線は終了です。

014-pastedImage_168.png

14. Smart IO の結線を完了してください。再度 OK をクリックします。スケマティックの表示に戻ります。外部ピンの位置を使用されている GPIO に合わせてください。クロックは PWM に使用されているものを共有します。この例では PWM の周期 (period) は 49 でコンペア (compare) は 24 になっています。

015-pastedImage_178.png

15. アプリケーションを Generate います。ソースコードは単純です:

SmartIO_1_Start();

PWM_1_Start();

while(1);

16. プロジェクトをビルドして、デバイスにプログラムしてください。

17. 入力信号を提供して出力を測定することでシフトレジスタをテストしてください。

P1.0 の Source_Out を P0.2 の SR_In に接続します。(これは評価基板上でジャンパ線を使用して接続します。)

信号 1 は Source_Out -- SR_In

信号 2 は SR_Out

016-pastedImage_191.png

オシロスコープのカーソルは波形の遅延が 8μ秒であることを示しています。

==============================

21-Apr-2020

moto

0 Likes
1 Reply
JennaJo
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hello, Tanaka-san

We receive your translation, it will be published to KBA to Community.

After upload, You will receive the points as the word of KBA.

Due to the current delay of processed work, Please bear with me for the delayed the response.

It could be delayed, but it will be processed soon.

Thanks for your contribution to CDC!

Will keep you update the status.

Thanks,

Jenna Jo

Jenna Jo
0 Likes