10M~1.4GHz任意可编程时钟Si570/571实操指南:我踩过的坑和避坑技巧

电子说

1.4w人已加入

描述

10M~1.4GHz任意可编程时钟Si570/571实操指南:我踩过的坑和避坑技巧

最近在做10G以太网测试设备的时钟方案,之前用固定XO+外置PLL的组合,jitter始终卡着指标线,换了3款SAW振荡器都不理想,偶然翻到Skyworks这颗Si570/571,用下来简直是高速时钟需求的神器,整理下datasheet里的干货和我实际调试踩的坑,给大家做参考。

文件下载:570BCC000803DG.pdf


为什么我选了Si570/571?核心优势秒打传统方案

最开始吸引我的就是它的「全频率可编程」特性,不用备一堆不同频率的XO,一颗搞定所有需求,实际用下来几个核心优势确实打动人:

  1. 省BOM省空间:10MHz~1.4GHz任意频率可编程,0.09ppb的分辨率,我之前项目备了7颗不同频率的XO,现在一颗Si570全搞定,BOM直接少了6个料号,PCB省了近1平方厘米的空间。
  2. 稳定性甩SAW振荡器3条街:第三代DSPLL架构,内部用固定晶振做参考,温漂最低±7ppm,年老化只有±3ppm,20年总漂移才±10ppm,比SAW-based的振荡器频率稳定性高3倍,工业场景用着放心。
  3. jitter性能拉满:实测156.25MHz LVPECL输出,12kHz~20MHz带宽下RMS jitter只有0.3ps,完全满足OC-192、10GbE这类高速协议的要求,比我之前用的SAW+PLL方案的1ps jitter好太多。
  4. 接口全兼容:支持LVPECL、LVDS、CML、CMOS四种输出电平,供电1.8/2.5/3.3V可选,不用改外围电路就能兼容不同后端芯片的电平需求。

适合的场景就不用多说了:光模块、高速测试仪器、10G/25G通信设备、ATE、xDSL局端设备都能直接用。


关键参数划重点,选型别踩坑

datasheet参数很多,我把选型时必须看的几个核心参数拎出来,不用翻30页文档:

1. 频率范围注意分级

  • 差分输出(LVPECL/LVDS/CML):最高1417.5MHz,分三个等级:
    • A级:10~945MHz + 970~1134MHz + 1213~1417.5MHz,全覆盖
    • B级:10~810MHz
    • C级:10~280MHz
  • CMOS输出:最高只到160MHz,别买错。

    2. 稳定性&调谐参数按需选

  • Si570(固定频率XO):温漂分三档±7ppm/±20ppm/±50ppm,对应总稳定性±20/31.5/61.5ppm,对频率精度要求高选7ppm档就行。
  • Si571(VCXO):调谐斜率Kv可选33~356ppm/V,注意:要低jitter就选满足APR要求的最小Kv值,Kv越大jitter越高,别盲目选大的。

    3. 功耗比你想的低

    LVPECL满负载130mA,CML 117mA,LVDS 108mA,CMOS不到100mA,比传统SAW+PLL方案省近一半功耗,电池供电的仪器也能用。


编程实操避坑指南,全是我踩过的血泪教训

这部分是最容易出问题的,我前前后后踩了4个坑,整理了标准操作流程: 首先记住核心公式:f_out = (f_xtal * RFREQ) / (HSDIV * N1) ⚠️ 重点预警:每颗芯片的内部f_xtal都有±2000ppm的离散偏差,必须从当前寄存器读值计算实际f_xtal,绝对不能直接用标称的114.285MHz,我一开始直接用标称值算,输出频率偏了2ppm,卡了半天指标。

场景1:小频率调整(±3500ppm以内,比如148.35M改148.5M)

这种场景不需要改分频器,只改RFREQ就能实现无缝切换,操作流程:

  1. 读当前RFREQ寄存器值(注意:7ppm温漂的Si570读13~18寄存器,20/50ppm读7~12寄存器,Si571全读7~12)
  2. 按公式RFREQ_new = RFREQ_current * (f_out_new / f_out_current)计算新的RFREQ值,注意要用38位精度计算,别丢小数位
  3. 先写Freeze M位(寄存器135 bit5 = 1),再写入新的RFREQ值,最后把Freeze M位清0 ⚠️ 坑点:不写Freeze M的话,写多字节RFREQ的过程中频率会跳变,后端电路可能误锁,我一开始没加这个操作,每次改频率交换机都会断连一次,加了之后完全无缝。

场景2:大频率调整(超过±3500ppm)

这种需要改分频器HSDIV、N1和RFREQ,会有10ms左右的输出中断,对 glitch 敏感的后端电路要做复位处理,操作流程:

  1. 读当前RFREQ、HSDIV、N1寄存器,计算出当前芯片的实际f_xtal
  2. 根据目标频率选HSDIV和N1:HSDIV只能是4/5/6/7/9/11,N1只能是1或者偶数,保证f_DCO = f_out HSDIV N1落在4.85~5.67GHz区间,尽量选大的HSDIV+小的N1,功耗更低
  3. 计算新的RFREQ值:RFREQ_new = f_DCO_new / f_xtal,注意RFREQ是38位,10位整数+28位小数,转HEX的时候要左移28位,别算错位数
  4. 先冻DCO:寄存器137 bit4 = 1,写入所有新的寄存器值
  5. 10ms以内清Freeze DCO位,同时置NewFreq位(寄存器135 bit6 = 1),超过10ms会超时恢复默认值,我调试的时候中间加了个打印,超时了查了半天问题才看到这个要求。

硬件设计注意点,看完少打一次板

  1. 引脚差异别搞混:Si570的1脚是NC,Si571的1脚是VC控制电压输入,VC输入要加RC滤波(比如1kΩ+0.1μF),不然会引入jitter
  2. 输出匹配:差分输出端接100Ω终端电阻,尽量靠近接收端放,CMOS输出的话5脚悬空别接
  3. I2C的SDA/SCL要加4.7k~10kΩ上拉电阻,支持400kHz高速模式
  4. 电源滤波:VDD脚就近放0.1μF陶瓷电容+10μF电解电容,DSPLL的电源噪声抑制很强,但做好滤波jitter还能再降一点
  5. 散热:热阻84.6℃/W,常温下满负载温升才10℃左右,不用额外加散热,工业-40~85℃环境完全没问题

选型速查表,不用翻datasheet

型号 类型 供电可选 输出电平 温漂可选 调谐斜率Kv 频率等级
Si570 可编程XO 3.3/2.5/1.8V LVPECL/LVDS/CML/CMOS ±7/20/50ppm - A:1.4G/B:810M/C:280M
Si571 可编程VCXO 3.3/2.5/1.8V 同上 ±20/50/100ppm 33~356ppm/V 同上

补充:OE引脚电平看型号第一位选项码,A-L是高电平有效,M-W是低电平有效,按需选就行。


最后总结

这颗料我用了3个月下来,稳定性拉满,jitter完全满足高速通信的要求,唯一的缺点就是编程的时候坑有点多,只要避开上面说的几个点,用起来非常香,尤其是需要多频率的场景,一颗顶一堆XO,BOM和PCB空间都省了。

你们有没有用过这颗料?遇到过什么奇葩问题?评论区聊聊~

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分