2014/08/17

mbed NXP LPC1768+☆board Orangeで.WAVファイルの再生(2)

mbed NXP LPC1768+☆board Orangeで.WAVファイルの再生」の続きです。
出力のPWM値の書込処理時間短縮のために、PWM値を標準の実数値での書込みから整数値での書込みに(かなり強引な方法で)変更しました。
実数値で書込みを行った場合の割込処理時間は約7.6usでしたが、整数値での書込みにしたことで1.85usに短縮されます。
これによって、WAVファイルの読込時間が1.77msから1.21msと短くなりました。

(more…)

2014/08/15

mbed NXP LPC1768+☆board Orangeで.WAVファイルの再生

Arduino UNO/Mega 2560 .WAVファイルの再生」では、非力なCPUで「16000Hz/8bit/Mono」形式の.WAVファイルを再生してみました。
今回は、mbed NXP LPC1768で「44100Hz/16bit/Stereo」形式の.WAVファイルの再生を試行します。

「44100Hz/16bit/Stereo」形式になると単純計算で44,100*2*2=176,400(Byte/s)の転送能力が必要になります。
最初のネックはSDからの.WAVファイルの読み出し速度ですが、SDFileSystemのデフォルトでは、SPIのクロックは1MHzに設定されているために約125,000(Byte/s)となり、必要な転送速度を下回ります。
実験のためにSDFileSystem.cpp内のSPIクロックの設定を24MHzに変更し、3MB/s(理論値)の転送速度にして実験しています。

(more…)

2014/08/06

Intel Galileo GEN 2 超音波距離センサーモジュール

Galileo GEN 2のポート操作が普通の速さになったので、気を良くして、超音波距離センサーモジュール(HC-SR04)を接続して、パルス幅を読取るファンクションpulseIn()を使ったスケッチを試したところ、あっさりと動いてしまいました。
(以前にはpulseIn()は非サポートとなっていました)

Galileo GEN2 + HC-SR04

Galileo GEN2 + HC-SR04

(more…)

2014/08/05

Intel Galileo GEN 2 ポート操作速度計測

昨年末に「Intel Galileo ポート操作が異様に遅い」という記事を書きましたが、Galileo GEN 2が発売になり、購入しましたので再計測しました。
ポート操作(digitalWrite)の処理速度を確認するために、前回と同じ下記のスケッチでポート操作に必要な時間を計測してみました。

(more…)