转载请注明出处:https://blog.csdn.net/luomin5417/article/details/80731790

平台:imx6q

内核版本: linux 3.14

1.  硬件连接

图 1.1 硬件连接

2.  设备树修改

根据硬件连接关系,编辑内核设备树文件。

2.1 音频解码器配置

添加alc562x音频解码器描述,因为是挂在i2c-2下面所以定义在i2c3总线下(手册中从i2c设备0-2,设备树中i2c是从1-3)。

图2.1 解码器配置

2.2 声卡配置

图 2.2 声卡配置

2.3 设置音频接口i2s总线

ssi主要负责音频数据的收发,具体的模块功能可以参考imx6q的手册,该处需要注意将cpu设置为slave模式,芯片设置为master模式,反过来设置,会导致调试时多花很多时间,因内核中fsl提供的驱动,貌似只实现了slave模式,之前在调试时在这个地方也花了很多时间

图 2.3 设置i2s总线音频接口

2.4 管脚配置

Audmux主要实现了外部设备与soc上的ssi模块的连接,设置管教时即配置audmux的连接管脚即可。

图 2-4 AUDMUX音频接口

设备树中的管脚配置

图 2-5 管脚配置

3.  驱动代码修改

3.1 ALC5621解码器驱动

alc5621驱动编写的文件:alc5623.c和alc5623.h

3.2 声卡驱动

声卡驱动编写的文件为:imx-alc562x.c和imx-audmux.h

4.  i2c控制接口调试

i2c接口的调试可以通过逻辑分析仪抓取接口时序进行分析。在调试驱动时刚开始发现i2c总线没有响应,alc5621芯片控制接口没有工作,导致调试了一天,最后发现是alc5621芯片的时钟没有给。

图 4.1 i2c接口时序

5. i2s音频接口调试

i2s总线也可以通过逻辑分析仪进行接口调试分析,在调试i2s数据总线时也是发现没有数据输入和输出,主要集中要调试的地方是解决:

(1)  确定alc5621芯片和soc之间的主从关系

(2)  打开alc5621内部电源开关

完成这两方面的调试基本上是能够进行数据收发了。

6. 音频录播配置

(1)  模块加载:

insmod imx-ssi.ko

insmod imx6q-ssi.ko

insmod alc5623.ko

insmod imx-alc562x.ko

(2)  参数设置:

耳机播放:

设置声音

amixer cset numid=3,iface=MIXER,name='Headphone Playback Volume' 31

amixer cset numid=7,iface=MIXER,name='PCM Playback Volume' 31

设置通道

amixer cset numid=53,iface=MIXER,name='HP Mix DAC2HP PlaybackSwitch' on

图 6.1 通道配置

设置声道:

amixer cset numid=56,iface=MIXER,name='Left Headphone Mux' 1

amixer cset numid=55,iface=MIXER,name='Right Headphone Mux' 1

设置捕获声音:

amixer cset numid=12,iface=MIXER,name='Rec Capture Volume' 31

设置MIC1捕获声音:

amixer cset numid=10,iface=MIXER,name='Mic1 Capture Volume' 31

打开声音捕获开关:

amixer cset numid=26,iface=MIXER,name='Left Capture Mix Mic1 Capture Switch' on

amixer cset numid=17,iface=MIXER,name='Right Capture Mix Mic1Capture Switch' on

录音命令:

arecord-d 10 -f cd -t wav cap.wav

图 6.2 录音


ALC5621声卡调试记录相关推荐

  1. AML8726调试记录

    一:源代码下载: 1:Installing Repo # mkdir ~/bin # PATH=~/bin:$PATH # curl https://dl-ssl.google.com/dl/goog ...

  2. ROS上同时预览depth,IR,RGB 调试记录

    ROS上同时预览depth,IR,RGB 调试记录 用rviz同时显示RGB,IR,DEPTH(验证设备:astraprosm,canglong2,deeyea) 1.编译libuvc库 cd lib ...

  3. ML之回归预测:利用十(xgboost,10-1)种机器学习算法对无人驾驶汽车系统参数(2017年的data,18+2)进行回归预测值VS真实值——bug调试记录

    ML之回归预测:利用十(xgboost,10-1)种机器学习算法对无人驾驶汽车系统参数(2017年的data,18+2)进行回归预测值VS真实值--bug调试记录 目录 输出结果 1.增加XGBR算法 ...

  4. [Deepin - Pycharm调试记录] Pyinstaller索引系统库问题

    Deepin - Pycharm调试记录 - Pyinstaller索引不到系统库 现象 在Pycharm的Terminal中执行Pyinstaller指令时候遇到如下报错提示 OSError: Py ...

  5. RAISR-master:google图像新压缩技术RAISR的测试代码调试记录(Python实现,没接触过python的小白,内含pip install解决方案)

    RAISR-master:google图像新压缩技术RAISR的测试代码调试记录(Python实现,没接触过python的小白,内含pip install解决方案) 参考文章: (1)RAISR-ma ...

  6. SX1278 FSK 调试记录

    SX1278 FSK 调试记录 先挖个sx1278 FSK的坑慢慢填 手中有两个SX1278模组 是安信可的产品 采用主从模式 SPI访问 MCU是STM32F107 数据格式 说明收据接收的第一步就 ...

  7. 松下MINAS-A6伺服电机调试记录

    松下MINAS-A6伺服电机调试记录 因项目需求,进行松下MINAS-A6伺服电机调试 文章目录 松下MINAS-A6伺服电机调试记录 概述 一.手册数据 二.设备使用 1.驱动器及电机连接 2.设备 ...

  8. Xilinx AXI Crossbar相关调试记录

    Xilinx AXI Crossbar相关调试记录 本文记录在使用Xilinx AXI Crossbar IPcore现象 ** AXI Crossbar IPcore设置如下** 使用AXI Cro ...

  9. android pppd参数介绍,android 3G pppd 调试记录

    android 3G pppd 调试记录. 1.  JAVA 部分 android/development/data/etc/apns-conf_sdk.xml   --->  system/e ...

最新文章

  1. dataframe重命名
  2. 百度CTO王海峰博鳌解读AI“融合创新”,算力算法数据发挥综合作用
  3. android studio 跳转后保留原页面数据_Intent详解以及Activity的跳转与数据传递
  4. QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型
  5. python计算每月工资-python税后工资计算器
  6. Leetcode - 169. Majority Element (多数投票问题)
  7. 数据结构(三)--链表
  8. MySQL Cluster 用户权限共享 (各sql节点同步)
  9. PHP获取随机字符串的两种方法
  10. java字符替换函数示例_Java字符串替换函数replace()用法解析
  11. 闰年判断_小学数学,平年和闰年怎么判断,百年不闰很多人都容易忘
  12. mysql内部联结_关于mysql的内部联结
  13. C#|图像快速傅立叶变换与反变换
  14. 收藏 | 江苏省各地教师公务员等实际工资爆料
  15. 新医改背景下,民营医院如何通过绩效变革支持高质量发展?
  16. LayUI分页,LayUI动态分页,LayUI laypage分页,LayUI laypage刷新当前页
  17. ctfshow web入门 命令执行:55-57
  18. python 中文变量名_大疆机甲大师Python开发: 中文命名变量初尝试
  19. c语言错误c2059 void,c2059(c语言错误代码c2059)
  20. php 表示什么,php是什么意思

热门文章

  1. 如何快速读Paper
  2. 『P3610-2MIC』XMOS USB 双麦阵列板
  3. oppo问答系统技术路线
  4. Python循环结构基础-continu/break
  5. JAVA基础复习(一)
  6. 软件编程控制硬件的关键——寄存器
  7. 【python】.pyx文件编译为.pyd过程中遇到的问题
  8. 机器学习实战-python3勘误
  9. 《信号与系统》奥本海姆第二版中文版勘误
  10. 2022版本微信开发者工具引入less插件