Để đơ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ô
80 trang |
Chia sẻ: ngtr9097 | Lượt xem: 2848 | Lượt tải: 5
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):