主题中讨论的其他器件:SK-AM62B-P1
工具/软件:
尊敬的专家:
测试环境:SK-AM62B-P1 EVM 和 SDK-LINUX-am62xx-EVM-11.00.09.04
目标:将 McASP 用作独立的 32 (TX/RX) 声道((FS:8K、CLK:2M、32 个时隙、8 位/时隙单声道)、可独立播放 32 个声音、独立录制 32 个通道、无编解码器(不由 AM62x CPU 控制)
预计可实现:
使用 McASP1 接口生成固定 PCM 信号
执行 aplay -D plughw:0,X test.wav(文件格式也是 8K/mono/ 16 位 A/mu 定律)时、您可以看到这些信号 (FS /CLK/...)。 出现在编解码器 TLV320 中。
问题 1:在以下方法中、我首先使用虚拟编解码器来替换 TLV320、但我不知道是否有更合适的声卡/编解码器设置来满足我的实际需求?
对虚拟编解码器的修改:
1、下载 dummy-codec.c 并修改.compatible =“linux、dummy-codec“、 重新编译内核
2. DTS 部分如下:
a. 删除 k3-am62x-sk-common.dtsi 中的 tlv320_MCLK:CLK-0、codec_audio:sound 和&McASP1
b. 将以下内容添加到 k3-am625-sk.dts 的根节点
dummy_codec:dummy-codec{
兼容=“linux、dummy-codec“;
#sound-dai-cells =<0>;
状态=“正常“;
};
McASP_MCLK:McASP-MCLK{
#clock-cells =<0>;
兼容=“固定时钟“;
时钟频率=<2048000>;// 2.048MHz
};
codec_audio:声音{
compatible =“simple-audio-card";“;
简单音频卡、名称=“AM62x-Dummy";“;
简单音频卡、格式=“dsp_b";“;
///简单音频卡,位时钟反转;
简单音频卡、位时钟主控=<&McASP1>;
简单音频卡、帧主机=<&McASP1>;
状态=“正常“;
简单音频卡、CPU{
sound-dai =<&McASP1>;
};
sound_master:简单音频卡、编解码器{
sound-dai =<&dummy_codec>;
时钟=<&McASP_MCLK>;
};
};
sound_master:简单音频卡、编解码器{
sound-dai =<&dummy_codec>;
时钟=<&McASP_MCLK>;
};
c. 在该文件末尾添加以下内容
&McASP1{
#sound-dai-cells =<0>;
pinctrl-names =“default";“;
pinctrl-0 =<&MAIN_McASP1_pins_default>;
状态=“正常“;
OP-MODE =<0>;/* MCASP_IIS_MODE */
TDM-SLOTS =<32>;
槽宽=<8>;
serial-dir =</* 0:不活动、1:TX、2:Rx */
1 0 2 0
0 0 0 0
0 0 0 0
0 0 0 0
>;
tx-num-evt =<1>;
rx-num-evt =<1>;
TI、缓冲器大小=<8192>;
};
测试结果如下:

问题 2:看来 aplay 无法继续执行、它在某处停止、并且示波器上没有信号输出。 问题出在哪个部分?
此致、
Brian




















