1 Reply Latest reply on May 7, 2020 12:48 AM by JuyoungJ_06

    Community Translation - Output Enable in a PSoC® 4 Digital Output Pin - KBA203666

    MoTa_728816

      Hi,

       

      I'd like to translate KBA203666 into Japanese.

       

      moto

       

      Original KBA: KBA203666

      Output Enable in a PSoC® 4 Digital Output Pin - KBA203666

       

      Being Translated by: MoTa_728816

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

      タイトル: PSoC® 4 のデジタル出力ピンの出力イネーブルについて - KBA203666

       

      ヴァージョン: *A

       

      質問:

      PSoC® 4 のデジタル出力ピン (Digital Output Pin) コンポーネントの出力イネーブル (Output Enable) オプションは何に使用するのですか?

       

      回答:

      PSoC 4 デバイスでは、デジタル出力設定された GPIO ピンは出力信号に加えて、出力イネーブル (OE) と呼ばれる制御信号を持っています。OE はファームウェアから、またはデジタルシステムインターコネクト (DSI) を通したハードウェア信号から制御可能です。ピンの OE 信号は出力ドライバを有効または無効にできます。OE が論理的 HIGH の時、ピン出力はドライブモードとソース信号の論理ステートに従って制御されます。ファームウェアによる I/O 制御の場合、ソースはポートデータレジスタ (PRTx_DR[y] - ここでビット 'y' はポート 'x' の ピン 'y' を指します) の値となります。 また OE が倫理的 LOW の時、出力ドライバは無効となり、ピンはハイインピーダンス (Hi-Z) になります。ピンの OE 信号を制御する方法のサンプルプロジェクトは AN86439 – PSoC 4 – Using GPIO Pins “GPIO Tips and Tricks” という項にあります。 PSoC Creator で OE の様々な制御方法と関連するコンポーネントの設定方法については以下で説明します。

       

       

      ケース 1: OE をハードウェアから制御する

       

      図1 のように、デジタル出力ピンコンポーネントで Output enable を有効にします。Output enable が選択されると、回路シンボルにハードウェア信号を接続するターミナルが現れます。これで他のコンポーネントの出力信号をターミナルに接続することが可能になりました。図1 右側のスライドは UDB ベースのコントロールレジスタコンポーネントからの出力を OE に接続した例です。このコンポーネントの出力は PSoC Creator™ によって DSI を通して結線されます。HW connection は選択してもしなくても問題ありません。もし HW connection が選択された場合、データ出力を制御するためのハードウェア信号を接続するターミナルが現れます。もし HW connection が選択されていない場合、データ出力は PRTx_DR レジスタへの書込みで行われます。

       

      OE を制御できるペリフェラルはどれ?

      OE を制御できるペリフェラルは TCPWM と UDB です、DSI とさらに ポートアダプタ (PA) を通ってポートピンに接続可能なペリフェラルはこれらだけです。例えば SCB のような他のペリフェラルはピンへは DSI ではなく HSIOM を通して接続する専用のルートがありますので、OE を制御することはできません。本件に関する詳細を学ぶのには AN86439 – PSoC 4 – Using GPIO Pins “Pin Routing” 項をご参照ください。PSoC Creator が自動的にルートを管理してくれることに注意ください。

      PSoC 4000 は廉価盤のエントリーレベルデバイスで DSI  と PA  を搭載していないので OE 制御はサポートしません。また、PSoC 4 デバイスのポート 4 とそれ以上のポートも PA を持っていないので OE 制御をサポートしません。

       

      図 1.  OE をハードウェアから制御するためのコンポーネント設定

      001-Untitled.png

       

      ケース 2: OE をファームウェアから制御する

       

      図2 のように、デジタル出力ピンコンポーネントで、HW connection を選択して、Output enable を選択しない設定にします。これでピンの回路シンボルは出力を制御するハードウェア信号を接続するターミナルはあるが、OE を制御するターミナルは無い状態になりました。図2 右側のスライドでは UDB ベースの PWM コンポーネントの出力がデータ出力を制御するターミナルに接続されています。これで、ファームウェアから PRTx_DR レジスタへの書込みにより OE が制御できるようになりました。“1” を書き込むことにより OE をアサートし、“0” をディアサートします。PSoC Creator はデフォルトで DR の値を “1” に設定します (初期のドライブステートは High (1) で変更することは出来ません)、そのため電源投入時にはデータ出力有効となります。

       

      図 2. OE をファームウェアから制御するためのコンポーネント設定

      002-2Untitled.png

       

      OE がファームウェアから制御されない場合

       

      HW connection が選択されていない (これは、HW connectionOutput enable の両方が選択されていない状態となり、この時には PRTx_DR がデータ出力を制御するのに使用されます) 場合と HW connection は選択されているがピンが専用のルートでハードウェアブロックに接続されている (言い換えると、データ出力を制御する信号が DSI を通っていない) 場合には OE はファームウェアから制御することが出来ないことに注意してください。PSoC 4 デバイスのピンは様々なペリフェラルの専用接続に共有されています。例えば CY8C4245AXI-483 デバイスの P3[0] は SCB1 の “SCL” 信号に専用のルートを持っています。各ピンで対応可能な機能については対応する device datasheet “Pinouts” 項をご参照ください。

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

       

      24-Apr-2020

      moto