RX65N スマートカードインターフェースモードで受信割り込みが遅延する

アルファプロジェクトのCPUボード「AP-RX65N-0A」を使用し、RX65Nのソフト開発をしています。

スマートコンフィグレータを使用して、SCI2をスマートカードインターフェースとして使用し

ソフトを組んだのですが、1byte受信した時点でオーバーランエラーが発生し、それ以降のデータが受信できません。

 

オシロを使い受信割り込みのタイミングをみたところ、20byteのデータを受信した後に

受信割り込みが発生していました。

通常であれば、1byte受信した時点で受信割り込みが発生するものと思います。

 

受信データについてはオーバーランエラーは発生するものの最初の1byteは正常に

RDRに取得できていました。

 

現象としては受信割り込みが遅延しているかのようです。

対処方法などご教授いただけないでしょうか?

 

スマートコンフィグレータの設定値は以下の通りとなっています。

データ長:8bit

パリティ:偶数

データ転送方向:LSBファースト

受信データ・レベル設定:標準

ブロック転送モード:ノーマル

GSMモード:ノーマル

転送クロック:内部クロック

ビットレート:26882bps

ビットレートモジュレーション機能:無効

SCK2端子機能:クロック出力

送信データ処理:割り込みサービスルーチンで処理する

受信データ処理:割り込みサービスルーチンで処理する

TXI2優先順位:レベル5

RXI2優先順位:レベル5

受信エラー割り込み許可(ERI2):有効

ERI2優先順位:レベル5

コールバック送信完了:有効

コールバック受信完了:有効

コールバック受信エラー:有効

 

クロックの設定は以下の通りです。

発振子:24MHz

PLL分周比:×1

逓倍比:×10.0

FCLK:1/4 60MHz

ICLK:1/2 120MHz

PCLKA:1/2 120MHz

PCLKB:1/4 60MHz

PCLKC:1/4 60MHz

PCLKD:1/4 60MHz

BCK:1/2 120MHz

 

スマートカードインターフェース信号をオシロでみたところ

SCK:10MHz

IO:26882bps(1bitデータ長 37.2usec)

 

以上よろしくお願いいたします。

Parents
  • brotherさん、こんにちは。NoMaYと申します。

    まず、ちょっと確認しておきたいのですが、以下の「受信割り込み」が発生したタイミングをどう確認されたか知りたいです。RXスマートコンフィグレータが生成したConfig_SCI2_user.cの受信割り込みルーチンの先頭で、デバッグ用に確保した何れかのポートの出力をトグルさせてみて、それとRX2への受信入力データと一緒にオシロで見てみた、でしょうか?

    そういうことあれば、それはプログラムのどこかに、(1bitデータ長)37.2usec×8≒300usecを超える割り込み禁止時間がある、ということになるとしか考えられないです。(現時点では。)

    > オシロを使い受信割り込みのタイミングをみたところ、20byteのデータを受信した後に
    > 受信割り込みが発生していました。
    > 通常であれば、1byte受信した時点で受信割り込みが発生するものと思います。

  • NoMaY様、ご返信ありがとうございます。

    説明不足で申し訳ありません。
    「受信割り込み」の確認方法は、NoMaY様のおっしゃる通り、ボードのMonitorLEDに割り当てられている
    IOポート(PC0)の出力をトグルさせて、RX2と2CH同時に波形を取って確認しました。

    なるほど割り込み禁止時間ですね。別で1msecごとにタイマ割り込みを使用しているので
    そちらに間違いがないか確認してみます。
    現状仕様している機能(コンポーネント)はSCI2とタイマ(TMR0_TMR1)とPORTのみで
    割り込みを使用しているのはタイマのみとなります。
Reply
  • NoMaY様、ご返信ありがとうございます。

    説明不足で申し訳ありません。
    「受信割り込み」の確認方法は、NoMaY様のおっしゃる通り、ボードのMonitorLEDに割り当てられている
    IOポート(PC0)の出力をトグルさせて、RX2と2CH同時に波形を取って確認しました。

    なるほど割り込み禁止時間ですね。別で1msecごとにタイマ割り込みを使用しているので
    そちらに間違いがないか確認してみます。
    現状仕様している機能(コンポーネント)はSCI2とタイマ(TMR0_TMR1)とPORTのみで
    割り込みを使用しているのはタイマのみとなります。
Children
  • タイマ機能自体削除しましたが症状は変わらず、20byte程度のデータを受信した後に
    受信割り込みが発生し、1byteだけ正常に受信し、エラー割り込み(オーバーラン)が発生します。

    割り込みが禁止されている原因を調べる方法はございますでしょうか?