Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính - Pdf 31

BỘ GIÁO DỤC VÀ ĐÀO TẠO
PHẠM ĐỨC THUẬN

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN

Ket-noi.com chia se
PHẠM ĐỨC THUẬN

<TÊN ĐỀ TÀI>

TRIỂN KHAI HỆ THỐNG NHÚNG TRÊN NIOS
VÀ ỨNG DỤNG ĐIỀU KHIỂN THIẾT BỊ
QUA MÁY TÍNH

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

2014

HƯNG YÊN - 2014


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN

PHẠM ĐỨC THUẬN

TRIỂN KHAI HỆ THỐNG NHÚNG TRÊN NIOS
VÀ ỨNG DỤNG ĐIỀU KHIỂN THIẾT BỊ
QUA MÁY TÍNH
NGÀNH: CÔNG NGHỆ THÔNG TIN
CHUYÊN NGÀNH: CÔNG NGHỆ MÁY TÍNH

Nội dung thực hiện ...................................................................... 12

1.5

Phương pháp tiếp cận .................................................................. 13

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ............................................................ 14
2.1

Tổng quan về FPGA .................................................................... 14

2.1.1

FPGA là gì? .............................................................................. 14

2.1.2

Tóm tắt lịch sử phát triển của FPGA ......................................... 14

2.1.3

Tại sao cần sử dụng FPGA ........................................................ 15

2.1.4

Các ứng dụng của FPGA ........................................................... 16

2.1.5

Cấu trúc của FPGA ................................................................... 16

2.6.2. Các thiết bị ngoại vi Avalon ...................................................... 46
CHƯƠNG 3: NỘI DUNG THỰC HIỆN..................................................... 48
3.1

Sơ đồ tổng quát hệ thống ............................................................. 48

3.2

Chi tiết thiết kế hệ thống ............................................................. 50

3.2.1. NIOS II Processor – nios2_qsys_0 .............................................. 50
3.2.2. JTAG Debug Module – jtag_uart_0........................................... 51
3.2.3. Rs232 – UART( Rs232 Serial Port) ........................................... 51
3.2.4. SRAM On Chip – onchip_memory2_0 ...................................... 52
3.2.5. EFAN ........................................................................................ 52
3.2.6. LCD .......................................................................................... 53
3.2.7. LED Controler – pio_0 – led_green ........................................... 56
3.2.8. Avalon Bus ............................................................................... 56
3.3

Thiết kế giao diện điều khiển trên máy tính. ................................ 59

3.4

Lưu đồ thuật toán ........................................................................ 61

3.4.1. Quá trình gửi ............................................................................... 61
3.4.2. Quá trình nhận ........................................................................... 62
3.5


5


Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính

DANH SÁCH HÌNH VẼ
Hình 2-1: Cấu trúc tổng thể của FPGA ......................................................... 16
Hình 2-2: Khối logic FPGA ......................................................................... 17
Hình 2-3: KIT Altera DE2............................................................................ 19
Hình 2-4: Các thành phần trên KIT Altera DE2............................................ 19
Hình 2-5: Giao diện chính ............................................................................ 21
Hình 2-6: Design Flow ................................................................................. 22
Hình 2-7: Khởi tạo dự án.............................................................................. 23
Hình 2-8: Đường dẫn, tên dự án, tên thực thể chính. .................................... 24
Hình 2-9: Add file. ....................................................................................... 24
Hình 2-10: Chọn Device .............................................................................. 25
Hình 2-11: Công cụ thiết kế, mô phỏng. ....................................................... 26
Hình 2-12: Kết thúc...................................................................................... 26
Hình 2-13: New Source ................................................................................ 27
Hình 2-14: Trình soạn thảo trên Quartus II ................................................... 27
Hình 2-15: Cửa sổ Assignment Editor dùng để gán chân .............................. 28
Hình 2-16: Cửa sổ Programer ....................................................................... 29
Hình 2-17: Đường dẫn đến thư mục Usb-Blaster Driver............................... 30
Hình 2-18: Chọn hệ thống SoPC dựa trên ngôn ngữ Verilog hoặc VHDL ... 31
Hình 2-19: Chọn NIOS II processor ............................................................ 32
Hình 2-20: Chọn Debug level....................................................................... 32
Hình 2-21: Tạo bộ nhớ hệ thống. .................................................................. 33
Hình 2-22: JTAG UART .............................................................................. 34
6


Hình 3-14: Các tín hiệu giao tiếp và thời gian trong khi ghi dữ liệu ra cổng
slave.............................................................................................................. 58
Hình 3-15: Giao diện chương trình chính ..................................................... 60
Hình 3-16: Giao diện chương trình điều khiển ............................................. 60
Hình 3-17: Lưu đồ thuật toán quá trình gửi dữ liệu ...................................... 61
Hình 3-18: Lưu đồ thuật toán quá trình nhận dữ liệu .................................... 63
Hình 3-19: Connect to GPIO1( DE2 KIT) .................................................... 64
Hình 3-20: Mạch chuẩn giao tiếp Rs232 dùng IC Max232 ........................... 65
Hình 3-21: Sơ đồ module màn hình LCD ..................................................... 66
Hình 3-22: Sơ đồ nguyên lý Module Relay 4 kênh ....................................... 68
Hình 3-23: Module Relay 4 kênh - 5V-220V/10A ........................................ 69

8


Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính

DANH SÁCH BẢNG BIỂU
Bảng 3-1: Chân kết nối tín hiệu điều khiển GPIO1....................................... 65
Bảng 3-2: Rs232 pin assignments................................................................. 66
Bảng 3-3: LCD Module pin assignment ....................................................... 67

9


Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính

DANH SÁCH TỪ VIẾT TẮT
Từ viết tắt
ASIC


Look Up Table

Bảng tìm kiếm

PLA

Programmable Logic Array

Mảng logic khả trình

SOPC

System on a Programmable Chip

Xây dựng hệ thống trên một

Builder

CHIP

VHSIC Hardware Description

Ngôn ngữ lập trình phần cứng

VHDL

Language

10

phát triển hệ thống nhúng, phát triển các ứng dụng điều khiển trên FPGA kết nối
với các thiết bị ngoại vi.
Để có được bước đầu làm quen và nghiên cứu về công nghệ FPGA từ đó có
thể nghiên cứu sâu hơn về công nghệ nên Em đã chọn đề tài nghiên cứu: “ Triển
khai hệ thống nhúng trên nios và điều khiển thiết bị qua máy tính” làm đề tài
tốt nghiệp Đại học của mình.

11


Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính
Trong quá trình thực hiện đề tài này, do còn hạn chế về kiến thức và thời
gian nên không tránh được những thiếu sót. Em kính mong quý thầy cô
thông cảm và bỏ qua đồng thời em cũng mong nhận được những góp ý và
chỉ bảo thêm của quý thầy cô.
1.2

Mục tiêu của đề tài


Tạo bước đầu cho Sinh Viên nghiên cứu ứng dụng của Altera DE2 Cylone
II nói riêng và FPGA nói chung.



Nắm được trình tự thiết kế một ứng dụng sử dụng NIOS trên DE2: 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 Kit
DE2 với các thiết bị ngoại vi.



1.4

Nội dung thực hiện


Tìm hiểu, nghiên cứu nguyên lý hoạt động của Kit Altera DE2 Cylone II.



Tìm hiểu về các cổng vào ra của Kit DE2, kết nối với máy tính và các thiết
bị ngoại vi.

12


Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính


Đưa ra được giải pháp và chức năng của sản phẩm, thiết kế mạch và lập
trình đạt được yêu cầu đặt ra của hệ thống điều khiển.



Sử dụng tốt công cụ lập trình NIOS tạo ứng dụng điều khiển thiết bị qua
máy tính.



Lắp đặt, chạy thử và hoàn thiện hệ thống.


CHƯƠNG 2:

CƠ SỞ LÝ THUYẾT

Chương này sẽ trình bày cơ sở lý thuyết của đề tài bao gồm tổng quan về
FPGA, giới thiệu phần mềm, công cụ sử dụng trong đề tài, các bước triển khai hệ
thống, truyền thông qua máy tính.
2.1

Tổng quan về FPGA

2.1.1 FPGA là gì?
Field-programmable gate array( FPGA) là vi mạch dùng cấu trúc mảng
phần tử logic mà người dùng có thể lập trình được.( Chữ field ở đây muốn chỉ đến
khả năng tái lập trình "bên ngoài" của người sử dụng, không phụ thuộc vào dây
chuyền sản xuất phức tạp của nhà máy bán dẫn). Vi mạch FPGA được cấu thành từ
các bộ phận:


Các khối logic cơ bản lập trình được( logic block)



Hệ thống mạch liên kết lập trình được



Khối vào/ra( IO Pads)



trợ tái cấu trúc cục bộ, tức là khả năng tái cấu trúc một bộ phận riêng lẻ trong khi
vẫn đảm bảo hoạt động bình thường cho các bộ phận khác.
2.1.3 Tại sao cần sử dụng FPGA
FPGA cũng được xem như một loại vi mạch bán dẫn chuyên dụng ASIC,
nhưng nếu so sánh FPGA với những ASIC đặc chế hoàn toàn hay ASIC thiết kế
trên thư viện logic thì FPGA không đạt đựợc mức độ tối ưu như những loại này, và
hạn chế trong khả năng thực hiện những tác vụ đặc biệt phức tạp, tuy vậy FPGA ưu
việt hơn ở chỗ có thể tái cấu trúc lại khi đang sử dụng, công đoạn thiết kế đơn giản
do vậy chi phí giảm, rút ngắn thời gian đưa sản phẩm vào sử dụng.
Còn nếu so sánh với các dạng vi mạch bán dẫn lập trình được dùng cấu trúc
mảng phần tử logic như PLA, PAL, CPLD thì FPGA ưu việt hơn các điểm: tác vụ
tái lập trình của FPGA thực hiện đơn giản hơn; khả năng lập trình linh động hơn; và
khác biệt quan trọng nhất là kiến trúc của FPGA cho phép nó có khả năng chứa khối
lượng lớn cổng logic( logic gate), so với các vi mạch bán dẫn lập trình được có
trước nó.

15


Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính
2.1.4 Các ứng dụng của FPGA
Ứng dụng của FPGA bao gồm: xử lý tín hiệu số DSP, các hệ thống hàng
không, vũ trụ, quốc phòng, tiền thiết kế mẫu ASIC( ASIC prototyping), các hệ
thống điều khiển trực quan, phân tích nhận dạng ảnh, nhận dạng tiếng nói, mật mã
học, mô hình phần cứng máy tính, máy đánh cờ( Máy đánh cờ Hydra có 32 bộ vi xử
lý cộng thêm FPGA đã chiến thắng kiện tướng quốc tế Michael Adams trong năm
2005.
Do tính linh động cao trong quá trình thiết kế cho phép FPGA giải quyết lớp
những bài toán phức tạp mà trước kia chỉ thực hiện nhờ phần mềm máy tính, ngoài
ra nhờ mật độ cổng logic lớn FPGA được ứng dụng cho những bài toán đòi hỏi khối


Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính
mạch lập trình được( programmable switch), trong một khối chuyển mạch chứa một
số lượng nút chuyển lập trình được đảm bảo cho các dạng liên kết phức tạp khác
nhau.
Các phần tử tích hợp sẵn.
Ngoài các khối logic tùy theo các loại FPGA khác nhau mà có các phần tử tích
hợp thêm khác nhau, ví dụ để thiết kế những ứng dụng SoC, trong dòng Virtex 4,5
của Xilinx có chứa nhân xử lý PowerPC, hay trong Atmel FPSLIC tích hợp nhân
AVR…, hay cho những ứng dụng xử lý tín hiệu số DSP trong FPGA được tích hợp
các DSP Slide là bộ nhân cộng tốc độ cao, thực hiện hàm A*B+C, ví dụ dòng
Virtex của Xilinx chứa từ vài chục đến hàng trăm DSP slices với A, B, C 18-bit.
Block RAM
Ngoài ra những FPGA của Xilinx còn có block RAM, có thể mường tượng
như là bộ nhớ nhỏ nằm trong FPGA. Những FPGA này tuy nhỏ( khoảng vài chục kí
lô bit cho đến vài triệu bit tùy theo loại FPGA) nhưng có thể dùng để tạo một bộ
nhớ nhỏ như ROM, FIFO.
2.2.

KIT Altera DE2.
DE2( Development and Education ) la một công cụ cho việc thiết kế nâng cao

các thiết bị đa phương tiện, lưu trữ và mạng.
DE2 sử dụng công nghệ state-of- the-art trong cả phần cứng và các công cụ
thiết kế nhờ máy tính giúp mở rộng phạm vi ứng dụng. DE2 có nhiều tính năng phù
hợp với cả việc sử dụng trong các phòng lab và các hệ thống số tinh vi. Altera cung
cấp các công cụ hỗ trợ phù hợp cho DE2, gồm có các hướng dẫn, các bài lab trên
DE2, và các bài minh họa…

18


8 – Mbyte SDRAM



4 – Mbyte Flash memory



Khe cắm SD Card



4 phím nhấn PushButton KEY[3:0]



18 Switch( cấp mức ‘0’ hay ‘1’)



18 đèn LEDR và 9 đèn LEDG



Có hai nguồn clock là 50 MHz và 27 MHz



Chip giải mã âm thanh 24 bits với các jack cắm line-in, line-out và



40 chân mở rộng



LDC 2x16

20


Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính
2.3.

Phần mềm Quartus II

2.3.1. Giới thiệu Quartus II
Quartus II là công cụ chính được sử dụng trong quá trinh thực hiện đề tài.
Được cung cấp và cập nhật thường xuyên bởi Altera. Đây là công cụ thiết kế tốt
nhất cho các dòng chip FPGA của Altera bao gồm cả Cyclon II 2C35 có trên DE2.
Là công cụ phân tích và tổng hợp thiết kế HDL, nó cho phép nhà phát triển
thực hiện thiết kế của họ, đồng thời cho phép phân tích thời gian, kiểm tra sơ đồ
RTL, mô phỏng hệ thống và cấu hình sản phẩm một cách phù hợp nhất.

Hình 2-5: Giao diện chính

21


Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính



Timming Analysis – Phân tích trễ truyền dẫn trên các đường dây khác
nhau nhằm đưa ra các chỉ thị giúp cải thiện hiệu năng làm việc của mạch.



Timming Simulation – Kiểm tra đồng thời cả về mặt chức năng lẫn thời
gian của mạch.



Programming and Configuration – Thực hiện mạch trên con chip vật lý
bằng cách cấu hình các phần tử logic trên chip và thành lập các kết nối cần
thiết

2.3.2. Thiết kế dự án bằng Quartus II.


Tạo dự án, viết source code, biên dịch và nạp xuống KIT trên Quartus II.

Đề tài sử dụng phiên bản phần mềm Quartus 12.0 Web Edition.


Khởi tạo dự án: File  New Project Wizard  Next.

Hình 2-7: Khởi tạo dự án
23



-

Available device: EP2C35F672C6( DE2).

25


Trích đoạn Các thiết bị ngoại vi Avalon LED Controler – pio_0 – led_green
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status