[Armadillo:07201] Re: [Armadillo-440] I2C通信で失敗する

下村智範 email@hidden
2011年 5月 10日 (火) 17:47:32 JST


To : 竹之下様

お世話になっております。
下村です。

代替機を用意していただきましたので、代替機で動作確認を行いました。

結果、エラーの内容が少し変わりましたが、I2C通信が行えない現象は
変わりませんでした。
I2C-1のOpen、スレーブアドレス設定までは、成功していますが
Readしようとすると、エラーが発生します。
エラーのタイミング的には、今までと同じです。
(今までのエラー:Could not grab Bus ownership)

[エラー内容]
<7>i2c-dev: i2c-1 reading 20 bytes.
<7>i2c-adapter i2c-1: master_xfer[0] R, addr=0x22, len=20
<7>Bus Arbitration lost
<7>Data not transmitted


起動ログを取得しましたので、添付いたします。

(1)
・Test_at14_Normal_debuglog_console.txt
・Test_at14_Normal_debuglog_dmesg.txt
    → DLした「linux-2.6.26-at14-android-20110419b.tar.gz」に
     I2Cのデバッグログを出力するようにMenuconfigを
     変更したKernelを使用。独自機器未接続。

(2)
・Test_at14_fts_debuglog_console1.txt
・Test_at14_fts_debuglog_dmesg1.txt
    → DLした「linux-2.6.26-at14-android-20110419b.tar.gz」に
     I2Cのデバッグログを出力するようにMenuconfigを
     変更したKernelを使用。
     独自機器用のドライバもKernelへ追加。
     独自機器未接続。

(3)
・Test_at14_fts_debuglog_d5_console3.txt
・Test_at14_fts_debuglog_d5_dmesg3.txt
    → DLした「linux-2.6.26-at14-android-20110419b.tar.gz」に
     I2Cのデバッグログを出力するようにMenuconfigを
     変更したKernelを使用。
     独自機器用のドライバもKernelへ追加。
     独自機器接続。


アルマジロの仕様書のI2Cのサンプルコードと同じシーケンスで
I2C通信を試みていますので、(3)では通信が行えるはずですが
「Bus Arbitration lost」が発生しております。
独自機器の方も回路図および実動作を点検していただき
問題ないと連絡をいただいております。
アルマジロも代替機のため、正常だと思われます。
しかし、この状態でBus Arbitration lostが発生しているため
I2C通信を行うには、まだ何か設定が足りていないのでは
ないかと考えておりますがいかがでしょうか。

一点気になるところとしましては、RTCの初期化処理がやはり
I2C-1に対して行われております。
液晶モデルは、I2C-1にRTCは繋がっていないと認識しておりましたが
初期化処理が行われておりますので、I2C-1に対して初期化を行う理由、影響も
ご教授いただけませんでしょうか。

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


2011年4月28日17:08 下村智範 <email@hidden>:
> To : 竹之下様
>
> 下村です。
>
> ご回答ありがとうございました。
>
> 弊社の都合で大変恐縮ですが、明日よりG/Wに入ります。
> 4/28(金) 〜 5/5(木) の予定です。
> 本件、点検・修理依頼、および代替機借用依頼を行っておりますが
> G/W明けに、再度ご連絡させていただきます。
>
> 以上、よろしくお願いいたします。
>
>
> 2011年4月28日16:45 Takenoshita Koyo <email@hidden>:
>> 竹之下です。
>>
>>> ・I2Cの端子については、現在端子が正常動作するかを確認中であるとして
>>>   ハードウェアが壊れるとは具体的にどのような状態を指すのか。
>> 前回ご説明した通り、ご報告いただいた過程から考えて、入出力ピン(入出力端子)に
>> 絶対最大定格を越えた電圧(過電圧)が印可された可能性があります。
>>
>> 過電圧により入出力ピンが破壊されたと仮定した場合、以下の故障モード
>> が考えられます。(一般的なCMOSデバイス全般について言えることです。)
>>
>> - ショート(短絡)
>> - オープン(開放)
>> - リーク電流増
>> - 耐圧劣化
>> - Vth、hFE変動
>> - 動作不安定
>>
>> 参考
>> - http://japan.renesas.com/media/products/common_info/reliability/reliability_handbook/pdf/rjj27l0001_04.pdf
>> - http://www2.renesas.com/quality/ja/download/PQ10478JJ02V0TN_ch03.pdf
>>
>>> ・壊れているかは、どのように確認することができるのか。
>> オシロスコープ等で実際の挙動を測定してみることで確認できると思います。
>>
>> TIPS:
>> Linux Kernel Configurationで、以下のようにコンフィギュレーションを
>> 変更すると、CON14のピンをGPIOとして使うことができるようになります。
>> そうすることで、測定がしやすくなると思います。
>>
>>  System Type  --->
>>    Freescale MXC Implementations  --->
>>      MX25 Options  --->
>>        Armadillo-400 Board options  --->
>>          [ ] Enable I2C2 at CON14 #チェックを外す
>>
>>> ・今回のエラーはハードウェアのどの部分の破損により発生すると考えられるのか。
>> 入出力ピン(CON14 3, 4ピン)です。
>> 特に、CON14 4ピン(I2C2_SDA)の可能性が高いと思います。
>>
>>> ・ルネサス側の端子はオープンドレインですが、アルマジロ側の端子は
>>>   どのような出力形式になっているのか。
>> "ルネサス側"というのが、独自機器のことですね?
>>
>> Armadillo-440 液晶モデルのI2Cに使用しているピンは、
>> 「22 kΩ プルアップ/オープンドレイン」となっています。
>>
>> http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_software_manual_ja-1.4.1/ch03.html#table-armadillo-440-lcd-model-exp-iface-layout
>>
>> --
>> Koyo Takenoshita
>>
>> _______________________________________________
>> armadillo mailing list
>> email@hidden
>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>>
>
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: Log1.zip
型:         application/zip
サイズ:     20440 バイト
説明:       無し
URL:        <http://lists.atmark-techno.com/pipermail/armadillo/attachments/20110510/d7b33c21/attachment.zip>


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