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

(Luận văn thạc sĩ hcmute) ứng dụng thuật toán bộ lọc kalman mở rộng trong điều khiển tốc độ động cơ đồng bộ nam châm vĩnh cữu không sử dụng cảm biến bằng công nghệ fpga

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.92 MB, 88 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

LUẬN VĂN THẠC SĨ
HỒNG THỊ NGA

ỨNG DỤNG THUẬT TOÁN BỘ LỌC KALMAN MỞ RỘNG
TRONG ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ ĐỒNG BỘ
NAM CHÂM VĨNH CỬU KHÔNG SỬ DỤNG CẢM BIẾN
BẰNG CÔNG NGHỆ FPGA

NGÀNH: KỸ THUẬT ĐIỆN – 60520202

S K C0 0 4 6 8 4

Tp. Hồ Chí Minh, tháng 10/2015

Luan van


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

LUẬN VĂN THẠC SĨ
HỒNG THỊ NGA

ỨNG DỤNG THUẬT TOÁN BỘ LỌC KALMAN MỞ RỘNG
TRONG ĐIỀU KHIỂN TỐC ĐỘ ĐỘNG CƠ ĐỒNG BỘ
NAM CHÂM VĨNH CỬU KHÔNG SỬ DỤNG CẢM BIẾN


BẰNG CÔNG NGHỆ FPGA

NGÀNH: KỸ THUẬT ĐIỆN - 60520202
Hướng dẫn khoa học:
TS. NGUYỄN VŨ QUỲNH

Tp. Hồ Chí Minh, tháng 10/2015

Luan van


LÝ LỊCH KHOA HỌC
I. LÝ LỊCH SƠ LƢỢC:
Họ & tên: Hồng Thị Nga

Giới tính: Nữ

Ngày, tháng, năm sinh: 29/01/1987

Nơi sinh: Hải Dương

Quê quán: Thanh Miện – Hải Dương

Dân tộc: Kinh

Địa chỉ liên lạc: Số 10 Huỳnh Văn Nghệ - Bửu Long – Biên Hòa – Đồng Nai
Điện thoại cơ quan: 0613.951.937
Điện thoại DĐ: 0946.483.187
E-mail:
II. QUÁ TRÌNH ĐÀO TẠO:

1. Đại học:
Hệ đào tạo: Chính quy

Thời gian đào tạo từ 10/2005 đến 10 /2009

Nơi học (trường, thành phố): Đại học Lạc Hồng
Ngành học: Điện công nghiệp
Tên đồ án, luận án hoặc môn thi tốt nghiệp: Nghiên cứu thiết kế máy phát điện dùng
năng lượng sóng biển.
Ngày & nơi bảo vệ đồ án, luận án hoặc thi tốt nghiệp: Đại học Lạc Hồng
Người hướng dẫn: ThS. Nguyễn Vũ Quỳnh
III. Q TRÌNH CƠNG TÁC CHUYÊN MÔN KỂ TỪ KHI TỐT NGHIỆP
ĐẠI HỌC:
Thời gian

Nơi công tác

Công việc đảm nhiệm

12/2009- nay

Đại học Lạc Hồng

Giáo vụ

i

Luan van



LỜI CAM ĐOAN
Tơi cam đoan đây là cơng trình nghiên cứu của tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố
trong bất kỳ cơng trình nào khác
Tp. Hồ Chí Minh, ngày … tháng … năm 201…
(Ký tên và ghi rõ họ tên)

ii

Luan van


LỜI CẢM TẠ
Chân thành cảm ơn thầy TS. Nguyễn Vũ Quỳnh đã dành thời gian hướng dẫn,
chỉnh sửa và tạo điều kiện thuận lợi để em có thể hồn thành luận văn tốt nghiệp.
Em xin chân thành cảm ơn ban Giám hiệu, quý thầy cô trường Đại học sư
phạm kỹ thuật thành phố Hồ Chí Minh đã trang bị cho em những kiến thức hữu ích
khi học tập tại trường.
Xin cảm ơn đồng nghiệp, bạn bè đã đồng hành cùng em trong quá trình
nghiên cứu.

iii

Luan van


TĨM TẮT
Luận văn trình bày phương pháp điều khiển thơng minh động cơ đồng bộ
nam châm vĩnh cửu không sử dụng cảm biến bằng công nghệ FPGA. Để làm rõ tính
hiệu quả của mơ hình ta thực hiện mơ phỏng hệ thống. Phương pháp điều khiển

thông minh này được áp dụng cho việc kiểm sốt tốc độ rotor; vị trí từ thông rotor
của động cơ được ước lượng bằng cách sử dụng bộ lọc Kalman mở rộng. Đầu tiên
ta xây dựng mơ hình tốn học của động cơ đồng bộ nam châm vĩnh cửu. Thứ hai,
điều khiển và thiết kế vector không gian. Thứ ba, để giảm nhiễu và mất ổn định hệ
thống thì giải pháp điều khiển thơng minh được thiết kế để kiểm soát tốc độ của
động cơ. Thứ tư, phương pháp điều khiển không cảm biến được ứng dụng. Thứ
năm, ngôn ngữ mô phỏng phần cứng cho mạch tích hợp tốc độ rất cao (VHDL)
được sử dụng để điều khiển tất cả các thành phần nói trên. Thứ sáu, thực hiện mô
phỏng hệ thống bằng Matlab / Simulink và Modelsim. Cuối cùng, kết quả nổi bật
của luận văn đó là ứng dụng điều khiển thơng minh để điều khiển tốc độ động cơ
không sử dụng cảm biến.

iv

Luan van


ABSTRACT

This dissertation presents FPGA-realization of the intelligent controller for
sensorlessPermanentMagnetSynchronousMotor(PMSM)drives.

To

confirm

theeffectivenessoftheproposedarchitectureofsystem,thecosimulationandexperimentworksare demonstrated.Theintelligentcontrol methods are
applied for controlling
isestimatedby


the

rotor

velocity; the

rotor flux positionofPMSM

usingextendedkalmanfilter(EKF).

Inthisdissertation,

amathematicalmodelof
PMSMdriveisfirstlydefined.Secondly,thevectorcontrolandSVPWM
aredesigned.Thirdly,tocopewithnoiseanddynamicuncertainty
intelligentcontrolsare

designedfor

speedcontrol

sensorlesscontrolmethodsareapplied.Fifthly,
DescriptionLanguage(VHDL)by

the

of

are


usingFiniteState

performed

by

PMSM.

VeryHigh

system,the

Fourthly,

the

SpeedICHardware

Machine(FSM)method

presentedtorealize all theaforementioned controllers.
works

affectto

Sixthly,

the

is


simulation

Matlab/SimulinkandModelsim

inco-simulationmode,providedby
ElectronicDesignAutomation(EDA)SimulatorLink.Finally,

theoutstanding

thisresearch istoapply theintelligentcontroller insensorlessPMSM drives.

v

Luan van

of


MỤC LỤC
Trang tựa

TRANG

Quyết định giao đề tài
Lý lịch khoa học ........................................................................................................... i
Lời cam đoan ...............................................................................................................ii
Lời cảm tạ .................................................................................................................. iii
Tóm tắt ....................................................................................................................... iv
Abstract ....................................................................................................................... v

Mục lục ....................................................................................................................... vi
Danh sách các chữ viết tắt ....................................................................................... viii
Danh mục hình ảnh .................................................................................................... ix
Chƣơng 1: TỔNG QUAN ......................................................................................... 1
1.1Đặt vấn đề: ..................................................................................................... 1
1.2 Tổng quan về tình hình trong và ngồi nước: ............................................... 2
1.3 Mục tiêu nghiên cứu: .................................................................................... 2
1.4 Đối tượng nghiên cứu và phạm vi nghiên cứu:............................................. 3
1.5 Phương pháp nghiên cứu: ............................................................................. 3
1.6 Kết quả mà đề tài mang lại sau khi hoàn thiện ............................................. 3
Chƣơng 2: CƠ SỞ LÝ THUYẾT ............................................................................. 4
2.1 Ngơn ngữ lập trình VHDL .......................................................................... 4
2.1.1 Giới thiệu ngơn ngữ lập trình VHDL .................................................. 4
2.1.2 Ưu Điểm Của Ngơn Ngữ Lập Trình VHDL ....................................... 5
2.1.3Cấu trúc một mơ hình hệ thống mơ tả bằng VHDL: ............................ 7
2.1.4Board phát triển ứng dụng DE2 của hãng Terasic: .............................. 8
2.1.5Phần mềm lập trình Quartus II: ................................................................. 11

vi

Luan van


2.2 Phương pháp điều khiển PI[1, 9] ................................................................ 12
2.3 Nghịch lưu IGBT và phương pháp điều chế vector không gian ................. 20
2.3.1 Ngịch lưu IGBT [4, 5, 11, 14] ........................................................... 20
2.3.1.1 Giới thiệu về bộ nghịch lưu ............................................. 20
2.3.1.2 Cấu trúc và nguyên lý hoạt động của bộ nghịch lưu IGBT21
2.3.2 Điều chế vector không gian [4, 5, 11, 14] ......................................... 24
2.4 Giới thiệu động cơ đồng bộ nam châm vĩnh cửu ........................................ 31

2.4.1 Giới thiệu chung: .............................................................................. 31
2.4.2 Nguyên lý cấu tạo động cơ đồng bộ nam châm vĩnh cửu ................ 32
2.4.2.1 Động cơ đồng bộ nam châm vĩnh cửu cực lồi .............................. 32
2.4.2.2 Động cơ đồng bộ nam châm vĩnh cửu cực ẩn ............................... 34
2.4.4 Mơ tả tốn học ĐCĐBNCVC .......................................................... 35
2.5 Bộ lọc Kalman............................................................................................. 37
Chƣơng 3: THIẾT KẾ BỘ ĐIỀU KHIỂN ............................................................ 40
3.1 Thiết kế phần điều khiển dòng điện: [1, 4, 10] ........................................... 40
3.2 Thiết kế bộ lọc Kalman ............................................................................... 43
3.3 Thiết kế khối điều chế độ rộng xung không gian (SVPWM): [4, 5, 11, 14]50
3.4 Thiết kế bộ điều khiển PI: ........................................................................... 56
Chƣơng4: KẾT QUẢ MƠ PHỎNG....................................................................... 58
4.1 Mơ phỏng: [2, 11, 13, 14]............................................................................ 58
Chƣơng 5: KẾT LUẬN ........................................................................................... 70
5.1 Kết Luận ...................................................................................................... 70
5.2 Hướng phát triển của đề tài ......................................................................... 70
DANH MỤC TÀI LIỆU THAM KHẢO ............................................................... 71

vii

Luan van


DANH SÁCH CÁC CHỮ VIẾT TẮT
DSP

Digital Signal Processor

ĐCĐBNCVC Động cơ đồng bộ nam châm vĩnh cửu
FPGA


Field Programmable Gate Array

IGBT

Insulated Gate Bipolar Transitor

SVPWM

Space Vector Pulse Width Modulation

VHDL

Very High Speed Intergrated Circuit Hardware Description Language

viii

Luan van


DANH MỤC HÌNH ẢNH
Hình 2.1: Board DE2 của hãng Terasic ......................................................................9
Hình 2.2: Board FPGA có thể kết nối tới các thiết bị ngoại vi như loa, đầu đĩa, màn
hình … hỗ trợ cho người lập trình xử lý ảnh .........................................10
Hình 2.3: Board FPGA có thể lập trình bằng phần mềm Quartus II kết nối qua JTAG .. 10
Hình 2.4: Các bước thực hiện một chương trình đơn giản trong phần mềm Quartus II . 11
Hình 2.5: Đồ thị PV theo thời gian, ba giá trị Kp (Ki và Kd là hằng số)...................12
Hình 2.6: Đồ thị PV theo thời gian, tương ứng với 3 giá trị Ki (Kp và Kd không đổi) .... 14
Hình 2.7: Đồ thị PV theo thời gian, với 3 giá trị Kd (Kp and Ki không đổi) ............16
Hình 2.8: Đồ thị đặc tính của khâu PI ......................................................................18

Hình 2.9: Các quá trình quá độ điều chỉnh của quy luật PI......................................19
Hình 2.10: Kí hiệu điện tử của IGBT .......................................................................22
Hình 2.11: Cấu tạo của IGBT ...................................................................................22
Hình 2.12: Hình ảnh thực tế của khối nghịch lưu (IPM) sử dụng công nghệ IGBT
của hãng Mitsubishi ...............................................................................23
Hình 2.13: Sơ đồ cấu tạo bên trong của IPM gồm 6 IGBT ......................................23
Hình 2.14: Dẫn giải hệ thức tính 𝜏1 , 𝜏2 , 𝜏0 ........................................................26
Hình 2.15: Phạm vi điều khiển tuyến tính của SVPWM .........................................28
Hình 2.16: Modul vector khơng gian .......................................................................30
Hình 2.17: Động cơ đồng bộ nam châm vĩnh cửu cực lồi .......................................33
Hình 2.18: Mơ hình đơn giản của động cơ đồng bộ ba pha rotor cực lồi ................33
Hình 2.19: Động cơ đồng bộ nam châm vĩnh cửu cực ẩn ........................................34
Hình 2.20: Mơ hình đơn giản của động cơ đồng bộ ba pha rotor cực ẩn .................34

ix

Luan van


Hình 2.21: Tổng hợp phép tốn của bộ lọc Kalman .................................................39
Hình 3.1: Sơ đồ khối của khối điều khiển dịng điện ...............................................40
Hình 3.2: Dịng điện được biến đổi thơng qua phép biến đổi Clark ........................41
Hình 3.3: Dịng điện được biến đổi thơng qua phép biến đổi Park ..........................41
Hình 3.4: Dịng điện được biến đổi thông qua phép biến đổi inverse park..............42
Hình 3.5: Dịng điện được biến đổi thơng qua phép biến đổi Inverse clark ............42
Hình 3.6: Thiết kế bộ điều khiển dịng điện .............................................................42
Hình 3.7: Tính tốn thiết kế của giảm bậc bộ lọc Kalman mở rộng ........................47
Hình 3.8: Dự đoán ma trận hiệp phương sai trong giảm bậc bộ lọc Kalman mở rộng ...48
Hình 3.9: Tính tốn hệ số K và cập nhật ma trận P trong giảm bậc bộ lọc Kalman
mở rộng..................................................................................................49

Hình 3.10: Ngõ ra của SVPWM được nối tới các chân a, b, c và a’, b’ c’ của khối
nghịch lưu ..............................................................................................50
Hình 3.11: Trạng thái đóng cắt của các khóa điện tử cơng suất tạo ra tám vector
điện áp để điều khiển động cơ PMSM ..................................................51
Hình 3.12: Các vector điện áp tạo ra tại các đỉnh của hình lục giác ........................53
Hình 3.13: Tính điện áp ngõ ra tại các vị trí .............................................................53
Hình 3.14: Các giá trị so sánh và dạng sóng của PWM ở ngõ ra trong mỗi góc một
phần sáu của hình lục giác .....................................................................54
Hình 3.15: Giá trị điện áp cung cấp cho bộ SVPWM ..............................................54
Hình 3.16: Sơ đồ khối của bộ điều chế độ rộng xung vector khơng gian ................55
Hình 3.17: Cấu trúc bộ điều khiển PI .......................................................................56
Hình 3.18: Thực thi bộ điều khiển PI .......................................................................57
Hình 4.1: Sơ đồ khối để kiểm tra độ chính xác của SVPWM .................................58

x

Luan van


Hình 4.2: Khối kiểm tra SVPWM được thiết kế trên Simulink/Matlab ...................59
Hình 4.3: Dạng sóng ngõ ra của khối điều chế độ rộng xung vector không gian sau
khi qua bộ lọc thông thấp – mạch RC (lấy ra từ Scope PWM1) ...........59
Hình 4.4: Dạng sóng ngõ ra của khối điều chế độ rộng xung vector không gian sau
khi qua hàm truyền (lấy ra từ Scope PWM2) ........................................59
Hình 4.6: Sơ đồ khối kiểm tra độ chính xác của SVPWM có hồi tiếp góc quay của
động cơ ..................................................................................................60
Hình 4.7: Mơ hình kiểm tra SVPWM khi đối tượng điều khiển là động cơ trên
Simulink/Matlab ....................................................................................61
Hình 4.8: Tốc độ động cơ (lấy từ rotor speed) .........................................................61
Hình 4.9: Lực moment trên trục của động cơ (lấy từ rotor torque) .........................61

Hình 4.10: Dịng điện ba pha của động cơ (lấy từ three phase stator current) .........62
Hình 4.11: Sơ đồ khối kiểm tra độ chính xác của hệ thống có một vịng hồi tiếp ...62
Hình 4.12: Mơ hình kiểm tra trên Simulink/Matlab với một vịng hồi tiếp tốc độ
động cơ ..................................................................................................63
Hình 4.13: Tốc độ động cơ (lấy từ rotor speed) .......................................................63
Hình 4.14: Lực moment trên trục của động cơ (lấy từ torque) ................................63
Hình 4.15: Dịng điện ba pha của động cơ (lấy từ stator current) ............................64
Hình 4.16: Tín hiệu điều khiển ở ngõ ra của bộ điều khiển tốc độ (lấy từ speed out) ..... 64
Hình 4.17: Sơ đồ khối của bộ điều khiển hồn chỉnh ..............................................65
Hình 4.18: Mơ hình mơ phỏng bộ điều khiển có hai vịng hồi tiếp .........................65
Hình 4.19: Tốc độ động cơ (lấy từ rotor speed) .......................................................66
Hình 4.20: Lực moment trên trục của động cơ (lấy từ torque) ................................66
Hình 4.21: Góc quay của động cơ (lấy từ address) ..................................................66

xi

Luan van


Hình 4.22: Dịng điện ba pha của động cơ (lấy từ stator current) ............................66
Hình 4.23: Tín hiệu điều khiển ở ngõ ra của bộ điều khiển tốc độ (lấy từ speed out) ..... 67
Hình 4.24: Mơ hình Simulink / ModelSim mơ phỏng của hệ thống điều khiển
khơng cảm biến......................................................................................68
Hình 4.25: Điều khiển tốc độ rotor thực tế và ước tính tốc độ rotor cho động cơ
không cảm biến bằng cách giảm bậc bộ lọc Kalman mở rộng..............68
Hình 4.26: Đáp ứng rotor tại tốc độ 500rpm và 1500rpm khi sử dụng giảm bậc bộ
lọc Kalman mở rộng ..............................................................................69

xii


Luan van


Luận văn thạc sỹ

GVHD: TS Nguyễn Vũ Quỳnh

Chƣơng 1: TỔNG QUAN

1.1 Đặt vấn đề:
Động cơ đồng bộ kích từ bằng nam châm vĩnh cửu được ứng dụng rất nhiều
trong lĩnh vực công nghiệp chế tạo như máy cắt gọt kim loại, máy đóng gói, máy
gia cơng chính xác, robot; vì vậy bộ điều khiển của động cơ đóng một vai trò rất
quan trọng. Hiện nay với khả năng thiết kế các bộ điều khiển hiện đại, nhờ cải tiến,
ứng dụng không ngừng các bộ biến đổi bán dẫn công suất lớn, động cơ xoay chiều
đã trở thành một đối tượng điều khiển có nhiều ưu thế và vì vậy, rất nhiều các hệ
điều khiển đã sử dụng động cơ xoay chiều không đồng bộ, đồng bộ như một đối
tượng điều khiển có nhiều ưu điểm vượt trội. Chất lượng các hệ điều khiển truyền
động điện phụ thuộc rất nhiều vào các bộ điều khiển, ở đó hệ thống phải tạo ra được
khả năng thay đổi tốc độ với phạm vi điều chỉnh rộng, độ chính xác của đại lượng
điều chỉnh ở chế độ tĩnh cao để tạo nên vùng làm việc với sai số nhỏ, hệ làm việc
với bất cứ quá trình quá độ nào cũng đạt được độ ổn định cao và hệ có khả năng đáp
ứng nhanh với yêu cầu điều chỉnh. Tất cả những điều này thực sự đã đặt ra những
yêu cầu càng ngày càng khắt khe hơn cho các hệ thống điều khiển tự động.
Để giải quyết những vấn đề trên người ta đã nghiên cứu và áp dụng nhiều lý
thuyết điều khiển, mỗi một phương pháp điều có những mặt mạnh, mặt yếu nhưng
nhìn chung ở mỗi hệ thống khi đã lựa chọn phương án điều khiển nào thì người thiết
kế đều đạt được những kết quả nhất định cho mục đích của mình. Hiện nay, để điều
khiển các hệ truyền động điện người ta đã áp dụng một số các lý thuyết tiêu biểu
như: Phương pháp điều chỉnh thích nghi, điều khiển trượt, mạng nơron nhân tạo, hệ

mờ (Fuzzy)…và một số hệ điều khiển lai.

1

Luan van


Luận văn thạc sỹ

GVHD: TS Nguyễn Vũ Quỳnh

Việc sử dụng động cơ đồng bộ kích từ bằng nam châm vĩnh cửu trong cơng
nghiệp ngày càng gia tăng mạnh vì những ưu điểm như tốc độ nhanh, độ chính xác
cao… và hiện tại các hệ thống đa phần sử dụng cảm biến, encoder quang để đo tốc
độ và hồi tiếp về bộ điều khiển, điều này góp phần làm cho giá thành của hệ thống
tăng cao. Chính vì những ưu điểm đó, tác giả đã quyết định chọn đề tài “Ứng dụng
thuật toán bộ lọc Kalman mở rộng trong điều khiển tốc độ động cơ đồng bộ
nam châm vĩnh cửu không sử dụng cảm biến bằng công nghệ FPGA”. Đề tài
thực hiện thành công sẽ mở ra một hướng điều khiển chính xác tốc độ động cơ
nhưng khơng sử dụng cảm biến làm giúp giảm giá thành sản phẩm, giảm kích
thước, giảm nhiễu xâm nhập vào hệ thống giúp cho hệ thống đạt được tối ưu hơn.
1.2 Tổng quan về tình hình trong và ngồi nƣớc:
Đã có một số đơn vị ngoài nước tiến hành nghiên cứu nhưng hệ thống được
thiết kế dựa trên bộ xử lý tín hiệu số chuyên dụng (DSP), đảm bảo độ chính xác cao
nhưng giá thành tốn kém.
Thơng qua các tạp chí, các hội nghị nghiên cứu trong nước và tìm kiếm thơng
tin trên mạng internet, tác giả vẫn chưa thấy phương pháp điều khiển động cơ không
sử dụng cảm biến dựa trên công nghệ FPGA được nghiên cứu và công bố tại Việt
Nam.
1.3 Mục tiêu nghiên cứu:

Tập trung nghiên cứu thành công giải thuật điều khiển động cơ không sử dụng
cảm biến.
Nghiên cứu và viết tồn bộ các mã điều khiển bằng ngơn ngữ mơ tả phần cứng
(VHDL)

2

Luan van


Luận văn thạc sỹ

GVHD: TS Nguyễn Vũ Quỳnh

1.4 Đối tƣợng nghiên cứu và phạm vi nghiên cứu:
Tác giả tập trung chính vào phương pháp điều khiển động cơ PI, thuật tốn điều
khiển khơng sử dụng cảm biến. Sử dụng ngơn ngữ mơ phỏng phần cứng để lập trình,
mơ phỏng kiểm tra tất cả các thông số của hệ thống.
1.5 Phƣơng pháp nghiên cứu:
Tìm hiểu tồn bộ các ngun lý hoạt động của động cơ, của bộ điều khiển
FPGA để thiết kế bộ điều khiển tốc độ, bộ điều khiển dòng điện.
Mơ phỏng tồn bộ các quy trình thiết kế nhằm tìm ra các lỗi để khắc phục
1.6 Kết quả mà đề tài mang lại sau khi hoàn thiện
Trong thời buổi kinh tế thị trường hiện nay, nhu cầu cần các loại máy có khả
năng tạo ra các sản phẩm có độ chính xác cao nhưng chi phí giá thành rẻ là rất cần
thiết. Sau khi hồn thiện đề tài có thể áp dụng ngay vào trong lĩnh vực điều khiển
các cánh tay robot, máy móc địi hỏi độ chính xác cao…
Bên cạnh đó nguồn nhân lực về thiết kế IC chuyên dụng cũng đang là yêu cầu
cấp bách của xã hội, tác giả đề ra được các bước thực hiện và sẽ mơ tả chi tiết trong
tồn văn giải pháp, tài liệu này có thể sử dụng để huấn luyện cho sinh viên, những

người u thích lập trình thiết kế chip một tài liệu tham khảo hữu ích trong q
trình học tập.

3

Luan van


Luận văn thạc sỹ

GVHD: TS Nguyễn Vũ Quỳnh

Chƣơng 2: CƠ SỞ LÝ THUYẾT
2.1 Ngơn ngữ lập trình VHDL
2.1.1 Giới thiệu ngơn ngữ lập trình VHDL
VHDL là viết tắt của cụm từ Very High Speed Intergrated Circuit Hardware
Description Languagengôn ngữ mô phỏng phần cứng cho các mạch tích hợp tốc độ
rất cao. VHDL là ngôn ngữ mô phỏng phần cứng được phát triển dùng cho chương
trình VHSIC (Very High Speed Intergrated Circuit) của bộ quốc phòng Mỹ. Mục tiêu
của việc phát triển VHDL là có được một ngơn ngữ mơ phỏng phần cứng tiêu chuẩn
và thống nhất cho phép phát triển thử nghiệm các hệ thống số nhanh hơn cũng như
cho phép dễ dàng đưa các hệ thống đó vào ứng dụng trong thực tế. Ngôn ngữ VHDL
được ba công ty Intermetics, IBM và Texas Instruments bắt đầu nghiên cứu phát triển
vào 7/1983. Phiên bản đầu tiên được công bố vào 8/1985. Sau đó VHDL được đề xuất
để tổ chức IEEE xem xét thành một tiêu chuẩn. Năm 1987, đã đưa ra tiêu chuẩn về
VHDL – tiêu chuẩn IEEE-1076-1987.
VHDL được phát triển để giải quyết các khó khăn trong việc phát triển, thay đổi
và lập tài liệu cho các hệ thống số. Như ta đã biết, một hệ thống số có rất nhiều tài liệu
mơ tả. Ðể có thể vận hành bảo trì sửa chữa một hệ thống ta cần tìm hiểu tài liệu đó kỹ
lưỡng. Với một ngơn ngữ mơ phỏng phần cứng tốt việc xem xét các tài liệu mơ tả trở

nên dễ dàng hơn vì bộ tài liệu đó có thể được thực thi để mơ phỏng hoạt động của hệ
thống. Như thế ta có thể xem xét toàn bộ các phần tử của hệ thống hoạt động trong
một mơ hình thống nhất.
Trước khi VHDL ra đời, có nhiều ngôn ngữ mô phỏng phần cứng được sử dụng
nhưng khơng có một tiêu chuẩn thống nhất. Các ngơn ngữ mơ phỏng phần cứng đó

4

Luan van


Luận văn thạc sỹ

GVHD: TS Nguyễn Vũ Quỳnh

được phát triển để phục vụ các bộ mơ phỏng chạy chúng. Vì các ngơn ngữ mơ phỏng
phần cứng đó được các nhà cung cấp thiết bị phát triển, nên mang các đặc trưng gắn
với các thiết bị của nhà cung cấp đó và thuộc sở hữu của nhà cung cấp.
Trong khi đó, VHDL được phát triển như một ngôn ngữ độc lập không gắn với bất
kỳ một phương pháp thiết kế, bộ mô phỏng hay công nghệ phần cứng nào. Người
thiết kế có thể tự do lựa chọn cơng nghệ, phương pháp thiết kế trong khi vẫn sử dụng
một ngôn ngữ duy nhất.[1]
2.1.2Ƣu Điểm Của Ngơn Ngữ Lập Trình VHDL
Tính cơng cộng:
VHDL được phát triển dưới sự bảo trợ của chính phủ Mỹ và hiện nay là một
tiêu chuẩn của IEEE, VHDL không thuộc sở hữu của bất kỳ cá nhân hay tổ chức
nào. Do đó VHDL được hỗ trợ của nhiều nhà sản xuất thiết bị cũng như nhiều nhà
cung cấp công cụ thiết kế mô phỏng hệ thống. Ðây là một ưu điểm nổi bật của
VHDL, giúp VHDL trở nên ngày càng phổ biến.
Khả năng hỗ trợ nhiều công nghệ và phương pháp thiết kế:

VHDL cho phép thiết kế bằng nhiều phương pháp như phương pháp thiết kế từ
trên xuống, hay từ dưới lên dựa vào các thư viện có sẵn. VHDL cũng hỗ trợ cho
nhiều loại công nghệ xây dựng mạch như sử dụng công nghệ đồng bộ hay khơng
đồng bộ, sử dụng ma trận lập trình được hay sử dụng mảng logic ngẫu nhiên. Như
vậy VHDL có thể phục vụ tốt cho nhiều mục đích thiết kế khác nhau, từ việc thiết
kế các phần tử phổ biến đến việc thiết kế các IC ứng dụng đặc biệt (Application
Specified IC).
Ðộc lập với cơng nghệ:
VHDL hồn tồn độc lập với công nghệ chế tạo phần cứng. Một mô tả hệ thống

5

Luan van


Luận văn thạc sỹ

GVHD: TS Nguyễn Vũ Quỳnh

dùng VHDL thiết kế ở mức cổng có thể được chuyển thành các bản tổng hợp mạch
khác nhau tuỳ thuộc vào công nghệ chế tạo phần cứng nào được sử dụng (dùng
CMOS, nMOS, hay GaAs). Ðây cũng là một ưu điểm quan trọng của VHDL nó cho
phép người thiết kế khơng cần quan tâm đến công nghệ phần cứng khi thiết kế hệ
thống, như thế khi có một cơng nghệ chế tạo phần cứng mới ra đời nó có thể được
áp dụng ngay cho các hệ thống đã thiết kế.
Khả năng mô tả mở rộng:
VHDL cho phép mô tả hoạt động của phần cứng từ mức hệ thống số (hộp đen)
cho đến mức cổng. VHDL có khả năng mơ tả hoạt động của hệ thống trên nhiều
mức nhưng chỉ sử dụng một cú pháp chặt chẽ thống nhất cho mọi mức. Như thế ta
có thể mơ phỏng một bản thiết kế bao gồm cả các hệ con được mô tả ở mức cao và

các hệ con được mô tả chi tiết.
Khả năng trao đổi kết quả:
Vì VHDL là một tiêu chuẩn được chấp nhận, nên một mơ hình VHDL có thể
chạy trên mọi bộ mô phỏng đáp ứng được tiêu chuẩn VHDL-các kết quả mơ tả hệ
thống có thể được trao đổi giữa các nhà thiết kế sử dụng công cụ thiết kế khác nhau
nhưng cùng tuân theo chuẩn VHDL. Cũng như, một nhóm thiết kế có thể trao đổi
mơ tả mức cao của các hệ thống con trong một hệ thống; trong khi các hệ con đó
được thiết kế độc lập.
Khả năng hỗ trợ thiết kế mức lớn và khả năng sử dụng lại các thiết kế:
VHDL được phát triển như một ngơn ngữ lập trình bậc cao, vì vậy nó có thể sử
dụng để thiết kế một hệ thống lớn với sự tham gia của một nhóm nhiều người. Bên
trong ngơn ngữ VHDL có nhiều tính năng hỗ trợ việc quản lý, thử nghiệm và chia
sẻ thiết kế. VHDL cũng cho phép dùng lại các phần đã có sẵn.

6

Luan van


Luận văn thạc sỹ

GVHD: TS Nguyễn Vũ Quỳnh

Trên đây ta đã xem xét một số đặc điểm của ngôn ngữ VHDL, sau đây ta sẽ đi
sâu vào xem xét một số khái niệm thiết kế cơ bản trong VHDL.
2.1.3 Cấu trúc một mơ hình hệ thống mơ tả bằng VHDL:
Để tìm hiểu một chương trình VHDL chúng ta cần phải hiểu một số thuật ngữ
được sử dụng trong ngôn ngữ lập trình VHDL.
Entity (thực thể): Tất cả các thiết kế đều được biểu diễn ở dạng thực thể. Một thực
thể là một khối xây dựng cơ bản nhất trong thiết kế. Mức cao nhất của thực thể là mức

đỉnh. Nếu thiết kế có thứ bậc thì mơ tả ở mức cao nhất sẽ chứa các mô tả ở mức thấp
hơn nằm bên trong. Những mô tả ở mức thấp hơn này sẽ chứa các thực thể ở mức thấp
hơn nữa. Trong VHDL thì thực thể dùng để khai báo các cổng input_output của các
thành phần và tên của nó.
Architecture (Kiến trúc) Tất cả các thực thể có thể được mơ phỏng đều có một mơ
tả kiến trúc. Kiến trúc mơ tả hành vi của thực thể. Một thực thể đơn có thể có nhiều
kiến trúc. Một kiến trúc có thể mơ tả hành vi (behavioral description) Trong khi đó
một kiến trúc khác có thể mơ tả cấu trúc (Structural description).
Configuration (Cấu hình) phát biểu cấu hình được sử dụng để ràng buộc một thể
hiện thành phần với một cặp thực thể-kiến trúc. Một cấu hình có thể được khảo sát
giống như một danh sách các thành phần của một thiết kế. Danh sách các thành phần
mô tả hành vi để sử dụng cho mỗi thực thể, giống như danh sách liệt kê các phần mô
tả sử dụng cho mỗi thành phần trong thiết kế.
Package (gói): Một gói là một tập hợp các loại dữ liệu được dùng phổ biến và các
chương trình con được sử dụng trong thiết kế, xem package như là một hộp công cụ
chứa nhiều công cụ được dùng để xây dựng thiết kế.

7

Luan van


Luận văn thạc sỹ

GVHD: TS Nguyễn Vũ Quỳnh

Driver (nguồn kích) là nguồn kích của một tín hiệu. Nếu một tín hiệu được kích
bởi hai nguồn, thì cả hai nguồn đều ở mức tích cực, khi đó ta xem tín hiệu có 2 driver.
Bus (nhóm tín hiệu) thuật ngữ bus xem một nhóm tín hiệu hoặc một phương pháp
truyền thơng đặc biệt được sử dụng trong thiết kế phần cứng. Trong VHDL bus là loại

tín hiệu đặc biệt có nhiều nguồn kích ở trạng thái tắt.
Attribute (thuộc tính) là dữ liệu được gắn vào các đối tượng VHDL hoặc dữ liệu
đã định nghĩa trước liên quan đến các đối tượng VHDL. Ví dụ là khả năng kích dịng
của của mạch đệm hoặc nhiệt độ hoạt động cực đại của linh kiện.
Generic là thuật ngữ của VHDL dùng cho một thông số thông số này chuyển
thông tin đến một thực thể.
Process (quá trình) là một đơn vị thực thi cơ bản trong VHDL. Tất cả các hoạt
động- được thực hiện trong mô tả VHDL- thì được chia ra thành một hoặc nhiều quá
trình xử lý.[1]
2.1.4 Board phát triển ứng dụng DE2 của hãng Terasic:
Cơng ty Terasic có trụ sở chính tại Đài Loan, đã thiết kế board mạch cung cấp
cho thị trường phát triển các ứng dụng liên quan đến FPGA. Dòng sản phẩm của
Terasic rất đa dạng, nhóm nghiên cứu chỉ tập trung giới thiệu board DE2, board mạch
được sử dụng trong đề tài nghiên cứu

8

Luan van


Luận văn thạc sỹ

GVHD: TS Nguyễn Vũ Quỳnh

Hình 2.1: Board DE2 của hãng Terasic
Tài nguyên phần cứng của DE2:
-

35.000 phần tử logic dùng để lập trình


-

8 Mbyte SDRAM

-

512 Kbyte SRAM

-

4 MByte bộ nhớ Flash

-

Thẻ đọc SD

-

4 nút nhấn

-

18 công tắc

-

9 đèn led xanh và 18 đèn led đỏ để người sử dụng kiểm tra chương trình

-


Một màn hình LCH 16x2

-

Bộ dao động 50 MHz và 27 MHz

9

Luan van


Luận văn thạc sỹ

GVHD: TS Nguyễn Vũ Quỳnh

-

Cổng đọc âm thanh 24 bit và ngõ cắm micro

-

Ngõ ra kết nối tới màn hình VGA

-

Bộ giải mã tivi

-

Cổng kết nối internet


-

Cổng kết nối USB

-

Cổng RS 232

-

Cổng kết nối PS/2

-

Bộ phát sóng hồng ngoại

-

40 chân cắm mở rộng ngõ ra

Hình 2.2:Board FPGA có thể kết nối tới các thiết bị ngoại vi như loa, đầu đĩa, màn
hình … hỗ trợ cho người lập trình xử lý ảnh

Hình 2.3:Board FPGA có thể lập trình bằng phần mềm Quartus II kết nối qua JTAG

10

Luan van



Luận văn thạc sỹ

GVHD: TS Nguyễn Vũ Quỳnh

2.1.5 Phần mềm lập trình Quartus II:
Phần mềm lập trình Quartus II do hãng Altera phát triển, phần mềm cung cấp
một môi trường thiết kế toàn diện các hệ thống được phát triển lập trình trên chip.
Quartus II cho phép người dùng có thể thiết kế bằng bản vẽ, sơ đồ khối hoặc bằng
cơng cụ soạn thảo VHDL hoặc Verilog. Chương trình có khả năng mơ phỏng chức
năng và mơ phỏng có tính toán đến thời gian trễ của hệ thống. Quartus II cịn có thể
phân tích logic nhúng bằng cơng cụ SignalTap II, khả năng nhận diện lỗi, và nhận
diện linh kiện. Quartus II cũng có thể đọc hoặc tạo ra các file mạch (netlist) chuẩn.
Một môi trường thiết kế đồ họa hỗ trợ tối đa cho người lập trình.

Hình 2.4:Các bước thực hiện một chương trình đơn giản trong phần mềm Quartus II

11

Luan van


×