Final ProjectHWSW

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 50

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.

HCM
KHOA ĐIỆN -ĐIỆN TỬ

----- -----

MÔN HỌC: THIẾT KẾ KẾT HỢP HW/SW


BÁO CÁO CUỐI KỲ

THIẾT KẾ BỘ LỌC FIR

GVHD: PGS.TS Phan Văn Ca


SVTH:
1. Trần Đức Doãn 20119330
2. Nguyễn Tùng Lâm 20119354
3. Bùi Quang Huy 20119343

Thành phố Hồ Chí Minh, tháng 5 năm 2023


Contents
CHƯƠNG I: GIỚI THIỆU.........................................................................................................................2
CHƯƠNG 2: TỔNG QUAN.......................................................................................................................3
2.1 Cơ sở lý thuyết...................................................................................................................................3
2.1.1 Tổng quan bộ lọc FIR.................................................................................................................3
2.1.2 Thiết kế bộ lọc FIR......................................................................................................................3
2.3 Cơ sở phần mềm................................................................................................................................7
CHƯƠNG 3: THIẾT KẾ............................................................................................................................8
3.1. Giới thiệu...........................................................................................................................................8
3.2. Thực thi thiết kế................................................................................................................................8
3.3. Kết quả thiết kế...............................................................................................................................42
3.3.1. Sơ đồ khối.................................................................................................................................42
3.3.2. Chức năng các khối..................................................................................................................42
CHƯƠNG 4: KẾT LUẬN.........................................................................................................................49

1
CHƯƠNG I: GIỚI THIỆU
Các ngành kinh tế đã ứng dụng các công nghệ vào hầu hết các giai đoạn để có được sự
thành công như hiện nay. Đặc biệt hơn hết đó là ứng dụng công nghệ vào các lĩnh vực
quản lý có hệ thống như bến xe, siêu thị, nhà sách, công ty, ngân hàng, ký túc xá, nhà
hàng…Với việc ứng dụng xử lý tín hiệu số trong các hệ thống giúp việc thực thi các hệ
thống này dễ dàng giúp tăng hiệu quả và tính chính xác, giúp tiết kiệm thời gian và nâng
cao chất lượng cuộc sống con người.

Bộ lọc FIR (Finite Impulse Response) đóng vai trò quan trọng trong lĩnh vực xử lý tín
hiệu và hệ thống điện tử. Thiết kế một bộ lọc FIR hiệu quả đòi hỏi sự chú ý đặc biệt đối
với các vấn đề quan trọng, nhằm đảm bảo hiệu suất và đáp ứng đúng yêu cầu của hệ thống.
Chúng ta sẽ đi qua các vấn đề cần xem xét trong thiết kế bộ lọc FIR và ứng dụng của
chúng trong xử lý tín hiệu.

Báo cáo này trình bày về việc thiết kế và triển khai một bộ lọc FIR trong phương pháp
kết hợp phần cứng và phần mềm (HW/SW). Mục tiêu là phát triển một bộ lọc FIR hiệu
quả và linh hoạt có thể triển khai trong cả phần cứng và phần mềm. Báo cáo tóm tắt mục
tiêu, phương pháp và kết quả của dự án, đồng thời giới thiệu các thành phần và công nghệ
sử dụng. Kết hợp phần cứng và phần mềm cho phép tận dụng ưu điểm của cả hai và đáp
ứng yêu cầu về hiệu suất và cấu hình linh hoạt. Báo cáo cũng đề cập đến thách thức và cải
tiến tiềm năng. Tổng thể, dự án này nhằm chứng minh lợi ích của việc kết hợp phần cứng
và phần mềm trong thiết kế bộ lọc FIR và trình bày một giải pháp linh hoạt và hiệu suất
cao.

2
CHƯƠNG 2: TỔNG QUAN
2.1 Cơ sở lý thuyết

2.1.1 Tổng quan bộ lọc FIR

Trong xử lý tín hiệu, bộ lọc đáp ứng xung hữu hạn (FIR) là bộ lọc có đáp ứng xung
(hoặc phản hồi đối với bất kỳ đầu vào có độ dài hữu hạn nào) có thời lượng hữu hạn, bởi
vì nó ổn định bằng 0 trong hữu hạn thời gian. Điều này trái ngược với các bộ lọc đáp ứng
xung vô hạn (IIR), có thể có nội bộ phản hồi và có thể tiếp tục phản hồi vô thời hạn
(thường là phân rã).

Đáp ứng xung của bộ lọc FIR thời gian rời rạc bậc N kéo dài trong N + 1 mẫu và
sau đó ổn định về không. Bộ lọc FIR có thể là rời rạc hoặc liên tục, kỹ thuật số hoặc tương
tự.

Hình 2.1. Cấu trúc một bộ lọc FIR đơn giản

2.1.2 Thiết kế bộ lọc FIR


Nhóm sẽ thiết kế một bộ lọc FIR để loại bỏ âm thanh tần số 4 KHz được thêm vào
âm nhạc chất lượng CD (48 KHz). Đặc điểm của bộ lọc như sau:

 Tần số lấy mẫu (FS): 48.000 Hz

 Dải tần số cho qua (FPASS1): 0 - 2.000 Hz

 Dải tần số dừng 1 (FSTOP1): 3.800 Hz - 4.200 Hz

 Dải tần số dừng 2 (FSTOP2): 5.800 Hz - 6.000 Hz


3
 Dải tần số cho qua 2 (FPASS2): 0 - 6.000 Hz

 Độ biến dạng dải cho qua 1 (APASS1): 1 dB

 Độ biến dạng dải cho qua 2 (APASS2): 1 dB

 Độ suy giảm dải dừng (ASTOP): 60 dB

Nhóm sẽ phát triểm một lõi ngoại vi cho bộ lọc đã thiết kế có thể khởi tạo trong một hệ
thống vi xử lý. Hệ thống vi xử lý sẽ thu âm luồng âm nhạc stereo bằng cách sử dụng vi
mạch CODEC và điều khiển I2C trên bo mạch. Sau đó, âm thanh thu được sẽ được xử lý
thông qua bộ lọc FIR đã thiết kế (bộ lọc bandstop) để loại bỏ âm thanh tần số 4 KHz. Cuối
cùng, âm thanh đã được lọc sẽ được đưa ra tai nghe.

2.2 Cơ sở phần cứng

ZYBO (ZYnq BOard) là một nền tảng phát triển mạch kỹ thuật số và phần mềm
nhúng cấp cơ bản, giàu tính năng, sẵn sàng sử dụng, được xây dựng xung quanh
thành viên nhỏ nhất của dòng Xilinx Zynq-7000, Z-7010. Z-7010 dựa trên kiến trúc
hệ thống trên chip có thể lập trình tất cả (AP SoC) của Xilinx, tích hợp chặt chẽ bộ
xử lý ARM Cortex-A9 lõi kép với logic Mảng cổng lập trình trường (FPGA) series
7 của Xilinx. Khi được kết hợp với bộ thiết bị ngoại vi đa phương tiện và kết nối
phong phú có sẵn trên ZYBO, Zynq Z-7010 có thể lưu trữ toàn bộ thiết kế hệ thống.
Bộ nhớ tích hợp, I/O video và âm thanh, USB vai trò kép, Ethernet và khe cắm SD
sẽ giúp thiết kế của bạn sẵn sàng hoạt động mà không cần phần cứng bổ sung.
Ngoài ra, sáu cổng Pmod có sẵn để đưa bất kỳ thiết kế nào vào con đường phát triển
dễ dàng.

4
Hình 2.2. Cấu trúc của board Zynq

5
Chức năng của Zynq-700 ARM/FPGA SoC Trainer Board:
 Lập trình JTAG trên bo mạch và bộ chuyển đổi UART sang USB.
 Bộ chuyển đổi tương tự sang số trên
chip. Thông số kĩ thuật chính của FPGA:
 Part Number: XC7Z010-1CLG400C.
 Logic Cells: 4.400 logic slices (4-6 ngõ vào LUTs và 8 flip-flops).
 Block RAM: 240KB.
 DSP Slices: 80.
 DDR: 512 MB với băng thông 1050Mbps.
 Internal Clock: 450 MHz+.
Khả năng kết nối và I/O trên bo
mạch:
 Trình kết nối Pmod: 6 cổng Pmod.
 Âm Thanh: Bộ giải mã âm thanh với đầu ra tai nghe, micro và
giắc đầu vào.
 Kết nối mạng: Gigabit Ethernet USB 2.0.
 SD: Khe cắm thẻ nhớ microSD.
 Video: Cổng HDMI vai trò kép, cổng VGA 16 bit.
 Switch: 4.
 Nút nhấn: 6.
 Đèn led: 5.
 Nguồn: USB, 5V.
 Mức logic: 3.3V.
 Chiều rộng: 3.3 inch (88 mm).
 Chiều dài: 4.8 inch (122 mm).

6
2.3 Cơ sở phần mềm

Sử dụng 2 công cụ chính của Xilinx để thực thi thiết kế:

Vivado HLS là công cụ tổng hợp cấp cao (HLS) Xilinx được dùng để chuyển đổi
một đặc tả ngôn ngữ C thành một triển khai mức thanh ghi RTL.

Vivado Design Suite là bộ phần mềm do Xilinx sản xuất được dùng tổng hợp và
phân tích các thiết kế HDL.

7
CHƯƠNG 3: THIẾT KẾ
3.1. Giới thiệu

Hình 3.1: Sơ đồ khối thiết kế

Hoạt động của thiết kế:

Âm thanh từ nguồn thu sẽ được đưa qua bộ lọc để loại bỏ các tần số không mong
muốn sau đó đi qua bộ Audio Codec để chuyển đổi từ Analog thành Digital, sau đó
phát qua nguồn âm thanh ra.

3.2. Thực thi thiết kế.

3.2.1. Giới thiệu.

Thiết kế này để tạo bộ chuyển đổi IP-XACT từ thiết kế sử dụng Vivado HLS và sử
dụng bộ diefu hợp IP-XACT được tạo trong hệ thống bộ xử lí sử dụng IP Integrator
trong Vivado.

3.2.2. Mục tiêu

Sau khi hoàn thành, bạn sẽ có thể:

8
• Hiểu các bước và chỉ thị liên quan đến việc tạo bộ điều hợp IP-XACT từ một tổng
hợp thiết kế trong Vivado HLS.

• Tạo hệ thống bộ xử lý bằng bộ tích hợp IP in vivado.

• Tích hợp bộ chuyển đổi IP-XACT được tạo vào hệ thống bộ xử lý.

3.2.3. Các bước thực hiện

Chúng ta sẽ thực hiện các bước theo sơ đồ sau:

Hình 3.2 Trình tự thiết kế.

Bước 1: Tạo 1 project mới với Vivado HLS targeting XC7Z010CLG400-1(Zybo).

+ Khởi động Vivado Hls

+ Chọn Create New Project, 1 Vivado HLS project mới sẽ mở

+ Click vào Browse, điều hướng đến thư mục lab4, sau đó chọn OK

+ Đặt project name thành fir.prj

9
+ Click Next

+ Tại Add/remove Files, chúng ta add file fir và fir_coef.dat từ


E:/hwsww/Project/lap4, với TOP FUNCTION ta nhập fir, nhấp Next

+ Ta tiếp tục add file fir_test.c từ: lab4 , click NEXT

+ Tại Solution Configuration, ta chọn solution1, clock period là 8, Uncertainly là 1

+ Nhấp vào part’browse, chọn theo sau đây:

Family: Zynq

Sub-Family: Zynq

Package: clg400

Speed Grade: -1

Part: xc7z010clg400-1

10
+ Nhấp vào Finish

Bạn sẽ thấy dự án được tạo trong chế độ xem Explorer

11
+ Nhấp chuột vào fir.c

+ Nhấp chuột vào fir.h ở outline tab

12
+ Bấm đúp vào FIR_TEST.C trong thư mục TestBench để mở nội dung của nó trong
thông tin khung.

Bước 2: RUN C SIMULATION để quan sát ngõ ra mong đợi


13
+ Chọn project>Run C Simulation click ok

TestBench sẽ được biên dịch bằng trình biên dịch APCC và tệp csim.exe sẽ được tạo.
Các CSIM.exe sau đó sẽ được thực thi và đầu ra sẽ được hiển thị trong chế độ xem
console

Bước 3: Sythesize the Design

+ Chọn: Solution> Run C Sythesis> Active Solution

Khi hoàn thành tổng hợp, một số tệp báo cáo sẽ có thể truy cập được và tổng hợp.

Kết quả sẽ được hiển thị trong khung thông tin.

14
Báo cáo tổng hợp cho thấy các ước tính về hiệu suất và tài nguyên cũng như ước tính

Độ trễ trong thiết kế.

Báo cáo cũng cho thấy các tín hiệu giao diện cấp cao nhất được tạo bởi các công cụ.

+ Thêm PIPELINE directive to loop and re-synthesize

+ Chọn Directive tab, và áp dụng Pipeline cho loop

15
+ Chọn Solution>Run C Synthesis>Active Solution

Khi hoàn thành tổng hợp, kết quả tổng hợp sẽ được hiển thị trong ngăn thông tin.

Bước 4: Run RTL/C CoSimulation

+ Chọn Solution>Run C/RTL Cosimulation

Hộp C/RTL Cosimulation sẽ xuất hiện

+ Nhấp OK

16
Các đồng mô phỏng sẽ chạy, tạo và biên dịch một số tệp, sau đó mô phỏng thiết kế.

Trong cửa sổ bảng điều khiển, bạn có thể thấy tiến trình. Khi hoàn thành, báo cáo mô
phỏng RTL hiển thị rằng nó đã thành công và độ trễ được báo cáo là 62.

Bước 5: SETUP IP-XACT Adapter

+ Chọn Directive tab.

+ Nhấp chuột phải vào x, chọn Insert Directive.


+ Trong hộp thoại Vivado HLS Ligit Director Editor, chọn INTERFACE bằng nút
thả xuống.

+ Nhấp chuột vào mode(optional), chọn s_axilite.

+ Tại bundle, nhập fir_io và nhấp OK.

17
+ Làm tương tự với y:

+ Làm tương tự với fir

18
Bước 6: Tạo IP-XACT Adapter

+ Chọn Solution>Run C Synthesis> Active Solution

19
+ Chọn Solution>Export RTL để mở dialog box

+ Nhấp OK

Khi chạy hoàn thành, hãy mở rộng thư mục Impl trong chế độ xem Explorer và quan
sát nhiều thư mục đã tạo ra; IP, Misc, Verilog và VHDL …

20
+ Close Vivado HLS bằng cách nhấn File>Exit

Bước 7: Tạo Vivado Project

7.1 Khởi chạy Vivado Tcl Shell và chạy tập lệnh tcl được cung cấp để tạo hệ
thống ban đầu trên Zedboard (xc7z020clg484-1) hoặc Zybo (xc7z010clg400-1).

+ Khởi động cửa sổ lệnh Vivado 2017.4 Tcl Shell lên và điều hướng đến thư mục lab4

+ Gõ lệnh sau để tạo một hệ thống ban đầu có các thiết bị ngoại vi zed_audio_ctrl và
GPIO:

source zed_audio_project_create.tcl (ZedBoard) hoặc

source zybo_audio_project_create.tcl (Zybo)


21
Sau đó hệ thống sẽ được khởi tạo, cửa sổ project hiện ra.

7.2 Thêm HLS IP vào IP Catalog

+ Trong bảng điều khiển Flow Navigator, chọn Settings bên dưới Project Manager

+ Bảng Project Settings hiện ra, chọn mục IP bên trái

22
+ Ta sẽ nhấn vào nút ‘+’ màu xanh và chỉ theo đường dẫn sau lab4\fir.prj\solution1\
impl\ip sau đó nhấn Select. Sau đó nhấn OK để đóng cửa sổ Settings.

7.3 Khởi tạo lõi fir_top hai lần vào hệ thống xử lý

+ Ta nhấp chuột vào biểu tượng Add IP (+) và tìm kiếm bằng cách gõ ‘Fir’, sau đó
nhấp đúp chuột vào Fir để tạo một phiên bản cho nó.

23
IP đã thêm có logo HLS cho biết IP này được tạo bởi Vivado HLS.

+ Chọn vào IP vừa tạo và thay đổi tên của nó thành fir_left bằng cách gõ vào trường
Name trong Block Properties.

24
+ Tương tự thêm một IP khác và đặt tên là fir_right.

+ Nhấp chọn Run Connection Automation

25
+ Cửa sổ Run Connection Automation, chọn All Automation.

+ Sau đó nhấn OK để thiết lập kết nối cho 2 FIR

26
7.4 Bật các cổng ngắt PS-PL >cổng IRQ_F2P. Thêm một phiên bản của concat IP
với hai cổng đầu vào bit đơn. Kết nối cổng đầu vào với cổng ngắt của hai phiên
bản FIR và cổng đầu ra với cổng IRQ_F2P của phiên bản processing_system7_0.

+ Ta nhấp đúp chuột vào IP processing_system7_0 để mở biểu mẫu tuỳ chỉnh

+ Chọn vào Interrupt ở phần bên trái và tích chọn vào ô Fabtic Interrupts.

+ Mở rộng mục Fabtic Interrupts > PL-PS Interrupt Ports và tích chọn vào ô
IRQ_F2P[15:0].

27
+ Thêm một concat IP

+ Kết nối cổng ngắt của mỗi phiên bản FIR với 2 đầu vào của xlconcat_0

+ Kết nối cổng đầu ra của xlconcat_0 với cổng IRQ_F2P của processing_system7_0

Sau khi hoản tất các kết nối trên ta sẽ được một thiết kế như hình bên dưới.

28
7.5 Xác minh địa chỉ và xác nhận thiết kế. Tạo tệp system_wrapper và thêm các
ràng buộc thiết kế Xilinx (XDC) được cung cấp.

+ Nhấp chọn vào mục Add Editor bên cạnh Diagram và mở rộng đến
processing_system7_0 > Data.

Các địa chỉ của các IP mà chúng ta đã tạo sẽ được hiển thị ở đây như hình bên dưới

+ Chạy Design Validation bằng cách vào Tool > Validate Design để xác nhận không
có bất kì lỗi nào.

29
+ Trong giao diện Sources, ta nhấp chuột phải vào system (system.bd) và chọn
Create HDL Wrapper để cập nhật file HDL wrapper.

+ Nhấp vào Add Sources ở Project Manager, cửa sổ hiện ra ta chọn Add or Create
Constraints và cuối cùng là nhấn Next.

30
+ Tiếp theo ta sẽ nhấn vào biểu tượng dấu ‘+’ màu xanh để thêm file, trỏ đường dẫn
đến thư mục lab4, chọn zed_audio_constraints.xdc hoặc
zybo_audio_constraint.xdc. Cuối cùng là tích chọn Copy constraints files into
projetc và Finish để hoàn tất thêm file.

31
+ Nhấp chọn Generate Bitstream trong mục Program and Debug để chạy tổng hợp,
triển khai và tạo bitstream.

+ Lần lượt chọn Save, Yes, OK để bắt đầu tiến trình.

Khi quá trình tạo bit hoàn tất, một hộp lựa chọn sẽ hiển thị với tuỳ chọn Open
Implemented Design được chọn. Nhấp chọn Cancel.
Bước 8: Export sang SDK và tạo một Application Project

+ Chọn File > Export > Export Hardware

32
+ Tích chọn Include Bitstream và nhấn OK, để mặc định tại local project.

33
+ Chọn File > Launch SDK >OK

+ Trong SDK, chọn File > New > Board Support Package> Finish

34
+ Nhấn Ok để tạo mặc định.

35
+ Nhấn OK tạo mặc định standalone_bsp_0 software platform mà không thêm thư
viện hỗ trợ.

+ Chọn File > New > Application Project.

36
+ Nhập TestApp là Project Name, và Board Support Package thì chọn Use Existing

37
+ Chọn Next, chọn Empty Application nhấn Finish.

38
+ Chọn TestApp folder, click chuột phải vào src folder, chọn Import.

39
+ Mở thư mục Expand General và nháy đúp vào File System. Truy xuất đến c:\xup\
hls\labs\lab4 folder và nhấn OK.

+ Chọn cả zybo_testapp.c và zybo_audio.h và nhấn Finish để thêm file vào project.

40
+ Thêm thành công.

41
3.3. Kết quả thiết kế

3.3.1. Sơ đồ khối

Hình 3.16: Sơ đồ khối tổng thể sau khi thêm bộ lọc FIR

3.3.2. Chức năng các khối

 Processor System Reset

42
Hình 3.17: Khối Processor System Reset

Khối Reset Controller có chức năng quản lý và điều khiển tín hiệu reset của hệ
thống, đảm bảo tính tin cậy của hệ thống trong quá trình khởi động và hoạt động.
Chức năng của khối Reset Controller bao gồm:

- Tạo tín hiệu Reset Reset Controller :nhận diện tín hiệu reset và tạo ra tín hiệu reset
nội bộ để đặt hệ thống về trạng thái ban đầu.

- Quản lý việc áp dụng tín hiệu reset cho các thành phần trong hệ thống, đảm bảo rằng
các thành phần trong hệ thống được đặt lại và chuẩn bị cho hoạt động sau khi reset.

- Đồng bộ hoạt động: Khối Reset Controller giúp đồng bộ hoạt động của các thành
phần trong hệ thống sau khi reset.

- Cấu hình reset: cấu hình các tham số liên quan đến tín hiệu reset, chẳng hạn như thời
gian delay trước khi áp dụng reset hoặc cách kích hoạt tín hiệu reset.

AXI Interconnect

AXI Interconnect giúp kết nối và truyền dữ liệu giữa các thành phần và module
khác nhau trên bo mạch. Chức năng của AXI Interconnect bao gồm:

- Nhận tín hiệu và dữ liệu từ nhiều nguồn khác nhau và kết hợp chúng thành một
dòng tín hiệu và một kênh dữ liệu duy nhất để truyền đến module tiếp theo. Ngược lại,
khi nhận dữ liệu từ module tiếp theo, AXI Interconnect sẽ demultiplex (phân tách)
dòng tín hiệu và kênh dữ liệu thành các tín hiệu và dữ liệu riêng biệt để gửi tới các
đích tương ứng.

- Định tuyến (Routing): quản lý việc định tuyến dữ liệu từ nguồn tới đích chính
xác trong hệ thống, xác định đường dẫn tối ưu để truyền dữ liệu giữa các module,
giảm thiểu thời gian truyền và tối ưu hóa băng thông hệ thống.

-Kiểm soát việc truyền dữ liệu và đảm bảo tính toàn vẹn của dữ liệu khi truyền
qua các kênh, kiểm tra lỗi và xử lý các trường hợp đặc biệt như xung đột, đợi và lỗi tài
nguyên.

43
- Đồng bộ hoá: AXI Interconnect đảm bảo đồng bộ hoạt động giữa các module
trong hệ thống. Nó sử dụng tín hiệu đồng hồ và tín hiệu đồng bộ để đảm bảo rằng dữ
liệu được truyền đi và nhận về đúng thời điểm và trong đúng trạng thái đồng bộ.

Hình 3.19: Khối AXI Interconnect

ZYNQ7 Processing System

Khối ZYNQ-7 Processing System trong bo mạch Zybo Z7010 là một khối hệ
thống mạnh mẽ và đa chức năng, bao gồm một vi xử lý ARM Cortex-A9 và một phần
FPGA (Field Programmable Gate Array). Chức năng của khối ZYNQ-7 Processing
System bao gồm:

- Vi xử lý (Processor): chứa một hoặc nhiều vi xử lý ARM Cortex-A9, được sử dụng


để thực hiện các nhiệm vụ xử lý ứng dụng chủ đạo trên hệ thống, chẳng hạn như quản
lý hệ điều hành, thực thi mã, xử lý tác vụ đa luồng và quản lý bộ nhớ.

- FPGA (Field Programmable Gate Array): Khối ZYNQ-7 Processing System kết hợp
một phần FPGA, cho phép tùy chỉnh phần cứng theo yêu cầu cụ thể. FPGA cung cấp

44
khả năng linh hoạt và tùy chỉnh cao, cho phép thực hiện các chức năng xử lý tùy chỉnh
và tăng hiệu suất trong các ứng dụng cụ thể.

- Hỗ trợ các giao thức giao tiếp phổ biến như AXI , UART , I2C , SPI, Ethernet, USB
và các giao tiếp khác giúp kết nối và giao tiếp với các thiết bị ngoại vi và hệ thống
khác trong một ứng dụng.

- Quản lý bộ nhớ phần cứng

- Hỗ trợ các hệ điều hành như Linux và FreeRTOS, cho phép chạy các ứng dụng phức
tạp và hệ thống điều khiển thời gian thực.

- Điều khiển nguồn và quản lý tiêu thụ điện

Hình 3.20: Khối ZYNQ7 Processing System

45
Hình 3.21: Cấu hình cho PS part

Chức năng khối zybo_audio_ctrl_0

Hỗ trợ giao tiếp đơn giản I2S dựa trên chuyển đổi âm thanh DAC/ADC.

Khối zybo_audio_ctrl_0 là một khối điều khiển âm thanh trên bo mạch Zybo Z7010,
được sử dụng để điều khiển giao tiếp âm thanh giữa bo mạch và các thiết bị âm thanh
khác. Chức năng bao gồm:

- Giao tiếp âm thanh: sử dụng để giao tiếp âm thanh giữa bo mạch Zybo Z7010 và các
thiết bị âm thanh khác

- Xử lý âm thanh số, bao gồm chuyển đổi số - analog (DAC) và chuyển đổi analog -
số (ADC), xử lý các tín hiệu âm thanh và điều chỉnh chất lượng âm thanh.

- Điều khiển âm lượng của âm thanh được phát ra hoặc thu âm, chỉnh mức âm thanh
phù hợp với nhu cầu sử dụng.

46
Hình 3.22: Chức năng khối zybo_audio_ctrl_0

AXI GPIO

Khối AXI GPIO (General-Purpose Input/Output) trên bo mạch Zybo Z7010 là một
khối giao tiếp GPIO được sử dụng để kết nối và điều khiển các thiết bị đầu vào/đầu ra
thông qua giao thức AXI (Advanced eXtensible Interface). Chức năng chính của khối
AXI GPIO cho phép kết nối và điều khiển các thiết bị đầu vào/đầu ra thông qua giao
thức AXI, cung cấp các chức năng điều khiển GPIO linh hoạt và tích hợp sẵn trên bo
mạch, tạo điều kiện thuận lợi cho việc tương tác với các thành phần ngoại vi trong hệ
thống.

Hình 3.25: Khối AXI GPIO

47
Khối concat: là một khối logic đơn giản được sử dụng để ghép nối các tín hiệu đầu
vào thành một tín hiệu đầu ra duy nhất. Nó được sử dụng để kết hợp các tín hiệu số
hoặc tín hiệu điều khiển trong hệ thống FPGA.

Hình 3.26: Khối Concat

48
CHƯƠNG 4: KẾT LUẬN
Về quy trình thiết kế, nhóm đã hoàn thành thực hiện khảo sát, kiểm tra, so sánh,
đánh giá thiết kế. Về phần mềm, nhóm đã sử dụng Xilinx HLS để thực hiện tổng hợp
và thực thi dựa trên các IP có sẵn. và sử dụng được các công cụ hỗ trợ như Tools
Command Language và SDK để biên dịch chương trình C.

Có thể nói rằng FPGA là một công nghệ hiện đại và phù hợp trong việc nghiên
cứu các sản phẩm SOC, do đó sẽ có nhiều vấn đề cần tìm hiểu hơn để có thể làm chủ
được công nghệ này. Vì vậy trong thời gian tới nhóm sẽ tiếp tục tìm hiểu thêm về các
dự án có sẵn từ những người nghiên cứu trước với mục tiêu sẽ tự thiết kế được một
sản phẩm hoàn chỉnh tận dụng sức mạnh mà FPGA mang lại.

49

You might also like