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

BÀI THỰC TẬP SỐ 3: XÂY DỰNG HAI HỆ THỐNG NHÚNG ĐỘC LẬP

Một phần của tài liệu THỰC HIỆN MỘT SỐ ỨNG DỤNG NHÚNG NÂNG CAO TRÊN BOARD ALTERA DE2 115 (Trang 68 -80 )

Sinh viên thực hiện:

1. Họ và tên: ... MSSV: ... 2. Họ và tên: ... MSSV: ... Thời gian thực hiện: 4 tiết.

Mục tiêu

Bài thực tập này nhằm mục đích giúp sinh viên tìm hiểu cách xây dựng 2 hệ thống độc lập trên chip FPGA thông qua việc tích hợp 2 hệ thống đã tạo trong lab1 và lab2.

Yêu cầu

Sinh viên dựa vào kết quả đạt được ở 2 bài thực tập trước bao gồm các thao tác thực hiện, code, chương trình để thực hiện xây dựng 2 hệ thống độc lập tương tự trên cùng một chip FPGA. Trong đó:

 Hệ thống thứ nhất có chức năng cộng 2 chữ số thập lục phân như ở lab1 đã xây dựng.

 Hệ thống thứ hai có chức năng giao tiếp, điều khiển LCD 16x2 như ở lab2 đã xây dựng.

Các bước thực hiện 4.3.3.1 Sơ đồ hệ thống

55

4.3.3.2 Các bước thực hiện

Bước 1: Tạo hệ thống mới

 Sinh viên tiến hành tạo project mới tương tự như đã tiến hành ở các bài thực tập trước.

 Sinh viên có thể đặt tên thư mục và tên project tương tự như Hình 4.3.2

Hình 4.3.2 Tạo project mới

Hình 4.3.3 Chọn dòng vi xử lý và chip

Bước 2: Xây dựng hệ thống trên QSys

Sinh viên tiến hành tạo một hệ thống mới tương tự như đã tiến hành ở các bài thực tập trước. Ở bài thực tập này, sinh viên tiến hành xây dựng 2 hệ thống lần lượt như sau:

1. Hệ thống thứ nhất:

 CPU_1: cấu hình sử dụng Nios II Processor Nios II/s, JTAG Debug Module_level2.

 RAM_1: On_Chip Memory có dung lượng 32768 (bytes).

56

 HEX3_0: Parallel Port, mục I/O device chọn Seven Segment Dispalys, mục Seven Segment Digits chọn 3 to 0.

 HEX7_4: Parallel Port, mục I/O device chọn Seven Segment Dispalys, mục Seven Segment Digits chọn 7 to 4.

2. Hệ thống thứ hai:

 CPU_2: cấu hình sử dụng core Nios II processor Nios II/s, JTAG Debug Module-lever 2.

 RAM_2: On_Chip Memory có dung lượng 32768 (bytes).

 LCD: 16x2 Character Displays để mặc định.

Thực hiện nối dây ở cột “Connection” để tạo địa chỉ cho hệ thống vừa tạo:

 Nối tất cả “Clock input” của các thành phần đã tạo với nguồn xung “clk”.

Hình 4.3.4 Kết nối thành phần xung clock

57

Hình 4.3.5 Kết nối thành phần reset

 Nối tất cả các thành phần “Avalon Memory mappel Slave” của RAM_1, SW, HEX3_0, HEX7_4 với “Avalon memory mapple Master” (data_master) của CPU_1 (Hình 4.3.5).

 Nối thành phần “Avalon Memory mappel Slave”của RAM_1 với “Avalon memory mapple Master” (Intruction_master) của CPU_1.

 Nối tất cả các thành phần “Avalon Memory mappel Slave” của RAM_2, LCD với “Avalon memory mapple Master” (data_master) của CPU_2 (Hình 4.3.5).

 Nối thành phần “Avalon Memory mappel Slave”của RAM_2 với “Avalon memory mapple Master” (Intruction_master) của CPU_2.

58

 Ở cột Export: tiến hành nhấp đúp vào hàng tương ứng với extemal_interface của SW, HEX3_0, HEX7_4, LCD để lấy chân thiết bị.

 Các bước còn lại như cấp địa chỉ nền cho hệ thống, lưu file hệ thống với tên nios_sys.qip, biên dịch v. v.. sinh viên thực hiện tương tự như các bài thực tập trước.

Hình 4.3.6 Kết nối thành phần “Avalon Mapped Slave” và lấy chân external_connection

Bước 3: Gán chân hệ thống

 Tương tự như các bài thực tập trước sinh viên thực hiện gán file hệ thống

nios_sys.qip đã tạo ở trên và thư viện

altera_up_character_lcd_communication,

altera_up_character_initialzation cho LCD từ file cài đặt. Sinh viên có thể tham khảo đường dẫn sau trong thư mục đã càu đặt chương trình

59

(C:\altera\11.0sp1\ip\University_Program\Audio_Video\altera_up_valo n_character_lcd\hdl). Chú ý tùy vào file cài đặt được lưu ở đâu mà đường dẫn trên có thể thay đổi.

Hình 4.3.7 Kết quả sau khi add file

 Sinh viên vào Symbol Tool để lấy sơ đồ khối hệ thống (nios_sys) đã tạo ra từ QSys.

Hình 4.3.8 Cửa sổ lấy sơ đồ khối hệ thống

 Sau đó, tiến hành gán chân bằng các công cụ có sẵn trong Pin Tool tương tự như các bài thực tập trước.

60

Hình 4.3. 9 Kết quả sau khi gán chân

 Lưu lại với tên LAB3.bdf, biên dịch kiểm tra đến khi không còn báo lỗi.

 Nạp file LAB3.sof xuống board bằng công cụ Programmer trong menu Tool.

Bước 4: Viết chương trình ứng dụng cho hệ thống

 Mở chương trình Nios II 11.0 Software Buil Tools for Eclipse, chọn đường dẫn nơi lưu trữ phần mềm ứng dụng (Hình 4.3.10).

 Tạo project mới, vào File  New  Nios II Application and BSP from Template (Hình 4.3.11).

 Cửa sổ tiếp theo chọn đường dẫn đến file nios_sys.sopcinfo thiết lập như hình 4.3.12 cho hệ thống thứ nhất.

61

Hình 4.3.11 Tạo ứng dụng mới

Hình 4.3.12 Thiết lập phần mềm cho hệ thống thứ 1.

62

Hình 4.3.13 Thiết lập phần mềm cho hệ thống thứ 2.

Hình 4.3.14 Hai hệ thống vừa tạo xong

 Click phải vào CPU_1_bsp[nios_sys] chọn Properties  Nios II BSP properties và thiết lập như hình 4.3.15.

63

Hình 4.3.15 Thiết lập properties cho CPU_1_bsp

o Mở chương trình hello_world_small.c của CPU_1 xóa chương trình mẫu và gõ đoạn chương trình điều khiển vào và thực hiện các bước biên dịch hệ thống như đã thực hiện ở các bài thực hành trước đây.

o Đoạn chương trình điều khiển: Sinh viên sử dụng code của Lab1

64

Hình 4.3.17 Nạp chương trình ứng dụng xuống phần cứng.

o Ở cửa sổ Run Cofigurations ta thiết lập như hình (Hình 4.3.16) và (Hình 4.3.17).

65

Hình 4.3.19 Nạp chương trình ứng dụng xuống phần cứng.

Bước 5: Demo hệ thống

 Sau khi đã biên dịch và nạp thành công tất cả các quá trình trên, tiến hành chạy thử để kiểm tra chương trình.

o Đối với hệ thống thứ nhất: tiến hành thực hiện thử các phép toán để kiểm tra xem đúng với mục tiêu đề ra hay chưa.

Ví dụ: 0x01 + 0x03 = 0x04 o Đối với hệ thống thứ 2:  Thay các chuỗi :  Text1 = HUYENTRAN_1118031  Text2 = YENNHI_1117997  Text3 = TRAN  Text4 = NHI

 Sau đó quan sát kết quả thu được trên màn hình LCD.

Kết quả đạt được

 Chương trình đã tích hợp được cả 2 hệ thống ở lab 1 và lab 2 trên cùng một chip FPGA với 2 vi xử lí hoàn toàn độc lập nhau.

 Kết quả hiển thị của bài thực tập này là kết quả tổng hợp của 2 bài thực tập sinh viên đã thực hiện trước đó.

66

Một phần của tài liệu THỰC HIỆN MỘT SỐ ỨNG DỤNG NHÚNG NÂNG CAO TRÊN BOARD ALTERA DE2 115 (Trang 68 -80 )

×