Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

私は、115k2 8O1 (8データビットと奇数パリティ)を使用してKitProg UARTブリッジを使用して通信する必要があるアプリケーションに取り組んでいます。 Windows (10) でポートをそのように設定しましたが、送信されるのは 8N1 (パリティなしの 8 データビット) です。 私はこれの TESTBOARD_150PC_OUT がKitProgの制限またはW10の制限であることを並べ替えようとしています。 Tripp-PSOC4_HVPA_LITE_KIT USB-シリアルインターフェイスを使用していた別の構成を使用しましたが、同じ問題が発生しました。 Windows XPを実行しているシリアルポートが組み込まれたコンピューターを使用して3番目の構成を試しましたが、正常に動作しました。 だから私は3つの可能な問題の間で TESTBOARD_150PC_OUT を並べ替えようとしています:W10対W XP内部シリアル対USBシリアルUSBシリアルの異なるブランドUSBシリアル誰かがこれについての経験がありますか? 「申し訳ありませんが、これらのパラメータを使用できません」という機器はありません。 パリティビットを生成する必要があるという事実を黙って無視しているだけです。

さらに確認すると、他の USB シリアル アダプターで 8O1 を実行できることが示されています。 W10は8O1をすることができます。 一部のターミナル プログラムには、入力時に適切なポートで CRT が 8O1 を実行するが、バイナリ ファイルを送信すると 8N1 に戻るなどの問題があります。 ほとんどの端末プログラムは、127 バイト>送信できません。 HTermは確実にできるものです。

しかし、HTermを使用しても、KitProgに8O1を送信させることはできませんでした。 常にパリティビットをドロップし、8N1にしました。 SCBを使用しており、SCBは8O1に対応していると仮定しているため、これは驚くべきことです。 したがって、それはプログラムの問題に違いありません。 うまくいけば、それは対処することができます。

 

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/KitProg-Serial-with-parity/td-p/667849

0 件の賞賛
1 解決策
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは@Wilton

これは、KitProg3 UART通信プロパティの制限です。

すべてのUART通信プロパティの組み合わせがサポートされているわけではないという記述があり、ユーザーはKitProg3ユーザー v01_00 KitProg3_User_Guideガイドを参照する必要があります.pdf 

Gautami_12_0-1704264829710.png

よろしくお願いします、
ゴータミJ

 

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/KitProg-Serial-with-parity/m-p/669968

元の投稿で解決策を見る

0 件の賞賛
5 返答(返信)
lock attach
Attachments are accessible only for community members.
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは

あなたの説明から、私はあなたがプロトタイプタイプのEVBの一部から切り離されたKitProgを使用していると仮定しました、

CY8CKIT-043など。

今は取り外したKitProgを持っていないので、CY8CKIT-043を使って以下のテストをしてみました。

000-BlockDiagram.JPG

CY8CKIT-043内の PSoC™ 4用のUARTテストプログラムを設計し、UARTを以下のように構成しました

001-UART_config.JPG

そしてPCでは、Tera Termを使用し、シリアルポートを次のように設定しました。

002-TeraTerm-config1.JPG

テストしたところ、プログラムは正常に動作しているように見えました。

003-TeraTerm-log1.JPG

この時点で

(1) KitProg と PSoC4 間の UART は 115200 8O1 です。

(2)KitProgとPC間のUSB CDC(115200 8O1である必要があります)

したがって、少なくともKitProgのUARTが8O1をサポートしていると言えることを願っています

次に、次のテストを実行しました

(3) Tera Term のコンフィグを 115200 8E1 に設定

004-TeraTerm-config2.JPG

(4)そして驚いたことに、テラタームのログは

005-TeraTerm-log2.JPG

(5) Tera Term を 115200 8N1 として追加設定しました

006-TeraTerm-config3.JPG

Tera Termのログは

007-TeraTerm-log3.JPG

このテスト中、 PSoC™ 4のUARTは115200 8O1でした

しかし、USB CDCを介して、Tera Termは8O1、8E1、8N1で正常に動作していました

次に、9600 8N1のTera Termシリアルで追加のテストを実行しました

008-TeraTerm-config4.JPG

Tera Termのログが壊れていた

009-TeraTerm-log4.JPG

PSoC™ 5LPのUSB CDCがパーティー型を大事にしているらしいので、

ただし、ボーレートは変換されません。

 

上記のすべてのテストで、 PSoC™ 5LP(KitProg内)のファームウェアは変更されていません。

そのため、CDC (USBUART) として動作するときの USBFS コンポーネントがパーティ変換を処理しています

(またはパーティエラーが報告されなかった)。

USBUART(USBFS / CDC)のデータシートを確認しましたが、パリティ(またはボーレート)を変更するパラメータが見つかりませんでした。

 

これまでのところ、あなたが見ている問題はUSB CDCの動作だと思います。

KitProgのUARTポートは、ハードコードされたUARTセットアップ(115200 8O1)で正常に通信しています。

 

モト

 

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/KitProg-Serial-with-parity/m-p/667989

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちはモト、

これを確認するために時間を割いていただきありがとうございます。 KitProgは確かにCY8Kit-043からのものです。 4 が入ったカスタム を使用しているため、切り離されています。COOLDIM_PRG_BOARDPSoC™残念ながら、パリティエラーが無視されると、パリティが正しいかどうかが伝わるため、実行したテストが実際に何かを証明しているかどうかはわかりません。 決定的なテストは、UART Txライン(KitProg上)をオシロスコープに MULTICH_CONNECT_PCB し、 TESTBOARD_150PC_OUT送信されるビット数を確認することです。 簡単な方法は、小文字の m と大文字の M を入力することです。 一方にはパリティビットが設定されており、もう一方には設定されていませんが、これはデータが 1 ビット異なるためです。 これが通信しているアプリケーションは、(設計上)正しいパリティを要求しており、間違ったパリティで受信した文字を無視します。 8O1 には合計 11 ビットがあります。 スタートビットは0、8データビットはパリティビット、ストップビットは1です。 1 文字のみが送信された場合、ストップ ビットは次の文字が送信されるまで (1) 継続しますが、複数の文字が送信される場合は、1 ビット時間 (10 us よりわずかに小さい) のみ続き、その後に新しい開始ビットが続きます。

このプロジェクトには他にも複雑な詳細がありますが、KitProgに接続されたPCとターゲットの間で通信できない場合は、オシロスコープ TESTBOARD_150PC_OUT てデバッグを開始する必要がありました。 私は一日中、さまざまなコンピューター、オペレーティングシステム、シリアルポート、USBシリアルアダプターなどをテストしました。 私の観察のいくつかは、元の投稿に追加されました。 しかし、一貫していたのは、KitProgの8つのデータビットとパリティビット TESTBOARD_150PC_OUT を得ることができず、その結果、ターゲットが応答しないということでした。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/KitProg-Serial-with-parity/m-p/667997

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは

オフィスに戻ったばかりなので、オシロスコープにアクセスできます。

そこで、以下のテストを行いましたが、黄色の信号はKitProg P12[7]です。

と赤(?)信号はP12[6]に接続されたループバック信号

しかし、数分後に別の会議があるので、

分析はお😉任せします

(1)115200 8N1メートル

115200_8N1_m.png

(2)115200 8N1 M

115200_8N1_upperM.png

(3) 115200 8O1メートル

115200_8O1_m.png

(4)115200 8O1 M

115200_8O1_upperM.png

(5)115200 8E1メートル

115200_8E1_m.png

(6)115200 8E1のM

115200_8E1_upperM.png

 

モト

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/KitProg-Serial-with-parity/m-p/668067

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

おかげで再びモト、

あなたのオシロスコープのショットは、私の観察結果と完全に一致しています。 最初に注意すべきことは、キャラクターの持続時間が6つすべてで同じであることです。 8N1は正しいです。 スタートビット、8データビット、ストップビットがあります(シリアル通信のストップビットは何か別のことが起こるまで続きますが、1ビット時間だけが重要であるため、少し混乱します)。 これにより、合計 10 ビット時間になります (ストップ ビットの 1 ビット時間をカウントします)。

しかし、8O1 と 8E1 は 1 ビット長くする必要があります。 スタートビット、8データビット、パリティビット、ストップビットの合計11ビットを備えています。 パリティ ビットがたまたま 1 の場合、8N1 は終わりのないストップ ビットに溶け込むため、8N1 と同じように見えます。 しかし、パリティ ビットが 0 の場合、ストップ ビットはパリティ ビットの後まで開始されないため、全体が 1 ビット長く見えます (ただし、実際にはどちらも 1 ビット長くなります)。

以下では、8O1がどのように見えるかを示すために、各キャラクターの画像の1つを編集しました。 最初のケース(小文字のm)では、ハイのデータビットが5つあるため、パリティビットがローになり、ストップビットが1ビット後に発生することは明らかです。 大文字の M の場合、ハイのデータ ビットが 4 つあるため、パリティは 1 で奇数になります。 パリティがないのと同じように見えますが、別の文字が続くと、黄色が終わるまで開始できません。

ですから、開発チームの誰かがこれを見て修正を発行できることを願っています。 Windowsはパラメータを EVAL_BDPS_DRIVERに提供し、USB経由で PSoC™ 5に送信し、5はそれらを正しく使用する方法を知っている必要があるため、少し複雑です。 したがって、問題はWindows EVAL_BDPS_DRIVER または PSoC™ 5コード(またはその両方)のどこにでもある可能性があります。

 

Wilton_0-1703786119854.png

追伸:KitProgのバージョン2.3のコピーを見つけましたが、見栄えがよくありません。 ボーレートを変更するコードはありますが、パリティについては言及されていません。 USB EVAL_BDPS_DRIVER がパリティ情報を PSoC™ 5 に渡すかどうかはわかりません。 存在する場合は、無視されます。 おそらく、パリティなしと 1 ストップ ビットはモジュールのインスタンス化で設定され、コードではまったく変更されません。 もし情報がUSB経由で渡されれば、それを利用するのはかなり些細なことであり、インフィニオンの誰かが、この作業に1時間か2時間のプログラミング時間を割り当てることに知恵を見出すことを願っています。 Windows EVAL_BDPS_DRIVER でその情報が提供されない場合は、作業がさらに大きくなる可能性があります。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/KitProg-Serial-with-parity/m-p/668405

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは@Wilton

これは、KitProg3 UART通信プロパティの制限です。

すべてのUART通信プロパティの組み合わせがサポートされているわけではないという記述があり、ユーザーはKitProg3ユーザー v01_00 KitProg3_User_Guideガイドを参照する必要があります.pdf 

Gautami_12_0-1704264829710.png

よろしくお願いします、
ゴータミJ

 

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/KitProg-Serial-with-parity/m-p/669968

0 件の賞賛