Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 133 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
133
Dung lượng
3,57 MB
Nội dung
TRƢỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ LUẬN VĂN TỐT NGHIỆP KHẢO SÁT VÀ THỰC HIỆN MỘT SỐ ỨNG DỤNG VỚI BOARD ALTERA FPGA DE3 Sinh viên thực hiện: Phạm Thị Hải Quyên MSSV: 1118007 Ngành: Kỹ thuật máy tính Hồng Thị Hạnh MSSV: 1117967 Ngành: Kỹ thuật máy tính Giáo viên hƣớng dẫn: ThS Trương Phong Tuyên Cần Thơ, tháng 5/2015 Luận văn tốt nghiệp Đại học Cần Thơ NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN Cần Thơ, ngày tháng năm 2015 SVTH: Phạm Thị Hải Quyên, Hồng Thị Hạnh ii GVHD: ThS Trương Phong Tuyên Luận văn tốt nghiệp Đại học Cần Thơ NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Cần Thơ, ngày tháng năm 2015 SVTH: Phạm Thị Hải Quyên, Hồng Thị Hạnh iii GVHD: ThS Trương Phong Tuyên Luận văn tốt nghiệp Đại học Cần Thơ NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Cần Thơ, ngày tháng năm 2015 SVTH: Phạm Thị Hải Quyên, Hồng Thị Hạnh iv GVHD: ThS Trương Phong Tuyên Luận văn tốt nghiệp Đại học Cần Thơ LỜI CẢM ƠN Trong trình thực đề tài, chúng em gặp không khó khăn hạn chế kiến thức, kinh nghiệm mặt thời gian Bên cạnh nỗ lực thân có giúp đỡ gia đình, thầy cô bạn bè Đầu tiên, chúng em xin gởi lời cảm ơn đặt biệt chân thành đến thầy Trương Phong Tuyên hướng dẫn tận tình cho nhóm Thầy người cung cấp, gợi ý tài liệu tham khảo cần thiết giúp nhóm khắc phục vấn đề khó khăn trình thực đề tài Chúng em xin cám ơn đến thầy cô Bộ môn Điện tử viễn thông giúp đỡ truyền kiến thức chuyên ngành làm sở để chúng em thực đề tài Nhóm xin gởi đến gia đình tình cảm lòng tri ân, cảm ơn gia đình bên cạnh động viên giúp đỡ chúng mặt thực đề tài Và cuối cùng, nhóm xin gởi lời cảm ơn đến bạn bè giúp đỡ tình cảm bạn kỷ niệm đẹp nơi giảng đường đại học thân yêu Cần Thơ, ngày tháng năm 2015 Nhóm thực đề tài Phạm Thị Hải Quyên SVTH: Phạm Thị Hải Quyên, Hồng Thị Hạnh v Hồng Thị Hạnh GVHD: ThS Trương Phong Tuyên Luận văn tốt nghiệp Đại học Cần Thơ CAM ĐOAN Đề tài “Khảo sát thực số ứng dụng với board Altera FPGA DE3” nhiều thiếu sót hạn chế nội dung trình bày luận văn dựa hiểu biết thành đạt sở nghiên cứu tham khảo chép công trình có từ trước Các nội dung tham khảo báo cáo trích dẫn rõ tên tác giả, tên công trình thời gian công bố Cần Thơ, ngày tháng năm 2015 Nhóm thực đề tài Phạm Thị Hải Quyên SVTH: Phạm Thị Hải Quyên, Hồng Thị Hạnh vi Hồng Thị Hạnh GVHD: ThS Trương Phong Tuyên Luận văn tốt nghiệp Đại học Cần Thơ Đề tài “KHẢO SÁT VÀ THỰC HIỆN MỘT SỐ ỨNG DỤNG VỚI BOARD ALTERA FPGA DE3” thực bởi: Phạm Thị Hải Quyên, Hồng Thị Hạnh, MSSV: 1118007, MSSV: 1117967, Lớp: Kỹ thuật máy tính Lớp: Kỹ thuật máy tính Đề tài báo cáo tại: Hội đồng chấm bảo vệ Luận văn tốt nghiệp Đại học CầnThơ; Ngành: Điện tử Truyền thông Kỹ thuật Máy tính; Bộ môn: Điện tử Viễn thông Hội đồng thành lập theo định số 133/QĐ-CN ngày 24 / 04 / 2015 Ngày bảo vệ: 19 / 05 / 2015 Kết đánh giá: _ Chữ ký thành viên hội đồng: Giáo viên hướng dẫn: ThS Trƣơng Phong Tuyên Giáo viên phản biện 1: TS Lƣơng Vinh Quốc Danh Giáo viên phản biện 2: ThS Trần Thanh Quang SVTH: Phạm Thị Hải Quyên, Hồng Thị Hạnh vii Kí tên: Kí tên: Kí tên: GVHD: ThS Trương Phong Tuyên Luận văn tốt nghiệp Đại học Cần Thơ MỤC LỤC NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN ii NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN iii NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN iv LỜI CẢM ƠN v CAM ĐOAN vi MỤC LỤC viii DANH MỤC HÌNH x DANH MỤC BẢNG xiii KÝ HIỆU VÀ VIẾT TẮT xiv TÓM TẮT xv ABSTRACT xv CHƢƠNG 1: GIỚI THIỆU TỔNG QUAN 1.1 ĐẶT VẦN ĐỀ 1.2 MỤC TIÊU VÀ PHẠM VI THỰC HIỆN 1.2.1 Mục tiêu 1.2.2 Phạm vi 1.3 PHƢƠNG PHÁP THỰC HIỆN CHƢƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU 2.1.1 Board DE3 2.1.2 Bố cục thành phần 2.1.3 Sơ đồ khối board DE3 2.2 SỬ DỤNG BOARD DE3 2.2.1 Cấu hình FPGA chuỗi JTAG 2.2.2 Giao diện ngƣời dùng I/O 11 2.2.3 Các nhóm I/O mạch kiểm soát VCCIO 13 2.2.4 Các đầu nối HSTC 14 2.2.5 Kết nối board HSTC/HSMC đến đầu nối HSTC DE3 16 2.2.6 Các Header mở rộng GPIO 16 2.2.7 DDR2 SO-DIMM 17 2.2.8 USB OTG 18 SVTH: Phạm Thị Hải Quyên, Hồng Thị Hạnh viii GVHD: ThS Trương Phong Tuyên Luận văn tốt nghiệp Đại học Cần Thơ 2.2.9 SD CARD 19 2.3 CẤU TRÚC TỔNG THỂ CONTROL PANEL BOARD DE3 19 CHƢƠNG 3: SƠ LƢỢC PHẦN MỀM VÀ THÀNH PHẦN LIÊN QUAN 21 3.1 QUARTUS II 21 3.2 SOPC BUILDER 22 3.3 NIOS II SOFTWARE BUILD TOOLS FOR ECLIPSE 23 CHƢƠNG 4: KHẢO SÁT VỀ GIAO TIẾP NGOẠI VI 24 4.1 SWITCH VÀ LED ĐƠN 24 4.2 SWITCH VÀ LED ĐOẠN 38 4.3 BUTTON VÀ LED ĐƠN 43 4.4 BUTTON VÀ LED ĐOẠN 48 CHƢƠNG 5: ỨNG DỤNG ĐỌC DỮ LIỆU TỪ SD CARD 52 5.1 GIỚI THIỆU SD CARD 52 5.1.1 Sơ lƣợc SD Card 52 5.1.2 Sơ đồ chân 52 5.1.3 Chế độ SD Card 53 5.2 ĐỊNH DẠNG LƢU TRỮ SD CARD 56 5.3 XÂY DỰNG SD CARD 57 CHƢƠNG 6: KẾT LUẬN VÀ ĐỊNH HƢỚNG PHÁT TRIỂN 76 6.1 KẾT LUẬN 76 6.2 ĐỊNH HƢỚNG PHÁT TRIỂN 76 TÀI LIỆU THAM KHẢO 77 PHỤ LỤC A 78 PHỤ LỤC B 79 SVTH: Phạm Thị Hải Quyên, Hồng Thị Hạnh ix GVHD: ThS Trương Phong Tuyên Luận văn tốt nghiệp Đại học Cần Thơ DANH MỤC HÌNH Hình 1.3-1: Phương pháp thực Hình 2.1-1: Cơ chế xếp chồng Board DE3 Hình 2.1-2: Board DE3 (xem mặt trên) Hình 2.1-3: Board DE3 (xem mặt dưới) Hình 2.1-4: Sơ đồ khối board DE3 Hình 2.2-1: Cấu hình FPGA 10 Hình 2.2-2: Chuỗi JTAG cho board DE3 11 Hình 2.2-3: Sự kết nối công tắc ấn Stratix III 11 Hình 2.2-4: Sự kết nối công tắc trượt Stratix III 12 Hình 2.2-5: Sự kết nối LED RGB Stratix III 12 Bảng 2.2.1: Sự liên hệ nhóm I/O đầu nối 13 Hình 2.2-7: Chỉ số mức điện cho nhóm I/O 14 Hình 2.2-8: Sự phân bố chân header mở rộng GPIO 17 Hình 2.2-9: Sự kết nối DDR2 Stratix III 18 Hình 2.2-10: Sự kết nối USB OTG Stratix III 19 Hình 2-11: Sự kết nối SD Stratix III 19 Hình 2.3-1: Sơ đồ khối bảng điều khiển DE3 20 Hình 3.1-1: Phần mềm Quartus II 21 Hình 3.2-1: Công cụ Altera SOPC Builder 22 Hình 3.3-1: Giao diện Nios II Software Build Tools for Eclipse 23 Hình 4.1-1 Chọn nơi lưu, đặt tên project tên thư mục 24 Hình 4.1-2: Chọn họ thiết bị 25 Hình 4.1-3: Tạo hệ thống 25 Hình 4.1-4: Chọn cấu hình Nios II 26 Hình 4.1-5: Chọn nhớ RAM 27 Hình 4.1-6: Gán nhớ RAM cho CPU 28 Hình 4.1-7: Chọn JTAG 29 Hình 4.1-8: Chọn System ID 29 Hình 4.1-9: Cấu hình PIO 30 Hình 4.1-10: Hệ thống nhúng xây dựng SOPC Builder 31 Hình 4.1-11: Thêm file nios_sys.v 31 Hình 4.1-12: Gán chân cho hệ thống 32 Hình 4.1-13: Kết biên dịch thành công 32 Hình 4.1-14: Nạp xuống board thành công 33 Hình 4.1-15: Nios II Software Build Tools for Eclipse 33 Hình 4.1-16: Cửa sổ Nios II Software Build Tools for Eclipse 34 Hình 4.1-17: Tạo ứng dụng dựa code có sẵn 34 Hình 4.1-18: Biên dịch chương trình 36 Hình 4.1-19: Kết biên dịch thành công 36 Hình 4.1-20: Chạy chương trình 37 Hình 4.1-21: Hiển thị giá trị LED RGB trượt Switch 38 Hình 4.2-1: Hệ thống nhúng xây dựng SOPC Builder 38 Hình 4.2-2: Gán chân cho hệ thống 39 Hình 4.2-3: Biên dịch thành công 39 SVTH: Phạm Thị Hải Quyên, Hồng Thị Hạnh x GVHD: ThS Trương Phong Tuyên Luận văn tốt nghiệp Đại học Cần Thơ unsigned int Fat_FileSize(FAT_FILE_HANDLE hFileHandle); bool Fat_FileRead(FAT_FILE_HANDLE hFileHandle, void *pBuffer, const int nBufferSize); bool Fat_FileSeek(FAT_FILE_HANDLE hFileHandle, const FAT_SEEK_POS SeekPos, const int nOffset); void Fat_FileClose(FAT_FILE_HANDLE hFileHandle); bool Fat_FileIsOpened(FAT_FILE_HANDLE hFileHandle); // float Fat_SpeedTest(FAT_HANDLE hFat, alt_u32 TestDurInMs); #endif /*FATFILESYSTEM_H_*/ Thư viện FatInternal.h: #ifndef FATINTERNAL_H_ #define FATINTERNAL_H_ #include "FatFileSystem.h" typedef void *DISK_HANDLE; typedef bool (*READ_BLOCK512_FUNC)(DISK_HANDLE DiskHandle, PysicalSelector, alt_u8 szBuf[512]); typedef enum{ PARTITION_FAT16=6, // limited to 2G PARTITION_FAT32=11,} PARTITION_TYPE; typedef struct{ // Hardware Access Function DISK_HANDLE DiskHandle; READ_BLOCK512_FUNC ReadBlock512; // unsigned int Partition_Type; bool bMount; // unsigned int PartitionStartSecter; unsigned int BPB_BytsPerSec; unsigned int BPB_SecPerCluster; unsigned int BPB_RsvdSecCnt; unsigned int BPB_NumFATs; unsigned int BPB_RootEntCnt; unsigned int BPB_FATSz; // unsigned int nBytesPerCluster; unsigned int FatEntrySecter; unsigned int RootDirectoryEntrySecter; unsigned int DataEntrySecter; // #ifdef FAT_READONLY char *szFatTable; // read into memory for speedup SVTH: Phạm Thị Hải Quyên, Hồng Thị Hạnh 105 alt_u32 GVHD: ThS Trương Phong Tuyên Luận văn tốt nghiệp Đại học Cần Thơ #endif }VOLUME_INFO; typedef struct{ bool IsOpened; unsigned int SeekPos; unsigned int Cluster; unsigned int ClusterSeq; // zero base //FAT_DIRECTORY Directory; FILE_CONTEXT Directory; // FAT_HANDLE Fat; }FAT_FILE_INFO; typedef enum{ CLUSTER_UNUSED, CLUSTER_RESERVED, CLUSTER_BAD, CLUSTER_LAST_INFILE, CLUSTER_NEXT_INFILE }CLUSTER_TYPE; typedef struct{ char Name[8]; char Extension[3]; char Attribute; char reserved[2]; unsigned short CreateTime; unsigned short CreateDate; unsigned short LastAccessDate; unsigned short FirstLogicalClusterHi; // not used in FAT12/FAT16 unsigned short LastWriteTime; unsigned short LastWriteDate; unsigned short FirstLogicalCluster; unsigned int FileSize; }fat_packed FAT_DIRECTORY; //fat_packed typedef struct{ char LDIR_Ord; char LDIR_Name1[10]; char LDIR_Attr; // must be ATTR_LONG_NAME (0x0F) char LDIR_Type; char LDIR_Chksum; char LDIR_Name2[12]; char LDIR_FstClusLO[2]; // must be zero char LDIR_Name3[4]; }fat_packed FAT_LONG_DIRECTORY; //fat_packed #define ATTR_IBUTE_VOLUME_BIT (0x01) #define ATTRIBUTE_DIRECTORY_BIT (0x01 [...]... nhóm thực hiện sự nghiên cứu board DE3 và xây dựng ứng dụng cơ bản của board Đề tài Khảo sát và thực hiện một số ứng dụng với board Altera FPGA DE3 được thực hiện với mục tiêu là phát triển ứng dụng trên board Altera DE3 Bên cạnh việc khảo sát, chúng tôi còn tìm hiểu về sự giao tiếp giữa board và các thành phần trên board, xây dựng một ứng dụng đơn giản đó là đọc dữ liệu từ thẻ SD Đồng thời sử dụng. .. trên FPGA của Altera, tìm hiểu các phần mềm ứng dụng có liên quan Giao tiếp cơ bản các ngoại vi trên board DE3 và xây dựng ứng dụng đơn giản đọc dữ liệu từ SD Card 1.3 PHƢƠNG PHÁP THỰC HIỆN Để thực hiện việc giao tiếp và xây dựng ứng dụng trên board DE3, nhóm sử dụng phần mềm để hỗ trợ là Quartus II và Nios II Hình 1.3-1 biểu diễn sơ đồ hóa các bước thực hiện Altera DE3 Stratix III USB Blaster Altera. .. EP3SL150F1152C2N của thiết bị Stratix III trên board DE3, nó đã được trang bị nhiều thành phần và thiết bị ngoại vi hữu ích cho người sử dụng Để có được bước đầu làm quen và nghiên cứu về Altera DE3, chúng tôi đã chọn đề tài Khảo sát và thực hiện một số ứng dụng với Board Altera FPGA DE3 để tìm hiểu cơ bản các tính chất và hoạt động các thành phần trên board Đây là một hướng nghiên cứu mới nhưng sự nghiên... chân sử dụng cho các ổ đĩa cứng IDE - Chia sẻ cùng chân I/O với đầu nối HSTC A 2.2 SỬ DỤNG BOARD DE3 2.2.1 Cấu hình FPGA và chuỗi JTAG Cấu hình FPGA: Board DE3 cho phép người dùng lập trình thiết bị FPGA sử dụng cáp USB và người lập trình Quartus ở chế độ JTAG Cấu hình hiện tại sẽ bị mất khi nguồn bị tắt Để có được cấu hình FPGA, ta thực hiện các bước sau đây: - Nguồn được cung cấp đến board DE3 - Kết... Quartus II và Nios II Sofware Build Tools for Eclipse làm công cụ hỗ trợ cho việc tìm hiểu và xây dựng ứng dụng Ngoài ra, đề tài này được thực hiện nhằm tạo bước đầu cho sinh viên tìm hiểu và nghiên cứu về Altera DE3 Trong thời gian 4 tháng, nhóm đã xây được ứng dụng như đã trình bày Từ khóa: Altera DE3, FPGA, Nios II, Quartus, thẻ SD ABSTRACT In this project, we implement a study about DE3 board and... vấn đề cùng với định hướng của giáo viên hướng dẫn, nhóm tiến hành nghiên cứu đề tài này với mong muốn giao tiếp được với các thành phần ngoại vi và xây dựng ứng dụng đơn giản đọc dữ liệu từ SD Card trên board DE3 Bên cạnh đó, chúng tôi hy vọng đây sẽ là tài liệu hữu ích cho các bạn sinh viên K40 trở về sau tham khảo và tìm hiểu 1.2 MỤC TIÊU VÀ PHẠM VI THỰC HIỆN 1.2.1 Mục tiêu Nhóm thực hiện đề tài... bị với liên kết nối tốc độ cao và các tiêu chuẩn cấu hình I/O Các ổ cắm DDR2 SO-DIMM chịu đựng truy cập bộ nhớ nhanh hơn vào thực tế, trong khi các ổ cắm thẻ SD cung cấp việc thực hiện mở rộng lưu trữ dữ liệu Người dùng có thể mở rộng board DE3 thành một hệ thống như trong hình 2.1-1 Board DE3 cũng có thể kết nối với nhiều board con được thiết kế bởi Terasic Hình 2.1-1: Cơ chế xếp chồng của Board DE3. .. hiểu về board DE3 nói riêng và công nghệ FPGA nói chung Ngoài ra, người thiết kế cần nắm được trình tự thiết kế một ứng dụng Nios trên DE3 như: cách lập trình, thiết kế phần cứng, cũng như cách vận hành giao tiếp giữa Board DE3 với thiết bị ngoại vi SVTH: Phạm Thị Hải Quyên, Hồng Thị Hạnh 1 GVHD: ThS Trương Phong Tuyên Luận văn tốt nghiệp Đại học Cần Thơ 1.2.2 Phạm vi thực hiện Nghiên cứu và phát triển... các hệ thống nhúng được phát triển trên FPGA đang được sử dụng rộng rãi bởi đặc tính linh hoạt cho các thiết kế thiết bị trên FPGA và có rất nhiều ứng dụng trong thực tế Đặc tính có thể cấu hình lại của FPGA cho phép tạo ra phiên bản thiết kế của một thiết bị mong muốn cho các ứng dụng khác nhau Nhờ sử dụng các ngôn ngữ mô tả phần cứng VHDL, Verilog HDL Mặt khác, FPGA được hỗ trợ rất nhiều các thiết bị... và PCB Các chíp hiện đại hầu như đều có tích hợp JTAG bên trong, điển hình như FPGA JTAG sử dụng 4 chân bắt buộc là TDI, TDO, TMS, TCK và một chân tùy chọn TRST: - TDI: Kiểm tra dữ liệu ngõ vào - TDO: Kiểm tra dữ liệu ngõ ra - TMS: Kiểm tra lựa chọn mô hình - TCK: Kiểm tra xung Clock - TRST: Kiểm tra ngõ vào reset Thiết lập chuỗi JTAG trên board DE3: Nếu board DE3 được sử dụng mà không có kết nối board ... nhóm thực nghiên cứu board DE3 xây dựng ứng dụng board Đề tài Khảo sát thực số ứng dụng với board Altera FPGA DE3 thực với mục tiêu phát triển ứng dụng board Altera DE3 Bên cạnh việc khảo sát, ... Trương Phong Tuyên Luận văn tốt nghiệp Đại học Cần Thơ Đề tài “KHẢO SÁT VÀ THỰC HIỆN MỘT SỐ ỨNG DỤNG VỚI BOARD ALTERA FPGA DE3 thực bởi: Phạm Thị Hải Quyên, Hồng Thị Hạnh, MSSV: 1118007, MSSV:... Khảo sát thực số ứng dụng với Board Altera FPGA DE3 để tìm hiểu tính chất hoạt động thành phần board Đây hướng nghiên cứu nghiên cứu khu vực Đồng sông Cửu Long hạn chế Nắm tính chất vấn đề với