PLL1707/1708音频时钟芯片:原理、设计与实战应用解析

📅 2026/6/30 8:31:47
PLL1707/1708音频时钟芯片:原理、设计与实战应用解析
1. 项目概述与核心价值在数字音视频系统的设计里时钟信号的质量往往是决定最终性能表现的“命门”。无论是CD、DVD播放器还是硬盘录像机、数字高清电视其核心的数字信号处理器、音频编解码器都需要一个极其稳定、纯净且精准的时钟源来驱动。这个时钟不仅要频率准确更要抖动极低否则音频的细节会丢失视频的同步会出问题整个系统的信噪比和动态范围都会大打折扣。早年间的设计工程师们往往需要为不同的音频采样率比如CD的44.1kHzDVD的48kHz准备多个独立的晶振或者使用复杂的、由分立元件搭建的锁相环电路。这不仅增加了物料成本和PCB面积更带来了时钟信号之间相互干扰、抖动难以控制等一系列工程难题。PLL1707和PLL1708这两颗芯片的出现就是为了解决这个痛点。它们本质上是一对“时钟魔术师”能够从一个在MPEG-2视频系统中极为常见的27MHz主时钟出发通过内部精密的双锁相环架构变戏法似的生成多达四个独立的、高精度的系统时钟覆盖从16kHz到96kHz的几乎所有主流音频采样频率需求。我接触这两颗芯片是在十多年前一个DVD录像机的项目上。当时项目要求支持CD、MP3、DVD-Video等多种音源播放和录制时钟系统设计让我头疼不已。直到发现了PLL1707一颗芯片、一个27MHz晶振就解决了所有音频子系统的时钟需求PCB布局一下子清爽了许多实测的时钟抖动性能也远超分立方案。后来在更复杂的、需要软件动态切换采样率的HDDDVR项目中又用上了串行控制的PLL1708。这么多年用下来它们堪称是低成本、高性能音频时钟方案的“定海神针”。这篇文章我就结合自己的实战经验把这两颗芯片从原理到应用从硬件设计到软件配置掰开揉碎了讲清楚希望能帮你绕过我当年踩过的那些坑。2. 芯片架构与核心原理深度解析2.1 锁相环基础与“零PPM误差”的实现要理解PLL1707/1708首先得明白锁相环PLL到底在干什么。你可以把它想象成一个极其聪明的“频率合成伺服系统”。它内部有一个电压控制振荡器VCO能产生我们需要的输出频率。但这个VCO自己跑可能会“漂移”不准。PLL的聪明之处在于它用一个相位检测器Phase Detector时刻比较外部输入的参考时钟这里是27MHz和VCO输出分频后信号的相位差。一旦发现两者有相位差就产生一个误差电压经过环路滤波器Loop Filter平滑后去微调VCO的频率迫使它的相位去“追赶”并最终“锁定”参考时钟的相位。当锁定时输出信号经过分频后的相位与参考信号完全同步这意味着它们的频率比是一个精确的、固定的有理数。PLL1707/1708的“零PPM误差”特性正源于此。只要输入的27MHz晶振是准确的那么通过内部精密的整数分频比M/N计数器产生的所有输出时钟其频率精度就完全继承自这个27MHz参考源。例如要产生44.1kHz采样率相关的33.8688MHz时钟768fs其分频比是33.8688MHz / 27MHz 1.2544这可以被精确地实现为(M/N) (12544/10000)或其他等效的整数比。因此输出时钟没有长期的平均频率误差即零PPM这是靠模拟RC振荡电路无法实现的。2.2 双PLL架构与低抖动设计奥秘PLL1707/1708内部包含两个独立的锁相环PLL1和PLL2这是其设计精妙之处。从框图看一个PLL假设为PLL1专门用于生成SCKO0固定33.8688MHz和SCKO1可编程频率另一个PLLPLL2则用于生成SCKO2256fs和SCKO3384fs。为什么要用两个主要是为了优化抖动性能和降低相互干扰。不同的输出频率可能由不同的分频链产生如果所有频率都从一个VCO分频而来那么高频时钟如SCKO0/1上的任何噪声或扰动都会通过分频器耦合到低频时钟如SCKO2/3上。采用双PLL架构可以将频率相近或要求最严格的时钟分组由独立的PLL产生从而实现更好的隔离度。例如SCKO0和SCKO1频率较高且固定/半固定由一个优化了高频性能的PLL生成而SCKO2和SCKO3频率随采样率变化由另一个PLL负责这样各自环路参数可以独立优化以达到整体最佳的50ps典型抖动性能。注意这里的“低抖动”指的是时钟边沿在时间轴上的微小、随机的偏移。50ps的抖动对于16-bit音频系统可能影响不大但对于24-bit或更高精度的音频DAC/ADC过大的抖动会直接劣化信噪比SNR和总谐波失真THD。PLL1707/1708的这个指标足以满足当时绝大多数消费级高端音频设备的需求。2.3 时钟输出网络详解芯片总共提供6个时钟输出分为两组主时钟输出MCKO1, MCKO2这两个是简单的缓冲输出直接将输入的27MHz时钟进行缓冲驱动后输出。它们可以为系统中其他需要27MHz时钟的模块如视频解码芯片提供干净的时钟源避免了从晶振直接拉长线带来的信号完整性问题。系统时钟输出SCKO0-SCKO3这是芯片的核心输出由内部PLL合成。SCKO0固定输出33.8688MHz。这个频率是44.1kHz采样率的768倍768fs。它主要服务于CD-DA光盘数字音频系统或任何基于44.1kHz家族采样率如88.2kHz的音频处理。SCKO1针对48kHz采样率家族的可编程时钟输出。PLL1707支持768fs36.864MHz和512fs24.576MHzPLL1708额外支持384fs18.432MHz和256fs12.288MHz。这为不同的音频处理器或DAC提供了灵活的时钟选择。SCKO2输出频率为256倍采样频率256fs。其具体频率随选择的采样率fs变化。SCKO3输出频率为384倍采样频率384fs。同样随fs变化。这种输出配置非常具有实用性。例如在一个DVD播放机中SCKO0可以供给CD解码芯片SCKO1供给杜比数字解码芯片SCKO2和SCKO3则可以分别供给一颗立体声DAC和一颗多声道DAC所有时钟同源且同步完美解决了多时钟域协同工作的问题。3. 硬件设计与电路连接实战要点3.1 电源与接地稳定性的基石芯片采用单3.3V供电但电源和地的引脚设计颇有讲究。它提供了独立的模拟电源VCC和数字电源VDD1-VDD3以及对应的模拟地AGND和数字地DGND1-DGND3。这种分离的目的是为了隔离模拟PLL环路对噪声极其敏感和数字输出缓冲器开关噪声大之间的干扰。在实际PCB布局中我的强烈建议是电源分割地平面统一虽然电源引脚分开但最好使用统一的、完整的接地层Ground Plane。将AGND和所有DGND引脚都直接连接到这个接地层上。分开的电源可以通过磁珠或0欧姆电阻进行隔离后再接入芯片但地必须在PCB层上保持单点低阻抗。退耦电容必须就近放置数据手册的典型连接图给出了明确指导。VCCPin 8和每个VDD引脚Pin 1, 13, 20都必须就近连接一个0.1μF的陶瓷电容到对应的地引脚。这个电容用于滤除高频噪声布线环路要尽可能小。电源入口处建议在3.3V电源进入芯片附近区域时增加一个10μF的铝电解电容或钽电容用于缓冲低频纹波。避免电源串扰如果系统其他部分噪声较大可以考虑使用独立的LDO为PLL1707/1708供电确保其电源的纯净度。3.2 主时钟源的选择与连接芯片的主时钟可以通过两种方式提供晶体振荡器模式推荐在XT1Pin 10和XT2Pin 11之间连接一个27MHz的晶体谐振器并搭配两个负载电容C1和C2典型值10-33pF。这是最常用、成本最低且通常性能最稳定的方案。晶体和电容必须尽可能靠近芯片引脚摆放。外部时钟模式将外部的27MHz CMOS电平时钟信号直接输入到XT1Pin 10此时XT2Pin 11引脚必须悬空OPEN。这种模式常用于系统已有27MHz时钟源如来自视频解码芯片的情况。实操心得在早期的一个项目中我曾试图将XT2引脚接地以“降低噪声”结果导致芯片无法起振。切记在外部时钟模式下XT2是内部振荡器放大器的输出端必须悬空任何连接都可能破坏其工作点。3.3 控制引脚的上拉/下拉与未用引脚处理PLL1707和PLL1708的所有控制引脚FS1/FS2/SR/CSEL 或 MD/MC/MS内部都集成了施密特触发输入和下拉电阻。这意味着在并行模式PLL1707下如果你希望某个控制信号默认为低电平可以直接将其接地或悬空内部下拉会将其拉低。如果希望其为高电平则需要通过一个上拉电阻如10kΩ连接到VDD。在串行模式PLL1708下控制信号线MD, MC, MS在空闲时应被主控制器置为高电平或低电平避免浮空。通常MC时钟和MS片选在不通信时由控制器输出低电平MD数据则视情况而定。对于未使用的输出时钟引脚如果确定不需要最好不要悬空。轻微的负载有助于稳定输出缓冲器。可以将其通过一个几十皮法的电容接地或者直接断开连接但确保其在PCB上不会成为天线引入噪声。4. PLL1707并行控制模式详解与应用PLL1707的控制方式简单直接通过三个引脚的电平组合来设置非常适合固定功能或通过简单逻辑电路如CPLD、拨码开关控制的应用。4.1 采样频率组选择FS1, FS2这两个引脚决定了系统的基础采样频率组。具体真值表如下FS2 (Pin 6)FS1 (Pin 5)采样频率 (fS)对应应用场景低 (LOW)低 (LOW)48 kHzDVD、数字电视、主流音频低 (LOW)高 (HIGH)44.1 kHzCD、MP3来自CD源高 (HIGH)低 (LOW)32 kHz某些专业设备、卫星广播高 (HIGH)高 (HIGH)保留禁止使用此组合这里有个关键点这个选择影响的是SCKO2和SCKO3的输出频率基准同时也影响了SCKO1在48kHz模式下的可选频率范围通过CSEL选择。例如当选择44.1kHz时SCKO2输出256 * 44.1kHz 11.2896MHzSCKO3输出384 * 44.1kHz 16.9344MHz。4.2 采样率选择SR这个引脚用于在“标准”和“双倍”采样率之间切换。它实际上是对FS1/FS2选定的基础频率进行倍频。SR (Pin 7)采样率模式对SCKO2/SCKO3的影响低 (LOW)标准 (Standard)SCKO2 256 * fS, SCKO3 384 * fS高 (HIGH)双倍 (Double)SCKO2 256 * (2fS), SCKO3 384 * (2fS)举例说明假设FS1/FS2设置为44.1kHz标准CD速率。当SR低时SCKO2 11.2896MHz SCKO3 16.9344MHz。当SR高时SCKO2 22.5792MHz SCKO3 33.8688MHz。这正好对应88.2kHz44.1kHz的双倍采样率所需的时钟。4.3 SCKO1频率选择CSEL此引脚仅在PLL1707上有效用于选择SCKO1在48kHz采样率组下的输出频率。CSEL (Pin 12)SCKO1 输出频率 (当fS组为48kHz时)低 (LOW)36.864 MHz (768fs)高 (HIGH)24.576 MHz (512fs)注意当FS1/FS2选择的是44.1kHz或32kHz时CSEL引脚的状态不影响SCKO1。SCKO1在此情况下固定输出与SCKO0相同的33.8688MHz对于44.1kHz组或一个基于32kHz计算出的固定频率。这一点数据手册没有明确列出但在实际测试和早期应用笔记中得到了确认。因此在非48kHz模式下CSEL可以悬空或接固定电平。4.4 并行模式下的时序与稳定时间当FS1、FS2、SR或CSEL引脚的电平发生变化时芯片内部的PLL需要时间重新锁定到新的频率。数据手册规定这个频率稳定时间最大为150ns。这意味着在改变控制引脚状态后需要等待至少150ns输出的时钟才会稳定在新的频率上。在实际电路设计中如果通过微控制器GPIO控制这些引脚在改变电平后应插入一个短暂的软件延时微秒级即可远大于150ns。如果是通过硬件逻辑切换则无需特别处理因为逻辑电路的延迟通常已能满足要求。5. PLL1708串行控制模式深度剖析PLL1708提供了更灵活的控制方式通过一个三线串行接口MS、MC、MD可以访问内部的两个16位寄存器模式寄存器和配置寄存器实现对所有功能的精细控制。5.1 串行接口时序与驱动实现串行通信的时序要求并不苛刻但必须严格遵守以确保数据正确写入。核心参数如下MC时钟周期 (t(MCY))最小100ns即时钟频率最高可达10MHz。对于大多数微控制器来说用软件模拟SPI或使用低速硬件SPI都绰绰有余。数据建立 (t(MDS)) 和保持时间 (t(MDH))均为最小40ns。这意味着在MC时钟上升沿前后数据MD需要稳定至少40ns。片选有效时间 (t(MSL))MS片选信号需要在发送数据期间保持低电平且低电平时间至少覆盖16个MC时钟周期因为要传输16位数据。锁存时间在16位数据通过MC时钟移入后需要在MC的最后一个上升沿之后将MS从低电平拉高以锁存数据。MS的高电平保持时间(t(MHH))最小200ns。一个典型的单片机软件驱动流程如下以GPIO模拟为例将MS引脚拉低片选有效。延时一小段时间如1μs确保建立时间。循环16次 a. 将当前要发送的数据位从最高位D15开始设置到MD引脚。 b. 延时至少40ns对于几十MHz的MCU几条NOP指令即可。 c. 将MC引脚拉高产生上升沿。 d. 延时至少40ns确保高电平脉宽。 e. 将MC引脚拉低。 f. 准备下一位数据。16位发送完毕后延时至少40ns满足t(MSH)。将MS引脚拉高完成锁存。延时至少200ns满足t(MHH)之后可以开始下一次传输或释放总线。5.2 模式寄存器Mode Register编程指南模式寄存器地址/头部为0111 00b是控制核心功能的寄存器。其16位定义如下0 1 1 1 0 0 CE6 CE5 CE4 CE3 CE2 CE1 SR2 SR1 FS2 FS1FS[2:1] (D1, D0)采样频率组选择。编码方式与PLL1707的并行引脚完全一致0048kHz, 0144.1kHz, 1032kHz, 11保留。SR[2:1] (D3, D2)采样率选择。这里比PLL1707多了“半采样率Half”选项。00: 标准 (Standard)01: 双倍 (Double)10: 一半 (Half)【仅PLL1708支持】11: 保留CE[6:1] (D9-D4)时钟输出使能控制。每一位对应一个时钟输出1为使能0为禁用。CE1 (D4): SCKO0CE2 (D5): SCKO2CE3 (D6): SCKO3CE4 (D7): SCKO1CE5 (D8): MCKO1CE6 (D9): MCKO2重要特性当CE1-CE6全部为0时芯片进入完全掉电模式Power Down。此时所有PLL和振荡器停止工作静态电流降至350-550μA。但串行控制接口仍然有效可以通过写寄存器唤醒。编程示例假设我们需要设置系统为44.1kHz标准采样率并只启用SCKO0和SCKO2。FS[2:1] 01 (44.1kHz)SR[2:1] 00 (Standard)CE[6:1]CE1(SCKO0)1, CE2(SCKO2)1, 其他为0。寄存器值计算头部011100 CE位000110 SR位00 FS位01。得到16位二进制0111 0000 0110 0001即十六进制0x7061。通过串行接口写入此值。5.3 配置寄存器Configuration Register与SCKO1高级配置配置寄存器地址/头部为0110 11b目前只使用了CFG1D5这一个有效位其余位RSV必须写0。CFG1 (D5)SCKO1配置控制。此位与硬件引脚CSEL共同决定SCKO1的输出频率。CFG10: SCKO1输出高频组36.864MHz或24.576MHz具体由CSEL引脚决定。CFG11: SCKO1输出低频组18.432MHz或12.288MHz具体由CSEL引脚决定。CFG1与CSEL的联合真值表CFG1 (寄存器)CSEL (Pin 12)SCKO1 输出频率 (当fS组为48kHz时)0低 (LOW)36.864 MHz0高 (HIGH)24.576 MHz1低 (LOW)18.432 MHz1高 (HIGH)12.288 MHz这个功能为系统设计提供了极大的灵活性。例如你可以通过软件CFG1在36.864MHz和24.576MHz之间选择同时保留一个硬件引脚CSEL作为板级配置选项让同一块硬件可以适配不同频率需求的后续级芯片。6. 关键参数解读与选型设计考量6.1 时钟抖动Jitter性能与环境因素抖动是衡量时钟质量的核心指标。PLL1707/1708标称的典型抖动为50psRMS。但必须注意这个值是在特定条件下测得的27MHz晶体振荡、默认频率设置、测量引脚负载电容20pF。影响抖动的主要因素及应对策略负载电容CL如图2所示负载电容增大会导致抖动显著增加。务必最小化时钟输出走线的负载。如果驱动多个器件或长走线必须使用时钟缓冲器如74HC125、专用时钟驱动器。数据手册明确建议“通过缓冲器驱动时钟输出”。电源电压VCC如图3所示在推荐的3.3V附近抖动对电压变化相对不敏感。但仍需保证电源干净纹波小。环境温度TA如图4所示在-25°C到85°C的工作范围内抖动有轻微变化约±10ps。对于宽温应用需留有一定余量。采样频率fS如图1所示不同输出时钟在不同采样率下的抖动略有差异。SCKO0和SCKO1的抖动普遍略高于SCKO2和SCKO3在设计中对时钟要求最严格的电路如高性能DAC的主时钟应优先考虑使用SCKO2或SCKO3。6.2 建立时间与功耗管理上电时间Power-up Time从施加电源到所有时钟输出稳定典型值3ms最大6ms。系统上电复位POR电路应保证在此时序后再释放下游芯片的复位。频率切换稳定时间Settling TimePLL1707为150ns最大PLL1708为300ns最大。在软件切换采样率后需要等待这个时间再进行音频数据传输。对于PLL1708在写入模式寄存器后延迟1μs再操作音频器件是稳妥的做法。功耗在3.3V供电、48kHz采样率、所有输出使能且无负载条件下典型工作电流为19mA最大25mA功耗约63-90mW。在掉电模式下电流降至550μA以下。对于电池供电设备合理使用PLL1708的软件关断功能可以显著节能。6.3 封装与热设计芯片采用20引脚SSOP封装150mil宽度。其热阻θJA为150°C/W。在最大功耗90mW、最高环境温度85°C时结温温升约为0.09W * 150°C/W 13.5°C结温为98.5°C远低于150°C的极限值热设计压力很小。但在密闭空间或多芯片密集布局时仍需保证一定的空气流通。7. 典型应用电路设计与调试经验7.1 为DVD播放器设计时钟树假设我们要设计一个支持CD、DVD-Audio和MPEG音频的播放器。主时钟源使用一个高精度的27MHz温补晶振TCXO或普通晶振连接在XT1和XT2之间搭配22pF的负载电容根据晶体规格微调。电源使用一颗独立的LDO如AMS1117-3.3为PLL1707供电输入来自主板5V输出端并联10μF电解和0.1μF陶瓷电容。控制由于播放器功能固定选用PLL1707。FS1/FS2连接到主控芯片的GPIO用于在CD44.1kHz和DVD48kHz模式间切换。SR引脚接地始终使用标准采样率。CSEL根据后端DAC需求设定。输出分配SCKO0 (33.8688MHz) - CD-DSP芯片。SCKO1 (36.864MHz) - 杜比数字/MPEG音频解码器。SCKO2 (256fs) - 主立体声DAC如PCM1794的系统时钟。SCKO3 (384fs) - 多声道DAC或辅助音频处理器。MCKO1/2 - 视频解码芯片的27MHz时钟输入。PCB布局晶振和负载电容紧贴XT1/XT2引脚放置下方保持完整地平面周围用接地过孔包围。所有0.1μF退耦电容的GND端直接打过孔到地层电源端走线尽量短粗。六路时钟输出走线应等长非必须但最重要的是避免相互平行长距离走线特别是高频的SCKO0/1与相对低频的SCKO2/3之间最好用地线或电源线隔离。如果空间允许使用“蛇形走线”增加间距。时钟线终端是否串联电阻对于短距离5cm、负载单一的走线通常不需要。如果驱动多个负载或走线较长可在输出端串联一个22-100欧姆的小电阻靠近芯片放置以抑制反射。7.2 为数字音频处理板设计可编程时钟在一个基于FPGA或高性能DSP的音频处理平台上需要灵活产生多种采样率的时钟。芯片选型选择PLL1708利用其串行控制实现软件可配置。接口将MS、MC、MD连接到主控MCU的任意三个GPIO或使用SPI接口将MS作为CSMC作为SCKMD作为MOSI。初始化序列上电后等待至少10ms远大于6ms的上电时间。通过串行接口写入默认配置例如使能所有输出设置48kHz标准速率。如果需要根据音频流的采样率信息动态计算并写入新的模式寄存器值。时钟切换时的音频处理在改变采样率前应通过软件静音或关闭音频编解码器等待PLL稳定300ns后再重新初始化音频接口并取消静音。这样可以避免在频率切换瞬间产生爆音或数据错误。7.3 调试常见问题与解决方法问题无时钟输出或输出频率不对。检查电源和地测量所有VCC/VDD引脚是否为稳定的3.3V所有GND引脚是否接地良好。检查主时钟用示波器测量XT1引脚是否有27MHz正弦波晶体模式或方波外部时钟模式。振幅是否足够典型1Vpp以上如果使用晶体检查负载电容值是否正确。检查控制引脚电平对于PLL1707确认FS1/FS2/SR/CSEL的电平是否符合预期没有浮空。对于PLL1708确认上电后是否成功写入了寄存器。检查输出使能对于PLL1708确认CE[6:1]寄存器位是否已使能对应时钟输出。问题时钟抖动过大导致音频有杂音或信噪比下降。测量电源纹波用示波器交流耦合档检查VCC和VDD引脚上的高频噪声是否过大。加强退耦或考虑为PLL芯片使用独立的LDO。检查负载断开下游负载直接测量芯片输出引脚的抖动。如果此时抖动正常说明问题在负载或走线上。务必使用时钟缓冲器驱动多个负载。检查晶体质量劣质或参数不匹配的晶体会引入很大抖动。尝试更换一个更高品质的27MHz晶体。检查PCB布局时钟线是否与开关电源、数字总线等噪声源靠得太近是否遵循了上述的布局规则问题PLL1708串行控制不响应。检查时序用逻辑分析仪或示波器抓取MS、MC、MD的波形严格对照数据手册的时序图检查建立时间、保持时间、片选脉冲宽度是否满足要求。检查上电顺序确保在操作串行接口前芯片电源和主时钟已经稳定。检查引脚映射确认MS、MC、MD没有接错。MD是数据输入对于PLL1708是单向的。最后一点心得PLL1707/1708虽然是一颗老芯片但其设计非常经典和稳健。在当今很多追求性价比或需要兼容老设计的音频、视频产品中它依然是时钟方案的优秀选择。吃透它的数据手册理解其背后的设计逻辑再结合严谨的硬件设计和调试就能让它稳定可靠地工作为你的系统提供一颗高质量的“心脏”。