2394875_ja-JP

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

2394875_ja-JP

2394875_ja-JP

imx8mmini sai1 最大サンプルレート

hi

SAI1 Connectのコーデックはサンプルレート768kHz/32bitに対応しています。 SAI1-RX0 codec_DOUT接続。

768kHz/32bitおよびL/Rチャネルで読み取れるデータはありませんが、SAI1-TXFS/SAI1-TXCは768kHz/49.152Mhzを出力可能です。768khz/16bitおよび384khz/32bitのL/Rチャネル読み取りは問題ありません。カーネルバージョン6.1.36です。

ありがとうございます。



Re: imx8mmini sai1 max sample rates

コーデックdtsについては以下の通りです。

sofia_0571_0-1784080120640.png

「-f S32_LE -r 384000 -c 2 -d 1 test.wav」を指定して arecord コマンドを実行します。または「-f S16_LE -r 786000 -c 2 -d 1 test.wav」でも問題ありません。しかし、「-f S32_LE -r 768000 -c 2 -d 1 test.wav」で実行すると、test.wav は NULL になります。




Re: imx8mmini sai1 max sample rates

こんにちは、

デバイスツリーの設定を教えていただけますか?

どのコーデックを使用していますか?

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

Re: imx8mmini sai1 max sample rates

こんにちは、

サンプルレートに関連するエラーが出る場合、クロックソースがそのサンプルレートに必要な周波数を生成できないため、原因かもしれません。

特定のサンプリングレートを得るためには、外部クロックなどの専用のクロックソースを使用する必要がある場合があります。

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

Re: imx8mmini sai1 max sample rates

こんにちは、

テスト中にアンダーフローエラーやオーバーフローエラーが発生しますか?

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

Re: imx8mmini sai1 max sample rates768kHzの32ビット×2チャンネルで読み取ると、SAI1_TXFS/SAI1_TXC出力は正常(768kHz/49.152MHz)です。コーデックのデータ出力ピン(SAI1_RX0に接続)は、オシロスコープで確認するとデータ出力があります。imx8mminiのSDMAが動作していない可能性はありますか?Re: imx8mmini sai1 max sample rates

テスト中に以下のようなカーネル出力エラーが発生しました。
[ 506.336480] [858] wait_for_avail:1936: asoc-simple-card sound-pcmdev: キャプチャ書き込みエラー (DMA または IRQ の問題?)

Re: imx8mmini sai1 max sample rates

こんにちは、

dmesg の内容を共有してください。

dmesg | grep -i -E "xrun|overrun|dma|fifo|sdma|sai"

そのエラーログではオーバーランが原因かもしれません。例えば、期間とバッファサイズを増やしてみてください。

arecord -D hw:0,0 -f S32_LE -r 768000 -c 2 --buffer-size=65536 --period-size=8192 -d 5 test.wav

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

Re: imx8mmini sai1 max sample rates

こんにちは、ホルヘカスさん

ご返信ありがとうございます。

期間とバッファサイズを増やした場合も同じエラーが発生します。

------------------------------------

root@mx8mm:/tmp# arecord -v -D hw:0,0 -f S16_LE -r 768000 -c 2 -d 1 test.wav
WAVEファイル「test.wav」を録音しています:署名付き16ビットリトルエンディアン、レート768000 Hz、ステレオ
ハードウェアPCMカード0 'pcmdev-オーディオ' device 0 subdevice 0
その構成は以下の通りです:
ストリーム:キャプチャ
アクセス:RW_INTERLEAVED
フォーマット:S16_LE
サブフォーマット:STD
チャネル数:2
レート:768000
正確なレート:768000(768000/1)
MSBITS:16件
buffer_size:131064
period_size:16383
period_time:21332
tstamp_mode:なし
tstamp_type:単調
period_step : 1
avail_min:16383
period_event : 0
start_threshold : 1
stop_threshold:131064
silence_threshold:0
silence_size : 0
境界:9222809086901354496
appl_ptr : 0
hw_ptr : 0
root@mx8mm:/tmp# test.wav -la
-rw-r--r-- 1 ルート 7月22日 22:09 test.wav 3072044
root@mx8mm:/tmp# arecord -D hw:0,0 -f S32_LE -r 768000 -c 2 --buffer-size=65536 --period-size=8192 -d 5 test.wav
WAVEファイル「test.wav」を録音しています:署名付き32ビットリトルエンディアン、レート768000 Hz、ステレオ
arecord: pcm_read:2221: read error: input/output error
root@mx8mm:/tmp# dmesg |grep -i -E "xrun|overrun|dma|fifo|sdma|sai"
[ 0.00000] OF: 予約済みメモリ:初期化されたNode Linux、CMA、互換性ID Shared-DMA-プール
[ 0.000000] 予約メモリ:0x00000000b8400000にDMAメモリプールを作成、サイズ1 MiBで
[ 0.00000] OF: 予約済み メモリ: 初期化されたノードvdevbuffer@b8400000、互換性のあるid shared-dma-pool(共有済みDMA-プール)
[0.000000] DMA [記憶0x0000000040000000-0x00000000bfffffff]
[ 0.000000] DMA32 空
[ 0.000000] ポリシーゾーン:DMA
[ 0.043871] DMA:原子力割り当て用に事前割り当てされた256 KiB GFP_KERNELプール
[ 0.044176 DMA: 事前割り当て256 KiB GFP_KERNEL|GFP_DMA原子割り当てプール
[ 0.044364] DMA: 事前割り当て256 KiB GFP_KERNEL|GFP_DMA32原子割り当てプール
[ 0.105243] iommu: DMAドメインTLB無効化ポリシー:厳格モード
[ 0.195002] IMX-SDMA 302C0000.DMA-コントローラー:imx/sdma/sdma-imx7d.binの直接ファームウェアロードがエラー-2で失敗しました
[ 0.195018] IMX-SDMA 302C0000.DMA-コントローラー:sysfsへのフォールバック:imx/sdma/sdma-imx7d.bin
[ 0.199761] MXS-DMA 3300000.DMA-コントローラー:初期化
[ 1.996379] mmc2: 30b60000.mmc 上のSDHCIコントローラ [30b60000.mmc]ADMAの使用
[ 2.786360] mmc1: 30b50000.mmc 上のSDHCIコントローラー [30b50000.mmc]ADMAの使用
[ 8.812860] IMX-SDMA 302C0000.DMA-コントローラー:ファームウェアが見つかりました。
[ 8.818748] IMX-SDMA 30BD0000.DMA-コントローラー:ファームウェアが見つかりました。
[ 8.825901] IMX-SDMA 30BD0000.DMA-コントローラ:ファームウェア4.6をロードしました
[ 91.326700] [857] soc_hw_sanity_check:775: 30010000.sai-pcmdevice-codec:ASoC: pcmdevice-codec <-> 30010000.sai 情報:
[ 91.326722] [857] soc_hw_sanity_check:777: 30010000.sai-pcmdevice-codec:ASoC: レートマスク 0x154c0
[ 91.326728] [857] soc_hw_sanity_check:778: 30010000.sai-pcmdevice-codec:ASoC: ch 最小2 最大8
[ 91.326734] [857] soc_hw_sanity_check:780: 30010000.sai-pcmdevice-codec:ASoC: レート最小 44100 最大 768000
[ 91.342776] [857] fsl_sai_set_bclk:460: fsl-sai 30010000.sai:クロック周波数49152000Hzに基づく周波数24576000Hzの比率2
[ 91.342784] [857] fsl_sai_set_bclk:481: fsl-sai 30010000.sai:最適な適合: 時計ID=1、div=2、偏差=0
[ 91.343315] [857] dapm_update_dai_unlocked:2698: fsl-sai 30010000.sai:30010000.saiキャプチャのDAIルートを更新します
[ 113.965788] [861] soc_hw_sanity_check:775: 30010000.sai-pcmdevice-codec:ASoC: pcmdevice-codec <-> 30010000.sai 情報:
[ 113.965809] [861] soc_hw_sanity_check:777: 30010000.sai-pcmdevice-codec:ASoC: レートマスク 0x154c0
[ 113.965816] [861] soc_hw_sanity_check:778: 30010000.sai-pcmdevice-codec:ASoC: ch 最小2 最大8
[ 113.965822] [861] soc_hw_sanity_check:780: 30010000.sai-pcmdevice-codec:ASoC: レート最小 44100 最大 768000
[ 113.977610] [861] fsl_sai_set_bclk:460: fsl-sai 30010000.sai:クロック周波数49152000Hzに基づく周波数49152000Hzの比率1
[ 113.977618] [861] fsl_sai_set_bclk:481: fsl-sai 30010000.sai:最適な適合: 時計ID=1、div=1、偏差=0
[ 113.978149] [861] dapm_update_dai_unlocked:2698: fsl-sai 30010000.sai:30010000.saiキャプチャのDAIルートを更新します
[ 124.127055] [861] wait_for_avail:1936: asoc-simple-card sound-pcmdev: キャプチャ書き込みエラー (DMA または IRQ の問題?)
root@mx8mm:/tmp# ls test.wav -la
-rw-r--r-- 1 root root 44 7月 22 22:09 test.wav
root@mx8mm:/tmp#

Tags (1)
No ratings
Version history
Last update:
2 weeks ago
Updated by: