Armadilloフォーラム

GPIOの回路接続

beans

2017年4月25日 14時20分

armadilloを2台装置内で使用します。
CN8のp1-p28
CN9のp28-p9
を使ってarmadillo同士でリセットし合う回路を作成したいのですが、
どの様に接続すれば良いでしょうか?

コメント

at_kojiro.yamada

2017年4月26日 17時29分

> CN8のp1-p28
> CN9のp28-p9

「CN8のp1-p28」「CN9のp28-p9」とは何を指しているのでしょうか?
# 使用するピン番号の範囲を表すのかとも思いましたが、CON8はピンが2つしかありませんし、
# 意味がわかりませんでした。

> を使ってarmadillo同士でリセットし合う回路を作成したいのですが、
> どの様に接続すれば良いでしょうか?

試したわけではないのですが、
CON9の1, 2, 5, 21, 27, (28※)以外のピンであれば、
CON8の1ピンと直結しても問題ないかと思います。
※ 28ピンは Hermit-At ブートローダーおよびLinuxカーネルで行っているGPIOの初期設定を修正すれば使用可能。

直結して問題ないかどうかは、
「i.MX257リセット解除後の信号状態でCON8 1ピンにLowが入力されないこと」
がポイントです。

ピンの初期状態については、Armadillo-400シリーズ ハードウェアマニュアルに記載しておりますので、ご確認ください。

Armadillo-400シリーズ ハードウェアマニュアル 付録B 拡張インターフェースの初期設定
http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_hard…

y.nakamura

2017年4月26日 21時05分

中村です。

> > CN8のp1-p28
> > CN9のp28-p9
>
> 「CN8のp1-p28」「CN9のp28-p9」とは何を指しているのでしょうか?
> # 使用するピン番号の範囲を表すのかとも思いましたが、CON8はピンが2つしかありませんし、
> # 意味がわかりませんでした。

投稿されたご本人の返事を待つのが一番なのかもしれませんが。。。
私は次の意味の一部記述ミスと思って読んでました。
CON8のP1(EXT_RESET)とP2(GND)
CON9のP28(EXT_IO21)とP9(GND)

この各2本をどうつなげばよいか?と。
GNDどうしをつなぐのは当然として、
CON8のP1とCON9のP28の接続の方法が知りたいのだと思います。

> CON9の1, 2, 5, 21, 27, (28※)以外のピンであれば、
> CON8の1ピンと直結しても問題ないかと思います。
> ※ 28ピンは Hermit-At ブートローダーおよびLinuxカーネルで行っているGPIOの初期設定を修正すれば使用可能。
>
> 直結して問題ないかどうかは、
> 「i.MX257リセット解除後の信号状態でCON8 1ピンにLowが入力されないこと」
> がポイントです。

リセット解除時だけでなく、リセット中のことも考える必要があると思います。
リセット中のことを考えないと・・・・
AがBをリセットしたときに、Bのリセット状態によってAがリセットされる、
なんてことが起きかねません。

それから、2台が同一電源ならいいですが、
そうでないなら、片方の電源が落ちた時のことも。

直結せず、間にオープンコレクタ/オープンドレインを挟んだ方がいいと思います。
そのうえで、
・電源OFF状態
・リセット中
・リセット解除時(ブートローダ)
・リセット解除時(Linuxカーネル)
の状態をしっかり考えて。

--
なかむら

y.nakamura

2017年4月26日 21時13分

中村です。

すみません。一部訂正です。

> ・電源OFF状態
> ・リセット中
> ・リセット解除時(ブートローダ)
> ・リセット解除時(Linuxカーネル)

このままでも意味はわかってもらえるとは思いますが・・・
・電源OFF状態
・リセット中
・リセット解除時(ブートローダによる初期化前)
・ブートローダによる初期化後
・Linuxカーネルのよる初期化後
です。

リセット中とリセット解除時は、同じかな?

--
なかむら

beans

2017年4月27日 11時03分

すみません。追加でおねがいします。

> 直結せず、間にオープンコレクタ/オープンドレインを挟んだ方がいいと思います。
とありますが、
直結しない場合と、した場合でリセット時の相手側への状態が変わるのですか?
”Low"ならば、反転させれば良い、の意図ですか?

ちなみに2つのPCは同一電源DC5Vを使用します。
出来れば、armajillo同士で直結させたいのですが、、、

y.nakamura

2017年4月27日 11時24分

中村です。

> > 直結せず、間にオープンコレクタ/オープンドレインを挟んだ方がいいと思います。
> とありますが、
> 直結しない場合と、した場合でリセット時の相手側への状態が変わるのですか?
> ”Low"ならば、反転させれば良い、の意図ですか?

RESET入力をGNDに落とす(LOWにする)とリセットですから、反転させて、
HIGHを出したときだけ相手をリセット(相手LOW)の方がやりやすいでしょうし、
こちらがリセットしていたり、起動中だったり、アイドル状態だったりの
何もしないとき(相手をリセットしたくない)ときは、回路的に切り離された
状態にした方がやりやすいと思いますので、オープンコレクタ接続と書きました。

リセットしていたり、起動中だったり、アイドル状態だったりの何もしないときに、
こちら側のそのポートはLOW出力かHigh-Z(入力)かであればいいわけで・・・

--
なかむら

beans

2017年4月27日 10時55分

回答ありがとうございます。
また誤記についても訂正頂き、自分の意図する質問として理解頂きありがとうございます。
回答頂いた内容も全てが理解出来るほどの知識も無く、恐縮なのですが、、、

> CON9の1, 2, 5, 21, 27, (28※)以外のピンであれば、
とありますが、ブートローダ設定のP27,P28がイニシャルで出力となる理解ではないですか?

> 「i.MX257リセット解除後の信号状態でCON8 1ピンにLowが入力されないこと」
CON9-P28は、
i.MX257リセット解除後        Pin-state "-"
ブートローダー起動後の信号状態  Pin-state "Low"
となっていますが、CON9-P28とCON8-1を直結すると

リセットされたPC起動時に”Low"となってしまい?
リセットしたPCのCON8-P1が”Low"になる。

ということになり、使用できない、と言うことになるのですか?

at_kojiro.yamada

2017年4月27日 15時43分

まず直結した場合の注意点を書いておきます。

■CON8の1ピンをCON9の28に直結する場合、両方のArmadilloを同時に電源ON/OFFする必要がある

Armadillo-420が2台あるとして、片方をA、もう片方をBとします。
そして互いに、
CON8の1ピンをCON9の28ピンと、
CON8の2ピンをCON9の9ピンと
直結したとします。

ここで Aを電源ON、Bを電源OFFの状態になった場合を考えます。

CON8の1ピンが内部で3.3Vプルアップされているため、
AのCON8 1ピン から 3.3V が出力され、 BのCON9 28ピン に入力されます。

入出力インターフェースの絶対最大定格は、VImaxが OVDD+0.3 です。
Bは電源OFFですので、OVDD = 0.0V 、 VImax = 0.3V です。

つまり、 BのCON9 28ピン には
VImax 0.3V を超える電圧 3.3V が入力されてしまいます。

そのため、必ず、AとBの電源が同時にON/OFFされる回路にしてください。
不可能な場合は、オープンコレクタ接続とするのがよさそうです。

===================

> (中略)CON9-P28とCON8-1を直結すると
>
> リセットされたPC起動時に”Low"となってしまい?
> リセットしたPCのCON8-P1が”Low"になる。
>
> ということになり、使用できない、と言うことになるのですか?

Armadillo A が Armadillo B にリセットをかけ、
リセットされたことで Armadillo B の CON9 28 ピンが Low となり、
Armadillo Aにリセットをかけてしまう。

という意味であれば、その理解で正しいです。
標準のHermit-AtブートローダーおよびLinuxカーネルでは、CON9 28ピンとCON8 1ピンと直結して使用することはできません。

ただし、あくまでも、標準のHermit-AtブートローダーおよびLinuxカーネルを利用する場合は、です。

beans

2017年4月27日 19時45分

回答ありがとうございます。

> ■CON8の1ピンをCON9の28に直結する場合、両方のArmadilloを同時に電源ON/OFFする必要がある
電源は1系統のDC5Vしかなく、途中にON/OFFする回路はありません。

直結した場合、
> Armadillo A が Armadillo B にリセットをかけ、
> リセットされたことで Armadillo B の CON9 28 ピンが Low となり、
> Armadillo Aにリセットをかけてしまう。
>
> という意味であれば、その理解で正しいです。
> 標準のHermit-AtブートローダーおよびLinuxカーネルでは、CON9 28ピンとCON8 1ピンと直結して使用することはできません。
>
> ただし、あくまでも、標準のHermit-AtブートローダーおよびLinuxカーネルを利用する場合は、です。
ただし、~
の意味は、最初に回答頂いた設定のことを指していますか?

つまり
①”標準設定”から”GPIOの初期設定を修正”すれば、
②2台同時に電源ON/OFFする条件であれば、
 ダイレクト接続で可能

と言う意味でしょうか?

at_kojiro.yamada

2017年4月27日 19時54分

> 回答ありがとうございます。
>
> > ■CON8の1ピンをCON9の28に直結する場合、両方のArmadilloを同時に電源ON/OFFする必要がある
> 電源は1系統のDC5Vしかなく、途中にON/OFFする回路はありません。
>
> 直結した場合、
> > Armadillo A が Armadillo B にリセットをかけ、
> > リセットされたことで Armadillo B の CON9 28 ピンが Low となり、
> > Armadillo Aにリセットをかけてしまう。
> >
> > という意味であれば、その理解で正しいです。
> > 標準のHermit-AtブートローダーおよびLinuxカーネルでは、CON9 28ピンとCON8 1ピンと直結して使用することはできません。
> >
> > ただし、あくまでも、標準のHermit-AtブートローダーおよびLinuxカーネルを利用する場合は、です。
> ただし、~
> の意味は、最初に回答頂いた設定のことを指していますか?

はい。
以下の認識で間違いありません。

> つまり
> ①”標準設定”から”GPIOの初期設定を修正”すれば、
> ②2台同時に電源ON/OFFする条件であれば、
>  ダイレクト接続で可能
>
> と言う意味でしょうか?

beans

2017年4月28日 9時25分

お二方、丁寧にご指導ありがとうございました。

取りあえず、直結でやろうと思います。

出力段に回路を追加する知識もあまりありませんので、、、
何かあったときのために、出来れば、
どんな規格の部品を使って回路組めば良いかも、
教えて頂けると助かります。