Intel GalileoのGPIOスイッチング速度は約200Hzと遅かった。86Duinoはどうか。
GalileoのGPIOは遅い
pin0〜pin19の出力を10101010..と変化させるスケッチを書き、86Duinoの動作周波数200MHz,300MHz,400MHzで観測した。

このようにおおよそ5μsで変化している。200KHzくらい。 結果は以下のとおり。
pin2,4,7,8,12が他のピンよりも速い。回路図を確認したら、これらはP4 GPIO40〜47に接続されている。400MHzでの速度が300,200MHzよりも遅いのは不明。
http://www.86duino.com/wp-content/uploads/2013/08/DM222_SCH.pdf
86Duinoの400MHz設定は今のところ「裏ワザ」だけど、モジュールSOM-128-EX自体は400MHz動作を保証している。
http://blog.livedoor.jp/hardyboy/archives/7227219.html#comments
GalileoのGPIOは遅い
pin0〜pin19の出力を10101010..と変化させるスケッチを書き、86Duinoの動作周波数200MHz,300MHz,400MHzで観測した。

このようにおおよそ5μsで変化している。200KHzくらい。 結果は以下のとおり。
pin 200MHz 300MHz 400MHz
#1 6.124us 5.708us 6.758us
#2 5.542us 5.082us 6.082us
#3 6.124us 5.708us 6.758us
#4 5.542us 5.082us 6.082us
#5 6.124us 5.708us 6.758us
#6 6.124us 5.708us 6.758us
#7 5.542us 5.082us 6.082us
#8 5.542us 5.082us 6.082us
#9 6.124us 5.708us 6.758us
#10 6.124us 5.708us 6.758us
#11 6.124us 5.708us 6.758us
#12 5.542us 5.082us 6.082us
#13 6.124us 5.708us 6.758us
#14 6.124us 5.708us 6.758us
#15 6.124us 5.708us 6.758us
#16 6.124us 5.708us 6.758us
#17 6.124us 5.708us 6.758us
#18 6.124us 5.708us 6.758us
#19 6.124us 5.708us 6.758us
pin2,4,7,8,12が他のピンよりも速い。回路図を確認したら、これらはP4 GPIO40〜47に接続されている。400MHzでの速度が300,200MHzよりも遅いのは不明。
http://www.86duino.com/wp-content/uploads/2013/08/DM222_SCH.pdf
86Duinoの400MHz設定は今のところ「裏ワザ」だけど、モジュールSOM-128-EX自体は400MHz動作を保証している。
http://blog.livedoor.jp/hardyboy/archives/7227219.html#comments
またまた技術から連絡がきましたので、お伝えします。
技術サイドでは以下のコードで測定を行ったところクロックの違いによる差が明確に出ているようです。 (???(ー_ー)!!)
400MHz - 5~6us
300MHz - 6~7us
200MHz - 9~11us
テストしたコード
sketch:
int testpin = 0;
unsigned long oldtime = 0L;
void setup() {
pinMode(testpin, OUTPUT);
}
void loop() {
oldtime = micros();
digitalWrite(testpin, HIGH);
digitalWrite(testpin, LOW);
Serial.println(micros()-oldtime);
delay(10);
}
ご案内まで <m(__)m>