1. Trang chủ
  2. » Cao đẳng - Đại học

Hệ thống nhúng slide b4

24 43 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 1,52 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

data_master: kết nối với các chân slave của bộ nhớ và ngoại vi instruction_master: kết nối với slave của bộ nhớ Bộ nhớ on-chip 13:21:53... Bài 4 1513:21:53Đặt tên lại cho các Component:

Trang 1

1 Hệ thống nhúng trên DE-2.

2 Thiết kế phần cứng cho kit DE-2 dùng Qsys.

3 Tích hợp phần cứng vào Quartus Project.

4 Thiết kế phần mềm dùng Nios II Software.

5 Các ngoại vi cơ bản: công tắc nhấn, LCD, …

BÀI 4: THIẾT KẾ HỆ THỐNG

NHÚNG TRÊN KIT DE-2

1 Bài 4

13:15:17

13:15:17

Trang 3

Bài 4 5

CPU Nios II

13:21:53

clk, reset_n: nối với clk và reset của nguồn xung clock.

data_master: kết nối với các chân slave của bộ nhớ và ngoại vi

instruction_master: kết nối với slave của bộ nhớ

Bộ nhớ on-chip

13:21:53

Trang 4

Bài 4 7

Ngoại vi

13:21:53

clk: nối với clk của nguồn xung clock.

reset: nối với reset của nguồn xung clock

s1: kết nối với data của CPU Nios II.

external_connection: kết nối với các chân của kit DE-2

Kiểm tra

13:21:53

Trang 7

Bài 4 13

Nguồn xung clock có sẵn của hệ thống:

Bổ sung CPU Nios II:

- Double-click vào Nio II Processsor.

- Chọn Nios II core là Nios II/e.

- Nhấn Finish.

13:21:53

13:21:53

Bổ sung on-chip memory 32KB:

Bổ sung PIO input 2 bit (SW) và PIO output 8 bit (Led):

Trang 8

Bài 4 15

13:21:53Đặt tên lại cho các Component:

click chuột phải vào Component,

chọn Rename

13:21:53Kết nối các chân của các Component:

- Clk của clk_main với clk của các

- Instruction_master của CPU Nios II

với slave (s1) của memory (RAM) Back >>

Trang 9

Bài 4 17

13:21:53Gán địa chỉ cơ sở cho các thành phần:

Double-click vào CPU Nios II: chọn

Reset Vector và Exception Vector.

13:21:53

Double-click vào cột Export trên hàng external_connection của sw:

Tương tự cho component led:

Trang 10

Tích hợp vào Quartus Project

B1: Quay lại Quartus, chọn Project > Add/Remove Files in Project

Trang 11

B4: Trong cửa số Project

Navigator, chọn tab Files, nhấn

chuột phải vào file qip và chọn

Set as Top-Level Entity

Trang 12

Bài 4 23

13:21:53Kết quả sau khi biên dịch:

B6: Thực hiện gán chân trên kit DE-2:

- 2 SW: nối với 2 toggle switch SW0, SW1

- 8 Led: nối với 8 LEDR0 - 7

SW[0],PIN_N25SW[1],PIN_N26

LEDR[0],PIN_AE23LEDR[1],PIN_AF23LEDR[2],PIN_AB21LEDR[3],PIN_AC22LEDR[4],PIN_AD22LEDR[5],PIN_AD23LEDR[6],PIN_AD21LEDR[7],PIN_AC21CLOCK_50,PIN_N2

13:21:53

Gán chân bằng sơ đồ chân:

Xem sơ đồ chân tại (file DE2_pin_assigments.csv):

https://sites.google.com/site/phkkhanh/thuc-hanh/he-thong-nhung

B6.1: Chọn menu Assigments > Pin Planner

Trang 13

Bài 4 25

13:21:53

B6.2: Double-click vào cột Location và gán cho các chân trên kit DE-2:

SW[0],PIN_N25SW[1],PIN_N26

LEDR[0],PIN_AE23LEDR[1],PIN_AF23LEDR[2],PIN_AB21LEDR[3],PIN_AC22LEDR[4],PIN_AD22LEDR[5],PIN_AD23LEDR[6],PIN_AD21LEDR[7],PIN_AC21CLOCK_50,PIN_N2

Đóng cửa sổ Pin Planner

13:21:53

Gán chân bằng sơ đồ khối:

B6.1: Chọn menu File > New, chọn Block Diagram/Schematic File

Trang 14

Bài 4 27

13:21:53

B6.3: Trong khung Libraries, bấm vào Project và chọn tên tương ứng.

Nhấn chuột phải và chọn Generate Pins for Symbols Ports.

13:21:53

B6.4: Chọn File > Save để lưu sơ đồ và chọn Processing >

Start Compilation để biên dịch.

B6.5: Chọn menu Assignments > Import Assignments, chỉ

đến file DE2_pin_assignments.csv

B6.6: Gán chân, sau đó chọn File > Save để lưu và Set as Top-Level

Entity cho file bdf

Trang 15

Bài 4 29

13:21:53

B7: Thực hiện biên dịch lại (chọn menu Processing > Start Compilation).

B8: Nạp phần cứng

Chọn menu Tools > Programmer, bấm vào nút Hardware Setup ở góc

trên bên trái và chọn USB-Blaster.

Trong cửa sổ Programmer phải

có tên file sof (nếu chưa có thì

nhấn vào nút Add File để thêm

vào)

Gạt nút RUN / PROG trên kit

DE2 (nằm bên trái LCD) sang

RUN và nhấn vào Start để cấu

hình cho DE2

13:21:53

Xây dựng phần mềm

Chọn menu Tools > Nios II

Software Build Tools for Eclipse

Trang 16

Bài 4 31

13:21:53

Chọn Workspace, ví dụ như E:\Altera\Eclipse

Trong Eclipse, chọn menu File > New > Nios II Application and

BSP from Template

13:21:53

Trong SOPC Information File name, chọn file sopcinfo trong project Đặt

tên cho project, chọn Project Template là Hello World Nhấn Finish.

Trang 17

Bài 4 33

13:21:53

Chọn menu File > New > Nios II Application

Đặt tên Project, nhấn vào nút Browse (…) để chọn BSP Nhấn Finish

13:21:53

Nhấn chuột phải vào project đã tạo tại cửa sổ Project Explorer

Nhấn chuột phải vào project đã tạo tại cửa sổ Project Explorer,

chọn New > Source File

Trang 19

Bài 4 37

13:21:53Chọn tab Target Connection, nhấn vào System ID

Properties để kiểm tra trạng thái hệ thống (có thể Refresh

Connections trước).

13:21:53

Click chọn vào các check box Ignore mismatched system ID và

Ignore mismatched system timestamp

Nhấn Apply và sau đó nhấn Run.

Trang 20

SW_BASE: địa chỉ thiết bị, được đăttên khi thiết kế phần cứng (Qsys)

0: địa chỉ offset

IOWR(LED_BASE,0,0xFF): xuấtgiá trị 0xFF ra thiết bịngoại vi, địa chỉ LED_BASE

13:21:53

4.1 Viết mã lệnh theo yêu cầu:

- SW1 on: Led sáng dần từ LEDR[0] – LEDR[7], thời gian delay

là 300 ms (dùng hàm usleep để delay, vd: usleep(1000) delay

1 ms)

- SW0 off: dừng quá trình chạy Led

4.2 Thiết kế hệ thống nhúng mô phỏng đèn giao thông đơn giản: một

công tắc on/off toàn hệ thống, một công tắc chọn chế độ hoạt

động bình thường / đèn vàng nhấp nháy, 3 Led tương ứng Led

xanh, vàng và đỏ

Trang 21

Bài 4 41

13:21:53

Công tắc nhấn (pushbutton)

13:21:53

Trang 22

unsigned char push;

unsigned char push_check = 0;

unsigned char led[8] = {0x01, 0x03,

0x07 ,0x0F, 0x1F, 0x3F, 0x7F,0xFF};

if (push_check == 1)

{IOWR(LED_BASE,0,led[cnt]);

Thiết kế hệ thống nhúng mô phỏng một đồng hồ số đơn giản:

hiển thị giờ, phút, giây trên 6 Led 7 đoạn, một công tắc nhấn

chỉnh giờ, một công tắc nhấn chỉnh phút

1 Thiết kế phần cứng trên Qsys

2 Thiết kế sơ đồ chân hay sơ đồ khối trên Quartus

3 Viết phần mềm điều khiển

Trang 24

int i;

char line1[17] = “VIEN KT HUTECH \0";

char line2[15] = “BM DTU TR THONG \0";

for(i = 0; line1[i] != 0; i++){

- Nhấn KEY0: tăng giá trị xxx từ 123 – 456

- Nhấn KEY1: giảm giá trị yyy từ 456 – 123

Ngày đăng: 24/10/2020, 08:31

TỪ KHÓA LIÊN QUAN

w