GalileoのGPIOを更新する速度は最大230Hz程度ということなので実測してみた。
Intel® Galileo 開発ボード FAQ [日本語訳](Galileoぶろぐ)
これによるとGPIOはI2CのI/Oエキスパンダ経由で入出力され、I2Cの速度は100KHz。Quark SoC X1000は400KHzのモードも持っているが、I/Oエキスパンダ側の制限で100KHzと。
ピン出力をHIGH/LOW繰り返すスケッチを書いてオシロで観測した。
一目盛り0.5ms×4.6=4.5ms。約220Hz。
比較のためArduino Leonardo(ATmega32U2)で同様の観測をしてみた。
2μs×6.2=12.4μs。約80.6KHz。
これらはpin3で測定してみたが、他はどうだろうか。以下のスケッチで測定した。
pinXに対して10000回、HIGH-LOWを繰り返してシリアルポートに経過したマイクロ秒を表示。
https://gist.github.com/houmei/8769953
これらの測定結果のうちで、HIGH-LOWを除いたもののループ時間を測定して引いてやるとHIGH-LOWだけ行った時間がわかる。
このうちpin20は存在しないので外にアクセスしに行っていないと思われる。pin13だけ少し遅いが、ブロック図から考えるとLEDはQuark X1000に繋がっており、かつGPIOは外に存在している。両方制御しているので時間がかかるのではないだろうか。
あと調べた所ではSCLがA5、SDAがA4とショートしてた。ここまで真似せんでもいいだろうにとは思った。
・以下の本手配中 はよ届け
Intel® Galileo 開発ボード FAQ [日本語訳](Galileoぶろぐ)
これによるとGPIOはI2CのI/Oエキスパンダ経由で入出力され、I2Cの速度は100KHz。Quark SoC X1000は400KHzのモードも持っているが、I/Oエキスパンダ側の制限で100KHzと。
ピン出力をHIGH/LOW繰り返すスケッチを書いてオシロで観測した。
一目盛り0.5ms×4.6=4.5ms。約220Hz。
比較のためArduino Leonardo(ATmega32U2)で同様の観測をしてみた。
2μs×6.2=12.4μs。約80.6KHz。
これらはpin3で測定してみたが、他はどうだろうか。以下のスケッチで測定した。
pinXに対して10000回、HIGH-LOWを繰り返してシリアルポートに経過したマイクロ秒を表示。
https://gist.github.com/houmei/8769953
これらの測定結果のうちで、HIGH-LOWを除いたもののループ時間を測定して引いてやるとHIGH-LOWだけ行った時間がわかる。
Galileo GPIO speed (ms)
4.448620513
4.447915384
4.452584615
4.54159021
4.536844755
4.539793846
4.535693846
4.535053846
4.531913846
4.539608391
4.531913846
4.528699301
4.582708391
4.76309021
4.452417482
4.464853846
4.458908391
4.458935664
4.455917482
4.457762937
0.794843846
このうちpin20は存在しないので外にアクセスしに行っていないと思われる。pin13だけ少し遅いが、ブロック図から考えるとLEDはQuark X1000に繋がっており、かつGPIOは外に存在している。両方制御しているので時間がかかるのではないだろうか。
あと調べた所ではSCLがA5、SDAがA4とショートしてた。ここまで真似せんでもいいだろうにとは思った。
・以下の本手配中 はよ届け
![]() | Getting Started With Intel Galileo Matt Richardson Maker Media, Inc 2014-01-22 売り上げランキング : 3140 Amazonで詳しく見る by G-Tools |
