酔漢電子工作手帳

2007-09-12

新SPIクラス

| 22:42 | 新SPIクラス - 酔漢電子工作手帳 を含むブックマーク はてなブックマーク - 新SPIクラス - 酔漢電子工作手帳

結局、フル・デュープレックスSPIクラスを作りました。昨日の実験コードを元に、送受のバッファ長が異なる場合を許す*1、よう改造しました。このクラスのユーザーはSpiFlashクラスで、これも以前のものを少しだけ書き換えて使っています。

動作確認済みです。

あとひとつ、SPI FLASHには不要ですが、FT2232を使うばあい、Read APIとWrite APIバッファ長を知っておく必要があります。SPIの場合、長大なフル・デュープレックス転送を行うことは考えにくいのですが、可能であればやってしまうのがユーザーです。FT2232の中には数百バイト程度のバッファしかありません。そのため、数百キロバイトのデータをフル・デュープレックスで転送する場合に制限がないか知っておく必要があります。

要するにFTDIのデバイス・ドライバの内部バッファの大きさを知らなければなりません。無論、Read API とWrite APIを異なるスレッドから読めば何の不安を感じる必要もありません。

*1:可能な限り送受を同時に行い、残りは送か受、バッファの長いほうだけを実行する

トラックバック - http://ecrafts.g.hatena.ne.jp/suikan/20070912