2016年4月19日火曜日

Edisonのブートアップ時のピン設定って



回路作りますよ。

設計は以前買ったEdisonをメインにしましたが、これが意外と厄介でした。

回路図を見ていたところ、使用するモータドライバはデフォルトでプルダウン抵抗がついていて、初期LOWになっていました。
Edisonのハードウェアマニュアルには「GPIOピンは初期プルアップ」みたいに書いてあったので、
プルアップの強さによっては、電源投入時にモータドライバが予期せぬ動作を起こすかも?

という訳で、電源投入~プログラム起動までのピンの状態を確認しておくことに。
ついでに使用予定の他のピンも調べてみると、

はにゃ?ピンごとに状態が違う?


確かに、プルアップのピンもあるけど、プルアップの強さという以前に、浮いてる(nopull)ピンもあるぞ?というか、既にIOピンの方向がoutで出力がHIGHの奴までいる・・・。
しかもマルチプレクサでモードが選べるピンの場合だけ、といった事も無さそう。

ピン設定変えられないのかな・・・で見つけたのが

   Edison GPIO boot up configuration
  https://communities.intel.com/thread/78421?start=0&tstart=0

え?設定できないの?どうやら根が深い問題のようです。
他に余り情報が出てこないのですが、どうにかなっているという事でしょうか。詳しい方教えて下さい。

本当はプログラムの設定が走るlinuxのカーネル起動終了まで、周りの回路は落としておくのが良いのかもしれませんが、面倒なのでとりあえず、調べた初期ピン設定に合わせて設計する事にしました。


初期のピン状態の都合のいいピンを引っ張ったりして、ちょっと遠回りになりましたけど、とりあえずドライバ、IMU、ADCモジュールその他諸々、載せてみました。

次はセンサチェックですね。


*ちなみに、ピンの状態は以下の場所で調べられます。
/sys/kernel/debug/gpio_debug/gpio**

0 件のコメント:

コメントを投稿