gohsanのアイコン画像
gohsan 2020年03月16日作成 (2021年09月19日更新)
セットアップや使用方法 セットアップや使用方法 閲覧数 722
gohsan 2020年03月16日作成 (2021年09月19日更新) セットアップや使用方法 セットアップや使用方法 閲覧数 722

組込機器のCOMポートを順番に認識させようとしたら詰んだ話

目的

構成

機器の構成は以下の通りです。
 PC <USB>       FT231XS(1) <UART> Arduinoマイコン(1)
 PC <USB><制御信号> FT231XS(2) <UART> Arduinoマイコン(2)

  • ホストPCとマイコン(1)(2)を接続
  • FT231XS(1)はUSB接続のみで電源ON
  • FT231XS(2)はマイコン(1)からの制御信号で電源ON

以下の様な順番で動作する想定でした。

  1. 両機器をUSB接続、FT231XS(1)のCOM認識
  2. マイコン(1)にプログラム書込
  3. マイコン(1)からの制御信号でFT231XS(2)の電源ON、COM認識
  4. マイコン(2)にプログラム書込
  5. 両マイコンが正常動作

不具合

2. の後の動作がおかしい。FT231(2)の電源のON/OFFが切り替わり続けてしまい、COMが認識されたり見えなくなったりを繰り返します。
数十秒後放置すると正常動作しますが、、、

原因

次のような動作が実際は起きていました。

  1. マイコン(1)からの制御信号でFT231XS(2)の電源ON
  2. FT231XS(1)のDTR信号がHIGH→LOW
  3. マイコン(1)がリセット
  4. 制御信号がなくなるのでFT231XS(2)の電源OFF
  5. マイコン(1)が再起動
  6. 1~5のリピート

PCを2台にして別々のPCにそれぞれの機器を接続したら動作したので、1台のPCだと同じデバイスだとPCが判断して両方のUSB端子からDTR信号を動かしていたのでしょうか?

1
ログインしてコメントを投稿する