Lecture_PLL11

合集下载

LMS Virtual.Lab 11 安装方法

LMS Virtual.Lab 11 安装方法

LMS b R11安装方法LMS b第11版已经发布!这个版本又是LMS发展上的一个里程碑!自从当年叱咤风云的LMS SYSNOISE 5.6升级为LMS b以来,LMS b中的声学功能飞速发展,例如最新的FEM—PML技术、FEM—AML 技术(声学有限元模块)以及Fast Multipole BEM多极边界元技术、时域边界元技术(声学边界元模块)等一直处于世界最先进地位!与此同时,现在的LMS b已经不再是一个独立的声学软件,而是一个功能非常全面的大平台,包括了几何建模、网格划分、多体动力学分析、结构有限元分析(包括各种动态和静态分析)、疲劳分析、声学分析、自动优化分析以及将CAE分析与试验完美结合的混合动态建模功能,用户完全可以在LMS b这个大平台里完成项目的全面分析!此外,对于高级用户,LMS b还能够提供完美的定制以及二次开发,可以说LMS b完全能够满足各种用户的各种技术需求!由于使用LMS b进行声学分析的朋友较多,所以在安装教程开始前,先将LMS b 11版本中声学模块的新功能做一个简介,完整的LMS b 11版本简介可以查看本安装教程最后的附录部分。

bR11声学新特性:1、内嵌结构求解器支持各类结构有限单元和材料参数属性,具有求解复杂结构模态、响应、声-振耦合等分析功能,结合模态基声-振耦合求解器,能够全方位考虑各类强、弱耦合结构声学模型细节,为用户建立和求解各种声学模型提供完备的求解方案和工具,是当前求解声学问题最先进、最完备、最可靠的排他性工具。

2、极大增强了可压、不可压流体噪声模型处理功能,扩展间接边界元、有限元计算表面偶极子声源,优化了边界条件处理,使得求解效率和精度达到了极致,是当前流体声学求解问题的首选工具;进一步增强了温度梯度属性、剪切层声折射等非均质介质处理能力,极大提高了超高马赫数(航空发动机喷流)声学问题的求解效率和精度,是当前超高马赫数流体声学问题求解的最先进工具。

PL11-Q中文资料

PL11-Q中文资料

Exceptionally reliable general purposerelayLong life (minimum 100,000 electricaloperations) assured by silver contacts Built-in operation indicator (mechanical,LED), diode surge suppression, Varistorsurge suppressionThe contact operation can be easily checked by mechanical indicator and/orpush-to-test button optionsConforms to CENELEC standardsVDE approved versions availableGeneral Purpose RelayMKOrdering InformationTo Order: Select the part number and add the desired coil voltage rating (e.g., MK3P5-S-).Note: 1.Reverse polarity versions available on DC coil types. Consult your OMRON representative for further information.2.VDE approved versions are available. Consult your OMRON representative for further information.Part numberMechanical Mechanical indicator TypeTerminal Coil Contact form indicator & push-to-test button Standard Plug-inAC/DCDPDT MK2P-I MK2P-S 3PDT MK3P-5-I MK3P-5-S LED indicatorDPDT MK2PN-I MK2PN-S 3PDT MK3PN-5-I MK3PN-5-S LED indicator and diode DC DPDT MK2PND-IMK2PND-S 3PDT MK3PND-5-I MK3PND-5-SLED indicator and varistor AC DPDT MK2PNV-I MK2PNV-S 3PDT MK3PNV-5-I MK3PNV-5-S Diode DC DPDT MK2PD-I MK2PD-S 3PDT MK3PD-5-I MK3PD-5-S VaristorACDPDT MK2PV-I MK2PV-S 3PDTMK3PV-5-IMK3PV-5-SACCESSORIES (Order separately)To Order: Select the appropriate part numbers for sockets, clips, and mounting tracks (if required) from the available types chart.Track mounted socketsPart number Relay type Socket Relay hold-down clip Mounting track/end plate SPDT PF083A-E PFC-A1PFP-100N or PFP-50N and DPDT PFP-M (end plate)3PDTPF113A-EPFC-A1PFP-100N or PFP-50N and PFP-M (end plate)2MKMKCOIL DATANote: 1.The rated current and coil resistance are measured at a coil temperature of 23C (73F) with a tolerance of 15% for DCrated current and +15%, -20% for AC rated current.2.The rated current is reference value.3.Performance characteristic data are measured at a coil temperature of 23C (73F).4.For models with the LED indicator built-in, add an LED current of approximately 0 thru 5 mA to the rated current.SpecificationsCONTACT DATAResistive load (p.f. = 1)Load 2 Pole 3 Pole Inductive load (p.f. = 0.4)Rated load10 A at 250 VAC 10 A at 120 VAC 7 A at 250 VAC10 A at 28 VDC 10 A at 28 VDC 10 A at 250 VACContact material Ag Carry current10 AMax. operating voltage 250 VAC, 250 VDC Max. operating current 10 AMax. switching capacity 2,500 VA 2,500 VA/1,250 VA (NO/NC contacts)1,750 VA280 W280 WMin. permissible load10 mA at 1 VDCRated RatedCoilCoil inductance Pick-up Dropout Maximum Powervoltage current (mA)resistance (Ref. value) (H)voltage voltage voltageconsumption (VAC)(at 60 Hz)()Armature OFFArmature ON % of rated voltage(mW)6360 3.90.04230.020180% max.30% min.110% max.Approx.1218016.30.32700.1666Approx.(at 60 Hz) 2.3 VA 2488.068.00.69400.3760 2.7 VA25% min.(at 60 Hz)5039.0338 3.195 1.530(at 50 Hz)Approx.11021.0124013.457.32 2.7 VA 12018.0157815.047.19(at 50 Hz)22011.0509049.7327.022409.2673758.6232.07Rated RatedCoilCoil inductance Pick-up Dropout MaximumPowervoltage current (mA)resistance (Ref. value) (H)voltage voltage voltageconsumption (VDC)(at 60 Hz)()Armature OFF Armature ON % of rated voltage(mW)625523.50.2060.10680% max.15% min.110% max.Approx.12126950.9630.449Approx. 1.5 W2456430 4.915 2.478 2.7 VA4829.5163016.68510.48711015.1730080.242.6AC DC Back connecting socketsPart numberRelay type Socket Relay hold-down clip SPDT PL08PLC-E DPDT PLE08-0PLC-10PL08-Q PLC-E 3PDTPL11PLC-E PLE11-0PLC-10PL11-QPLC-EACCESSORIES (continued)3MKMKCHARACTERISTICSContact resistance50 m max.Operate time AC: 20 ms max. DC: 30 ms max.Release time 20 ms max.Operating frequency Mechanical 18,000 operations/hourElectrical1,800 operations/hour (under rated load)Insulation resistance 100 M min. (at 500 VDC)Dielectric strength2,500 VAC, 50/60 Hz for 1 minute between coil and contacts1,000 VAC, 50/60 Hz for 1 minute between contacts of same poles, between terminals of the same polarity2,500 VAC, 50/60 Hz for 1 minute between current-carrying parts, noncurrent-carrying parts, and terminals of opposite polarityVibrationMechanical durability 10 to 55 Hz, 1.50 mm (0.06 in) double amplitude Malfunction durability10 to 55 Hz, 1.00 mm (0.04 in) double amplitude ShockMechanical durability 1,000 m/s 2 (approx. 100 G)Malfunction durability100 m/s 2 (approx. 10 G)Ambient temperature Operation: -10 to 40C (14 to 104F)Humidity 35 to 85% RHService LifeMechanical 10 million operations min. (at operating frequency of 18,000 operations/hour)Electrical100,000 operations at rated load (at operating frequency of 1,800 operations/hour)WeightApprox. 0.85 g (3.0 oz)Note:Data shown are of initial value.CHARACTERISTIC DATAMaximum switching capacity Electrical service life MK2P-S, MK3P5-SMK2P-S, MK3P5-SRated operating voltage (V)R a t e d o p e r a t i n g c u r r e n t (A )Rated operating current (A)S e r v i c e l i f e (x 106 o p e r a t i o n s )4MKMKTERMINAL ARRANGEMENT (Bottom view)Standard type (AC/DC coil)LED indicator type (AC coil)MK2P-I, S MK3P5-I, -S MK2PN-I, -SMK3PN-5-I, -SLED indicator type (DC coil)Diode type (DC coil)MK2PN-I, -S MK3PN-5-I, -S MK2PD-I, -SMK3PD-5-I, -SVaristor type (AC coil)LED indicator and diode type (DC coil)MK2PV-I, -S MK3PV-5-I, -S MK2PND-I, -SMK3PND-5-I, -SLED indicator and Varistor type (AC coil)MK2PNV-I, -SMK3PNV-5-I, -SUnit: mm (inch)DimensionsRELAYS5MKMKTrack mounted socketPF083A-E (conforming to DIN EN 50022)TerminalMounting Mounting dimensions arrangementholesof relay with socketNote:Model PF083A-E can be used as a front connecting socket.Track mounted socketPF113A-E (conforming to DIN EN 50022)TerminalMounting Mounting dimensions arrangement holes of relay with socketNote:Model PF113A-E can be used as a front connecting socket.Back connecting socket Printed circuit MK2 sockets (8 pin)board socket PL08 (UL File No. E87929)PL08-QPLE08-0Solder terminalsWire wrap terminalsMounting holes PL08 type sockets and MK2 relay Recommended PCB layout PL08Total height dimensionPLE08-0ACCESSORIES6MKMK ACCESSORIES (continued)Mounting tracksPFP-100N/PFP-50N PFP-100N2(conforming to DIN EN 500022)(conforming to DIN EN 500022)Note: 1.*This dimension applies to mounting track PFP-50N.2. A total of twelve 25 x 4.50 mm (0.98 x 0.18 in) elliptic holes is provided with six holes cut from each rail end at a pitch of10 mm (0.39 in) holes.PFP-M end plateNote:Use of Type PFP-M end plate is recommended to secure the socket on the mounting track. Be sure that the engraved arrowmark on the surface of the end plate faces upward and then tighten the screw firmly with a screwdriver.Unit: mm (inch)Back connecting socket Printed circuitMK3 sockets (11 pin)board socketPL11 (UL File No. E87929)PL11-Q PLE11-0Solder terminals Wire wrap terminalsMounting holes PL11 type sockets and MK3 relay Recommended PCB layoutPL11Total height dimensionPLE11-07 MK MK Type Contact formCoil ratings Contact ratingsMK2P-I, -S DPDT 6 to 250 VAC10 A, 250 VAC, Resistive6 to 110 VDC10 A, 28 VDC, Resistive7 A, 250 VAC, InductiveMK3P5-I, -S3PDT 6 to 250 VAC10 A, 120 VAC, Resistive6 to 110 VDC10 A, 28 VDC, Resistive10 A, 250 VAC, Resistive7 A, 250 VAC, InductiveAPPROVALSUL (File No. E41515)/CSA (File Nos. LR41408 and LR335535)Note: 1.The rated values approved by each of the safety standards (e.g., UL and CSA) may be different from the performance characteristics individually defined in this catalog.2.VDE, Nemko and Semko versions are available. Please consult your OMRON representative for further information.3.In the interest of product improvement, specifications are subject to change.Type Contact form Coil ratings Contact ratingsMK2P-I, -S DPDT 6 to 110 VDC10 A, 250 VAC (NO) (cosø = 1)5 A, 250 VAC (NC) (cosø = 1)10 A, 280 VDC (NO)MK3P5-I, -S3PDT 6 to 240 VAC 5 A, 280 VDC (NC)7 A, 250 VAC (cosø = 0.4)SEV, DEMKOType Contact form Coil ratings Contact ratingsMK2P-I, -S DPDT6, 12, 24, 48,10 A, 250 VAC (NO) (cosø = 1)100, 110 VDC 5 A, 250 VAC (NC) (cosø = 1)10 A, 280 VDC (NO)MK3P5-I, -S3PDT6, 12, 24, 50, 5 A, 280 VDC (NC)110, 115, 120,7 A, 250 VAC (cosø = 0.4)200, 220, 230,240 VACTUV (File No. R9051410)OMRON ELECTRONICS, INC.OMRON CANADA, INC.One East Commerce Drive885 Milner AvenueSchaumburg, IL 60173Scarborough, Ontario M1B 5V81-800-55-OMRON416-286-6465Cat. No. GC RL Y701/00Specifications subject to change without notice.Printed in the U.S.A.。

PLL常见问题解答

PLL常见问题解答

3.5 PLL 的几个特殊应用 .................................................................................................................................................................... 31
3.1.7
锁定指示电路如何设计? ....................................................................................................................................... 14
3.2.1
锁相环系统的相位噪声来源有哪些?减小相位噪声的措施有哪些?............................................................... 19
3.2.2
为何我测出的相位噪声性能低于 ADISimPLL 仿真预期值? .............................................................................. 21
3.3 PLL 的调试步骤............................................................................................................................................................................. 26
3.2 PLL 芯片性能相关问题 ................................................................................................................................................................ 19

Intel Agilex 时钟和 PLL 用户指南说明书

Intel Agilex 时钟和 PLL 用户指南说明书

Intel® Agilex™时钟和PLL用户指南针对Intel® Quartus® Prime设计套件的更新:20.3本翻译版本仅供参考,如果本翻译版本与其英文版本存在差异,则以英文版本为准。

某些翻译版本尚未更新对应到最新的英文版本,请参考英文版本以获取最新信息。

在线版本ID: 683761内容内容1. Intel® Agilex™时钟和PLL概述 (4)1.1. 时钟网络概述 (4)1.2. PLL概述 (4)2. Intel Agilex 时钟和PLL架构和功能特性 (5)2.1. 时钟网络架构和功能特性 (5)2.1.1. 时钟网络架构 (5)2.1.2. 时钟资源 (7)2.1.3. 时钟控制功能 (8)2.2. PLL架构和功能特性 (10)2.2.1. PLL功能特性 (10)2.2.2. PLL使用 (11)2.2.3. PLL位置 (12)2.2.4. PLL架构 (12)2.2.5. PLL控制信号 (13)2.2.6. PLL反馈模式 (14)2.2.7. 时钟乘法和除法 (18)2.2.8. 可编程相移 (19)2.2.9. 可编程占空比 (19)2.2.10. PLL级联 (19)2.2.11. PLL输入时钟切换 (20)2.2.12. PLL重配置和动态相移 (24)2.2.13. PLL校准 (24)3. Intel Agilex 时钟和PLL设计考量 (26)3.1. 指南:时钟切换 (26)3.2. 指南:时序收敛 (27)3.3. 指南:复位PLL (27)3.4. 指南:配置约束 (27)3.5. 指南:I/O PLL重配置 (27)3.6. 时钟约束 (28)3.7. IP核约束 (28)3.8. 指南:使用从LVDS SERDES Intel FPGA IP来的tx_outclk端口,实现f OUT_EXT≥ 300Mhz的5%占空比 (28)4. Clock Control Intel FPGA IP核 (29)4.1. Clock Control Intel FPGA IP的发布信息 (29)4.2. Clock Control IP核参数 (29)4.3. Clock Control IP核端口和信号 (30)5. IOPLL Intel FPGA IP核 (31)5.1. IOPLL Intel FPGA IP的发布信息 (31)5.2. .mif文件生成 (31)5.2.1. 生成一个新的.mif文件 (32)5.2.2. 对现有.mif文件添加配置 (32)5.3. IP-XACT文件生成 (32)内容5.3.1. 生成一个新的IP-XACT文件 (32)5.4. IOPLL IP核参数 (32)5.4.1. IOPLL IP核参数:PLL选项卡 (33)5.4.2. IOPLL IP核参数:Settings选项卡 (35)5.4.3. IOPLL IP核参数:Cascading选项卡 (36)5.4.4. IOPLL IP核参数 - Dynamic Reconfiguration选项卡 (36)5.4.5. IOPLL IP核参数 - Advanced Parameters选项卡 (37)5.5. IOPLL IP核端口和信号 (37)6. Intel FPGA IP核 (39)6.1. IOPLL Reconfig Intel FPGA IP的发布信息 (39)6.2. 实现IOPLL Reconfig IP核中的I/O PLL重配置 (40)6.2.1. IOPLL与IOPLL Reconfig IP核之间的连接 (40)6.2.2. 连接IOPLL和IOPLL Reconfig IP核 (40)6.3. IOPLL Reconfig IP核重配置模式 (41)6.3.1. .mif流重配置 (41)6.3.2. 高级模式重配置 (42)6.3.3. 时钟门控重新配置 (43)6.3.4. 动态相移重配置 (43)6.4. IOPLL Reconfig IP核中的Avalon Memory-Mapped Interface端口 (43)6.5. 地址总线核数据总线设置 (44)6.5.1. 高级模式重配置的地址总线和数据总线设置 (44)6.5.2. 针对时钟门控重配置的输出时钟和相应数据位设置 (50)6.5.3. 针对IOPLL Reconfig IP核动态相移的数据总线设置 (51)6.6. 设计实例 (51)6.6.1. 重配置选项:使用IOPLL Reconfig IP核的.mif流重配置 (52)6.6.2. 重配置选项:使用IOPLL Reconfig IP核的高级模式重配置和重新校准 (52)6.6.3. 重配置选项:使用IOPLL Reconfig IP核的时钟门控重配置 (53)7. Intel Agilex 时钟和PLL用户指南存档 (54)8. Intel Agilex 时钟和PLL用户指南文档修订历史 (55)1. Intel® Agilex™时钟和PLL概述1.1. 时钟网络概述Intel® Agilex™器件包含将信号分布到整个架构的专用资源。

非常经典清华大学李宇根PLL讲义Lecture12

非常经典清华大学李宇根PLL讲义Lecture12

非常经典清华大学李宇根PLL讲义Lecture12Spring Semester, 2008PLL DESIGN AND CLOCK/FREQUENCY GENERATION (Lecture 12)Woogeun Rhee Institute of Microelectronics Tsinghua UniversityTerm ProjectDesign 645MHz fractional-N PLL circuit: - fref = 40MHz, fout = 645MHz with 50% duty cycle - Due date: June 24th 40MHzfref(1) (2)645MHzPFD(3)CP(4)VCO(5)2(6)foutPLL BW: ~500kHz16/17 k-bit ACCUM2W. Rhee, Institute of Microelectronics, Tsinghua UniversityTerm Project (continued)Do followings: 1. Design loop filter for ~500kHz PLL bandwidth. 2. Draw open-loop gain Bode plot based on LPFdesign from (a). 3. Plot node 3, 4 and check the lock time. 4. Plot node 1, 2 after PLL is fully settled. What is the amount of static phase offset? 5. Plot node 5, 6 for 10 VCO cycles (i.e. zoom-in plot). 6. Estimate the spur level based on VCO gain and waveform at node 3. 7. Verify (f) result by having FFT and measure spur level at VCO output in dBc. E1. Plot eye diagram of VCO output and measure jitter in time domain. (extra) E2. Run phase noise simulation of open-loop VCO and calculate closed-loop RJ. (extra) E3. Calculate closed-loop RJ by defining approximated noise bandwidth. (extra) E4. Tell whether DJ or RJ is dominant. (extra) ? Note: Ideal blocks allowed for PFD & LPF design3W. Rhee, Institute of Microelectronics, Tsinghua UniversityV. Applications 3. Clock Multiplier Unit (CMU)4W. Rhee, Institute of Microelectronics, Tsinghua UniversityCMU Design ConsiderationsSimilar to RF frequency synthesizer - Use of frequency divider and PFD/CP - Trade-off between noise and spur ? Different from RF frequency synthesizer - Less stringent lock-in time - Ultimately interested in pk-pk jitter. - Noisier supply voltage - Noisier reference clock - Lower supply voltage - Mostly in digital CMOS process - Ring VCO and on-chip LPF preferred.5W. Rhee, Institute of Microelectronics, Tsinghua UniversityJitterAbsolute jitter (long-term jitter) - Phase error w.r.t. ideal referenceΔTabs ,rms = lim1 2 ΔT12 + ΔT22 + ? ? ? + ΔTN N →∞ NCycle-to-cycle jitter (short-term jitter) - No need for referenceΔTcc ,rms ≈ lim1 (T2 ? T1 )2 + (T3 ? T2 )2 + ? ? ? + (TN ? TN ?1 )2 N →∞ NPeriod jitter - For PLL, period jitter = absolute jitter.ΔTp ,rms = lim1 (T ? T1 )2 + (T ? T2 )2 + ? ? ? + (T ? TN ?1 )2 N →∞ N*Note:Periodic jitter (PJ) is often considered DJ by sinusoidal modulation, which is different from period jitter.W. Rhee, Institute of Microelectronics, Tsinghua University6Total Jitter (TJ)RJpk-pk (14*σ)Total jitter (TJpp) - RJpp + DJpp = 14 x RJrms + DJpp ? Random jitter (RJ) - Non-systematic jitter - Gaussian distribution ? Deterministic jitter (DJ) - Systematic jitter - Coupling and ISI - Duty cycle distortionDJDJ dominant (modulation)RJ dominant (noise)Pspurfo7W. Rhee, Institute of Microelectronics, Tsinghua UniversityRandom Jitter (RJ)Bathtub CurveFor BER = 10-12, RJpp = 14 x RJrmsRef: “Jitter Fundamentals,” Wavecrest Company8W. Rhee, Institute of Microelectronics, Tsinghua UniversityRJ and Noise Integration BandwidthfoCDR tracking BWPDLPFCDRNCDR tracking BW should be considered for TXPLL design. - SONET: 50kHz – 80MHz - Typically (Baud Rate) / 1667 – (Baud Rate) / 29W. Rhee, Institute of Microelectronics, Tsinghua UniversitySupply Noise EffectfoCDR tracking BWPDLPFCDRN10W. Rhee, Institute of Microelectronics, Tsinghua UniversitySupply Noise ConsiderationJSSC’96, von Kaenel et al. Supply w/o NoiseSupply w/t Noise11W. Rhee, Institute of Microelectronics, Tsinghua UniversityPlotting Eye DiagramEye Diagram Plotting Principlefrom Razavi’s bookExample: Data Eye with Lowpass filter (f3dB = 30% of Data Rate)12W. Rhee, Institute of Microelectronics, Tsinghua University1x VCO or 2x VCO?1x VCO with DCC 2x VCO with 50% Duty2x VCODiv/2ISSCC’03, Wong et al.1x VCO - Less power but needs more careful design for 50% duty cycle.13W. Rhee, Institute of Microelectronics, Tsinghua UniversityCascaded PLLsParallel PLLsISSCC’03, Wong et al.Cascaded PLLs14W. Rhee, Institute of Microelectronics, Tsinghua UniversityV. Applications 3. Clock Multiplier Unit (CMU)A. Uniform BW control for PCIe2B. ΔΣ PLL for digital clock generationC. S-S clocking for EMI reduction15W. Rhee, Institute of Microelectronics, Tsinghua UniversityInside PCCurrent Coming16W. Rhee, Institute of Microelectronics, Tsinghua UniversityPCI vs. PCI ExpressPCI, PCI-X(Shared bus)PCIe(Shared switch)μPμPP.C.SwitchP.C.Scaleable widthP.C.P.C.P.C.P.C.P.C.PCIe – Faster, narrower, scaleable, point-to-point serial bus17W. Rhee, Institute of Microelectronics, Tsinghua UniversityFB-DIMMDDR2 DRAM + high-speed serial link Point-to-point serial link communication ? Overcomes trade-off between speed and capacity.18W. Rhee, Institute of Microelectronics, Tsinghua UniversityReference Clock Jitter TransferData-Clocked System Common-Clock SystemH1(s) X(s) H1(s) TXPLL H2(s) CDR H2(s) RXPLL Y(s) X(s) TXPLL H3(s) PI-CDR Y(s)Y( s ) = H1( s) ? [1 ? H2 ( s)] X( s )Y( s) = [H1( s) ? H2 ( s)] ? H3 ( s) X( s)[Li, ITC’04], [PCI-SIG]19W. Rhee, Institute of Microelectronics, Tsinghua University。

Lecture_PLL12

Lecture_PLL12

Open-Loop Gain
• Additional pole-zero pair at low frequencies Æ Must be sufficiently lower to have negligible effect.
11
W. Rhee, Institute of Microelectronics, Tsinghua University
Essential/General Considerations
VCO gain
Tuning range (over PVT variations) Low noise
Bandwidth
Fref noise filtering VCO noise suppression
Cost
On-chip or external regulator LC VCO Power Noise Calibration (Performance) High PSRR VCO design Ring VCO Noise Area Complexity
2
W. Rhee, Institute of Microelectronics, Tsinghua University
CMU Design Considerations
• Similar to RF frequency synthesizer - Use of frequency divider and PFD/CP - Trade-off between noise and spur • Different from RF frequency synthesizer - Less stringent lock-in time - Ultimately interested in pk-pk jitter. - Noisier supply voltage - Noisier reference clock - Lower supply voltage - Mostly in digital CMOS process - Ring VCO and on-chip LPF preferred.

Lecture_PLL8

Lecture_PLL8

13
W. Rhee, Institute of Microelectronics, Tsinghua University
Circuit Design - Frequency Divider
fPD
fref
MБайду номын сангаас
PD
LPF
VCO
fout
N
⎛f ⎞ ⎛N⎞ fout = ⎜ ⎟ ⋅ fref = N ⋅ ⎜ ref ⎟ ≡ N ⋅ fPD ⎝M⎠ ⎝ M ⎠
f4
2
td3
f8
f1 f2 f4 f8
td1 td1 + td2 + td3 (usually td1 < td2 < td3)
• Synchronous counter - Can be fully programmable - High power, low speed operation
16
• Asynchronous divider - Low power, high speed operation - Jitter accumulation
VCO
• Fourth-order PLL is often needed to further reduce spur or to suppress quantization noise in fractional-N synthesizers. • Provides isolation between LC VCO to LPF. • Fourth pole is often created inside V-to-I when ring VCO is used.
• Frequency divider for frequency synthesis - Integer-N divider (Digital) - Fractional-N divider (Digital + Analog) - Regenerative divider (Analog)

数字电子技术英文版第十一版课程设计

数字电子技术英文版第十一版课程设计

数字电子技术英文版第十一版课程设计IntroductionThis course design ms to provide students with the opportunity to apply the knowledge and skills they have learned in digital electronics technology to solve real-world problems. The course design involves designing and building a digital system using programmable logic devices, designing various digital circuits using computer-ded design tools, and prototyping and testing the designed systems using experimental techniques.Course ObjectivesBy the end of this course, students are expected to:•Understand the basic principles of digital electronics technology•Be proficient in programming programmable logic devices•Be able to design, simulate, and verify digital circuits using computer-ded design tools•Be able to apply experimental techniques to prototype and test digital systems•Be able to work effectively in a team environmentCourse OutlineTopic 1: Introduction to Digital Electronics TechnologyIn this topic, students will learn the basic principles of digital electronics technology, including number systems, logic gates, Boolean algebra, combinational circuits, and sequential circuits.Topic 2: Programmable Logic DevicesIn this topic, students will learn how to program programmable logic devices (PLDs) using hardware description languages (HDLs), such as VHDL and Verilog. Students will also learn how to implement various digital circuits using PLDs, such as combinational logic circuits, sequential logic circuits, and state machines.Topic 3: Computer-ded Design of Digital CircuitsIn this topic, students will learn how to use computer-ded design (CAD) tools, such as Xilinx ISE and ModelSim, to design, simulate, and verify digital circuits. Students will also learn how to use these CAD tools to implement the designed circuits using PLDs.Topic 4: Digital System DesignIn this topic, students will learn how to design and implementdigital systems using PLDs. Students will work in teams to design a digital system that solves a real-world problem, such as a traffic light controller or a digital clock.Topic 5: Prototype and Testing of Digital SystemsIn this topic, students will learn how to prototype and test the designed digital systems using experimental techniques, such as oscilloscopes and logic analyzers. Students will also learn how to debug the designed systems and analyze their performance.Course AssessmentThe course assessment will include the following components:•Individual assignments (30%)•Group project (40%)•Final exam (30%)The individual assignments will ass ess students’ understanding ofthe basic principles of digital electronics technology and their ability to program PLDs using HDLs. The group project will assess students’ ability to work effectively in a team environment, their ability to design and implement a digital system that solves a real-world problem, and their ability to prototype and test the designed system. The final exam will assess students’ overall understanding of the course materials.ConclusionThis course design provides students with the opportunity to applythe knowledge and skills they have learned in digital electronics technology to solve real-world problems. Students will learn how to program PLDs using HDLs, design various digital circuits using CAD tools, design and implement digital systems that solve real-world problems, andprototype and test the designed systems using experimental techniques. Students are expected to work effectively in a team environment and demonstrate their proficiency in digital electronics technology.。

LMS Virtual.Lab 11 安装说明(for RLM licensing)

LMS Virtual.Lab 11 安装说明(for RLM licensing)

LMS b 11 安装说明(仅适用于LMS b 11-SL1及之后使用RLM licensing授权版本)声明:本安装说明来自于国外MAGNiTUDE,严禁用于商业目的!若用于商业用途,请购买LMS正版软件(),企业和个人用户使用此版本带来的法律问题,由使用者本人承担!从LMS b 11-SL1开始,b使用RLM licensing授权,因此本安装说明仅适用于LMS b 11-SL1、SL2及以后使用RLM licensing授权版本,对于LMS b 11及LMS b 10等之前版本,请参考原来的安装说明。

1、关闭安全软件特别提示:运行安装文件前,一定要关闭杀毒软件和防火墙程序。

例如:电脑上安装了360杀毒等监控软件,需要先对其进行关闭。

在Windows 7操作系统中点击右下角任务栏,找到360相关软件点击右键,在弹出的菜单中点击【退出】按钮,完全关闭杀毒软件。

此外,如果安装了木马监控软件,也许要将其关闭,如图所示为关闭360安全卫士。

用户如果使用的是其它监控软件,也可以用类似办法关闭,另外如果有开启Windows防火墙,也最好将其关闭。

以上关闭杀毒及监控软件很重要,如果不关闭,则有可能导致安装过程的错误!2、拷贝证书文件将LMS b安装包解压缩,找到其根目录下的MAGNiTUDE 文件夹,找到其中的LMS.lic文件和lms_vl11_sl2_win64.RAR文件(如果使用的是32位b,则为lms_vl11_sl2_win32.RAR),将lms_vl11_sl2_win64.RAR解压缩到一临时目录,例如解压缩到桌面。

接下来,在需要安装LMS b的磁盘分区(例如安装到D 盘)建立一个文件夹,用于存放证书文件,例如在D:\Program Files 下建立一个RLM文件夹(这个文件夹用于存放证书,一般要求文件夹中无中文名,可以建立在任意位置),然后,将LMS.lic拷贝到该文件夹下。

3、安装程序接下来,用管理员权限运行安装程序Launch.exe。

高性能PLL时钟发生器课件

高性能PLL时钟发生器课件

低相位噪声的PLL时钟发生器能够提供更稳 定的输出信号,减少信号失真和误差。
影响因素
优化方法
相位噪声性能受到环路带宽、参考信号频 率和分频比等因素的影响。
通过优化环路带宽、选择合适的参考信号 和调整分频比,可以降低PLL时钟发生器的 相位噪声。
抖动性能
01
02
03
04
抖动
PLL时钟发生器的输出信 号的时间短暂的随机变化 ,通常以时间单位表示。
高速数字电路中的应用
数据传输
在高速数字电路中,PLL时钟发生器用于数据传输的同步,确保数据传输的稳定 性和可靠性。
高速采样
高性能的PLL时钟发生器能够提供高精度、高稳定性的采样时钟,用于高速数字 信号的采样和处理。
PART 06
高性能PLL时钟发生器的 未来发展趋势与挑战
技术创新与突破
数字辅助PLL设计
新工艺
研究和发展新型制程技术,如纳米级 制程,以减小PLL的体积、降低功耗 和提高集成度。
系统集成与优化
01
02
03
模块化设计
将PLL模块化设计,使其 与其他数字和模拟电路模 块易于集成,提高整个系 统的性能和可靠性。
协同优化
对PLL与其他电路模块进 行协同优化,以降低电磁 干扰、减小功耗和提高整 体稳定性。
利用数字信号处理和算法技术,优化PLL的 性能参数,提高其稳定性和适应性。
智能化PLL控制
通过引入人工智能和机器学习技术,实现PLL的智 能调节和控制,提高其自适应能力和容错性。
混合式PLL架构
结合模拟和数字技术,开发混合式PLL架构 ,以获得更高的性能和更低的功耗。
新材料与新工艺的应用
新材料
探索和采用新型材料,如新型化合物 半导体,以提高PLL的频率范围、噪 声性能和温度稳定性。

清华PLL讲义

清华PLL讲义

Æ Simply speaking, we will learn where to, when to, and how to use PLL for various applications.
5
W. Rhee, Institute of Microelectronics, Tsinghua University
8
W. Rhee, Institute of Microelectronics, Tsinghua University
I. Overview of Clocking and Frequency Generation
10
W. Rhee, Institute of Microelectronics, Tsinghua University
3
W. Rhee, Institute of Microelectronics, Tsinghua University
Course Assessment
• Homework: • Midterm exam: • Final exam: • Term project:
10% 20% 30% 40%
PLL DESIGN AND CLOCK/FREQUENCY GENERATION (Lecture 1)
Woogeun Rhee Institute of Microelectronics Tsinghua University
PLL Design and Clock/Frequency Generation (PLL设计与时钟/频率产生)
Course Outline – First Half
I. Overview of Clocking and Frequency Generation 1. Course introduction 2. Phase-locked clocking in modern communication systems II. Phase-Lock Basics 1. PLL linear model 2. Loop components 3. Loop dynamics 4. Transient response and acquisition 5. PLL behavioral simulations III. PLL Design 1. System design perspectives - spur and modulation - phase noise/jitter - settling time - bandwidth optimization 2. Circuit design aspects - phase detector - charge pump - frequency divider - voltage-controlled oscillator 3. Delay-locked loop (Midterm Examination)

Lecture_PLL6

Lecture_PLL6

9
W. Rhee, Institute of Microelectronics, Tsinghua University
Synthesizer Design Trade-Offs
fBW ≈
ICP RKv 2π N

High N affects phase noise, spur, and settling time!!
4
W. Rhee, Institute of Microelectronics, Tsinghua University
Outline
• Introduction – Overview of frequency synthesis – Design trade-offs in PLL-based synthesizers • Fractional-N Frequency Synthesis – Basic concept – Spur reduction methods • ΔΣ Fractional-N Frequency Synthesizer Design – System design aspects – Circuit design aspects • Experimental Results • Fractional-N PLL for Various Applications • Future Challenges
20
W. Rhee, Institute of Microelectronics, Tsinghua University
Outline
• Introduction – Overview of frequency synthesis – Design trade-offs in PLL-based synthesizers • Fractional-N Frequency Synthesis – Basic concept – Spur reduction methods • ΔΣ Fractional-N Frequency Synthesizer Design – System design aspects – Circuit design aspects • Experimental Results • Fractional-N PLL for Various Applications • Future Challenges

Lecture11 频率综合器

Lecture11 频率综合器

CMOS 射频集成电路设计2006年12月1日唐长文助理研究员zwtang@/faculty/personweb/tangzhangwen/RFIC/RFIC.htm复旦大学专用集成电路与系统国家重点实验室版权©2005-2006, 版权所有,不得侵犯频率综合器z频率综合器基础知识z射频频率综合器的结构z射频分频器复旦大学专用集成电路与系统国家重点实验室唐长文复旦大学专用集成电路与系统国家重点实验室唐长文频率综合器的概况z 0.9/1.8GHz接收机中如何产生30kHz 的频率步长?z射频频率综合器的三个主要设计指标:相位噪声(Phase Noise) 杂散(Spur)锁定时间(Lock Time)2复旦大学专用集成电路与系统国家重点实验室唐长文简单锁相环的基本结构z 相位增量的负反馈系统z不随时间变化,系统是“锁定”的输入和输出的频率相同,但存在相位差 波形图φφ−in out锁定条件下的参考时钟的微小变化z参考时钟的频率发生微小变化z参考时钟的相位发生微小变化()()ωωω=+∆⋅−11int u t t复旦大学专用集成电路与系统国家重点实验室唐长文线性模型:锁定情况下分别是输入和输出的相位增量信号1z鉴相/鉴频器鉴频器的三种状态z鉴相/复旦大学专用集成电路与系统国家重点实验室唐长文复旦大学专用集成电路与系统国家重点实验室唐长文z三态鉴相/鉴频器z鉴相特性复旦大学专用集成电路与系统国家重点实验室唐长文z锁定时需要消除“死区”现象如果PFD/CP/LPF 不再是的函数,将没有电荷泵电流注入控制线,环路增益变为0。

环路没有校正将会产生抖动(Jitter)φ∆“死区”现象复旦大学专用集成电路与系统国家重点实验室唐长文z鉴相/频器输出到电荷泵的时延不等z电荷泵上/下电流不等z电荷分配效应减小电荷分配效应z复旦大学专用集成电路与系统国家重点实验室唐长文唐长文z问题参考时钟频率的杂散信号锁定时间分频器out refMωω=复旦大学专用集成电路与系统国家重点实验室唐长文复旦大学专用集成电路与系统国家重点实验室唐长文zPulse-swallow 计数器预分频数N/N+1 计数器P 的分频数P可配置计数器S 的分频数Sz分频数振荡频率为1.0-1.2GHz ,参考时钟频率25MHz ,N=4,P=10,S=0~8()()1M N S N P S NP S=+⋅+⋅−=+复旦大学专用集成电路与系统国家重点实验室唐长文参考时钟频率的杂散信号(Reference Spurs)z因为电荷泵的开关频率为参考时钟频率,因此在中心频率频偏整数倍参考频率处会出现杂散信号。

非常经典 清华大学 李宇根 PLL讲义 Lecture11

非常经典 清华大学 李宇根 PLL讲义 Lecture11

Spring Semester, 2008PLL DESIGN AND CLOCK/FREQUENCY GENERATION (Lecture 11)Woogeun Rhee Institute of Microelectronics Tsinghua UniversityHW #4• Design /17 frequency divider: - First design 2/3 prescaler based on diagram below. Then, design 8/9 prescaler. - Add one more /2 circuit with output connected to MC (see diagram below). - Answer followings: (a) Check max. freq. with VDD=1.5V, 1.6V, …2.0V (if 0.18μm CMOS used) (b) For 1GHz input freq., plot waveforms: /2/3, /8/9, and /17 outputs. (c) Put 3nH inductors for both VDD and GND, and plot waveforms again. (d) How to make 16/17 dual-modulus divider with minimum change? - Due date: June 3rd (All HWs after June 3rd will not be accepted)DIV-8/92DIV-17Example: JSSC’04, Pellerano et al.2W. Rhee, Institute of Microelectronics, Tsinghua UniversityV. Applications 2. Clock and Data Recovery SystemsA. OverviewRef: [1] Razavi, “Design of Integrated Circuits for Optical Communications”, McGraw Hill [2] Wolaver, “Phase-locked loop circuit design”, Prentice Hall3W. Rhee, Institute of Microelectronics, Tsinghua UniversityOptical System• In 1977, first fiber optic telephone system was deployed. • Can carry large volumes of data across long distance. - Bandwidth of fiber: 25 to 50GHz - Loss of fiber: 0.15 to 0.2dB/km cf) Twisted-pair cable: 200dB/km @100MHz Low-cost coaxial cable: 500dB/km @1GHz Wireless: ??dB/m4W. Rhee, Institute of Microelectronics, Tsinghua UniversitySerDes (Serializer and Deserializer)Transmitter (Serializer) Receiver (Deserializer)• Serializer - Parallel-to-serial (low data rate to high data rate) - High-speed point-to-point link • Deserializer - Serial-to-parallel (high data rate to low data rate) - Low-speed multiple links5W. Rhee, Institute of Microelectronics, Tsinghua UniversityOptical Link Example• Transmitter - Laser + Modulator + MUX + TXPLL - TXPLL: Low jitter high-frequency clock multiplier (CMU) • Receiver - Photodiode + TIA + LA + DMUX + RXPLL - RXPLL: Clock and data recovery (CDR)6W. Rhee, Institute of Microelectronics, Tsinghua UniversityRole of CDR• Retime data with clock extracted from data. • CDR = Clock recovery + Data retiming Data recovery • Ultimate goal is to minimize BER.7W. Rhee, Institute of Microelectronics, Tsinghua UniversityClock ExtractionRef: Wolaver’s bookRZ DataNRZ Data• NRZ is more bandwidth efficient but contains no clock information. • To prevent dc wandering, max run length is limited (e.g. 8B/10B code).8W. Rhee, Institute of Microelectronics, Tsinghua UniversityCock Recovery: High-Q Filter (Passive)• Simple but high-cost solution • Requires clock and data alignment.9W. Rhee, Institute of Microelectronics, Tsinghua UniversityCock Recovery: PLL-Based (Active/Analog)D Q DFF DAT’DATPDLPFVCOCLK’• Highly integrated low-cost solution • Tunable frequency with high-Q filtering • Requires frequency acquisition.10W. Rhee, Institute of Microelectronics, Tsinghua UniversityCock Recovery: Oversampling (Active/Digital)JSSC’90, Kim et al.•No need of analog PLL•Fast data acquisition + higher level of integration•Limited resolution or algorithmic jitter due to phase quantization.•High power for high data rateEye diagram often used to observe ISI effect for long sequence data.V. Applications2. Clock and Data Recovery SystemsB. System designPLL-Based CDR: Design Trade-Off•Jitter generation –Noise performance of PLL•Jitter transfer –Filtering performance of PLL (rejecting noise)•Jitter tolerance –Tracking performance of PLL (tracking noise)Jitter Generation•Jitter Generation-CDR output jitter measured with jitter-free input data •For SONET OC-192,or 0.1UI-Must be less than 10pspk-pk-Noise integration bandwidth: 50kHz –80MHz •Usually dominated by VCO phase noiseÆDesign requirement is similar to FS design.Phase Noise Example Recovered Data EyeRecovered Clock•Jitter transfer-Ratio of CDR output jitter to input sinusoidal jitter. -Low-pass filtering characteristics of PLL2n~ω~ωunityzV. Applications2. Clock and Data Recovery SystemsC. Circuit design•CDR with linear phase detection-Hogge type PD--Generates error voltage proportional to phase error.-Difficult design for high speed operation, e.g. CP mismatch-Jitter transfer--Well controlled but critical to jitter peaking.-Jitter tolerance--Defined by jitter transfer bandwidth.•CDR with nonlinear phase detection-Alexander type PD (binary PD, BBPD)--Generates bi-state (or tri-state) error voltage.-Less power consumption for high speed operation, e.g. relaxed CP design -Jitter transfer--Nonlinear single-pole like behavior, less critical to jitter peaking--Needs additional filtering for controlled jitter transfer.-Jitter tolerance--Defined by jitter transfer bandwidth at fixed input jitter amplitude.CDR Design and Phase Detection MethodsConverting NRZ to RZ-Like Signal•RZ conversion can be done with XOR + FF.-Edge detection with positive output(similar to differentiator + rectifier)Pattern-Dependent Jitter: XOR PD with RZ Data•Pattern-dependent jitter can occur with non-periodic input.Ref: Wolaver’s bookYXDelay between DAT and CLK compared with half clock periodHogge Phase DetectorRef: JSSC’92, Lee et al.•Balanced PD with clock in middle of data eye.•In absence of data transitions, PD output set to “0”.-Still accumulates phase errors.Triwave Hogge Phase DetectorISSCC’91, DeVito et al.•Improved phase detection with less pattern-dependent jitter.JSSC’01, Savoj et al.Half-Rate Linear Phase Detector•Half-rate operation relaxes speed limitation.•Bimodal jitter with duty cycle distortion.Binary Phase Detector (Bang-Bang PD)ISSCC’91, Lai and Walker•PD high ÆVCO frequency increased by ΔF.•PD output held for at least one clock periodÆCan achieve high frequency operation with simpler blocks.Detailed Timing Diagram•Rising edge samples DAT and falling edge samples boundary.Binary PD Gain•PD gain depends on DAT jitter density.•Minimizing metastability in latch design is critical.IdealActual[Ref] Walker, “Designing bang-band PLLs for clock and data recovery in serial data transmission systems”BBPD with Double-Edge Triggered DFFJSSC’93, Soyuer•Simplest way to achieve binary phase detection.•Double-edge triggered operation reduces jitter.BBPD with Tri-State Charge Pump•CP in neutral state when there is no DAT transition.•Tri-state operation reduces patter-dependent jitter.Half-Rate Binary P/FDJSSC’03, Savoj et al.Frequency Acquisition: QuadricorrelatorBasic ConceptActual ImplementationV. Applications2. Clock and Data Recovery SystemsD. Architecture variationsSemidigital DLL with Phase Interpolation•DLL with infinite phase tracking range. ÆFrequency tracking •Digital FSM selects clock and phase interpolation weighting.•Useful for low-cost multi-link serial links.JSSC’97, Sidiropouloset al.TCAS2’04, Rhee et al.Full-Rate Mixed-Mode Semidigital DLL•Full rate multiphase clock generation with polyphase filter •Low power FSM with mixed-mode operation-CP-based semidigital PLLD/PLL•DLL forms effective zero in the dual-control loop.ÆNo jitter peaking in type 2 loop!•Independent jitter transfer and jitter tracking.JSSC’92, Lee et al.Block DiagramOpen-Loop GainClock Recovery and Data Retiming (CRDR)•Use DLL instead of simple DFF for data retiming.ÆJitter tolerance is independent of jitter transfer.CICC’03, Rhee et al.Data Pattern Dependence in BBPD•Use DLL instead of simple DFF for data retiming.ÆJitter tolerance is independent of jitter transfer.CDR with Eye Monitor FeedbackJSSC’00, Ellermeyer et al.•Data eye can be asymmetric.ÆOptimum data sampling point may not be middle of data transition.•Eye monitor finds optimal timing position for minimum BER.Actual ImplementationSimplified Block DiagramBurst-Mode CDRISSCC’93, Banu et al.ISSCC’08, Terada et al.•Instantaneous phase alignment using gated VCO.•Low cost and small area•Frequency offset can be calibrated by digital frequency detector.Hybrid CDRJSSC’06, Perrott et al.•Researches toward all-digital CDR keep going.-Oversampled ΔΣmodulation is the key IP!。

模电课程最新资料 (8)

模电课程最新资料 (8)

Voltage AmplifierEE105 Spring 2008Lecture 6, Slide 3Prof. Wu, UC Berkeley •In an ideal voltage amplifier, the input impedance is infinite and the output impedance zero.•But in reality, input or output impedances depart from their ideal values.Input/Output Impedances x x V R =x iInput Impedance Example I v x πr =Impedance at a NodeImpedance at Collector out o R r =Impedance at Emitter 11x v =1()x m out m A i g r R g V π+≈=∞EE105 Spring 2008Lecture 6, Slide 8Prof. Wu, UC Berkeley •The impedance seen at the emitter of a transistor is approximately equal to one over its transconductance (if the base is grounded).Three Master Rules of Transistor Impedances •Rule # 1: looking into the base, the impedance is r πif emitter ()is (ac) grounded.Biasing of BJT EE105 Spring 2008Lecture 6, Slide 10Prof. Wu, UC Berkeley •Transistors and circuits must be biased because (1) transistors must operate in the active region, (2) their small ‐signal parameters depend on the bias conditions.DC Analysis vs. Small ‐Signal Analysis •First DC is performed to determine First, analysis Notation Simplification EE105 Spring 2008Lecture 6, Slide 12Prof. Wu, UC Berkeley •Hereafter, the battery that supplies power to the circuit is replaced by a horizontal bar labeled V cc , and input signal is simplified as one node called V in .Example of Bad Biasing•The microphone is connected to the amplifier in an attempt to amplify the small output signal of the Another Example of Bad Biasing of the amplifier is connected to V cc, trying to •The baseBiasing with Base Resistor CC BE B V V I −=B CC BE C B R V V I R β⎛⎞−=⎜⎟⎝⎠•Assuming a constant value for V , one can solve for Improved Biasing: Resistive Divider 2R 12212exp()X CC CC C S T V V R R V R I I R R V =+=+EE105 Spring 2008Lecture 6, Slide 16Prof. Wu, UC Berkeley •Using resistor divider to set V BE , it is possible to produce an I C that is relatively independent of βif base current is small.Accounting for Base Current exp Thev B Thev V I R I I ⎛⎞−=EE105 Spring 2008Lecture 6, Slide 17Prof. Wu, UC Berkeley •With proper ratio of R 1and R 2, I C can be insensitive to β; however, its exponential dependence on resistor deviations makes it less useful.p C S T V ⎜⎟⎝⎠Emitter Degeneration Biasing •The presence of R helps to absorb the error in V soSelf‐Biasing Technique• bias technique utilizes the collector voltage to ThisSummary of Biasing Techniques EE105 Spring 2008Lecture 6, Slide 22Prof. Wu, UC BerkeleyPNP Biasing Techniques •Same principles that apply to NPN biasing also apply biasing with only polarity modifications.Slide 23。

斯坦福大学C语言视频教学第11课字幕

斯坦福大学C语言视频教学第11课字幕

ProgrammingParadigms-Lecture11Instructor (Jerry Cain):Hey, everyone. Welcome. I actually have one handout for you today, and Ryan just walked in with it. So he’s going to be passing it around to the people who are in the room. Remember, we have a special discussion section today, at – I’m forgetting what time it is. What did I say? 1:15 p.m.? I’d check.—whatever I said on Wednesday. What did I say? 2:15pm, okay. I don’t know why I’m forgetting: 2:15pm to 3:05pm, in scaling 191. We’re having a special discussion section, just this one week because I want some example problems to be in – to sit in front of you, and for you to think about them, more than two days before the next assignment deadline. Which is why I’m having it today.It’s going to be videotaped. I’m gonna call SCPD after the lecture today, and try and make sure that they post it by 5:00 p.m. today, so it’s around for the weekend, online, so you can watch it. But I’ve already, I think, pretty well advertised it, Assignment 4; I think to be kind of the biggest surprise in terms of workload and difficulty for most students. So that’s why I’m kind of advertising it now, to be something you want to start on, sooner than later. Because if you start next Thursday, it’s very likely, you will not finish on time. So just try and get – take a stab at it a little bit ahead of time, this time.When I left you last time, I had shown you two examples of how function call and return works, in general, but specifically in our assembly language. So what I want to do is, I want to do one specific example, actually much, even simpler than the last example I did. Because I want to make a transition from C code generation to C + + code generation, and show you just how similar the two languages ultimately end up looking like, when they compile to assembly code.So let’s deal with this scenario: a void function. I just want to say foo, and I’ll concern myself with the allocation of two local variables. I’ll set x equal to 11; I’ll set y equal to 17. And then, I’m going to call this swap function. This time, I’m interested in writing swap to show you what the assembly code looks like. And I think you’ll be surprised to see how the pointer version of swap and the reference version of swap look exactly the same. But the way I’m writing it, right now, this is pure C code. Actually, you can call it C + + code, for that matter. And then, that’s all I want to do.I just want you to understand how code for this would be generated. I don’t have any parameters, whatsoever, so I would expect the stack pointer, right there, to have the safe p c associated with whatever function happens to be calling foo, right here. There’s a call foo instruction in someone else’s assembly stream, and that safe p c is the address of the instruction that comes directly after that. That’s the trail of popcorn I was talking about, on Wednesday. The first thing that’ll happen is that this thing will actually make space for its two locals. I actually like getting in the habit of kind of taking care of my deallocation call right away. That make sense to people? Okay? Well, as soon as I write that, I just want to remember just so I just don’t forget to put it on the page. I like to put the balancing s p change at the bottom of the stream. Now, I’ll concern myself with this, right here. This brings this down, to introduce those 8 bytes. X is above y, so thisinstruction right there, translates to m of s p plus 4 is equal to 11; then m of s p is equal to 17, and then virtually all of the rest is associated with the work that’s necessary to set up and react to – set up a function call, and react to its return. Okay? So what I want to do here is I want to evaluate ampersand of x, and ampersand of y. The fact that they’re an eleven here – oops – an eleven there and a 17, is really immaterial to the evaluation of these two things, right here. This, given that setup right there, is synonymous with a p c plus 4; this is synonymous with p c. Okay? I want to put those values in registers: R 1 is equal to s p – I’m sorry, that’s right – s p y 2 is equal to s p plus 4. This is ampersand of y; this is ampersand of x. I want to further decrement the stack pointer by minus 8. The fact that this is minus 8 is just a coincidence with that being minus 8. There happen to be two 4-byte parameters being passed here; there were two 4-byte parameters – 2 4-byte locals, local to foo. Once I’ve done that, I’ve decremented this by 4 more bytes. That marks the bottom of the foo activation record. I’m now building a partial activation record for the swap function. I want to lay this as a figure, right there. This, as a figure, right there. This first parameter, the zero parameter, actually goes at the bottom. So I want to do this: m of s p, which just changed, is equal to r 2; m of s p plus 4 is equal to r 1. Okay? That, basically, gets this right here, to point to that, and this to point to that. So when we go ahead, and call this swap function, we’re just inferring its prototype to take two int stars, it just sees this. Technically, it has the addresses, the locations of the two ints it’s going to be dealing with, but it doesn’t, technically, know that they’re right above it on the stack frame. It actually just has the addresses on their little houses that just happen to be just down the block. Okay?This, right here, all it has to do is basically clean up the parameters. When the call swap function happens, p c is pointing right there. It can, by protocol, assume that that’s where the safe p c is left – I’m sorry, the stack pointer is left, when it jumps back to this instruction because the return at the end of the swap is responsible for bringing it all the way back up here, just by protocol. Does that make sense? Okay.So all we need to do: fill in the space. This balances that; that balances that. You could coalesce these to one statement, if you wanted to. I just don’t see a compelling reason to. And then, since there’s nothing being done with the new values of x and y, I can just return. Okay? Does that make sense to people? As far as the code for swap is concerned, this is void swap. I’ll write it to be int star specific; a p int star b p int temp is equal to asterisk a p. There’s actually a little bit of work here, at the assembly code level. I know you’ve seen this implementation, probably 40 times, in the last two quarters, but there’s some value in actually seeing it, one final time, and for me to generate assembly code for it.It starts executing with the assumption that s p is pointing to a safe p c. In this particular example, it happens to be that address, right there, that’s the safe p c. This is internally referred to as a p, b p. It’s not like the words a p and b p are written on the hardware, but there’s just – the code is generated, in such a way, that a p is always synonymous, at the moment, with s p plus 4; and b p is synonymous with s p plus 8. Okay? The moment the stack pointer points right there, I have to make space for my one local variable. That happens because I do this. I’ll make it clear that this is associated with the label swap thatwe actually call or jump to. That brings this down here. This is locally referred to as temp in the code; this is the space that corresponds to temp in the activation record. The offsets of a p and b p actually shift, a little bit. Now, this is an address, s p plus 8, s p plus 12. I have to rely on these things pointing to real data. I don’t need to know where that data is to write the correct assembly code. I need to evaluate a p and then, what a p points to. So as part of initializing that, right there, I have to load into a register, m of s p plus 8. Do you understand that it lifts this bit pattern, right there, and places it in a register, so I can basically do a cascade of dereferences. Does that make sense to people? Okay? Now I have a p in the register, I can do this and now I have the very integer that is addressed by this a p thing, okay, sitting inside r 2. You may ask whether or not you can do something like this. Conceptually, of course you can do that, except you’re not going to find an architecture that supports double cascade in a single assembly code instruction. Okay? So that’s why they’re broken up over several lines.So let’s assume that this points to that, right there, that the integer that has to be loaded into temp. That’s only going to happen because I do this. Oops. And that ends this line, right here. Does that make sense to people? Yeah, go ahead.Student:When you say r2 equals m, r of r 1 –Instructor (Jerry Cain):Yep.Student:Why does it not just copy the address in, say, a p and actually [inaudible] Instructor (Jerry Cain):Well, the memory of – you basically go inside an array of bytes that’s based addressed, right there. Okay? So you think about the entire array of – entire array of bytes that’s in RAM as being indexed from position zero. And so when you put that number inside, it actually goes to that address. We know that s p plus 8, this right here, we know that the 4 byte bit pattern that resides there is actually the raw address of some integer. The assembly code doesn’t know that, but we do. So we’re asking it to shovel around a 4-byte figure and put it into this temp variable. Right? This loads that address. This address right here, let’s say it’s address 4,000. I just loaded a 4,000 into r 1. Maybe it’s the case that the 17 is in address 4,000. Okay, that would make sense. So by effectively doing m of r 1, in this particular case, I’m doing m of 4,000 because that’s what r 1 evaluates to. Okay? And by default, we always do it with 4-byte transfers. Okay? So this would get a 17 to play the role of happy face, and would put a 17 right there. Does that make sense? Okay. So now, what has to happen is something similar. I have to do this right here. But it’s actually a little different than this line right here because I have to find the L value by actually following a pointer. The L value, being temp, is directly on the stack frame, in this case. Right? The space where the new value is being written is actually one hop off of the stack frame. Okay? Let me evaluate asterisk b p first because it’s very similar. I will do r 1 is equal to m of s p plus 12. That loads just the value of b p because that’s what’s stored as a variable on the stack frame. Okay? In r 2, I’ll do m of r 1, but r 1 has a different value this time. Maybe it is the flat emoticon, okay, and that gets loaded into the r 2 register. That’s what actually has to be written over this smiley face, right there. Make sense? So in order for that to happen, I have to loadthis again: r 3 is equal to m of s p plus 8. And I don’t want to load m of r 3 because I don’t care about the old value. I want to actually want to set m of r 3 equal to r 2. Okay? Does that sit well with everybody? Just making sure I did that right. Yeah, a p right there. Okay? Making sense? The last line is actually very similar to the first one. I know that temp is sitting right at the base of the entire activation record. Now, what I have to do is I have to load the address associated with b p into r 2. That’s stored at m of s p plus 12. And then I have to do m of r 2 – I’m sorry, yeah – m of r 2 is equal to r 1. That realizes this, right here. So in those three blocks, I’ve achieved the algorithm that is the rotation of these three—of these two-byte patterns, actually, through a third. Right before I clean this up here, I have to do an s p is equal to s p plus 4. Internally, I have to bring the stack pointer up to the place where it was before I executed any code for this function. Okay? That means that s p is now pointing to the safe p c. Which is perfect because in response to this return instruction, our return actually knows, just procedurally, to go ahead and pull that value out, populate it with the – place it into the real p c register and simultaneously, or just after that, bring this back up to there. Okay? That’s exactly where the s p pointer was pointing before that call statement. Does that make sense? Okay.So I went through that exhaustively because pointers are still mysterious for some people, and understandably, because they’re difficult. So if you start to understand them, at the hardware level, you have some idea as to what the pointers are trying to achieve. They really are raw locations of figures being moved around, or at least, manipulated. Okay? What I want to do now is, I want to show you what the activation record and the function call and return mechanisms would be for the C + + version of swap. This is very close. I’ll write it again and leave it as an open question, for about two minutes, as to what the activation record must look like. I’ll just do a int ampersand b. So just pretend we’re dealing with pure C, except that we’ve integrated the reference feature from C + +. Okay? Int temp is equal to – what did I see over there?—a, and a is equal to b, and then b is equal to temp. Algorithmically, it looks similar, and it even sort of has the same side effect. But you may question how things are actually working behind the scenes, in order to swap things by reference, as by opposed address. Let me draw the activation record for you. This is the thing that’s referred to as a; this is the thing that’s referred to as b. This is always below that. That’s just the rule for parameters to a function or a method call. There’s a safe p c, right here, pointing to the instruction that comes right after the call to the swap function. And then, ultimately, the very first instruction does an s p is equal to s p minus 4. So that, this is the entire activation record that is in place before swap actually does anything in terms of byte moving around. Okay? This a and this b, just because we refer to them as if they’re direct integers doesn’t mean that, behind the scenes, they have to actually be real integers. The way pointer – I’m sorry – the way references work is that they are basically just automatically dereferenced pointers. Okay? So without writing assembly code for this, when I do this, and I do this, just because I’m passing in x and y – that’s the way you’re familiar with the swap function from 106b and 106x – just because you’re not putting the ampersands in front of those xs and ys, doesn’t mean that compiler is blocked from passing their addresses.This, right here, has to be an L value; this has to be an L value, as well. It means it actually has to name a space in memory, okay, that can be involved in an update or anexchange by reference. When this, right here, is compiled to cs107 assembly language, it actually does exactly the same thing that that does, right there. C + + would say, “Oh, this is x and y, but I’m not supposed to evaluate x and y because I can tell, from the prototype, that they’re being evaluated – they’re being passed by reference.” So the way it does it is, on your behalf, just secretly says, “Okay, they need – they really need this x and this y to be updated in response to the swap call.” That’s only gonna happen if this, as a function, knows where x and y are. Okay? So the illusion is that a and b, as stand-alone integers, are second names for what was originally referred to as x and y. Behind the scenes, what happens is that this lays down a pointer and this lays down a pointer. You don’t have to use the word pointer to understand references; you can just say it’s magic and somehow, it actually does update the original values. It lays down the address of these things. The assembly code that is generated for this function, right here, understands even though you don’t necessarily know this. It understands that it’s passing around pointers wherever references are expected. And so it automatically does the dereferencing of the raw pointers that implement those references, for you. The assembly code for this function is exactly the same as this, like, down to the instruction, down to the offsets; everything is exactly the same. Okay? Do you understand how that’s possible? Just because you don’t put ampersands in there, doesn’t leave the compiler clueless because it knows, from the prototype, that it’s expecting references. It’s just this second flavor of actually passing things around by address. You’re just not required to deal with the ampersands and the asterisks. Okay?It knows because of the way you declared these, that every time you refer to a and b in the code, that you’re really referring to whatever is accessible from the address that’s stored inside the space for a. Okay? Does that sit well with everybody? Okay, that’s good. So people freaked out a little bit on Assignment 1, I think – or Assignment 2 – when they saw local variables declared as references. Like, you’re used to the whole parameter being a reference, as if this data type and that data type, you’re only allowed to put them in parameter lists. That’s just not true. If you want to do this, if you do this right here, then that’s just traditional allocation of a second variable that happens to be initialized to the x variable – I’m sorry – to whatever x evaluates to. Okay? And that’s just normal. If you want to do this, you can. Okay? And this isn’t a very compelling reason because ints are small, and there’s no algorithm attached to this code. So you’re not necessarily clear why it would do that. The was this is set up, is that x really is set aside as an integer, with a 17; y is really set aside with it’s own copy of the 17. But z is declared – you drew them in 106b and 106x, this way. And the picture is totally relevant to the actual compilation measures because it really does associate the address of y inside the space that’s set aside for z. Okay? Does that make sense? If I were to do this, you would totally draw that without the shaded box. Right? This and this, from an assembly code standpoint, are precisely the same. At the C and C + + language level, you’re required to put the explicit asterisk in here; you’re not there. Okay?You may say, “Well, why would I ever use actual pointers, if references just become pointers?” Well, references are convenient, in the sense that they give the illusion of second names for original figures that are declared elsewhere. The thing is, with references, you can’t rebind the references to new L values. Do you understand what Imean when I say that? It’s a technical way of saying you can’t reassociate z with x, as opposed to y. Once it’s bound as a reference to another space, that’s in place forever. So you don’t have the flexibility to change what the arrow – where the arrow points to. You do have that ability with raw pointers. So you could not very easily build a link list, if you just had references. Does that make sense to people? Okay. So that’s why the pointer still has utility, even in C + +. Okay? You saw a method where – I think it was, like, get last player, or something like that. There was some method, in one of the classes for Assignments 1 and 2, that returned a reference. If you were, like, “I’ve never seen that before; what does that mean?” All it’s doing is it’s returning a pointer behind the scenes, okay, and you don’t have to deal with it that way. You can just actually assume that it’s returning a real string, as opposed to a string star, or an int as opposed to an int star, and just deal with it like that. But behind the scenes, it’s really referring to an int or a string that resides elsewhere. Does that make sense to people? Yes, no? Okay. So even though in C – when you – C + +, you start dealing with references, it’s not like the compilation efforts that are in place. And the assembly code that’s generated is fundamentally different in the way it supports function call and return, and just code execution. Okay? It just has a different language semantic at the C + + level that happens to be realized, similarly, at the assembly code level. Okay?References are the one addition to C + +, I’m sorry, there’s a few –but there are – a lot of people, when they program in C + +, they actually program in C, where they just happen to use objects and references. They don’t use inheritance; they don’t necessarily use templates all that often, although most of the time, they do. But that’s not an object-oriented issue. They don’t use inheritance; they don’t use a lot of the clever little C ++isms that happen to be in there. They really just code in C, with references and objects. And they just think of references as more convenient pointers, less confusing. And they think of objects as structs that happen to have methods defined inside. Does that mean there’s a reasonable analogy I’m throwing by, I’m assuming? Okay? Well, when you program as an LL purist, you’re not supposed to think of objects as structs, you’re supposed to think of them as these alive entities, that actually are self-maintaining and you communicate with them through the series of instructions that you know they they’ll respond to because you read the dot h file. Okay? Turns out that structs and classes – just looking at this from an “under the hood” perspective – structs and classes are laid down in memory virtually the same way. Not even virtually, exactly the same way. Okay? In C + +, structs can have methods. The structs – I’m not misusing a word there – structs can have constructors, destructors, and methods, as can classes. Classes aren’t required to have any methods. The only difference between structs and classes, in C + +, is that the default access modifier for classes is private, and the default access modifier for structs is public. Does that make sense to people? Okay? So the compiler actually views them as more or less the same thing. It’s just there’s a little bit of basically a switch statement at the beginning, where it says, “Was it declared as a struct or a class?” And then, it says, “Okay, it’s either private or public, by default.” Okay?When you do something like this: class, I’m gonna say – I’ll just do binky, and I’ll worry about the public section in a second. Let’s not worry about constructors or destructors. They’re interesting, but they’re just complicated, so I want to blow them off for a minute.And then, privately, let’s say that I have an int called winky, a char star called blinky, and let’s say I have a wedged character array of size 8, called slinky. And let’s just get all these semicolons to look like semicolons. And that is it. And those are the only data fields I push inside. Every single time you declare one of these binky records, or binky objects, you do this. It shouldn’t be that alarming that you really get a blob of memory that packs all the memory needed for these three fields into one rectangle. And it uses exactly the same layout rules because of all the fields, winky is declared before whatever I called it, blinky. And then, on top of that, is an array of 8 characters called slinky, that this entire thing is the b type. It’s laid out that way because if you look at this, and think of it as a struct, the layout rules are exactly the same. Winky is stacked at offset zero; this is stacked on top of that, and this resides on top. This is an exposed pointer, which is why there 4 bytes for that rectangle. This is an array that’s wedged inside the struct/class, which is why it looks like that for the upper 50 percent of it. When you do something like this – forget about constructors, let’s just invent a method, right here. Let’s just assume that I have this method, int and some other thing, donkey where I pass in – let’s say a [inaudible] x and an int y. Okay? And let me actually declare another method, char star – I’m running out of consonants – minky, and all I want to do is I want to pass in, I’ll say, an int star called z. And I will inline the implementation of this thing to do this: int y – I don’t want to do that – int w is equal to asterisk z. And then, I want to return slinky plus whatever I get by calling this donkey method.I’m not going to implement all the code for this, but I will do this: Winky, winky, and that’s gonna be good enough. It’s a very short method. You don’t normally inline it in the dot h; I’m just putting all the code in one board. Okay? Just look at this from an implementation standpoint, and let me ask something I know you know the answer to. Z right there, is explicitly passed in as a parameter; w is some local variable, okay, that’s clearly gonna be part of the activation record for this minky thing. Why does it have access to winky right there, or slinky right there? Because you know that it has the address of the object that’s being operated on. Does that make sense? The this pointer is always passed around as the negative 1th argument, or the 0th argument, where everything is slided over to make space for the this pointer. It’s always implicitly passed on your behalf. Okay? Do you know how, for like vector-nu, and vector-dispose, and vector-nth, vector-append, you always pass in the address of the relevant struct, as the explicit 0th parameter. Okay? Well, they just don’t bother being explicit about it in C + + because if they know that you’re using this type of – if you’re using that type of notation, you’re really dealing with object orientation. What really happens, on your behalf, is that it basically calls the minky function, not with one variable, but with two. It actually the address of something that has to be a binky class, or a binky struct, as the 0th argument. So whenever you see this in C + +, what’s really happening is that it’s doing this: it’s calling the minky function, passing in the ampersand of b, and the ampersand of n. Okay? That happens to be an elaborately named function. And I’m just going with the name spacing to make it clear that minky is defined inside binky. Okay? And I’m writing it this way because even though we don’t call it using that – that we don’t use it – call it using this structure, right here, this is precisely how it’s called at the assembly code level. Okay?There’s certainly an address of the first assembly code instruction that has anything to do with the allocation of this w variable. There’s going to be an s p is equal to s p minus 4, at the top of the assembly code that gets admitted on behalf of this. People believe that, I’m assuming? Yes, no? Okay? The reason that C + + compilers can just be augmented, at least the code admission port of it, can be augmented to really accommodate some parts of C + + fairly easily, references and traditional method calls against an object, is that, whenever it see this, it says, “Okay, I know they mean this because they’re being all LL about it. But they’re really calling a block of code, okay, associated with the minky function inside the minky class, and I have to not only pass in ampersand of m as an explicit argument, but before that I have to splice in the address of the receiving object.” Does that make sense? Okay. So the activation record that exists on behalf of any normal method inside a class, it always has one more parameter than you think But it still is gonna have a safe p c – I’ll write it right there – it’s gonna have two parameters, on top of it. This right there, this would be the thing that is locally referred to as z. Okay? Below that, it would make space for this variable uptight int called w. This right here might point to something like that; it certainly would point to something like that in this scenario, right here. Does that make sense to people?Because n – I’m not using pure stack frame picture here – but because n is declared with a 17 right there, this would obviously be declared and initialized that way. Okay? Make sense? This would point to some assembly kind code instruction associated with after that call, right there. So there’s a little bit more to keep track of, but as long as you just understand that k argument methods – k just being some number – k argument methods really are just like k plus 1 argument functions. Okay? When we’re thinking in terms of a paradigm, we don’t actually wonder about how C and C + + are similar. But when we have to write assembly code for something, we say, “Okay, I want to use the same code admission scheme for both C structs, with functions, and C + + objects, with methods.” You can use exactly the same scheme, the same memory model, for structs and classes, and function call, and function call and return, by just looking at k algorithmic methods, as if they’re k plus 1 arguments functions, knowing that the 0th argument always becomes the address of the relevant object. Okay? Does that make sense to people? When this, ultimately, calls this function right here, you understand that it’s really equivalent to that. We just don’t bother putting in the this pointer. Does that make sense? So internally, when I set up function call, or assembly code to actually jump to the binky colon colon donkey method, I actually have to make space for 12 bytes of parameters, 8 bytes for two copies of winky. Make sense? And also, the this pointer. And because there’s nothing in front of this method call, it just knows to propagate whatever value this is, and replicate it down here for the second method call that comes within the first one. Does that sit well with everybody? Okay?Had I had a variable of type binky reference here, then – and I had done, like let’s say I had done this – I can’t change the picture, but I’m just improvising this one point. If I had done something like this: binky of d – binky reference d, and done this, then the address of whatever binky object d refers to would have to be the thing that’s laid down in the this portion of the activation portion of the record for the donkey method. Okay? That make sense to every body? Yes, no. Got a nod; it doesn’t tell me. Okay. So even though。

Lecture_PLL10

Lecture_PLL10

8
W. Rhee, Institute of Microelectronics, Tsinghua University
Step Response Comparison: PLL vs. DLL
• Step response of PLL propagates. Æ Jitter accumulation.
12
W. Rhee, Institute of Microelectronics, Tsinghua University
IV. Delay-Locked Loop 2. Architecture
13
W. Rhee, Institute of Microelectronics, Tsinghua University
3
W. Rhee, Institute of Microelectronics, Tsinghua University
DLL Evolution
JSSC’88, Johnson et al.
• Easier synchronization method than PLL-based in μP systems. - Early-late (bang-bang) operation - Clock stretch or pause possible.
11
W. Rhee, Institute of Microelectronics, Tsinghua University
PLL vs. DLL
PLL Stability Freq. generation RJ DJ & coupling BB operation Jitter transfer Clock manipulation Duty cycle Power & area 9 9 9 9 9 9 9 9 9 9 DLL 9

pll 寄存器配置原则英语

pll 寄存器配置原则英语

pll 寄存器配置原则英语PLL Register Configuration Principles.Phase-locked loops (PLLs) are analog circuits that generate a clock signal with a fixed frequency relationship to another clock signal. They are used in a wide variety of electronic devices, including computers, cell phones, and video game consoles.PLLs are typically configured using a set of registers. The values written to these registers determine the PLL's operating characteristics, such as the output frequency, the loop bandwidth, and the lock time.When configuring a PLL, it is important to follow a few general principles:1. Start with the default values. The PLL's manufacturer will typically provide a set of default values for the PLL's registers. These values are a good startingpoint for configuring the PLL.2. Make small changes. When changing the values of the PLL's registers, it is important to make small changes at a time. Making large changes can cause the PLL to become unstable.3. Monitor the PLL's output. After making changes to the PLL's registers, it is important to monitor the PLL's output to ensure that it is operating as expected.The following sections provide more detailed information on how to configure the PLL's registers.Output Frequency.The output frequency of the PLL is determined by the values of the reference frequency, the feedback divider, and the output divider. The following equation shows the relationship between these values:Output frequency = Reference frequency / (Feedbackdivider Output divider)。

pll公式 中英对照

pll公式 中英对照

PLL公式中英对照是学习PLL算法的基础,PLL算法是魔方复原的最后一步,也是最具挑战性的一步。

如果你已经掌握了魔方的基本操作,那么学习PLL算法将是你下一步的挑战。

本文将带你深入了解PLL公式中英对照,让你轻松掌握PLL算法。

一、什么是PLL算法?PLL算法是指魔方最后一步的算法,也是最难的一步。

它的全称是Permutation of the Last Layer,意为最后一层的排列。

PLL算法的目的是将最后一层的所有棱块和角块都排列好,使得最后一层的颜色完全一致。

二、PLL公式中英对照PLL公式中英对照是学习PLL算法的基础。

下面是PLL公式中英对照表:1.Ua (U-perm A):U R U' R' U' F' U F R U R' U' R' F R F'2.Ub (U-perm B):R U R' U R U2 R' U' R U' R' U2 F' U' F3.Z (Z-perm):M2 U M2 U M' U2 M2 U2 M' U24.H (H-perm):M2 U M2 U2 M2 U M25.Aa (A-perm A):R' U R' d' R' F' R2 U' R' U R' F R F6.Ab (A-perm B):R U R d R F' R2 U' R U' R F R' F'7.E (E-perm):x' R U' R' D R U R' D' R U R' D R U' R' D'8.F (F-perm):R U' R' U' R U R' F' U' F R U R' U' F'9.Ga (G-perm A):R' U R' d' R' F' R2 U' R' U R' F R F R U' R' U10.Gb (G-perm B):R U R d R F' R2 U' R U' R F R' F' R U R三、PLL公式中英对照的解读1.Ua (U-perm A)这个PLL公式中英对照是用来解决U型魔方的。

PLL配置

PLL配置

PLL配置PLL configuration时钟信号控制器提供了高度的灵活性,在外部晶体或振荡器运行在最高频率的核和外设的选择应用上,并保证为特定的外设提供适当的频率,如以太网,USB OTG FS和HS,I2S和SDIO。

几个预分频器用于配置在AHB频率,高速APB(APB2)和低速APB(APB1)域。

AHB域的最大频率为120 MHz,高速APB2域所允许的最大频率为60兆赫。

低速APB1域所允许的最大频率为30兆赫所有外设时钟来源于系统时钟(SYSCLK),除了:●USB OTG FS时钟(48兆赫),随机模拟生成器(RNG)时钟(≤48兆赫)和SDIO时钟(≤48兆赫),它们来自锁相环的一个特定的输出(PLL48CLK)。

●I2S 时钟●USB OTG HS(60兆赫)的时钟,它从外部PHY提供●以太网MAC时钟AHB时钟8分频后提供给核系统定时器(SysTick),核系统定时器可以以此时钟工作,也可以以Cortex时钟(HCLK) 工作,在SysTick控制和状态寄存器中配置。

定时器的时钟频率由硬件自动设置。

有两种情况:●如果APB预分频器为1,定时器的时钟频率被设置为与之相连的APB相同的频率。

●否则,APB预分频器不为1,定时器的时钟频率就为两倍(×2)的APB的频率。

在STM32F2xx器件有两个PLL:●主锁相环(PLL)时钟由HSE或HSI振荡器提供,具有两个不同的输出时钟:第一输出用于产生高速系统时钟(高达120MHz)第二输出,用于产生时钟的USB OTG FS(48兆赫),随机模拟发生器(≤48兆赫)和SDIO(≤48兆赫)。

●专用PLL(PLLI2S)用于产生一个精确的时钟来实现I2S接口的高品质音频性能因为主PLL配置参数一旦使能就不能改变,建议使能之前配置PLL参数(选择HSI或HSE振荡器作为PLL 时钟源之前配置的PLL和分频的结构因素M,N,P和Q)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
18
W. Rhee, Institute of Microelectronics, Tsinghua University
PLL-Based CDR: Design Trade-Off
• Main goal is to extract clock information from noisy data and do retiming. (clock recovery + data retiming) • Ultimate goal is to achieve low BER.
4
W. Rhee, Institute of Microelectronics, Tsinghua University
SerDes System Overview
Optical Link Example
• Transmitter - Parallel-to-serial (low data rate to high data rate) - Laser + Modulator + MUX + TXPLL • Receiver - Serial-to-parallel (high data rate to low data rate) - Photodiode + TIA + LA + DMUX + RXPLL (CDR)
ΔTcc ,rms ≈ lim
1 (T2 − T1 )2 + (T3 − T2 )2 + ⋅ ⋅ ⋅ + (TN − TN −1 )2 N →∞ N
• Period jitter - For PLL, period jitter = absolute jitter.
ΔTp ,rms = lim
*
1 (T − T1 )2 + (T − T2 )2 + ⋅ ⋅ ⋅ + (T − TN −1 )2 N →∞ N
W. Rhee, Institute of Microelectronics, Tsinghua University
11
V. Applications 2. Clock and Data Recovery Systems B. System Design
12
W. Rhee, Institute of Microelectronics, Tsinghua University
PLL DESIGN AND CLOCK/FREQUENCY GENERATION (Lecture 11)
Woogeun Rhee Institute of Microelectronics Tsinghua University
Announcement: Invited Lecture/Seminar
8
W. Rhee, Institute of Microelectronics, Tsinghua University
Cock Recovery: PLL-Based (Active/Analog)
D Q DFF DAT’
DAT
PD
LPF
VCO
CLK’
• Highly integrated low-cost solution • Tunable frequency with high-Q filtering • Requires frequency acquisition.
Note: Periodic jitter (PJ) is often considered DJ by sinusoidal modulation, which is different from period jitter.
13
W. Rhee, Institute of Microelectronics, Tsinghua University
Jitter
• Absolute jitter (long-term jitter) - Phase error w.r.t. ideal reference
ΔTabs ,rms = lim
1 ΔT12 + ΔT22 + ⋅ ⋅ ⋅ + ΔTN2 N →∞ N
• Cycle-to-cycle jitter (short-term jitter) - No need for reference
• LPF and HPF on random data cause intersymbol interference (ISI). • Various nonidealities (PCB trace, impedance mismatch, ..) can cause ISI. • Noise (amplitude/phase) further aggravates data waveform. • Eye diagram often used to observe ISI effect for long sequence data.
5
W. Rhee, Institute of Microelectronics, Tsinghua University
Clock Extraction
RZ Data NRZ Data
• NRZ is more bandwidth efficient but contains no clock information. • To prevent dc wandering, max run length is limited (e.g. 8B/10B code).
a
b
m
)dfm [rms deg]
16
W. Rhee, Institute of Microelectronics, Tsinghua University
Deterministic Jitter by Modulation
Time Domain
RJpk-pk (14*σ) Pspur DJ DJ dominant (modulation) RJ dominant (noise)
G ain P eaking (for second-order type 2)
= 10 log
8ζ 8ζ
4
4
− 4ζ
2
− 1+

2
+1
dB
• Jitter transfer - Ratio of CDR output jitter to input sinusoidal jitter. • Jitter peaking causes jitter accumulation. Æ Serious problem for data repeaters. • Always exists in second-order type 2 PLL. • For OC-192, jitter peaking < 0.1dB within 120kHz frequency band. Æ Requires ζ > 4.4 for type 2 PLL.
2
W. Rhee, Institute of Microelectronics, Tsinghua University
Term Project/Final Exam
3
W. Rhee, Institute of Microelectronics, Tsinghua University
V. Applications 2. Clock and Data Recovery Systems A. Overview
Jitter Inside
• Total jitter (TJ) - Random jitter (RJ) + deterministic jitter (DJ) • Random jitter (RJ) - Non-systematic jitter - Gaussian distribution • Deterministic jitter (DJ) - Systematic jitter - Coupling, ISI, duty cycle distortion
19
W. Rhee, Institute of Microelectronics, Tsinghua University
Jitter Transfer and Jitter Peaking
Repeater PLL
H(s)
0dB
Repeater PLL
Repeater PLL
Jitter peaking
17
W. Rhee, Institute of Microelectronics, Tsinghua University
Pattern-Dependent Jitter
• Pattern-dependent jitter can occur with non-periodic input.
Ref: Wolaver’s book
Frequency Domain
fo
DJ pk − pk = 0.01 UI
→ →
Δfpk
fm
Pspur
=
0.01× 2π 2 2 ⎛ Δfpk ⎞ = 10log ⎜ ⎟ ≈ -36dBc f 2 ⎝ m ⎠
• Total jitter = Random jitter (RJ) + Deterministic Jitter (DJ). • Depending on design, total jitter can be dominated by DJ.
10
W. Rhee, Institute of Microelectronics, Tsinghua University
Data Retiming with Recovered Clock
1
相关文档
最新文档