[Armadillo:03495] Re: Armadillo-500 I2C

Tomohiro NAMITSUKA email@hidden
2008年 10月 6日 (月) 12:59:55 JST


波塚です。

g-kihara さんは書きました:
> いろいろトライしてみてはいるものの、いっこうにクロックが
> 出力されません。
> I2C通信を行う場合、ボード上のジャンパピンの設定を
> 変更する必要があるのでしょうか?

Armadillo-500の開発ボードでは、
i.MX31LのI2C1_CLK,I2C1_DAT信号をそのままCON16の15ピン,16ピンに接続していますので、
ボード上にはI2C1を有効/無効にするようなジャンパピンはありません。
i.MX31Lのレジスタ設定のみでクロックは出力されます。

一度、Hermitのfrob機能でI2Cレジスタ動作を確認をされてはいかかでしょうか?

I2C1_CLKのクロック出力については、
以下のレジスタ操作で確認できました。

hermit> frob
hermit:frob> poke 0x43fac0a0 0x01011212  ...SW_MUX_CTL設定
*0x43fac0a0 = 0x01011212
hermit:frob> poke 0x43fac21c 0x1336e1b8  ...SW_PAD_CTL設定(Open-drainに変更)
*0x43fac21c = 0x1336e1b8
hermit:frob> poke16 0x43f80004 0x0017    ...I2Cクロック周期設定
*0x43f80004 = 0x0017
hermit:frob> poke16 0x43f80008 0x0080    ...I2Cコントローラ有効
*0x43f80008 = 0x0080
hermit:frob> poke16 0x43f80008 0x00b0    ...送信スタート(I2C1_CLKがLowに変化)
*0x43f80008 = 0x00b0
hermit:frob> poke16 0x43f80010 0x0       ...データ書込み(この時I2C1_CLKがクロック出力)
*0x43f80010 = 0x0000
hermit:frob> poke16 0x43f80010 0x0       ...データ書込みを繰り返すと再びクロックを出力
*0x43f80010 = 0x0000
hermit:frob> poke16 0x43f80008 0x0080    ...送信ストップ(I2C1_CLKがHighに変化)
*0x43f80008 = 0x0080
hermit:frob>




armadillo メーリングリストの案内