Luận văn Nghiên cứu và triển khai hệ thồng nhúng trên kit Spartan-3E, xây dựng mô hình Giám sát và điều khiển thiết bị theo nhiệt độ phòng

Để đơn giản trong việc thiết kế số, người thiết kế c ần một ngôn ngữ chuẩn để mô tả các mạc h điện. Từ đó Hardware Description Languages (HDLs) hay còn gọi là ngôn ngữ mô tả phần cứng ra đời. Ngôn ngữ mô tả phần c ứng (HDL) là một loại ngô n ngữ để thể hiện c ác thiết kế phần cứng thông qua bằng các phát biểu bằng lời. Có 2 ngôn ngữ thông dụng: Verilog HDL và VHDL. Ngôn ngữ mô tả phần cứng ngày càng thông dụng được đ ánh dấu sự phát triển mạnh mẽ của hệ thố ng nhúng. Nắm được tầm quan trọng của vấn đề cùng với định hướng giáo viên hướng dẫn đề ra nhó m chúng em tiến hành nghiên cứu và triển khai hệ thồng nhúng trên kit Spartan- 3E, v ới mong muốn là xây dựng được mô hình “Giám sát và điều khiển thiết bị theo nhiệt độ phòng ” và lấy đó làm đề tài tốt nghiệp c ho mình. Nội dung đề tài bao gồm những phần s au: Tìm hiểu về cấu trúc kít Vi điều khiển nhúng Microblaze Tìm hiểu về phần mềm EDK Thiết kế ứng dụng nhúng trên kit Mặc dù đã cố gắng để ho àn thành tập đề tài, nhưng không tránh khỏi những thiếu sót mong quí thầy cô thô ng cảm. Rất mong đ ược sự góp ý của thầy cô

pdf80 trang | Chia sẻ: ngtr9097 | Lượt xem: 2848 | Lượt tải: 5download
Bạn đang xem trước 20 trang tài liệu Luận văn Nghiên cứu và triển khai hệ thồng nhúng trên kit Spartan-3E, xây dựng mô hình Giám sát và điều khiển thiết bị theo nhiệt độ phòng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BỘ CÔNG THƢƠNG TRƢỜNG ĐẠI HỌC CÔNG NGHIỆP TP. HCM KHOA CÔNG NGHỆ ĐIỆN TỬ  ĐỒ ÁN TỐT NGHIỆP Tên đề tài : Giảng viên hƣớng dẫn: Th.S PHẠM TRẦN BÍCH THUẬN Sinh viên thực hiện: NGUYỄN NGỌC VŨ VÕ XUÂN VĂN Lớp: DHDT2B TP. Hồ Chí Minh, tháng 7 năm 2010 LỜI MỞ ĐẦU Để đơn giản trong việc thiết kế số, người thiết kế cần một ngôn ngữ chuẩn để mô tả các mạch điện. Từ đó Hardware Description Languages (HDLs) hay còn gọi là ngôn ngữ mô tả phần cứng ra đời. Ngôn ngữ mô tả phần cứng (HDL) là một loại ngôn ngữ để thể hiện các thiết kế phần cứng thông qua bằng các phát biểu bằng lời. Có 2 ngôn ngữ thông dụng: Verilog HDL và VHDL. Ngôn ngữ mô tả phần cứng ngày càng thông dụng được đánh dấu sự phát triển mạnh mẽ của hệ thống nhúng. Nắm được tầm quan trọng của vấn đề cùng với định hướng giáo viên hướng dẫn đề ra nhóm chúng em tiến hành nghiên cứu và triển khai hệ thồng nhúng trên kit Spartan-3E, với mong muốn là xây dựng được mô hình “Giám sát và điều khiển thiết bị theo nhiệt độ phòng ” và lấy đó làm đề tài tốt nghiệp cho mình. Nội dung đề tài bao gồm những phần sau: Tìm hiểu về cấu trúc kít Vi điều khiển nhúng Microblaze Tìm hiểu về phần mềm EDK Thiết kế ứng dụng nhúng trên kit Mặc dù đã cố gắng để hoàn thành tập đề tài, nhưng không tránh khỏi những thiếu sót mong quí thầy cô thông cảm. Rất mong được sự góp ý của thầy cô. Nhóm sinh viên thực hiện Nguyễn Ngọc Vũ Võ Xuân Văn LỜI CẢM ƠN Chúng em xin gửi lời cảm ơn đến các thầy cô trong khoa Công Nghệ Điện Tử trường đại học Công Nghiệp Thành Phố Hồ Chí Minh , đã tạo điều kiện cho mượn phòng thí nghiệm và giúp đỡ động viên để em có thể hoàn thành được đề tài này. Chúng em xin chân thành cảm ơn Cô Phạm Trần Bích Thuận, đã hướng dẫn tận tình và tạo điều kiện cho chúng em trong suốt thời gian làm đề tài. Nhóm sinh viên thực hiện Nguyễn Ngọc Vũ Võ Xuân Văn NHẬN XÉT CỦA GIẢNG VIÊN HƢỚNG DẪN Giáo viên hướng dẫn: PHẠM TRẦN BÍCH THUẬN Nhóm SVTH: NGUYỄN NGỌC VŨ MSSV: 06055861 VÕ XUÂN VĂN MSSV: 06052721 Lớp: DHDT2B ........................................................................................................................................ ........................................................................................................................................ ........................................................................................................................................ ........................................................................................................................................ ........................................................................................................................................ ........................................................................................................................................ ........................................................................................................................................ ........................................................................................................................................ CHỮ KÝ CỦA GIẢNG VIÊN HƢỚNG DẪN ……….,Ngày … Tháng …Năm 2010 Phạm Trần Bích Thuận NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN Giáo viên phản biện: .................................................................................................... Nhóm SVTH: NGUYỄN NGỌC VŨ MSSV: 06055861 VÕ XUÂN VĂN MSSV: 06052721 Lớp: DHDT2B ........................................................................................................................................ ........................................................................................................................................ ........................................................................................................................................ ........................................................................................................................................ ........................................................................................................................................ ........................................................................................................................................ ........................................................................................................................................ ........................................................................................................................................ CHỮ KÝ CỦA GIẢNG VIÊN PHẢN BIỆN .…….,Ngày … Tháng …Năm 2010 MỤC LỤC Trang Chƣơng 1: GIỚI THIỆU VỀ CHIP FPGA VÀ NGÔN NGỮ ĐẶC TẢ PHẦN CỨNG VHDL ........................................................................................................................1 1.1 KHÁI QUÁT VỀ CHIP FPGA: .........................................................................1 1.1.1 Khái niệm: .....................................................................................................1 1.1.2 Ứng dụng: ......................................................................................................2 1.2 NGÔN NGỮ ĐẶC TẢ PHẦN CỨNG VHDL: ..............................................2 1.2.1 Giới thiệu: ......................................................................................................2 1.2.2 Cấu trúc một file VHDL: .............................................................................3 1.2.3 Cấu trúc từ vựng: ..........................................................................................4 1.2.4 Các đối tượng dữ liệu trong VHDL: ..........................................................5 1.2.5 Kiểu dữ liệu: ..................................................................................................6 1.2.6 Các lệnh tuần tự: .........................................................................................10 Chƣơng 2: CẤU TRÚC KIT SPARTANT-3E, VI ĐIỀU KHIỂN MICROBLAZE VÀ PHẦN MỀM EDK CỦA HÃNG XILINK ..............................................................14 2.1 CẤU TRÚC KIT SPARTANT–3E CỦA XILINX: ......................................14 2.1.1 Các thành phần chính của kit SPARTANT – 3E:...................................14 2.1.2 Bộ tạo xung clock cho FPGA: ..................................................................15 2.1.3 Các nút chuyển nút nhấn và Led:..............................................................15 2.1.4 Khối LCD: ...................................................................................................17 2.1.5 Bộ biến đổi tương tự sang số:....................................................................18 2.2 VI ĐIỀU KHIỂN NHÚNG MICROBLAZE:.................................................23 2.2.1 Giới thiệu về vi điều khiển Microblaze: ..................................................23 2.2.2 Kiến trúc cơ bản của MicrroBlaze:...........................................................24 2.2.3 Kiến trúc Pipeline của vi điều khiển MicroBlaze: ..................................25 2.2.4 Giao tiếp tính hiệu trong MicroBlaze: .....................................................25 2.3 PHẦN MỀM EDK: ............................................................................................27 2.3.1 Giới thiệu Phần mềm EDK:.......................................................................27 2.3.2 Các tập lệnh trong EDK: ............................................................................27 2.3.3 Cách tạo Project với phần mềm EDK: .....................................................32 Chƣơng 3: PHẦN MỀM VB VÀ GIAO DIỆN ĐIỀU KHIỂN ..................................39 3.1 GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH VB.NET:...............................39 3.2 LẬP TRÌNH GIAO TIẾP CỔNG NỐI TIẾP VB.NET: ...............................39 3.2.1 Tự động dò tìm cổng COM: ......................................................................39 3.2.2 Đóng mở cổng COM: .................................................................................39 3.2.3 Nhận dữ liệu từ cổng COM: ......................................................................40 3.2.4 Gửi dữ liệu ra cổng COM: .........................................................................40 3.2.5 Cài đặt tham số cho cổng COM: ...............................................................41 3.2.6 Viết chương trình: .......................................................................................41 Chƣơng 4: TRIỂN KHAI XÂY DỰNG HỆ THỐNG NHÚNG TRÊN KIT SPARTANT 3E.....................................................................................................................53 4.1 SƠ ĐỒ TỔNG QUÁT VỀ ỨNG DỤNG NHÚNG: ......................................53 4.2 XÂY DỰNG CÁC CHIP NHÚNG: ................................................................54 4.2.1 Khối cảm biến nhiệt: ..................................................................................54 4.2.2 Khối điều khiển Camera: ...........................................................................58 4.3 XÂY DỰNG CÁC ỨNG DỤNG NHÚNG: ...................................................61 4.3.1 Sơ đồ giải thuật: ..........................................................................................61 KẾT LUẬN............................................................................................................................70 PHỤ LỤC CÁC TỪ VIẾT TẮC ......................................................................................71 DANH MỤC TÀI LIỆU THAM KHẢO.........................................................................72 DANH MỤC CÁC BẢNG,SƠ ĐỒ, HÌNH Hình 1.1: Cấu trúc một file VHDL ........................................................................................3 Hình 2.1: Bộ tạo xung trên kít Spartan 3e ..........................................................................15 Hình 2.2: Khối SW trên kit Spartan 3e ...............................................................................16 Hình 2.3: Dạng xung Encoder ..............................................................................................16 Hình 2.4: Khối Led trên kit Spartan 3e ...............................................................................17 Hình 2.5: Khối LCD trên kit Spartan 3e .............................................................................17 Hình 2.4: Khối ADC trên kit Spartan 3e .............................................................................18 Hình 2.5: Sơ Đồ chân khối ADC .........................................................................................19 Hình 2.6: Tám bit ra LTC6912.............................................................................................20 Hình 2.7: Cấu trúc IC LTC6912 ..........................................................................................21 Hình 2.8: Giản đồ thời gian ghi nhận dữ liệu .....................................................................22 Hình 2.9: Giản đồ giao tiếp LTC1407A..............................................................................23 Hình 2.10: Kiến trúc cơ bản của vi điều khiển MicroBlaze .............................................24 Hình 2.11: Kiến trúc Pipeline của vi điều khiển MicroBlaze...........................................25 Hình 2.12: một hệ thống Bus điển hình ..............................................................................26 Hình 2.10: Cửa sổ XPS .........................................................................................................32 Hình 2.11: Hộp thoại Create New XPS Project .................................................................33 Hình 2.12: Hộp thoại Select Board ......................................................................................34 Hình 2.13: Hộp thoại Select Processor................................................................................34 Hình 2.14: Hộp thoại Configure MicroBlaze Processor ...................................................35 Hình 2.15: Hộp thoại Configure IO Interfaces ...................................................................35 Hình 2.16: Hộp thoại Software Setup..................................................................................36 Hình 2.17: Hộp thoại Configure Memory Test Application ............................................36 Hình 2.18: Hộp thoại System Created .................................................................................37 Hình 2.19: Cửa sổ System Assembly View.......................................................................37 Hình 2.20: Block Diagram View of the Generated Project ..............................................38 Hình 3.1: Giao diện điều khiển và giám sát trên máy tính ...............................................42 Hình 3.2: Giao diện form setting Com ................................................................................52 Hình 4.1: Sơ đồ tổng quát về ứng dụng nhúng .................................................................53 Hình 4.2: Sơ đồ giải thuật Khối cảm biến nhiệt ................................................................54 Hình 4.3: Sơ đồ giải thuật khối điều khiển Camera...........................................................58 Hình 4.4: Sơ đồ giải thuật khối điều khiển camera giao tiếp vb ......................................61 Hình 4.5: Sơ đồ giải thuật khiển điều khiển nhiệt độ giao tiếp vb ..................................61 Chương 1: Giới thiệu về chip FPGA và ngôn ngữ đặc tả phần cứng VHDL 1 GVHD: Phạm Trần Bích Thuận SVTH: Nguyễn Ngọc Vũ – Võ Xuân Văn Chƣơng 1: GIỚI THIỆU VỀ CHIP FPGA VÀ NGÔN NGỮ ĐẶC TẢ PHẦN CỨNG VHDL 1.1 KHÁI QUÁT VỀ CHIP FPGA: 1.1.1 Khái niệm: FPGA (Field Programmable Gate Arrays) là một thiết bị bán dẫn bao gồm các khối logic lập trình được gọi là "Logic Block", và các kết nối khả trình. Các khối logic có thể được lập trình để thực hiện các chức năng của các khối logic cơ bản như AND, XOR, hoặc các chức năng kết hợp phức tạp hơn như decoder hoặc các phép tính toán học. Trong hầu hết các kiến trúc FPGA, các khối logic cũng bao gồm cả các phần tử nhớ. Đó có thể là các Flip-Flop hoặc những bộ nhớ hoàn chỉnh hơn. Các kết nối khả trình cho phép các khối logic có thể nối với nhau theo thiết kế của người xây dựng hệ thống, giống như một bảng mạch khả trình. Một kiến trúc khác tương tự nhưng đơn giản hơn FPGA, là CPLD (Complex Programmable Logic Device). Thực chất đây là tiền thân của FPGA. Năm 1984, Ross Freeman, một đồng sáng lập của Xilinx đã phát minh ra FPGA. FPGA và CPLD đều bao gồm một số lượng khá lớn các phần tử logic khả trình. Mật độ cổng logic (Logic Gate) của CPLD nằm trong khoảng từ vài nghìn cho đến 10 nghìn cổng. Trong khi đó FPGA thông thường chứa từ 10 nghìn cho đến vài triệu cổng. Khác biệt cơ bản giữa FPGA và CPLD là ở kiến trúc của chúng. CPLD có một kiến trúc bị giới hạn trong một hoặc một vài dãy logic khả trình cùng với một lượng nhỏ thanh ghi định thời. Do đó nó kém linh hoạt hơn, nhưng lại có ưu điểm là khả năng dự đoán trễ lớn hơn và tỉ lệ logic-kết nối cao hơn. Ngược lại, trong kiến trúc của FPGA lại có sự trội hơn về số lượng kết nối. Điều này làm cho nó trở nên linh hoạt hơn (về số lượng thiết kế được thực thi bên trong) nhưng cũng đồng nghĩa với việc phức tạp hơn trong quá trình thiết kế. Một khác biệt đáng chú ý nữa giữa FPGA và CPLD là: hầu hết các FPGA hiện nay đều bao có các phần tử chức năng tích hợp cao hơn (như bộ cộng, nhân tích hợp), và bộ nhớ tích hợp. Một số kiến trúc FPGA hiện nay còn có thể cho phép cấu hình lại từng phần (partial re-configuration). Có nghĩa là cho phép một phần của thiết kế được cấu hình lại trong khi những thiết kế khác vẫn tiếp tục hoạt động. Chương 1: Giới thiệu về chip FPGA và ngôn ngữ đặc tả phần cứng VHDL 2 GVHD: Phạm Trần Bích Thuận SVTH: Nguyễn Ngọc Vũ – Võ Xuân Văn Một ưu điểm khác của FPGA, là người thiết kế có thể tích hợp vào đó các bộ xử lý mềm (soft processor) hay vi xử lý nhúng (embedded processor). Các vi xử lý này có thể được thiết kế như các khối logic thông thường, mà mã nguồn do các hãng cung cấp, thực thi các lệnh theo chương trình được nạp riêng biệt, và có các ngoại vi được thiết kế linh động (khối giao tiếp UART, vào/ra đa chức năng GPIO, ethernet...). Các vi xử lý này cũng có thể được lập trình lại (re-configurable computing) ngay trong khi đang chạy. 1.1.2 Ứng dụng: FPGA được ứng dụng điển hình trong các lĩnh vực như: xử lý tín hiệu số, xử lý ảnh, thị giác máy, nhận dạng giọng nói, mã hóa, mô phỏng (emulation)...FPGA đặc biệt mạnh trong các lĩnh vực hoặc ứng dụng mà kiến trúc của nó yê u cầu một lượng rất lớn xử lý song song, đặc biệt là mã hóa và giải mã. FPGA cũng được sử dụng trong những ứng dụng cần thực thi các thuật toán như FFT, nhân chập (convolution), thay thế cho vi xử lý. Hiện nay công nghệ FPGA đang được sản xuất và hỗ trợ phần mềm bởi các hãng như: Xilinx, Altera, Actel, Atmel... Trong đó Xilinx và Altera là 2 hãng hàng đầu. Xilinx cung cấp phần mềm miễn phí trên nền Windows, Linux, trong khi Altera cung cấp những công cụ miễn phí trên nền Windows, Linux, Solaris. 1.2 NGÔN NGỮ ĐẶC TẢ PHẦN CỨNG VHDL: 1.2.1 Giới thiệu: VHDL là tên viết tắt của ngôn ngữ đặc tả phần cứng mạch tích hợp ở tốc độ rất cao (Very high speed integrated circuit Hardware Description Language). Đây là một ngôn ngữ dùng để mô tả các hệ thống điện tử số, bao gồm những đặc điểm của các ngôn ngữ lập trình thông thường như Pascal, C, hay của các ngôn ngữ mô tả logic như ABEL – HDL. VHDL cũng bao gồm cả những đặc điểm quản lí thiết kế, và những đặc điểm mà cho phép nó mô hình hóa một cách chính xác các biến cố xảy ra. VHDL ra đời nhằm hoàn thiện một số yêu cầu về quy trình thiết kế, hỗ trợ cho sự phát triển, hiệu chỉnh, tổng hợp và kiểm tra của việc thiết kế phần cứng, cũng như hỗ trợ cho sự liên kết dữ liệu trong thiết kế, và cho sự duy trì, thay đổi, cải tiến phần cứng. Thứ nhất, nó cho phép mô tả cấu trúc của một thiết kế, đó là cách thức phân chia ra thành những cấp độ thấp hơn, và các mức chi tiết này liên kết với nhau theo phương thức nào. Thứ Chương 1: Giới thiệu về chip FPGA và ngôn ngữ đặc tả phần cứng VHDL 3 GVHD: Phạm Trần Bích Thuận SVTH: Nguyễn Ngọc Vũ – Võ Xuân Văn hai, nó cho phép đặc tả theo chức năng những thiết kế được viết theo bất kì dạng ngôn ngữ lập trình thông thường nào. Thứ ba, nó cho phép thiết kế được mô phỏng lại, nhằm kiểm tra hoạt động của sản phẩm trước khi sản xuất. 1.2.2 Cấu trúc một file VHDL: Hình 1.1: Cấu trúc một file VHDL Bao gồm ba phần nhƣ sau: Phẩn khai báo thƣ viện (LIBRARY declarations): library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; Thực thể (Entity): entity NAME_OF_ENTITY is [ generic generic_declarations);] port (signal_names: mode type; signal_names: mode type; signal_names: mode type); end [NAME_OF_ENTITY] ; Một entity bắt đầu bằng từ khóa entity và sau đó là tên của nó và từ khóa is, tiếp theo là khai báo các port sử dụng từ khóa port. Một entity luôn kết thúc bằng từ khóa end [tên entity] Khai báo entity mô tả giao diện của một thực thẻ thiết kế, qua đó thực thể này truyền thông với các thực thể khác trong cùng một môi trường. Giao diện điển hình bao gồm tất cả các tín hiệu ngõ vào(input) và ngõ ra(output) và hai chiều (bidirectional) được định nghĩa trong phần khai báo port, các thông số của mô hình được định nghĩa bằng cách sử dụng các khai báo chung (generic). Chương 1: Giới thiệu về chip FPGA và ngôn ngữ đặc tả phần cứng VHDL 4 GVHD: Phạm Trần Bích Thuận SVTH: Nguyễn Ngọc Vũ – Võ Xuân Văn Kiến trúc (Architecture):