CP-PLL Locking Transient — R Ảnh Hưởng Thế Nào Đến Settling?
Bode plot cho biết phase margin nhưng không mô tả PLL settle ra sao trong time-domain. Bài này chạy behavioral transient sim cho 3 giá trị R, giải thích tại sao ζ cao không phải lúc nào cũng đồng nghĩa với settling tốt — và cách đọc kết quả bằng PLL Loop Analyzer.
Không spam. Chỉ bài kỹ thuật AMS đáng đọc — gửi qua email khi có bài mới.
Bài trước chọn loop filter bằng Bode plot — kéo slider R, C₁, C₂ trên PLL Loop Analyzer, đọc và PM. Khi PM ≈ 45–60°, vòng lặp được xem là ổn định.
Nhưng Bode plot là frequency-domain. Nó nói “PM = 53°” — không nói VCO sẽ leo từ lên như thế nào. Mất bao lâu? Overshoot không? Dao động mấy lần trước khi settle?
Câu hỏi đó cần time-domain transient simulation.
Mục lục
- Setup
- Ba trường hợp — metrics
- Kết quả transient
- Phân tích từng case
- Settling time
- R có một sweet spot — và giới hạn ở cả hai phía
1. Setup
Model dùng hybrid ODE solver: mỗi chu kỳ chia hai phase — CP-on và CP-off — giải bằng Radau (chi tiết solver + code ở Cycle Slip & Acquisition; code đầy đủ ở repo ams-models/pll).
Lần này MHz (cố ý chọn nhỏ) để tập trung vào settling, không phải acquisition:
| Tham số | Giá trị |
|---|---|
| 50 MHz | |
| 2.4 GHz | |
| 48 | |
| 130 µA | |
| 200 MHz/V | |
| 15 pF | |
| 1.5 pF | |
| 2.395 GHz — MHz, mV |
là biến duy nhất. Ba giá trị.
2. Ba trường hợp — metrics
Zero, pole, ζ — công thức analytic (chính xác):
| Case A | Case B | Case C | |
|---|---|---|---|
| 6 kΩ | 16 kΩ | 40 kΩ | |
| 6.0 | 6.0 | 6.0 Mrad/s | |
| (→ ) | 11.1 (1.77M) | 4.2 (0.66M) | 1.67 (0.27M) |
| (→ ) | 122 (19.5M) | 45.9 (7.30M) | 18.3 (2.92M) |
| 0.27 | 0.72 | 1.80 |
Crossover & PM — cần đọc từ PLL Loop Analyzer (full , không có công thức closed-form đáng tin):
| Case A | Case B | Case C | |
|---|---|---|---|
| 0.97 | 1.37 | 2.43 MHz | |
| 0.05 | 0.19 | 0.83 ⚠ | |
| PM | 26° | 53° | 44° |
Điểm đáng chú ý ở Case C: trông như “overdamped” theo 2nd-order — đáng lẽ không ring và PM cao — nhưng PM thực chỉ 44°, vì MHz đã tiến sát pole lọc ripple MHz (): pole thêm phase lag, cắt PM xuống (chi tiết ở mục 4).
Vì sao closed-form không đủ: công thức này giả định tại crossover (vùng phẳng giữa zero và pole), chỉ đúng khi — tức Case B. Case A có (crossover còn trong vùng tích phân, gần ), Case C có sát — cả hai khiến lệch khá nhiều. Vì vậy luôn đọc , PM trực tiếp từ tool, đừng tin con số closed-form ngoài Case B.
Kiểm tra trên PLL Loop Analyzer
Dùng tool ngay bên dưới — set các thông số sau cho từng case để thấy Bode plot và PM trực tiếp. Giữ nguyên , , , , , . Chỉ thay R:
| R (kΩ) | PM (tool) | Đặc điểm trên Bode | |
|---|---|---|---|
| Case A | 6 | ≈ 26° | — zero chưa đủ phase lead |
| Case B | 16 | ≈ 53° | — vùng phase lead tốt |
| Case C | 40 | ≈ 44° | tiến sát — pole lọc ripple cắt phase |
3. Kết quả transient
Panel trên — : Cả ba case xuất phát từ GHz và kéo về GHz. Sự khác biệt nằm ở tốc độ và hình dạng đường cong.
Panel dưới — : Cần đạt mV. Ripple trên gây ra ripple trực tiếp trên tần số.
4. Phân tích từng case
Case A — R = 6 kΩ (ζ = 0.27, PM = 26°)
Crossover thực MHz nằm dưới MHz — thực ra gần đúng MHz, vì crossover còn nằm trong vùng tích phân của loop filter (chưa tới zero). Vì , zero mới cho phase lead một phần: (chưa tới vùng lead tối đa 90°). Tổng phase (pole ở 19.5 MHz quá xa, gần như không đóng góp) → PM chỉ 26°.
Kết quả: PLL ring mạnh quanh MHz. Envelope tắt với hằng số thời gian ns, nhưng với PM thấp như vậy thực tế mất ~2.8 µs để settle hẳn (sim: overshoot ~47%).
Case B — R = 16 kΩ (ζ = 0.72, PM = 53°)
MHz nằm giữa MHz và MHz — đây là vùng zero đang cho phase lead tối đa. Loop filter cho dòng CP tích lũy vào cả C₂ (thay đổi Vtune nhanh) lẫn C₁ (qua R, chậm hơn). Hai hằng số thời gian phối hợp đúng → settling sạch: overshoot nhỏ (~12%, do closed-loop zero đẩy lên cao hơn mức thuần), vài dao động nhẹ rồi settle trong ~0.84 µs.
Đây là vùng thiết kế lành mạnh: , PM ≈ 45–60°.
Case C — R = 40 kΩ (ζ = 1.80, PM = 44°)
Theo 2nd-order: → overdamped → không ring. Nhưng tool cho PM = 44° và sim vẫn thấy dao động.
Lý do: khi R tăng, crossover tăng còn pole lọc ripple lại giảm — hai bên tiến lại gần nhau. Đến Case C, MHz đã sát MHz (). Pole thêm phase lag ngay tại crossover, kéo PM từ ~84° (chỉ riêng zero đóng góp) xuống còn 44°.
Ringing trong Case C xảy ra ở tần số gần MHz — nhanh hơn và tắt nhanh hơn Case A, nhưng vẫn là dao động không mong muốn. Đây chính là điều mà 2nd-order formula (chỉ thấy ) bỏ qua hoàn toàn.
5. Settling time
Với 2nd-order approximation, settling đến trong :
| Case A | Case B | Case C | |
|---|---|---|---|
| (Mrad/s) | 1.62 | 4.33 | 10.8 |
| theo 2nd-order | ~2.5 µs | ~0.92 µs | ~0.37 µs |
| Thực tế (sim) | ~2.8 µs (PM 26°, ring) | ~0.84 µs (≈ khớp) | ~0.86 µs (pole ring) |
Case C trông rất nhanh trên giấy (0.37 µs), nhưng ringing do gần thêm vào thời gian settle thực tế (~0.86 µs — chậm 2.3×). Công thức 2nd-order chỉ đúng khi — tức là .
6. R có một sweet spot — và giới hạn ở cả hai phía
Từ ba case, thấy rõ: tăng R không phải lúc nào cũng tốt hơn.
- R nhỏ → : zero chưa đủ phase lead, PM thấp, ring quanh .
- R lớn → tiến sát : pole lọc ripple cắt phase, PM thấp, ring ở tần số gần .
PM đạt cực đại khi — tức khi crossover nằm đúng giữa zero và pole trên thang log. Điều kiện thực tế:
Với Case B (R = 16 kΩ): MHz MHz MHz ✓
Nếu cần loop bandwidth lớn hơn mà không muốn cản trở, cần giảm — nhưng nhỏ hơn có nghĩa là lọc ripple kém hơn, và có thể cần thêm stage lọc sau.
Tổng kết
| Case A (R = 6 kΩ) | Case B (R = 16 kΩ) | Case C (R = 40 kΩ) | |
|---|---|---|---|
| (2nd-order) | 0.27 | 0.72 | 1.80 |
| PM (tool, exact) | 26° | 53° | 44° |
| 0.05 | 0.19 | 0.83 ⚠ | |
| Settling | Ring tại | Clean | Ring tại |
Ba điều cần nhớ:
PM — không phải ζ — là chỉ số chính xác nhất về settling behavior. Dùng PLL Loop Analyzer ở trên để check PM ngay khi thay đổi R. Nếu PM < 45°, vòng lặp cần điều chỉnh dù ζ trông ổn.
Khi tăng R để mở rộng bandwidth, kiểm tra so với . Nếu , loop bandwidth đang lấn vào vùng pole lọc ripple — PM sẽ giảm, settling xấu đi.
2nd-order formula cho settling time chỉ đúng khi . Khi gần , thêm thời gian cho mode tắt dần. Cách đơn giản nhất để kiểm tra: chạy transient sim với thông số thực, hoặc đọc PM trực tiếp từ PLL Loop Analyzer.
Tham khảo
- Razavi, Design of Analog CMOS Integrated Circuits, 2nd ed., Ch. 15 — transient và stability của CP-PLL.
- Best, Phase-Locked Loops, 6th ed. — lock-in range, settling time analysis.
- Gardner, Phaselock Techniques, 3rd ed. — phân tích rigorous loop dynamics.