PLL1707/1708时钟发生器:音视频系统时钟树设计与抖动控制实战
1. 项目概述与核心价值在数字音视频系统的设计里时钟信号的质量直接决定了最终输出的音质和画质。无论是DVD播放器、硬盘录像机还是数字机顶盒其核心处理芯片——比如MPEG-2解码器、音频DAC数模转换器和ADC模数转换器——都需要一个极其稳定、纯净的时钟信号来驱动。这个时钟信号的“纯净度”专业上我们称之为“抖动”Jitter它指的是时钟边沿在时间轴上的微小偏移。过高的抖动会直接导致音频失真、产生可闻的噪声或者在视频中引入图像瑕疵。早年设计这类系统时工程师们常常面临一个头疼的问题视频处理部分需要一个标准的27MHz时钟这是MPEG-2系统流的基准时钟而音频部分则需要一系列与音频采样率如44.1kHz, 48kHz及其倍数严格相关的系统时钟例如256倍或384倍的采样频率。如果为每个时钟都单独配备一颗晶振和配套电路不仅成本高昂、占用宝贵的PCB面积更重要的是多个独立的时钟源之间会存在微小的频率偏差PPM误差难以实现完美的同步这在高保真音频和高质量视频系统中是不可接受的。这时锁相环PLL时钟发生器就成了救星。它的核心思想是“以一代多同步生成”。PLL1707和PLL1708就是德州仪器TI在21世纪初为这类应用量身打造的两颗经典芯片。它们都基于同一颗晶圆Die电气特性完全一致最大的区别在于控制接口PLL1707采用简单的并行引脚控制适合对成本敏感、功能固定的设计PLL1708则提供了三线串行接口允许微控制器动态配置灵活性更高。它们共同的核心任务就是接受一个外部的27MHz主时钟可以是晶振也可以是外部时钟源通过内部精密的双PLL电路锁相并倍频/分频生成多达四个独立的、低抖动的系统时钟输出同时还能提供两个缓冲后的27MHz主时钟输出。这种设计的价值是显而易见的。首先它实现了系统时钟的单一源化所有音频时钟都源于同一个视频主时钟从根本上消除了时钟间的PPM误差确保了音画同步的精确性。其次它提供了卓越的抖动性能典型值低至50皮秒ps这对于驱动当时乃至现在的高性能音频编解码器都绰绰有余。最后它极大地简化了物料清单BOM和PCB布局一颗芯片加少量外围电容就能替代多个晶振、振荡器和时钟缓冲器降低了整体系统成本和设计复杂度。对于从事消费电子、专业音频设备或嵌入式多媒体系统开发的工程师来说深入理解这类芯片的原理和应用是优化系统时钟架构、提升产品性能的必修课。2. 芯片架构与核心原理深度解析要玩转PLL1707/1708不能只停留在看引脚定义和真值表的层面必须深入其内部架构理解它如何将单一的27MHz时钟“变”出那么多不同频率的、稳定的输出。这背后的核心是一个精心设计的双锁相环Dual-PLL系统。2.1 双PLL协同工作原理从官方框图可以看出芯片内部包含两个独立的PLLPLL1和PLL2。这并不是简单的冗余而是为了实现频率覆盖和灵活配置。PLL1主要负责生成SCKO1和SCKO0的时钟。SCKO0是一个固定的33.8688MHz时钟这个频率是44.1kHz采样率的768倍768 * 44.1kHz 33.8688MHz。为什么是44.1kHz这是CD-DA光盘数字音频的标准采样率。PLL1通过其内部的压控振荡器VCO和分频器链将27MHz的输入参考时钟锁定并倍频/分频到这个精确的频率。同时PLL1还负责生成SCKO1其频率可通过配置选择为24.576MHz512 * 48kHz或36.864MHz768 * 48kHz这是针对48kHz采样率家族DVD、数字广播常用的时钟。PLL2则是一个更“通用”的引擎它用于生成SCKO2和SCKO3。这两个时钟的频率不是固定的而是根据我们设定的采样频率fS动态变化的。SCKO2输出256倍采样频率256 * fSSCKO3输出384倍采样频率384 * fS。例如当fS设置为48kHz时SCKO2输出12.288MHzSCKO3输出18.432MHz。PLL2内部包含可编程的M和N计数器通过改变分频比来适应从16kHz到96kHz的各种采样率。这种双PLL架构的优势在于频率规划的隔离与优化。固定频率的时钟和可变频率的时钟由不同的PLL产生减少了相互之间的干扰也简化了内部滤波器的设计。两个PLL共享同一个27MHz的参考时钟保证了所有输出时钟在长期频率精度上的一致性零PPM误差但各自的反馈环路独立可以针对各自的输出频率范围进行优化以达成最低的抖动性能。2.2 关键性能指标解读抖动、建立时间与精度数据手册里罗列了很多参数但对于实际设计我们需要重点关注以下几个核心指标时钟抖动Jitter这是衡量时钟信号“纯净度”的金标准。手册给出在典型条件下27MHz晶振默认设置负载电容20pFSCKO2/3的抖动典型值为50psRMS。这个值是什么概念对于16-bit/44.1kHz的CD音频一个采样周期约22.7微秒50ps的抖动带来的时序误差微乎其微远低于高端音频DAC的要求。即使是对于24-bit/192kHz的高解析度音频这个抖动水平也完全在可接受范围内。但要注意抖动性能会随着负载电容增大、电源噪声增加或温度变化而恶化。图1-4的性能曲线清晰地展示了这一点负载电容从0pF增加到20pF某些输出的抖动可能从45ps增加到65ps。因此在PCB布局时必须尽量减少时钟输出走线的负载和串扰。频率建立时间Settling Time当你通过控制引脚改变采样频率设置时PLL需要时间重新锁定并稳定在新的频率上。PLL1707的建立时间最长为150nsPLL1708为300ns。这个时间非常短对于音频应用在切换曲目或采样率时可以做到几乎无感的时钟切换。图10和图11的时序图展示了这个瞬态过程在控制信号变化后输出时钟会经历一个短暂的过渡区域然后稳定在新的频率上。输出时钟精度芯片宣称“零PPM误差”。这里的“零PPM”是相对于输入参考时钟而言的。因为所有输出时钟都是由27MHz参考时钟通过锁相环数学推导出来的只要参考时钟是准确的输出时钟在频率上就与参考时钟保持完美的比例关系没有长期累积误差。但这不意味着输出时钟绝对准确其绝对精度完全取决于你提供的27MHz参考时钟源晶振本身的精度。电源与功耗芯片采用单3.3V供电典型工作电流在25mA左右功耗约83mW。它还有一个低功耗模式仅PLL1708可通过软件控制在此模式下动态电路停止工作电流可降至550μA以下非常适合便携或待机设备。设计时模拟电源VCC和三个数字电源VDD1-3虽然引脚分开但TI强烈建议在PCB上使用统一的电源平面和地平面仅通过磁珠或小电阻进行轻微隔离以避免因电位差引起的闩锁Latch-up风险。每个电源引脚都必须就近放置高质量的退耦电容典型值为一个10μF的钽电容或电解电容搭配一个0.1μF的陶瓷电容。理解这些核心指标和架构是我们进行后续硬件设计、PCB布局和软件配置的基础。它让我们知道这颗芯片的能力边界在哪里以及在什么条件下它能发挥出最佳性能。3. 硬件设计、引脚配置与PCB布局实战拿到一颗20引脚SSOP封装的PLL1707/1708第一步就是看懂引脚图并规划好它在电路板上的“家”。这个环节的细节处理直接决定了最终时钟信号的质量。3.1 引脚功能详解与连接方案芯片的引脚可以分为几大类电源/地、时钟输入、时钟输出、控制引脚。我们结合典型应用电路来逐一分析电源与地VCC, VDD1-3, AGND, DGND1-3尽管芯片有独立的模拟地和数字地引脚但在数据手册的典型连接图Figure 15和文字描述中TI明确建议在PCB上使用一个公共的地平面。我的经验是在芯片正下方铺设一个完整的地平面所有GND引脚都通过短而粗的过孔直接连接到这个地平面。模拟部分VCC、AGND和数字部分VDD1-3、DGND1-3的电源可以在靠近芯片的位置通过磁珠或0欧姆电阻汇合。绝对不要在芯片下方将地平面分割这会引起地弹噪声严重恶化抖动性能。每个电源引脚到地之间的0.1μF陶瓷退耦电容必须尽可能靠近引脚放置走线要短而粗这是抑制高频噪声的生命线。主时钟输入XT1, XT2这是整个系统的“心跳”来源。有两种接入方式晶体振荡器模式在XT1和XT2之间连接一个27MHz的基频石英晶体并搭配两个负载电容C1和C2通常各为15pF至33pF具体值需参考晶体规格书。这种方式成本低但需要仔细调整负载电容以匹配晶体的负载电容CL要求确保起振可靠且频率准确。外部时钟模式如果你系统里已经有其他芯片如主控SOC产生了高质量的27MHz时钟可以直接将其连接到XT1引脚。此时XT2引脚必须悬空OPEN。这种方式时钟质量取决于源端但省去了晶体和匹配电路。系统时钟输出SCKO0-3, MCKO1-2这是芯片的“产出”。SCKO0-3是供给音频子系统DAC, ADC, DSP的MCKO1-2是缓冲后的27MHz时钟可以反馈给视频处理芯片或其他需要27MHz时钟的模块。这里有一个至关重要的设计原则为了保持优异的抖动性能必须尽量减少这些输出引脚上的负载电容。数据手册的注释(5)明确建议如果后级负载较重例如需要驱动多个芯片应该在时钟输出端先接入一个时钟缓冲器如TI的CDC系列、ON Semi的NB系列再由缓冲器去驱动负载。直接驱动大负载会显著增加抖动。在PCB布局时时钟输出走线应尽量短并与其他高速信号特别是数字数据线保持距离必要时用地线进行包络隔离Guard Pattern。控制引脚PLL1707: FS1, FS2, SR, CSEL / PLL1708: MD, MC, MS, CSELPLL1707并行模式配置简单直接。FS1、FS2选择采样频率组32k, 44.1k, 48kSR选择采样率标准或倍速CSEL选择SCKO1的输出频率。这些引脚内部都有下拉电阻悬空时为低电平。通常直接通过跳线或连接到处理器的GPIO进行设置。PLL1708串行模式MD数据、MC时钟、MS片选构成一个简单的三线串行接口。通过这个接口可以写入16位的配置寄存器实现更灵活的控制包括单独开关每个时钟输出、进入低功耗模式、以及选择PLL1707所不具备的“半采样率”16k, 22.05k, 24k功能。CSEL引脚在串行模式下依然有效它与配置寄存器中的CFG1位共同决定SCKO1的最终频率。3.2 PCB布局的黄金法则与避坑指南基于多年的板级设计经验围绕时钟芯片的PCB布局我总结了几条必须遵守的“军规”电源退耦是重中之重除了每个电源引脚旁的0.1μF陶瓷电容建议在电源入口处再增加一个10μF的钽电容或陶瓷电容。所有电容的接地端到芯片地引脚的回路要尽可能短且宽。地平面完整性在芯片下方和周围必须保证地平面的完整和连续。避免信号线在地平面上切割出狭长的缝隙这会导致回流路径不畅增加噪声。时钟线“特权”处理将SCKO0-3和MCKO1-2视为板上最敏感的信号线。它们应走线在表层并尽量短直。如果必须换层务必在换层孔旁边放置接地过孔为返回电流提供最短路径。远离开关电源、数据总线和任何可能产生噪声的源。晶体布局要紧凑如果使用晶体将其放置在紧靠XT1和XT2引脚的位置。负载电容C1和C2要紧挨着晶体和芯片引脚走线对称且短。晶体下方和周围要铺铜并接地形成一个局部的屏蔽。控制信号隔离FS1/FS2/SR或MD/MC/MS这些控制线虽然频率不高但它们的跳变可能会通过耦合干扰敏感的时钟线。在布局时让它们与时钟输出线保持一定距离不要平行长距离走线。遵循这些原则你设计出来的电路板其时钟性能就有了最基本的保障。接下来我们就要通过具体的配置让芯片输出我们想要的时钟信号。4. 控制模式详解与配置实战PLL1707和PLL1708虽然核心相同但控制哲学截然不同。一个像拨码开关简单直接另一个像可编程控制器灵活强大。根据你的系统需求选择合适的型号是项目成功的第一步。4.1 PLL1707并行控制模式硬件工程师的“快刀”PLL1707的设计理念就是极简。它没有寄存器没有通信协议所有功能状态都通过4个引脚的电平高低来决定。这非常适合功能固定、不需要运行时更改配置的应用比如一台只播放标准CD和DVD的播放器。其控制逻辑完全由真值表定义采样频率选择FS1, FS2FS2 (Pin6)FS1 (Pin5)采样频率 (fS)低 (0)低 (0)48 kHz低 (0)高 (1)44.1 kHz高 (1)低 (0)32 kHz高 (1)高 (1)保留勿用这个选择决定了SCKO2和SCKO3的输出频率基数。例如选择48kHzSCKO2输出25648k12.288MHzSCKO3输出38448k18.432MHz。采样率选择SRSR (Pin7)采样率对SCKO2/3的影响低 (0)标准 (Standard)输出频率 256/384 * fS高 (1)倍速 (Double)输出频率 256/384 * (2 * fS)举例当FS[2:1]选择44.1kHzSR0时SCKO211.2896MHzSCKO316.9344MHz。当SR1时SCKO222.5792MHzSCKO333.8688MHz。注意PLL1707不支持“半采样率”Half模式。SCKO1频率选择CSELCSEL (Pin12)SCKO1 输出频率 (当fS48kHz时)低 (0)36.864 MHz (768 * 48k)高 (1)24.576 MHz (512 * 48k)这里有一个非常重要的细节无论FS1/FS2选择32k、44.1k还是48kCSEL引脚只影响当系统工作在48kHz采样频率组时SCKO1的输出。如果系统选择的是44.1kHz或32kHzSCKO1的输出是固定的33.8688MHz768*44.1k吗不数据手册明确指出SCKO1的频率选择是“for 48 kHz”。在我的实测和早期应用笔记中当系统设置为44.1kHz或32kHz时SCKO1引脚实际上没有时钟输出或输出无效。因此SCKO1是专为48kHz音频系统如DVD、数字广播服务的。SCKO0固定33.8688MHz则是为44.1kHz系统如CD服务的。这种设计巧妙地用两个固定输出来覆盖两大主流音频体系。配置示例设计一个DVD播放器需要支持48kHz和96kHz倍速的音频播放。我们可以将FS1、FS2接地选择48kHzCSEL接高电平选择24.576MHz给某些DACSR引脚连接到一个GPIO。当播放48kHz音频时GPIO输出低电平当播放96kHz音频时GPIO输出高电平。芯片会在150ns内完成时钟切换。4.2 PLL1708串行控制模式软件工程师的“瑞士军刀”PLL1708将控制权交给了软件。通过MD数据、MC时钟、MS片选这三根线你可以写入一个16位的配置寄存器实现精细化的控制。这适合需要支持多种音频格式如MP3、AAC、高清音频、且可能在运行时动态切换的应用比如多功能硬盘录像机或数字音频工作站。串行通信的时序要求并不严苛MC时钟周期最小100ns即最高10MHz用任何一款MCU的SPI或GPIO模拟都很容易实现。图14的时序图是关键需要关注建立时间t(MDS)和保持时间t(MDH)均为40ns。16位寄存器的结构如下高位D15在先0, 1, 1, 1, 0, 0, CE6, CE5, CE4, CE3, CE2, CE1, SR2, SR1, FS2, FS1D15-D10 (固定头)必须设置为0,1,1,1,0,0这是芯片的识别码。D9-D4 (CE6-CE1: 时钟输出使能)这6位分别控制6个时钟输出MCKO2, MCKO1, SCKO1, SCKO3, SCKO2, SCKO0的开关。1为使能0为关闭。一个重要的功能是当CE6-CE1全部为0时芯片进入低功耗模式Power Down此时PLL和振荡器停止工作静态电流小于550μA但串行控制接口依然有效可以被唤醒。D3-D2 (SR2, SR1: 采样率选择)SR2SR1采样率00标准 (Standard)01倍速 (Double)10半速 (Half)11保留“半速”模式是PLL1708独有的功能可以产生16kHz, 22.05kHz, 24kHz的采样率时钟用于一些低码率或语音应用。D1-D0 (FS2, FS1: 采样频率选择)同PLL1707选择32k, 44.1k, 48k。此外PLL1708还有一个独立的配置寄存器Configuration Register用于设置SCKO1的分频模式。其格式为0,1,1,0,1,1, 0,0,0,0,0, CFG1, 0,0,0,0。只有CFG1位有意义CFG10SCKO1输出高频模式36.864MHz/24.576MHz。CFG11SCKO1输出低频模式18.432MHz/12.288MHz。 最终SCKO1的频率由CFG1寄存器和CSEL硬件引脚共同决定提供了额外的灵活性。软件配置流程示例假设MCU GPIO模拟拉低MS片选引脚。将16位模式寄存器数据从高位D15到低位D0依次放到MD线上并在MC的每个上升沿锁存数据。注意满足40ns的建立和保持时间。16位数据发送完毕后拉高MS引脚数据被写入芯片内部寄存器时钟输出随即更新。如果需要配置SCKO1分频再重复上述过程写入配置寄存器。这种串行控制方式使得你可以在系统启动时初始化时钟也可以在播放不同格式音频文件时动态切换时钟配置甚至关闭不用的时钟输出以节省功耗非常灵活。5. 在MPEG-2音视频系统中的应用实例与调试心得理论最终要服务于实践。PLL1707/1708最典型的应用场景就是围绕MPEG-2标准的各种消费电子产品。我们以一台早期的DVD播放器为例拆解其时钟系统架构并分享一些调试中容易踩的“坑”。5.1 DVD播放器系统时钟树设计在一台典型的DVD播放器中主控芯片如MediaTek或联发科的方案会从光盘或存储介质中解复用出MPEG-2视频流和音频流可能是PCM、AC-3或DTS。视频解码需要27MHz的系统时钟STC而音频解码和后续的DAC则需要与音频采样率同步的时钟。经典连接方案如下27MHz时钟源一颗高精度的27MHz温补晶振TCXO或普通晶振连接到PLL1707的XT1/XT2引脚作为整个时钟系统的源头。视频时钟路径PLL1707的MCKO1或MCKO2输出一个缓冲后的、低抖动的27MHz时钟直接提供给主控芯片的视频解码模块和MPEG-2系统时钟恢复电路。音频时钟路径SCKO0 (33.8688 MHz)直接供给负责CD-DA解码的DSP芯片因为CD的44.1kHz采样率需要这个频率的时钟。SCKO1 (24.576/36.864 MHz)供给DVD音频解码器支持AC-3, DTS和主音频DAC。对于支持96kHz高清音频的机型可以通过SR引脚选择倍速模式使SCKO2/3输出对应频率。SCKO2 (256fS) 和 SCKO3 (384fS)这两个时钟非常通用。SCKO2如12.288MHz for 48k可以供给音频ADC进行采样或者给一些需要主时钟MCLK的音频接口。SCKO3如18.432MHz for 48k则可以供给另一路DAC或者作为辅助时钟。控制逻辑主控芯片的GPIO根据当前播放的碟片类型CD或DVD和音频格式48k或96k控制PLL1707的FS1、FS2、SR、CSEL引脚动态切换时钟配置。通过这样一套设计整个播放器的视频和音频时钟都源于同一个高质量的27MHz源并由一颗芯片统一管理实现了最优的集成度和性能。5.2 常见问题排查与实战技巧即使原理图正确PCB也精心布局在实际调试中仍可能遇到问题。以下是我在项目中总结的几个典型问题及其解决方法问题时钟输出不稳定或无输出。检查电源和地这是最常见的原因。用示波器仔细测量每个电源引脚VCC, VDD1-3的电压确保在3.3V±0.3V范围内并且纹波和噪声足够小最好在50mVpp以内。同时检查地连接是否牢固芯片底部的地过孔是否足够。检查晶体振荡如果使用晶体模式用示波器探头使用10X档位以减少负载影响测量XT2引脚应该能看到一个干净的正弦波或近似方波幅度大约在1-2Vpp。如果不起振检查晶体型号是否正确27MHz基频并联负载电容CL匹配负载电容C1、C2的值是否合适通常15-33pF需根据晶体规格微调。检查控制引脚状态确认FS1、FS2、SR、CSEL对于PLL1707或串行控制时序对于PLL1708处于正确的电平或数据。一个悬空或中间电平的控制引脚可能导致内部状态机混乱。问题音频播放有周期性“噼啪”噪声或失真。首要怀疑对象是时钟抖动用高带宽示波器至少200MHz以上的抖动测量功能或者专用的相位噪声分析仪测量SCKO2/3的时钟抖动。如果实测抖动远大于数据手册的典型值如200ps问题很可能出在PCB布局或电源上。排查电源噪声在芯片的电源引脚处并联一个更大的电容如1μF陶瓷电容进行测试看噪声是否改善。检查板上开关电源的噪声是否耦合到了时钟芯片的电源轨。检查负载确认时钟输出是否直接驱动了过重的容性负载。用示波器测量时钟输出波形看上升/下降沿是否变得圆滑、缓慢。如果是必须在输出端增加时钟缓冲器。问题切换音频格式时出现“噗”声或短暂无声。检查时钟建立时间当通过SR或串行命令切换采样率时时钟输出会有最多300ns的过渡期。确保你的音频编解码器或DAC在这段时间内处于静音Mute状态或者其内部有足够的锁相环保持时间。有些高级的音频芯片有“时钟检测和自动静音”功能需要正确配置。控制信号同步确保在切换时钟配置时音频数据流也做了相应的处理如清空FIFO、重置解码器避免数据与时钟不同步。关于PLL1708串行通信失败时序是关键用逻辑分析仪抓取MD、MC、MS三根线的时序严格对照图14检查建立时间t(MDS)和保持时间t(MDH)是否满足最小40ns的要求。如果MCU速度过快需要在IO操作间增加微小延时。注意上电顺序芯片有内部上电复位电路需要约1024个主时钟周期约38μs完成初始化。建议在系统电源稳定后延迟至少1ms再开始进行串行配置。一个重要的经验技巧在绘制原理图时为所有控制引脚FS1/FS2/SR/CSEL 或 MD/MC/MS预留上拉或下拉电阻的位置例如10kΩ。即使你计划用MCU GPIO直接驱动预留这些电阻也能在调试时帮你强制引脚到一个确定状态排除软件配置错误的干扰。对于XT1引脚如果使用外部时钟模式最好串联一个33-100Ω的小电阻可以起到阻尼和隔离作用改善信号完整性。PLL1707/1708作为一款经典的时钟发生器其设计思想至今仍不过时。理解它不仅能帮你搞定老设备的维护和仿制其背后的时钟树设计、抖动控制、PCB布局原则对于你设计任何包含高速时钟的现代数字系统都有着宝贵的借鉴意义。时钟是数字系统的脉搏把脉搏调稳了整个系统才能健康地运行。