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

thực hiện một số ứng dụng nhúng nâng cao trên board altera de2 115

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 (6.43 MB, 124 trang )

TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ
BỘ MÔN ĐIỆN TỬ VIỄN THÔNG

LUẬN VĂN TỐT NGHIỆP

THỰC HIỆN MỘT SỐ ỨNG DỤNG NHÚNG
NÂNG CAO TRÊN BOARD
ALTERA DE2-115

Sinh viên thực hiện:

Cán bộ hướng dẫn:

Nguyễn Thị Yến Nhi MSSV: 1117997

ThS. Trương Phong Tuyên

Trần Công Nữ Huyền Trân MSSV: 1118031

Cần Thơ, tháng 05 năm 2015


TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ
BỘ MÔN ĐIỆN TỬ VIỄN THÔNG

LUẬN VĂN TỐT NGHIỆP

THỰC HIỆN MỘT SỐ ỨNG DỤNG NHÚNG
NÂNG CAO TRÊN BOARD


ALTERA DE2-115

Sinh viên thực hiện:

Cán bộ hướng dẫn:

Nguyễn Thị Yến Nhi MSSV: 1117997

ThS. Trương Phong Tuyên

Trần Công Nữ Huyền Trân MSSV: 1118031

Luận văn được bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp
Trường Đại Học Cần Thơ – Khoa Công Nghệ
Bộ môn Điện tử - Viễn thông vào ngày 19 tháng 05 năm 2015


Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.

TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ
BỘ MÔN ĐIỆN TỬ VIỄN THÔNG

Luận văn được thực hiện bởi:
1.Nguyễn Thị Yến Nhi, MSSV: 1117997, Lớp: TC11Z5A1.
2. Trần Công Nữ Huyền Trân, MSSV: 1118031, Lớp: TC11Z5A1
Tựa đề Luận văn (Hay tên đề tài):
THỰC HIỆN MỘT SỐ ỨNG DỤNG NHÚNG NÂNG CAO TRÊN
BOARD ALTERA DE2-115.

Luận văn đã nộp và báo cáo tại Hội đồng chấm bảo vệ Luận văn tốt
nghiệp Đại học ngành Điện tử Truyền thông/ Kỹ thuật Máy tính, Bộ
môn Điện tử Viễn thông vào ngày .... tháng .... năm 2015. (Quyết
định thành lập Hội đồng số: ..../QĐ-CN ngày .... tháng .... năm 2015
của Trưởng Khoa Công Nghệ)

Kết quả đánh giá: ___________
Chữ ký của các thành viên Hội đồng:
Thành viên 1: ThS. Trương Phong Tuyên ..................................
Thành viên 2: ThS. Trần Hữu Danh ..........................................
Thành viên 3: ThS Nguyễn Thị Trâm ........................................

i


Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.

LỜI CAM ĐOAN
“Thực hiện một số ứng dụng nhúng nâng cao trên board Altera DE2-115”
là đề tài được thực hiện bởi hai sinh viên: Nguyễn Thị Yến Nhi và Trần Công
Nữ Huyền Trân sinh viên ngành kỹ thuật máy tính, khóa 37, khoa Công Nghệ,
Đại học Cần Thơ.
Trong quá trình thực hiện đề tài, có thể còn nhiều thiếu sót nhưng những
nội dung trình bày trong quyển báo cáo này là những hiểu biết và thành quả của
chúng tôi đạt được dưới sự giúp đỡ, hướng dẫn tận tình của giảng viên hướng
dẫn là Thạc sĩ Trương Phong Tuyên.
Các nội dung tham khảo trong quyển báo cáo được trích dẫn rõ ràng tên
tác giả, tên công trình, thời gian công bố.
Chúng tôi xin cam đoan rằng: những nội dung trình bày trong quyển báo

cáo Luận văn tốt nghiệp này không phải là bản sao chép từ bất kỳ công trình đã
có trước nào. Nếu không đúng sự thật, chúng tôi xin chịu mọi trách nhiệm trước
nhà trường.
Cần Thơ, ngày 19 tháng 05 năm 2015
Sinh viên thực hiện

Nguyễn Thị Yến Nhi

ii

Trần Công Nữ Huyền Trân


Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.

LỜI CẢM ƠN
Trong suốt quá trình học tập và làm luận văn tốt nghiệp chúng tôi đã gặp
không ít khó khăn, trở ngại nhưng nhờ sự giúp đỡ, động viên, chia sẻ của cha
mẹ và bạn bè, hướng dẫn tận tình của Thầy cô chúng tôi đã vượt qua những khó
khăn, trở ngại và hoàn thành nhiệm vụ học tập của mình. Qua luận văn này
chúng tôi muốn gửi lời cảm ơn chân thành đến:
Thầy Trương Phong Tuyên đã tận tình hướng dẫn, truyền đạt kinh nghiệm,
nhận xét, giúp đỡ chúng tôi hoàn thành luận văn đúng hướng, đúng thời hạn.
Xin chân thành cảm ơn Khoa Công Nghệ, Bộ môn Điện Tử Viễn Thông
đã giúp đỡ, hỗ trợ chúng tôi trong suốt quá trình học tập, nghiên cứu.
Xin cảm ơn sự giúp đỡ, hợp tác của các nhóm cùng làm luận văn tốt nghiệp
dưới sự hướng dẫn của Thầy Trương Phong Tuyên cùng tất cả các bạn bè đã
động viên, ủng hộ chúng tôi trong suốt thời gian qua.
Chúng tôi xin cảm ơn cha mẹ, những người đã lo lắng, giúp đỡ kịp thời về

mặt kinh tế và tinh thần giúp chúng tôi trong suốt quá trình học tập, rèn luyện.
Xin chân thảnh cảm ơn!
Sinh viên thực hiện

Nguyễn Thị Yến Nhi

iii

Trần Công Nữ Huyền Trân


Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.

MỤC LỤC

LỜI CAM ĐOAN ............................................................................................. ii
LỜI CẢM ƠN.................................................................................................. iii
MỤC LỤC ....................................................................................................... iv
DANH MỤC HÌNH ....................................................................................... vii
KÍ HIỆU VÀ VIẾT TẮT ................................................................................ xi
TÓM TẮT ....................................................................................................... xii
ABTRACT ...................................................................................................... xii
Chương 1: TỔNG QUAN................................................................................ 1
1.1 GIỚI THIỆU ĐỀ TÀI .................................................................................................... 1
1.2 LỊCH SỬ GIẢI QUYẾT ................................................................................................ 1
1.3 PHẠM VI VÀ GIỚI HẠN ĐỀ TÀI ............................................................................... 1
1.4 PHƯƠNG PHÁP NGHIÊN CỨU.................................................................................. 2

Chương 2: CƠ SỞ LÝ THUYẾT ................................................................... 3

2.1 GIỚI THIỆU CƠ BẢN VỀ BOARD DE2-115 ............................................................ 3
2.2 SƠ ĐỒ KHỐI CỦA BOARD DE2-115 ........................................................................ 4
2.3 CẤU HÌNH CHIP FPGA EP4CE115 ........................................................................... 4
2.4 MODUL LCD 16x2, LED ĐƠN, LED 7 ĐOẠN, SWITCH VÀ CỔNG PS/2 TRÊN
BOARD DE2-115. ............................................................................................................... 4

2.4.1 Module LCD 16x2 ............................................................................. 4
2.4.2

LED đơn ........................................................................................ 5

2.4.3

LED 7 đoạn.................................................................................... 5

2.4.4

Công tắc (switches) ....................................................................... 6

2.4.5 PS/2 Serial Port .................................................................................. 6
2.5 Bàn phím cổng PS/2....................................................................................................... 7
2.6 GIỚI THIỆU PHẦN MỀM QUARTUS II ................................................................... 8
2.5

GIỚI THIỆU KHÁI QUÁT VỀ QSYS.................................................................... 8

Chương 3: NỘI DUNG CÔNG VIỆC .......................................................... 10
Chương 4: PHƯƠNG PHÁP THỰC HIỆN ................................................ 11
4.1
BÀI THỰC TẬP SỐ 1: XÂY DỰNG HỆ THỐNG NHÚNG GIAO TIẾP LED

ĐƠN, LED 7 ĐOẠN, SWITCH ........................................................................................ 11

Mục đích ...................................................................................... 11
Yêu cầu ........................................................................................ 11

iv


Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.

Các bước thực hiện ...................................................................... 12
Kết quả đạt được.......................................................................... 42
4.2
BÀI THỰC TẬP SỐ 2: XÂY DỰNG HỆ THỐNG NHÚNG GIAO TIẾP LCD
16x2. 43

Mục tiêu ....................................................................................... 43
Yêu cầu ........................................................................................ 43
Các bước thực hiện ...................................................................... 43
Kết quả đạt được.......................................................................... 53
4.3
BÀI THỰC TẬP SỐ 3: XÂY DỰNG HAI HỆ THỐNG NHÚNG ĐỘC LẬP
TRÊN CHIP FPGA ............................................................................................................ 54

Mục tiêu ....................................................................................... 54
Yêu cầu ........................................................................................ 54
Các bước thực hiện ...................................................................... 54
Kết quả đạt được.......................................................................... 65
4.4

BÀI THỰC TẬP SỐ 4: XÂY DỰNG HỆ THỐNG NHÚNG GIAO TIẾP VỚI
MÁY TÍNH THÔNG QUA JTAG UART ........................................................................ 66

Mục tiêu ....................................................................................... 66
Yêu cầu ........................................................................................ 66
Các bước thực hiện ...................................................................... 66
Kết quả đạt được.......................................................................... 74
4.5
BÀI THỰC TẬP SỐ 5: XÂY DỰNG HỆ THỐNG NHÚNG GIAO TIẾP VỚI
MÁY TÍNH THÔNG QUA JTAG UART (TT) ................................................................ 75

Mục tiêu ....................................................................................... 75
Yêu cầu ........................................................................................ 75
Các bước thực hiện ...................................................................... 75
Kết quả đạt được.......................................................................... 80
4.6
BÀI THỰC TẬP SỐ 6: XÂY DỰNG HỆ THỐNG NHÚNG HIỂN THỊ KÝ TỰ
ĐƯỢC NHẬP TỪ BÀN PHÍM LÊN LCD THÔNG QUA CỔNG PS/2. ......................... 81

Mục tiêu ....................................................................................... 81
Yêu cầu ........................................................................................ 81
Các bước thực hiện ...................................................................... 81
Kết quả đạt được.......................................................................... 87
KẾT LUẬN VÀ ĐỀ NGHỊ............................................................................ 88
TÀI LIỆU THAM KHẢO ............................................................................. 89
PHỤ LỤC A: MỘT SỐ CHƯƠNG TRÌNH ỨNG DỤNG ......................... 90

v



Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.

PHỤ LỤC B: MỘT SỐ HÌNH ẢNH THỰC TẾ ....................................... 106

vi


Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.

DANH MỤC HÌNH
Hình 2.1 Thành phần trên board DE2-115 .................................................................... 3
Hình 2.2 Sơ đồ khối của board DE2-115 ....................................................................... 4
Hình 2.3 Sơ đồ chân của LCD ..................................................................................... 5
Hình 2.4 Sơ đồ chân của LED ...................................................................................... 5
Hình 2.5 Sơ đồ chân của LED 7 đoạn ........................................................................... 6
Hình 2.6 Sơ đồ chân của switches ................................................................................ 6
Hình 2.7 Kết nối giữa FPGA và PS/2 ............................................................................ 7
Hình 2.8 Bảng mã scancode......................................................................................... 7
Hình 2.9 Giao diện Quartus II ...................................................................................... 8

Hình 4.1.1 Các ngoại vi sử dụng ..................................................................... 11
Hình 4.1.2 Sơ đồ hệ thống ............................................................................... 12
Hình 4.1.3 Lưu đồ giải thuật ............................................................................ 13
Hình 4.1.4 Tạo project mới .............................................................................. 13
Hình 4.1.5 Tạo project mới .............................................................................. 14
Hình 4.1.6 Chọn nơi lưu và đặt tên cho hệ thống ........................................... 14
Hình 4.1.7 Add File [Page 2 of 5] ................................................................... 14
Hình 4.1.8 Family & Device Settings [page 3 of 5] ........................................ 15

Hình 4.1.9 EDA Tool Settings [page 4 of 5] ................................................... 15
Hình 4.1.10 Summary [page 5 of 5] ................................................................ 16
Hình 4.1.11 Mở công cụ QSys ........................................................................ 17
Hình 4.1.12 Thêm Nios II Processor ............................................................... 17
Hình 4.1.13 Chọn cấu hình sử dụng core Nios II/s ......................................... 18
Hình 4.1.14 Thêm JTAG Debug Module ........................................................ 18
Hình 4.1.15 Thêm On-Chip Memory .............................................................. 19
Hình 4.1.16 Thiết lập kích thước bộ nhớ ......................................................... 19
Hình 4.1.17 Thêm Parallel Port ....................................................................... 20
Hình 4.1.18 Thiết lập cho HEX3_0 ................................................................. 20
Hình 4.1.19 Thiết lập cho HEX7_4 ................................................................. 21
Hình 4.1.20 Thêm Paralllel I/O ....................................................................... 21
Hình 4.1.21 Thiết lập cho Switch .................................................................... 22
Hình 4.1.22 Thiết lập cho LEDR ..................................................................... 22
Hình 4.1.23 Kết nối thành phần xung clock .................................................... 23
Hình 4.1.24 Kết nối thành phần Reset ............................................................. 24
Hình 4.1.25 Nối thành phần “Avalon Memory mappel Slave” ....................... 24
Hình 4.1.26 Chọn bộ nhớ Ram cho hệ thống .................................................. 25
Hình 4.1.27 Gán địa chỉ nền tự động cho hệ thống ......................................... 25
Hình 4.1.28 Kết quả trước khi gán địa chỉ....................................................... 26
Hình 4.1.29 Kết quả sau khi gán địa chỉ .......................................................... 26
Hình 4.1.30 Hệ thống sau khi lấy chân external_connection .......................... 27
Hình 4.1.31 Chọn Generate để biên dịch hệ thống .......................................... 27
Hình 4.1.32 Hộp thoại để lưu hệ thống ........................................................... 27
Hình 4.1.33 Đường dẫn nơi lưu hệ thống ........................................................ 28
Hình 4.1.34 Kết quả quá trình biên dịch .......................................................... 28
vii


Thực hiện một số ứng dụng nhúng nâng cao

trên Board Altera DE2_115.

Hình 4.1.35 Project Navigator ......................................................................... 29
Hình 4.1.36 Add file cho hệ thống .................................................................. 29
Hình 4.1.37 Chọn file nios_sys.qip để add ...................................................... 29
Hình 4.1.38 Chọn Add, Apply ......................................................................... 29
Hình 4.1.39 Kết quả sau quá trình add file. ..................................................... 30
Hình 4.1.40 Cửa sổ gán chân cho hệ thống ..................................................... 30
Hình 4.1. 41 Cửa sổ lấy sơ đồ khối hệ thống................................................... 31
Hình 4.1.42 Thực hiện gán chân cho hệ thống ................................................ 31
Hình 4.1.43 Set as Top-Level Entily cho file nios_sys.qip ............................. 32
Hình 4.1.44 Chọn Import Assignments. .......................................................... 32
Hình 4.1.45 Chọn file để gán chân. ................................................................. 32
Hình 4.1.46 Set as Top-Level Entily cho file LAB1.bdf ................................. 33
Hình 4.1.47 Biên dịch chương trình ................................................................ 33
Hình 4.1.48 Kết quả biên dịch thành công ...................................................... 33
Hình 4.1.49 Programmer ................................................................................. 34
Hình 4.1.50 Add File ....................................................................................... 34
Hình 4.1.51 Kết nối board với hệ thống qua USB-Blaster .............................. 35
Hình 4.1.52 Kết quả nạp xuống thành công .................................................... 35
Hình 4.1.53 Chọn đường dẫn cho lưu trữ chương trình cho hệ thống............. 36
Hình 4.1.54 Tạo project mới cho hệ thống. ..................................................... 36
Hình 4.1.55 Nios II Application and BSP form Template .............................. 37
Hình 4.1.56 Cửa sổ Project Explorer ............................................................... 37
Hình 4.1.57 Properties for LAB1_bsp ............................................................. 38
Hình 4.1.58 Biên dịch chương trình vừa tạo ................................................... 40
Hình 4.1.59 Mở cửa sổ Run Cofigurations ...................................................... 41
Hình 4.1.60 Tạo New_configuration ............................................................... 41
Hình 4.1.61 Kết quả biên dịch thành công ...................................................... 42
Hình 4.1.62 Kết quả demo ............................................................................... 42

Hình 4.2.1 Sơ đồ hệ thống ..........................................................................................43
Hình 4.2.2 Lưu đồ giải thuật .......................................................................................44
Hình 4.2.3 Tạo hệ thống mới ......................................................................................44
Hình 4.2.4 Chọn chip xử lý.........................................................................................44
Hình 4.2.5 Thêm LCD ...............................................................................................45
Hình 4.2.6 Chọn cấu hình mặc định cho LCD ...............................................................45
Hình 4.2.7 Hệ thống hoàn chỉnh ..................................................................................46
Hình 4.2.8 Kết quả sau khi add file ..............................................................................46
Hình 4.2.9 Kết quả sau khi gán chân ............................................................................47
Hình 4.2.10 Cửa sổ workspace ....................................................................................47
Hình 4.2.11 Tạo ứng dụng mới ...................................................................................47
Hình 4.2. 12 Cửa sổ Nios II Application and BSP form Template ...................................48
Hình 4.2.13 Thiết lập properties cho LAB2_bsp............................................................48
Hình 4.2.14 Cách tạo Header File ................................................................................49
Hình 4.2.15 Tạo fiel LCD.h ........................................................................................49
Hình 4.2.16 Tạo file main.h ........................................................................................49
Hình 4.2.17 Kết quả biên dịch thành công ....................................................................53

viii


Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.

Hình 4.3.1 Sơ đồ hệ thống ............................................................................... 54
Hình 4.3.2 Tạo project mới ..................................................................................55
Hình 4.3.3 Chọn dòng vi xử lý và chip ...............................................................55
Hình 4.3.4 Kết nối thành phần xung clock .........................................................56
Hình 4.3.5 Kết nối thành phần reset ....................................................................57
Hình 4.3.6 Kết nối thành phần “Avalon Mapped Slave” và lấy chân

external_connection .............................................................................................58
Hình 4.3.7 Kết quả sau khi add file .....................................................................59
Hình 4.3.8 Cửa sổ lấy sơ đồ khối hệ thống.........................................................59
Hình 4.3. 9 Kết quả sau khi gán chân .................................................................60
Hình 4.3.10 Cửa sổ workspace ............................................................................60
Hình 4.3.11 Tạo ứng dụng mới ...........................................................................61
Hình 4.3.12 Thiết lập phần mềm cho hệ thống thứ 1.........................................61
Hình 4.3.13 Thiết lập phần mềm cho hệ thống thứ 2.........................................62
Hình 4.3.14 Hai hệ thống vừa tạo xong ..............................................................62
Hình 4.3.15 Thiết lập properties cho CPU_1_bsp .............................................63
Hình 4.3.16 Chọn tên project...............................................................................63
Hình 4.3.17 Nạp chương trình ứng dụng xuống phần cứng. .............................64
Hình 4.3.18 Chọn tên project...............................................................................64
Hình 4.3.19 Nạp chương trình ứng dụng xuống phần cứng. .............................65
Hình 4.4.1 Sơ đồ hệ thống ............................................................................... 66
Hình 4.4.3 Tạo project mới .............................................................................. 67
Hình 4.4.4 Chọn dòng vi xử lý và chip ............................................................ 67
Hình 4.4.5 Thêm JTAG_UART ...................................................................... 68
Hình 4.4.6 Chọn chế độ mặc định cho JTAG_UART ..................................... 68
Hình 4.4.7 Hệ thống hoàn chỉnh ...................................................................... 69
Hình 4.4.8 Hệ thống sau khi gán chân ............................................................. 69
Hình 4.4.9 Kết quả biên dịch thành công ........................................................ 73
Hình 4.4.10 Kết quả sau khi nhập dãy số và nhấn phim Enter ........................ 73
Hình 4.4.11 Kết quả hiển thị lên LED 7 đoạn ................................................. 74
Hình 4.5.1 Kết quả biên dịch thành công ........................................................ 79
Hình 4.5.2 Kết quả sau khi nhập ký tự “i” và dãy ký tự “giadinh” ................. 80
Hình 4.5.3 Kết quả hiển thì ra LED 7 đoạn ..................................................... 80
Hình 4.6.1 Sơ đồ hệ thống ............................................................................... 81
Hình 4.6.2 Tạo project mới .............................................................................. 84
Hình 4.6.3 Chọn dòng vi xử lí và chip............................................................. 84

Hình 4.6.4 Thêm PS2 Controller ..................................................................... 85
Hình 4.6.5 Chọn cấu hình cho PS2 Controller ................................................ 85
Hình 4.6.6 Hệ thống hoàn chỉnh ...................................................................... 86
Hình 4.6.7 Hệ thống sau khi add file ............................................................... 86
Hình 4.6.8 Kết quả sau khi gán chân ............................................................... 87
Hình B.1 Trạng thái board trước khi biên dịch. ..................................................... 106
Hình B.2 Trạng thái board sau khi biên dịch lab1. ........................................ 106
ix


Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.

Hình B.3 Trạng thái board sau khi nạp chương trình của lab1. ..................... 107
Hình B.4 Kết quả đạt được ở lab1. ................................................................ 107
Hình B.5 Kết quả biên dịch thành công của lab2. ......................................... 108
Hình B. 6 Kết quả đạt được của lab3. ............................................................ 108
Hình B.7 Kết quả đat được ở lab4. ................................................................ 109
Hình B.8 Kết quả đạt được ở lab5. ................................................................ 109
Hình B. 9 Kết quả đạt được ở lab6. ............................................................... 110

x


Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.

KÍ HIỆU VÀ VIẾT TẮT
FPGA


Field Programmable Gate Array

RAM

Random Access Memory

ROM

Read Only Memory

SDRAM

Synchronous Dymamic RAM

SRAM

Static Random Access Memory

PLLs

Phase Locked Loops

VGA

Video Graphics Array

HDL

Hardware Description Language


AC

Address Counter

LCD

Liquid Crystal Display

IP

Internet Protocal

JTAG

Joint Test Action Group

LAB

Logic Array Block

Les

Logic Elements

MMU

Memory Management Unit

SoPC


System on Programmable Chip

NoC

Network on a Chip

UART

Universally Asynchronous Receiver Transmitter

USB

Universal Serial Bus

I/O

Input/Output

xi


Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.

TÓM TẮT
“Xuất hiện từ những năm đầu thập niên 1960, hệ thống nhúng đang dần
trở thành một ngành phát triển mạnh mẽ trong lĩnh vực công nghệ thông tin
(CNTT), với những ứng dụng rộng rãi trong công nghiệp và đời sống”1. Việc
xây dựng hệ thống nhúng dựa trên kỹ thuật FPGA, với mục đích nghiên cứu và
phát triển các ứng dụng thông minh hiện đang được quan tâm và có tiềm năng

rất lớn. Vì các lí do trên, chúng tôi chọn đề tài “Thực hiện một số ứng dụng
nhúng nâng cao trên board Altera DE2-115” để thực hiện luận văn tốt nghiệp
của mình. Đề tài nghiên cứu trên board DE2-115 do Terasic sản xuất. Mục đích
của đề tài là xây dựng 6 bài thực tập cho học phần Phát triển ứng dụng cho Hệ
thống nhúng. Kết quả dự kiến là xây dựng được tài liệu hướng dẫn sử dụng cho
học phần Phát triển ứng dụng cho Hệ thống nhúng. Ngoài ra góp phần vào nguồn
tư liệu cho các nghiên cứu về sau trong lĩnh vực hệ thống nhúng của Trường đại
học Cần Thơ.
Từ khóa: DE2-115, FPGA, hệ thống nhúng, Nios, QSys.

ABTRACT
It was appeared from the early 1960s, embedded systems are becoming
an industry flourished in the field of information technology (IT), with broad
applications in industry and living. The construction of embedded system bases
on FPGA techniques, which aims to research and develop inteligent
applications is currently the main concern and having great potential. For these
reasons, we choose the topic “Execute various advanced Embedded application
on board Altera DE2_115” as our graduation thesis. The study is conducted on
the DE2-115 board made by Terasic. The purpose of this theme is constructed
6 practiced lesson for Guide document for module Application Development
for Embedded Systems. The aim of this project is to guide the communication
system between the devices on DE2-115 board and embedded systems.
Expected results are the constant stability on built system. Hopefully this
research could be a contribution to further research in the field of embbeded
system in Can Tho university.
Keywords: DE2-115, FPGA, Embedded System, Nios, QSys.

1

/>

xii


Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.

Chương 1: TỔNG QUAN
Chương này sẽ trình bày các vấn đề:





Giới thiệu đề tài
Lịch sử giải quyết đề tài
Phạm vi, giới hạn thực hiện đề tài
Phương pháp nghiên cứu

1.1 GIỚI THIỆU ĐỀ TÀI
Ứng dụng của hệ thống nhúng rất rộng: từ sản phẩm nhỏ như: máy điều
hòa nhiệt độ, lò vi sóng, v.v… đến những thiết bị giá trị lớn như máy bay, tàu
cao tốc, vệ tinh, …Để có thể cạnh tranh với thị trường thế giới đòi hỏi cần chú
ý khâu đào tạo. Kỹ sư lập trình hệ thống nhúng phải hiểu cấu trúc phần cứng
của thiết bị và biết cách lập trình thì mới lập trình được.
Nắm được tầm quan trọng đó, việc thực hiện đề tài “Thực hiện một số ứng
dụng nhúng nâng cao trên board Altera DE2-115” nhằm mục đích giúp sinh
viên nắm vững kiến thức về các thành phần trên chip FPGA, cũng cố kiến thức
về hệ thống nhúng thông qua việc xây dựng 6 bài thực tập để cung cấp tài liệu
thực tập cho học phần Phát triển ứng dụng cho Hệ thống nhúng cho sinh viên
khóa 40.

1.2 LỊCH SỬ GIẢI QUYẾT
Hiện nay, nhiều trường đại học và nhiều phòng thí nghiệm đã bắt đầu giảng
dạy, nghiên cứu và phát triển về mảng đề tài FPGA trên board DE2-115 như đề
tài của các anh/chị khóa trước: Tạ Duy Thắng - Trần Hoàng Nhi Mở rộng 5 bài
thực hành hệ thống nhúng (ngôn ngữ C), khoa Công Nghệ, Đại học Cần Thơ,
2013 hay của Huỳnh Văn Tấn Lợi – Lương Văn Hồng Ý Xây Dựng Các Ứng
Dụng Cơ Bản Trên Board DE2-115, khoa Công Nghệ, Đại học Cần Thơ, 2013.
Board DE2-115 Development and Education là board thí nghiệm do
Terasic cung cấp cho bộ môn Điện tử viễn thông – trường Đại học Cần Thơ.
Các tài liệu kỹ thuật về board DE2-115 được altera [1] cung cấp khá đầy đủ.
1.3 PHẠM VI VÀ GIỚI HẠN ĐỀ TÀI
 Đề tài được thực hiện trong học kì II năm học 2014 - 2015.
 Tiến hành nghiên cứu trên board DE2-115 Development Kit của
hãng Terasic.
 Đề tài mang tính chất nghiên cứu khoa học trong phạm vi luận văn tốt
nghiệp, có thể được sử dụng làm tài liệu tham khảo phục vụ học tập và
giảng dạy.

1


Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.

1.4 PHƯƠNG PHÁP NGHIÊN CỨU
Để thực hiện đề tài nhóm chúng tôi tiến hành qua các bước:
Lập đề cương nghiên cứu, xác định rõ phạm vi đề tài, ước tính thời gian
thực hiện và hoàn thành đề tài, xin ý kiến của giáo viên hướng dẫn. Sau khi
được giáo viên hướng dẫn góp ý, nhóm tiến hành sửa chữa và bổ sung để hoàn
thiện đề tài.

Nhóm tiến hành tìm hiểu các thành phần, chức năng của board DE2-115,
tìm hiểu cấu trúc phần cứng, sưu tầm, và lập danh mục các tư liệu liên quan,
ngoài việc tham khảo các tài liệu được giáo viên hướng dẫn cung cấp, các tài
liệu, báo cáo của các nhóm trước, nhóm chủ động tìm hiểu các nguồn tài liệu từ
sách, báo trong và ngoài nước trên Internet.
Nhóm tiến hành chia đề tài ra thành các bài thực tập để thực hiện kiểm
chứng từng thành phần trên board DE2-115. Dựa trên cơ sở kiến thức tích lũy
được trong quá trình học tập, tự nghiên cứu chúng tôi đã tiến hành biên dịch và
nạp chương trình thành công các hệ thống xuống board DE2-115 và đạt kết quả
như mong muốn, có thể kiểm tra từng thành phần các thiết bị ngoại vi cũng như
khả năng giao tiếp giữa board DE2-115 với máy tính.

2


Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.

Chương 2: CƠ SỞ LÝ THUYẾT
Nội dung chính chương này là:
 Giới thiệu về board DE2-115
 Giới thiệu các thành phần phần cứng được sử dụng trong các bài thực tập
 Tìm hiểu nguyên tắc hoạt động của các thành phần phần cứng khi kết nối
với chip FPGA.
2.1 GIỚI THIỆU CƠ BẢN VỀ BOARD DE2-115
Board DE2-115 Development and Education của Terasic sản xuất, nó
được dùng để nghiên cứu trong lĩnh vực hệ thống nhúng. Nó có nhiều tính năng
cho phép người dùng thực hiện hàng loạt các thiết kế mạch từ đơn giản đến phức
tạp. Hình 2.1 mô tả cách bố trí và chỉ ra vị trí của các kết nối và thành phần
chính trên board DE2-115.


Hình 2.1 Thành phần trên board DE2-115

Các thành phần của board DE2-115 tham khảo tại trang terasic bao gồm:
Ngoài những cấu hình phần cứng, board DE2-115 còn có phần mềm hỗ
trợ các chuẩn giao diện I/O và một thiết bị điều khiển để truy cập các thành phần
khác. Ngoài ra phần mềm này cung cấp để hỗ trợ cho một vài ví dụ chứng minh
khả năng tiên tiến của board DE2-115. Để sử dụng được board DE2-115, người
dùng cần phải làm quen với phần mềm Quartus II.

3


Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.

2.2 SƠ ĐỒ KHỐI CỦA BOARD DE2-115

Hình 2.2 Sơ đồ khối của board DE2-115

Tất cả các kết nối được thực hiện thông qua các thiết bị Cyclone IV E
FPGA. Bằng cách cấu tạo sơ đồ khối như ở bên trên giúp người sử dụng có thể
cấu hình FPGA để thực hiện bất kỳ thiết kế hệ thống và sử dụng hệ thống đó
một cách tối ưu trên board DE2-115. Đồng thời có thể dễ dàng truy xuất đến
các ngoại vi.
Chi tiết bên trong của board DE2-115 tham khảo tại trang terasic.
2.3 CẤU HÌNH CHIP FPGA EP4CE115
Chip FPGA EP4CE115 trên board DE2-115 được đóng gói và kết nối với
các ngoại vi bên ngoài. Chip FPGA EP4CE115 có 114480 logic elements, bộ
nhớ 3888 Kbits và tổng số chân I/O là 528.

2.4 MODUL LCD 16x2, LED ĐƠN, LED 7 ĐOẠN, SWITCH VÀ
CỔNG PS/2 TRÊN BOARD DE2-115.
2.4.1 Module LCD 16x2
Module LCD gồm 2 dòng 16 ký tự được xây dựng trên các phông chữ và
được sử dụng để hiển thị các ký tự bằng cách gọi các câu lệnh thích hợp đến nó.
Module còn được gọi là HD44780. Ta có sơ đồ khối Module LCD như hình
2.3.
4


Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.

Hình 2.3 Sơ đồ chân của LCD

2.4.2 LED đơn
Ngoài ra, Board DE2-115 cũng sử dụng 27 LED đơn gồm có 18 LED đỏ,
ứng với vị trí của 18 công tắc, 8 LED xanh ở trên của các nút ấn và một LED
xanh thứ 9 ở giữa module LED 7 đoạn (7-segement displays). Mỗi LED đơn
này cũng được nối trực tiếp với chip Cyclone IV E FPGA. Sơ đồ mắc chân như
hình 2.4.

Hình 2.4 Sơ đồ chân của LED

2.4.3 LED 7 đoạn
Trên Board DE2-115 có 8 module LED 7 đoạn anode chung được kết
nối trực tiếp với các chân của Cyclone IV E FPGA. Các LED này được sắp xếp
thành 2 cặp và 1 nhóm gồm 4 LED, nhằm mục đích hiển thị các số có kích thước
khác nhau. Các đoạn của LED 7 đoạn này sẽ sáng khi được cấp mức logic thấp
và tắt khi sử dụng mức logic cao ở ngõ vào.


5


Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.

Hình 2.5 Sơ đồ chân của LED 7 đoạn

2.4.4 Công tắc (switches)
Có tổng cổng 18 công tắc bật trên board DE2-115 (Hình 2.6). Nó đóng vai
trò cấp dữ liệu ngõ vào cho mạch. Mỗi công tắc kết nối trực tiếp với một chân
trên chip Cyclone IV E FPGA. Khi công tắc nằm ở vị trí DOWN (tức nằm ở
mép ngoài của board DE2-115) sẽ cung cấp một mức logic thấp cho hệ thống
FPGA và ngược lại, ở vị trí UP sẽ cấp mức logic cao cho hệ thống.

Hình 2.6 Sơ đồ chân của switches

2.4.5 PS/2 Serial Port
Chuẩn PS/2 trên board DE2-115 gồm có PS/2 interface và một đầu nối cho
chuột hay bàn phím. Ngoài ra, trên board DE2-115 có hỗ trợ cho chúng ta dùng
đầu nối mở rộng để sử dụng bàn phím và chuột PS/2 cùng lúc. Sơ đồ mạch được
thiết kế giữa FPGA và PS/2 thể hiện Hình 2.30. Nếu trường hợp đầu nối chỉ có
một thiết bị PS/2 thì phần giao diện giữa PS/2 và FPGA I/O chỉ cần khai báo
trong hệ thống là “PS2_CLK” và “PS2_DAT”.

6


Thực hiện một số ứng dụng nhúng nâng cao

trên Board Altera DE2_115.

Hình 2.7 Kết nối giữa FPGA và PS/2

2.5 Bàn phím cổng PS/2
Bàn phím là một thiết bị ngoại vi, về hình dạng là sự sắp đặt các nút hay
phím. Thông thường các ký tự được khắc hoặc in trên phím, đa số bàn phím mỗi
lần ấn một phím tương ứng với một ký tự được tạo ra, có phím không tạo ra bất
kỳ ký tự mà thay vào đó tác động công việc đến máy tính hoặc của chính bàn
phím.
Mỗi phím khi ấn tạo một tiếp xúc điện, khi nhấn hay nhã một phím, bộ xử
lý bàn phím gửi đến board DE2-115 mã quét (scancode) của phím được ấn.
Bảng mã scancode được mô tả ở Hình 2.8
Khi tác động vào một phím tức thực hiện 2 thao tác nhấn và nhã phím:
 Khi nhấn phím sinh ra mã và mã này được gọi là make-code.
 Khi nhã phím sinh ra mã và mã này được gọi là break-code. Breakcode có hai byte, byte đầu là F0 và byte kế tiếp là mã make-code.
 Khi nhấn và giữ một phím, mã quét bàn phím sẽ truyền liên tục với
một tần số xác định.

Hình 2.8 Bảng mã scancode

7


Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.

2.6 GIỚI THIỆU PHẦN MỀM QUARTUS II
Quartus II 11.0 là công cụ chính được sử dụng trong quá trình 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ả Cyclone IV E có
trên DE2-115.
Quartus II 11.0 là công cụ phân tích và tổng hợp thiết kế HDL, nó có môi
trường thiết kế đồ họa giúp người dùng dễ dàng viết mã, biên dịch, kiểm soát
lỗi, mô phỏng... thực hiện thiết kế của họ.

Hình 2.9 Giao diện Quartus II

2.5 GIỚI THIỆU KHÁI QUÁT VỀ QSYS
QSys là hệ thống công cụ tích hợp của Altera được sử dụng để thiết kế hệ
thống phần cứng kỹ thuật số bao gồm các thành phần như: bộ vi xử lý, giao diện
bộ nhớ, thiết bị ngoại vi, thời gian… QSys là thế hệ sau của hệ thống SoPC
Builder được hỗ trợ bởi NoC (Network on a Chip), công nghệ mới của FPGA
tối ưu hóa cung cấp hiệu suất cao hơn, cải tiến thiết kế tái sử dụng, và được xác
nhận là nhanh hơn so với SoPC Builder. Công cụ Altera QSys cho phép thiết kế
hệ thống số bằng cách kết nối các thành phần QSys đã được lựa chọn chẳng hạn
như: bộ xử lí, điều khiển bộ nhớ, cổng song song và nối tiếp… Công cụ QSys
bao gồm nhiều thành phần thiết kế đã có sẵn, có thể được lựa chọn để đưa vào
một hệ thống thiết kế. Ngoài ra công cụ QSys còn cho phép người dùng lựa
chọn các thành phần mong muốn trong hệ thống bằng cách lựa chọn các thành
phần trong giao diện đồ họa người dùng, sau đó QSys tự động tạo ra hệ thống

8


Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.

phần cứng bằng cách kết nối các thành phần mong muốn mà người sử dụng đã
lựa chọn lại với nhau.


9


Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.

Chương 3: NỘI DUNG CÔNG VIỆC
Nội dung:
Viết bài hướng dẫn thực tập xây dựng các hệ thống dựa trên phần cứng
được tích hợp sẵn trên board DE2-115, các hệ thống được viết bằng ngôn ngữ
lập trình C và sử dụng một số phần mềm như Quartus II 11.0, QSys, công cụ
Nios II Software Build Tools for Eclipse để lập trình phần mềm cho hệ thống
nhúng đã thiết kế. Các bài thực tập bao gồm:
 Lab 1: Xây dựng hệ thống nhúng giao tiếp LED đơn, LED 7 đoạn,
Switch.
 Lab 2: Xây dựng hệ thống nhúng giao tiếp module LCD 16x2.
 Lab 3: Xây dựng hai hệ thống độc lập trên chip FPGA.
 Lab 4: Xây dựng hệ thống nhúng giao tiếp với máy tính thông qua
JTAG UART.
 Lab 5: Xây dựng hệ thống nhúng giao tiếp với máy tính thông qua
JTAG UART (tiếp theo).
 Lab 6: Xây dựng hệ thống nhúng cho ứng dụng hiển thị ký tự từ
bàn phím lên LCD thông qua cổng PS/2.

10


Thực hiện một số ứng dụng nhúng nâng cao
trên Board Altera DE2_115.


Chương 4: PHƯƠNG PHÁP THỰC HIỆN
4.1 BÀI THỰC TẬP SỐ 1: XÂY DỰNG HỆ THỐNG NHÚNG GIAO
TIẾP LED ĐƠN, LED 7 ĐOẠN, SWITCH
Sinh viên thực hiện:
1. Họ và tên: .................................................................... MSSV: .................
2. Họ và tên: .................................................................... MSSV: .................
Thời gian thực hiện: 4 tiết.
Mục đích
Bài thực tập này nhằm mục đích giúp sinh viên tìm hiểu cách giao tiếp của
hệ thống nhúng với LED, Switch, LED 7 đoạn thông qua việc thiết kế một mạch
có chức năng tương tự như mạch cộng 8 bit với đầu vào và đầu ra là các số thập
lục phân.
Yêu cầu
 Dựa vào các ngoại vi và chức năng hỗ trợ trên board DE2-115 để
thiết kế một mạch cộng với các yêu cầu sau:
 Viết chương trình cộng và hiển thị kết quả của 2 số thập lục phân
lên các LED đơn và LED 7 đoạn bằng phần mềm Quartus II phiên
bản 11.0 sử dụng công cụ QSys.
 Giá trị đầu vào được nhập bằng cách thay đổi trạng thái các công
tắc SW15 – SW0 và các trạng thái của các công tắc này được hiển
thị lên các LED đỏ tương ứng LEDR15 – LEDR0.
 Hiển thị các giá trị thập lục phân đầu vào đã nhập và kết quả thập
lục phân đầu ra lên LED 7 đoạn HEX7 – HEX0.
CÁC NGOẠI VI CẦN SỬ DỤNG:

Hình 4.1.1 Các ngoại vi sử dụng

11



×