查看: 523|回复: 0

[资料] 【嵌入式开发教程6】疯壳·平板电脑-音频驱动实验教程

[复制链接]
  • TA的每日心情
    开心
    2022-4-17 15:37
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2022-7-11 10:28:00 | 显示全部楼层 |阅读模式
    分享到:
    音频驱动实验教程
    ——疯壳·嵌入式平板开发




    1.png    
       图1
        如上图是音频模块 codec 和 cpu 连接框图,主要由三部分组成:
        I2C 总线 - cpu 通过它实现对 Codec 寄存器数据的读写。
        I2S 总线 - 实现音频数据在 CPU 和 Codec 间的通信。
        HP_DEC - 实现检测是否有 HeadSet 设备插入。

        第二节 linux workqueue 工作原理
        音频子系统的源代码中用到了一个概念:workqueue。对于不了解的朋友,读代码可能会引起疑惑,所以这里做一个简单介绍。Linux 中的 Workqueue 机制就是为了简化内核线程的创建,只是通过调用 workqueue 的接口就能创建内核线程;并且可以根据当前系统 CPU 的个数创建线程的数量,使得线程处理的事务能够并行化;workqueue 是内核中实现简单而有效的机制,它显然简化了内核 Daemon 的创建,方便了用户的编程。工作队列(workqueue) 是另外一种将工作推后执行的形式。它把工作推后,交由一个内核线程去执行,也就是说,   这个下半部分可以在进程上下文中执行。最重要的就是工作队列允许被重新调度甚至是睡眠。  举个栗子:

    代码1.0.png

        代码1.1.png
        代码1

        第三节 电路原理图介绍
        下图来源于文档 3128_sdk_a02_20170325.pdf 中第 18 页。
        图一、绿色框中是 codec 芯片自己检测是否有 HeadSet 设备插入的电路原理图,它是通过 HP_HOOK(HP_HOOK 和 HP_DEC 是连在一条线上)与 cpu 的 ADC_IN0 连接,这个有点类似于 AD 按键检测的功能;音频 Codec 模块是数据与控制分开的,所以有 I2c 来控制 Codec 的寄存器的读写,数据通过 I2s 总线进行传输。

    2.png    
        图2

        第四节 音频驱动代码结构

    代码2.png

        代码2

        第五节 dts 文件讲解

    代码3.0.png    
    代码3.1.png
        代码3

        HeadSet 配置文件

    代码4.png    
        代码4

        I2c 配置文件



        代码5
        I2s 配置文件
        rockchip-rt3224 {

    代码6.0.png
    代码6.1.png
    代码6.2.png    
        代码6

        第六节 实验代码
        1.HeadSet 检测
        原理类似于一个 ad 按键的功能。
        注意:这里如果要测试这个功能必须在 codec 中设置一个值:
        codec_hp_det = <0>; ===> codec_hp_det = <1>;
        增加两条测试信息到如下代码中。

    代码7.png    
        代码7
        耳机检测状态的调试:
        cat sys/class/switch/h2w/state 0:无耳机插入
        1:带Mic 耳机插入(四段耳机)
        2:不带 Mic 耳机插入(三段耳机)
        2.测试命令        amix
        用 amix 命令来调节音量
        amix 11 0
        amix 11 120




    配套资料:https://www.fengke.club
    套件地址:http://shop115904315.taobao.com
    文件下载请点击: 6、音频驱动实验教程.pdf (507.76 KB, 下载次数: 0)
    代码3.0.png
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-24 08:34 , Processed in 0.128764 second(s), 19 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.