[Armadillo:07674] Re: i2cdev ドライバの使用方法

email@hidden
2011年 10月 31日 (月) 22:04:21 JST


お世話になります。 小林です。

毎回、回答ありがとうございます。

> > writeがリモートI/Oエラーにならずに成功することもあります。
> > こちらのハードの問題の可能性もありますので、ハード側を調べてみます。
> 失敗したり成功したりというのは、ハード側要因の可能性大ですね。
> 図2.14 I2C接続A/Dコンバーター回路図
> のように、
> SCL, SDAラインはちゃんとプルアップされています?

ハード的に33Kでプルアップされていました。

ソフトの設定で気になるところがあります。

(1)現状、「IMX25RM_Rev1.pdf」の「Table 505: Register:
IOMUXC_SW_PAD_CTL_PAD_GPIO_A」
   を参考にbootloaderの中で以下を設定しています。

static struct iomux_info gpio_pins[] = {
      ・
      ・
      ・
      { MX25_PIN_GPIO_A,      MUX_ALT4, MUX_ALT4, 0x0040, 0x0040 },     //
pin48
      { MX25_PIN_GPIO_B,      MUX_ALT4, MUX_ALT4, 0x0040, 0x0040 },     //
pin49

上記は以下(デフォルト)から変更しています。

      { MX25_PIN_GPIO_A, MUX_ALT0, MUX_ALT0, 0x00e0, 0x00e0 },
      { MX25_PIN_GPIO_B, MUX_ALT0, MUX_ALT0, 0x00e0, 0x00e0 },

何か問題ありますでしょうか。

(2)また、以下のコードがありますが、i2c3用を作成する必要がありますでしょう
か。

struct iomux_info i2c1_pins[] = {
      { MX25_PIN_I2C1_CLK, SION(MUX_ALT0), MUX_ALT5, 0x0028, 0x0028 },
      { MX25_PIN_I2C1_DAT, SION(MUX_ALT0), MUX_ALT5, 0x0028, 0x0028 },
      { },
};

以上、よろしくお願いいたします。

>
> (2011/10/31 15:15), email@hidden wrote:
> > お世話になります。 小林です。
> >
> > 回答ありがとうございます。
> >
> > 前回ご指摘いただいた、
> > アドレス0xC0をR/Wビット分シフトの件で状況は進展し、
> > 波形が出るようになりオシロで確認しているところです。
> > writeがリモートI/Oエラーにならずに成功することもあります。
> > こちらのハードの問題の可能性もありますので、ハード側を調べてみます。
> >
> >> if(ioctl(fd, I2C_SLAVE, 0x0C)<  0){
> >> // エラーメッセージ
> >> }
> > エラーは発生しませんでした。
> >
> >> 使用するI2CデバイスのGNDはArmadilloボードのGNDにつながっています?
> > つながっているようです。
> >
> > また、進展あったらメールさせていただきます。
> > よろしくお願いいたします。




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