7 Replies Latest reply on Mar 23, 2020 5:32 AM by MoTa_728816

    UARTの反転出力

    TeMa_2997106

      PSoC4のUART出力において、出力段で反転出力をしたいのですが、対応していますでしょうか。

       

      UARTのコンポーネントを確認すると、"Inverting RX"とあったので、入力段での対応はできそうですが、

      Tx側(出力側)でのサポートがなさそうでした。

       

      Inverting.png

        • 1. Re: UARTの反転出力
          MoTa_728816

          こんにちは、

           

          お使いのデバイスは何でしょうか?

          UDBを持っているものであれば、UART のピンを explicit にして

          Not ゲートを付けるだけでも出来そうな気がしています。

           

          moto

          • 2. Re: UARTの反転出力
            TeMa_2997106

            ご回答ありがとうございます。

             

            デバイスはこれから決めるところです。

            要求仕様としてこのUARTの反転出力があり、これが実現できるデバイスをPSoC4で探しています。

            逆に、当該機能が実現できるデバイスが知りたいところでした。

             

            UARTの機能(コンポーネント単体)としては実現は難しく、UDBで実現するのが現実的、

            ということで理解しました。

             

            ちなみに、UDBを通すと当然その分の遅延が生じるかと思いますが、

            遅延の実値はどのように計算すればよいでしょうか。

            反転のみなのでClockは介在しませんが、TCLK_OUT_UDB2をワーストタイムと換算してよいでしょうか。

            (このパラメータは内部配線の時間を含んでますでしょうか)

             

            ※下記は4200のデータシートからの抜粋です。

             

            UDB.png

            以上です。

            • 3. Re: UARTの反転出力
              MoTa_728816

              こんにちは、

               

              今、CY8CKIT-044 に載っている CY8C4247AZI-M485 で下記のような回路を試してみました。

              000-UART_INV.JPG

              すると、SCBの UART_TX から内部のUDBピンへ直接の接続が出来ない旨のエラーがでましたが

              SCBではないタイプで試したところ Generate Application は可能でした。

              001-NON_SCB.JPG

              また、UDB を搭載していないデバイスでも、SmartIOを搭載しているものであれば

              一手間あるかとは思いますが実装可能だと推測します。

               

              お問合せの遅延ですが、恐らく UDBの遅延+GPIOの遅延として算出する必要があると思います。

              またその場合、内部の配線遅延は含まれているものと“私は”考えています。

              002-GPIO-AC.JPG

              moto

              1 of 1 people found this helpful
              • 4. Re: UARTの反転出力
                TeMa_2997106

                ご回答ありがとうございます。

                 

                SmartIOでの実装についてもアイデアありがとうございます。

                実装は手間ですが、構成はこちらの方が簡単そうです。

                 

                実際の運用上は反転する場合としない場合をソフトで切り替える必要が生じる可能性があるため、

                NOTゲート以外にセレクタも必要になるかもしれませんが、その場合だとSmartIOはさらに

                手間がかかりそうです。(とはいえ簡単な論理回路で組めそうですが)

                 

                遅延については言葉足らずで申し訳ありませんでしたが、反転する場合としない場合とでの差分を知りたかったので、

                GPIOの遅延については除外して考えたいと思います。

                 

                以上です。

                • 5. Re: UARTの反転出力
                  RuzheZ_36

                  どのPSoC 4が設計で使用されていますか? NOTゲートは、一部のPSoCデバイスでは使用できません...

                  SMARTIOは良い方法だと思います。

                  ソフト変更の場合、SMARTIOのAPIを使用できます。SMARTIO遅延について、SMARTIOのデータシートを参照してください。

                  • 6. Re: UARTの反転出力
                    TeMa_2997106

                    ご連絡ありがとうございます。

                     

                    先にコメント致しましたが、デバイスは決めていません。

                    逆に、当該機能が実現できるデバイスを選択します。

                     

                    NOTゲートはUDBでは実現できないデバイスもある、ということでしょうか。

                    Yesとすると、データシートのどこを確認すればそれが明確になりますでしょうか。

                    • 7. Re: UARTの反転出力
                      MoTa_728816

                      こんばんは、

                       

                      > NOTゲートは、一部のPSoCデバイスでは使用できません...

                       

                      これは UDB を搭載していないデバイスの場合、NOTゲートが使用できません

                      という意味だと思います。

                       

                      その場合、SmartIOを使用することで同様の事ができます

                      とおっしゃっているものと考えます。

                       

                      moto