Belmiro

New Member
Đề tài 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

Download miễn phí Đề tài 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


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ô.







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


Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

1 hay 2)
Data: giá trị để ghi lên thanh ghi dữ liệu tạ vị trí con trỏ đang trỏ tới.
Chú ý:
Hàm không có gái trị trả về.
Nếu hàm này không sử dụng kênh 1, thì phần cứng phải được xây dựng ở chế
độ kênh đôi.
XGpio_Discreteset(XGpio * InstancePtr, unsigned Channel, u32 Mask)
Chức năng:
Định các đầu ra riêng biêt lên mức logic 1, tương ứng với 1 kênh được chon
của thiết bị.
Thông số:
InstancePtr: là con trỏ chỉ tới ngoại vi đang làm việc.
Channel: bao gồm 2 kênh (1 hay 2)
Mask:set các bit ngõ ra lên mức cao, các bit khác của thanh ghi dữ liệu không
bị ảnh hưởng.
XGpio_Discreteclear(XGpio * InstancePtr, unsigned Channel, u32 Mask)
Chức năng:
Định các đầu ra riêng biệt xuống mức logic 0, tương ứng với 1 kênh được chọn
của thiết bị.
Thông số:
InstancePtr: là con trỏ chỉ tới ngoại vi đang làm việc.
Channel: bao gồm 2 kênh (1 hay 2)
Mask:set các bit ngõ ra xuống mức thấp, các bit khác của thanh ghi dữ liệu
không bị ảnh hưởng.
Chương 2: Cấu trúc kit SPARTANT-3E, vi điều khiển MICROBLAZE và phần mềm EDK 30
GVHD: Phạm Trần Bích Thuận SVTH: Nguyễn Ngọc Vũ – Võ Xuân Văn
XGpio_mGetDataReg(BaseAddress, Channel)
Chức năng:
Lấy dữ liệu của một thanh ghi của một kênh đã được xác định.
Thông số:
BaseAddress: chứa địa chỉ nền của thiết bị GPIO.
Channel: bao gồm 2 kênh (1 hay 2).
Chú ý:
Hàm trả về giá trị dữ liệu 32bits
XGpio_mReadReg(BaseAddress, RegOffset)
Chức năng:
Đọc một giá trị từ thanh ghi GPIO. Kết quả thu được một dữ liệu 32bits. Nếu
thiết bị hoạt động với độ rộng bit nhỏ hơn 32bits thì chỉ có lấy những bit có trọng số
nhỏ, các bit còn lại sẽ là bit 0.
Thông số:
BaseAddress: chứa địa chỉ nền của thiết bị GPIO.
RegOffset: địa chỉ của thanh ghi được đọc cách địa chỉ nền một khoảng
XGpio_mWriteReg(BaseAddress, RegOffset, Data)
Chức năng:
Ghi một giá trị từ thanh ghi GPIO, một dữ liệu 32bits được ghi. Nếu thiết bị
hoạt động với độ rộng bit nhỏ hơn 32bits thì chỉ có lấy những bit có trọng số nhỏ hơn
mới được ghi.
Thông số:
BaseAddress: chứa địa chỉ nền của thiết bị GPIO.
RegOffset: địa chỉ của thanh ghi được ghi cách địa chỉ nền một khoảng.
Data: dữ liệu được ghi vào thanh ghi.
XUartLite_ClearStats(XUartLite *InstancePtr)
Chức năng:
Đưa về không các số liệu của các phần cứng được chỉ tới.
Thông số:
InstancePtr: con trỏ chỉ tới thiết bị truyền dẫn nối tiếp.
Chương 2: Cấu trúc kit SPARTANT-3E, vi điều khiển MICROBLAZE và phần mềm EDK 31
GVHD: Phạm Trần Bích Thuận SVTH: Nguyễn Ngọc Vũ – Võ Xuân Văn
XUartLite_DisableInterrupt(XUartLite *InstancePtr)
Chức năng:
Hàm này có tác dụng vô hiệu hóa các ngắt khi truyền dẫn nối tiếp. Sau khi hàm
này được gọi thì việc nhận các dữ liệu nối tiếp sẽ không gặp phải bất cứ ngắt nào.
Thông số:
InstancePtr: con trỏ chỉ tới thiết bị truyền dẫn nối tiếp.
XUartLite_EnableInterrupt(XUartLite *InstancePtr)
Chức năng:
Hàm này cho phép các ngắt được hoạt động trong quá trình nhận và truyền dữ
liệu nối tiếp. Đối với một thiết bị có chứa 16 byte để truyền nhận dữ liệu theo kiểu
FIFO thì bất cứ lúc nào cũng có thể có ngắt được cho phép trong quá trình truyền nhận
dữ liệu.
Thông số:
InstancePtr: con trỏ chỉ tới thiết bị truyền dẫn nối tiếp.
XUartLite_IsSending(XUartLite *InstancePtr)
Chức năng:
Hàm sẽ xác định liệu thiết bị truyền dẫn nối tiếp được chỉ ra có đang gửi dữ liệu
hay không. Nếu thanh ghi truyền dẫn không bỏ trống tức là nó đang gửi dữ liệu.
Thông số:
InstancePtr: con trỏ chỉ tới thiết bị truyền dẫn nối tiếp.
Chú ý:
Hàm trả về giá trị đúng khi thiết bị đang gửi dữ liệu, ngược lại là sai.
XUartLite_ResetFifos(XUartLite *InstancePtr)
Chức năng:
Hàm có tác dụng reset bộ nhớ FIFO, việc truyền và nhận dữ liệu sẽ bị xóa. Hàm
này có thể được sử dụng trong các ứng dụng nhằm xóa các dữ liệu không mong muốn
trong bộ nhớ FIFO.
Thông số:
InstancePtr: con trỏ chỉ tới thiết bị truyền dẫn nối tiếp.
Chương 2: Cấu trúc kit SPARTANT-3E, vi điều khiển MICROBLAZE và phần mềm EDK 32
GVHD: Phạm Trần Bích Thuận SVTH: Nguyễn Ngọc Vũ – Võ Xuân Văn
XUartLite_RecvByte(u32 BaseAddress)
Chức năng:
Hàm nhận một byte đơn từ cổng truyền dẫn nối tiếp. Hàm đọc giá trị 8 bits từ
thanh ghi nhận.
Thông số:
BaseAddress: là địa chỉ nền của thiết bị được xác định.
Chú ý:
Hàm trả lại giá trị byte mong muốn.
XUartLite_RecvByte(u32 BaseAddress, u8 Data )
Chức năng:
Hàm gửi đi một byte đơn qua cổng truyền dẫn nối tiếp. Hàm sẽ ghi giá trị 8 bits
vào thanh ghi truyền.
Thông số:
BaseAddress: là địa chỉ nền của thiết bị được xác định.
Data : byte dữ liệu gửi đi.
Tạo hệ thống phần cứng cơ bản trong XPS (Xilinx Platform Studio): khi các bạn
cho chạy chương trình EDK thì một cửa sổ xuất hiên gọi là cửa sổ XPS, chúng ta sẽ
bắt đầu tạo Project ở đây, màn hình khởi đông chương trình như sau :
2.3.3 Cách tạo Project với phần mềm EDK:
Hình 2.10: Cửa sổ XPS
Trong hôp thoại đầu tiên xuất hiện, cho phép chúng ta thao tác cơ bản :
Chương 2: Cấu trúc kit SPARTANT-3E, vi điều khiển MICROBLAZE và phần mềm EDK 33
GVHD: Phạm Trần Bích Thuận SVTH: Nguyễn Ngọc Vũ – Võ Xuân Văn
Base System Builder Wizard :hộp thoại này sẽ cho phép chúng ta tao một Project
mới.
Open A Recent Project : mở một Project đã có sẵn. Ở đây sẽ bắt đầu với bước tạo
một Project mới: nhấn Ok khi hôp chọn ở Base System…, hộp thoại tiếp theo sẽ hiện
ra:
Hình 2.11: Hộp thoại Create New XPS Project
Ở hộp thoại này, phần mềm sẽ yêu cầu đặt tên cho thư mục chứa Project và các
thư mục liên quan, nhần Browse và tạo một thư mục với một đường dẫn cụ thể, ở đây,
mình sẽ đặt tên cho thư mục doan, lưu ý nhấn Open 2 lần, chương trình sẽ tự động tạo
ra file doan.xmp trong thư mục chúng ta vừa tạo.
Click Next xuất hiện hộp thoại Select Board, lần lượt chọn:
Board vendor: Xilinx
Board name: Spartan-3E Starter Board
Board revision: C
Chương 2: Cấu trúc kit SPARTANT-3E, vi điều khiển MICROBLAZE và phần mềm EDK 34
GVHD: Phạm Trần Bích Thuận SVTH: Nguyễn Ngọc Vũ – Võ Xuân Văn
Hình 2.12: Hộp thoại Select Board
Click Next xuất hiện hộp thoại Select Processor.
Hình 2.13: Hộp thoại Select Processor
Click Next xuất hiện hộp thoại Configure MicroBlaze Processor. Lần lượt
chọn
Reference clock frequency: 50 MHz
Processor–Bus clock frequency: 50 MHz
Debug interface: On-Chip H/W debug module
Local Data and Instruction memory: 8 KB
Cache setup: Enable - unchecked
Chương 2: Cấu trúc kit SPARTANT-3E, vi điều khiển MICROBLAZE và phần mềm EDK 35
GVHD: Phạm Trần Bích Thuận SVTH: Nguyễn Ngọc Vũ – Võ Xuân Văn
Hình 2.14: Hộp thoại Configure MicroBlaze Processor
Click Next xuất hiện hộp thoại Configure IO Interfaces, đánh dấu chọn
RS232_DCE và LEDs_8Bit.
RS232_DCE: 115200 bits per second, 8 data bits, no parity, no interrupt
LEDs_8Bit: XPS GPIO peripheral, no interrupt.
Tương tự chọn ngoại vi Dip_switchs_4bit và các ngoại vi khác bỏ trống.
Hình 2.15: Hộp thoại Configure IO Interfaces
Click Next cho đến khi xuất hiện hộp thoại Add Internal Peripherals. Bạn có
thể click Add Peripheral để thêm ngoại vi.
Chương 2: Cấu trúc kit SPARTANT-3E, vi điều khiển MICROBLAZE và phần mềm EDK 36
GVHD: Ph...
 
Các chủ đề có liên quan khác
Tạo bởi Tiêu đề Blog Lượt trả lời Ngày
D Nghiên cứu thành phần hóa học và đánh giá tác dụng diệt tế bào ung thư của lá Xạ đen Y dược 0
D Nghiên Cứu Đặc Điểm Lâm Sàng Và Kết Quả Điều Trị Bệnh Thủy Đậu Bằng Zincpaste Y dược 0
D Nghiên cứu quy trình tổng hợp vật liệu aerogels từ xơ dừa và ứng dụng hấp phụ Khoa học Tự nhiên 0
D Nghiên Cứu, Chế Tạo Carbon Cellulose Aerogel Từ Hỗn Hợp Sợi Lá Dứa Và Sợi Cotton Ứng Dụng Trong Hấp Phụ Khoa học Tự nhiên 0
D Nghiên cứu và thiết kế mô hình học tập hệ thống phun xăng đánh lửa và chẩn đoán trên ô tô Khoa học kỹ thuật 0
D nghiên cứu các phương pháp phân lớp dữ liệu và ứng dụng trong bài toán dự báo thuê bao rời mạng viễn thông Công nghệ thông tin 0
D Nghiên cứu về mạng Nơron tích chập và ứng dụng cho bài toán nhận dạng biển số xe Công nghệ thông tin 0
D Nghiên cứu và đề xuất quy trình xây dựng hệ thống mạng an toàn Công nghệ thông tin 0
D Nghiên cứu một số chỉ tiêu sinh sản trên đàn chuột nhắt trắng giống Swiss nuôi tại Viện kiểm định Quốc gia vắc xin và sinh phẩm y tế Nông Lâm Thủy sản 0
D Nghiên cứu quy trình phân lập và sản xuất sinh khối sợi nấm lim xanh Nông Lâm Thủy sản 0

Các chủ đề có liên quan khác

Top