SƠ ĐỒ KHỐI SAR ADC
Đang chạyMIỀN THỜI GIAN — Sin · A=1.50, f=5.00 Hz, DC=2.50
QUÁ TRÌNH SAR — Tracking DAC qua từng bước cho mẫu thứ k
| Bước | Bit thử | Mã nhị phân | Vdac (V) | So sánh | Bit giữ |
|---|
SAI SỐ LƯỢNG TỬ e(t) = x(t) − x_q(t)
FFT — Phổ tín hiệu gốc & phổ sau lượng tử
Đỉnh chính tại tần số f của tín hiệu, các đỉnh phụ thấp là sàn nhiễu lượng tử (quantization noise floor) — sàn càng thấp khi N càng lớn.
SO SÁNH SAR ADC VỚI CÁC KIẾN TRÚC ADC KHÁC
SAR ADC
- Độ phân giải: 8 – 18 bit
- Tốc độ: trung bình (kSPS – vài MSPS)
- Công suất: rất thấp
- Diện tích chip: nhỏ
- Ứng dụng: cảm biến, IoT, y sinh
Flash ADC
- Độ phân giải: 4 – 8 bit
- Tốc độ: rất cao (GSPS)
- Công suất: rất lớn (2^N comparator)
- Diện tích: lớn
- Ứng dụng: oscilloscope, radar
Pipeline ADC
- Độ phân giải: 10 – 16 bit
- Tốc độ: cao (10 – 500 MSPS)
- Công suất: trung bình
- Trễ: vài chu kỳ (latency)
- Ứng dụng: video, viễn thông
Sigma‑Delta ADC
- Độ phân giải: 16 – 24 bit
- Tốc độ: thấp – trung bình
- Công suất: thấp
- Đặc điểm: oversampling + noise shaping
- Ứng dụng: audio, đo lường chính xác
| Tiêu chí | SAR | Flash | Pipeline | Σ‑Δ |
|---|---|---|---|---|
| Số chu kỳ / mẫu | N | 1 | ~ N | OSR cao |
| Số comparator | 1 | 2^N − 1 | nhiều stage | 1 |
| Tỉ lệ tốc độ / công suất | ★★★★★ | ★★ | ★★★ | ★★★★ |
| Phù hợp đề tài | ✔ chính | tham chiếu | tham chiếu | tham chiếu |
BẢNG TÍNH CHI TIẾT — TỪNG MẪU
| n | t (s) | x(t) | +nhiễu | Mã nhị phân | D (dec) | Vdac | e = x − Vdac |
|---|
TỔNG QUAN ADC & QUY TRÌNH SỐ HÓA
Bộ chuyển đổi tương tự–số (Analog‑to‑Digital Converter — ADC) ánh xạ một tín hiệu liên tục theo thời gian và biên độ $x(t)$ sang chuỗi số nhị phân $D[n]$. Quá trình gồm ba bước:
- Lấy mẫu theo chu kỳ $T_s = 1/f_s$: $$x[n] = x(nT_s),\quad n \in \mathbb{Z}$$
- Lượng tử hóa theo độ phân giải $N$‑bit, biên độ rời rạc thành $2^N$ mức.
- Mã hóa: gán mã nhị phân cho mỗi mức.
Trong số nhiều kiến trúc (Flash, Pipeline, SAR, Σ‑Δ…), SAR ADC được chọn nhờ cân bằng tốt giữa độ phân giải, tốc độ và công suất, phù hợp với các ứng dụng cảm biến, vi điều khiển và y sinh.
LƯỢNG TỬ HÓA VÀ SAI SỐ
Với điện áp tham chiếu $V_{\text{ref}}$ và độ phân giải $N$‑bit, bước lượng tử cơ bản (Least Significant Bit) là:
$$\boxed{\,\mathrm{LSB} = \Delta = \dfrac{V_{\text{ref}}}{2^{N}}\,}$$Với SAR đơn cực (single‑ended) ánh xạ sang mã $D \in \{0,1,\ldots,2^N-1\}$:
$$D = \mathrm{round}\!\left(\dfrac{V_{\text{in}}}{\Delta}\right) \quad\text{(rounding)}; \qquad D = \left\lfloor \dfrac{V_{\text{in}}}{\Delta} \right\rfloor \quad\text{(truncation, kiểu SAR)}$$Sai số lượng tử của một mẫu được định nghĩa bởi:
$$e_q = V_{\text{in}} - V_{\text{dac}} = V_{\text{in}} - D\cdot\Delta$$Khi $V_{\text{in}}$ phân bố đều trong dải, $e_q$ xấp xỉ phân bố đều trên $[-\Delta/2,\, +\Delta/2]$, do đó công suất nhiễu lượng tử là:
$$P_q = \dfrac{1}{\Delta}\int_{-\Delta/2}^{+\Delta/2} e^2\, de = \dfrac{\Delta^{2}}{12}$$Hệ quả: tăng $N$ lên 1 bit ⇒ $\Delta$ giảm một nửa ⇒ công suất nhiễu giảm 4 lần ($-6$ dB).
NGUYÊN LÝ SAR — TÌM KIẾM NHỊ PHÂN
SAR ADC tìm $D$ sao cho $V_{\text{dac}}(D)$ gần nhất với $V_{\text{in}}$ bằng phương pháp binary search trong đúng $N$ chu kỳ — mỗi chu kỳ quyết định một bit từ MSB tới LSB.
Tại bước $i$ (với $i = N-1, N-2, \ldots, 0$), thử bit $b_i = 1$:
$$V_{\text{dac}}^{(\text{trial})} = \dfrac{V_{\text{ref}}}{2^{N}}\cdot\!\sum_{k=i}^{N-1} b_k\, 2^{k}$$So sánh với mẫu hiện tại bằng comparator:
$$b_i = \begin{cases} 1, & V_{\text{in}} \ge V_{\text{dac}}^{(\text{trial})} \\ 0, & V_{\text{in}} < V_{\text{dac}}^{(\text{trial})} \end{cases}$$Sau $N$ bước, mã cuối cùng là:
$$D = \sum_{k=0}^{N-1} b_k\, 2^{k}$$Quan sát: số bước SAR không phụ thuộc vào giá trị mẫu — luôn là $N$ chu kỳ comparator. Đây là điểm khác biệt cơ bản với Flash ADC (1 chu kỳ nhưng cần $2^N-1$ comparator).
DAC CHUYỂN NGƯỢC
Trong vòng phản hồi của SAR, một DAC nội tái tạo điện áp tương tự từ mã thử hiện tại:
$$V_{\text{dac}} = \dfrac{V_{\text{ref}}}{2^{N}}\cdot D = V_{\text{ref}}\cdot \sum_{k=0}^{N-1} b_k\, 2^{k-N}$$Ở mức kiến trúc, DAC thường là mạng tụ charge‑redistribution hoặc thang điện trở R/2R. Tính phi tuyến của DAC (DNL/INL) trực tiếp giới hạn độ chính xác toàn ADC.
THUẬT TOÁN SAR — PSEUDOCODE
input : Vin, Vref, N output: D ∈ [0, 2^N − 1] D ← 0 for i = N − 1 downto 0: trial ← D OR (1 << i) # thử đặt bit i = 1 Vdac ← trial · Vref / 2^N if Vin ≥ Vdac: D ← trial # giữ bit i = 1 else: D ← D # bỏ, bit i về 0 return D
Độ phức tạp: $\mathcal{O}(N)$ phép so sánh, $\mathcal{O}(N)$ phép cập nhật DAC trên mỗi mẫu.
SQNR & ENOB
Với tín hiệu sin biên độ đầy thang $V_{\text{ref}}/2$, công suất tín hiệu là:
$$P_s = \dfrac{1}{2}\!\left(\dfrac{V_{\text{ref}}}{2}\right)^{\!2} = \dfrac{V_{\text{ref}}^{2}}{8}$$Thay $\Delta = V_{\text{ref}}/2^N$ vào $P_q = \Delta^2/12$ ta được tỉ số tín hiệu / nhiễu lượng tử lý thuyết:
$$\mathrm{SQNR} = 10\log_{10}\!\dfrac{P_s}{P_q} = 10\log_{10}\!\dfrac{3\cdot 2^{2N}}{2}$$ $$\boxed{\,\mathrm{SQNR} = 6.02\,N + 1.76 \text{ dB}\,}$$Khi đo SNR thực tế trên hệ thống (gồm cả nhiễu nhiệt, jitter, méo phi tuyến), số bit hiệu dụng (Effective Number of Bits) được suy ngược:
$$\boxed{\,\mathrm{ENOB} = \dfrac{\mathrm{SNR}_{\text{thực}} - 1.76}{6.02}\,}$$Trong tab Mô phỏng, $\mathrm{SNR}_{\text{thực}}$ được tính từ dữ liệu mẫu:
$$\mathrm{SNR}_{\text{thực}} = 10\log_{10}\!\dfrac{\sum_{n} x[n]^2}{\sum_{n} \bigl(x[n]-V_{\text{dac}}[n]\bigr)^2}$$ALIASING & ĐỊNH LÝ NYQUIST
Trước khi vào ADC, tín hiệu phải được lấy mẫu thỏa điều kiện Nyquist–Shannon để tránh chồng phổ (aliasing):
$$\boxed{\,f_{s} \ge 2\,f_{\max}\,}$$Khi vi phạm, các thành phần tần số $f > f_s/2$ bị "gấp" về băng cơ sở:
$$f_{\text{alias}} = \bigl|\,f - k\,f_{s}\,\bigr|, \qquad k \in \mathbb{Z}$$Trong thực tế, một bộ lọc anti‑aliasing bậc cao thường được đặt trước ADC để dập băng tần trên $f_s/2$.
PHÂN TÍCH PHỔ FFT
Phổ rời rạc của tín hiệu được tính bằng biến đổi Fourier rời rạc (DFT):
$$X[k] = \sum_{n=0}^{L-1} x[n]\, e^{-j\,2\pi\, kn/L}, \qquad k = 0, 1, \ldots, L-1$$Tần số tương ứng với chỉ số $k$:
$$f_k = \dfrac{k}{L}\, f_s, \qquad k = 0,1,\ldots,L/2$$Để giảm hiện tượng rò phổ (spectral leakage), trong mô phỏng dùng cửa sổ Hann:
$$w[n] = \dfrac{1}{2}\!\left[1 - \cos\!\left(\dfrac{2\pi n}{L-1}\right)\right]$$Trên đồ thị FFT, đỉnh chính nằm tại tần số tín hiệu, và quantization noise floor là đường nền — sàn càng thấp khi $N$ càng lớn (giảm khoảng 6 dB cho mỗi bit).
ỨNG DỤNG THỰC TẾ CỦA SAR ADC
- Vi điều khiển (STM32, MSP430, AVR, PIC) — ADC tích hợp 10–12 bit.
- Cảm biến công nghiệp, đo lường, IoT — yêu cầu công suất thấp.
- Thiết bị y sinh: ECG, EEG, đo huyết áp.
- Audio nén thấp, phân tích rung động, điều khiển động cơ.
Trong các ứng dụng yêu cầu > 16 bit, kiến trúc Σ‑Δ thường thay thế SAR; ngược lại với tốc độ > 50 MSPS, kiến trúc Pipeline hoặc Flash chiếm ưu thế.
TÀI LIỆU THAM KHẢO
- A. V. Oppenheim, R. W. Schafer. Discrete‑Time Signal Processing, 3rd ed., Pearson, 2010.
- R. J. Baker. CMOS: Circuit Design, Layout, and Simulation, 4th ed., Wiley‑IEEE, 2019.
- W. Kester (Ed.). The Data Conversion Handbook, Analog Devices / Newnes, 2005.
- B. Razavi. Principles of Data Conversion System Design, IEEE Press, 1995.
- Maxim Integrated. Tutorial 1080: Understanding SAR ADCs, 2001.
- Texas Instruments. SAR ADC Architecture and Operation, App Note SBAA147, 2010.
BÁO CÁO & XUẤT FILE
- 📄 Báo cáo PDF — Tóm tắt lý thuyết, thuật toán, kết quả mô phỏng, đánh giá SNR/ENOB.
- 📊 Slide PowerPoint — Trình bày 12 slide, 15 phút.
- 💾 Mã nguồn — JavaScript thuần, Chart.js để vẽ.
- 📁 CSV dữ liệu — Xuất bảng kết quả từ tab 3.
NHÓM 8 · L03 · ĐỀ TÀI 2 — PHÂN CÔNG CHI TIẾT
| Thành viên | MSSV | Phân công |
|---|---|---|
| Võ Phúc Thịnh | 2313317 | Nghiên cứu lý thuyết SAR ADC, tính SQNR, ENOB, viết phần lý thuyết báo cáo. |
| Hà Toàn Phú | 2312647 | Code module tạo tín hiệu (DC/sin/ramp/tam giác), thêm nhiễu Gaussian, lượng tử cơ sở. |
| Nguyễn Xuân Quyết | 2312889 | Code thuật toán SAR (binary search) từng bước, tính sai số lượng tử, FFT. |
| Hồ Minh Thao | 2313092 | Thiết kế giao diện web, tích hợp Chart.js, biên soạn báo cáo & slide. |