2. KHỐITIMERTRÌHOÃNBANĐẦU 2.1 SƠ ĐỒ KHỐI Hình 7.1: Sơ đồ của khốitimertrìhoãnbanđầu Tên Mô tả ICLK Xung clock 50Mhz từ kit DE2 VS Tín hiệu VS (Vertical Sync) từ ADV7181B HS Tín hiệu HS (Horizontal Sync) từ ADV7181B TD_Stable Báo hiệu ADV7181b đã hoạt động ổn định RST0, RST1, RST3 Ngõ ra cho phép các khối khác bắt đầu làm việc 2.2 MÔ TẢ Với cấu hình đã cài đặt ở phần trước, khi đã hoạt động ổn định, dạng sóng do ADV7181B phát ra như sau: Hình 7.2: Mô tả dạng sóng ADV7181B Vì vậy để phát hiện xem chip mã hóa này đã hoạt động ổn định hay chưa khối TD_DETEC tiến hành kiểm tra điều kiện: VS ở mức cao trong 9 chu kỳ liên tiếp của HS rồi chuyển xuống mức thấp, nếu thỏa mãn thì đưa TD_Stable lên mức cao. Khi tín hiệu TD_Stable lên mức cao, khối RESET_DELAY bắt đầu đếm lên theo xung nhịp của ICLK (50MHz) để tính thời điểm xuất ra mức 1 trên các chân RST0, RST1, RST2. Các tín hiệu này dùng để khởi động các khối khác theo trình tự như sau: a) Banđầu xóa tất cả dữ liệu trong các khối. b) Tính từ thời điểm TD_Stable lên 1 (đơn vị là chu kỳ clock 27MHz) - Sau 1132461.5: tích cực RST0 để kích hoạt khối SDRAM BUFFER. - Sau 1698692.5: tích cực RST1 để kích hoạt khối Desize Horizon. - Sau 2264923.5: tích cực RST2 để kích hoạt khối xử lý ảnh YUV và VGA controller. c) Giữ nguyên giá trị ngõ ra cho đến khi có tín hiệu RESET hệ thống thì lặp lại. Điểm cần chú ý ở đây là khi Desize Horizon hoạt động thì sẽ xuất DATA_VALID cho phép ghi dữ liệu vào SDRAM BUFFER. Rồi phải chờ một khoảng thời gian để ghi đủ số liệu cần thiết mới kích hoạt VGA Controller để xuất dữ liệu từ SDRAM BUFFER. Như ta đã biết một frame ảnh do ADV7181B xuất ra bao gồm 900900 byte (525 line, mỗi line có 1716 byte) hay để truyền hết một frame sẽ mất 900900 chu kỳ. Do xung clock trên chân LLC để truyền các byte là 27MHz nên ta kiểm tra lại các thời điểm này như sau: - Lấy gốc thời gian là khi bắt đầu frame đầu tiên. - TD_Stable lên 1 khi Frame đầu tiên đã phát được 9 line: 9 x 1716 = 15444 chu kỳ. - Frame thứ ba được bắt đầu tại thời điểm 2 x 900900 = 1801800 - Khối Desize Horizon được kích hoạt tại thời điểm 1714136.5 (= 15444 + 1698692.5) tức là trước khi frame thứ ba bắt đầu. Đảm bảo rằng khối sẽ xuất ra DATA_VALID = 1 ở toàn bộ các Active Pixel của frame thứ 3. - Khối VGA Controller được kích hoạt tại thời điểm 2280367.5(=15444 + 2264923.5) nên oRequest được xuất ra tại thời điểm 2315727.5(= 2280376.5 + 35360). Với 35360 chu kỳ là khoảng thời gian từ khi khối được reset cho đến khi oRequest lên 1. Vậy việc đọc từ SDRAM BUFFER được kích hoạt khi frame thứ 3 đã bắt đầu được một khoảng thời gian là 513927.5(= 2315727.5 – 1801800). Điều này đảm bảo cho việc xuất ra đúng từng frame từ SDRAM BUFFER mà ta sẽ đề cập kỹ hơn ở phần mô tả SDRAM BUFFER. . 2. KHỐI TIMER TRÌ HOÃN BAN ĐẦU 2.1 SƠ ĐỒ KHỐI Hình 7.1: Sơ đồ của khối timer trì hoãn ban đầu Tên Mô tả ICLK Xung clock 50Mhz. Các tín hiệu này dùng để khởi động các khối khác theo trình tự như sau: a) Ban đầu xóa tất cả dữ liệu trong các khối. b) Tính từ thời điểm TD_Stable lên