Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page

UARTのフレーミングエラー

現在RX231のマイコンにてUARTの通信を行っています。

UART 115200bps/8bit/偶パリティ/1ストップビット/3.3V

高速OCO 27MHz

クロックを高速OCO使用したときには正常に送受信可能なのですが、

低速OCO 4MHzに切り替えて送信しようとした際に、フレーミングエラーの受信割込みがかかります。

ステップ実行でデバッグするとデータは送信できているのですが、受信割込みがかかります。

相手側からデータは送られてきていないのですが、送信時に受信割込みがかかる原因に思いつく方いましたらご教授お願いします。

  • Rxのピンがオープンになってたりはしませんか
  • In reply to fujita nozomu:

    菅原と申します。
    なんとなくの体感値として システムクロック 4M で115.2Kの受信は結構つらいかも。

    ・試しに 送信元の バイト間の間隔をあけることはできませんか 
      バイト間の間隔をあけると受信できるのであれば、受信処理が間に合っていないということですね。
    ・割り込み処理の時間は計測できませんか
     割り込み処理 + スタックの退避等の時間が 115.2Kだと 100uSecぐらいがぎりぎりな感じではないかと思います。
     それ以上かかっているのであれば間に合いません。

    ちょっと試してみていただけませんか

    割り込み処理を短時間にするか、または DMAで受信することが対策になるかと思います。
  • In reply to fujita nozomu:

    ありがとうございます。
    ピンは問題ないはずです
  • In reply to ビーコン菅原:

    ありがとうございます。
    RXの送信間隔をわざと1msにするとラインモニタ上で送信データのフレーミングエラーが行らなくなりました。
    ですが、相手側はこちらで操作できないので、受信時は処理が追い付いていないような感じです。
    電圧範囲を2.4V以下にする場合もあるので、4MHZで動作を検討していましたがどうやらうまくいかないので
    8MHZで試してみます。(8MHZまで動作可能)
  • In reply to きっくる:

    > ピンは問題ないはずです

    「はず」で済ましてると見つかるものも見つかりませんよ。
  • In reply to fujita nozomu:

    書き方が悪かったです。
    プルアップ抵抗を入れて試してみましたが、相変わらずエラーは発生していました。
    そこが原因ではないと考えます
  • In reply to きっくる:

    > プルアップ抵抗を入れて試してみましたが、相変わらずエラーは発生していました。

    たとえば GND に短絡しているとプルアップ抵抗も機能せずシリアル入力はスタートビットを認識すると思いますがその確認方法で万全ですか?
  • きっくるさん、こんにちは。NoMaYと申します。

    >送信時に受信割込みがかかる原因

    RX231のハードウェアマニュアルのI/Oポートの章の入出力ポートの構成という箇所を見てみると、以下の画面コピーの通りAND回路が入っていますので、UARTの通信開始操作とPMRの切り替え操作の順序(または1つ前のUARTの通信終了操作とPMRの切り替え操作の順序)によっては、意図しない受信割り込みや受信エラー割り込みが発生する可能性があるように思います。

    ちなみに、今回のTxDとRxDの具体的なポートは何でしょうか?以下の画面コピーのポートの構成は比較的単純な方で、これよりも複雑なポートの構成になっているものもありますので。(むしろ、複雑なものの方が多いです。)

    RX231のハードウェアマニュアルのI/Oポートの章の入出力ポートの構成の図の1つの画面コピー
    www.renesas.com/jp/ja/doc/products/mpumcu/doc/rx_family/r01uh0496jj0120-rx231.pdf


  • In reply to NoMaY:

    >低速OCO 4MHzに切り替えて送信しようとした際に、フレーミングエラーの受信割込みがかかります。
    「4MHzに切り替えて送信」というのがいけないのでは、切り替える場合には送受信禁止、割り込み禁止、割り込みフラグクリア等してから切り替えて送信受信許可のような手段を取らないと動作は保証されないのでは。
  • きっくるさん、こんにちは。NoMaYです。

    その後、どういう状況でしょう?そちらで、何か進展はありましたでしょうか?私の手元には、RX231のTBボードがありますので、RXスマートコンフィグレータで単純な似たようなプログラムを作って、手元で試してみることも出来るのではないだろうかとも思ったりしています。やはり、それまでは何事も無かったのに送信した途端に受信データが何も来ていないのに受信エラー割り込み(フレーミングエラー)が発生してしまう、というのは、どこかにバグがあるのだろう、と思うには(その話からだけでは)不可解な感じが致しますので。

  • In reply to NoMaY:

    お返事遅くなり申し訳ございません。
    今別件でソフト修正に追われており、確認できるのが、来週の火曜日以降になりそうです。
    ポートは、PB7、PB6のTXD9、RXD9を使用しています。(RX231 64pin)
  • In reply to きっくる:

    きっくるさん、こんにちは。NoMaYです。

    >今別件でソフト修正に追われており、確認できるのが、来週の火曜日以降になりそうです。

    そういう事情でしたか。了解しました。では、また、その頃に伺います。

  • きっくるさん、こんにちは。NoMaYです。

    その後、どうでしょうか?

Top Page [◀◀]  2   3   4   5   6   7   8   9   ... [▶▶Last Page