rl78F14のUART受信の問題点について

こんにちは TTです。

 

現在、下記のような処理を行おうとしています。

A:自分(RL78F14)

B:通信相手(Aからもらったデータ内容に応じて返信してくる)

1. A→Bへデータを送信する

2.  自分(A)は自分で送信したデータを受信してしまうので、送信したデータと受信したデータが同じならデータを破棄する

3. Bからの返信を受信するまで待つ

4. Bからの返信を受信出来たら、データを取り出す。

 

しかし、上記処理中の3でBからのデータを受信することが出来ません。

通信ログを確認したところ、

・A→Bへ正しくデータを送信できている事、B→Aへデータが正しく送信されていることは確認できています。

・BはAからのデータをもらって15ms程度で返信を返してきています。

現在の不具合の仮説としては、「自分の送信データ受信→受信完了の間にBからの返信が来てしまっている?」と考えています。

そこで、EUARTの受信データの受信完了にはどれくらい時間がかかるものなのでしょうか?

また、ほかに考えられる原因等あればご教授ください。

Parents
  • はじめまして、TTさん。Hosです。

    > 2. 自分(A)は自分で送信したデータを受信してしまうので
    まず、通常はこのような動作にはなりません。
    回路上でループバックしていないか確認するとよいと思います。

    RL78F14は触ったことがありませんが、マニュアルを読む限りではLINセルフテストモードに入れるとループバックするになるようです。
    こちらも確認するとよいと思います。

    > ・A→Bへ正しくデータを送信できている事、B→Aへデータが正しく送信されていることは確認できています。
    この通信ログはAとBどちらで確認したものですか?
    一番良いのは、信号として出力されているかをオシロなりロジアナなりで確認することです。
Reply
  • はじめまして、TTさん。Hosです。

    > 2. 自分(A)は自分で送信したデータを受信してしまうので
    まず、通常はこのような動作にはなりません。
    回路上でループバックしていないか確認するとよいと思います。

    RL78F14は触ったことがありませんが、マニュアルを読む限りではLINセルフテストモードに入れるとループバックするになるようです。
    こちらも確認するとよいと思います。

    > ・A→Bへ正しくデータを送信できている事、B→Aへデータが正しく送信されていることは確認できています。
    この通信ログはAとBどちらで確認したものですか?
    一番良いのは、信号として出力されているかをオシロなりロジアナなりで確認することです。
Children
  • ご返信ありがとうございます。

    >まず、通常はこのような動作にはなりません。
    通信のICの仕様を確認したところ、送信したデータも含めバス上のデータをすべて受信する様でした。

    >LINセルフテストモードに入れるとループバックするになるようです。
    ありがとうございます。確認します

    >この通信ログはAとBどちらで確認したものですか?
    通信のログはマルチランテスタで確認したものなので間違いはないと思います。