Skip to content

SerDes

SerDes (Serializer/Deserializer) là khối PHY biến dữ liệu song song trong chip thành một luồng bit nối tiếp tốc độ cao ở bên phát, và khôi phục lại dữ liệu song song ở bên thu. PCIe, Ethernet, USB, SATA và các giao diện chip-to-chip đều dùng SerDes ở tầng vật lý. Trang này trình bày các khối bên trong SerDes, theo thứ tự: lý do cần SerDes, bên phát, kênh truyền, bên thu (equalization và CDR), các đại lượng đo chất lượng liên kết (eye diagram, jitter, BER), rồi các chế độ kiểm tra. Cách mã hóa bit trước khi vào SerDes được trình bày ở Line Coding.

Lý do dùng liên kết nối tiếp

Bus song song truyền nhiều bit cùng một clock chung. Khi tốc độ tăng, các đường dữ liệu lệch pha nhau (skew), nhiễu xuyên âm giữa các đường tăng, và số chân của package trở thành giới hạn. Liên kết nối tiếp dùng một cặp vi sai cho mỗi chiều, không truyền clock riêng, nên tăng được tốc độ mỗi lane lên hàng chục Gbit/s. Muốn tăng băng thông thì ghép nhiều lane song song (x1, x4, x16 trong PCIe).

Bus song song Liên kết nối tiếp (SerDes)
Clock Clock chung, hoặc clock đi kèm nhóm dữ liệu Khôi phục từ dữ liệu (CDR)
Số đường mỗi chiều Nhiều (8, 16, 32 bit trở lên) Một cặp vi sai mỗi lane
Giới hạn tốc độ Skew giữa các đường, crosstalk Suy hao và nhiễu của một kênh
Mở rộng băng thông Tăng độ rộng bus Tăng tốc độ lane hoặc số lane

Cấu trúc một đường SerDes

Chuỗi xử lý từ dữ liệu song song đến đường truyền và ngược lại đã được vẽ ở Line Coding. Phần sau đi vào các khối ở tầng analog và mixed-signal.

Bên phát

Bên phát gồm ba khối chính:

  • Serializer: chuyển từ bus song song (ví dụ 32 hoặc 64 bit ở clock thấp) sang một bit mỗi chu kỳ ở clock đường truyền. Clock tốc độ cao do một PLL tạo từ clock tham chiếu (reference clock), thường là 100 MHz trong PCIe.
  • Equalization phát (FFE, feed-forward equalizer): bộ lọc FIR nhiều tap làm nổi thành phần tần số cao của tín hiệu trước khi vào kênh, bù trước cho suy hao dự kiến. Dạng đơn giản nhất là pre-emphasis hoặc de-emphasis: bit ngay sau một cạnh chuyển mức có biên độ lớn hơn các bit liền sau cùng mức.
  • Driver: tạo tín hiệu vi sai với biên độ và trở kháng đầu ra xác định, thường 100 Ω vi sai. Các dạng thường gặp là current-mode logic (CML) và voltage-mode.

Kênh truyền

Kênh gồm đường mạch trên package, PCB, connector, cáp và tụ ghép AC. Suy hao của kênh tăng theo tần số, chủ yếu do tổn hao điện môi và hiệu ứng bề mặt (skin effect) của đồng. Với dữ liệu NRZ tốc độ R bit/s, tần số Nyquist là R/2, và insertion loss của kênh được đặc tả bằng dB tại tần số này. Hệ quả là xung của một bit bị trải rộng sang các bit lân cận, gọi là nhiễu liên ký tự (inter-symbol interference, ISI). Phản xạ do lệch trở kháng ở via, connector và stub gây thêm ISI. Các quy tắc layout để hạn chế các nguyên nhân này nằm ở Differential Pair.

Bên thu

Bên thu cần khôi phục lại bit từ tín hiệu đã méo, theo các bước:

  • Termination và bộ khuếch đại đầu vào: phối hợp trở kháng và đưa tín hiệu về biên độ xử lý được.
  • CTLE (continuous-time linear equalizer): bộ lọc analog tuyến tính tăng độ lợi ở tần số cao, bù lại suy hao của kênh. CTLE khuếch đại cả nhiễu ở tần số cao, nên không đủ cho kênh suy hao lớn.
  • DFE (decision feedback equalizer): trừ khỏi tín hiệu hiện tại phần ISI do các bit đã quyết định trước đó gây ra. Vì chỉ dùng bit đã quyết định (số 0 hoặc 1), DFE loại ISI mà không khuếch đại nhiễu. Hạn chế là sai quyết định có thể lan truyền (error propagation) và vòng phản hồi phải hoàn tất trong một UI.
  • CDR: khôi phục clock lấy mẫu từ các cạnh chuyển mức của dữ liệu, rồi dùng clock đó lấy mẫu bit. CDR thường dùng PLL hoặc phase interpolator (PI) điều chỉnh pha clock lấy mẫu để nằm giữa mắt tín hiệu.
  • Deserializer: gom các bit nối tiếp thành bus song song ở clock thấp, rồi chuyển sang các khối tiếp theo (nhận biết ranh giới ký tự, giải mã khối, descramble).

Các hệ thống tốc độ cao dùng thêm adaptation: bộ thu tự điều chỉnh hệ số CTLE và DFE theo kênh thực tế. PCIe từ Gen3 còn cho bên thu yêu cầu bên phát đổi hệ số FFE của nó trong lúc training, xem PCIe.

Đo chất lượng liên kết

Eye diagram

Eye diagram chồng nhiều khoảng một unit interval (UI) của tín hiệu lên nhau trên cùng một khung. Một UI là thời gian của một bit, ví dụ 100 ps ở 10 Gbit/s NRZ. Vùng trống ở giữa gọi là "mắt": chiều cao là biên độ nhiễu còn chấp nhận được, chiều rộng là biên jitter còn chấp nhận được. Bộ thu cần lấy mẫu ở giữa mắt.

Eye diagram trước và sau equalization

PAM4 có ba mắt chồng theo chiều dọc thay vì một, nên mỗi mắt có biên độ khoảng một phần ba so với NRZ cùng biên độ tổng. Đây là lý do PAM4 nhạy nhiễu hơn và đi kèm FEC, xem Line Coding.

Jitter

Jitter là độ lệch của thời điểm chuyển mức so với vị trí lý tưởng. Hai nhóm chính:

Nhóm Nguồn Đặc tính
Random jitter (RJ) Nhiễu nhiệt trong mạch, nhiễu pha của PLL Phân bố Gauss, không giới hạn biên
Deterministic jitter (DJ) ISI, crosstalk, nhiễu nguồn, sai lệch duty cycle Có biên xác định, lặp lại theo mẫu dữ liệu hoặc theo nguồn nhiễu

Tổng jitter được đặc tả ở một bit error ratio (BER) cho trước, vì phần đuôi Gauss của RJ làm tổng jitter tăng theo yêu cầu BER.

BER và margin

BER (bit error ratio) là tỷ lệ bit nhận sai trên tổng số bit. Các chuẩn thường yêu cầu BER cỡ 10^-12 đối với NRZ có CDR và equalizer. Với PAM4, BER thô trước FEC cao hơn nhiều (ví dụ 802.3bs chấp nhận BER thô cỡ 10^-4 và dùng RS-FEC để đưa về mức thấp), xem Line Coding. Đo BER trực tiếp ở 10^-12 tốn thời gian, nên thực tế dùng đo biên (eye margin) rồi suy ra, hoặc đo BER ở ngưỡng cao hơn và ngoại suy.

Spread-spectrum clocking

PCIe cho phép điều chế nhẹ tần số clock tham chiếu theo chu kỳ chậm để năng lượng bức xạ phân bố trên dải tần rộng, giảm đỉnh phát xạ EMI. Đây là spread-spectrum clocking (SSC), dạng down-spread (chỉ giảm tần số so với danh định). Cả hai đầu liên kết phải chấp nhận SSC, CDR phải bám theo được độ lệch tần số này.

Kiểm tra và đo

Chế độ Công dụng
Pattern PRBS (ví dụ PRBS7, PRBS31) Chuỗi giả ngẫu nhiên đã biết, bên thu tự kiểm tra và đếm lỗi bit
Loopback Dữ liệu nhận được đưa ngược lại bên phát (gần hoặc xa, nội bộ hoặc qua đường truyền) để cô lập lỗi theo đoạn
BERT (bit error ratio tester) Thiết bị đo gửi PRBS và đếm lỗi, kèm quét ngưỡng và pha lấy mẫu để vẽ eye hoặc bathtub curve
Oscilloscope tốc độ cao Đo eye diagram và jitter của tín hiệu trên đường mạch hoặc connector
Compliance test Bộ test theo từng chuẩn (PCIe, USB, Ethernet) kiểm tra bộ phát và bộ thu theo mặt nạ eye (eye mask) của chuẩn

Liên quan

  • PCIe: giao thức chạy trên SerDes, bao gồm link training và equalization.
  • Line Coding: mã hóa bit trước SerDes.
  • Differential Pair (Hardware Design): thiết kế đường mạch vi sai cho SerDes.
  • PCIe trong Linux kernel (Linux Kernel): phía driver của liên kết PCIe.

Tài liệu tham khảo