关键词:I2S、主时钟、MCK、PLL、BCK、LRCK、压控振荡器、VCO、音频、模仿、半导体、德州仪器、TI
信号链根底常识#54 谁是音频时钟的“老板”,谁是主,谁又是从呢?
作者:Dafydd Roche,德州仪器 (TI) 音频工程师
传统 I2S—为何要包含体系时钟?
曩昔,咱们在评论音频论题时,偶然会提及 I2S。我在曾经的一些文章中说到过 I2S,其他人在做音频研讨时也都会说到它。简而言之,它是一种将立体声数据从一端传输至另一端的同步办法。
大多数人以为 I2S 有三种信号:
1.数据:输入或许输出数据
2.位时钟 (Bitclock,BCK):建立数据流中两个相邻位之间鸿沟的信号
3.左/右时钟 (LRCK)/字时钟 (Wordclock):一个在采样速率下运转、占空比为 50% 的慢时钟,它建立数据流中两条相邻通道(左和右)之间的鸿沟。
I2S 的幕后英雄是主时钟 (MCK),也称作体系时钟 (SCK),它常常被数字信号处理器 (DSP) 程序员和其他处理器爱好者们疏忽。主时钟 (MCK/SCK),一般为一个64、128、256 和 512 倍采样速率 (FS) 的时钟。它能够由一个输入引脚直接供给,也能够经过一个锁相环路 (PLL) 在某些器材内部发生。
一般来说,DSP 不需求音频主时钟,由于它们能够以一种彻底不同的速率对数据进行处理,然后在 BCK 和 LRCK 的驱动下,让数据以某种速率进入输出缓冲器(或许经过输入缓冲器接纳数据)。假如您能暂时将留意力从您的处理器上移开,您会发现音频主时钟重要得多。大多数 MCK/SCK 输入的音频转换器,都要求时钟同步,而有一些则答应异相位。这就意味着,它们需求由相同的高速时钟来供给,然后被除小。我触摸过的一些客户会突发创意地告诉我:“我的 ADC 需求一个 MCK,但它离我的 DAC 太远。因而,我要在每个转换器周围放置一个晶体……”有这种主意能够了解,但请您“千万别这么做!”
您在购买晶体时,无法保证它刚好为 48.000 kHz。您的模数转换器 (ADC) 晶体的运转精确度或许会为 +5%,而数模转换器 (DAC) 的运转精确度或许为 –5%。这样的精确度,会给您的规划带来灾难性的结果!这是为什么呢,下面将为您娓娓道来。
用于 I2S
用于音频 ADC 的主时钟
如图 1 所示,高速主时钟(例如:24.576 MHz 时钟)用于驱动 ADC 的过采样调制器。之后,来自过采样调制器的数据被消减分解成 LRCK 给定的采样速率。
当 ADC 运转在主模式(生成 BCK 和 LRCK,作为输出)下时,ADC 仅仅对 MCK/SCK 进行区分,发生 LRCK 和 BCK 信号。这就对啦!LRCK/BCK 和主时钟被同步—相位也或许同步(除非它是一个特别分割器)。
图 1 通用 ADC 结构图
假如作为一个从器材,而且主时钟不同步,则它发生的数据会过多或许过少,以至于数字抽取器无法刚好适合于输出字。在这种条件下,许多 ADC 会回绝流传输数据。
DAC 也是如此。图 2 显现了一个高档 DAC 结构图。此处,需求经过 MCK/SCK 运转内插器,而 MCK/SCK 一起还驱动 △∑ 调制器。假如 MCK/SCK 不是采样速率的整倍数 (64/128/256/512),则在 △∑ 调制器输出端或许会呈现过错数据。
图 2 通用 DAC 结构图
我在哪里/怎么生成 MCK/SCK 呢?
在当今的工业运用中,CMOS 振荡器由许多晶体振荡器支撑,并紧靠这些晶体振荡器。它们都具有非常好的精确度和较低的颤动。偶然会用到压控振荡器 (VCO),但它们会遭到其输出颤动的困扰。
许多现代的音频转换器现在都集成了一个 PLL,以经过慢 BCK 发生 MCK。这样做很有用。可是,您应该留意,运用 PLL 时一直都会有发生颤动的或许,然后降低了音频功能。
别的,我主张,假如在晶体源驱动 ADC 或是 DAC 两者之间挑选,请您挑选经过一个晶体发生源来运转 ADC。假如输入很糟糕,那么您做什么都杯水车薪!(就像您不或许把烂泥打磨亮光!)
因而,我的主张遵从的原则是:
1、假如转换器为一个 I2S 从器材,则您有必要经过相同源(假如转换器带有,则能够依托内部 PLL),供给一切三个 I2S 时钟(MCK、BCK 和 LRCK)。
2、假如转换器为一个 I2S 主器材,则请确认能够供给一个牢靠的无颤动 MCK源。然后,让转换器自己分配。在或许的情况下,让 ADC 经过一个牢靠的低颤动 MCK 源在主模式下运转。这样做能够保证最低颤动和最小高频失真。
主张参看材料:
•《关于颤动》,作者:Dan Lavry,Lavry 工程公司,版权一切 1997。