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. ava8并发教程:Threads和Executors

    原文地址  原文作者:Benjamin Winterberg 译者:张坤 欢迎阅读我的Java8并发教程的第一部分.这份指南将会以简单易懂的代码示例来教给你如何在Java8中进行并发编程.这是一系列教 ...

  2. R2学习记录

    Setting up the Libevent library1.重写log行为 #include <event2/event.h> #include <stdio.h> st ...

  3. bzoj1683[Usaco2005 Nov]City skyline 城市地平线

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1683 Input 第1行:2个用空格隔开的整数N和W. 第2到N+1行:每行包括2个用空格 ...

  4. 【bzoj2555】 SubString

    http://www.lydsy.com/JudgeOnline/problem.php?id=2555 (题目链接) 题意 给出一个初始串,维护两个操作.在原串后面加入一个字符串:询问某个字符串在原 ...

  5. Linux编程中 #define _XOPEN_SOURCE的作用

    [误解]#define _XOPEN_SOURCE决不是简单的宏定义它是使程序符合系统环境的不可缺少的部分 [概念]Glibc 所实现全部或部分规范下的功能有:1.ISO C: C语言国际标准. 2. ...

  6. YY淘宝商品数据库设计

    http://www.cnblogs.com/mmmjiang13/archive/2010/11/04/1868609.html 前言 这几个月都在做一个通过淘宝API线下管理淘宝店的系统,学习了很 ...

  7. QT 菜单资源设置

    版权声明 该文章原创于Qter开源社区(www.qter.org),作者yafeilinux,转载请注明出处!   导语        在前一篇中我们学习了使用资源文件为主窗口添加菜单图标.这次,我们 ...

  8. springcloud的fallback与fallbackFactory

  9. 详细MATLAB 中BP神经网络算法的实现

    MATLAB 中BP神经网络算法的实现 BP神经网络算法提供了一种普遍并且实用的方法从样例中学习值为实数.离散值或者向量的函数,这里就简单介绍一下如何用MATLAB编程实现该算法. 具体步骤   这里 ...

  10. WinterCamp2017吃饭睡觉记

    noip考完后励志好好学习进HE队然后Au,就这样每天勤奋刻苦发愤图强不知不觉就到冬令营了. 除了我之外的大佬们都是以上经历. 我呢……一个很爱浪的蒟蒻. 冬令营到了,伟大的CCF本着报一个录一个的原 ...