2018年03月24日

I2C/SPIプロトコルブリッジIC その2

先日、紹介したI2C/SPIプロトコルブリッジICの
SC18IS602BIPW/S8HP でちょっと引っかかった点について紹介します。

SC18IS602BIPW/S8HP はSPI接続のデバイスを
I2Cデバイス化する変換ICです。

GPIOの出力や入力はすんなり動いたのですが、
SPIの転送がなかなかできない問題が発生しました。

原因を調査するとI2CでSPI転送をしているにも関わらず、
SPIのクロック、信号が出ていない感じでした。


原因はGPIOの設定にありました。
4つGPIOがある中ですべてGPIOモードにするとSPI転送できないようです。
もう少し厳密に言うとSPI転送時は自動的にCSのIOが制御されるため、
SPI転送時で使用するCSはGPIO Enableにしてはいけないということです。


GPIOの設定はGPIO Enable (Function ID F6h)で行います。
SPI転送時にCSとして使用するGPIOは無効にして
SlaveSelectとして使用します。
SPI転送時のアドレスがSlaveSelectとして機能します。



普段のマイコンの感覚ではSPIのCSはGPIOで別途制御するのが一般的なので
I2C/SPIプロトコルブリッジICでもGPIOモードで全部制御する
ということを考えてしまいました...


ということでI2Cなので画面書き換え速度がSPIの約4倍以上要しますが、
WaveShare製の電子ペーパーをI2C化成功しました。

IMG_0015-2.jpg

IMG_0016-2.jpg

書き換え速度は遅いですが、I2C(Grove)接続で
簡単に制御できるのは魅力的です。
WaveShare製の電子ペーパーはSPIの配線の他に
Cmd/Data線、Reset線、Busy線の3つの配線が必要です。
SC18IS602BIPW/S8HP にはGPIOが4つあるため、
CS含めてすべてソフトで制御できます。

完全にI2C(Grove)接続のみで電子ペーパーを制御できます。
近日中にライブラリの公開とI2C電子ペーパーモジュールの販売を開始したいと思います。

ラベル:部品
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。