Tải bản đầy đủ (.docx) (16 trang)

BÁO CÁO BÀI TẬP LỚN THIẾT KẾ HỆ THỐNG SỐ

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 (533.06 KB, 16 trang )

TỔNG LIÊN ĐỒN LAO ĐỘNG VIỆT NAM
TRƯỜNG ĐẠI HỌC TƠN ĐỨC THẮNG
KHOA ĐIỆN – ĐIỆN TỬ

BÁO CÁO BÀI TẬP LỚN

THIẾT KẾ HỆ THỐNG SỐ

Giảng viên hướng dẫn:

Võ Phú Thoại
Nhóm sinh viên thực hiện:
Châu Thị Ngọc Ánh – 418H0218
Lê Tuấn Phương – 418H0305
Nguyễn Phan Duy Đăng – 418H0224
Mạc Hoàng Thái Bảo – 418H0219

Thành phố Hồ Chí Minh, 2020


Tên đề tài :
I.

Mạch đếm đồng bộ 4 bit

Khái quát môn học :

Thiết kế hệ thống số là một trong những môn cơ bản giúp sinh viên
học về các dạng mã số, tín hiệu của các hệ thống số, học về các cổng
logic cơ bản và cách thiết kế bộ đếm, bộ cấp xung đơn giản, ...
Mở đầu chúng ta sẽ được học về các bộ mã , các mức giá trị của hệ


thống số, các phép toán cơ bản của hệ thống và các phép tính của các
bộ mã.
Chúng ta có các bộ mã như :DEC( Decimal),HEX ( Hexadecimal)
,OCT( Octandecimal), BCD (BinaryCodeDecimal), Binary. Sinh viên sẽ
được học các phép chuyển đổi qua lại giữa các bộ mã và các phép tính
cơ bản của hệ thống số dựa trên mã binary.
Tiếp đến sinh viên sẽ được học 7 cổng LOGIC cơ bản : AND, OR,
NAND,NOR,XOR,XNOR, OR. Và dựa trên các định lý DE MORGAN,
phân tích BOOLE , bìa KARNAUGH để xử lý, tính tốn và thu gọn các
cổng logic.
Sau đó sẽ lại tiếp tục được học về các nguyên lý mạch logic và các tổ
hợp logic cơ bản. Tìm hiểu về các UNIVERSAL GATE như NAND , NOR .
Khi đã nắm được kiến thức cơ bản sinh viên sẽ học về thiết kế các bộ
tính tốn như bộ cộng , bộ trừ ,bộ cộng ripple carry , bộ cộng look
ahead carry, các bộ so sánh, mã hóa , giải mã, chuyển đổi , …..

Tiếp theo sinh viên sẽ được học về các LATCHES, SET/RESET
LATCHES, D-LATCH, FLIPFLOP, J/K-FLIPFLOP, D-FLIPFLOP, SET/RESET
FLIPFLOP, 555 timer,…
Chúng ta sẽ kết thúc môn học với các bộ đếm , các thanh ghi và các
bộ nhớ lưu trữ .


Kết thúc môn sinh viên sẽ nắm vững kĩ năng tính tốn chuyển đổi các
bộ mã, phân tích xử lí cũng như thiết kế các hệ thống số đơn giản, thiết
lập được các bộ tính tốn, so sánh điều khiển đơn giản.
Sau đây là các bộ mã của hệ thống số

Binary:
Hệ nhị phân (hay hệ đếm cơ số hai) là một hệ đếm dùng hai ký tự để biểu

đạt một giá trị số, bằng tổng số các lũy thừa của 2. Hai ký tự đó thường là
0 và 1.
Trong hệ nhị phân, giá trị 10 có thể biểu đạt bằng hình thức tương tự như
(1 x 2 1 ) + (0 x 2 0 ). Giá trị này bằng 2 trong hệ thập phân. Nhị phân sang
thập phân tương đồng:
1

2

= 1 × 2

0

= 1 × 1 = 1

10

10 2 = ( 1 × 2 1 ) + ( 0 × 2 0 ) = 2 + 0 = 2 1 0
101 2 = ( 1 × 2 2 ) + ( 0 × 2 1 ) + ( 1 × 2 0 ) = 4 + 0 + 1 = 5

10

HEXDECIMA
Trong toán học và trong khoa học điện toán, hệ thập lục phân (hay hệ
đếm cơ số 16, tiếng Anh: hexadecimal), hoặc chỉ đơn thuần gọi là thập
lục, là một hệ đếm có 16 ký tự, từ 0 đến 9 và A đến F (chữ hoa và chữ
thường như nhau). Hệ thống thập lục phân hiện dùng, được công ty IBM
giới thiệu với thế giới điện toán vào năm 1963. Một phiên bản cũ của hệ
thống này, dùng các con số từ 0 đến 9, và các con chữ A đến F, đã được
sử dụng trong máy tính Bendix G-15, ra mắt năm 1956.

Ví dụ, số thập phân 79, với biểu thị nhị phân là 01001111, có thể được viết
thành 4F trong hệ thập lục phân (4 = 0100, F = 1111).

DECIMAL
Là các bộ số thông thường chúng ta sử dụng.

OCTANDECIMAL


Hệ bát phân hay còn gọi là hệ cơ số 8 ( Octal Number System).
Hệ bát phân gồm: 0, 1, 2, 3, 4, 5, 6, 7. Giá trị gia tăng là các lũy thừa của
8.
Với những con số ở trên trong một hàng, chúng ta có thể liên tưởng đến
vấn đáp về tính nhân. Số 5 có thể hiểu là 5 × 10 0 (10 0 =1) tương đương với
5 x 1, vì bất cứ một số nào có mũ 0 cũng đều bằng 1 (tất nhiên là loại trừ
số 0 ra). Khi khai triển sang bên trái một vị trí, chúng ta nâng số mũ của 10
lên một giá trị, vì vậy để biểu đạt 50, chúng ta dùng phương pháp tương tự
và số này có thể được viết như 5 x 10 1 , hoặc đơn giản hơn 5 x 10.
500 = ( 5 × 10 2 ) + ( 0 × 10 1 ) + ( 0 × 10 0 )
5834 = ( 5 × 10 3 ) + ( 8 × 10 2 ) + ( 3 × 10 1 ) + ( 4 × 10

Dưới dây là các cổng LOGIC cơ bản:
_ Cổng AND :

_ Cổng OR :

0

)



_Cổng NAND :

_ Cổng NOR :


_ Cổng XOR:

_ Cổng XNOR :


II.

Nguyên lý hoạt động :

Flip-flop thực hiện chức năng xử lý tín hiệu vào và làm 1 bít nhớ trạng thái kết quả, với
hai ngõ ra là thuận Q và đảo Q.

Một chốt SR tạo từ 2 cổng NOR
Nhu cầu điều khiển dẫn đến chế ra Flip-flop có thể có nhiều ngõ vào và cách thức tác động
của ngõ lên kết quả khác nhau. Theo quy tắc chung, các ngõ vào chia ra ba loại:


Ngõ vào dữ liệu D (Data): Trị logic hay trạng thái chính cần chốt.



Ngõ vào điều khiển không đồng bộ: Khi ngõ khiển này ở mức tích cực (active) thì
Flip-flop hoạt động theo cách nào đó. Ngõ này thường ký hiệu là E hay EN (enable)
hay gate. Mức tích cực do nhà chế tạo đặt ra, có thể là logic 1 (thuận) hay 0 (đảo).




Ngõ vào clock hay nhịp đồng bộ CLK: Có ở các Flip-flop cần hoạt động đồng bộ. Flipflop thực hiện chức năng chính của nó vào thời điểm sườn xung clock chuyển từ 0
lên mức cao. Quy ước này được tất cả nhà sản xuất tơn trọng.

Trong các ngõ khiển, thì R (Reset) thường nhắc đến nhiều nhất, nó Reset cho Q trong f/f về trị
logic 0, Q về trị logic 1. Chú ý rằng Reset là tín hiệu sử dụng trong mọi hệ thống digital,
nhưng ở đó từng nơi nó có thể đặt trị mặc định là 1 khi cần thiết.


Trong sử dụng phải tránh Xung đột do các ngõ khiển gây ra bất định kết quả, tức là phải thiết
kế timing đúng, và các ngõ khiển không dùng đến thì phải nối vào nơi có mức logic khơng
tích cực (inactive).

Các loại Flip – flop
1. FF SR (mạch lật lại đặt)

FF RS nảy cạnh lên khi đó sẽ kí hiệu hình tam giác ở sơ đồ khối và dấu mũi tên lên trong
bảng trạng thái.
FF RS nảy bằng cạnh xuống tương tự và có khí hiệu thêm hình trịn nhỏ hay gạch đầu Ck để
chỉ cạnh xuống ở ký hiệu khối và vẽ dấu mũi tên xuống ở bảng trạng thái.
2. FF- JK
FF JK bổ sung thêm trạng thái cho FF RS ( tránh trạng thái cấm)

Nhận thấy đầu vào J, K điều khiển trạng thái ngõ ra theo đúng như cách mà S R đã làm trừ
1 điểm là khi J = K = 1 thì trạng thái cấm được chuyển thành trạng thái ngược lại ( với J = K
= 0 ). Nó cịn gọi là chế độ lật của hoạt động.
Từ dạng sóng có thể thấy rằng ngõ ra FF không bị ảnh hưởng bởi sườn xuống của xung ck
các đầu vào J K cũng khơng có tác động trừ khi xảy ra tác động lên của Ck



FF JK có thể tạo thành từ FF SR có thêm 2 đầu and có ngõ ra đưa về như hình :

Cịn cấu tạo bên trong của FF JK kích bằng cạnh sườn sẽ như sau :

3. FF-T
Khi nối chung 2 ngõ vào JK như hình dưới thì sẽ được FF T : chỉ có một ngõ vào T, ngõ ra sẽ bị
lật lại trạng thái ban đầu khi ngõ T tác động và mỗi khi có cạnh sườn lên hay xuống của
xung ck.
Kí hiệu khối và bảng trạng thái của FF T như sau :

=>


FF T được sử dụng chính để tạo mạch đếm chia 2. Khi T nối lên mức 1 (V cc) hay để trống,
xung kích lần lượt đưa vào ngõ Ck. Nhận thấy ngõ ra Q sẽ lật trạng thái mỗi lần ck xuống hay
lên. Tần số xung ngõ ra Q chỉ còn bằng một nửa tần số ngõ vào ck nếu đưa Q này tới các
tầng FF sau nữa thì lần lượt tần số f sẽ lại được chia đôi. Đây là nguyên lí chính của mạch
đếm sẽ được xét đến ở phần sau.

FF T dùng làm mạch chia tần
4. FF-D
Khi nối ngõ vào của FF RS hay JK như hình thì sẽ được FF D : chỉ có 1 ngõ vào gọi là
ngõ vào data(dữ liệu) hay delay(trì hỗn). Hoạt động của FF D rất đơn giản : ngõ ra sẽ
theo ngõ vào mỗi khi xung Ck tác động cạnh lên hay xuống.

=>



FF D thường là nơi để chuyển dữ liệu từ ngõ vào D đến ngõ ra Q cung cấp cho mạch
sau như mạch cộng, ghi dịch… nên hơn nữa ngõ vào D phải chờ một khoảng thời gian
khi xung ck kích thì mới đưa ra ngõ ra Q, do đó FF D cịn được xem như mạch trì
hỗn, ngõ D còn gọi là delay.
5. Mạch chốt D
Các FF nảy bằng mức đều có thể trở thành mạch chốt khi chân ck cho ở mức tác
động luôn. Thông dụng nhất là chốt D. Mạch được tạo bởi FF D khi thay ngõ vào đồng
bộ bởi ngõ vào cho phép (enable : E) tác động ở mức cao.
Cấu tạo kí hiệu và bảng trạng thái như những hình sau :

Cấu tạo chốt.

6. FF khi có thêm ngõ vào trực tiếp.


Như thấy các FF đã xem xét ở trên khi cấp điện sẽ có thể xây dựng ngay trạng thái
của ngõ ra vì nó cịn tuỳ thuộc vào cấu trúc của mạch và các yếu tố ngẫu nhiên khác.
Vì lí do này 2 ngõ vào mới được thêm vào để xác định chính xác trạng thái logic ra lúc
cấp điện (mở nguồn) hay bất cứ lúc nào muốn, nó hồn toàn độc lập với trạng thái
logic ở các ngõ vào đồng bộ J, K, R, S, D, T và kể cả xung đồng hồ ck, tứcl à chúng
giành quyền ưu tiên trước hết quyết định ngõ ra. Chúng được gọi là ngõ vào trực tiếp
(ngõ vào không đồng bộ) và đặt tên là Preset (Pr) có nghĩa là đặt trước và Clear (Cl)
có nghĩa là xố
Cần phải để ý rằng không được phép đặt chân Pr = Cl = 0 vì khi đó Q = Q’ =1 trạng
thái cấm. Chân Pr, Cl khi này khơng có tác dụng gì, khơng xác định được trạng thái ra.
Do đó, nhiều mạch FF chỉ có 1 ngõ Clear để xố mạch khi cần mà khơng có ngõ Pr; có
FF thì lại khơng có cả 2 ngõ này.

III.


Mạch đếm đồng bộ :

Mạch đếm đồng bộ thường sử dụng JK flip flop mô phỏng mạch đếm đồng
bộ 4 bit (0-15):
Truth table:
Stat
e
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14

Q
3
0
0
0
0
0

0
0
0
1
1
1
1
1
1
1

TTHT
Q Q
2 1
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0 0
0 0
0 1
0 1
1 0
1 0
1 1


Q
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0

Q
3
0
0
0
0
0
0
0
1
1
1

1
1
1
1
1

TTKT
Q Q
2 1
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1

Q
0
1
0
1

0
1
0
1
0
1
0
1
0
1
0
1

J
3
0
0
0
0
0
0
0
1
X
X
X
X
X
X
X


K
3
X
X
X
X
X
X
X
X
0
0
0
0
0
0
0

J
2
0
0
0
1
X
X
X
X
0

0
0
1
X
X
X

JK
K J
3 1
X 0
X 1
X X
X X
0 0
0 1
0 X
1 X
X 0
X 1
X X
X X
0 0
0 1
0 X

K
1
X
X

0
1
X
X
0
1
X
X
0
1
X
X
0

J
0
1
X
1
X
1
X
1
X
1
X
1
X
1
X

1

K
0
X
1
X
1
X
1
X
1
X
1
X
1
X
1
X


15

1

1

1

1


J3
Q0Q1\Q2
Q3
00
01
11
10

0
0
0
0
X
X

0
1
0
0
X
X

1
1
0
1
X
X


1
0
0
0
X
X

K3
Q0Q1\
Q2Q3
00
01
11
10

0
0
X
X
0
0

0
1
X
X
1
0

1

1
X
X
0
0

1
0
X
X
0
0

0
0
0
X
X
0

0
1
0
X
X
0

1
1
1

X
X
1

1
0
0
X
X
0

J2
Q0Q1\
Q2Q3
00
01
11
10
K2
Q0\
Q1
00
01
11
10

0
0
X
0

0
X

0
1
X
0
0
X

1
1
X
1
1
X

1
0
X
0
0
X

J1
Q0Q1\Q2
Q3
00

0

0
0

0
1
1

1
1
X

1
0
X

0

0

0

0

X 1

X 1

X

1


X

1


01
11
10
K1

0
0
0

1
1
1

X
X
X

X
X
X

Q0Q1\Q2
Q3
00

01
11
10
J1=K1=Q0

0
0
X
X
X
X

0
1
X
X
X
X

1
1
1
1
1
1

1
0
0
0

0
0

Q0Q1\Q2
Q3
00
01
11
10
K0

0
0
1
1
1
1

0
1
X
X
X
X

1
1
X
X
X

X

1
0
1
1
1
1

Q0Q1\Q2
Q3
00
01
11
10
J0=K0=1

0
0
X
X
X
X

0
1
1
1
1
1


1
1
X
X
X
X

1
0
1
1
1
1

J0

J0=K0=1
J1=K1=Q0
J2=K2=Q0.Q1
J3=K3=Q0.Q1.Q2



Hết.



×