Việc truyền dữ liệu trên nhiều luồng giúp hệ thống OFDM có hai đặc điểm sau: sử dụng hiệu quả băng thông và dễ thực hiện cân bằng nếu kênh truyền biến đổi chậm.Hình 1.1 trình bày ví dụ v
Trang 1KHOA ĐIỆN – ĐIỆN TỬ
ĐỒ ÁN TỐT NGHIỆP
HIỆN THỰC HÓA KỸ THUẬT
OFDM TRÊN FPGA
Người hướng dẫn: TS TRẦN THANH PHƯƠNG
Người thực hiện: LÊ QUANG HUY
Lớp : 10040002 Khoá : 14
THÀNH PHỐ HỒ CHÍ MINH, NĂM 2014
Trang 2Hiện thực hóa kĩ thuật OFDM trên FPGA SVTH: Lê Quang Huy
LỜI NÓI ĐẦU
Kỹ thuật ghép kênh phân chia tần số trực giao OFDM (Orthogonal Frequency Division Multiplexing) được đề xuất từ khoảng năm 1950, nhưng kỹ thuật này chỉ được áp dụng rộng rãi trong những năm gần đây Ngày nay, kỹ thuật OFDM được ứng dụng rộng rãi trong các hệ thống hệ thống truyền thông số như: truyền thanh số (DAB), truyền hình số (DVB), mạng cục bộ không dây IEEE 802.11 a/g/n (WiFi), mạng máy tính diện rộng không dây IEEE 802.16 (WiMAX)… Bên cạnh đó, truyền thông vô tuyến thế hệ thứ tư (4G) cũng hướng đến sử dụng kỹ thuật OFDM Ý tưởng chính của OFDM là chia luồng dữ liệu trước khi phát thành nhiều luồng dữ liệu song song có tốc độ thấp hơn và phát mỗi luồng dữ liệu trên một sóng mang con khác nhau Các sóng mang con này là trực giao với nhau Sự trực giao cho phép phổ của các sóng mang con có thể chồng lấn lên nhau Khi đó, phổ tầng của hệ thống sẽ được sử dụng hiệu quả hơn Đồng thời, việc truyền dữ liệu tốc độ thấp trên từng sóng mang con và
sử dụng đoạn cyclic prefix giúp hệ thống tránh được can nhiễu liên ký hiệu (ISI) và nhiễu liên sóng mang (ICI)
Có được các ưu điểm trên, kỹ thuật OFDM đang được quan tâm nghiên cứu ở nhiều nơi trên thế giới Nhiều nghiên cứu về OFDM đã được tiến hành trong đó có Việt Nam Tuy nhiên, phần lớn các nghiên cứu chỉ dừng lại ở mức lý thuyết hay mô phỏng.Trong khi đó, đề tài này hướng đến thực hiện trên phần cứng nhằm nâng cao khả năng ứng dụng thực tế Phần cứng được sử dụng để thiết kế hệ thống là bộ kit Cyclone II và phần mềm Quartus II của Altera
Mục tiêu chính của đề tài là thiết kế một hệ thống thu/phát tín hiệu sử dụng kỹ thuật OFDM trên bộ Kit Altera DE2 Linh kiện chính của Kit là FPGA Cyclone II EP2C3F672 Đây là linh kiện có tốc độ cao và rất phù hợp để nghiên cứu các hệ thống tích hợp trên chip khả trình trong lĩnh vực viễn thông Đặc điểm nổi bật của các kit dựa trên FPGA là tốc độ xử lý cao nhờ khả năng thực hiện các phép xử lý song song Các kit này phù hợp trong nghiên cứu và phát triển các tầng vật lý với thời gian trễ ngắn Các khối cơ bản được thiết kế trong hệ thống bao gồm: các phương pháp ánh xạ chòm sao, khối biến đổi IFFT/FFT để tạo các sóng mang con trực giao, bộ thêm và bỏ cyclic prefix, bộ cân bằng trong miền tần số Phép ánh xạ chòm sao 16QAM
Nội dung của đề tài bao gồm 6 chương:
Chương 1 nguyên lí và cấu trúc của hệ thống OFDM
Chương 2 tìm hiểu về board mạch Altera DE2
Chương 3 tìm hiểu ngôn ngữ lập trình phần cứng VHDL
Chương 4 là phần nội dung chính của đề tài Chương này hiện thực hóa mô hình
OFDM đơn giản trên board mạch DE2
Chương 5 trình bày các kết quả thực hiện, kiểm tra và đánh giá kết quả hệ thống trên board
Trang 3Hiện thực hóa kĩ thuật OFDM trên FPGA SVTH: Lê Quang Huy
Chương 6 là phần tổng kết các nội dung chính đã thực hiện và những vấn đề cần tiếp tục nghiên cứu và phát triển
Em xin chân thành cảm ơn TS Trần Thanh Phương đã tận tình hướng dẫn em hoàn thành đồ án tốt nghiệp này, cũng như các thầy cô trong bộ môn Tuy nhiên do kiến thức chuyên môn còn hạn chế, tài liệu tham khảo có giới hạn nên còn xảy ra nhiều sai sót Em rất mong các thầy cô và các bạn góp ý bổ sung để bản đồ án tốt nghiệp của em được hoàn thiện hơn
TP Hồ Chí Minh, ngày 25 tháng 1 năm 2015
Lê Quang Huy
Trang 4Hiện thực hóa kĩ thuật OFDM trên FPGA SVTH: Lê Quang Huy
CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG
sự hướng dẫn khoa học của TS Trần Thanh Phương Các nội dung nghiên
cứu, kết quả trong đề tài này là trung thực và chưa công bố dưới bất kỳ hình thức nào trước đây Những số liệu trong các bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá được chính tác giả thu thập từ các nguồn khác nhau
có ghi rõ trong phần tài liệu tham khảo
Ngoài ra, trong luận văn còn sử dụng một số nhận xét, đánh giá cũng như số liệu của các tác giả khác, cơ quan tổ chức khác đều có trích dẫn và chú thích nguồn gốc
Nếu phát hiện có bất kỳ sự gian lận nào em xin hoàn toàn chịu trách nhiệm về nội dung luận văn của mình Trường đại học Tôn Đức
Thắng không liên quan đến những vi phạm tác quyền, bản quyền do em gây
ra trong quá trình thực hiện (nếu có)
TP Hồ Chí Minh, ngày 25 tháng 1 năm 2015
Tác giả (ký tên và ghi rõ họ tên)
Trang 5Hiện thực hóa kĩ thuật OFDM trên FPGA SVTH: Lê Quang Huy
MỤC LỤC
LỜI NÓI ĐẦU i
DANH SÁCH HÌNH VẼ vii
DANH SÁCH CÁC BẢNG BIỂU x
DANH SÁCH CÁC TỪ VIẾT TẮT xi
CHƯƠNG I: NGUYÊN LÍ VÀ CẤU TRÚC CỦA HỆ THỐNG OFDM 1
1.1 GIỚI THIỆU 1
1.1.1 Lịch sử phát triển 1
1.1.2 Những đặc điểm cơ bản của OFDM 2
1.2 CÁC ỨNG DỤNG THỰC TẾ CỦA OFDM 3
1.2.1 Truyền hình số (DVB) và truyền thanh số (DAB) 3
1.2.2 Mạng cục bộ không dây IEEE 802.11 a/g/n (WiFi) 4
1.2.3 Mạng máy tính diện rộng không dây IEEE 802.16 (WiMAX) 4
1.2.4 Truyền thông vô tuyến thế hệ thứ tư (4G) 4
1.3 NGUYÊN LÍ VÀ CẤU TRÚC CỦA HỆ THỐNG OFDM 5
1.3.1 Nguyên lí của hệ thống OFDM 5
1.3.2 Tín hiệu OFDM điều chế 5
1.3.3 Thực hiện hệ thống OFDM bằng phép biến đổi IFFT/FFT 6
1.3.4 Khoảng bảo vệ (Guard Interval hay Cyclic Prefix) 7
1.4 ƢU ĐIỂM VÀ NHƢỢC ĐIỂM CỦA HỆ THỐNG OFDM 8
1.4.1 Ưu điểm 8
1.4.2 Nhược điểm 9
1.5 KÊNH TRUYỀN TRONG HỆ THỐNG OFDM 9
1.5.1 Tác động của kênh truyền 9
1.5.2 Cân bằng cho hệ thống OFDM 10
1.5.3 Phương pháp sử dụng pilot 11
CHƯƠNG 2: TÌM HIỂU VỀ BOARD MẠCH ALTERA DE2 12
2.1 TRỌN GÓI CỦA DE2 12
Trang 6Hiện thực hóa kĩ thuật OFDM trên FPGA SVTH: Lê Quang Huy
2.1.1 Các thành phần cấu thành 12
2.1.2 Lắp rắp board DE2 12
2.2 BOARD DE2 13
2.2.1 Giao diện và các thành phần 13
2.2.2 Sơ đồ khối của board DE2 15
2.3 MỘT SỐ ỨNG DỤNG CỦA BOARD DE2 19
CHƯƠNG 3: TÌM HIỂU NGÔN NGỮ LẬP TRÌNH VHDL 21
3.1 TỔNG QUAN VỀ NGÔN NGỮ VHDL 21
3.2 CÁC ĐẶC ĐIỂM CHÍNH CỦA NGÔN NGỮ VHDL 21
3.3 CÁC CẤU TRÚC CƠ BẢN CỦA NGÔN NGỮ VHDL 22
3.3.1 Khai báo thực thể (Entity) 23
3.3.2 Các kiểu kiến trúc (Architecture) 24
3.3.3 Các đóng gói (Packages) 25
3.3.4 Định cấu hình (Configurations) 26
3.3.5 Các thư viện thiết kế (Library) 26
3.3.6 Các kiểu dữ liệu (Data Types) 27
3.3.7 Liên kết tín hiệu 27
3.3.8 Biên dịch VHDL 28
CHƯƠNG 4: THIẾT KẾ HỆ THỐNG OFDM 30
4.1 SƠ ĐỒ HỆ THỐNG 30
4.1.1 Module phát 31
4.1.2 Module thu 32
4.2 CÁC KHỐI CHỨC NĂNG 33
4.2.1 Bộ biến đổi S/P và P/S 33
4.2.2 Bộ ánh xạ và giải ánh xạ chòm sao 35
4.2.3 Tạo tín hiệu ofdm bằng phép biến đổi IFFT/FFT 37
4.2.4 Chèn và loại bỏ tiền tố tuần hoàn (CP) 45
4.2.5 Bộ cân bằng (equalizer) 46
Trang 7Hiện thực hóa kĩ thuật OFDM trên FPGA SVTH: Lê Quang Huy
4.3 QUY TRÌNH THIẾT KẾ 47
4.3.1 Tóm tắt các bước thiết kế và hiện thực ứng dụng với Quartus II 9.1 47
4.3.2 Giao diện làm việc Altera Quartus 9.1 48
4.3.3 Khởi tạo project mới 48
4.3.4 Viết module đặc tả bằng VHDL 50
4.3.5 Thiết lập tín hiệu INPUT, OUTPUT 51
4.3.6 Tổng hợp thiết kế 52
4.3.7 Nạp lên board 53
CHƯƠNG 5: KẾT QUẢ THỰC HIỆN 55
5.1 MODULE PHÁT CỦA OFDM TRÊN FPGA 55
5.1.1 Sơ đồ khối module test cho phần phát 55
5.1.2 Kết quả test module cho phần phát 56
5.1.3 Kết quả mô phỏng Model Sim cho phần phát 59
5.2 MODULE THU CỦA OFDM TRÊN FPGA 61
5.2.1 Sơ đồ khối module test cho phần phát và thu 61
5.2.2 Kết quả test module cho phần phát và phần thu 63
5.2.3 Kết quả mô phỏng Model Sim cho phần thu 65
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 67
6.1 KẾT LUẬN 67
6.2 HƯỚNG PHÁT TRIỂN 67
TÀI LIỆU THAM KHẢO 68
Trang 8
Hiện thực hóa kĩ thuật OFDM trên FPGA SVTH: Lê Quang Huy
DANH SÁCH HÌNH VẼ
Hình 1.1: Các sóng mang con trong miền thời gian và miền tần số 2
Hình 1.2: Phổ trong miền tần số của các sóng mang con trực giao với nhau 3
Hình 1.3: Sóng mang không chồng xung (a) và sóng mang chồng xung (b) 3
Hình 1.4: Nguyên lí tạo tín hiệu OFDM đơn giản 5
Hình 1.5 Sơ đồ phía phát của hệ thống OFDM 6
Hình 1.6 Nguyên lí tạo tín hiệu OFDM bằng thuật toán IFFT 6
Hình 1.7: Tín hiệu với Cyclic prefix 7
Hình 1.8: Sơ đồ phía thu của hệ thống OFDM 8
Hình 1.9: Nguyên lí giải điều chế tín hiệu OFDM bằng thuật toán FFT 8
Hình 1.10: Ảnh hưởng của môi trường lên sự truyền sóng 10
Hình 1.11: Các pilot trong miền thời gian và tần số 11
Hình 2.1: Các thành phần của DE2 12
Hình 2.2: Các chân của board DE2 13
Hình 2.3: Board DE2 14
Hình 2.4: Sơ đồ khối của board DE2 16
Hình 2.5: TV box 19
Hình 2.6: Chương trình vẽ (paintbrush) 20
Hình 2.7: Máy hát Karaoke và máy chơi nhạc từ card SD 20
Hình 3.1: Cấu trúc Library 27
Hình 3.2: Quy trình biên dịch 29
Hình 4.1: Sơ đồ hệ thống OFDM cơ bản 30
Hình 4.2: Khối OFDM_Tx 31
Hình 4.3: Khối OFDM_Rx 32
Hình 4.4: Bộ chuyển đổi dữ liệu 33
Hình 4.5: Bộ biến đồi S/P 34
Hình 4.6: Phép điều chế 16_QAM 35
Hình 4.7: Khối thực hiện điều chế 16_QAM 37
Hình 4.8: Bước đầu tiên của thuật toán DIT 39
Trang 9Hiện thực hóa kĩ thuật OFDM trên FPGA SVTH: Lê Quang Huy
Hình 4.9: Ba trạng thái để tính toán có N = 8 điểm DFT 40
Hình 4.10: Bộ butterfly trong thuật toán FFT (DIT) 40
Hình 4.11: Thuật toán FFT 8 điểm DIT 41
Hình 4.12: Thuật toán 8 điểm FFT (DIF)[ 42
Hình 4.13: Bộ butterfly trong thuật toán FFT (DIF) 43
Hình 4.14: Đảo bit dữ liệu đầu vào với FFT 8 điểm 43
Hình 4.15: Sơ đồ khối (a),(b) thực hiện bộ IFFT/FFT 16 điểm trên FPGA 44
Hình 4.16: (a)Bộ Add Cyclic Prefix và (b) Remove Cyclic Prefix 45
Hình 4.17: Bộ Add Cyclic Prefix 46
Hình 4.18: Các bước thiết kế và hiện thực ứng dụng với Quartus II 9.1 47
Hình 4.19: Các bước thiết kế và hiện thực ứng dụng với Quartus II 9.1 48
Hình 4.20: Tạo mới một project 49
Hình 4.21: Hộp thoại lựa chọn chip 49
Hình 4.22: Tạo mới file 50
Hình 4.23: Viết code đặc tả module 50
Hình 4.24: Lựa chọn top-level cho file 51
Hình 4.25: Bắt đầu phân tích và tổng hợp mạch 51
Hình 4.26: Cửa sổ gán chân 52
Hình 4.27: Thông báo việc biên dịch thành công 53
Hình 4.28: Cửa sổ chạy chương trình trên board 54
Hình 5.1: Sơ đồ thử nghiệm bộ truyền OFDM 55
Hình 5.2: Chú thích thử nghiệm phần phát trên Kit DE2 56
Hình 5.3: Tổng quan về lưu lượng khối phát 58
Hình 5.4: Dữ liệu đầu ra khối S/P và đầu vào khối 16_QAM 59
Hình 5.5: Dữ liệu đầu ra của khối 16_QAM 60
Hình 5.6: Dữ liệu đầu vào và ra phần thực của khối IFFT 60
Hình 5.7: Dữ liệu đầu ra khối Add CP 61
Hình 5.8: Sơ đồ thử nghiệm bộ thu phát OFDM 62
Hình 5.9: Chú thích thử nghiệm thu phát trên Kit DE2 63
Trang 10Hiện thực hóa kĩ thuật OFDM trên FPGA SVTH: Lê Quang Huy
Hình 5.10: Tổng quan về lưu lượng toàn hệ thống 64
Hình 5.11: Dữ liệu đầu ra khối Remove CP 65
Hình 5.12: Dữ liệu đầu ra khối FFT 66
Hình 5.13: Dữ liệu đầu ra của khối demo16_QAM 66
Trang 11Hiện thực hóa kĩ thuật OFDM trên FPGA SVTH: Lê Quang Huy
DANH SÁCH CÁC BẢNG BIỂU
Bảng 1.1: Một số ứng dụng sử dụng kỹ thuật OFDM đã được IEEE chuẩn hóa 5
Bảng 4.1: Dữ liệu gán vào các đường song song 35
Bảng 4.2: Dữ liệu đặt trong bảng tra cho phép điều chế 16_QAM 36
Bảng 5.1:Kết quả đầu vào và đầu ra phía phát và so sánh với matlab 57
Bảng 5.2: Thử nghiệm bộ OFDM với các giá trị khác nhau 63
Trang 12Hiện thực hóa kĩ thuật OFDM trên FPGA SVTH: Lê Quang Huy
DANH SÁCH CÁC TỪ VIẾT TẮT
A
ADC Analog to Digital Convert
DAC Digital to Analog Convert
DFT Discrete Fourier Transform
DIT Decimation-In-Time
DIF Decimation-In-Frequency
DSP Digital Signal Processor
DVB Digital Video Broadcasting
F
FDM Frequency Division Multiplexing
FFT Fast Fourier Transform
Trang 13Hiện thực hóa kĩ thuật OFDM trên FPGA SVTH: Lê Quang Huy
I
ICI Inter Carrier Interference
ISI Inter Symbol Interference
RTL Register Transfer Level
Q
QAM Quadrature Amplitude Modulation
Trang 14Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
CHƯƠNG I: NGUYÊN LÍ VÀ CẤU TRÖC CỦA HỆ THỐNG
OFDM
1.1 GIỚI THIỆU
1.1.1 Lịch sử phát triển
Hệ thống đa truy cập phân chia thời gian (TDMA) và đa truy cập phân chia
mã (CDMA) sẽ gặp khó khăn khi truyền dữ liệu với tốc độ cao ở môi trường truyền dẫn trong thực tế Khi tốc độ ký hiệu (symbol) lớn hơn thời gian trễ của kênh truyền thì hệ thống sẽ bị can nhiễu liên ký hiệu (ISI) Nếu hệ thống sử dụng là đơn sóng mang thì tốc độ ký hiệu trở nên quá ngắn để đáp ứng được tốc độ cao Phương pháp ghép kênh phân chia tần số (FDM) có hiệu quả tốt khi truyền dẫn có tốc độ cao bằng cách truyền dữ liệu trên nhiều luồng song song có tốc độ thấp Tuy nhiên, khi
sử dụng FDM sẽ dẫn đến kém hiệu quả trong việc sử dụng phổ tần Vì vậy, kỹ thuật OFDM đã ra đời nhằm khắc phục các khuyết điểm của FDM truyền thống Kỹ thuật OFDM là kỹ thuật điều chế đa sóng mang trực giao Đây là một trường hợp đặc biệt của phương pháp điều chế đa sóng mang Vì các sóng mang con trực giao với nhau nên cho phép phổ của các sóng mang con có thể chồng lên nhau Vậy, kỹ thuật OFDM cho phép truyền dữ liệu với tốc độ cao và hiệu quả trong việc sử dụng phổ tần
Năm 1950 ý tưởng về hệ thống đa hợp phân chia tần số được đưa ra và ban đầu được phục vụ cho quân sự Năm 1957, Kineplex giới thiệu modem đầu tiên sử dụng đa sóng mang Năm 1966, Chang (Bell Lab) công bố và đăng ký phát minh về OFDM Từ đó OFDM đã trải qua các cột mốc đáng nhớ sau:
Năm 1985: Cimini mô tả hệ thống thông tin di động sử dụng OFDM
Năm 1995: chuẩn đầu tiên dựa trên OFDM ra đời, chuẩn truyền thanh số ETSI Digital Audio Broadcasting - EUreka
Năm 1996: chuẩn truyền hình số mặt đất ETSI DVB-T (DVB-Terrestrial)
Năm 1999: chuẩn mạng cục bộ không dây IEEE 802.11a WirelessLAN
Trang 15Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
Năm 2002: chuẩn IEEE 802.11g WirelessLAN
Năm 2004: chuẩn mạng rộng không dây IEEE 802.16-2004 WMAN (WiMAX) Chuẩn truyền hình số cầm tay ETSI DVB-H (DVB - Handheld) Ứng dụng cho chuẩn mạng cá nhân IEEE 802.15.3a WPAN (MB-OFDM) và WLAN IEEE 802.11n
Năm 2005: Kỹ thuật OFDM được đề nghị ứng dụng trong chuẩn điện thoại di động 3.75G (3GPP & 3GPP2 LTE) - High Speed OFDM Packet Access (HSOPA), mạng máy tính diện rộng không dây IEEE 802.16e-2005, và mạng thông tin thế hệ thứ 4 (4G)
1.1.2 Những đặc điểm cơ bản của OFDM
Kỹ thuật OFDM là chia luồng dữ liệu trước khi phát thành N luồng dữ liệu song song có tốc độ thấp hơn và phát mỗi luồng dữ liệu trên một sóng mang con khác nhau Các sóng mang con này được chọn là trực giao với nhau Việc truyền dữ liệu trên nhiều luồng giúp hệ thống OFDM có hai đặc điểm sau: sử dụng hiệu quả băng thông và dễ thực hiện cân bằng nếu kênh truyền biến đổi chậm.Hình 1.1 trình bày
ví dụ về các sóng mang con trực giao với nhau trong miền thời gian và trong miền tần số
Hình 1.1: Các sóng mang con trong miền thời gian và miền tần số [2]
Trang 16Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
Tìm hiểu bản chất của OFDM, ta xét hệ thống với các băng thông của từng sóng mang con như hình 1.2 Phổ của các sóng mang con (subcarrier) có dạng sin này chồng lấp lên nhau, khoảng cách giữa hai phổ chính bằng độ rộng của mỗi phổ Do các tín hiệu này trực giao với nhau nên khi một phổ đạt cực đại thì tất cả các thành phần còn lại đều bằng „0‟ Đây là các đặc điểm giúp cho OFDM sử dụng hiệu quả băng thông truyền, và các dải con không cần phải có phân cách tần số như ở đa hợp phân chia tần số
Hình 1.2: Phổ trong miền tần số của các sóng mang con trực giao với nhau [2] Các sóng mang con này trực giao nên một symbol OFDM có thể chứa rất nhiều sóng mang con mà không cần phải có khoảng phân cách lớn Nhờ vậy, băng thông được tận dụng hiệu quả như hình 1.3
Hình 1.3: Sóng mang không chồng xung (a) và sóng mang chồng xung (b) [1]
1.2 CÁC ỨNG DỤNG THỰC TẾ CỦA OFDM
1.2.1 Truyền hình số (DVB) và truyền thanh số (DAB)
Các nghiên cứu về hệ thống truyền thanh số (DAB) được thực hiện vào đầu năm 1980 Nghiên cứu chỉ ra rằng các hệ thống này có thể truyền âm thanh thực bằng kỹ thuật OFDM Với thành quả của truyền thanh số, nghiên cứu được tiếp tục với hệ thống truyền hình số mặt đất (DVB) và được chuẩn hóa vào năm 1996 bởi
Trang 17Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
Hiệp hội viễn thông Châu Âu (ETSI) Hiện nay tiêu chuẩn này đã được các nước châu âu và nhiều nước khác trên thế giới thừa nhận.Năm 2001 đài truyền hình Việt Nam đã quyết định chọn nó làm tiêu chuẩn để phát sóng cho truyền hình mặt đất trong những năm tới.DVB là sơ đồ truyền dựa trên tiêu chuẩn MPEG-2,là một phương pháp phân phối từ một điểm tới nhiều điểm video và audio số chất lượng cao có nén.Nó là sự thay thế có tăng cường tiêu chuẩn truyền hình quảng bá tương
tự vì DVB cung cấp phương thức truyền dẫn linh hoạt
1.2.2 Mạng cục bộ không dây IEEE 802.11 a/g/n (WiFi)
WiFi (Wireless Fidelity) đầu tiên được IEEE chuẩn hoá vào năm 1997 và được gọi là 802.11 Chuẩn này hoạt động trong dải tần vô tuyến 2.4Ghz với tốc độ chỉ đạt được là 2Mbps Tốc độ này quá thấp cho các ứng dụng Vì vậy, IEEE đã phát triển các chuẩn mới Năm 1999, các chuẩn 802.11a/b được chấp thuận và sản phẩm thương mại đầu tiên ra đời năm 2001 Các mạng Wifi đã phát triển vượt bậc nhờ giá thành ngày càng giảm, được tích hợp sẵn trong các thiết bị xách tay và nhất
là sự tiện nghi cho người sử dụng khi truy cập mạng mà không cần dây nối Mạng Wifi đã được phát triển thêm rất nhiều chuẩn, trong đó nổi bật là 802.11a, 802.11b, 802.11g và gần đây là 802.11n Trong đó, chuẩn 802.11b sử dụng kỹ thuật trải phổ Các chuẩn còn lại điều sử dụng kỹ thuật OFDM
1.2.3 Mạng máy tính diện rộng không dây IEEE 802.16 (WiMAX)
Chuẩn 802.16 đầu tiên được công bố vào tháng 12 năm 2001, dành cho hệ thống không dây dải rộng cố định điểm – đa điểm (fixed point to multipoint broadband wireless system) hoạt động trong vùng phổ tần đăng ký (licensed spectrum) từ 10 đến 66 GHz WiMax hoạt động tương tự WiFi nhưng ở tốc độ cao
và khoảng cách lớn hơn rất nhiều cùng với một số lượng lớn người dùng Một hệ thống WiMAX gồm 2 phần cơ bản là trạm phát và trạm thu Trạm phát giống như các trạm BTS trong mạng thông tin di động với công suất lớn có thể phủ sóng một vùng rộng tới 8000km2 Trạm thu có thể là các antenna nhỏ như các card mạng cắm vào hoặc được thiết lập sẵn trên mainboard bên trong các máy tính
1.2.4 Truyền thông vô tuyến thế hệ thứ tƣ (4G)
Trong truyền thông thế hệ thứ 4 (4G) các thiết bị di động có khả năng truyền tải các dữ liệu, âm thanh và hình ảnh với chất lượng cao Đồng thời, các nhà thiết kế
kỳ vọng sẽ có thể cho phép các thiết bị di động chuyển vùng (roaming) tự động qua các công nghệ không dây khác nhau Kỹ thuật OFDM cho phép truyền tín hiệu với tốc độ cao, tránh được cả ICI và ISI Vì vậy, kỹ thuật OFDM được dự đoán là công nghệ then chốt của truyền thông vô tuyến thế hệ thứ tư (4G) Song song đó, các kỹ thuật kết hợp với OFDM cũng được nghiên cứu và ứng dụng
Trang 18Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
Bảng 1.1: Một số ứng dụng sử dụng kỹ thuật OFDM đã được IEEE chuẩn hóa [6]
1.3 NGUYÊN LÍ VÀ CẤU TRÖC CỦA HỆ THỐNG OFDM
1.3.1 Nguyên lí của hệ thống OFDM
Tín hiệu OFDM dải gốc sau khi thực hiện ánh xạ chòm sao (QPSK, QAM ) thành các symbol dữ liệu ở dạng phức, các tín hiệu này sẽ được sắp xếp thành từng khối và điều biến trên một nhóm sóng mang con sát nhau Khối sóng mang con này tạo thành một symbol OFDM Tín hiệu OFDM được truyền đi là đa hợp của các luồng dữ liệu này Trong hệ thống OFDM, việc chuyển từ tín hiệu số sang tín hiệu tương tự được hiện bằng bộ biến đổi số sang tương tự (DAC) Ngõ ra bộ ADC là tín hiệu dải gốc Hình 1.4 mô tả nguyên lí của hệ thống OFDM
Hình 1.4: Nguyên lí tạo tín hiệu OFDM đơn giản
1.3.2 Tín hiệu OFDM điều chế
Chuỗi tín
Ánh xạ chòm sao (QPSK, QAM)
Symbol OFDM
Signal OFDM P/S
DAC
Trang 19Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
Tạo một tín hiệu OFDM dựa theo nguyên lí trình bày trên hình 1.5 Dữ liệu đầu vào được chia thành N dòng dữ liệu (N tương ứng với số sóng mang con) song song với tốc độ dữ liệu giảm đi N lần thông qua bộ chuyển đổi nối tiếp sang song song Dòng bit trên mỗi dòng dữ liệu được điều chế cho mỗi sóng mang con bằng các điều chế QPSK, QAM Sau đó các symbol hỗn hợp này được đưa đến đầu vào của khối IFFT Khối này sẽ tính toán các mẫu thời gian tương ứng với các kênh nhánh trong miền tần số Tiếp theo khoảng bảo vệ được chèn vào để giảm nhiễu xuyên kí tự ISI do truyền trên các kênh đa đường Sau khi qua bộ chuyển đổi song song sang nối tiếp tín hiệu cuối cùng là dạng sóng theo thời gian được truyền đi qua kênh
Hình 1.5 Sơ đồ phía phát của hệ thống OFDM [2]
1.3.3 Thực hiện hệ thống OFDM bằng phép biến đổi IFFT/FFT
Biến đổi Fourier ngược rời rạc (IDFT) làm cho việc thực hiện OFDM trở nên
dễ dàng hơn vì DFT/IDFT là công cụ cơ bản đã được thực hiện trên phần cứng và
cả phần mềm Nhằm giảm độ phức tạp của hệ thống, các phép biến đổi DFT/IDFT được thay thế bằng phép biến đổi Fourier rời rạc nhanh FFT/IFFT như hình 1.6
Hình 1.6 Nguyên lí tạo tín hiệu OFDM bằng thuật toán IFFT [1]
Trang 20Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
1.3.4 Khoảng bảo vệ (Guard Interval hay Cyclic Prefix)
Hệ thống sử dụng OFDM gặp hai vấn đề khó khăn Một là khoảng cách giữa các subcarrier nhỏ dẫn đến dễ xảy ra can nhiễu liên sóng mang (ICI) Khó khăn thứ hai là khi các symbol OFDM được truyền liên tiếp, nếu đáp ứng của đường truyền kéo dài sẽ xảy ra can nhiễu liên ký hiệu (ISI) Nếu ta phân cách các symbol OFDM bằng những khoảng zero im lặng thì vấn đề ISI có thể được giải quyết nhưng ICI thì không thể khống chế được Năm 1980, Peled và Ruiz đưa ra ý tưởng dùng đoạn cyclic prefix, lấy một phần dữ liệu cuối chép lên đầu tín hiệu OFDM, nhờ vậy, cyclic prefix có thể giải quyết cả ISI lẫn ICI Việc sử dụng cyclic prefix được minh hoạ ở hình 1.7
Hình 1.7: Tín hiệu với Cyclic prefix [2]
Thông thường khoảng cyclic prefix phải được chọn sao cho lớn hơn thời gian trễ truyền dẫn của kênh truyền và có thể thay đổi nhằm đảm bảo tốc độ truyền tốt nhất Đoạn bảo vệ có ý nghĩa lớn trong việc giải quyết vấn đề ISI và ICI Tuy vậy, khi dùng thêm đoạn cyclic prefix, hệ thống sẽ mất thêm một lượng năng lượng cho cyclic prefix và làm chậm tốc độ truyền
1.3.5 Tín hiệu OFDM giải điều chế
Máy thu OFDM có thể được xem như là gồm nhiều bộ giải điều chế, mỗi bộ
sẽ thực hiện chuyển tín hiệu ở mỗi sóng mang xuống băng gốc và tích phân trên một chu kỳ tín hiệu nhằm khôi phục lại dữ liệu ban đầu Sơ đồ nguyên lý của quá trình giải điều chế một tín hiệu trong kỹ thuật OFDM được mô tả trong hình 1.8
Trang 21Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
Hình 1.8: Sơ đồ phía thu của hệ thống OFDM [2]
Tương tự như phía phát, việc giải điều chế tín hiệu OFDM có thể được thay thế bởi phép biến đổi FFT như hình 1.9
Hình 1.9: Nguyên lí giải điều chế tín hiệu OFDM bằng thuật toán FFT [1]
1.4 ƯU ĐIỂM VÀ NHƯỢC ĐIỂM CỦA HỆ THỐNG OFDM
1.4.1 Ƣu điểm
Kỹ thuật OFDM có thể loại được nhiễu liên ký tự (ISI) bằng cách sử dụng chuỗi bảo vệ Các chuỗi bảo vệ này thường được chọn sao cho dài hơn thời gian trễ lớn nhất của kênh truyền
Kỹ thuật OFDM được ứng dụng hiệu quả trong các hệ thống truyền thông dải rộng vì kỹ thuật này sử dụng hiệu quả phổ tần bằng cách dữ liệu thành các băng con có phổ tần chồng lên nhau Đồng thời, việc chia băng con có khả năng chống lại ảnh hưởng của kênh truyền chọn lọc tần số
Hệ thống OFDM có thể thực hiện đơn giản bằng phép biến đổi IFFT/FFT
Trang 22Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
Khả năng kết hợp với các kỹ thuật khác nhằm tăng chất lượng hệ thống như:
1.5 KÊNH TRUYỀN TRONG HỆ THỐNG OFDM
1.5.1 Tác động của kênh truyền
Kênh truyền AWGN là dạng kênh truyền cơ bản nhất và hiện diện trong hầu hết các hệ thống vì nhiễu Gauss (nhiễu trắng phân bố Gauss) xuất hiện ở tất cả các mạch điện tử và trong các môi trường truyền sóng Đặc trưng của nhiễu Gauss là phân bố đều trong miền tần số nên phổ của nhiễu trải rộng, và nhiễu Gauss là nhiễu cộng Phân bố Gauss có hai tham số chính là trị trung bình (mean) thường bằng 0 và biến trị (variance) đặc trưng cho độ rộng biến thiên quanh trị trung bình
Trên thực tế, sóng vô tuyến truyền từ trạm phát (BS: base station) đến đầu thu
di động (MS: mobile station) sẽ chịu tác động của rất nhiều yếu tố của môi trường làm cho biên độ của tín hiệu thay đổi, hiện tượng này gọi là hiện tượng fading
Hình 1.10 Ảnh hưởng của môi trường lên sự truyền sóng [2]
Trang 23Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
Khi tín hiệu vô tuyến truyền từ BS tới MS, thì sóng thu được tại MS là tín hiệu tổng hợp của các thành phần từ tín hiệu phát đã chịu các tác động của môi trường Hiện tượng shadowing là tín hiệu không thể xuyên qua được vật cản để đến đầu thu,
dù có xuyên được qua vật cản thì sóng cũng mất đi một phần năng lượng gây suy giảm biên độ Diffraction là tín hiệu phản xạ trên bề mặt vật cản và hướng tới MS Scattering là hiện tượng sóng truyền gặp phải vật cản bao gồm nhiều thành phần tương tự nhau và gây ra sự phản xạ liên tiếp làm sóng bị phân tán thành nhiều đường khác nhau Line of sight (LOS): đường truyền thẳng, sóng truyền đi trực tiếp đến đầu thu mà không gặp bất kỳ vật cản nào Nếu đầu thu không đứng yên mà chuyển động có vận tốc tương đối với BS thì sẽ xảy ra hiện tượng Doppler
1.5.2 Cân bằng cho hệ thống OFDM
Trong hệ thống OFDM, dữ liệu ngõ vào thực hiện điều biến để tạo thành tín hiệu dải gốc ở dạng phức sẽ được chuyển từ nối tiếp thành N luồng song song tạo thành symbol OFDM Ta chuyển symbol OFDM thành tín hiệu OFDM bằng phép biến đổi IFFT Theo ý nghĩa của IFFT, ta đã chuyển tín hiệu từ miền tần số sang miền thời gian, và ngõ ra là tín hiệu tổng hợp của N thành phần tuần hoàn
Hiệu quả của kỹ thuật OFDM phụ thuộc vào việc lệch tần số và lệch pha Nếu kênh truyền có hiện tượng Doppler, các bộ PLL, và các mạch dao động ở đầu thu (phần front-end) không thật sự tương đồng với đầu phát hoặc chúng hoạt động có sai số thì các subcarrier sẽ bị lệch tần số Vấn đề thứ hai là ngoài lệch tần số các tác động của kênh truyền và mạch còn gây ra lệch pha (hình constellation bị nghiêng) Vấn đề thứ ba là xung clock của các bộ ADC, DAC ở đầu phát và thu có thể khác nhau làm thời gian kéo dài symbol OFDM khác nhau, do đó cần phải có sự đồng bộ các symbol OFDM Các vấn đề trên đều ảnh hưởng đến khả năng khôi phục dữ liệu truyền nếu không có phương pháp khắc phục
Việc thêm cyclic prefix có thể giải quyết được vấn đề đồng bộ các symbol OFDM Với đoạn cyclic prefix (CP), nếu thời gian trì hoãn của kênh truyền nhỏ hơn đoạn CP Ta có thể đồng bộ symbol OFDM nhờ vào đoạn cyclic prefix Việc đồng
bộ được thực hiện bằng phép tính tương quan để dò ra vị trí bắt đầu của symbol OFDM Sau đó, ta lấy FFT N điểm từ vị trí này, sự lệch pha sẽ được giảm tối thiểu Khi đã đồng bộ được symbol OFDM, vấn đề lệch tần số và lệch pha lúc này có tác động như nhiễu Gauss có thể giải quyết bằng cách tăng khoảng cách giữa các subcarrier Tuy nhiên, kỹ thuật được sử dụng trong đề tài là cài vào các thông tin biết trước tại những subcarrier biết trước trong symbol OFDM, gọi là các pilot
1.5.3 Phương pháp sử dụng pilot
Ở đầu thu, các giá trị pilot được cung cấp cho bộ ước lượng kênh truyền, từ giá trị nhận được và giá trị gốc của pilot ta tính được tác động của kênh truyền tại
Trang 24Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
các vị trí pilot và nội suy ra toàn bộ đáp ứng tần số của kênh truyền cho cả symbol Sau đó, từ tín hiệu nhận được và đáp ứng kênh truyền ta khôi phục lại symbol OFDM gốc Pilot có thể chèn cùng với dữ liệu có ích ở cả miền tần số và miền thời gian như trình bày ở hình 1.11 Tuy nhiên, khoảng cách giữa hai pilot phải tuân theo luật lấy mẫu ở cả miền tần số và miền thời gian
Hình 1.11 Các pilot trong miền thời gian và tần số
Trang 25Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
CHƯƠNG 2: TÌM HIỂU VỀ BOARD MẠCH ALTERA DE2
Linh kiện chính của board DE2 là FPGA Cyclone II EP2C3F672 Đây là linh kiện có tốc độ cao và rất phù hợp để nghiên cứu các hệ thống tích hợp trên chip khả trình trong lĩnh vực viễn thông Đặc điểm nổi bật của các kit dựa trên FPGA là tốc
độ xử lý cao nhờ khả năng thực hiện các phép xử lý song song Các kit này phù hợp trong nghiên cứu và phát triển các tầng vật lý với thời gian trễ ngắn
2.1 TRỌN GÓI CỦA DE2
Cáp USB cho điều khiển và lập trình FPGA
1 CD-ROM chứa các tài liệu về DE2 và tài liệu hỗ trợ bao gồm: Hướng dẫn
sử dụng, các tiện ích Control Panel, các thiết kế và ví dụ tham khảo, chân datasheet của thiết bị, các bài lab cho phòng thí nghiệm
Trang 26Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
1 CD-ROM chứa phần mềm Altera‟s Quartus® II Web Edition và Nios® II Embedded Design Suit Evaluation Edition
Túi 6 chân cao su bọc chân board Gồm cả các chân mở rộng có thể sử dụng
để tạo các đầu nhập xuất kiểm tra thiết bị
Tấm nhựa trong bao phần board mạch
Nguồn DC 9V
2.1.2 Lắp rắp board DE2
Để lắp rắp các chân trong board DE2:
Lắp các đế cao su vào các chân board như hình , lắp đủ 6 chân 6 đế cao su
Tấm nhựa trong dùng để bảo vệ các linh kiện trong mạch, được lắp vào phần trên của board bằng các chân bổ sung và đinh vít
Hình 2.2: Các chân của board DE2 [3]
Trang 27Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
Hình 2.3: Board DE2 [3]
Các phần cứng sau đây được cung cấp trên board DE2:
Thiết bị Altera Cyclone® II 2C35 FPGA
Thiết bị cấu hình nối tiếp Altera - EPCS16
USB Blaster (trên board) cho lập trình và điều khiển API; cả JTAG và Active Serial (AS) đều được hỗ trợ chế độ lập trình
Trang 28Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
Giải mã âm thanh 24-bit chất lượng CD với jack cắm line-in, line-out, và microphone-in
VGA DAC (10-bit tốc độ cao DACs) với kết nối VGA-out
Bộ giải mã TV (NTSC/PAL) và kết nối TV-in
Bộ điều khiển 10/100 Ethernet một kết nối
Bộ điều khiển USB Host / Slave với USB với kết nối loại A và loại B
Bộ thu phát RS-232 và kết nối 9 chân
Kết nối chuột/bàn phím
Bộ thu phát IrDA
Hai đầu 40 chân mở rộng với diode bảo vệ
Ngoài các tính năng phần cứng, Board DE2 có phần mềm hỗ trợ cho các tiêu chuẩn giao diện I/O và một cơ sở bảng điều khiển để truy cập các thành phần khác nhau Ngoài ra, phần mềm được cung cấp đối với một số ví dụ minh họa cho tính năng tiên tiến của Board DE2
2.2.2 Sơ đồ khối của board DE2
Hình 2.3 mô tả sơ đồ khối của board DE2, để cung cấp tính linh hoạt tối đa cho người sử dụng, tất cả các kết nối được thực hiện thông qua thiết bị Cyclone II FPGA Vì vậy, người dùng có thể cấu hình trên FPGA để thực hiện thiết kế bất kì
Trang 29Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
Hình 2.4: Sơ đồ khối của board DE2 [3]
Thiết bị cấu hình nối tiếp và mạch USB Blaster
Thiết bị cấu hình nối tiếp EPCS16 của Altera
USB Blaster trên mạch cho việc lập trình và điều khiển API
8-Mbyte bộ nhớ RAM động đồng bộ tốc độ dữ liệu
Tổ chức theo 1M x 16 bit x 4 bank
Truy cập như bộ nhớ cho bộ vi xử lý Nios II và bảng điều khiển DE2
Trang 30Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
Bộ nhớ Flash
4-Mbyte bộ nhớ flash NOR
8-bit data bus
Truy cập như bộ nhớ cho bộ vi xử lý Nios II và bảng điều khiển DE2
Khe cắm thẻ SD
Cung cấp chế độ SPI và SD 4-bit cho truy cập thẻ SD
Truy cập như bộ nhớ cho bộ vi xử lý Nios II và thẻ SD DE2
Công tắc nút nhấn
4 công tắc nút nhấn
Tạo 1 xung kích hoạt mức thấp khi được nhấn
Công tắc gạt
18 công tắc gạt cho người dùng nhập vào
Công tắc về mức logic 0 khi cần gạt ở vị trí DOWN và ở mức logic 1 khi
cần gạt ở vị trí UP
Xung clock đầu vào
Dao động 50-MHz
Xung clock đầu vào 27-MHz
Xung clock đầu vào mở rộng SMA
Bộ giải mã âm thanh
Bộ giải mã âm thanh Wolfson WM8731 24-bit
Jack cắm đầu âm thanh vào/ra và mic
Tần số lấy mẫu: 8 đến 96 KHz
Các ứng dụng cho máy nghe nhạc MP3 và máy ghi âm, PDA,smartphone
Ngõ ra VGA
Sử dụng ADV7123 140-MHz 10-bit tốc độ cao
Với 15 chân kết nối tốc độ cao D-sub
Trang 31Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
Hỗ trợ độ phân giải lên đến 1600 x 1200 ở mức 100 Hz
Có thể được sử dụng với FPGA Cyclone II để thực hiện một TV mã hóa
Mạch giải mã TV NTSC/PAL
Sử dụng bộ giải mã đa định dạng ADV7180
Hỗ trợ giải điều chế màu NTSC/PAL/SECAM
Hỗ trợ jack đầu vào RCA
Hỗ trợ định dạng số đầu ra (8-bit/16-bit): ITU-R BT.656 YCrCb 4:2:2
Ứng dụng: ghi DVD, TV LCD, TV kỹ thuật số, các thiết bị video di động
Bộ điều khiển Ethernet 10/100
Tích hợp MAC và PHY với một giao diện xử lý chung
Hỗ trợ truyền song công với tốc độ 10Mb/s và 100Mb/s
Hoàn toàn phù hợp với chuẩn IEEE 802.3u
Hỗ trợ tạo checksum và kiểm tra IP / TCP / UDP
Hỗ trợ điều khiển lưu lượng cho truyền bán song công
Bộ điều khiển USB Host/Slave
Hỗ trợ đầy đủ tiêu chuẩn Universal Serial Bus 2.0
Hỗ trợ truyền dữ liệu tốc độ cao và tốc độ thấp
Hỗ trợ cả cổng và thiết bị USB
Hai cổng USB (một loại A cho cổng và một loại B cho thiết bị)
Cung cấp giao diện song song tốc độ cao cho hầu hết các bộ vi xử lí có sẵn
Hỗ trợ lập trình nhập/xuất (PIO) và truy nhập bộ nhớ trực tiếp (DMA)
Trang 32Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
Thu phát IrDA
Chứa một bộ thu phát hồng ngoại 115,2-kb/s
LED 32mA hiện hành
Tích hợp lá chắn EMI
Mắt an toàn loại 1 IEC825-1
Phát hiện xung đầu vào
Diode và điện trở bảo vệ được cung cấp trong 2 đầu này
2.3 MỘT SỐ ỨNG DỤNG CỦA BOARD DE2
Ứng dụng làm TV box
Hình 2.5: TV box [3]
Chương trình vẽ bằng chuột USB (paintbrush)
Trang 33Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
Hình 2.6: Chương trình vẽ (paintbrush) [3]
Máy hát Karaoke và máy chơi nhạc SD
Hình 2.7: Máy hát Karaoke và máy chơi nhạc từ card SD [3]
Trang 34Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
CHƯƠNG 3: TÌM HIỂU NGÔN NGỮ LẬP TRÌNH VHDL
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ô tả phần cứng thì 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
3.1 TỔNG QUAN VỀ NGÔN NGỮ VHDL
VHDL là viết tắt của cụm từ Very High Speed Intergrated Circuit Hardware Description Language - ngôn ngữ mô tả phần cứng cho các mạch tích hợp tốc độ rất cao VHDL là ngôn ngữ mô tả 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ô tả 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
3.2 CÁC ĐẶC ĐIỂM CHÍNH CỦA NGÔN NGỮ 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 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 hoàn toàn độc lập với công nghệ chế tạo
phần cứng Một mô tả hệ thống 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
Trang 35Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
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 và 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 Hơn nữa, 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
3.3 CÁC CẤU TRÖC CƠ BẢN CỦA NGÔN NGỮ VHDL
Các thành phần chính xây dựng trong ngôn ngữ VHDL được chia ra thành năm nhóm cơ bản như sau:
Entity: Trong một hệ thống số, thông thường được thiết kế theo một sự xếp
chồng các Modul, mà mỗi Modul này tương ứng với một thực thể thiết kế (được gọi
là Entity) trong VHDL Mỗi một Entity bao gồm hai phần:
- Khai báo thực thể ( Entity)
- Thân kiến trúc ( Architecture Bodies )
Trang 36Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
Một khai báo Entity được dùng để mô tả giao tiếp bên ngoài của một phần tử (component), nó bao gồm các khai báo các cổng đầu vào, các cổng đầu ra của phần
tử đó Phần thân của kiến trúc được dùng để mô tả sự thực hiện bên trong của thực thể đó
Packages: Các đóng gói chỉ ra thông tin dùng chung, mà các thông tin này
được sử dụng bởi một vài Entity nào đó
Configuration: Định cấu hình, nó cho phép gắn kết các thể hiện của phần tử
cần dùng nào đó của một thiết kế nào đó có dạng một cấu trúc và đưa các thể hiện này vào trong cặp Entity và Architecture Nó cho phép người thiết kế có thể thử nghiệm để thay đổi các sự thực thi khác nhau trong một thiết kế Mỗi một thiết kế dạng VHDL bao gồm một vài đơn vị thư viện, mà một trong các thư viện này được dịch sẵn và cất trong một thư viện thiết kế
3.3.1 Khai báo thực thể (Entity)
Phần khai báo Entity chỉ đưa ra một cái nhìn phía bên ngoài của một phần tử mà không cung cấp thông tin về sự thực hiện của phần tử đó như thế nào Cú pháp khai báo của một Entity như sau:
• [] : Dấu ngoặc vuông chỉ ra các tham số có thể lựa chọn
• | : Dấu gạch đứng hiển thị một sự lựa chọn trong số các lựa chọn khác
• {} : Khai báo một hoặc nhiều các đối tượng, mà các đối tượng này có thể được định nghĩa bởi người dùng
a Khai báo Generic: Dùng để khai báo các hằng mà chúng có thể được dùng để
điều khiển cấu trúc và sự hoạt động của Entity Cú pháp của khai báo này như sau: generic ( constant_name : type [:=init_value]
{;constant_name: type[:=init_value]});
• Ở đây tên hằng constant_name chỉ ra tên của một hằng dạng generic (hằng dùng chung)
Trang 37Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
• Kiểu (Type) được dùng để chỉ ra kiểu dữ liệu của hằng
• Init_value : chỉ ra giá trị khởi tạo cho hằng
b Khai báo cổng ( Port ): Được dùng để khai báo các cổng vào, ra của Entity Cú
pháp của khai báo này như sau:
Port ( port_name : [mode] type [:= init_value]
{; port_name:[mode] type [:=init_value]});
• Port_name được dùng để chỉ ra tên của một cổng, mode chỉ ra hướng vào ra của tín hiệu tại cổng đó Type chỉ ra kiểu dữ liệu của một cổng và init_value chỉ ra giá trị khởi tạo cho cổng đó
• Có bốn mode được sử dụng trong khai báo cổng:
- in: Chỉ có thể được đọc, nó chỉ được dùng cho các tín hiệu đầu vào (chỉ được phép nằm bên phải phép gán)
- out: Chỉ được dùng để gán giá trị, nó chỉ được dùng cho các cổng đầu ra (nó chỉ được nằm bên trái của phép gán)
- inout: Có thể được dùng để đọc và gán giá trị Nó có thể có nhiều hơn một hướng điều khiển (có thể nằm ở bên trái hoặc bên phải phép gán)
- Buffer: Có thể được dùng để đọc và gán giá trị (có thể nằm ở bên trái hoặc bên phải phép gán) Inout là một cổng hai hướng, còn Buffer không có hướng
c Entity_declarative_item : Được dùng để khai báo các hằng, kiểu dữ liệu, hoặc
tín hiệu mà nó có thể được sử dụng trong khi thực hiện của một Entity
3.3.2 Các kiểu kiến trúc (Architecture)
Một kiến trúc đưa ra kết cấu bên trong của một Entity Một Entity có thể có nhiều hơn một kiến trúc, nó chỉ ra quan hệ giữa các đầu vào và đầu ra của một Entity mà quan hệ này được diễn tả theo các thuật ngữ sau:
- Kiểu hành vi hoạt động ( Behavioral )
- Kiểu hoạt động của các luồng dữ liệu ( Dataflow )
- Kiểu cấu trúc ( Structure )
Một kiến trúc xác định chức năng của một Entity Nó bao gồm các phần: Khai báo các các tín hiệu, hằng, khai báo các kiểu, các phần tử, tiếp theo là các phát biểu (lệnh) đồng thời Khai báo một kiến trúc sử dụng cú pháp sau:
Trang 38Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
architecture architecture_name of entity_name is
{ architecture_declarative_part }
Begin
{concurrent_statement} (lệnh đồng thời)
end [ architecture_name ];
a Kiến trúc theo kiểu hành vi hoạt động (Behavioral)
Một kiến trúc kiểu hành vi hoạt động chỉ ra các hoạt động mà một hệ thống riêng biệt nào đó phải thực hiện trong một chương trình, nó giống như việc diễn tả các quá trình hoạt động, nhưng không cung cấp chi tiết mà thiết kế được thực thi như thế nào Thành phần chủ yếu của việc diễn tả theo kiểu hành vi trong VHDL là
process
b Kiến trúc theo kiểu hoạt động của các luồng dữ liệu (Dataflow)
Một kiến trúc kiểu luồng dữ liệu chỉ ra một hệ thống dưới dạng mô tả đồng thời của các luồng điều khiển và dịch chuyển của dữ liệu Nó sử dụng theo mẫu thông
tin hoặc mẫu hoạt động của luồng dữ liệu đó, hoặc mẫu thời gian của các chức năng
logic tổ hợp Chẳng hạn như các bộ cộng, bộ so sánh, bộ giải mã, và các cổng logic nguyên thủy
c Kiến trúc theo kiểu cấu trúc (Structure)
Một kiến trúc kiểu cấu trúc chỉ ra sự thực thi cấu trúc theo dạng sử dụng các khai báo phần tử và các thể hiện của phần tử đó
3.3.3 Các đóng gói (Packages)
Mục đích chính của Package là tập hợp các phần tử có thể bị chia sẻ bởi hai hay
nhiều đơn vị thiết kế (hay các phần tử có thể dùng chung được) Nó có chứa các kiểu dữ liệu, các hằng, các chương trình con có thể dùng chung giữa các thiết kế Một package gồm 2 phần: phần khai báo và phần thân của package, phần khai báo dùng để định nghĩa giao diện cho package, phần than dùng để ấn định các hoạt động
cụ thể của package
a Phần khai báo Package
Một khai báo Package được dùng để cất giữ hàng loạt các khai báo dùng chung, chẳng hạn như các phần tử, các kiểu, các thủ tục, các hàm Các khai báo này có thể nhập vào các đơn vị thiết kế khác bởi việc sử dụng một mệnh đề use
b Phần khai báo thân Package
Sự khác biệt giữa khai báo Package và thân Package có cùng mục đích như khai
báo của một Entity và phần thân kiến trúc Architecture của chúng Cú pháp khai báo của Package như sau:
Trang 39Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
3.3.4 Định cấu hình (Configurations)
Mỗi một Entity bao gồm nhiều kiến trúc khác nhau Trong quá trình thiết kế,người thiết kế có thể muốn thử nghiệm với các sự biến đổi khác nhau của thiết kế bằng việc chọn lựa các kiểu kiến trúc khác nhau Configuration có thể được sử dụng
để cung cấp một sự thay thế nhanh các thể hiện của các phần tử (Component) trong một thiết kế dạng cấu trúc Cú pháp khai báo của Configuration này như sau:
Configuration configuration_name of entity_name is
3.3.5 Các thƣ viện thiết kế (Library)
Kết quả của việc biên dịch VHDL là chúng được cất giữ bên trong các thư viện
để dùng cho bước mô phỏng tiếp theo, điều này giống như việc sử dụng một phần tử
đã được khai báo trong một thiết kế khác Một thư viện thiết kế có thể chứa các đơn
vị thư viện như sau:
- Các đóng gói (PACKAGES)
- Các thực thể Entity
Trang 40Thực hiện hệ thống OFDM trên FPGA SVTH: Lê Quang Huy
- Các kiểu kiến trúc Architectures
- Các phép định cấu hình Configurations
Về cơ bản, tất cả các đối tượng VHDL đều được lưu trong các thư viện Theo định nghĩa, thư viện là một tập hợp các đơn vị thiết kế (design unit) đã được kiểm chứng Work và std là hai thư viện dùng được cho mọi design unit
Hình 3.1: Cấu trúc Library [4]
3.3.6 Các kiểu dữ liệu (Data Types)
- Data types là một yếu tố quan trọng trong VHDL (cũng như trong các ngôn ngữ khác)
• Mỗi một kiểu dữ liệu chỉ cho phép nhận các giá trị trong một dải nhất định
• Mỗi đối tượng (signal, variable, constant, hoặc port) cần phải có kiểu dữ liệu nhất định khi được khai báo (declared)
- VHDL là một ngôn ngữ định kiểu rất chặt chẽ
• Các tín hiệu liên kết với nhau cần phải có cùng kiểu
- Trong VHDL có nhiều kiểu dữ liệu cho phép mô tả phần cứng và kiểm tra lỗi nhằm đảm bảo sự tương thích tín hiệu trong các mô hình lớn và phức tạp
• Cần tuân thủ quy tắc kiểm tra kiểu trong các mô hình cả hành vi (behavioral)
và mức cổng (gate-level)
3.3.7 Liên kết tín hiệu
Có hai phương pháp liên kết các tín hiệu với các cổng tương ứng của chúng
package std_logic_1164 is
package std_logic_arith is
package std_logic_unsigned is
library IEEE
;