搜索
热门关键词:
总线
万用表
LCD
Xilinx
CAN总线
手机版
官方微博
微信公众号
登录
|
免费注册
首页
新闻
新品
文章
下载
电路
问答
视频
职场
杂谈
会展
工具
博客
论坛
在线研讨会
技术频道:
单片机/处理器
FPGA
软件/编程
电源技术
模拟电子
PCB设计
测试测量
MEMS
系统设计
无源/分立器件
音频/视频/显示
应用频道:
消费电子
工业/测控
汽车电子
通信/网络
医疗电子
机器人
当前位置:
EEChina首页
›
论坛
›
新手园地
返回列表
查看:
1714
|
回复:
0
【疯壳·嵌入式教程6】手把手教你做平板电脑-音频驱动实验教程
[复制链接]
Linda-x
Linda-x
当前离线
积分
9771
发表于 2022-8-23 10:33:24
|
显示全部楼层
|
阅读模式
贸泽电子有奖问答视频,回答正确发放10元微信红包
关键词:
嵌入式开发
,
平板电脑
,
音频
,
驱动实验
,
教程
音频驱动实验教程
——疯壳·
嵌入式
平板开发
图1
如上图是音频模块 codec 和 cpu 连接框图,主要由三部分组成:
I2C
总线
- cpu 通过它实现对 Codec 寄存器数据的读写。
I2S 总线 - 实现音频数据在 CPU 和 Codec 间的通信。
HP_DEC - 实现检测是否有 HeadSet 设备插入。
第二节 linux workqueue 工作原理
音频子系统的源代码中用到了一个概念:workqueue。对于不了解的朋友,读代码可能会引起疑惑,所以这里做一个简单介绍。
Linux
中的 Workqueue 机制就是为了简化内核线程的创建,只是通过调用 workqueue 的接口就能创建内核线程;并且可以根据当前系统 CPU 的个数创建线程的数量,使得线程处理的事务能够并行化;workqueue 是内核中实现简单而有效的机制,它显然简化了内核 Daemon 的创建,方便了用户的编程。工作队列(workqueue) 是另外一种将工作推后执行的形式。它把工作推后,交由一个内核线程去执行,也就是说, 这个下半部分可以在进程上下文中执行。最重要的就是工作队列允许被重新调度甚至是睡眠。 举个栗子:
代码1
第三节
电路
原理图介绍
下图来源于文档 3128_sdk_a02_20170325.pdf 中第 18 页。
图一、绿色框中是 codec 芯片自己检测是否有 HeadSet 设备插入的电路原理图,它是通过 HP_HOOK(HP_HOOK 和 HP_DEC 是连在一条线上)与 cpu 的
ADC
_IN0 连接,这个有点类似于 AD 按键检测的功能;音频 Codec 模块是数据与控制分开的,所以有 I2c 来控制 Codec 的寄存器的读写,数据通过 I2s 总线进行传输。
图2
第四节 音频驱动代码结构
代码2
第五节 dts 文件讲解
代码3
HeadSet 配置文件
代码4
I2c 配置文件
代码5
I2s 配置文件
rockchip-rt3224 {
代码6
第六节 实验代码
1.HeadSet 检测
原理类似于一个 ad 按键的功能。
注意:这里如果要测试这个功能必须在 codec 中设置一个值:
codec_hp_det = <0>; ===> codec_hp_det = <1>;
增加两条测试信息到如下代码中。
代码7
耳机检测状态的调试:
cat sys/class/switch/h2w/state 0:无耳机插入
1:带Mic 耳机插入(四段耳机)
2:不带 Mic 耳机插入(三段耳机)
2.测试命令 amix
用 amix 命令来调节音量
amix 11 0
amix 11 120
完整配套资料和对应开源套件地址:http://www.fengke.club
如需定制开发,请通过官网“疯壳”网页底部的“联系我们”进行联系
文件下载请点击:
6、音频驱动实验教程.pdf
(507.76 KB)
2022-8-23 10:31 上传
点击文件名下载附件
相关文章
•
国产!基于瑞芯微RK3576ARM八核2.2GHz A72 工业评估板——多屏同显、异显方案演示
•
基于瑞芯微RK3576国产ARM八核2.2GHz A72 工业评估板——ROS2系统使用说明
•
基于瑞芯微RK3562 四核 ARM Cortex-A53 + 单核 ARM Cortex-M0工业评估板——Linux应用开发手册
•
基于瑞芯微RK3562 四核 ARM Cortex-A53 + 单核 ARM Cortex-M0——NPU开发案列
•
明远智睿SSD2351核心板助力智能监控系统升级
•
明远智睿SSD2351核心板在物联网领域的应用实践
•
延时仅4us!最新的全国产RK3568J+FPGA PCIe实时通信方案来了
•
6T算力NPU!基于RK3588国产平台的YOLOv5目标识别案例,真的强!
•
明远智睿SSD2351核心板:硬件性能深度剖析
•
明远智睿RK3588开发板助力工业机器智能化升级
回复
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
FPGA/CPLD
通信/网络
测试测量
汽车电子
单片机/处理器
PCB设计
消费电子
关于我们
-
服务条款
-
使用指南
-
站点地图
-
友情链接
-
联系我们
电子工程网
© 版权所有
京ICP备16069177号
| 京公网安备11010502021702
快速回复
返回顶部
返回列表