Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

TLI493D-A2B6がSDA をlowに保持し、ユーザーマニュアルで記載されているリセットシーケンスが機能しません。

TLI493D-A2B6がSDA をlowに保持し、ユーザーマニュアルで記載されているリセットシーケンスが機能しません。

Infineon_Team
Employee
Employee
50 replies posted 25 likes received 25 replies posted

Translated by: 

Original KBA: TLI493D-A2B6 holds SDA low and the reset sequence mentioned in the User Manual doesn't work

 

質問:

TLI493D-A2B6がSDAをlowに保持し、ユーザーマニュアルのリセットシーケンスが機能しません。

「起動時または動作中のどちらか不明ですが、デバイスがSDAラインをlowに引っ張ります。I2C規格によると、:「データライン(SDA)がLOWにスタックしている場合、マスターは9つのクロックパルスを送信する必要があります。バスをLOWに保持されるデバイスは、これら9つのクロック以内にバスをリリースする必要があります。」 このリセットシーケンスを試した場合、デバイスはSDAラインをLOWに保持します。

次にデバイスユーザーマニュアルに記載されているリセットシーケンスを送信してみました。2.3章の「I2Cによるセンサーリセット」を参照してください。ただし、SDAラインがデバイスによってlowに保持され、マイクロコントローラは0xFFを送信しようとするので、不定状態となります。

デバイスがSDAラインをリリースするための推奨は何ですか?」

解答:

SDAがlow状態にスタックを引き起こす条件を見てみましょう:

- なだらかなVDDの立上りのため、デバイスの起動時にリセットされない。ユーザーマニュアルに記載されているI2Cリセットシーケンスは、強制的にリセットし、SDAピンを開放します。(SDAが常にlowを意味する0x00のため、リセットはSDA=lowでも機能します)

- センサーがデータ(読出しコマンドまたはACK)を出力中に通信を遮断します。センサーステートマシンは、リセットシーケンスの0xFFにより解決するSDAを開放するためにクロックを待ちます。

起動時に適切なリセットを行うために、特にVDDの立上りのスピードアップを強く推奨します。(マイクロコントローラ高電流GPIOに直接接続、またはトランジスタの使用) 起動時にSCLがlowにスタックするのはリスクがあり、これはインターフェースリセットでは解決できません。データシートでは、定義されている2つの電圧制限があります:

- ADC再起動レベル: 電圧がADC再起動レベルより下に落ちると、現在のADC変換は停止し、電圧が再起動レベル(+ヒステリシス)を再び上回ると再起動します。

- レジスタ安定レベル: 電圧がレジスタ安定レベルより下に落ちると、設定が消失し、パリティビットを介して検出できます。リセットシーケンスおよび設定サイクルはその後必要になります。

0 件の賞賛
105 件の閲覧回数