Armadilloフォーラム

Armadillo IoT A6Eを使用したRS-485シリアル通信の送受信間隔について

jfurukawa

2024年3月27日 11時14分

表題の件につきまして、Armadillo IoT A6E(以下、A6Eと記載)を使用して他社製品とRS-485にてシリアル通信の送受信確認を行っておりますが
A6Eからデータ送信後、早い周期(約9ミリ秒以内)で他社製品からデータを受信すると受信データの一部が消失してしまう問題が発生しております。

送信後の受信間隔を変更せずに、受信データを正常に受信する方法がありましたらご教示いただけますでしょうか。

デバイスファイル:/dev/ttymxc4
ボーレート:19200 bps

コメント

at_syunya.ohshio

2024年3月29日 13時21分

大塩です。

> 表題の件につきまして、Armadillo IoT A6E(以下、A6Eと記載)を使用して他社製品とRS-485にてシリアル通信の送受信確認を行っておりますが
> A6Eからデータ送信後、早い周期(約9ミリ秒以内)で他社製品からデータを受信すると受信データの一部が消失してしまう問題が発生しております。
>
> 送信後の受信間隔を変更せずに、受信データを正常に受信する方法がありましたらご教示いただけますでしょうか。
>
>
> デバイスファイル:/dev/ttymxc4
> ボーレート:19200 bps

差し支えなければ、使用している他社製品の対向機に関する詳細をお教え頂けますでしょうか。

以上です。

jfurukawa

2024年3月29日 19時02分

> 大塩です。
> > デバイスファイル:/dev/ttymxc4
> > ボーレート:19200 bps
>
> 差し支えなければ、使用している他社製品の対向機に関する詳細をお教え頂けますでしょうか。
>
> 以上です。

大塩様
お世話になっております。ご返信いただきありがとうございます。
どのような情報が必要かご教示いただけますでしょうか。

また、簡単ではございますが通信の流れについて先に追記させていただきます。

・流れ
①対向機がGW宛にポーリングを行う
 ※1.ポーリング電文は10byte未満で5msec以内にデータの送信を行う
 ※2.送信後、次の宛先にポーリングを開始するまで4msecほど待機する

②GWはポーリングを受信すると※2の4msec以内に応答データを送信する(応答データも10byte未満です。)

・発生した現象
 応答データを4msec以内に返送しているが、対向機から受信したデータが欠損している

at_syunya.ohshio

2024年4月1日 9時44分

大塩です。

> どのような情報が必要かご教示いただけますでしょうか。

失礼しました。
以下内容について、回答できる範囲で良いのでお教え頂けますでしょうか。
・対向機の品名(型番)
・対向機の設定(ボーレート、パリティ設定、データ長、ストップビット)

以上です。

jfurukawa

2024年4月1日 13時23分

> 以下内容について、回答できる範囲で良いのでお教え頂けますでしょうか。
> ・対向機の品名(型番)
> ・対向機の設定(ボーレート、パリティ設定、データ長、ストップビット)
>
> 以上です。

大塩様
ご返信いただきありがとうございます。
製品の品名等に関しては、確認を行いますので少々お待ちいただけますでしょうか。
先に、対向機の設定について回答させていただきます。

・ボーレート:19,200bps
・パリティ設定:なし
・データ長:8bit
・ストップビット:1bit

at_syunya.ohshio

2024年4月9日 15時11分

大塩です。

回答遅くなり申し訳ございません。
情報の送付ありがとうございます。

追加で2点確認させてください。
・「受信データの一部が消失してしまう」とありましたが、消失したデータは「先頭からのデータ」でしょうか
・delay_rts_after_send の設定を行っているでしょうか

以上です。

jfurukawa

2024年4月15日 18時45分

> 追加で2点確認させてください。
> ・「受信データの一部が消失してしまう」とありましたが、消失したデータは「先頭からのデータ」でしょうか
> ・delay_rts_after_send の設定を行っているでしょうか
>

大塩様
ご連絡いただきありがとうございます。
お問い合わせいただいた内容について、回答させていただきます。

・「受信データの一部が消失してしまう」とありましたが、消失したデータは「先頭からのデータ」でしょうか
はい、先頭からのデータが数Byte消失しておりました。

・delay_rts_after_send の設定を行っているでしょうか
こちらについて、特に設定を行っておりません。
該当の設定箇所が不明なためお手数ですが、ドキュメント等ご展開いただけますでしょうか。

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

at_syunya.ohshio

2024年4月16日 15時10分

大塩です。

> ・「受信データの一部が消失してしまう」とありましたが、消失したデータは「先頭からのデータ」でしょうか
> はい、先頭からのデータが数Byte消失しておりました。
>
> ・delay_rts_after_send の設定を行っているでしょうか
> こちらについて、特に設定を行っておりません。

上記情報ありがとうございます。
おそらくは処理の遅れによって先頭の文字を取りこぼしているように見えますので
以下のパッチをカーネルに適用することによって改善される可能性があります。
https://github.com/nxp-imx/linux-imx/commit/582e9a24fc139adabb1dc951620…

パッチを適用したカーネルのswuを作成しましたので、カーネルビルドが難しい場合はこちらをお試しください。

以上です。

at_syunya.ohshio

2024年4月16日 15時44分

大塩です。

> パッチを適用したカーネルのswuを作成しましたので、カーネルビルドが難しい場合はこちらをお試しください。

申し訳ありません、swu 証明書からswu送付で入れていただくのは難しいため
お客様の方で記載したパッチの内容を適用し、カーネルをビルドしていただけますでしょうか。
以下製品マニュアルに方法は記載しています。
https://manual.atmark-techno.com/armadillo-iot-a6e/armadillo-iotg-a6e_p…

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