Trong các bài thực hành FPGA, camera là ngoại vi rất “đắt giá” vì giúp bạn nhìn thấy rõ năng lực xử lý song song của phần cứng. Chỉ cần một module camera nhỏ, bạn có thể học từ giao tiếp số, xử lý ảnh thời gian thực, cho tới pipeline video HDMI.
Camera dùng trong thực hành FPGA là gì?
Camera cho FPGA thường là module CMOS sensor xuất dữ liệu ảnh số (pixel) theo thời gian thực, ví dụ:
-
OV7670
-
OV5640
-
Camera MIPI CSI-2 (mức nâng cao)
FPGA sẽ:
-
Cấu hình camera (I2C)
-
Nhận dữ liệu pixel (song song hoặc serial)
-
Xử lý ảnh trong PL
-
Xuất kết quả ra màn hình (LCD / HDMI)
Các loại camera phổ biến cho bài lab FPGA
1. Camera OV7670 – lựa chọn kinh điển cho người mới
Đặc điểm kỹ thuật chính:
-
Độ phân giải: VGA (640×480)
-
Giao tiếp:
-
I2C (SCCB) để cấu hình
-
Dữ liệu song song 8-bit (D0–D7)
-
-
Clock pixel riêng (PCLK)
Phù hợp để học:
-
FSM + I2C controller
-
Đồng bộ VSYNC / HREF / PCLK
-
Lưu frame vào BRAM hoặc DDR
👉 Rất hay dùng trong đồ án “Camera → FPGA → HDMI”.
2. Camera OV5640 – độ phân giải cao hơn
Đặc điểm:
-
Độ phân giải lên tới 5MP
-
Có thể xuất RGB/YUV/JPEG
-
Giao tiếp phức tạp hơn OV7670
Phù hợp cho:
-
Sinh viên năm cuối
-
Đồ án xử lý ảnh nâng cao
-
Kết hợp DDR + DMA
3. Camera HDMI / USB (qua bridge)
Cách tiếp cận khác:
-
Camera → HDMI → FPGA HDMI In
-
FPGA xử lý → HDMI Out
Ưu điểm:
-
Không phải lo driver camera cấp thấp
-
Tập trung vào xử lý ảnh/video
Nhược điểm:
-
Phần cứng phức tạp hơn
-
Chi phí cao hơn
Thực hành camera với FPGA + HDMI (PYNQ-Z2)
Board PYNQ-Z2 rất phù hợp cho bài lab camera vì:
-
FPGA Zynq-7000 mạnh cho xử lý song song
-
Có sẵn HDMI Out (và HDMI In)
-
Có PS (ARM) hỗ trợ cấu hình camera, quản lý DDR
Pipeline camera tiêu biểu
Các bài lab camera gợi ý (từ dễ → khó)
🔹 Bài 1: Hiển thị ảnh camera thô
-
Nhận dữ liệu OV7670
-
Chuyển RGB565 → RGB888
-
Hiển thị trực tiếp ra HDMI
👉 Mục tiêu: hiểu timing & luồng pixel
🔹 Bài 2: Xử lý ảnh thời gian thực
-
Grayscale
-
Threshold (đen/trắng)
-
Edge detection đơn giản
👉 Mục tiêu: thấy rõ sức mạnh song song của FPGA
🔹 Bài 3: Camera passthrough + overlay
-
Camera In → HDMI Out
-
Vẽ khung, chữ, crosshair
👉 Rất phù hợp demo đồ án 🎯
So sánh: Camera + FPGA vs Camera + MCU
| Tiêu chí | FPGA | MCU |
|---|---|---|
| Xử lý song song | ⭐⭐⭐⭐ | ⭐ |
| FPS cao | ⭐⭐⭐⭐ | ⭐⭐ |
| Độ trễ | Rất thấp | Trung bình |
| Độ khó | Cao hơn | Dễ hơn |
| Phù hợp học xử lý ảnh | ✅ | ❌ |
Checklist chọn camera cho thực hành FPGA
✔ Người mới học FPGA
→ OV7670 + VGA + HDMI Out
✔ Học xử lý ảnh nâng cao
→ OV5640 + DDR + pipeline
✔ Demo nhanh, không lo driver camera
→ Camera HDMI + FPGA HDMI In

