Audio Clocking
音频时钟
==============

This text describes the audio clocking terms in ASoC and digital audio in
general. Note: Audio clocking can be complex!
本文本总体描述ASoC和数字音频中的音频时钟条款。

Note:Audio Clock 是一个很复杂的东东

Master Clock
主时钟
------------

Every audio subsystem is driven by a master clock (sometimes referred to as MCLK or SYSCLK). This audio master clock can be derived from a number of sources (e.g. crystal, PLL, CPU clock) and is responsible for producing the correct
audio playback and capture sample rates.
每个数字音频子系统都是由主时钟来驱动的(有时称为MCLK或SYSCLK)。音频主时钟可以派生于多种源(如晶振,锁相环,处理器时钟)。负责产生正确的音频播放和捕获采样率。

Some master clocks (e.g. PLLs and CPU based clocks) are configurable in that
their speed can be altered by software (depending on the system use and to save
power). Other master clocks are fixed at a set frequency (i.e. crystals).
有些主时钟是可配置的(如基于锁相环或处理器的时钟),它们可以通过软件改变速度(依赖于系统应用和省电的考虑)。另一些主时钟则是固定于一个特定的频率值(如晶振)。

  • 主时钟驱动
  • 主时钟可配置
  • 可通过软件控制以达到省电的目的

数字音频时钟
----------

  • DAI 通过位时钟BCLK驱动
  • DAI 也通过帧时钟驱动
  • 帧时钟 LRC 或者 frame。
  • 帧时钟和采样率是一样的

The Digital Audio Interface is usually driven by a Bit Clock (often referred 
as BCLK). This clock is used to drive the digital audio data across the link
between the codec and CPU.
数字音频接口往往是由一个位时钟来驱动的(通常记为BCLK)。这个时钟用于驱动数字音频数据在解码器与处理器间的传输。

The DAI also has a frame clock to signal the start of each audio frame. This
clock is sometimes referred to as LRC (left right clock) or FRAME. This clock
runs at exactly the sample rate (LRC = Rate).
数字音频接口还有一个帧时钟,用来指示一帧音频的开始。该时钟有时记为LRC(left right clock)或FRAME。该时钟严格工作于采样率上。

Bit Clock can be generated as follows:-
位时钟可以有如下产生方式:

BCLK = MCLK / x

or

BCLK = LRC * x

or

BCLK = LRC * Channels * Word Size

This relationship depends on the codec or SoC CPU in particular. In general
it is best to configure BCLK to the lowest possible speed (depending on your
rate, number of channels and word size) to save on power.
这个关系依赖于解码器,特别是板上处理器。大体上讲,最好将位时钟尽可能低速(取决于你的采样率,通道数和字长)以省电。

It is also desirable to use the codec (if possible) to drive (or master) the
audio clocks as it usually gives more accurate sample rates than the CPU.
可能的话,最好使用解码器来驱动(或控制)音频时钟,因为通常它给出的采样率比处理器更精确。

linux音频alsa-uda134x驱动分析之二(时钟)的更多相关文章

  1. linux内核SPI总线驱动分析(二)(转)

    简而言之,SPI驱动的编写分为: 1.spi_device就构建并注册  在板文件中添加spi_board_info,并在板文件的init函数中调用spi_register_board_info(s3 ...

  2. Linux内核--网络栈实现分析(二)--数据包的传递过程--转

    转载地址http://blog.csdn.net/yming0221/article/details/7492423 作者:闫明 本文分析基于Linux Kernel 1.2.13 注:标题中的”(上 ...

  3. Linux SD/MMC/SDIO驱动分析_转

    转自:Linux SD/MMC/SDIO驱动分析    https://www.cnblogs.com/cslunatic/p/3678045.html#3053341 一.SD/MMC/SDIO概念 ...

  4. linux内核SPI总线驱动分析(一)(转)

    linux内核SPI总线驱动分析(一)(转) 下面有两个大的模块: 一个是SPI总线驱动的分析            (研究了具体实现的过程) 另一个是SPI总线驱动的编写(不用研究具体的实现过程) ...

  5. Linux ALSA声卡驱动之一:ALS…

    声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢! 一.  概述 ALSA是Advanced Linux Sound Architecture ...

  6. Linux下 USB设备驱动分析(原创)

    之前做过STM32的usb HID复合设备,闲来看看linux下USB设备驱动是怎么一回事, 参考资料基于韦东山JZ2440开发板,以下,有错误欢迎指出. 1.准备知识 1.1USB相关概念: USB ...

  7. linux驱动基础系列--Linux mmc sd sdio驱动分析

    前言 主要是想对Linux mmc子系统(包含mmc sd sdio)驱动框架有一个整体的把控,因此会忽略某些细节,同时里面涉及到的一些驱动基础,比如平台驱动.块设备驱动.设备模型等也不进行详细说明原 ...

  8. linux调度器源码分析 - 初始化(二)

    本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 引言 上期文章linux调度器源码分析 - 概述(一)已经把调度器相关的数据结构介绍了一遍,本篇着重通过代码说明 ...

  9. RK30SDK开发板驱动分析(二):DDR频率配置

    在内核配置界界面,我们可以很容易的配置DDR的频率,300M OR 600M, so easy! 那么它是如何起作用的呢? 回想 RK30SDK开发板驱动分析(一) 末尾提到MACHINE_START ...

随机推荐

  1. MT【116】三个点动起来

    评:当若干个变量时抓住主变量,立体几何问题平面化.

  2. 【比赛】NOIP2017 时间复杂度

    恶心的模拟题,考场上犯了一堆错误,多组数据清空没清完.数组开小...民间都是50分,结果CCF90.. 考完后随便改改就过了,还好只少了10分,如果真的是50,我估计会疯掉. 因为考场的时候没写好,所 ...

  3. Unity使用C#实现简单Scoket连接及服务端与客户端通讯

    简介: 网络编程是个很有意思的事情,偶然翻出来很久之前刚开始看Socket的时候写的一个实例,贴出来吧 Unity中实现简单的Socket连接,c#中提供了丰富的API,直接上代码. 服务端代码: [ ...

  4. 【BZOJ2655】Calc(拉格朗日插值,动态规划)

    [BZOJ2655]Calc(多项式插值,动态规划) 题面 BZOJ 题解 考虑如何\(dp\) 设\(f[i][j]\)表示选择了\(i\)个数并且值域在\([1,j]\)的答案. \(f[i][j ...

  5. C++中三种传递参数方法的效率分析

    众所周知,在C++中有三种参数传递的方式: 按值传递(pass by value) #include <iostream> using namespace std; void swap(i ...

  6. Android应用自动更新功能的实现!

    Android应用自动更新功能的实现!http://blog.csdn.net/android_tutor/article/details/7015986 private static final i ...

  7. bzoj 3170 Tjoi 2013 松鼠聚会 曼哈顿距离&&切比雪夫距离

    因为曼哈顿距离很好求,所以要把每个点的坐标转换一下. 转自:http://blog.csdn.net/slongle_amazing/article/details/50911504 题解 两个点的切 ...

  8. MVC中HTML控件设为只读readonly

    http://www.th7.cn/web/html-css/201501/78934.shtml 1.下拉框设为只读试了试用这个有效: @Html.DropDownListFor(model =&g ...

  9. php 中 envoy 的使用方法

    相关文档:中文文档.英文文档 envoy 是什么? envoy 是一个支持 blade 语法的 ssh 远程命令执行的工具.具体来说就是,通过配置 ssh 的账号.密码.key 这些,然后可以使用 e ...

  10. K8S从私有仓库拉取镜像

    通常来讲,我们在通过公共镜像仓库拉取docker镜像的时候,不需要任何的认证操作,但我们在构建了企业的私有镜像以后,就不得不在拉取镜像之前通过用户名密码来完成认证. 在docker单机环境中,我们可以 ...