You are on page 1of 3

ĐÁP ÁN

ĐỀ KIỂM TRA GIỮA HỌC KỲ 1, 2016-2017


Lớp Chính quy
Môn thi: THIẾT KẾ HỆ THỐNG NHÚNG - Thời gian: 60 phút
(Sinh viên được phép tham khảo tài liệu;
Sinh viên không được phép sử dụng máy vi tính, laptop)

Bài 1: (2.5đ) Xét một hệ thống nhúng điều khiển cây gậy dò đường dành cho người khiếm thị. Hệ thống gồm vi điều
khiển PIC16F873, cảm biến siêu âm đo khoảng cách có ngõ ra analog, và bộ điều khiển rung. Hệ thống liên tục đọc
khoảng cách giá trị từ cảm biến từ ngõ AD, tính toán khoảng cách, và điều khiển tín hiệu rung để cảnh báo cho người
dùng. Cường độ rung tương ứng với khoảng cách vật cản đo được.
Hãy phân tích 5 vấn đề cơ bản trong thiết kế của hệ thống nhúng trên bao gồm: constraint, function, real-time, concurrent,
reactive.
Trả lời:
Issues Description Ghi chú
Constraint Hệ thống cần có các ràng buộc như: giá rẻ (<500.000 đồng), tuổi thọ SV phải đề ra ít nhất 3
cao (>5 năm), công suất thấp (sử dụng 20g liên tục), độ chính xác constraints
(10cm)
Function Chức năng phát hiện vật cản cần được bảo đảm, nếu không có thể gây Cần phân tích được các chức
tai nạn cho người khiếm thị, cần có chức năng cảnh báo nếu cảm biến năng của hệ thống có thể gây
hỏng tác động gì, và đề ra giải pháp
Real-time Hệ thống được xếp vào loại soft real-time, thời gian trễ cho phép Cần trả lời hệ thống thuộc loại
100ms gì: hard / soft / none real-time
Cần xác định thời gian trễ cho
phép
Concurrent Hệ thống cần đảm bảo xử lý các tác vụ đồng thời (trong thời gian trễ Cần xác định được các tác vụ
cho phép), bao gồm: đồng thời
 đọc khoảng cách giá trị từ cảm biến từ ngõ AD
 tính toán khoảng cách
 điều khiển tín hiệu rung
Reactive -Power on demand Cần xác định hệ thống phản
-Hệ thống tương tác với bên ngoài thông qua sự kiện đo khoảng cách ứng thuộc loại nào: power on
của vật cản và báo cho người sử dụng. Sự kiện thuộc loại có chu kỳ do demand hoặc run forever
người thiết kế định sẵn thời gian lấy mẫu. Hệ thống tương tác với sự kiện
thuộc loại nào periodic hoặc
non-periodic

Bài 2: (2đ) Trả lời các câu hỏi sau về vi điều khiển PIC16F877
a) Hãy liệt kê các ngoại vi của vi điều khiển PIC16F877
b) Có thể sử dụng địa chỉ nào để truy xuất thanh ghi STATUS? Địa chỉ đó là gì?
c) Hãy cho biết cách cài đặt PIN_B0 là xuất, các PIN còn lại của PortB là nhập
d) Bộ nhớ dữ liệu của PIC16F877 được chia làm bao nhiêu bank? Kích thước mỗi bank là bao nhiêu?
Trả lời:
a) – Timer: timer0/timer1/timer2
– 2 Capturer, Compare, PWM modules
– 10-bit multi-channel ADC
– SSP with SPI and I2C
– USART
b) 03h, 83h, 103h, 183h
c) Cài đặt vào thanh ghi TRISB giá trị là 0b11111110
d) chia làm 4 bank, mỗi bank 128bytes

Bài 3: (5.5 điểm) Cho một hệ thống gọi số thứ tự đơn giản được mô tả như sau. Hệ thống có 1 vi điều khiển, 1 bộ hiển thị
số từ 0 đến 9, và nút nhấn để chọn số. Khi người dùng nhấn nút đặt số, số thứ tự tăng lên 1. Khi số thứ tự tăng quá 9 thì
quay về 0. Người dùng có thể nhấn nút khác để xóa số thứ tự về 0.

a) (1.5đ) Hãy viết đặc tả kỹ thuật của hệ thống trên.


Ghi chú: cần nêu rõ các tính năng kỹ thuật , hoạt động của hệ thống

b) (1.5đ) Hãy viết đặc tả phần cứng cho hệ thống trên và vẽ sơ đồ khối phần cứng
Gợi ý: sinh viên tự chọn loại vi điều khiển, bộ hiển thị (LED 7 đoạn hoặc LCD), số lượng nút nhấn cần thiết.

c) (1.5đ) Hãy vẽ sơ đồ mạch chi tiết của hệ thống.

d) (1đ) Hãy viết đặc tả phần mềm cho hệ thống trên và vẽ lưu đồ giải thuật chương trình chính

Trả lời:
a) Đặc tả kỹ thuật của hệ thống
Tính năng kỹ thuật: Hệ thống có 1 vi điều khiển, 1 bộ hiển thị số từ 0 đến 9, và nút nhấn để chọn số. Hệ thống có khả
năng hiển thị số thứ tự, tăng số thứ tự khi có nút nhấn, và có thể xóa số thứ tự về 0.
Hoạt động của hệ thống: Khi người dùng nhấn nút đặt số, số thứ tự tăng lên 1. Khi số thứ tự tăng quá 9 thì quay về 0.
Người dùng có thể nhấn nút khác để xóa số thứ tự về 0.

b) Đặc tả phần cứng và sơ đồ khối phần cứng


Đặc tả phần cứng Lựa chọn phần cứng:
 Vi điều khiển: PIC16F877, thạch anh 20MHz
 Ngoại vi:
o 1 LED 7 đoạn Cathode chung.
o Nút nhấn NEXT nối vào chân PIN_B1
o Nút nhấn RESET nối vào chân RS
Nguyên lý hoạt động: sau khi reset, số đếm trên LED = 0. Khi người dùng bấm nút NEXT, số
đếm tăng lên 1. Khi số đếm tăng quá số 9 thì tự động quay lại 0.
Sơ đồ khối phần cứng
NEXT
PIC16F877

RESET

b) Sơ đồ mạch chi tiết


C1 U1
13 33
NEXT
OSC1/CLKIN RB0/INT
14 34
OSC2/CLKOUT RB1
22p 35
RB2
X1 2
RA0/AN0 RB3/PGM
36

C2 20MHz 3
RA1/AN1 RB4
37 R8
4 38 10k
RA2/AN2/VREF-/CVREF RB5
5 39
RA3/AN3/VREF+ RB6/PGC
6 40
RA4/T0CKI/C1OUT RB7/PGD
22p 7
RA5/AN4/SS/C2OUT
15
RC0/T1OSO/T1CKI
8 16
RE0/AN5/RD RC1/T1OSI/CCP2
R7 9
RE1/AN6/WR RC2/CCP1
17
10k 10 18
RE2/AN7/CS RC3/SCK/SCL
23
RESET 1
RC4/SDI/SDA
24
MCLR/Vpp/THV RC5/SDO
25
RC6/TX/CK
26
RC7/RX/DT
R0
19 R1
RD0/PSP0
20 R2
330
RD1/PSP1
21 R3
330
RD2/PSP2
22 R4
330
RD3/PSP3
27 R5
330
RD4/PSP4
28 R6
330
RD5/PSP5
29 330
RD6/PSP6
30 330
RD7/PSP7
PIC16F877A

c) Đặc tả phần mềm:


Phần mềm cần có chức năng đọc trạng thái nút nhấn và điều khiển LED 7 đoạn. Nút nhấn cần có chế độ chống rung phím.
Để điều khiển LED 7 đoạn cần có hàm giải mã BCD sang LED 7 đoạn.

Lưu đồ phần mềm:

RESET

Số đếm = 0

N
NEXT?
Y

Y
Số đếm=9?

Tăng số đếm Số đếm = 0

Hiển thị LED

Người ra đề:

TS. Trương Quang Vinh

You might also like