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

Lập trình hệ thống nhúng cơ bản mạch tuần tự

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (608.23 KB, 45 trang )

LẬP TRÌNH
HỆ THỐNG NHÚNG

CƠ BẢN

Chương 04: Mạch Tuần Tự

GV:
Email:

Nguyễn Ngọc Tú



Mạch tuần tự
„

Logic tổ hợp:
‰
‰
‰
‰

NNTu

Ngõ xuất chỉ phụ thuộc vào các ngõ vào
Có thể thực hiện các phép toán thông dụng
Yêu cầu phân lớp ra nhiều cấu trúc
Ưu điểm về chi phí và khả năng linh động

Hê Thống Nhúng - Embedded Systems (W 2008)



2


Mạch tuần tự
„

Logic tuần tự:
‰

‰

‰

NNTu

Ngõ xuất phụ thuộc vào cả ngõ vào và trạng thái
cũ của ngõ xuất
Lưu thông tin giữa các tính toán, không cần thiết
kế theo tầng lớp
Cần một số loại kiểu bộ nhớ để ghi nhớ giá trị cũ

Hê Thống Nhúng - Embedded Systems (W 2008)

3


Mạch tuần tự
Mạch lưu trữ thông tin


“Trạng thái” theo thời gian
NNTu

Hê Thống Nhúng - Embedded Systems (W 2008)

4


Mạch tuần tự: khái niệm
„
„

„

Ghi nhớ trạng thái cũ: xuất, nhập.
Ngõ xuất từ hệ thống truyền ngược lại cho hệ
thống
Phần tử lưu trữ - mạch lưu thông tin nhị
phân: memory.

NNTu

Hê Thống Nhúng - Embedded Systems (W 2008)

5


Cơ chế đồng bộ (Sync) – Bất đồng
bộ (Async)
Có 2 kiểu mạch tuần tự:

„ Synchronous (latch mode – mạch lật): biến đổi
theo các bước thời gian không đổi. Đồng bộ bằng
tín hiệu xung theo thời gian clock.
„ Asynchronous (fundamental mode – mạch cơ bản)
: biến đổi dựa trên các tín hiệu đầu vào theo thời
gian, ngõ xuất có thể biến đổi ở bất cứ thời gian nào
(clockless – không có xung).

NNTu

Hê Thống Nhúng - Embedded Systems (W 2008)

6


Clock: xung

NNTu

Hê Thống Nhúng - Embedded Systems (W 2008)

7


Mạch đồng bộ: Flip flops

Flip-flops nhận dữ liệu từ mạch tổ hợp và xung
đồng bộ clock

„


NNTu

Hê Thống Nhúng - Embedded Systems (W 2008)

8


Phần tử lưu nhớ

Không thể thay đổi giá trị

Cổng đảo Inverters

Bộ đệm (Buffers)
NNTu

Hê Thống Nhúng - Embedded Systems (W 2008)

9


Mô phỏng sự kiện rời rạc
„

„

Để hiểu được hoạt động của mạch tuần tự, cần mô phỏng theo các
sự kiện rời rạc
Các quy luật:

‰ Các cổng đã được mô hình dạng lý tưởng và thời gian trễ cố định
‰ Bất kỳ sự thay đổi trong ngõ vào được coi như là nguyên nhân
biến đổi ngõ xuất
‰ Những thay đổi ngõ xuất được tạo ra sau một khoảng thời gian trễ
khi có sự thay đổi từ ngõ vào

NNTu

Hê Thống Nhúng - Embedded Systems (W 2008)

10


Mô phỏng cổng NAND
„

Ví dụ: cổng NAND 2 ngõ vào với thời gian trễ là 0.5 ns.
F(Instantaneous)

A
B
„
„

DELAY 0.5 ns.

F

Giả sử A,B có giá trị 1 từ trước đó
t=0, A thay đổi sang 0 ở t= 0.8 ns khiến cho F(I)=1.


t (ns) A
B
–∞
1
1
0
1⇒ 0 1
0 1
0.5
0.8 1⇐ 0 1
1.3
NNTu

1

1

F(I)
0
1⇐ 0

F
Ghi chú
0
A=B=1 (trước đó)
0
F(I) chuyển sang 1
1⇐ 0 F chuyển sang 1 sau 0.5 ns


1
F(Instantaneous) chuyển sang 0
1⇒ 0 1
0 1⇒ 0 F chuyển sang 0 sau 0.5 ns
Hê Thống Nhúng - Embedded Systems (W 2008)

11


Mô hình độ trễ của cổng
„

Giả sử các cổng sau có độ trễ tương ứng
như sau
‰

n = 0.2 ns, n = 0.4 ns,n = 0.5 ns

0.2

NNTu

0.4

Hê Thống Nhúng - Embedded Systems (W 2008)

0.5

12



Mô hình độ trễ của mạch
„
„

Xét 1 MUX:
Với hàm:
‰
‰

A

Y = A khi S = 1
Y = B khi S = 0

0.2

S
B

0.4
0.5

Y

0.4

A
B
S

S
Y
„

“lệch pha” dẫn tới cổng đảo bị trễ

NNTu

Hê Thống Nhúng - Embedded Systems (W 2008)

13


Trạng thái lưu trữ
Khi A gắn với Y ?
Với hàm:

„
„

‰
‰

Y = B khia S = 1,
Y(t) phụ thuộc vào
Y(t – 0.9) khi S = 0

0.2

S

B

0.4
0.5

Y

0.4

B
S
S
Y
„

Mạch tổ hợp đơn giản đã trở thành mạch tuần tự theo thời gian biến đổi của
trạng thái đầu vào

Y được lưu giá trị trong một khoảng thời gian

NNTu

Hê Thống Nhúng - Embedded Systems (W 2008)

14


Trạng thái lưu trữ
„


Mô phỏng ví dụ trên thay đổi theo thời gian với mỗi bước 100ns,
lúc này 10ns coi như không đáng kể.

Time

„

B
1
1
1
0
0
0
1

S
0
1
0
0
1
0
0

Y
0
1
1
1

0
0
0

Ghi chú
Y “nhớ” 0
Y = B khi S = 1
Y “nhớ” B = 1 for S = 0
Không đổi Y dù B thay đổi
Y = B khi S = 1
Y “nhớ” B = 0 for S = 0
Không đổi Y khi B thay đổi

Y mô tả trạng thái mạch, chưa phải thực sự là ngõ xuất.

NNTu

Hê Thống Nhúng - Embedded Systems (W 2008)

15


Trạng thái lưu trữ
Giả sử đặt thêm
cổng, tạo trễ

0.4

0.2
„


„

„

Kết quả biến đổi như
sau:
Mạch coi như không
ổn định.
Khi S = 0, mạch trở
thành máy tạo dao
động oscillator. Có
thể làm xung clock
thô.

NNTu

0.5

S
B

0.4
B
0
1
1
1
1
1


S
1
1
0
0
0
0

0.2

„

Y
0
1
1
0
1
0

Y

Ghi chú
Y = B khi S = 1
Y “nhớ” A
Y, Trễ 1.1
Y, Trễ 1.1
Y, Trễ 1.1


Hê Thống Nhúng - Embedded Systems (W 2008)

16


Mạch gài-lật

(latch, trigger)

SR

(dùng NOR)

-- SR: “set-reset”, với 2 ngõ vào thêm; không định nghĩa
trạng thái khi S=R=1.
-- Hàm logic:
ƒ

NNTu

Q = (R+Q’)’; P = (S+Q)’
Hê Thống Nhúng - Embedded Systems (W 2008)

17


R=S=1 ?
„

Hiểu giá trị ngõ xuất

‰
‰

‰

NNTu

Khi S=R=1, cả 2 ngõ xuất là 0.
Nếu cả 2 ngõ nhập là 0, giá trị sẽ phụ thuộc giá trị
xuất/ giữ trước đó.
Do đó các trạng thái “không xác định – không định
nghĩa” sẽ tránh sử dụng.

Hê Thống Nhúng - Embedded Systems (W 2008)

18


S’R’

(với NAND)

0 S’

1

R’

Q


Q’

1
0

S’
0
0
1
1

R’
0
1
0
1

Q Q’
1 0 Set

X Y NAND
00
1
01
1
10
1
11
0
NNTu


Hê Thống Nhúng - Embedded Systems (W 2008)

19


S’R’ (với NAND)
1 S’

1

R’

Q

Q’

1
0

S’
0
0
1
1

R’
0
1
0

1

Q Q’
1 0 Set
1 0 Hold

X Y NAND
00
1
01
1
10
1
11
0
NNTu

Hê Thống Nhúng - Embedded Systems (W 2008)

20


S’R’ (với NAND)
1 S’

0

R’

Q


Q’

0
1

S’
0
0
1
1

R’
0
1
0
1

Q Q’
1 0 Set
0 1 Reset
1 0 Hold

X Y NAND
00
1
01
1
10
1

11
0
NNTu

Hê Thống Nhúng - Embedded Systems (W 2008)

21


S’R’ (với NAND)
1 S’

1

R’

Q

Q’

0
1

S’
0
0
1
1

R’

0
1
0
1

Q Q’
1
0
1
0

0
1
0
1

Set
Reset
Hold
Hold

X Y NAND
00
1
01
1
10
1
11
0

NNTu

Hê Thống Nhúng - Embedded Systems (W 2008)

22


S’R’ (với NAND)
0 S’

0

R’

Q

1

Q’

1

S’
0
0
1
1

R’
0

1
0
1

Q
1
1
0
1
0

Q’
1 Disallowed
0 Set
1 Reset
0 Hold
1 Hold

X Y NAND
00
1
01
1
10
1
11
0
NNTu

Hê Thống Nhúng - Embedded Systems (W 2008)


23


Các mạch SR

NNTu

Hê Thống Nhúng - Embedded Systems (W 2008)

24


Mô phỏng SR

NNTu

Hê Thống Nhúng - Embedded Systems (W 2008)

25


×