Tải bản đầy đủ (.pdf) (90 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.74 MB, 90 trang )

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
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
HƯNG YÊN - 2014
PHẠM ĐỨC THUẬN <TÊN ĐỀ TÀI> 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 TỐT NGHIỆP ĐẠI HỌC
NGƯỜI HƯỚNG DẪN
Th.S LÊ TRUNG HIẾU



HƯNG YÊN - 2014

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

3


MỤC LỤC
MỤC LỤC 3

DANH SÁCH HÌNH VẼ 6

DANH SÁCH BẢNG BIỂU 9

DANH SÁCH TỪ VIẾT TẮT 10

CHƯƠNG 1:

TỔNG QUAN VỀ ĐỀ TÀI 11


Lý do chọn đề tài 11

1.1

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

1.2

Giới hạn và phạm vi của đề tài 12

1.3

Nội dung thực hiện 12

1.4


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

1.5
CHƯƠNG 2:

CƠ SỞ LÝ THUYẾT 14


Tổng quan về FPGA 14

2.1
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.2.

KIT Altera DE2. 18

2.3.

Phần mềm Quartus II 21

2.3.1.

Giới thiệu Quartus II 21

2.3.2.

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

2.3.3.

Xây dựng hệ thống bằng SoPC( Qsys) trên Quartus II 30

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

4

2.4.

Phần mềm lập trình NIOS II 35

2.5.


Truyền thông qua máy tính 39

2.6.

Avalon Bus 43

2.6.1.

Avalon Bus Module 45

2.6.2.

Các thiết bị ngoại vi Avalon 46

CHƯƠNG 3:

NỘI DUNG THỰC HIỆN 48


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

3.1

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

3.2
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



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

3.3

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

3.4
3.4.1.

Quá trình gửi 61

3.4.2.

Quá trình nhận 62


Sơ đồ nguyên lý. 64

3.5
3.5.1.

Kết nối chân tín hiệu điều khiển ngoại vi 64

3.5.2.

Sơ đồ ghép nối Rs232. 65

3.5.3.

Sơ đồ module màn hình LCD 66


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

5

3.5.4.

Sơ đồ nguyên lý Relay 4 kênh 67


Hình ảnh module thực tế 69

3.6
CHƯƠNG 4:

KẾT LUẬN 70


Kết quả đạt được của đề tài 70

4.1

Hạn chế của đề tài 71

4.2

Hướng phát triển của đề tài 71

4.3
TÀI LIỆU THAM KHẢO 72


PHỤ LỤC 73




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

6

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

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

7

Hình 2-23: Hệ thống SoPC tối thiểu. 34


Hình 2-24: Tạo thêm I/O cần thiết cho hệ thống NIOS II 35

Hình 2-25: Chọn workspace cho dự án. 36

Hình 2-26: Giao diện chương trình phần mềm NIOS II 36

Hình 2-27: Tạo dự án mới với NIOS II 37

Hình 2-28: Trình soạn thảo 38

Hình 2-29: Nạp xuống KIT 38

Hình 2-30: Rs232 Pin table 41

Hình 2-31: Sơ đồ khối một Avalon bus module trong thiết kế 46

Hình 3-1: Sơ đồ tổng quát hệ thống 48

Hình 3-2: Chọn phiên bản NIOS II/e 50

Hình 3-3: Component Jtag_uart 51

Hình 3-4: Component Rs232 51

Hình 3-5: SRAM On Chip 52

Hình 3-6: EFAN 52

Hình 3-7: Lcd_data 53


Hình 3-8: Lcd_rw 54

Hình 3-9: Lcd_rs 54

Hình 3-10: Lcd_e 55

Hình 3-11: Led control 56

Hình 3-12: Giao tiếp giữa cổng Slave và Avalon Bus Module trong quá trình
đọc từ Slave 57

Hình 3-13: Thời gian trong quá trình đọc dữ liệu từ cổng slave 57

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

8

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


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

9

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



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

10

DANH SÁCH TỪ VIẾT TẮT
Từ viết tắt Từ đầy đủ Giải thích
ASIC Application-Specific Integrated

Circuit
Vi mach tích hợp chuyên dụng

CPLD Complex Programmable Logic
Device
Thiết bị logic có thể lập trình
được.
DE Development and Education
FPGA Field programmable gate array Vi mạch dùng cấu trúc mảng
phần tử logic lập trình được
LUT 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
Builder
Xây dựng hệ thống trên một
CHIP
VHDL VHSIC Hardware Description
Language
Ngôn ngữ lập trình phần cứng




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

11

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
Trong chương này sẽ trình bày tổng quan về đề tài bao gồm lý do chọn đề tài,
mục tiêu, giới hạn, phạm vi nghiên cứu, nội dung thực hiện và phương pháp tiếp

cận của đề tài.
Lý do chọn đề tài
1.1
Trong những năm gần đây, xu hướng của thế giới là phát triển mạnh công
nghệ bán dẫn. Một chip có thể tích hợp trên nó nhiều cổng logic có thể ứng dụng
trong nhiều lĩnh vực. Ngày nay, ngành công nghiệp chế tạo phần cứng luôn có
những đột phá không ngừng. Từ các mạch điện đơn giản đến các mạch số, mạch
tích hợp, kiến trúc mạch ngày một trở nên phức tạp hơ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
cho các nghiên cứu, ứng dụng, và đào tạo hiện nay bởi đặc tính linh hoạt cho các
thiết kế thiết bị trên FPGA. Đặ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ô phỏng phần cứng VHDL, Verilog và một số công cụ thiết
kế, mô phỏng, ngày nay, ở phòng thí nghiệm, cơ sở đào tạo, hay một cá nhân có thể
đưa ra ý tưởng, một mẫu thiết kế một bộ xử lý mong muốn, và thực thi nó trên
FPGA. Với những ứng dụng rộng rãi trong nhiều ngành công nghiệp đa dạng, hầu
hết các hệ nhúng hiện nay đều được phát triển trên công nghệ FPGA. Mặt khác,
FPGA được hỗ trợ rất nhiều các thiết bị ngoại vi tạo điều kiện thuận lợi cho việc
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.
Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính

12

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ô.
Mục tiêu của đề tài
1.2
 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.
 Thiết kế hệ thống nhúng trên NIOS và ứng dụng điều khiển thiết bị qua
máy tính.
 Rèn luyện khả năng tư duy, sáng tạo và kinh nghiệm làm việc trong thực tế.
Giới hạn và phạm vi của đề tài
1.3
 Nghiên cứu FPGA của Altera. 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.
 Đư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.
 Nghiên cứu và phát triển hệ thống nhúng trên FPGA của hãng Altera.
 Viết chương trình điều khiển trên máy tính kết nối với FPGA điều khiển
thiết bị ngoại vi.
Nội dung thực hiện
1.4
 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.
Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính

13


 Đư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.
 Quyển báo cáo viết và trình bày theo đúng mẫu quy định.
Phương pháp tiếp cận
1.5
Cách tiếp cận : Nghiên cứu các ngôn ngữ, phần mềm thiết kế hệ thống nhúng
trên nền tảng Altera như VHDL, Verilog, Qsys trên Quartus II và viết phần mềm
trên NIOS II. Lập trình giao diện điều khiển thiết bị trên máy tính bằng Visual
Studio 2010.
Sử dụng các phương pháp nghiên cứu:
 Phương pháp đọc tài liệu.
 Phương pháp phân tích mẫu.
 Phương pháp thực nghiệm.
Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính

14

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.
Tổng quan về FPGA
2.1
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)
 Phần tử thiết kế sẵn khác như DSP slice, RAM, ROM, nhân vi xử lý
2.1.2 Tóm tắt lịch sử phát triển của FPGA
FPGA được thiết kế đầu tiên bởi Ross Freeman, người sáng lập công ty Xilinx
vào năm 1984, kiến trúc mới của FPGA cho phép tích hợp số lượng tương đối lớn
các phần tử bán dẫn vào 1 vi mạch so với kiến trúc trước đó là CPLD. FPGA có khả
năng chứa tới từ 100.000 đến hàng vài tỷ cổng logic, trong khi CPLD chỉ chứa từ
10.000 đến 100.000 cổng logic; con số này đối với PAL, PLA còn thấp hơn nữa chỉ
đạt vài nghìn đến 10.000.
CPLD được cấu trúc từ số lượng nhất định các khối SPLD( Simple
programmable devices, thuật ngữ chung chỉ PAL, PLA). SPLD thường là một mảng
logic AND/OR lập trình được có kích thước xác định và chứa một số lượng hạn chế
các phần tử nhớ đồng bộ( clocked register). Cấu trúc này hạn chế khả năng thực
Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính

15

hiện những hàm phức tạp và thông thường hiệu suất làm việc của vi mạch phụ
thuộc vào cấu trúc cụ thể của vi mạch hơn là vào yêu cầu bài toán.
Kiến trúc của FPGA là kiến trúc mảng các khối logic, khối logic, nhỏ hơn
nhiều nếu đem so sánh với một khối SPLD, ưu điểm này giúp FPGA có thể chứa
nhiều hơn các phần tử logic và phát huy tối đa khả năng lập trình của các phần tử
logic và hệ thống mạch kết nối, để đạt được mục đích này thì kiến trúc của FPGA
phức tạp hơn nhiều so với CPLD.
Một điểm khác biệt với CPLD là trong những FPGA hiện đại được tích hợp

nhiều những bộ logic số học đã sơ bộ tối ưu hóa, hỗ trợ RAM, ROM, tốc độ cao,
hay các bộ nhân cộng( multiplication and accumulation, MAC), thuật ngữ tiếng
Anh là DSP slice dùng cho những ứng dụng xử lý tín hiệu số DSP.
Ngoài khả năng tái cấu trúc vi mạch toàn cục, một số FPGA hiện đại còn hỗ
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ó.
Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính

16

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
lượng tính toán lớn và dùng trong các hệ thống làm việc theo thời gian thực.
2.1.5 Cấu trúc của FPGA
Cấu trúc tổng thể của một FPGA được minh họa ở hình sau:

Hình 2-1: Cấu trúc tổng thể của FPGA
Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính

17

Khối Logic FPGA

Hình 2-2: Khối logic FPGA
Phần tử chính của FPGA là các khối logic(logic block). Khối logic được cấu
thành từ LUT và một phần tử nhớ đồng bộ flip-flop.
LUT( Look up table) là khối logic có thể thực hiện bất kì hàm logic nào từ 4
đầu vào, kêt quả của hàm này tùy vào mục đích mà gửi ra ngoài khối logic trực tiếp
hay thông qua phần tử nhớ flip-flop.
Trong tài liệu hướng dẫn của các dòng FPGA của Xilinx còn sử dụng khái
niệm SLICE, 1 Slice tạo thành từ gồm 4 khối logic, số lượng các Slices thay đổi từ
vài nghìn đến vài chục nghìn tùy theo loại FPGA.
Nếu nhìn cấu trúc tổng thể của mảng LUT thì ngoài 4 đầu vào kể trên còn hỗ
trợ thêm 2 đầu vào bổ sung từ các khối logic phân bố trước và sau nó nâng tổng số
đầu vào của LUT lên 6 chân. Cấu trúc này là nhằm tăng tốc các bộ số học logic.
Hệ thống mạch liên kết
Mạng liên kết trong FPGA được cấu thành từ các đường kết nối theo hai
phương ngang và đứng, tùy theo từng loại FPGA mà các đường kết nối được chia
thành các nhóm khác nhau, ví dụ trong XC4000 của Xilinx có 3 loại kết nối: ngắn,

dài và rất dài. Các đường kết nối được nối với nhau thông qua các khối chuyển
Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính

18

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…
Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính


19


Hình 2-3: KIT Altera DE2
Các thành phần và thông số của KIT

Hình 2-4: Các thành phần trên KIT Altera DE2
Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính

20

 Altera Cyclone II 2C35 FPGA
 Altera Serial Configuration device - EPCS16
 USB Blaster dùng để lập trình hệ thống từ PC, hỗ trợ các chế độ JTAG cũng
như điều khiển trực tiếp khi sử dụng NIOS II
 512 – Kbyte SRAM
 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à
microphone
 VGA DAC( 10-bit high-speed triple DACs) với cổng VGA
 TV Decoder( NTSC/PAL) với TV-in( Video-in)
 Cổng 10/100 Ethernet
 Bộ điều khiển USB host/slave
 RS – 232 với cổng kết nối 9 chân

 Cổng PS/2 giao tiếp với chuột và keyboard
 Cổng hồng ngoại
 40 chân mở rộng
 LDC 2x16
Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính

21

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




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

22

Thiết kế FPGA với SoPC( Qsys) trên Quartus II.
Dưới đây là quy trình thiết kế FPGA với các phần mềm thiết kế FPGA nói
chung và Quartus II nói riêng:


Hình 2-6: Design Flow
 Design Entry – Mạch sau đã thiết kế sẽ được mô tả bởi các ngôn ngữ mô tả
phần cứng như VHDL hay Verilog, hoặc cũng có thể dùng sơ đồ
Schematic.
 Synthesis – Công cụ tổ hợp sẽ tổ hợp mạch tạo ra một file netlist có chứa
các phần tử logic và các kết nối giữa chúng.
 Function Simulation – Chức năng của mạch sau tổ hợp sẽ được kiểm định.
Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính

23

 Fitting – Công cụ máy tính sẽ đặt các phần tử logic được định nghĩa trong
file netlist xuống các phần tử logic trong con chip FPGA thực tế. Đồng thời
chọn ra các đường dây để kết nối chúng với nhau.
 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
Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính


24

 Điền đường dẫn lưu dự án, tên dự án và tên thực thể chính của dự án  Next.

Hình 2-8: Đường dẫn, tên dự án, tên thực thể chính.
 Thêm file thiết kế vào trong dự án  Next.

Hình 2-9: Add file.
Triển khai hệ thống nhúng trên NIOS và điều khiển thiết bị qua máy tính

25

- Thêm file mới cho dự án: Điền tên file name  Add.
- Thêm file đã có sẵn: Browse đường dẫn đến file đã tạo sẵn và Add.
- Nếu đã tạo xong dự án mà muốn thêm file thiết kế VHDL vào trong dự án:
Ở mục Project Navigator, chuyển sang tab file, click chuột phải vào file 
Add/Remove File in Project  Add.
 Chọn dòng thiết bị sử dụng.

Hình 2-10: Chọn Device
Đối với đề tài sử dụng KIT Altera Cyclone II DE2:
- Family: Cyclone II.
- Available device: EP2C35F672C6( DE2).





×