takuya.murasugi
2017年10月26日 17時15分
村杉と申します。
お世話になっております。
①2015年頃購入したArmadillo IoT G2と
②最近購入したArmadillo IoT G2とで
Armadillo-IoT 絶縁RS485アドオンモジュール RS02から取得できる
データが異なる動作となっております。
半二重通信を用いてプログラムで
対向機にデータの送信→対向機からデータの受信を行っています。
異なる点。
①受信データにG2が送信した送信データが読み込まれる。後ろに
対向機から受信したデータが連なって読み込まれる。
②対向機から受信したデータのみ。
絶縁RS485アドオンモジュールは同一のものを使い回しており、
userland、kernel、bootloaderは同一物を書き込んでおります。
Armadillo IoT G2の出荷時期、ロットにより挙動が異なっているように
見れるのですが、このような事はあるのでしょうか?
コメント
takuya.murasugi
takuya.murasugi
at_koseki
古関です。
> 別案件で使用しているG2が社内にあり、そちらでsetenvしてみたのですが、
> パラメータなしでした。
当社からの出荷時には設定しません[※]ので同じ挙動をさせたければ、同じ設定を行う必要があります。
[※] ROM書き込みサービスを利用して指定する場合は除きます
hermit> setenv console=ttymxc1,115200 root=/dev/ram0 imx.rs485_uart1=0x13,0,0
> imx.rs485_uart1パラメータが設定されていない場合、
> 初期値・デフォルト値はどのような設定になりますでしょうか?
製品マニュアルの以下に記載されています。
https://manual.atmark-techno.com/armadillo-iot/armadillo-iotg-std_produ…
takuya.murasugi
古関様
お世話になっております。
村杉と申します。
> 当社からの出荷時には設定しません[※]ので同じ挙動をさせたければ、同じ設定を行う必要があります。
hermitでclearenvでパラメータを消したのち、
RS485の確認を行ったところ、送信データが読み込まれることは無くなりました。
setenvの
imx.rs485_uart1=0x13,0,0
パラメータで
--------------------------------
RX_DURING_TX(bit4)
0: 半二重通信
1: 全二重通信
--------------------------------
の箇所を「全二重通信」設定にしたままで動かして
いたことが原因と思われます。
お騒がせし、申し訳ございませんでした。
ありがとうございました。
以上
takuya.murasugi
村杉と申します。
追加情報です。
書き込んだLinuxとUserlandのバージョンは以下となります。
・Userlandのバージョン
# cat /etc/DISTNAME
atmark-dist v1.53.0 (AtmarkTechno/tktkgw)
・カーネルのバージョン(ブート時の出力より)
Linux version 3.14.36-at9 (atmark@atde5) (gcc version 4.6.3 (Debian 4.6.3-14atmark1) ) #4 PREEMPT Sat Oct 14 16:16:21 JST 2017
コンパイルに使用したソースは以下となります。
・atmark-dist-20170726.tar.gz
・hermit-at-3.9.0-source.tar.gz
・linux-3.14-at9.tar.gz
・awl13-3.0.2-3.tar.gz
よろしくお願いいたします。
以上
at_koseki
2017年10月26日 17時32分
古関です。
ロットや製造時期で、ハードウェアは変えていないつもりです。。
hermitのsetenv値の違いかもしれません。
※ setenvで指定する、kernelパラメーターでrs485の設定変更が可能
https://manual.atmark-techno.com/armadillo-iot/armadillo-iotg-std_produ…
2台のG2それぞれでを保守モードで起動し、
hermitのプロンプトで"setenv"コマンドを実行して結果をいただけますか?
hermit> setenv