6 Fireworks_light

尚未进行身份认证

我要认证

业精于勤,荒于嬉; 行成于思,毁于随。

等级
TA的排名 7w+

ALSA driver---DAPM flow

参考:https://elixir.bootlin.com/linux/v4.9.218/source/sound/soc/soc-dapm.c#L804https://blog.csdn.net/DroidPhone/article/details/14146319https://blog.csdn.net/DroidPhone/article/details/14052861h...

2020-04-19 14:32:21

ALSA driver---register codec

参考:https://elixir.bootlin.com/linux/v4.9.218/source/sound/soc/soc-core.c#L3314https://blog.csdn.net/DroidPhone/article/details/7283833在移动设备中,Codec的作用可以归结为4种,分别是:对PCM等信号进行D/A转换,把数字的音频信号转换为模拟...

2020-04-19 14:29:55

ALSA driver---register platform

参考:https://elixir.bootlin.com/linux/v4.9.218/source/sound/soc/soc-core.c#L3159https://blog.csdn.net/DroidPhone/article/details/7316061platform通过调用snd_soc_register_platform来注册。snd_soc_register...

2020-04-19 14:28:13

ALSA driver---register card

通过snd_soc_register_card来注册card,即注册整个machine driver.此函数接收一个参数 snd_soc_card:/* SoC card */struct snd_soc_card { const char *name; const char *long_name; const char *driver_name; ...

2020-04-19 14:27:12

ALSA driver---register CPU DAI

参考:https://elixir.bootlin.com/linux/v4.9.218/source/sound/soc/soc-core.c#L3034https://blog.csdn.net/DroidPhone/article/details/7316061CPU DAI通过调用snd_soc_register_component进行注册。在snd_soc_regi...

2020-04-19 14:22:28

I2S音频总线学习

I2S(Inter-IC Sound)是飞利浦公司针对数字音频设备(如CD播放器、数码音效处理器、数字电视音响系统)之间的音频数据传输而制定的一种总线标准。它采用了沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真,为用户节省了购买抵抗音频抖动的专业设备的费用。I2S有3个主要信号:1.串行时钟SCK,也叫位时钟(BCLK),即对应数字音频的每一位数据,...

2020-04-19 14:02:06

spi总线协议

https://blog.csdn.net/weiqifa0/article/details/82765892

2020-04-08 22:58:23

Linux音频驱动-ASOC(ALSA System on Chip)

Linux音频驱动-ALSA概述https://cloud.tencent.com/developer/article/1603864概述此处还需引入之前说过的话: 新事物的出现必然是为了解决旧事物中的不足。这句话在现实生活中和程序世界中道理一样。ASOC的出现就是为了解决ALSA无法解决的问题。ALSA到底存在什么问题? 以及ASOC会以怎样的方式去解决ALSA存在的问题?详细参...

2020-04-01 22:56:43

Linux设备驱动模型-Ktype

https://cloud.tencent.com/developer/article/1603899前言在之前创建的object的时候,使用的是kobject_create_and_add函数。而此函数中创建的object使用的是默认的ktype(dynamic_kobj_ktype), 如果想指定ktype的话就需要使用kobject_init_and_add函数来创建object。那...

2020-04-01 22:41:54

Linux设备驱动模型-Device

https://cloud.tencent.com/developer/article/1603916前言Linux将所有的设备统一抽象为struct device结构, 同时将所有的驱动统一抽象为struct device_driver结构。这样设计之后就方便驱动开发工程师编写驱动,只需要将具体的设备包含struct device结构,具体的驱动包含struct device_drive...

2020-04-01 22:40:48

Linux音频驱动-PCM设备

https://cloud.tencent.com/developer/article/1603968概述1. 什么是pcm?pcm(Pulse-code modulation)脉冲编码调制,是将模拟信号转化为数字信号的一种方法。声音的转化的过程为,先对连续的模拟信号按照固定频率周期性采样,将采样到的数据按照一定的精度进行量化,量化后的信号和采样后的信号差值叫做量化误差,将量化后...

2020-04-01 22:32:26

Linux音频驱动-AOSC之Codec

https://cloud.tencent.com/developer/article/1603869概述ASOC的出现是为了让Codec独立于CPU,减少和CPU之间的耦合,这样同一个Codec驱动无需修改就可以适用任何一款平台。还是以下图做参考例子:在Machine中已经知道,snd_soc_dai_link结构就指明了该Machine所使用的Platform和Codec...

2020-04-01 22:25:19

Linux音频驱动-AOSC之Platform

https://cloud.tencent.com/developer/article/1603969概述在ASOC在Platform部分,主要是平台相关的DMA操作和音频管理。大概流程先将音频数据从内存通过DMA方式传输到CPU侧的dai接口,然后通过CPU的dai接口(通过I2S总线)将数据从达到Codec中,数据会在Codec侧会解码的操作,最终输出到耳机/音箱中。依然已下图作为参考...

2020-04-01 22:23:04

Linux音频驱动-ASOC之Machine

https://cloud.tencent.com/developer/article/1603725概述在ASOC小节中描述了整个ASOC的架构,其中Machine是ASOC架构中的关键部件,没有Machine部件,单独的Codec和Platform是无法工作的。因此本节则先从Machine部分开始,那应该如何开始呢? 答案当然是从代码入手,先进入ASOC在kernel中的位置: ...

2020-04-01 22:16:35

codec驱动常用接口函数积累之snd_soc_codec_get_drvdata

1、snd_soc_codec_get_drvdata./include/sound/soc.hstatic inline void *snd_soc_codec_get_drvdata(struct snd_soc_codec *codec){ return dev_get_drvdata(codec->dev);}调用dev_get_drvdata函数,函...

2020-03-31 23:52:33

python学习-函数

简介函数是重用的程序段。它们允许你给一块语句一个名称,然后你可以在你的程序的任何地方使用这个名称任意多次地运行这个语句块。这被称为调用函数。我们已经使用了许多内建的函数,比如len和range。函数通过def关键字定义。def关键字后跟一个函数的标识符名称,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,它们是函数体。下面这个例子将说明这事实上是十...

2020-03-30 23:10:37

python学习-语句

python语句(if while for)#!/usr/bin/python# Filename: for.pyforiinrange(1,5):printielse:print'The for loop is over'在这个程序中,我们打印了一个序列的数。我们使用内建的range函数生成这个数的序列。我们所做的只是提供两个数,range返回一个序...

2020-03-30 22:55:23

codec硬件音频通路

https://www.jianshu.com/p/146eb5a6005d硬件总体框图image.png数据通道有:MIC录音通道 MICIN-->ADC-->DIGITAL FILTERS-->DIGTAL AUDIO INTERFACE MIC旁路输出通道 MICIN-->SIEATT-->RHPROUT/LHPOUT MICI...

2020-03-25 22:20:39

vim 快捷键地图

vimrc配置(比较好用的)在命令模式下用set命令设置的东西是不能保存的,下次打开vim时又要重新设置。所以vim提供了一个配置文件叫vimrc,可以保存你的配置信息。在该文件中,以双引号开头的是注释。 set autoindent 自动缩排,如当前行是从第3个字符的位置开始编辑的,按回车后光标会自动定位在下一行第三3个字符的位置。 set paste 置粘贴模...

2020-03-25 22:15:37

slimbus简绍

https://www.jianshu.com/u/6c4295637232一、slimbus简绍简介SLIMBUS,全称 Serial Low-power Inter-chip Media Bus,是MIPI联盟指定的一种音频接口,用于连接基带/应用处理器和音频芯片,总线协议保证既能发控制信息,又能发数据信息,这样就可以替换传统的数据和控制两种接口如I2S和I2C。特征 异...

2020-03-25 22:09:28

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。