[Armadillo:03497] Re: Armadillo-500 I2C

g-kihara email@hidden
2008年 10月 6日 (月) 18:23:15 JST


AK8973とのI2C通信に成功しました。

さて、I2C初期化処理において欠けていたものは
なにかといいますと、
信号マルチプレクスの設定でした。
Interface 2008年11月号の雑誌にIMX31の特集が
あるのですが、ここに掲載されていた表を
みて、この設定を行わないと、I2C1が使えないという
ことに気づきました。

・・・IMX31のデータシートに説明がないわけではないのですが
(P4-58のTable 4-8にFunctional Multiplexing Configuration)、
わかりづらい!!

で、この雑誌より説明文を引用すると、

「i.MX31Lは、少ないピン数でより多くの機能を実現するため、
各ピンに複数の機能が割り当てられています。
(中略)
i.MX21Lの信号線の制御は、I/O MUX コントローラ(IOMUXC)で
行われています。IOMUXCは、i.MX31Lの各周辺機能コントローラと
外部I/Oピンとの間にあり、どのピンにどの信号線を接続するかを
設定します。」

IOMUNXは、Functionalモード、Hardwareモード、Alternateモード,
GPIOモードの4つのマルチプレクスモードを持っており、
このうちのFunctionalモードを選択すると、I2Cを利用できるように
なっているです。
デフォルトの設定を読み出したところ、GPIOモードになっていました。
ゆえにI2C通信ができなかったのです。

IMX31データシート P4-23の、
Figure 4-43. Register Description
sw_mux_ctl_csi_hsync_csi_pixclk_i2c_clk_i2c_dat
にある、
sw_mux_ctl_i2c_clk ビットとsw_mux_ctl_i2c_datビットに
Functional outputとFunctional input を設定することに
より、I2C通信を実現できました。(P4-10 Table4-6参照)


以上







----- Original Message ----- 
From: "g-kihara" <email@hidden>
To: "Armadillo series general discussion list" 
<email@hidden>; <email@hidden>
Sent: Friday, October 03, 2008 7:48 PM
Subject: [Armadillo:03491] Re: Armadillo-500 I2C


> いろいろトライしてみてはいるものの、いっこうにクロックが
> 出力されません。
> I2C通信を行う場合、ボード上のジャンパピンの設定を
> 変更する必要があるのでしょうか?
>
>
>
>
>
> ----- Original Message ----- 
> From: "g-kihara" <email@hidden>
> To: <email@hidden>; "Armadillo series general discussion
> list" <email@hidden>
> Sent: Wednesday, October 01, 2008 10:28 AM
> Subject: [Armadillo:03462] Re:Armadillo-500 I2C騾壻ソ。蛻カ蠕。 I2C1_CLK縺ォ縺、縺・※
>
>
>>> 物理的な不具合ではありません。
>>
>> 了解しました。
>>
>>
>>> 0x00C8を書き込むと、スレイブモードに設定されると思います。
>>> これは意図した動作でしょうか?
>>> (i2c-armadillo5x0.cでは、データ送信直前にMSTAビットを立てて
>>> マスタモードにしています。)
>>
>> はい。
>> 初期処理でスレーブモードにしておき、データ送信時に
>> マスターモードにしています。
>> IMX31の仕様書には
>> 「1=Master mode.Changing MSTA from 0 to 1 signals a START
>> on the bus and selects master mode」
>> とあり、スレーブモードからマスターモードに切り替えることにより
>> スタートコンディションが発行されます。これを考慮して、
>> 初期化処理として、スレーブモードにしています。
>>
>> 以上
>>
>>
>> _______________________________________________
>> armadillo mailing list
>> email@hidden
>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo 




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