1963714_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

1963714_ja-JP

1963714_ja-JP

MX6UL_PAD_UART5_TX_DATA__ECSPI2_MOSIへの過度の電流引き込みを防ぐにはどうすればよいですか

i.MX6ULLプロセッサを使用しています。

ECSPI2_MISOにはUART5_RX_DATAラインを使用しています。

問題

サーマルカメラで測定し、次に電圧プローブを行ったところ、 プロセッサのMIピンとSPIデバイスのSOピンの間に電圧競合が発生している、つまり、両方とも出力として駆動していることを示しています。問題のあるピンはMX6UL_PAD_UART5_RX_DATA__ECSPI2_MISOです。

ドライバーが読み込まれる前に、UART5_RX_DATA ピンがGPIO1_IO31され、期待どおりに入力されます。ただし、spi-imxドライバーをロードするとすぐに、入力ピンの電圧が3.3Vから2.58Vになり、2つのピン間で過剰な電流引き込み と競合が発生します。ドライバーは、ピンが読み込まれたときに入力として保持されることが期待されます。

その後、デーモンが SPI バスを使用するロードを行うと、競合は解消され、サーマルは正常に見え、バスは正常に動作します。

このSPIバスを使用するデーモンを常に実行するわけではありませんが、それ以外に、2つの出力が互いに競合する回数はゼロである必要があります。

イベントのシーケンス

  1. Linuxの起動後、spi-imxがまだロードされていません

    UART5_ R X_DATAパッド の電圧

    3.253V

    SW_MUX_CTL_PAD_UART5_RX_DATAの値 (0x20e00c0)

    0x5
  2. modprobe spi-imxの後

    UART5_ R X_DATAパッド の電圧

    2.581V

    SW_MUX_CTL_PAD_UART5_RX_DATAの値 (0x20e00c0)

    0x8

    NVCC_UART 3.3Vに設定しています。

出力駆動と電圧の関係

出力駆動強度が強くなると、測定される電圧は低下します。出力駆動力が弱まると、出力電圧が上がります。出力駆動強度を000に設定すると、問題は解消され、電圧は予想通りの3.3Vに達します。

spi-imx.c のソースコードバージョン運転手

 ここでは、 https://github.com/Freescale/linux-fslc.git のカーネル 5.4-2.1.x-imx を搭載した i.MX6ULL を使用しています。

 spi-imx.c への最後の変更ログは次のとおりです。

コミット 0a8472f057642c67b84985fec3c65b7ac521ebd8

Merge: 62f022d6ecd0 a998faa9c4ce

著者: Andrey Zhizhikin >

日付: 2021年8月16日(月) 11:14:39 +0000

 

    タグ 'v5.4.140' を 5.4-2.1.x-imx にマージします。

 

    これは 5.4.140 安定版リリースです

 

    サインオフ:アンドレイ・ジジキン >

 

i.MX6ULRe:MX6UL_PAD_UART5_TX_DATA__ECSPI2_MOSIへの過度の電流引き込みを防ぐにはどうすればよいですかMISOピンは、SPIインターフェースをマスターとして使用する場合、常に入力になります。最も簡単な解決策は、iomuxc の MISO ピンの出力を無効にすることです。そうすると、SPI Linux ドライバーがロードされた後に MISO ピンが使用されていないときに、MISO ピンが Low に駆動されなくなります。Re:MX6UL_PAD_UART5_TX_DATA__ECSPI2_MOSIへの過度の電流引き込みを防ぐにはどうすればよいですか

すべてが常に機能していましたが (出力を無効にしたかどうかにかかわらず)、熱解析の結果、ドライバーが読み込まれてからアプリケーションが開始されるまでの間に、MISO ピンが予想よりも低い電圧になっていることがわかりました (これは理論的には、設計では決してない可能性があります)。ドライバー(spi-imx)がロードされる前は、MISOピンはGPIO入力であり、その場合、予想どおりに3.2ボルトを測定します。

1つのデバイスのSPIバスがあります。スレーブの出力には、常にオンになっているレベルシフターが必要です。

使用しているレベルシフターは74LVC2T45です。MISO出力はピン2です。ピン1は3.3Vに接続されています。ピン 4 はアースに接続されています。通常、スレーブデバイスがアイドル状態のときに、ピン2に高電圧が表示されています。チップセレクトは、74LVC2T45への入力にプルアップがあるため、この電圧に影響を与えないことに注意してください。

MISOはMCIMX6Y1CVM05のG13(UART5_RX_DATA)に接続されています。これは、ドライバーがLinuxにロードされるまでトライステートであり、その時点でこのピンは出力がローになりますが、これは望ましくありません。

デバイスツリーでスレーブモードを選択していません。iomuxcを使用してUART5_RX_DATAの出力を無効にすると、読み込みの問題は解消されます。

この問題は、アプリケーションをロードしてSPIバスと通信を開始すると解消されます。

私たちの経験から、SOCがマスターの場合のMISOのNXPデバイスツリーの例は、MISOピンの出力ドライバーを有効にするのではなく、無効にする必要があります。

Re:MX6UL_PAD_UART5_TX_DATA__ECSPI2_MOSIへの過度の電流引き込みを防ぐにはどうすればよいですか

Hello,

pinctrlで出力ドライバーを無効にしても、使用できますか?

デバイスツリーの例に従って、電圧レベルの低下が異常であることをお勧めします。あなたのつながりを共有していただけませんか?

よろしくお願いいたします。

Re:MX6UL_PAD_UART5_TX_DATA__ECSPI2_MOSIへの過度の電流引き込みを防ぐにはどうすればよいですかこの問題は、pinctrlで出力ドライバーを無効にすることで解消されることを明確にする必要があります。しかし、例のデバイスツリーエントリはそれを行いません。では、なぜドライバーは初期負荷でMISOピンを出力にすることにしたのでしょうか。デバイスツリーではSPIスレーブであるとは指定していないため、ピンを駆動しないでください。Re:MX6UL_PAD_UART5_TX_DATA__ECSPI2_MOSIへの過度の電流引き込みを防ぐにはどうすればよいですかそして、今、タイトルはこうあるべきだと気づきました。
過大な電流引き込みを防ぐにはどうすればよいですか
MX6UL_PAD_UART5_RX_DATA__ECSPI2_MISO

ピンが間違えられてしまいました。
タグ(1)
評価なし
バージョン履歴
最終更新日:
‎01-04-2026 11:38 PM
更新者: