带有调制解调器的 PCM 接口的 Alsa

Posted

技术标签:

【中文标题】带有调制解调器的 PCM 接口的 Alsa【英文标题】:Alsa with PCM interface from modem 【发布时间】:2012-07-29 05:49:54 【问题描述】:

我有一个基于 imx28 CPU 的定制板。 CPU 的串行端口连接到调制解调器的 PCM 输出。我必须为调制解调器的 PCM 接口开发一个驱动程序才能成为 ALSA SoC 的一部分。您能否指出内核树​​中与我的设置重新组合的一些驱动程序?

【问题讨论】:

【参考方案1】:

查看 Linux 源代码中的 Documentation/sound/alsa/soc 目录。它解释了 ASoC 驱动程序如何分为三类:

编解码器驱动程序:这些定义了音频控制、接口功能、DAPM 定义和编解码器 I/O 功能。在这种情况下,您的调制解调器被视为“编解码器”。在这种情况下,您的 CODEC 驱动程序可能会非常小,只需定义 PCM 采样率(假设它是固定的,例如 8000 个样本/秒)和数据格式(例如 16 位线性)。 查看sound/soc/codecs中的源代码 如果您有 i.MX28 EVK(评估套件),请特别查看 sgtl5000.cmxs_spdif.c,因为 i.MX28 EVK 具有这两个 CODEC,您可以看到驱动程序如何使它们工作。 平台驱动程序:用于平台的音频 DMA 引擎和音频接口驱动程序(特别是 PCM),该平台是飞思卡尔 MXS 芯片系列。 机器驱动程序:任何机器特定的控件和音频事件。

有关平台和机器驱动程序,请参阅sound/soc/mxs 中的以下文件。我不太清楚哪些被认为是“平台驱动程序”,哪些是“机器驱动程序”,因为它们没有明确说明。

mxs-spdif.cmxs-spdif-dai.c,用于 S/PDIF 到 S/PDIF 编解码器的接口(仅输出)。 mxs-devb.cmxs-dai.c,用于 SGTL5000 CODEC 的 SAIF 接口。 mxs-pcm.c 我认为它处理 DMA 的东西。

但我不知道i.MX28上是否有同步串行端口(SSP)外设的示例代码,这是您感兴趣的。

【讨论】:

以上是关于带有调制解调器的 PCM 接口的 Alsa的主要内容,如果未能解决你的问题,请参考以下文章

GMSK研究PCM/FM和GMSK的调制和解调方法

语音通信语音通信系统包括语音硬件采样,抽样量化,PCM编码解码模块,FIR滤波,QPSK调制解调模块,语音增强模块以及语音信号还原

调制与解调

基于LabVIEW的数字调制信号解调分析软件设计,有高人会做吗,求助啊!!!会做的我可以把分全给他

[培训-无线通信基础-5]:数字调制解调(线性调制非线性调制)

MATLAB实现am信号调制与调解