ĐẠI HỌC QUỐC GIA HÀ NỘI ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Vũ Ngọc Tuyên Vũ Ngọc Tuyên XÂY DỰNG HỆ THỐNG HIỂN THỊ THÔNG TIN XÂY DỰNG HỆ THỐNG HIỂN THỊ THÔNG TIN HÌNH ẢNH THÔNG QUA MẠNG INTERNET HÌNH ẢNH THÔNG QUA MẠNG INTERNET Ngành: Công nghệ Điện tử - Viễn thông Chuyên ngành: Kỹ thuật Điện tử LUẬN VĂN THẠC SỸ CÔNG NGHỆ ĐIỆN TỬ - VIỄN THÔNG Mã số: 60 52 02 03 LUẬN VĂN THẠC SỸ CÔNG NGHỆ ĐIỆN TỬ - VIỄN THÔNG NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Trần Xuân Tú HÀ NỘI - 2014 HÀ NỘI - 2014 LỜI CẢM ƠN LỜI CAM ĐOAN Tôi xin cam đoan nội dung luận văn “Xây dựng hệ thống hiển thị thông tin Lời đầu tiên, em xin gửi lời cảm ơn tới PGS.TS Trần Xuân Tú tận tình hình ảnh thông qua mạng Internet” sản phẩm thực hướng dẫn hướng dẫn, cung cấp tài liệu tham khảo, kinh nghiệm ý kiến đóng góp quý PGS.TS Trần Xuân Tú Trong toàn nội dung luận văn, điều báu Em xin cảm ơn tới anh em cán Phòng thí nghiệm mục tiêu Hệ trình bày cá nhân tổng hợp từ nhiều nguồn tài liệu Tất thống tích hợp thông minh (SIS Lab) hỗ trợ giải đáp vướng mắc em tài liệu tham khảo có xuất xứ rõ ràng trích dẫn hợp pháp suốt trình nghiên cứu Tôi xin hoàn toàn chịu trách nhiệm chịu hình thức kỷ luật theo quy định cho lời cam đoan Em gửi lời cảm ơn đến thầy cô Khoa Điện tử - Viễn thông, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội truyền đạt kiến thức bổ ích kinh nghiệm quý báu suốt thời gian em học tập, nghiên cứu nhà trường Hà Nội, ngày 11 tháng 11 năm 2014 Cuối em xin gửi lời cảm ơn đến gia đình, bạn bè người TÁC GIẢ giúp đỡ tạo điều kiện để em hoàn thành luận văn Trong thời gian thực luận văn, thân em khó tránh khỏi nhiều thiếu sót Em mong nhận ý kiến đóng góp từ phía thầy cô bạn bè để luận văn hoàn thiện Vũ Ngọc Tuyên Em xin chân thành cảm ơn ! Học viên Vũ Ngọc Tuyên 2.2.1 Trình tự thiết kế vi mạch FPGA 27 MỤC LỤC 2.2.2 Giải pháp thiết kế hệ thống sử dụng công cụ hãng Xilinx 29 LỜI CAM ĐOAN CHƯƠNG 3: HỆ THỐNG HIỂN THỊ THÔNG TIN HÌNH ẢNH THÔNG LỜI CẢM ƠN QUA MẠNG INTERNET 39 3.1 Mô tả ý tưởng thiết kế hệ thống 39 DANH MỤC HÌNH VẼ 3.2 Hệ thống phần cứng .40 DANH MỤC BẢNG BIỂU 3.2.1 Xây dựng hệ thống phần cứng chip 41 DANH MỤC TỪ VIẾT TẮT 3.2.2 Thiết kế ngoại vi giao tiếp hình VGA 46 MỤC LỤC MỞ ĐẦU 10 3.3 Đặc tả hệ thống phần mềm 50 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VỀ MÃ HÓA VÀ HIỂN THỊ HÌNH 3.3.1 Thiết kế chi tiết hệ thống phần mềm 51 ẢNH 11 3.3.2 Thư viện lwIP hỗ trợ truyền thông Ethernet 54 Cơ sở lý thuyết mã hóa hình ảnh JPEG 11 3.3.3 Thư viện giải mã ảnh JPEG – TinyJPEG 56 1.1.1 Quá trình mã hóa 12 CHƯƠNG 4: : KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ 59 1.1.2 Chuyển đổi hệ màu 12 4.1 Nền tảng thực thi hệ thống 59 1.1.3 Lấy mẫu 13 4.2 Kết kiểm tra chức hệ thống 59 1.1.4 Quá trình giải mã 14 4.2.1 Kiểm tra kết nối Ethernet 59 Hiển thị hình ảnh lên hình chuẩn VGA 15 4.2.2 Kiểm tra kết nối hình VGA, hiển thị hình ảnh 60 1.2.1 Nguyên lý quét hình ảnh 15 4.2.3 Kiểm tra kết giải mã hình ảnh JPEG 61 1.2.2 Tín hiệu màu VGA 17 4.2.4 Kiểm tra kết nối tổng thể toàn hệ thống 61 1.2.3 Bộ điều khiển tín hiệu hiển thị hình ảnh – VGA core 18 4.3 Đánh giá giải pháp thực hệ thống 62 1.1 1.2 1.2.4 Nguyên tắc hoạt động hiển thị hình ảnh VGA 20 CHƯƠNG 2: CÔNG NGHỆ NỀN TẢNG FPGA – PHƯƠNG PHÁP XÂY KẾT LUẬN 63 TÀI LIỆU THAM KHẢO 64 DỰNG HỆ THỐNG NHÚNG TRÊN FPGA 22 2.1 Giới thiệu công nghệ tảng FPGA .22 2.1.1 Kiến trúc FPGA 23 2.1.2 Ngôn ngữ lập trình mô tả phần cứng VHDL 25 2.2 Phương pháp xây dựng hệ thống nhúng FPGA .27 DANH MỤC HÌNH VẼ Hình 3-8: Cấu hình ứng dụng mẫu cho hệ thống 45 Hình 1-1: Sơ đồ trình mã hóa JPEG [1] 12 Hình 3-9: Khởi tạo lõi VGA 46 Hình 1-2: So sánh hệ màu RGB YCbCr 13 Hình 3-10: Cấu hình bus cho lõi VGA 47 Hình 1-3: Các kiểu lấy mẫu liệu[3] 14 Hình 3-11: Thiết lập tần số hoạt động lõi VGA .47 Hình 1-4: Sơ đồ khối trình giải mã [1] 14 Hình 3-12: Tạo phần cứng FPGA .49 Hình 1-5: Minh họa phương pháp quét hình ảnh 15 Hình 3-13: Sơ đồ khối hệ thống tạo XPS 49 Hình 1-6: Tín hiệu điện cho dòng quét hình CRT [5] 16 Hình 3-14: Mô hình phần mềm hai lớp ứng dụng 50 Hình 1-7: Chế độ điều khiển VGA 640×480 [5] 17 Hình 3-15: Mô hình triển khai hệ thống nhúng Spartan-3E 50 Hình 1-8: Cổng kết nối VGA 18 Hình 3-16: Biểu đồ trường hợp sử dụng 51 Hình 1-9: Các màu [5] .18 Hình 3-17: Lưu đồ tiến trình hoạt động 52 Hình 1-10: Kết hiển thị 19 Hình 3-18: Lưu đồ truyền tập tin 53 Hình 1-11: Sơ đồ khối cấu trúc hiển thị hình ảnh VGA 21 Hình 3-19: Lưu đồ giải mã ảnh Jpeg .53 Hình 2-1: Kiến trúc chung FPGA [2] .23 Hình 4-1: Kiểm tra kết nối Ethernet 60 Hình 2-2: Một Logic Block điển hình 24 Hình 4-2: Kiểm tra điều khiển VGA .60 Hình 2-3: Khối Logic khả trình .24 Hình 4-3: Kiểm tra chương trình giải mã JPEG 61 Hình 2-4: Các kết nối khả trình 25 Hình 4-4: Kiểm tra kết nối toàn hệ thống 62 Hình 2-5: Qui trình thiết kế chip dựa VHDL [2] 26 Hình 2-6: Kit phát triển Spartan-3E [12] 30 Hình 2-7: Các thành phần Kit Spartan-3E[12] .31 Hình 2-8: Kiến trúc Spartan 3E [12] 32 Hình 2-9: Sơ đồ khối lõi Microblaze [11] .33 Hình 2-10: Kiến trúc đường ống microblaze .34 Hình 2-11: Hệ thống BUS điển hình Microblaze [11] 35 Hình 2-12: Giao diện sử dụng công cụ XPS 36 Hình 2-13: Giao diện sử dụng công cụ SDK .37 Hình 3-1: Sơ đồ khối chức hệ thống .39 Hình 3-2: Sơ đồ chi tiết hệ thống phần cứng 40 Hình 3-3: Lựa chọn bo mạch 42 Hình 3-4: Cấu hình hệ thống 43 Hình 3-5: Cấu hình vi xử lý 43 Hình 3-6: Cấu hình ngoại vi hệ thống 44 Hình 3-7: Lựa chọn nhớ đệm 45 DANH MỤC BẢNG BIỂU Bảng 3-1: Bảng tổng hợp tài nguyên phần cứng hệ thống 41 Bảng 3-2: Các tín hiệu ngoại vi lõi VGA 48 Bảng 3-3: Mô tả hàm lwip_socket [4] .54 Bảng 3-4: Mô tả hàm lwip_blind [4] 55 Bảng 3-5: Mô tả hàm lwip_close [4] 55 Bảng 3-6: Mô tả hàm khởi tạo tinyjpeg_init [4] 56 Bảng 3-7: Mô tả hàm duyệt header file tinyjpeg_parse_header [4] 56 Bảng 3-8: Mô tả hàm giải mã ảnh tinyjpeg_decode [4] .57 Bảng 3-9: Mô tả hàm đọc kích thước ảnh tinyjpeg_get_size [4] .57 Bảng 3-10: Mô tả hàm tinyjpeg_get_components [4] 58 Bảng 3-11: Mô tả hàm giải phóng nhớ tinyjpeg_free [4] 58 DANH MỤC TỪ VIẾT TẮT Từ viết tắt ALU ASIC BMP CLB CPLD CRT DCM EDK FPGA GIF GPIO HS IEEE IOB ISE JPEG LCD LUT PNG RGB RTL SDK SOC TIFF UART VGA VHDL VHSIC VS XCL XPS Mô tả Arithmetic Logic Unit Application-Specific Integrated Circuit BitMaP image file Configurable Logic Block Complex Programmable Logic Devices Cathode Ray Tube Digital Clock Manager Embedded Development Kit Field-Programmable Gate Array Graphics Interchange Format General Purpose Input Output Horizontal Sync Institue of Electrical and Electronics Engineers Input/Output Block Integrated Software Environment Joint Photographic Experts Group Liquid-Crystal Display Look-Up Tables Portable Network Graphics Red - Green - Blue Register Transfer Level Software Development Kit System on Chip Tagged Image File Format Universal Asynchronous Receiver Transmitter Video Graphics Array VHSIC Hardware Description Language Very High Speed Integrated Circuit Vertical Sync Xilinx Cache Link Xilinx Platform Studio MỞ ĐẦU CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VỀ MÃ HÓA VÀ HIỂN THỊ HÌNH ẢNH Việc cung cấp thông tin kịp thời tới người dùng cách nhanh chóng xác cần thiết xã hội đại Với phát triển công nghệ, ngày nhận thông tin lúc, nơi cách nhanh chóng thông qua mạng Chương luận văn giới thiệu sở lý thuyết mã hóa hình ảnh theo định dạng chuẩn JPEG phương pháp hiển thị hình ảnh hình chuẩn VGA Internet Các hệ thống hiển thị thông tin truyền thống dần thay hình kích thước lớn có kết nối mạng Tuy nhiên, việc truyền nhận xử 1.1 Cơ sở lý thuyết mã hóa hình ảnh JPEG lý thông tin trước hiển thị phần lớn thực hệ máy tính đa Trong thời đại kỹ thuật số ngày nay, hình ảnh lưu trữ nhiều định dạng với giá thành tương đối cao Việc xây dựng hệ thống chuyên dụng dạng khác BMP, JPEG, PNG, GIF, TIFF Trong đó, định dạng ảnh chuẩn JPEG “system-on-a-chip” để thực việc thu nhận thông tin hình ảnh hiển thị cần sử dụng phổ biến Internet hầu hết máy ảnh kỹ thuật số thiết nhằm tối ưu hoá ứng dụng giảm giá thành sản xuất Hệ thống có nhiệm vụ phần mềm xử lý ảnh hỗ trợ tương thích JPEG viết tắt Joint Photographic Experts thiết lập kết nối máy chủ thông qua mạng Internet để lấy liệu hình ảnh, giải mã Group công bố lần đầu vào năm 1992 dựa khuyến cáo ITU – T81, truy xuất hình ảnh hiển thị tương thích với chuẩn VGA phương pháp nén ảnh hiệu quả, có tỷ lệ nén tới vài chục lần Ảnh sau Ứng dụng hiển thị hình ảnh thông qua kết nối Internet vấn đề thực tế, phục vụ cho lĩnh vực truyền thông, quảng bá thông tin quan, đơn vị, trường học, hay doanh nghiệp, hay chí khu chung cư quan thông tin phường/xã giải nén không hoàn toàn giống ban đầu mà chất lượng ảnh bị suy giảm sau giải nén Tuy nhiên suy giảm khắc phục việc loại bỏ thông tin dư thừa dựa nghiên cứu thị giác người Khi nghiên cứu lý thuyết hiển thị hình ảnh, xét đến không gian Chính lý trên, em chọn đề tài: “Xây dựng hệ thống hiển thị thông tin hình ảnh thông qua mạng Internet” để nghiên cứu thực Luận văn Thạc sỹ màu YUV tạo độ sáng hai thành phần màu Thị giác người nhạy cảm với thành phần Y nhạy cảm với hai thành phần U V Dựa đặc tính mắt người, phương pháp JPEG tách thông tin dư thừa ảnh nén thông tin cho suy giảm tín hiệu thành phần Y ít so với hai Bố cục luận văn gồm có bốn phần: thành phần lại U V Chương 1: Cơ sở lý thuyết mã hoá hiển thị hình ảnh Chương 2: Công nghệ tảng FPGA phương pháp xây dựng hệ thống Phương pháp nén ảnh JPEG có công đoạn chia ảnh thành nhiều vùng nhỏ (thông thường 8×8 điểm ảnh) sử dụng phép biến đổi cosin rời rạc để nhúng FPGA Chương 3: Hệ thống hiển thị thông tin hình ảnh thông qua mạng Internet Chương 4: Kết thực nghiệm đánh giá biến đổi vùng thành dạng ma trận có 64 hệ số thể trạng thái điểm ảnh Hệ số có khả thể trạng thái cao nhất, khả giảm nhanh với hệ số khác Điều có nghĩa lượng thông tin 64 điểm ảnh tập trung chủ yếu số hệ số ma trận phép biến đổi Trong giai đoạn có mát thông tin phép biến đổi ngược chính xác, nhiên lượng thông tin mát chưa đáng kể so với bước sau Ma trận có sau phép biến đổi cosin rời rạc lược bớt khác hệ số, chính bước làm cho 10 11 thông tin bị nhiều thay đổi nhỏ hệ số làm tròn Các phép biến đổi áp dụng với thành phần U V nhiều so với thành phần Y Bước dùng thuật toán mã hóa khác để phân tích dãy số Những phần tử lặp lại nhiều mã hóa ký tự ngắn Với phương pháp mã hóa theo chuẩn JPEG, giải mã cần làm lại bước theo trình ngược lại với phép biến đổi ngược Công thức biến đổi sau: 𝑌 = 0,299𝑅 + 0,587𝐺 + 0,144𝐵 𝐶𝑏 = −0,16874𝑅 − ,3126𝐺 + 0,5𝐵 + 128 𝐶𝑟 = 0,5𝑅 − 0,41869𝐺 − 0,08131𝐵 + 128 Ta quan sát thành phần R, G, B tương ứng với thành phần Y, Cb, 1.1.1 Quá trình mã hóa Cr ảnh tiếng “lena” Hình 1-2: [3] Hình 1-1: Sơ đồ trình mã hóa JPEG [1] Quá trình mã hóa hình ảnh JPEG mô tả theo Hình 1-1 [1] Ảnh nguồn ban đầu chia thành khối có kích thước 8×8 điểm ảnh trước đưa vào khối mã hóa bao gồm DCT, lượng tử hóa mã hóa Entropy Kết trình mã hóa đầu hình ảnh nén JPEG 1.1.2 Chuyển đổi hệ màu Bộ mã hóa JPEG thực biến đổi hệ màu từ RGB sang YCbCr trước chuyển đổi DCT Dữ liệu ảnh đại diện ba thành phần màu R, G, B tương ứng ba màu đỏ, xanh lục, xanh dương Mỗi màu sử dụng byte để biểu diễn, điểm ảnh cần ba bytes để biểu diễn Như trình bày trên, mắt người nhạy cảm với thay đổi độ chói Hình 1-2: So sánh hệ màu RGB YCbCr 1.1.3 Lấy mẫu nhạy với thay đổi sắc độ Thông thường kỹ thuật nén ảnh sử dụng Do mắt người nhạy cảm với thành phần Y nên việc giảm thành phần sắc độ biến đổi DCT điểm ảnh chuyển đổi từ hệ màu RGB sang YCbCr Trong 50% so với thành phần độ chói Y không làm giảm nhiều cảm nhận mắt thành phần Y tương ứng với độ chói điểm ảnh, hai thành phần Cb Cr lần thay đổi hình ảnh Có nhiều phương pháp lấy mẫu khác mô tả lượt sai khác sắc độ hai thành phần màu xanh dương đỏ hình 1.3 [3], điển hình lấy mẫu theo tỉ lệ 4:2:0 Tức độ phân giải thành phần Cb, Cr giảm nửa theo hai chiều dọc chiều ngang, bước ta giảm thành phần sắc độ Cứ bốn điểm thành phần Y chọn có 12 13 điểm thành phần Cb, điểm thành phần Cr lựa chọn hình 1.3.a Một vài cách lấy mẫu khác 4:2:2 có nghĩa hai thành phần Cb, Cr giảm theo chiều ngang 1.2 Hiển thị hình ảnh lên hình chuẩn VGA Trên thị trường hình hiển thị có nhiều loại khác nhau, tùy theo loại hình sử dụng hình CRT, LCD hay plasma, có phương pháp để hiển thị hình ảnh khác Tuy nhiên, loại hình chế tạo theo chuẩn hiển thị VGA có nguyên lý hiển thị hình ảnh lên hình giống 1.2.1 Nguyên lý quét hình ảnh Về nguyên lý ảnh kỹ thuật số, hình ảnh xem ma trận điểm ảnh.Phương pháp quét hình ảnh phương pháp hiển thị điểm ảnh Hình 1-3: Các kiểu lấy mẫu liệu[3] Dấu “×” thể nơi điểm thành phần Y chọn Dấu “o” nơi thành theo hàng một, từ trái qua phải từ xuống minh họa hình 1.5 thay hiển thị đồng thời toàn hình ảnh Các đường nét liền thể dòng điểm ảnh quét ngang hình Các đường nét đứt đường trở tia quét phần sắc độ chọn để bắt đầu dòng quét Hình ảnh quét sau lượt quét từ xuống 1.1.4 Quá trình giải mã gọi mành quét Trong thời gian hình hiển thị ảnh, cần phải đưa tới hình tín hiệu điện chứa thông tin điểm ảnh Ngoài ra, có thời gian không hiển thị, tia quét trở đầu dòng đầu mành Các thông tin hình ảnh không đưa đến hình thời gian mà thay vào tín hiệu đặc Hình 1-4: Sơ đồ khối trình giải mã [1] biệt dùng để đồng dòng đồng mành Quá trình giải mã theo mô tả hình 1-4 [1], dựa sở thực thuật toán ngược trình mã hóa Hình vẽ minh họa sơ đồ khối trình giải mã JPEG Các thành phần giải mã tương tự thành phần mã hóa đặt theo thứ tự ngược lại Chuyển đổi hệ màu thực theo công thức: Hình 1-5: Minh họa phương pháp quét hình ảnh R = Y + 1,402 (Cr - 128) G = Y – 0,71414 (Cr - 128) – 0,34414 (Cb - 128) Chúng ta xét ví dụ hình 1-6 [5] dòng quét tia điện tử hình CRT làm rõ thêm nguyên lý quét ảnh Màn hình chia làm 480 dòng, dòng có 640 điểm ảnh Xung cưa hình 1-6 có tác dụng lái tia điện tử B = Y + 1,772 (Cb - 128) theo chiều ngang Mỗi xung cưa ứng với dòng, vậy, tần số xung 14 15 cưa tương ứng với tần số dòng Trong phần thời gian xung cưa đường dốc ổn định, tia điện tử quét ngang hình thể hình ảnh Phần thời gian lại, xung cưa có tác dụng lái tia điện tử trở đầu dòng đồng thời để sinh tín hiệu đồng dòng HS Xung đồng dòng xung âm, khoảng thời gian tích cực mức thấp tín hiệu HS Thời gian từ có xung đồng dòng đến bắt đầu có tín hiệu thông tin hình ảnh gọi “front porch”, thời gian sau kết thúc phần thông tin hình ảnh đến bắt đầu xung đồng dòng gọi “back porch” Hình 1-7: Chế độ điều khiển VGA 640×480 [5] 1.2.2 Tín hiệu màu VGA Có ba tín hiệu màu red, green blue gửi tín hiệu màu sắc đến hình VGA Mỗi tín hiệu điều khiển súng bắn điện tử để phóng hạt electron vẽ lên màu điểm hình Dải tín hiệu nằm từ 0V tương ứng Hình 1-6: Tín hiệu điện cho dòng quét hình CRT [5] với màu tối hoàn toàn 0,7V sáng hoàn toàn, điều khiển cường độ thành Hình ảnh điều khiển quét theo chiều dọc cách tạo xung cưa phần màu ba thành phần màu kết hợp với tạo lên màu điểm ảnh (dot) hay lái tia điện tử theo chiều dọc tín hiệu đồng mành VS với cách làm tương tự với phần tử ảnh (pixel) hình quét dòng Sau ví dụ VGA Display Timing với chế độ 640×480: 16 17 Hình 1-8: Cổng kết nối VGA Hình 1-10: Kết hiển thị Mỗi tín hiệu màu analog mức tín hiệu digital cách dùng chuyển đổi digital to analog bit (DAC bit) Vùng A, màu đen vùng không hiển thị, sử dụng cho quét ngược vị trí hiển thị đầu dòng đầu mành Khi vị trí hiển thi rơi vào vùng A, lối ghép nối với hình, tín hiệu R, G, B liệu tín hiệu Hsync, Vsync có xung đồng vị trí kết thúc dòng mành Kích thước vùng A chiều rộng × chiều cao = 800×525 theo chế độ VGA 640×480 60Hz Vùng B, màu xanh, vùng hiển thị màu Back ground Màu quy ước màu pixel ảnh.Vùng B có kích thước hình 640×480 điểm ảnh.Khi vị trí hiển thị rơi vào vùng này, tín hiệu đồng mức cao, tín hiệu màu mang thông tin màu Hình 1-9: Các màu [5] 1.2.3 Bộ điều khiển tín hiệu hiển thị hình ảnh – VGA core VGA core ngoại vi giao tiếp với hình Nhiệm vụ VGA core đọc thông tin hình ảnh (thông tin màu sắc) để đưa tín hiệu màu (R, G, B) Vùng C, màu cam, vùng hiển thị hình ảnh Vùng có kích thước thay đổi được, tối đa 640×480 điểm ảnh Tùy theo vị trí hiển thị điểm ảnh vùng C mà tín hiệu R, G, B mang thông tin màu sắc điểm ảnh Lúc tín hiệu đồng đặt mức cao tín hiệu đồng Hsync, Vsync vào thời điểm thích hợp, cho kết hiển thị Các thông tin màu sắc điểm ảnh đọc từ nhớ hình 1.10 liệu bên chip FPGA 18 19 Platform chứa tệp tin bit xây dựng từ công cụ XPS Một chương trình phần mềm nhúng thực SDK cần project chứa thư viện phần mềm Board Support Package, project ứng dụng phần mềm Hình 2-12: Giao diện sử dụng công cụ XPS Project Information Area (1), System Assembly View (2), Console Window (3) Ngoài cửa sổ hình XPS có nhãn để thị vùng 4, 5, Hình 2-13: Giao diện sử dụng công cụ SDK 6: Connectivity Panel (4), View Buttons (5), Filters Pane (6) Công cụ XPS cho phép khởi tạo hệ thống phần cứng tảng FPGA, với XPS lựa chọn “Base System Builder” để tạo project, thông tin cầu hình phần cứng lưu dạng file bsb Khi cần tạo project với cấu hình phần cứng, cần import file bsb để sử dụng thông số Sau lựa chọn thông số loại CPU, tốc độ clock hệ thống, lựa chọn ngoại vi RS232, cổng vào IO, quản lý ngắt, quản lý nhớ, Một gói hỗ trợ bo mạch BSP sưu tập thư viện driver mà định hình lớp thấp phần mềm ứng dụng Ứng dụng phần mềm phải liên kết với chạy môi trường phần mềm sử dụng API mà cung cấp Vì thế, trước tạo sử dụng ứng dụng phần mềm SDK, phải tạo BSP SDK bao gồm loại BSP cho phát triển ứng dụng: - đếm, timer… Để thêm vào chức chuyên biệt cần thêm vào hệ thống IP core, ví dụ VGA core, Ethernet core với phiên khác nhau, sau cấu hình bus hệ thống, đặt chân vào, cho ngoại vi khởi tạo địa Standalone môi trường đơn luồng cung cấp đặc tính chuẩn vào/ra truy cập tới đặc tính vi xử lý phần cứng - Xilkernel loại hệ điều hành thời gian thực, hỗ trợ phân luồng, thread, đồng bộ, truyền thông tin định thời vùng nhớ Cuối công cụ XPS cho phép xây dựng hệ thống dạng bit file để Khi BSP xây dựng, thành phần phần mềm tự động ghép vào nạp xuống bo mạch FPGA tương ứng thư viện gồm có chuẩn thư viện C (libc.a, libm.a) drivers thiết SDK hỗ trợ tạo hệ thống phần mềm nhúng việc khởi tạo “Hardware bị cho tất ngoại vi thiết kế củ (libxil.a) platform” Export từ công cụ XPS sau tổng hợp phần cứng Hardware Kết luận: 36 37 Chương luận văn trình bày vấn đề công nghệ CHƯƠNG 3: tảng FPGA giới thiệu phương pháp xây dựng hệ thống nhúng HỆ THỐNG HIỂN THỊ THÔNG TIN HÌNH ẢNH THÔNG QUA MẠNG INTERNET FPGA sử dụng ngôn ngữ mô tả phần cứng VHDL Quy trình thiết kế vi mạch FPGA trải qua bước sau: Mô tả đặc điểm kĩ thuật, Lựa chọn công nghệ, công cụ tổng hợp, Thiết kế vi mạch, tổng hợp, Mô phỏng, kiểm tra Chương trình bày giải pháp thực đề tài Luận văn công cụ phần cứng công cụ Nội dung chương thứ ba trình bày việc xây dựng ý tưởng thiết kế, đặc tả hệ thống, mô tả thiết kế tổng thể, thiết kế mô-đun, thiết kế xây dựng phần mềm 3.1 Mô tả ý tưởng thiết kế hệ thống phần mềm phát triển hệ thống FPGA hãng Xilinx Giải pháp phần cứng đề tài sử dụng mạch phát triển Spartan-3E, vi điều khiển mềm MicroBlaze Để tổng hợp Hệ thống hiển thị hình ảnh xây dựng dạng System-on-a-chip dựa thành phần hệ thống, sử dụng công cụ phần mềm Xilinx Embedded công nghệ FPGA Phần trung tâm hệ thống Vi xử lý mềm MircoBlaze hãng Development Kit Xilinx Bằng giải pháp sử dụng công nghệ FPGA cho mục đích để tài, khối thành phần tích hợp chip đơn Để thực chức hiển thị hình ảnh định dạng JPEG lên hình chuẩn VGA thông qua mạng Ethernet, hệ thống cần tích hợp hai mô-đum phần cứng lớn mô-đum Ethernet mô-đum VGA display Hình 3-1: Sơ đồ khối chức hệ thống Khối truyền thông Ethernet điều khiển bời mô-đum Ethernet đóng vai trò Client, kết nối tới server giao thức TCP/IP Máy chủ server hệ thống kho lưu trữ liệu hình ảnh định dạng JPEG, thông tin cần trình chiếu hình quảng bá Máy chủ sử dụng làm server cho nhiều hệ thống bo mạch 38 39 hiển thị khác nhau, hình hiển thị nội dung khác lưu cung cấp đường bus liệu truy cập nhớ trực tiếp sử dụng cho khối hiển máy chủ Phần cứng máy chủ phần cho trước có sẵn, luận văn đề thị hình ảnh VGA Khối quản lý nhớ hệ thống MPMC cho phép giao tiếp với cập đến chương trình phần mềm cho phép kết nối truyền liệu tới bo mạch FPGA nhớ DDR2 bo mạch với dụng lượng 64MB hệ thống hiển thị thông tin hình ảnh Sau thiết lập kết nối từ hệ thống tới server lưu trữ liệu hình ảnh, hệ thống tải tập tin hình ảnh cần hiển thị định dạng JPEG nhớ hệ thống Chương trình phần mềm ứng dụng tích hợp khối giải mã hình ảnh JPEG sử dụng thư viện khả dụng để giải mã ảnh đưa định dạng header file Hình ảnh sau mã hóa đầu vào khối hiển thị VGA Tại đây, liệu hình ảnh khối VGA xử lý thành chuỗi tín hiệu RGB tương ứng với chuẩn giao tiếp hình VGA để hiển thị hình, đích đến cuối hệ thống 3.2 Hệ thống phần cứng Để thực yêu cầu từ sơ đồ khối hệ thống, tảng FPGA, hệ thống cần có khối phần cứng sơ đồ hình 3.2 Bảng 3-1: Bảng tổng hợp tài nguyên phần cứng hệ thống Thành phần Thông số Thành phần sử dụng cho hệ thống hiển thị hình ảnh Chip Spartan-3E XC3S500E-4FG320 Vi xử lý x MicroBlaze 32-bit RISC core Tần số 50MHz RAM 32Mx16 (64Mbytes) Micron© DDR SDRAM Bộ đếm XPS_Timer Quản lý ngắt XPS_INTC Debug MDM - JTAG MMI-Lite, SMsCTM Ethernet 10/100 PHY (chip SMSC LAN83C185) Ethernet Single Port 10Base-T RJ-45 Connector Clock: 25MHz, VGA Port DB15 Connector VGA Red, Green, Blue, HS, and VS Thành phần Spartan3-E không sử dụng Flash PROM 128Mbit Intel® StrataFlash SPI Serial Flash 16Mbit STMicro® SPI serial Flash DAC Độ phân giải 12-bit Analog Capture kênh tương tự: tiền khuếch đại chuyển đổi ADC 14 bit Circuit RS232 DCE and DTE, 2xDB9 Serial Port Connector GPIO 102 I/O chân tín hiệu điều khiển Vào/Ra Switch, Button công tắc điều khiển nút bấm - thả PS/2, Mouse/ Keyboard cổng kết nối PS/2 Character LCD Screen Màn LCD 2x16 3.2.1 Xây dựng hệ thống phần cứng chip Sử dụng công cụ XPS – Xilinx Platform Studio phiên 12.3 để xây dựng hệ thống chip với vi điều khiển MicroBlaze khối ngoại vi Các bước xây Hình 3-2: Sơ đồ chi tiết hệ thống phần cứng Các mô-đum giao tiếp với vi lý trung tâm MicroBlaze thông qua bus PLB_SI bao gồm: Khối giao tiếp nhớ, khối quản lý ngắt, khối đếm timer, khối giao tiếp Ethernet, khối giao tiếp cổng vào ra, khối kết nối debug theo chuẩn JTAG Các khối dựng hệ thống phần cứng thực sau Trước tiên khởi động Xilinx Platform Studio từ menu Start: All Programs → Xilinx Design Tools → ISE Design Suite 12.3 → EDK → Xilinx Platform Studio Sử dụng “Base System Builder” khởi tạo project mới, lựa chọn thông tin bo mạch sử Ethernet Timer có sử dụng ngắt liên kết với khối XPS_Intc Ngoài hệ thống 40 41 dụng Spartan-3E Starter Board D hãng Xilinx kiến trúc spartan3e, tên mã thiết bị XC3S500e, đóng gói kiểu FG320: Hình 3-4: Cấu hình hệ thống Cấu hình thông số vi xử lý với tần số hoạt động hệ thống 50MHz, nhớ cục 16KB Hình 3-3: Lựa chọn bo mạch Hệ thống yêu cầu mức đơn nhân, lựa chọn hệ thống kiểu “Single-Processor System”: Hình 3-5: Cấu hình vi xử lý Reference clock frequency tần số clock board Processor-Bus clock frequency tần số clock điều khiển hệ thống xử lý On-Chip H/W Debug module lựa chọng module PLB MDM - Microprocessor Debug Module thêm vào hệ thống phần cứng Module Xilinx khuyến cáo sử dụng để debugging cho hệ thống Microblaze Dựa vào đặc tả thiết kế phần cứng, thêm ngoại vi cho hệ thống 42 43 Hình 3-7: Lựa chọn nhớ đệm Hình 3-6: Cấu hình ngoại vi hệ thống Công cụ XPS hỗ trợ cấu hình nhanh ngoại vi để Sau cấu hình thành phần phần cứng, cần lựa chọn hệ thống phần mềm ứng dụng, bước lựa chọn thông số mặc định XPS thêm vào hệ thống chip: DDR_SDRAM, Ethernet_MAC, FLASH, RS232_DCE, RS232_DTE, dlmb_cntlr, ilmb_cntlr, xps_timer Các thông số cấu hình ngoại vi sử dụng giá trị mặc định Tuy nhiên cần cấu hình Enable ngắt cho ngoại vi Ethernet_MAC xps_timer Sau cấu hình xong ngoại vi hệ thống SOC, chuyển tới bước cấu hình nhớ đệm cho vi xử lý Bộ nhớ đệm lựa chọn thêm sử dụng không tùy vào thiết kế người dùng Ở đây, để tăng tốc cho vi xử lý, lựa chọn loại nhớ đệm “Instruction Cache” “Data Cache” với kích cỡ 2KB Hình 3-8: Cấu hình ứng dụng mẫu cho hệ thống Đến hoàn thành việc thiết lập hệ thống FPGA đáp ứng yêu cầu đề tài, khối điều khiển VGA thực thi IP core thư viện Xilinx 44 45 3.2.2 Thiết kế ngoại vi giao tiếp hình VGA Trong thư viện công cụ XPS, hãng Xilinx hỗ trợ nhiều ngoại vi dạng IP core (Intellectual Property) có ngoại vi điều khiển hiển thị hình ảnh lên hình lõi VGA Trong giao diện công cụ XPS, thêm VGA core cách add IP “XPS_TFT” cừa sổ IP Catalog mục IO modules Thêm lõi XPS_TFT vào project, cửa sổ bỏ chọn thuộc tính “Select TFT interface” cần dùng chức điều khiển VGA Hình 3-10: Cấu hình bus cho lõi VGA Tiếp theo cần thiết lập thông số xung nhịp đồng cho lõi VGA Trên kit Spartan3E, tần số hoạt động SoC đạt thấp (50 MHz) nên thử nghiệm thiết kế với chế độ hiển thị VGA 640x480, đồng thời chế độ màu hiển thị 3-bit – tương ứng với 3-bit thông tin màu RGB Tần số pixel clock ứng với chế độ hiển thị VGA đặt 25 MHz Trên giao diện XPS, vào Hardware chọn thuộc tính Launch Clock Wizard thiết lập thông số SYS_TFT_Clk 25.000000 Hình 3-9: Khởi tạo lõi VGA Thiết lập bus cho lõi VGA, giao tiếp với bus PLB gồm giao diện bus chủ PLB_MI giao diện bus tớ PLB_SI Hai giao diện kết nối chung với kênh truyền thông PLB hai kênh truyền thông PLB độc lập PLB_MI giúp lõi điều khiển VGA đọc liệu ảnh từ RAM vào PLB_SI giúp lõi điều khiển VGA nhận thông tin điều khiển từ vi xử lý Chi tiết tín hiệu giao diện trình bày tài Hình 3-11: Thiết lập tần số hoạt động lõi VGA liệu [12] [13] 46 47 Lõi VGA cần giao tiếp với hình, cần thiết lập chân tín hiệu khối VGA tín hiệu “Make External” Các tín hiệu lõi VGA mô tả bảng 3.2 Bảng 3-2: Các tín hiệu ngoại vi lõi VGA Tín hiệu SYS_TFT_Clk TFT_VGA_R TFT_VGA_G TFT_VGA_B TFT_HSYNC TFT_VSYNC Chiều I/O I O O O O O Net Mô tả Clk_25_000MHz xps_tft_0_TFT_VGA_R xps_tft_0_TFT_VGA_G xps_tft_0_TFT_VGA_B xps_tft_0_TFT_HSYNC xps_tft_0_TFT_VSYNC Tín hiệu xung đồng hồ Giá trị màu đỏ Giá trị màu xanh lục Giá trị màu xanh lam Tín hiệu đồng dòng Tín hiệu đồng mành Để tín hiệu kết nối tới tương ứng chân chip, cần khai báo file system.ucf Thêm vào đoạn mã sau: Hình 3-12: Tạo phần cứng FPGA Chúng ta khởi tạo cấu hình đầy đủ ngoại vi mà hệ thống yêu cầu Bước cuối để tạo file hệ thống nạp xuống bo mạch thực thi phần cứng FPGA, chọn thuộc tính “Generate Bitstream” menu “Hardware” từ giao diện Xilinx Platform Studio NET xps_tft_0_TFT_VGA_R_PIN LOC = "H14" | IOSTANDARD = LVTTL | DRIVE = | SLEW = FAST ; NET xps_tft_0_TFT_VGA_R_PIN IOSTANDARD = LVTTL ; NET xps_tft_0_TFT_VGA_G_PIN LOC = "H15" | IOSTANDARD = LVTTL | DRIVE = | SLEW = FAST ; NET xps_tft_0_TFT_VGA_G_PIN IOSTANDARD = LVCMOS33 ; NET xps_tft_0_TFT_VGA_B_PIN LOC = "G15" | IOSTANDARD = LVTTL | DRIVE = | SLEW = FAST ; NET xps_tft_0_TFT_VGA_B_PIN IOSTANDARD = LVCMOS33 ; NET xps_tft_0_TFT_HSYNC_PIN LOC = "F15" | IOSTANDARD = LVTTL | DRIVE = | SLEW = FAST ; NET xps_tft_0_TFT_VSYNC_PIN LOC = "F14" | IOSTANDARD = LVTTL | DRIVE = | SLEW = FAST ; Chúng ta cần khởi tạo địa để định địa cho ngoại vi thêm vào cách sử dụng thuộc tính “Generate Addresses” nằm tab “Addresses” Tiếp theo đa định địa nhớ video cho điều khiển VGA Trong tab Bus Interfaces kích chuột phải vào xps_tft_0 vào chọn thuộc tính “Configure IP…” đặt giá trị địa sở cho lõi VGA 0x8E000000 mục "Base address of PLB attached Video Memory" Hình 3-13: Sơ đồ khối hệ thống tạo XPS 48 49 Client Application xây dựng tảng hệ điều hành thời gian thực 3.3 Đặc tả hệ thống phần mềm Hệ thống thực việc hiển thị hình ảnh lên hình VGA nhằm mục đích Xikernel hỗ trợ xử lý phân luồng Đồng thời sử dụng hai thư viện phần mềm quảng bá thông tin, với nhiều hình đặt vị trí khác Thông tin hình ảnh chuyên dụng, thư viện lwip hỗ trợ truyền thông Ethernet giao thức TCP/IP phiên nguồn lưu trữ server cố định Do hệ thống phần mềm nhúng bo lwip130_v3_00_a tích hợp sẵn công cụ Software Development Kit (SDK 12.3) mạch Spartan-3E cần xây dựng Client Application để đáp ứng Xilinx thư viện giải mã hình ảnh TinyJpeg thư viện mã nguồn mở yêu cầu hoạt động hệ thống quảng bá thông tin chia sẻ Luc Saillard website saillard.org Hệ thống phần mềm ứng dụng nhúng hệ thống phần cứng SOC mà thực thi bao gồm vi xử lý MicroBlaze khối điều khiển Ethernet, VGA ngoại vi khác 3.3.1 Thiết kế chi tiết hệ thống phần mềm 3.3.1.1 Biểu đồ trường hợp sử dụng Hình 3-14: Mô hình phần mềm hai lớp ứng dụng Mô hình ứng dụng phần mềm bo mạch hệ thống Spartan-3E mô tả hình 3.14 Hình 3-16: Biểu đồ trường hợp sử dụng Hệ thống nhúng SOC thực kết nối Ethernet để tải file ảnh định dạng JPEG từ server Sau thực giải mã hình ảnh đưa định dạng RGB24 để hiển thị lên hình chuẩn VGA Hình 3-15: Mô hình triển khai hệ thống nhúng Spartan-3E 50 51 3.3.1.2 Lưu đồ tiến trình hoạt động 3.3.1.3 Lưu đồ truyền tập tin qua giao thức TFTP Hình 3-18: Lưu đồ truyền tập tin 3.3.1.4 Lưu đồ giải mã hình ảnh Jpeg sử dụng thư viện TinyJpeg Hình 3-17: Lưu đồ tiến trình hoạt động Trình tự hoạt động hệ thống nhúng sau kết nối vật lý Client Server, thực việc khởi động nguồn hệ thống SOC, Client gửi yêu cầu tới Server để yêu cầu tải tập tin hình ảnh JPEG Server nhận yêu cầu gửi file ảnh tới Client theo giao thức truyền file TFPT protocol Client nhận file ảnh Jpeg gửi phản hồi Server kết thúc giai đoạn truyền file Sau Client thực giải mã hình ảnh Jpeg sang định dạng RGB24 copy liệu ảnh vào vùng nhớ lỗi điều khiển VGA, thông báo cho VGA bắt đầu hiển thị hình ảnh Biểu đồ tiến trình hoạt động (Sequence Diagram) hệ thống mô tả Hình 3-17 Hình 3-19: Lưu đồ giải mã ảnh Jpeg 52 53 3.3.2 Thư viện lwIP hỗ trợ truyền thông Ethernet Bảng 3-4: Mô tả hàm lwip_blind [4] lwIP (Lightweight TCP/IP Stack) thư viện mã mở TCP/IP Stack, thực thi giao thức mạng (TCP/IP, UDP/IP, ICMP, ARP…) chip lõi Ethernet Prototype phát triển cho hệ thống nhúng Để sử dụng thư viện lwIP, cấu hình phần Parameters int lwip_bind (int s, struct sockaddr *name, socklen_t namelen ); - s: Socket descriptor tạo lwip_socket() - name: trường thông tin địa cứng yêu cầu vi xử lý PPC450 MicroBlaze; lõi IP điều khiển Ethernet EMAC - namelen: kích thước name xps_ethernetlite (Ethernet Lite MAC) xps_ll_temac (TMAC); Timer sử dụng IP core xps_timer điều khiển ngắt sử dụng xps_intc; ngắt từ Timer EMAC cần kết nối tới Interrupt controller Tất yêu cầu cấu hình phần Kết nối socket s với địa chứa cấu trúc name Nếu Description công, liệu đến từ địa name thực thi với socket s cứng đáp ứng hệ thống SOC mà xây dựng Sử dụng lwIP có chế độ hoạt động Raw Socket, bảng mô tả thành Return Giá trị trả về: ết nối thành công số hàm API sử dụng chế độ Socket 0: tạo socket thành công trả Socket descriptor socket tạo 0: hàm thực thành công Bảng 3-7: Mô tả hàm duyệt header file tinyjpeg_parse_header [4] Prototype int tinyjpeg_parse_header( struct jdec_private *priv, const unsigned char *buf, unsigned int size); Parameters Description Return *priv: Tinyjpeg object *buf: trỏ tới liệu file jpeg cần giải mã size: kích thước file Hàm thực kiểm tra file jpeg xem giải mã hay không Nếu lấy thông tin header file jpeg truyền vào biến priv < 0: hàm thực bị lỗi Comment Cần thực hai hàm trước gọi hàm Includes Tinyjpeg.h Bảng 3-9: Mô tả hàm đọc kích thước ảnh tinyjpeg_get_size [4] Prototype void tinyjpeg_get_size( struct jdec_private *priv, unsigned int *width, unsigned int *height) Parameters *priv: trỏ tới Tinyjpeg object *width: trỏ lưu độ rộng ảnh *height: trỏ lưu chiều cao ảnh Giá trị trả về: ực thành công 56 Description Hàm lấy tham tham số kích thước ảnh 57 Return Comment void Cần thực hàm tinyjpeg_parse_header() trước gọi hàm Tinyjpeg.h Includes int tinyjpeg_get_components( Comment Includes Spartan-3E, loại chip XC3S500e, package FG320 Đây tảng công nghệ FPGA, sử dụng cho mục đích nghiên cứu, phát triển ứng dựng mở rộng Hàm lấy tham thành phần màu ảnh sau giải mã int Cần thực hàm tinyjpeg_decode() trước gọi hàm Return Hệ thống thực thi tảng FPGA hãng Xilinx, sử dụng cho unsigned char **components) giải mã Description 4.1 Nền tảng thực thi hệ thống struct jdec_private *priv, *priv: trỏ tới Tinyjpeg object **components: trỏ lưu thành phần màu củ a ảnh sau Parameters Chương giới thiệu kết thực thi phần cứng phần mềm điều khiển hệ thống Bảng 3-10: Mô tả hàm tinyjpeg_get_components [4] Prototype CHƯƠNG 4: : KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ Để thực thi hệ thống, luận văn sử dụng công cụ phần mềm EDK – Embedded Development Kit hãng để xây dựng hệ thống phần cứng SoC hệ thống phần mềm nhúng SoC tổng hợp XPS – Xilinx Platform Studio sử dụng để tổng hợp phần cứng Software Development Kit để phát triển phần mềm nhúng 4.2 Kết kiểm tra chức hệ thống Tinyjpeg.h 4.2.1 Kiểm tra kết nối Ethernet Bảng 3-11: Mô tả hàm giải phóng nhớ tinyjpeg_free [4] Sau tổng hợp phần cứng, có file bitstream bit để tạo Hardware Platform cho hệ thống phần mềm nhúng Sử dụng chương trình demo Prototype void tinyjpeg_free( struct jdec_private *priv) Parameters Description Return *priv: trỏ tới Tinyjpeg object Hàm thực giải phóng nhớ bị chiếm trỏ *priv lwip_echo_server Cấu hình địa IP hệ thống nhúng dải mạng với PC: 192.168.0.100 Nạp chương trình, kết nối cable Ethernet Kit PC qua cáp đấu chéo Thực ping từ PC tới địa board > thu kết kết nối thành công mô tả hình 4-1 void Comment Includes Tinyjpeg.h 58 59 4.2.3 Kiểm tra kết giải mã hình ảnh JPEG Sử dụng thư viện TinyJpeg vào chương trình hệ thống phần mềm nhúng Cấu hình sử dụng hàm thư viện với đầu vào mảng file ảnh định dạng Hex Các hàm chức thư viện TinyJpeg thực giải mã thông tin liệu file ảnh Jpeg định dạng Hex sau xuất mảng chứa thông tin liệu hình ảnh giải mã sang định dạng RBG Mảng output lưu nhớ RAM Hàm set giá trị Pixel hình VGA quét hàng cột hình ảnh để hiển thị lên hình Kết kiểm thử mô tả Hình 4-3 for (j=0;j5)); Hình 4-1: Kiểm tra kết nối Ethernet 4.2.2 Kiểm tra kết nối hình VGA, hiển thị hình ảnh Nạp trực tiếp hình ảnh định dạng RGB vào nhớ RAM vùng nhớ VGA Để có hình ảnh định dạng RGB dùng tool “Image2RGB” Sau convert file hình ảnh có dạng header h file Kết thử nghiệm mô tả hình 4-2 Hình 4-3: Kiểm tra chương trình giải mã JPEG 4.2.4 Kiểm tra kết nối tổng thể toàn hệ thống Thử nghiệm dùng máy tính cá nhân làm FTP server chứa ảnh JPEG, kết nối bo mạch với máy tính qua cáp Ethernet đấu chéo Kết kiểm thử mô tả Hình 4-4 Hình 4-2: Kiểm tra điều khiển VGA 60 61 KẾT LUẬN Những công việc mà em thực Luận văn Thạc sỹ: Nghiên cứu phương pháp xây dựng, phát triển phần cứng phần mềm hệ thống chip SoC sử dụng công nghệ FPGA ngôn ngữ VHDL Nghiên cứu phương thức truyền thông Internet, giải mã ảnh JPEG, kết nối điều khiển hình hiển thị VGA Nghiên cứu kiến trúc phương pháp lập trình vi xử lý mềm Micro-Blaze hãng Xilinx Viết chương trình cấu hình kết nối Ethernet, tải liệu hình ảnh từ server, giải mã JPEG hiển thị hình VGA Thực thi thử nghiệm hệ thống tích hợp Hình 4-4: Kiểm tra kết nối toàn hệ thống 4.3 Đánh giá giải pháp thực hệ thống Với kết thực thi đề tài, hệ thống hiển thị hình ảnh qua mạng Internet ứng dụng hoạt động quảng bá thông tin hình ảnh quan, trường học, bệnh viện Hay ứng dụng hoạt động quảng cáo phục vụ Hệ thống hiển thị thông tin hình ảnh quảng bá xây dựng tương đối hoàn chỉnh, đáp ứng yêu cầu đề tài Luận văn Thạc sỹ Các giải pháp thực đề tài lựa chọn thực theo hướng tối ưu Từ việc sử dụng chuẩn định dạng hình doanh nghiệp quảng bá thương hiệu, sản phẩm tới toàn xã hội thông qua hình lắp đặt tòa nhà cao tầng, thang máy, nơi người dân xem thông tin quảng cáo thời gian chờ đợi làm tăng hiệu quảng cáo ảnh JPEG định dạng phổ biến mạng Internet này, đến việc lựa chọn tảng FPGA để thực thi hệ thống chip SoC, nhằm tối ưu hóa hệ thống phần Tuy nhiên hệ thống hiển thị hình ảnh qua mạng Internet thực thi đề tài cứng chuyên dụng Việc lựa chọn chuẩn giao tiếp hình VGA chuẩn số điểm hạn chế Thông hiển thị hình ảnh tĩnh, thông tin cố định kết nối hình phổ biến, dễ dàng ghép nối với hệ thống định hướng phát triển đề tài theo hướng phát triển mô-đum giải mã video Mpex để hệ thống chạy chiếu đoạn video Hệ thống hỗ trợ Giải pháp phần cứng sử dụng bo mạch Spartan-3E kit phát triển FPGA dạng khởi đầu với cấu hình thấp, có nhiều điểm hạn chế tốc độ xử lý chất lượng hình ảnh hiển thị hình Do sử dụng thư viện giải mã ảnh JPEG ngôn ngữ C nên vi xử lý bo mạch Spartan-3E xử lý chậm, thời gian chạy chương trình giải mã tương đối lâu khoảng đến phút Độ phân giải hình VGA mà bo mạch hỗ trợ đến mức cao 640×480 Thêm số màu hiển thị màu (3 bit màu), chất lượng hình ảnh thấp Khi nghiên cứu phát triển tiếp ứng dụng đề tài cần nâng cấp sử dụng bo mạch FPGA cấu hình cao 62 truyền thông có dây, phát triển để tích hợp mô-đum Wifi 3G hỗ trợ hệ thống tải liệu qua mạng không dây Ngoài ra, hệ thống xây dựng bo mạch Spartan-3E dòng kit khởi đầu, tốc độ vi xử lý chậm đặc biệt trình giải mã hình ảnh JPEG Khi hệ thống cần phát triển tính yêu cầu cần nâng cấp phần cứng, sử dụng vi xử lý tốc độ cao Để tăng tốc độ giải mã hình ảnh JPEG, cần nghiên cứu sử dụng thuật toán giải mã tối ưu Hoặc nghiên cứu sử dụng giải mã JPEG phần cứng sử dụng ngôn ngữ VHDL tăng tốc độ giãi mã nhiều lần 63 [10] Xilinx Ltd (2008), BFM Simulation in Platform Studio User Guide, Xilinx TÀI LIỆU THAM KHẢO Documentation www.xilinx.com Tài liệu Tiếng Việt [1] Bộ Thông tin Truyền thông (2013), Tiêu chuẩn kỹ thuật ƯDCNTT CQNN: Tiêu chuẩn JPEG – Định dạng ảnh JPEG, Trang thông tin điện tử Cục ứng dụng Công nghệ thông tin - www.aita.gov.vn - Cục Tin học hóa [2] Nguyễn Trung Hiếu, Ngô Hải Bắc (2 008), Thiết kế hệ thống xử lý ảnh số FPGA, Đồ án tốt nghiệp, Đại học Bách khoa Hà Nội [11] Xilinx Ltd (2005), MicroBlaze Embedded Documentation www.xilinx.com [12] Xilinx Ltd (2006), Spartan-3E Starter Kit Board UG230, DS312, Xilinx Documentation www.xilinx.com [13] Xilinx Ltd (2008), XPS Thin Film Transistor (TFT) Controller User Guide, Xilinx [3] Mai Trung Nguyên (2013), Thiết kế mô-đum tái tạo hình ảnh hệ thống nén Documentation www.xilinx.com ảnh sử dụng thuật toán nhận biết chuyển động Sigma-delta, Luận văn Thạc sỹ, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội [4] Trần Văn Huấn (2009), Tài liệu đặc tả phần mềm Project PUF, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội [5] Trần Văn Huấn, Nguyễn Ngọc Mai (2009), Tài liệu đặc tả kỹ thuật lõi VGA, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội [6] Đỗ Năng Toàn, Phạm Việt Bình (2007), Giáo trình xử lý ảnh, Trường Đại học Thái Nguyên Tài liệu Tiếng Anh [7] Enoch Hwang (2004), Build a VGA Monitor Controller, Feature Article, http://www.circuitcellar.com [8] James Rosenthal.(2006), JPEG Image Compression Using an FPGA, A Thesic submitted in partial satisfaction of the requirements for the degree Master of Science in Electrical and Computer Engineering [9] S Stuijk (2001), Design and implementation of a JPEG decoder, Faculty of Electrical Engineering - Eindhoven University of Technology, Practical Training Report 64 Microcontroller, Xilinx 65 [...]... đề thị hình ảnh VGA Khối quản lý bộ nhớ của hệ thống MPMC cho phép giao tiếp với cập đến chương trình phần mềm cho phép kết nối và truyền dữ liệu tới bo mạch FPGA bộ nhớ DDR2 của bo mạch với dụng lượng 64MB của hệ thống hiển thị thông tin hình ảnh Sau khi thiết lập kết nối từ hệ thống tới server lưu trữ dữ liệu hình ảnh, hệ thống sẽ tải tập tin hình ảnh cần hiển thị định dạng JPEG về bộ nhớ của hệ thống. .. Đánh giá giải pháp thực hiện hệ thống Với kết quả thực thi của đề tài, hệ thống hiển thị hình ảnh qua mạng Internet có thể được ứng dụng trong các hoạt động quảng bá thông tin hình ảnh tại các cơ quan, trường học, bệnh viện Hay có thể ứng dụng trong hoạt động quảng cáo phục vụ các Hệ thống hiển thị thông tin hình ảnh quảng bá được xây dựng tương đối hoàn chỉnh, đáp ứng yêu cầu của đề tài Luận văn Thạc... Tuy nhiên hệ thống hiển thị hình ảnh qua mạng Internet thực thi trong đề tài cứng chuyên dụng Việc lựa chọn chuẩn giao tiếp màn hình VGA cũng là một chuẩn vẫn còn một số điểm hạn chế Thông hiển thị chỉ là hình ảnh tĩnh, thông tin cố định do kết nối màn hình phổ biến, dễ dàng ghép nối với hệ thống đó có thể định hướng phát triển của đề tài theo hướng phát triển mô-đum giải mã video Mpex để hệ thống có... được Export từ công cụ XPS sau khi đã tổng hợp phần cứng Hardware Kết luận: 36 37 Chương 2 của luận văn đã trình bày những vấn đề cơ bản của công nghệ nền CHƯƠNG 3: tảng FPGA và giới thiệu về phương pháp xây dựng một hệ thống nhúng trên nền HỆ THỐNG HIỂN THỊ THÔNG TIN HÌNH ẢNH THÔNG QUA MẠNG INTERNET FPGA sử dụng ngôn ngữ mô tả phần cứng VHDL Quy trình thiết kế một vi mạch FPGA trải qua các bước như... hóa hình ảnh theo định dạng chuẩn JPEG, từ việc phân tích tìm hiểu quá trình mã hóa, chúng ta sẽ có cơ sở để thực thi việc giải mã hình ảnh JPEG chính là một phần nội dung yêu cầu của đề tài Luận văn Chương này cũng đã trình bày phương pháp hiển thị hình ảnh trên màn hình chuẩn VGA thông qua nguyên lý quét hình ảnh và các tín hiệu màu Để thực hiện việc hiển thị hình ảnh lên màn hình cần có bộ điều khiển... mã hình ảnh JPEG sử dụng các thư viện khả dụng để giải mã ảnh đưa về định dạng header file Hình ảnh sau khi mã hóa là đầu vào của khối hiển thị VGA Tại đây, dữ liệu hình ảnh được khối VGA xử lý thành các chuỗi tín hiệu RGB tương ứng với chuẩn giao tiếp màn hình VGA để hiển thị trên màn hình, đây là đích đến cuối cùng của hệ thống 3.2 Hệ thống phần cứng Để thực hiện yêu cầu từ sơ đồ khối của hệ thống, ... Internet, giải mã ảnh JPEG, kết nối và điều khiển màn hình hiển thị VGA Nghiên cứu kiến trúc và phương pháp lập trình vi xử lý mềm Micro-Blaze của hãng Xilinx Viết chương trình cấu hình kết nối Ethernet, tải dữ liệu hình ảnh từ server, giải mã JPEG và hiển thị trên màn hình VGA Thực thi thử nghiệm hệ thống tích hợp Hình 4-4: Kiểm tra kết nối toàn hệ thống 4.3 Đánh giá giải pháp thực hiện hệ thống Với... thiết kế hệ thống phần mềm phát triển hệ thống FPGA của hãng Xilinx Giải pháp phần cứng của đề tài sử dụng mạch phát triển Spartan-3E, vi điều khiển mềm MicroBlaze Để tổng hợp các Hệ thống hiển thị hình ảnh được xây dựng dạng System-on-a-chip dựa trên thành phần của hệ thống, chúng ta sử dụng bộ công cụ phần mềm Xilinx Embedded công nghệ FPGA Phần trung tâm của hệ thống là Vi xử lý mềm MircoBlaze của hãng... giải pháp sử dụng công nghệ FPGA cho mục đích của để tài, các khối thành phần được tích hợp trong cùng một chip đơn Để thực hiện chức năng hiển thị hình ảnh định dạng JPEG lên một màn hình chuẩn VGA thông qua mạng Ethernet, hệ thống cần tích hợp hai mô-đum phần cứng lớn là mô-đum Ethernet và mô-đum VGA display Hình 3-1: Sơ đồ khối chức năng hệ thống Khối truyền thông Ethernet được điều khiển bời mô-đum... tín hiệu điều khiển Vào/Ra Switch, Button 4 công tắc điều khiển và 4 nút bấm - thả PS/2, Mouse/ Keyboard 1 cổng kết nối PS/2 Character LCD Screen Màn LCD 2x16 3.2.1 Xây dựng hệ thống phần cứng trên chip Sử dụng bộ công cụ XPS – Xilinx Platform Studio phiên bản 12.3 để xây dựng hệ thống trên chip với vi điều khiển MicroBlaze và các khối ngoại vi Các bước xây Hình 3-2: Sơ đồ chi tiết hệ thống phần cứng