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

NHẬN DIỆN BIỂN số XE BẰNG KIT DE2 DUNG NIOS II

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.13 MB, 97 trang )

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ
o0o



LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

NHẬN DIỆN BIỂN SỐ XE BẰNG KIT DE2
DÙNG NIOS II


GVHD: THS.HỒ TRUNG MỸ
SVTH: DƯƠNG THIÊN LÝ
MSSV: 40901520





TP. HỒ CHÍ MINH, THÁNG 12 NĂM 2013



ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA
VIỆT NAM
TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập – Tự do – Hạnh phúc.
✩ ✩
Số: ______ /BKĐT


Khoa: Điện – Điện tử
Bộ Môn: Điện Tử


NHIỆM VỤ LUẬN VĂN TỐT NGHIỆP

1. HỌ VÀ TÊN : MSSV:

2. NGÀNH: ĐIỆN TỬ - VIỄN THÔNG LỚP :
3. Đề tài:
4. Nhiệm vụ (Yêu cầu về nội dung và số liệu ban đầu):






5. Ngày giao nhiệm vụ luận văn:
6. Ngày hoàn thành nhiệm vụ:
7. Họ và tên người hướng dẫn: Phần hướng dẫn


Nội dung và yêu cầu LVTN đã được thông qua Bộ Môn.

Tp.HCM, ngày… tháng… năm 20
CHỦ NHIỆM BỘ MÔN NGƯỜI HƯỚNG DẪN CHÍNH






PHẦN DÀNH CHO KHOA, BỘ MÔN:
Người duyệt (chấm sơ bộ):
Đơn vị:
Ngày bảo vệ :
Điểm tổng kết:
Nơi lưu trữ luận văn:
Lời cảm ơn GVHD:

i

LỜI CẢM ƠN

Trong quá trình thực hiện luận văn tốt nghiệp này em đã nhận được nhiều sự
giúp đỡ từ giảng viên hướng dẫn – người đã cung cấp cho em những tài liệu quý báu.
Vì vậy em xin chân thành cảm ơn thầy Hồ Trung Mỹ đã đề xuất và hướng dẫn em thực
hiện đề tài này
Em cũng gửi lời cám ơn tới tất cả thầy cô trong khoa Điện, đặc biệt là bộ môn
điện tử, trường đại học Bách Khoa Hồ Chí Minh đã tận tình hướng dẫn em trong 4
năm học vừa qua, giúp em có đủ kiến thức và kinh nghiệm để thực hiện đề tài tốt
nghiệp lần này.
Em xin gửi lời cám ơn tới gia đình – chỗ dựa vững chắc cho em trong những
lúc khó khăn và tạo điều kiện tốt nhất để em học tập.
Em đã tham khảo rất nhiều bài viết (được liệt kê trong danh mục tham khảo)
trên mạng internet về đề tài này, cũng như các đề tài liên quan trong lĩnh vực xử lý
ảnh. Em xin chân thành cám ơn tác giả các bài viết đó. Bài báo cáo này cũng xem như
là sự tổng hợp kinh nghiệm mà em tích lũy được trong quá trình đọc và thực hành các
giải thuật.



Biên Hòa, ngày 24 tháng 12 năm 2013 .
Sinh viên

Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
ii

TÓM TẮT LUẬN VĂN

Luận văn này trình bày về đề tài:
“NHẬN DIỆN BIỂN SỐ XE BẰNG KIT DE2 DÙNG NIOS II”
Việc thực hiện luận văn bao gồm hai phần chính:
 Sử dụng các thư viện trong SOPC Builder để xây dựng phần cứng cho chương
trình. CPU xử lý sử dụng NIOS II
 Viết code C để thực hiện chương trình nhận diện biển số xe trên core NIOS II.

Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
iii

MỤC LỤC
1. GIỚI THIỆU 1
1.1. Tổng quan 1
1.2. Tình hình nghiên cứu trong và ngoài nước 1
1.3. Nhiệm vụ luận văn 1
2. LÝ THUYẾT 2
2.1. Chương 1: SOPC Builder và Nios II Software Build tool for Eclipse 2
SOPC Builder: 2
Các bước thiết kế một hệ thống SOPC builder 7
Nios II Software Build Tools for Eclipse: 12
2.2. Chương 2: Các kỹ thuật xử lý ảnh 18
Mô hình ảnh màu RGB: 18

Ảnh xám (gray image): 19
Định dạng ảnh BMP: 20
Phát hiện cạnh: 22
Biến đổi Hough: 25
Xoay ảnh: 27
Resize ảnh: 30
Phương pháp SVM: 34
Bài toán nhận diện chữ quang học: 38
3. THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG 47
3.1. Yêu cầu thiết kế 47
3.2. Sơ đồ khối tổng quát của hệ thống: 48
Giải thích sơ đồ: 48
Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
iv

3.3. Chi tiết thiết kế: 50
CPU: 50
Clock Signal 51
Character buffer for VGA display 51
Pixel Buffer 52
Pixel Buffer DMA Controller 52
RGB Resampler 53
Scaler 53
Alpha Blender 54
Dual Clock FIFO: 54
VGA Controller 55
Jtag Uart 56
SDRAM Controller 56
Giao tiếp bộ nhớ Flash: 57
Parallel Port 59

16x2 Character Display 60
3.4. Kết quả thiết kế hệ thống: 62
4. THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM 63
4.1. Yêu cầu đặt ra cho phần mềm 63
4.2. Phân tích 63
Load ảnh 63
Tiền xử lý 69
Tách biển số: 69
Nhận dạng ký tự 72
Giao diện người dùng: 74
Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
v

5. KẾT QUẢ THỰC HIỆN 78
5.1. Cách thức đo đạc, thử nghiệm 78
5.2. Giải thích và phân tích về kết quả thu được 78
Kết quả thu được: 78
Khuyết điểm của đề tài 79
6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 80
6.1. Kết luận 80
6.2. Hướng phát triển 80
7. TÀI LIỆU THAM KHẢO 81
8. PHỤ LỤC 83


Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
vi

DANH SÁCH HÌNH MINH HỌA


Hình 2-1 Ví dụ về một hệ thống Nios thực hiện trên kit DE2 bằng SOPC builder. 3
Hình 2-2 Sơ đồ block diagram của core Nios II 4
Hình 2-3 Tổ chức bộ nhớ và I/O của Nios II 5
Hình 2-4 Các phiên bản của NIOS II 7
Hình 2-5 Các bước thiết kế hệ thống SOPC 7
Hình 2-6 Các bước thiết kế hệ thống SOPC 8
Hình 2-7 Các bước thiết kế hệ thống SOPC 9
Hình 2-8 Các bước thiết kế hệ thống SOPC 9
Hình 2-9 Các bước thiết kế hệ thống SOPC 10
Hình 2-10 Các bước thiết kế hệ thống SOPC 10
Hình 2-11 Các bước thiết kế hệ thống SOPC 11
Hình 2-12 Các bước thiết kế hệ thống SOPC 11
Hình 2-13 Các bước thiết kế hệ thống SOPC 12
Hình 2-14 Các bước thực hiện Nios II Software 13
Hình 2-15 Các bước thực hiện Nios II Software 14
Hình 2-16 Kết quả biên dịch chương trình Nios Demo 15
Hình 2-17 Đổ chương trình đã biên dịch từ Quartus xuống FPGA 16
Hình 2-18 Kết quả chạy chương trình Nios 17
Hình 2-19 Minh họa mô hình màu RGB 18
Hình 2-20 Ảnh xám 20
Hình 2-21 Ảnh trước và sau khi phát hiện cạnh 22
Hình 2-22 b) Sobel. c)Prewitt. d) Robert. e)Laplacian. f)LoG 25
Hình 2-23 Ma trận ảnh và ma trận Hough 26
Hình 2-24 Minh họa việc xoay ảnh một góc a 27
Hình 2-25 Xoay điểm N quanh gốc O một góc a sẽ được điểm M 28
Hình 2-26 Kết quả xoay ảnh của phương pháp Forward Mapping 29
Hình 2-27 Các bước đổi tọa độ ảnh [4] 30
Hình 2-28 Ảnh ban đầu 33
Hình 2-29 Ảnh resize theo phương pháp điểm lân cận gần nhất 33
Hình 2-30 Ảnh resize theo phương pháp bilinear 34

Hình 2-31 Ảnh resize theo phương pháp bicubic 34
Hình 2-32 Giả sử có hai nhóm dữ liệu huấn luyện cần phân lớp biết trước  36
Hình 2-33 Câu hỏi đặt ra là siêu phẳng nào là tốt nhất? p1,p2 hay p3? 36
Hình 2-34 Xây dựng các siêu phẳng là lề của các lớp, các mẫu nằm trên lề là vector
tựa (Support Vector) 37
Hình 2-35 Siêu phẳng phân lớp cách đều hai siêu phẳng lề. 37
Hình 2-36 Hình chiếu ngang và chiếu dọc của một đoạn ký tự. 43
Hình 2-37 a. OVR b.OVO c.DAG 45
Hình 3-1 Sơ đồ khối hệ thống được thiết kế bằng SOPC 48
Hình 3-2: chế độ màu của VGA 49
Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
vii

Hình 3-3: Frame hình hiển thị lên VGA 49
Hình 3-4 Cách định địa chỉ cho pixel hiển thị 49
Hình 3-5 Thông số chọn CPU 50
Hình 3-6 Thông số cấu hình cho Clock Signals 51
Hình 3-7 Thông số cấu hình cho character buffer for VGA display 52
Hình 3-8 Thông số cấu hình cho SRAM Controller 52
Hình 3-9 Thông số cấu hình Pixel Buffer DMA Controller 53
Hình 3-10 Thông số cấu hình RGB Resampler 53
Hình 3-11 Thông số cấu hình Scaler 54
Hình 3-12 Thông số cấu hình Alpha Blender 54
Hình 3-13 Thông số cấu hình Dual Clock FIFO 55
Hình 3-14 Thông số cấu hình VGA Controller 55
Hình 3-15 Thông số cấu hình JTAG UART 56
Hình 3-16 Thông số cấu hình SDRAM Controller 57
Hình 3-17 Cấu hình khối Tristate Bridge 58
Hình 3-18 Cấu hình khối Flash Memory Interface 58
Hình 3-19 Thông số timing của CFI 59

Hình 3-20 Thông số cho Parallel Port kết nối với Slider Switches. 59
Hình 3-21 Thông số cấu hình cho Parallel Port kết nối với Buttons. 60
Hình 3-22 Thông số cấu hình cho khối giao tiếp LCD 61
Hình 3-23 Kết quả thiết kế SOPC của hệ thống 62
Hình 3-24 Địa chỉ các vùng nhớ của hệ thống 62
Hình 4-1 Các bước load ảnh vào bộ nhớ Flash. 64
Hình 4-2 Quá trình phân đoạn ký tự 73
Hình 4-3 Cách định địa chỉ mảng một chiều 74
Hình 4-4 Cách định địa chỉ trong character buffer 75
Hình 4-5 Địa chỉ các thanh ghi của LCD 76
Hình 4-6 Cách định địa chỉ vị trí trên màn hình LCD 76
Hình 5-1 Ảnh đầu vào 78
Hình 5-2 Ảnh chụp màn hình VGA sau khi nhận dạng 79


Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
viii

DANH SÁCH BẢNG SỐ LIỆU
Bảng 2-1 Định dạng file ảnh BMP 22
Bảng 4-1 mã lệnh của LCD 76


Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
1

1. GIỚI THIỆU
1.1. Tổng quan
Trong những năm gần đây kỹ thuật xử lý ảnh đang phát triển mạnh mẽ. Ngày càng
nhiều ứng dụng liên quan đến xử lý ảnh trong nhiều lĩnh vực của cuộc sống: công nghệ thông

tin, hệ thống nhúng. Các nghiên cứu về hệ thống SOPC thường được ứng dụng để thử nghiệm
hệ thống trước khi đi vào chế tạo thực tế.
Luận văn sử dụng các giải thuật xử lý ảnh cơ bản để nhận diện biển số xe trên hệ
thống SOPC của ALTERA.
1.2. Tình hình nghiên cứu trong và ngoài nước
Đề tài: “ nhận diện biển số xe” là đề tài không mới. Nó đã được nghiên cứu và hoàn
thiện, đã được ứng dụng rộng rãi ở trong và ngoài nước. Ứng dụng của đề tài:
o Quản lý xe ra vào ở bãi giữ xe
o Nhận diện biển số của xe vi phạm luật giao thông trên đường
o Đưa vào hệ thống chặn xe ở các trạm thu phí
o …
Tuy đề tài không mới nhưng việc nghiên cứu các đề tài này trên hệ thống SOPC chưa
nhiều. Việc nghiên cứu thiết kế hệ thống và lập trình vi xử lý từ cấp đơn giản nhất là tiền đề
để nghiên cứu các ứng dụng xử lý ảnh khác với tốc độ và sự phức tạp hơn nữa.
1.3. Nhiệm vụ luận văn
Nội dung 1: Tìm hiểu cách sử dụng phần mềm “Quartus” và “Nios II Software Build
Tool for Eclipse” để thiết kế hệ thống SOPC trên vi xử lý NIOS
Nội dung 2: Tìm hiểu các giải thuật xử lý ảnh căn bản
Nội dung 3: Xây dựng hệ thống SOPC cho đề tài
Nội dung 4: Thiết kế giải thuật cho quá trình nhận diện biển số xe
Nội dung 5: Xây dựng phần mềm hoàn chỉnh cho hệ thống

Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
2

2. LÝ THUYẾT
2.1. Chương 1: SOPC Builder và Nios II Software Build tool for Eclipse
SOPC Builder:
SOPC Builder là một công cụ thiết kế hệ thống của ALTERA được tích hợp trong
phần mềm Quartus II. SOPC Builder được dùng để tạo ra một hệ thống hoàn chỉnh trên FPGA

(System on a Programmable Chip-SOPC) một cách nhanh chóng.
Thông thường khi sử dụng SOPC Builder người ta thường dùng vi xử lý NIOS II được
xây dựng sẵn trong thư viện. Nhưng SOPC Builder là công cụ để tạo hệ thống sử dụng hoặc
không sử dụng vi xử lý. Bạn cũng có thể sử dụng vi xử lý khác để lập trình phần mềm
SOPC Builder tự động thiết kế các thành phần(components) phần cứng cho hệ thống
theo ý bạn. Trong phương pháp thiêt kế truyền thống, bạn phải tự viết mã VHDL hoặc
Verilog để thiết kế các thành phần phần cứng hoặc nối dây cho các thành phần của hệ thống.
Với SOPC Builder bạn có thể dễ dàng đặc tả các thành phần với GUI của chương trình. Và
SOPC Builder sẽ tự động tạo ra mã HDL của thành phần đó và nối dây bên trong hệ thống.
Bạn chỉ cần viết file top-level HDL để nối dây bên ngoài hệ thống: nối các hệ thống với nhau,
nối hệ thống với các linh kiện hoặc tín hiệu thực trên kit DE2.
Các thành phần có sẵn trong thư viện SOPC:
 Vi xử lý Nios II
 Các ngoại vi của vi xử lý như: DMA controller và timer
 Giao diện truyền nối tiếp như: UART, SPI(serial peripheral interface)
 Các I/O thông thường
 Thiết bị liên lạc ngoại vi như 10/100/1000 Ethernet MAC
 Giao tiếp với thiết bị off-chip
Ngoài các thành phần có sẵn trong thư viện, người dùng có thể tự thiết kế thêm các
thành phần mới bằng ngôn ngữ HDL rồi đưa vào hệ thống SOPC
Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
3


Hình 2-1 Ví dụ về một hệ thống Nios thực hiện trên kit DE2 bằng SOPC builder.
Các thành phần được thiết kế trên chip Cyclone II được gọi là on-chip
Các thành phần phần như SRAM, SDRAM, Flash được gọi là bộ nhớ off-chip
Giới thiệu về vi xử lý Nios II:
Nios II là một bộ xử lý nhúng được thiết kế đặc biệt cho chip FPGA của Altera. Nios
II kết hợp nhiều cải tiến hơn so với kiến trúc Nios ban đầu để phù hợp hơn với sự đa dạng của

các ứng dụng nhúng: từ DSP tới hệ thống điều khiển
Nios II có thể được sử dụng cho các cell ASIC tiêu chuẩn thông qua nhà cung cấp IP
thứ ba, Synopsys. Thông qua giấy phép (license), người thiết kế có thể xuất thiết kế Nios từ
nền tảng FPGA sang sản xuất hàng loạt các thiết bị ASIC.
Nios II là thế hệ tiếp theo bộ xử lý thế hệ đầu của Altera (cấu hình 16 bit) là Nios.
Nios II là một core xử lý thông thường dạng RISC với các đặc tính:
 Tập lệnh, data path, đường địa chỉ 32 bit
 Có 32 thanh ghi đa dụng
Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
4

 Có 32 nguồn ngắt
 Có bộ điều khiển ngắt ngoài
 Lệnh đơn nhân và chia thực hiện trên 32 bit và kết quả tạo ra 32 bit
 Lệnh dành riêng cho kết quả nhân 64 bit và 128 bit
 Lệnh thực hiện các phép tính dấu chấm động với độ chính xác đơn
 Lệnh đơn cho phép toán dịch
 Truy cập các thiết bị ngoại vi on-chip, bộ nhớ off-chip và các ngoại vi khác
nhau
 Cung cấp môi trường phần mềm GNU (General Public License) dựa trên
C/C++ và Nios II Software Build Tools (SBT) for Eclipse.
 Hiệu suất lên tới 250 DMIPS
Cấu trúc core xử lý Nios II

Hình 2-2 Sơ đồ block diagram của core Nios II
Tổ chức bộ nhớ và I/O:
Tổ chức bộ nhớ và I/O do người dùng tùy chỉnh nên nó khác nhau ở các thiết kế khác
nhau.
Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
5


Một core xử lý Nios II dùng một hay nhiều cách dưới đây để truy xuất bộ nhớ và I/O
 Instruction master port
 Instruction cache- bộ nhớ cache nhanh nằm bên trong core Nios
 Data master port
 Data cache-bộ nhớ cache nhanh nằm trong core Nios
 Tightly-coupled instruction or data memory port



Hình 2-3 Tổ chức bộ nhớ và I/O của Nios II
Instruction và Data Buses:
Nios II có kiến trúc theo kiểu Harvard cung cấp hai đường bus dữ liệu và bus chương
trình riêng biệt. Cả hai loại bus này đều theo chuẩn AVALON-MM Master port. Data Master
port kết nối với cả bộ nhớ dữ liệu và các thiết bị ngoại vi, còn Instruction Master port kết nối
với các bộ nhớ lệnh
Instruction Master Port:
Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
6

Bus chương trình của hệ thống theo chuẩn 32 bit Avalon –MM master port. Master
port chương trình thực hiện chức năng duy nhất là tìm nạp lệnh.
Kiến trúc Nios cung cấp bộ nhớ Cache chương trình để quá trình tìm nạp lệnh diễn ra
nhanh hơn
Data Master Port:
Nios II có Bus dữ liệu theo chuẩn 32 bit Avalon-MM master port. Master port dữ liệu
thực hiện hai chức năng:
 Đọc dữ liệu từ ngoại vi hoặc bộ nhớ khi bộ xử lý thực hiện lệnh load
 Ghi dữ liệu ra ngoại vi hoặc bộ nhớ khi bộ xử lý thực hiện lệnh write.
Kiến trúc Nios II cung cấp bộ nhớ cache dữ liệu để cải thiện tốc độ đọc và ghi dữ liệu.

Các loại bộ nhớ của Nios II:
Bộ nhớ Cache:
Kiến trúc Nios cung cấp bộ nhớ cache cho cả master port chương trình và master port
dữ liệu. Bộ nhớ Cache là on-chip và là một phần của core xử lý Nios II. Bộ nhớ cache cải
thiện thời gian truy xuất bộ nhớ cho các hệ thống sử dụng bộ nhớ off-chip như SDRAM.
Bộ nhớ Cache là tùy chọn, một core xử lý có thể có một, hai hoặc không có bộ nhớ
cache nào, kích thước của bộ nhớ cache cũng do người thiết kế quyết định. Người thiết kế
phải đánh đổi giữa kích thước core xử lý và dung lượng bộ nhớ cache
Bộ nhớ ghép (tighty couple memory)
Bộ nhớ được truy xuất qua hệ thống Bus Avalon, là một loại bộ nhớ on-chip, nhưng
không nằm trong core xử lý. Có thể có một hay nhiều bộ nhớ ghép. Nếu hệ thống không có bộ
nhớ Cache thì cần ít nhất một bộ nhớ ghép
Bộ nhớ off-chip:
Bộ nhớ off-chip là các bộ nhớ hoặc ngoại vi không nằm trên chip FPGA, nó gồm các
loại như: SRAM, SDRAM, FLASH, Nó được truy xuất thông qua các thành phần trung gian
đóng vai trò giao diện (interface) giữa core xử lý và bộ nhớ. Tốc độ truy xuất của bộ nhớ off-
chip nhỏ hơn bộ nhớ on-chip
Các phiên bản của core Nios II:
Nios II /f : là bộ xử lý “fast” được thiết kế cho các ứng dụng hiệu suất cao. Có những
tùy chọn cấu hình cao mà không có trong các phiên bản Nios II còn lại
Nios II/s: là bộ xử lý “standard” được thiết kế với kích thước nhỏ trong khi vẫn duy trì
hiệu suất vừa phải.
Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
7

Nios II/e: là bộ xử lý “economic” được thiết kế với kích thước nhỏ nhất với hiệu suất
thích hợp.

Hình 2-4 Các phiên bản của NIOS II


Các bước thiết kế một hệ thống SOPC builder
Thực hiện thiết kế hệ thống SOPC theo các bước sau [1]:
Tạo một project thông thường trên phần mềm Quartus, sử dụng chip Cylone II
EP2C35F672C6
Vào nhãn Tool>SOPC Builder, chương trình sẽ hiện ra cửa sổ như hình. Đặt
tên cho hệ thống của mình, chọn ngôn ngữ HDL sử dụng rồi bấm OK.


Hình 2-5 Các bước thiết kế hệ thống SOPC

Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
8


Hình 2-6 Các bước thiết kế hệ thống SOPC

Cửa sổ như hình 2-6 được hiện ra
Tùy theo mục đích thiết kế mà người dùng chọn các thành phần trong thư viện
ở bên tay phải để add vào hệ thống.
Ở đây em làm một ví dụ xây dựng hệ thống SOPC đơn giản nhất như sau:
 Trong danh sách ở thư viện bên tay phải chọn mục Processors>Nios II
Processor , một cửa sổ mới hiện ra như hình 2-8.
 Đây là cửa sổ để chọn các thông số cho vi xử lý Nios II, ở đây em chọn
phiên bản Nios đơn giản nhất là Nios II/e. Sau đó chọn Finish. (Các tab
ở phía sau có thể được điều chỉnh theo ý người dùng nếu cần)
 Chọn bộ nhớ chương trình như hình 2-9. Rồi bấm Finish
 Chọn thêm thành phần JTAG UART như hình 2-10 .Sau đó bấm
Finish
 Trở lại mục Nios II Processor để chỉnh lại Reset Vector và Exception
Vector như hình



Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
9


Hình 2-7 Các bước thiết kế hệ thống SOPC


Hình 2-8 Các bước thiết kế hệ thống SOPC


Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
10



Hình 2-9 Các bước thiết kế hệ thống SOPC


Hình 2-10 Các bước thiết kế hệ thống SOPC
Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
11



Hình 2-11 Các bước thiết kế hệ thống SOPC
Cuối cùng Save rồi bấm Generate như hình dưới:

Hình 2-12 Các bước thiết kế hệ thống SOPC

Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
12

Sau khi generate, ta vào file thienly.v ở thư mục chứa Project để xem các tín hiệu
in/out của hệ thống. Hoặc có thể coi trong file thienly Quartus II Block Symbol File cũng
trong thư mục đó để xem sơ đồ chân.
Hệ thống SOPC sau khi được tạo thành sẽ có sơ đồ chân như sau:

Hình 2-13 Các bước thiết kế hệ thống SOPC
Trong Project vidu đã tạo ở trên ta tạo một file Verilog như sau:

Trong đó thienly là tên hệ thống SOPC ta đã đặt ở bước đầu thiết kế SOPC.
 Save file và biên dịch Project này.

Nios II Software Build Tools for Eclipse:
Viết phần mềm cho core xử lý Nios II cũng tương tự như các bộ xử lý nhúng khác.
Nios II Software Build Tools for Eclipse hay còn gọi là Nios II SBT for Eclipse là một môi
trường phát triển để viết mã, biên dịch, nạp và debug chương trình cho bộ xử lý đã xây dựng
ở bước trên.
Các bước xây dựng phần mềm cho bộ xử lý:
Click vào biểu tượng của phần mềm đã cài đặt trên máy
Chọn đường dẫn đến thư mục bất kỳ mong muốn tạo project rồi bấm OK


Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
13


Hình 2-14 Các bước thực hiện Nios II Software
Chọn File>New>NiosII Application and BSP from Template

Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
14


Hình 2-15 Các bước thực hiện Nios II Software

Chọn đường dẫn của SOPC Information file name như hình
Đặt tên cho Project name
Ở khung Template thông thường chọn Blank Project để viết chương trình theo ý muốn của
người thiết kế.
Chọn Finish.
Tạo file source c đặt tên là main.c (tên do người viết đặt)
Luận văn tốt nghiệp GVHD: THS. Hồ Trung Mỹ
15

Viết code c vào file này rồi click chuột phải vào thư mục có tên soft (tên đã đặt cho project ở
bước trên) ở cửa sổ sát tay trái, chọn Build Project.
Kết quả biên dịch như dưới là đúng

Hình 2-16 Kết quả biên dịch chương trình Nios Demo
Trở lại cửa sổ của chương trình Quartus, chọn thẻ Programmer>Start
Nếu nạp chương trình trên Quartus thành công thì trở lại chương trình Nios. Sau đó click
chuột phải vào thư mục soft rồi chọn Run As>Nios II Hardware

×