4 Replies Latest reply on Aug 5, 2019 5:40 PM by PraveenM_86

    Translation of KBA No.6 English to Japanese

    MoTa_728816

      I'd like to try No.6

       

      moto

        • 1. Re: Translation of KBA No.6 English to Japanese
          MoTa_728816

          No.6

           

          What is meant by Overrun error in UART and what considerations should be taken to overcome it?

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

          質問:

          UART における オーバーランエラーとはどういったものでしょうか?

          また、どのような対策が必要なのでしょうか?

           

          回答:

          オーバーランエラーは直前の1バイトが UART の受信バッファから読み出される前に次の1バイトが受信された時に発生します。

          これは主に 割込み処理において CPU が受信バッファから文字を取り出すのまでに必要とされる時間によって引き起こされます。

          もし CPU のサービスが遅く次のバイトが受信される前に割込み処理を行えなかった場合、受信バッファがいっぱいになり、

          オーバーランエラーが発生してしまいます。

           

          以下にこの問題を回避する為のいくつかの手法をお知らせします。

           

          1. CPU を可能な最大速度で動かしてください。

           この方法で UART 割込み処理(その他の割込みも含まれます。)の速度を上げることが出来ます。

           

          2. UART の割込み処理(ISR) を可能な限り効率的かつ短くしてください。

           例えば ISR は UART の受信バッファを読んで RAM バッファに移し、フラグをセットするだけにします。

           受信したデータの処理は通常処理(foreground)で行うことが出来ます。

           ISR の処理時間は次のデータバイトを受信するのに必要な時間より短くなるようにすべきです。

           

          3. C言語で ISR を記述した場合、すべての仮想レジスタ、ページレジスタ、A及びXレジスタの退避と復帰が発生します。

           これは ISR の実行時間を増加させます。

           UART の割込み処理 (ISR) をアセンブラで記述することにより、ISRをより効率的にすることが可能です。

           

          4. プログラム内の他の割込みも割込みの遅延を発生し、結果的にオーバーランエラーに結び付くことがあります。

           そのような状況では、UART のボーレートを低くすることでオーバーランエラーを回避もできます。

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

           

          moto

          • 2. Re: Translation of KBA No.6 English to Japanese
            PraveenM_86

            Dear Tanaka san.

             

            Thanks for the participation.

            We appreciate your efforts in translation.

            We will get back with the link to your published translation content as soon as it is done.

             

            Cheers

            Community team

            • 3. Re: Translation of KBA No.6 English to Japanese
              MoTa_728816

              Hi,

               

              I found my spelling miss,

               

              > これは主に 割込み処理において CPU が受信バッファから文字を取り出すのまでに必要とされる時間によって引き起こされます。

               

              should be

               

              < これは主に 割込み処理において CPU が受信バッファから文字を取り出すまでに必要とされる時間によって引き起こされます。

               

              moto

              • 4. Re: Translation of KBA No.6 English to Japanese
                PraveenM_86

                Moto san,

                 

                Thanks for your continued contributions for the community.

                 

                Translated KBA is now live in CDC.

                 

                Hope to see many more translations from the community.

                 

                UART オーバーランエラー - Community Translated (JA)

                 

                Cheers

                Praveen