1
ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CNTT&TT
ĐÀO NGỌC TÔN TÍCH HỢP DỊCH VỤ ĐO VÀ KIỂM SOÁT
TỪ XA SỬ DỤNG FPGA
LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH THÁI NGUYÊN – 2012
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
2
ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CNTT&TT
Đào Ngọc Tôn
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
4
MỤC LỤC
DANH MỤC CHỮ VIẾT TẮT
DANH MỤC BẢNG BIỂU
DANH MỤC HÌNH VẼ
LỜI MỞ ĐẦU 1
CHƢƠNG 1 - PHÂN TÍCH HỆ THỐNG 3
1.1. Yêu cầu chức năng năng của hệ thống 3
1.2. Yêu cầu chức năng khác của hệ thống 4
1.3. Các công cụ sử dụng trong đề tài 5
CHƢƠNG 2 - CÁC CÔNG CỤ PHÁT TRIỂN 7
2.1. Công cụ tổng hợp ISE 7
2.1.1.Tổng quan 7
2.1.2.Tạo dự án 7
2.1.3.Tạo tệp HDL 8
2.1.4.Mô phỏng thiết kế 8
2.1.5.Tạo ràng buộc thời gian 9
2.1.6.Triển khai thiết kế 10
2.1.7.Download thiết kế xuống FPGA 12
2.2. Công cụ phát triển hệ nhúng EDK 12
2.2.1.Tổng quan 12
2.2.2.Tạo dự án 13
2.2.3.XPS 14
2.2.4.Nền tảng phần cứng hệ nhúng 18
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
5
4.3.2.Sơ đồ khối phần cứng 62
4.3.3.Cấu hình phần cứng 63
4.3.4.Khối giao tiếp DS1820 66
4.3.5.Thiết kế phần mềm 67
a)Web server 68
b)Giao tiếp RTC 69
c)Điều khiển thiết bị 69
d)Giao tiếp DS1820 69
4.4. Thiết kế giao diện 70
4.4.1.Thử nghiệm hệ thống đo và giám sát qua internet trên FPGA . 70
4.4.2.Thiết kế giao diện người dùng 71
KẾT LUẬN 73
TÀI LIỆU THAM KHẢO 74
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
7
DANH MỤC CHỮ VIẾT TẮT
STT
Viết tắt
Mô tả
1
ASIC
Application Specic Integrated Circuit
2
ASMBL
Data interface, Processor LocalBus
13
DOPB
Data interface, On-chip Peripheral Bus
14
DLMB
Data interface, Local Memory Bus (BRAM only)
15
DWFSL
FSL master direct connection interfaces
16
DRFSL
FSL slave direct connection interfaces
17
DXCL
Data side Xilinx CacheLink interface
18
DHCP
Dynamic Host Configuration Protocol
19
EDK
Embedded Development Kit
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
8
20
EPROM
Erasable Programmable Read-Only Memory
21
EEPROM
IPC
Inter-Process Communication
32
IP
Intellectual Property
33
ICMP
Internet Control Message Protocol
34
IXCL
Instruction side Xilinx CacheLink interface
35
ILMB
Instruction interface, Local Memory Bus
36
IPLB
Instruction interface, Processor LocalBus
37
IE
Interrupt Enable
38
LUT
LookUp Table
39
LVCMOS
Low Voltage Complementary Metal Oxide
Semiconductor
40
LVTTL
Low Voltage Transistor-Transistor Logic
50
PLB
Processor Local Bus
51
PID
Process Identifier Register
52
PVR
Processor Version Register
53
PC
Program Counter
54
PLD
Programmable Logic Device
55
PLA
Programmable Logic Array
56
PAL
Programmable Array Logic
57
RISC
Reduced Instructions Set Computer
58
RTOS
Real-Time Operating Systems
59
RSDS
Reduced Swing Differential Signaling
69
TCP
Transmission Control Protocol
70
UDP
User Datagram Protocol
71
VHDL
Very High Speed Integrated Circuit Hardware
Description Language
72
XCL
Xilinx Cache Link
73
XSI
X/Open System Interface
74
ZPR
Zone Protection Register
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
11
DANH MỤC BẢNG BIỂU
Bảng 3-1 Địa chỉ vector ngắt, ngoại lệ và break 25
Bảng 3-2 Mô tả bus cục bộ LMB 31
Bảng 3-3 Mô tả tín hiệu của FSL chủ 33
Bảng 3-4 Mô tả tín hiệu của FSL tớ 33
Bảng 3-5 Mô tả loại dữ liệu 35
Hình 3-5 Mô hình quản lý bộ nhớ ảo 24
Hình 3-6 Xử lí cache lệnh 27
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
13
Hình 3-7 Xử lí cache dữ liệu 29
Hình 3-8 Ví dụ liên kết FSL 30
Hình 3-9 Sơ đồ chân của một liên kết FSL 32
Hình 3-10 Khối IDCT liên kết với MicroBlaze qua FSL 34
Hình 3-11 Liên kết XCL dùng cho điều khiển bộ nhớ 34
Hình 3-12 Lệnh loại A 43
Hình 3-13 Lệnh loại B 43
Hình 3-14 Kiến trúc hệ nhúng với MicroBlaze 44
Hình 3-15 Sửa nội dung tệp Makefile 46
Hình 3-16 Sửa nội dung tệp Kconfig 46
Hình 3-17 Bổ sung trình điều khiển từ danh mục cấu hình 47
Hình 3-18 Chương trình lcd_test 48
Hình 3-19 Sửa nội dung tệp Makefile của ứng dụng mới 48
Hình 3-20 Chọn dịch vụ web server 50
Hình 3-21 Sửa nội dung tệp Makefile của chương trình CGI mới 50
Hình 4-1 Mô hình tòa nhà thông minh 56
Hình 4-2 Quy trình thiết kế hệ thống 60
Hình 4-3 Sơ đồ khối nền tảng phần cứng 62
Hình 4-4 Khối giao tiếp DS1820 66
Hình 4-5 Các module chương trình thiết kế trên uClinux 67
Hình 4-6 Cài đặt dịch vụ web server 68
Hình 4-7 Giải thuật giao tiếp DS1820 70
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
14
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
2
Qua đây, tôi xin gửi lời cảm ơn tới gia đình, bạn bè, các thầy cô ở Viện
Công nghệ Thông tin, trường Đại học Công nghệ Thông tin và Truyền thông
đã ủng hộ và giúp đỡ tôi trong quá trình làm luận văn. Đặc biệt, tôi xin chân
thành cảm ơn thầy giáo hướng dẫn là PGS.TS. Lê Bá Dũng đã nhiệt tình chỉ
bảo để tôi hoàn thành cuốn luận văn này.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
3
CHƢƠNG 1 - PHÂN TÍCH HỆ THỐNG
Chương này trình bày về việc xác định các yêu cầu chức năng của hệ
thống cũng như các công cụ phát triển để xây dựng đề tài. Công việc này là
công việc được tiến hành ở giai đoạn đầu tiên, giúp định hướng và hoạch định
cho quy trình thiết kế và triển khai chi tiết ở các giai đoạn tiếp theo.
1.1. Yêu cầu chức năng năng của hệ thống
Hình 1-1. Các chức năng của hệ thống
Đề tài được xây dựng với hai chức năng chính là giám sát và điều khiển
từ xa qua Internet [4,5,16,18]. Sau khi phân tích các điều kiện khả thi và các
chức năng của hệ thống một cách chi tiết, hệ thống được xây dựng dựa trên
nền tảng thiết kế logic trên FPGA với các chức năng như sau:
o Kích thước hệ thống nhỏ gọn, kết nối đơn giản.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
5
1.3. Các công cụ sử dụng trong đề tài
Chip FPGA dùng để phát triển hệ thống trong đề tài là chip của hãng
Xilinx cung cấp [1,6,11,12], do đó toàn bộ môi trường phát triển và công cụ
phát triển hệ thống logic trên FPGA là phần mềm của hãng Xilinx, bao gồm:
- Xilinx EDK [14,21,24] (Embedded Development Kit): Công cụ phát
triển hệ thống nhúng trên FPGA. Công cụ này được coi là công cụ thiết
kế và phát triển hệ thống logic trên FPGA, cho phép cung cấp một hệ vi
xử lý hoàn chỉnh trên FPGA gồm các IP logic và vi xử lý.
- Xilinx ISE [22] (Integrated Software Environment): công cụ phần mềm
môi trường tích hợp. Công cụ này được coi là công cụ thiết kế và phát
triển các IP logic người dùng, các IP logic này đã được định nghĩa khi
đưa ra thiết kế hệ thống logic với Xilinx EDK.
Bên cạnh đó, quá trình thiết kế và phát triển các IP logic đòi hỏi công
cụ mô phỏng logic để kiểm tra các đặc tính, dạng sóng của tín hiệu vào ra của
khối logic đang được phát triển có đúng theo đặc tả thiết kế hay không. Trong
đề tài này, công cụ mô phỏng được sử dụng là phần mềm ModelSimXE [19],
phần mềm này hãng ModelSim cung cấp dành riêng cho việc mô phỏng thiết
kế FPGA với các công cụ của Xilinx.
Một công cụ quan trọng được sử dụng trong đề tài là công cụ phát triển
phần mềm nhúng uClinux-PetaLinux của hãng PetaLogix, cũng như các hệ
điều hành khác. Công cụ này cho phép nhúng hệ điều hành lên trên nền tảng
phần cứng đã xây dựng trên FPGA, điều khiển toàn bộ hoạt động của hệ
thống và cung cấp các phần mềm ứng dụng dựa trên chức năng mong muốn
của hệ thống.
Công cụ cuối cùng dùng trong đề tài là phần mềm thiết kế mạch Orcad
của hãng Calence. Công cụ này cho phép thiết kế các mạch mở rộng cho chip
Trong hộp thoại tiếp theo, ta ấn New Source>VHDL Module để tạo file
mã nguồn mới. Nhập tên thực thể, tên architecture, và xác định các đầu vào,
đầu ra cho thực thể đó. Sau khi ấn Next, Finish một file mã nguồn VHDL mẫu
sẽ được tạo ra với các dòng lệnh cấu hình cho thực thể như đã khai báo. Ta
tiến hành chỉnh sửa, hoàn thiện file này để có thiết kế hoàn chỉnh.
2.1.4. Mô phỏng thiết kế
Trong ISE có tích hợp sẵn công cụ mô phỏng cho thiết kế, tuy nhiên sẽ
tốt hơn nếu ta sử dụng một phần mềm mô phỏng chuyên dụng hơn như
ModelSim (trình bày ở phần tiếp theo).
- Click chọn thực thể cần mô phỏng trong cửa sổ Sources. Vào menu
Project> New Source> Test Bench WaveForm và đặt tên cho test bench
này.
- Tiếp theo, hộp thoại cấu hình thời gian hiện ra. Ta thiết lập các thông
số về thời gian cho mô phỏng.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
9 Hình 2-3 Thiết lập các thông số về thời gian cho mô phỏng
Gọi chương trình mô phỏng từ ISE bằng cách chọn file testbench từ
cửa sổ Source và nhấp đôi chuột trái vào dòng chữ “Simulate Behavioral
Model”. Chú ý mỗi khi sửa lại mã VHDL, muốn mô phỏng lại ta phải dịch lại
file VHDL, nếu mô phỏng bằng ISE thì việc dịch lại là tự động, trong khi đó
trong ModelSim ta phải chọn file vừa chỉnh sửa để dịch lại sau đó bắt đầu lại
quá trình mô phỏng.
2.1.5. Tạo ràng buộc thời gian
- Trong cửa sổ Sources, chọn Implementation, và click chọn file mã
nguồn.
- Click đúp vào mục Create Timing Constraints trong mục User
Constraints. ISE sẽ chạy chương trình tổng hợp và tự động tạo ra file