FatFsとemFileの書き込み速度比較

2012/12/06

製作

新しい基板にSDカード書き込み機能を実装するにあたって、PSoC 3/5で使用可能な2種類のライブラリの性能を比較してみました。
ひとつはPSoC Creatorに付属のSEGGER社のemFile、もうひとつはおなじみFatFsです。
PSoC 3/5用に移植したFatFsはF-tecのページで公開されているものを使いました。

SDカード(=SPIモジュール)に与えるクロックを25 MHz、CPUクロックを50 MHzにして書き込み速度を比較したのが下の図です。
ただし、PSoC 3/5のSPIモジュールに与えられるクロックは18 MHzまでなので、オーバークロックになっています。
SDカードの書き込み速度の比較
今回はロガー用途で、比較的小さなサイズの書き込みを行うので一度に書き込むサイズは2^0から2^15までを調べました。
全体的にFatFsのほうが書き込みが速く、特に小さなサイズの書き込みでは2倍以上の差があります。

一度の書き込みにかかる時間は512 byte程度までは同じで、emFileで10 ms程度、FatFsで5 ms程度でした。
書き込みにかかる時間が5 ms程度であればデータ取得の合間に十分処理できるので、FatFsを使ってロガーのプログラムを書いていこうと思います。