2072335_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2072335_ja-JP

2072335_ja-JP

外部 SoC から iMX8MP モジュールへの I2S 経由のオーディオ - キャプチャが失敗する

私はsai1 snd-soc-dummy-dai-0を使用するimx-audio-cardを使用しています

I2S経由でiMX8MPモジュールに接続された外部SoCがありますが、公開コーデックがないため、ダミーコーデックを使用しています。

私はそれらをaplay -Lで表示することができます。

hw:CARD=imxaudiocard,DEV=0
    imx-audio-card, sai1 snd-soc-dummy-dai-0
    Direct hardware device without any conversions
plughw:CARD=imxaudiocard,DEV=0
    imx-audio-card, sai1 snd-soc-dummy-dai-0
    Hardware device with all software conversions
default:CARD=imxaudiocard
    imx-audio-card, sai1 snd-soc-dummy-dai-0
    Default Audio Device
sysdefault:CARD=imxaudiocard
    imx-audio-card, sai1 snd-soc-dummy-dai-0
    Default Audio Device
dmix:CARD=imxaudiocard,DEV=0
    imx-audio-card, sai1 snd-soc-dummy-dai-0
    Direct sample mixing device

私はこれを介してオーディオを再生することができ、それは動作します。

aplay -D default:CARD=imxaudiocard music.wav

上記のコードスニペットでも arecord -L を使用した場合も同様です。私は以下を使用して録音することができます:

arecord -D default:CARD=imxaudiocard -r 32000 -c 2 -d 20 -f S24_3LE test.wav

ただし、test.wavは空白になります。音声を録音できないようです。参考までに、アミキサーコントロールがないので、CAPTUREに設定できないようです。

I2S経由でオーディオを再生できるときに、I2S経由でオーディオを受け入れる方法はありますか?


Re: 外部 SoC から iMX8MP モジュールへの I2S 経由のオーディオ - キャプチャが失敗する

解決!

開発ボードでは、モジュールはコーデックに物理的に接続されていました。漏れ電圧を止めるためには、ラインを断線する必要がありました。

そのため、デバイスツリーでコーデックを無効にするだけでは不十分で、ハードウェアの作業を行う必要がありました。

@Manuel_Salasさん、そして@jamesboneさん、ありがとうございました - この旅で、他の方法では学べなかった多くのことを間違いなく学びました。改めて感謝します!

Re: 外部 SoC から iMX8MP モジュールへの I2S 経由のオーディオ - キャプチャが失敗する

さらにいくつかのテストを行います。

ピン36の問題?

ピン36に問題があるかどうか知りたかったので、TXラインとして作成しました。

; /* SODIMM 36 */

また、RXラインの場合と同じように動作します(接続すると下に引っ張られます)

だから、imx8mpモジュールに何か問題があり、余分なモジュールがあるので、モジュールを交換します。同じ問題です。だから。。。

RXD1データライン

そのため、ピン 36 にハードウェアの問題や破損があるのではないかと考えたため、このラインを使用してピン 220 にある別の RX ラインを使用したいと考えました。

; /* SODIMM 220 */

突然、オーディオカードが利用できなくなるため、信号を送信/受信して、ハイ/ローにプルダウンするかどうかをテストできません。aplay -L はこれを表示せず、/proc/asound/cards にも表示しません。また、1つのpinctrlを無効にしてみましたが、これはピン220をそのまま使用するためです。

&pinctrl_gpio7{
    status = "disabled";
};

問:

  1. ピン 36 がピン パッドの構成や pixmux に接続されているものに関係なく、常にプルダウンされる理由がわかりますか?
  2. RXラインをピン36からピン220に変更すると、imx-audio-card(サウンドカード)が認識されないのはなぜですか?
Re: 外部 SoC から iMX8MP モジュールへの I2S 経由のオーディオ - キャプチャが失敗する申し訳ありませんが、Bit 8(プルセレクト)を無効に設定しましたが、これは0x0d6であり、すでに試しました。Re: 外部 SoC から iMX8MP モジュールへの I2S 経由のオーディオ - キャプチャが失敗する

オシロスコープでテストでき、録音モードのときはクロック信号をテストでき、クロックが設定されていない場合は、デバイスツリーで変更できます。

それがalsaドライバで機能しているpcm_write、Dmesgコマンドを使用してカーネルログを取得できます、私は方法のリンクを共有しましょう

https://www.linuxfoundation.org/blog/blog/classic-sysadmin-viewing-linux-logs-from-the-command-line

Re: 外部 SoC から iMX8MP モジュールへの I2S 経由のオーディオ - キャプチャが失敗するこんにちはジェームズ、

お返事ありがとうございます。現在、imx8mp のモジュールがスレーブで、外部 SOC がマスターになるように設定しています。I2Sは双方向であると仮定するため、これを変更しませんでした(データ入力とデータ出力の両方が接続されています)。

pcm_writeエラーはどのように確認できますか?それともビットクロックが生成されますか?

最後に、カーネルログからのメッセージを確認するにはどうすればよいですか?
Re: 外部 SoC から iMX8MP モジュールへの I2S 経由のオーディオ - キャプチャが失敗する

ダミーコーデックを使用しているため、問題はMAster/Slaveモードの設定です。

EIO エラーを返すpcm_write、I/O が設定されていないことを意味します。また、マスターモードは中華鍋にすることができますが、スレーブモードはそうではありません。

彼らはあなたのダミーとスレーブモードでビットクロックが生成されているかどうかを確認できますか?カーネルログにメッセージがないか確認します。

Re: 外部 SoC から iMX8MP モジュールへの I2S 経由のオーディオ - キャプチャが失敗する

使用しているコーデックを教えてください。BSPバージョンも。

コーデックはありません - したがって、ダミーのコーデックです。I2CラインのないI2Sから直接オーディオストリーミングが来ているだけです。

BSP - これを取得する方法がわからない...私はuname -rを実行しましたが、5.15.148-6.8.1 + git.1cbf48124747を取得しました。

可能であれば、デバイスツリーはコーデックに関連しています。

デバイスツリーについては、手元にはありませんが、fsl,imx-audio-cardを使用する新しいノードが作成されます

i.MX と「コーデック」ではない「MAX98357A」のようなデバイスの間に接続がある場合、それらはデジタルアンプであり、最終的には問題が発生することがあります。

デジタルアンプについてのコメントについて、もう少し詳しく教えていただけますか?


Tags (1)
No ratings
Version history
Last update:
‎11-21-2025 09:40 PM
Updated by: