Âm thanh & Loa DIY

Chế độ PLL của PCM5102A: khi nào không cần cấp MCLK riêng?

Cimo 9 phút đọc

PCM5102A có thể tự sinh xung hệ thống bằng PLL nội lấy BCK làm tham chiếu, không cần cấp MCLK riêng. Bài viết nêu điều kiện tỉ lệ BCK theo datasheet, ví dụ tính số tại 48 kHz và 44,1 kHz, cách kiểm tra PLL đã khóa và các giới hạn cần biết.

Chế độ PLL của PCM5102A: khi nào không cần cấp MCLK riêng?
Mục lục
  1. PLL nội của PCM5102A hoạt động thế nào?
  2. Khi nào nên dùng PLL, khi nào nên cấp SCK ngoài?
  3. Điều kiện BCK ở chế độ PLL theo datasheet
  4. Ví dụ: tính BCK và kiểm tra điều kiện PLL tại fs = 48 kHz
  5. Ví dụ: trường hợp BCK không khóa được PLL tại fs = 44,1 kHz
  6. Cách kiểm tra PLL đã vào khóa hay chưa
  7. Giới hạn của chế độ PLL cần biết
  8. Câu hỏi thường gặp
  9. Dùng chế độ PLL thì có cần nối gì vào chân SCK không?
  10. BCK bằng 48 lần fs có dùng chế độ PLL được không?
  11. Đổi từ nhạc 44,1 kHz sang 48 kHz, PLL có tự khóa lại không?
  12. Dùng PLL có làm giảm SNR 112 dB của PCM5102A không?

PCM5102A hoàn toàn có thể chạy mà không cần cấp xung MCLK riêng: chỉ cần nối chân SCK xuống mass (GND), giữ BCK và LRCK chạy đúng, chip sẽ tự dùng PLL nội bộ để sinh xung hệ thống từ BCK. Điều kiện bắt buộc là tỉ lệ BCK so với tần số lấy mẫu phải thuộc nhóm datasheet cho phép ở chế độ PLL — 32 lần hoặc 64 lần fs.

Trong bài này, MCLK (master clock, xung nhịp chủ) được hiểu là cùng tín hiệu với SCK (system clock, xung nhịp hệ thống cấp vào chân SCK); BCK là xung nhịp theo bit của giao tiếp I2S, còn LRCK là xung chọn kênh trái/phải có tần số bằng đúng tần số lấy mẫu fs. Nội dung đối chiếu datasheet SLAS859C của Texas Instruments, kèm hai ví dụ tính số. Nếu chưa nắm tổng quan về chip, hãy đọc trước bài PCM5102A là gì? Thông số, nguyên lý hoạt động và ứng dụng.

Kiểm tra tín hiệu xung nhịp trên module DAC bằng đầu dò phân tích logic trên bàn làm việc điện tử

PLL nội của PCM5102A hoạt động thế nào?

PLL là viết tắt của Phase-Locked Loop, tức vòng khóa pha: mạch tự điều chỉnh bộ dao động nội bộ để bám theo một xung tham chiếu bên ngoài. PCM5102A cần xung hệ thống tốc độ cao để chạy bộ lọc nội suy số và bộ điều chế delta-sigma (dữ liệu được nội suy, điều chế lên tới 128 lần fs). Xung hệ thống đó có hai nguồn: cấp từ ngoài vào chân SCK, hoặc do PLL nội tạo ra từ chính xung BCK của luồng I2S.

Cơ chế kích hoạt được datasheet mô tả rõ: lúc khởi động, chip mặc định chờ xung SCK ngoài. Nếu BCK và LRCK đã chạy đúng trong khi chân SCK vẫn ở mức mass qua 16 chu kỳ LRCK liên tiếp, PLL nội khởi động và tự sinh SCK nội bộ lấy BCK làm tham chiếu. Ngược lại, ngay khi có xung SCK ngoài cấp vào, PLL nội bị vô hiệu hóa. Trạng thái chân SCK chính là công tắc chọn chế độ: nối mass thì dùng PLL, cấp xung thì dùng xung ngoài, và không được để chân này thả nổi. Nhờ đó, kết nối rút còn ba dây tín hiệu (BCK, LRCK, DIN) cộng nguồn và mass — rất thuận cho ESP32, Raspberry Pi và module Bluetooth.

Khi nào nên dùng PLL, khi nào nên cấp SCK ngoài?

Tiêu chíChế độ PLL nộiCấp SCK ngoài
Số dây tín hiệu3 dây I2S, chân SCK nối mass4 dây, thêm đường MCLK từ nguồn phát
Yêu cầu với clockBCK bằng 32 hoặc 64 lần fs theo bảng chế độ PLLSCK là bội số thuộc dãy 64 đến 3072 lần fs, tối đa 50 MHz; từng mức fs chỉ hỗ trợ một phần của dãy
Phù hợp khiNguồn phát không có MCLK, muốn đi dây gọnNguồn phát đã có MCLK chuẩn, hoặc BCK ở tỉ lệ PLL không hỗ trợ

Với phần lớn dự án DIY phát ở 44,1–48 kHz, PLL là lựa chọn mặc định hợp lý. Cấp SCK ngoài cần thiết khi nguồn phát đã có sẵn MCLK tốt, hoặc khi BCK ở tỉ lệ ngoài bảng PLL — trường hợp thứ hai được tính trong ví dụ 2 dưới đây.

Điều kiện BCK ở chế độ PLL theo datasheet

Bảng chế độ PLL trong datasheet chỉ liệt kê hai tỉ lệ BCK: 32 lần fs và 64 lần fs. Tần số BCK tương ứng cho các mức fs phổ biến:

Tần số lấy mẫu fsBCK = 32 lần fsBCK = 64 lần fs
8 kHzKhông hỗ trợKhông hỗ trợ
16 kHzKhông hỗ trợ1,024 MHz
32 kHz1,024 MHz2,048 MHz
44,1 kHz1,4112 MHz2,8224 MHz
48 kHz1,536 MHz3,072 MHz
96 kHz3,072 MHz6,144 MHz
192 kHz6,144 MHz12,288 MHz
384 kHz12,288 MHz24,576 MHz

Hai lưu ý dễ bị bỏ qua. Thứ nhất, BCK bằng 48 lần fs là tỉ lệ hợp lệ cho giao tiếp dữ liệu khi chip chạy bằng SCK ngoài (datasheet liệt kê các mức BCK 32, 48 và 64 lần fs tùy độ dài dữ liệu), nhưng tỉ lệ 48 này không xuất hiện trong bảng chế độ PLL — không được suy ra PLL cũng chấp nhận nó. Thứ hai, ở fs 8 kHz bảng PLL không cho tỉ lệ nào, ở 16 kHz chỉ có mức 64 lần fs.

Datasheet cũng ghi chú các tỉ lệ SCK 128 lần fs và 192 lần fs là những tỉ lệ được chế độ PLL hỗ trợ — có thể hiểu đây là các mức xung hệ thống nội bộ tương đương mà PLL tạo ra từ BCK. Datasheet không mô tả thuật toán chọn mức, nên bạn chỉ cần bảo đảm phía đầu vào (tỉ lệ BCK, trạng thái chân SCK) đúng điều kiện.

Ví dụ: tính BCK và kiểm tra điều kiện PLL tại fs = 48 kHz

Ví dụ: giả sử nguồn phát xuất I2S stereo ở fs = 48 kHz, mỗi kênh chiếm một khe (slot) 32 bit — cấu hình mặc định của rất nhiều thư viện I2S. Công thức: BCK = fs × số bit mỗi khe × số kênh = 48.000 × 32 × 2 = 3.072.000 Hz, tức 3,072 MHz, đúng bằng 64 lần fs. Đối chiếu bảng trên, mức này thuộc cột 64 lần fs tại hàng 48 kHz nên PLL khóa được và bạn không cần dây MCLK. Nếu nguồn phát đóng gói theo khe 16 bit mỗi kênh, BCK = 48.000 × 16 × 2 = 1.536.000 Hz = 1,536 MHz, tức 32 lần fs — vẫn thuộc bảng PLL nên vẫn hợp lệ. Xung hệ thống nội bộ tương đương ở mức 128 lần fs sẽ là 48.000 × 128 = 6,144 MHz, thấp hơn nhiều so với giới hạn xung hệ thống tối đa 50 MHz của chip.

Ví dụ: trường hợp BCK không khóa được PLL tại fs = 44,1 kHz

Ví dụ: xét tình huống giả định trên bàn DIY — nguồn phát xuất dữ liệu 24 bit mỗi kênh với khe đúng 24 bit, ở fs = 44,1 kHz. Khi đó BCK = 44.100 × 24 × 2 = 2.116.800 Hz, tức 2,1168 MHz, bằng 48 lần fs. Tại 44,1 kHz, bảng PLL chỉ có 1,4112 MHz (32 lần fs) và 2,8224 MHz (64 lần fs); mức 48 lần fs không nằm trong bảng nên PLL không khóa được dù BCK vẫn đang chạy. Triệu chứng kỳ vọng là không có tiếng, vì khi quan hệ xung nhịp không hợp lệ kéo dài, chip ép ngõ ra về mức zero cho đến khi đồng bộ lại. Cách xử lý theo thứ tự: một, cấu hình lại nguồn phát dùng khe 32 bit mỗi kênh (dữ liệu 24 bit vẫn nằm trong khe 32 bit, các bit còn lại đệm số 0) để BCK thành 2,8224 MHz; hai, giữ nguyên cấu hình và cấp thêm SCK ngoài đúng tỉ lệ; ba, đo lại BCK và LRCK để xác nhận tỉ lệ. Đây là kịch bản tính toán minh họa theo datasheet, không phải kết quả đo thực tế.

Cách kiểm tra PLL đã vào khóa hay chưa

  1. Đo tần số LRCK: phải bằng đúng fs mong muốn, ví dụ 48 kHz.
  2. Đo tần số BCK rồi lấy BCK chia cho LRCK: kết quả phải là 32 hoặc 64. Nếu ra 48 hoặc tỉ lệ khác, PLL chưa có điều kiện khóa.
  3. Đo điện áp tại chân SCK hoặc pad SCK trên module: phải xấp xỉ 0 V, tức nối mass chắc chắn, không thả nổi.
  4. Kiểm tra chân tắt tiếng XSMT đang ở mức cao; nếu XSMT ở mức thấp, chip bị tắt tiếng mềm bất kể PLL đã khóa hay chưa. Ý nghĩa đầy đủ của các chân cấu hình nằm ở bài cấu hình jumper module PCM5102A: FLT, DEMP, FMT và XSMT.
  5. Phát một file sine test và kiểm tra ngõ ra. Điều kiện kích hoạt PLL chỉ là 16 chu kỳ LRCK, tương đương khoảng 0,33 ms tại fs 48 kHz, nên nếu mọi điều kiện đã đúng mà vẫn im lặng, nguyên nhân nằm ở chỗ khác. Hãy rà soát toàn bộ đường dây theo bài sơ đồ kết nối module PCM5102A và các chân cần nối.

Giới hạn của chế độ PLL cần biết

  • PLL chỉ chấp nhận BCK ở tỉ lệ 32 hoặc 64 lần fs, không hỗ trợ fs 8 kHz; cấu hình clock lạ là lý do phổ biến nhất khiến chế độ này thất bại.
  • PLL khóa theo BCK nên chất lượng xung của nguồn phát vẫn quan trọng. Datasheet không công bố thông số hiệu năng riêng cho chế độ PLL: các con số như SNR 112 dB và THD+N âm 93 dB tại mức âm 1 dBFS được đặc trưng hóa ở điều kiện nguồn 3,3 V, fs 48 kHz, xung hệ thống 512 lần fs. Vì vậy không nên khẳng định kết quả đo khi dùng PLL sẽ y hệt điều kiện đó.
  • Khi nguồn phát đổi fs, ví dụ từ 44,1 kHz sang 48 kHz, PLL phải khóa lại theo tỉ lệ mới; nếu tỉ lệ BCK ở fs mới rơi ra ngoài bảng, lỗi xuất hiện ngay dù fs cũ chạy bình thường.
  • PLL không thay thế các yêu cầu nền tảng: nguồn cấp sạch, mass chung giữa nguồn phát và DAC, dây tín hiệu ngắn vẫn phải bảo đảm như mọi cấu hình I2S.

Câu hỏi thường gặp

Dùng chế độ PLL thì có cần nối gì vào chân SCK không?

Có: nối chân SCK xuống mass. Không cấp xung vào chân này, nhưng cũng không được để thả nổi, vì trạng thái mức mass ổn định qua 16 chu kỳ LRCK chính là điều kiện để chip khởi động PLL nội.

BCK bằng 48 lần fs có dùng chế độ PLL được không?

Không, theo bảng tỉ lệ BCK của chế độ PLL trong datasheet. Mức 48 lần fs chỉ hợp lệ cho giao tiếp dữ liệu khi chip chạy bằng xung SCK ngoài. Muốn giữ BCK ở 48 lần fs, bạn phải cấp thêm SCK ngoài đúng tỉ lệ thay vì nối SCK xuống mass.

Đổi từ nhạc 44,1 kHz sang 48 kHz, PLL có tự khóa lại không?

Có, nếu tỉ lệ BCK ở tần số lấy mẫu mới vẫn thuộc nhóm 32 hoặc 64 lần fs và chân SCK vẫn ở mức mass. Việc nhận diện lại diễn ra tự động; một khoảng tắt tiếng rất ngắn lúc đổi xung nhịp là hành vi bình thường của cơ chế chống tiếng bụp.

Dùng PLL có làm giảm SNR 112 dB của PCM5102A không?

Datasheet không công bố thông số hiệu năng riêng cho chế độ PLL, và con số SNR 112 dB điển hình được đặc trưng hóa ở điều kiện xung hệ thống 512 lần fs, nguồn 3,3 V, fs 48 kHz. Do đó không có số liệu của hãng để kết luận mức chênh lệch cụ thể. Trong thực tế, nguồn cấp và cách đi mass thường ảnh hưởng tới nền nhiễu nghe được nhiều hơn lựa chọn chế độ xung nhịp, nhưng đây là nhận định định tính, không thay thế được phép đo cụ thể.

Tóm lại, nếu nguồn phát xuất được BCK ở tỉ lệ 32 hoặc 64 lần fs, hãy nối SCK xuống mass và để PLL nội làm phần còn lại. Tham khảo thêm các bài kỹ thuật về DAC và linh kiện âm thanh DIY tại cimo.vn để đối chiếu cấu hình với đúng module bạn đang sử dụng.

#pcm5102a chế độ pll
Chia sẻ bài viết
Facebook
Cimo
Cimo
Cimo - Mọi thứ bạn cần với mức giá tốt nhất

Bài viết liên quan

Tất cả danh mục
Flash Sale
Ưu đãi hôm nay
Đấu giá