You are on page 1of 271

L Ư Ơ N G N G Ọ C H Ả I - LÊ H Ả I S Â M

n g u y ễ n t r in h Đ ư ờ n g - NGUYỄN QUỐC CƯỜNG - TRẦN VĂ N TUẤN

ĐIỆN TỬ SỐ
S á c h d ù n g c h o sin h v iê n đại h ọ c c á c n g à n h Kỹ th u ậ t đ iện

(Tái bản lấn thứ hai)

NHÀ XUẤT BẢN GIÁO DỤC VIỆT NAM


n ổ L c t ầ li

Đ iện tử s ố là cuốn sách viết dựa theo chương (rình m ôn học K ỹ thuật điện từ số của bộ
m ôn Kỹ thuật Đ o và Tin học C ông nghiệp, trường Đ ại học Bách khoa Hà N ội. Thời lượng
dành ch o m ôn học này là 45 T 6 0 tiết.

Sách dùng ch o sinh viên đại học các ngành Kỹ thuật Đ o , Tự độn g hóa, Tự động điều
khiến, Hệ thông diện, T hiết bị điện.... thuộc trường Đ H B K Hà N ội. Cuốn sách cũng là tài
liệu tham kháo tốt ch o sinh viên các ngành kỹ thuật khác, không chuyên về điện tứ
viễn thõng.

Tham gia biên soạn cuốn sách là các giảng viên đã hoặc đang giáng dạy, thuộc nhóm
Đ iện tứ - V i xứ lý, bộ m ôn Kỹ thuật Đ o và Tin học C õng nghiệp, trường Đ ại học Bách
Khoa Hà N ội. Phân c ô n g biên soạn như sau:

Lương N g ọ c Hài: Chương 1, 2, 3, 6, đổng thời là chú biên.

N gu y ễn Trinh Đường: Chương 5, 7.

N gu y ền Q uốc Cường: Chương 4, 8.

Trần V ăn Tuấn: Chương 9, 10.

Lê Hải Sâm: Chương 11, 12.

M ặc dù đã c ó c ô gắng nhưng chắc chấn vẫn còn những thiếu sót. Chúng tôi m ong nhận
được ý kiến g ó p ý của độc giả để hoàn thiện hơn trong những lần tái bản sau. M ọi ý kiến
đóng g ó p xin gứi về:

C õng ty c ổ phần Sách Đ ại học - Dạy nghề, N hà xuất bán G iáo dục, 25 Hàn T huyên -
Hà N ội, đ iện thoại (0 4 ) 3 8 2 6 4 9 7 4 .

X in chãn thành cảm ơn!

C Á C T Á C G IẢ

3
(( ^ ( t t M t t y J

KIẾN THỨC C ơ SỞ CỦA KỸ THUẬT s ố

Chương này trình bày những kiến thức cơ bán nhất của kỹ thuật số, bao gồm:
- Những khái niệm về bài toán logic, biến logic, mạch logic, mức logic.
- Các phép tính, những tính chấl và định lý cơ bán trong đại số Boole và ứng dụng.
- Các cổng logic và ứng dụng.
- Khái niệm chung về mã, mã nhị phân, mã ASCII.
- Các phương pháp biểu diễn sô và cách sừ dụng.
- Các mã nhị phân biếu diễn số nguyên có dấu và cách sử dụng.

1.1. BÀI TOÁN LOGIC - BIẾN LOGIC


1.1.1. Bài toán logic
Trong điều khiển kỹ thuật, điều khiển kinh tế... la thường gặp các bài toán mà những thông
tin cho trước (dữ liệu vào) và các đáp ứng của bài toán, đéu chi có thê’ ờ một trong hai trạng thái
đối kháng nhau: đúng/sai, nóng/lạnh... Bài toán điều khiển như vậy gọi là bài ¡oán logic.
Khới đầu, các bài toán logic đểu diễn dạt bằng lời, ví dụ: Hãy xây dựng máy bán bánh tự
động, hoạt động như sau: Khi đưa lOOOđ vào, m áy sẽ cho ra một chiếc bánh; Khi đưa vào
2000đ, máy phải cho ra một chiếc bánh và trả lại khách lOOOđ, nếu trong máy có lOOOđ để trả
lại; khi trong máy không có tiền lOOOđ, đèn chiếu sáng hàng chữ “chỉ bán với tiền lOOOđ” phải
bật sáng. Rõ ràng đây là một bài toán điều khiển logic. M ỗi dữ liệu vào đều là một hiện tượng
với hai trạng thái đôi kháng: đưa vào/không dưa vào tiền lOOOđ hoặc tiền 2000đ; cólkhõng có
tiền lOOOđ ờ trong máy. Các đáp ứng của bài toán cũng là những quyết định đối kháng:
clưalklìông đưa ra chiếc bánh; trà lại/không trả lại tiền lOOOđ cho khách; bậtlkhông bật đèn
chiếu sáng hàng chữ “chỉ bán với tiền lOOOđ".

1.1.2. Biến logic


Đại số B oole là công cụ toán học để giải những bài toán logic. Các biến trong đại số Boole
gọi là biến logic. N ó chì có hai giá trị, ký hiệu 1/0, đặc trưngcho hai trạng thái đối kháng cùa
một hiện tượng. Hai giá trị 1/0 cua biến logic hoàn toàn khôngcó V nghĩa về lượng. Ví dụ, nếu
quy ước giá trị 1 biến logic đặc trưng cho trạng thái nóng cùa nước, thì giá trị 0 logic sê dặc
trưng cho trạng thái lạnh.
Có thế dùng bất kỳ phần tử vật lý nào với hai trạng thái ổn định, đặc trưng cho hai giá trị
cùa biến logic. Trạng thái đóng/m ờ của khóa cơ khí, khóa tranzito, khóa điốt; tình Irạng nạp
đáy/phóng hết cùa tụ điện ... đều có thể dùng để đặc trung cho hai giá trị 1/0 logic.

1.2. MẠCH LOGIC


Mạch logic gồm những linh kiện, chú yếu là các khóa đóng/mở , ghép nối với nhau- nhằm
thực hiện những quan hệ logic cho trước. Tuyệt đại đa số các mạch logic hiện nay là mạch

5
logic điện. N ếu các khóa đóng/mở trong mạch logic điện là tiếp điểm cùa các rơle điện từ, thì
m ạch gọi là mạch logic tiếp điểm (hay m ạch logic rơle). N ếu dùng tranzito hay điốt làm khóa
đóng/mà, ta c ó mạch logic điện lủ. Hiện nay, dùng phổ cập nhất các mạch logic điện từ vì
chúng có kích thước rất nhỏ, tốc độ làm việc rất cao, công suất tiêu thụ nhò.
Hình l . l a là sơ đổ khối mạch logic, làm nhiệm vụ điều khiển trong bài toán cụ thể nào đó.
Mạch có ba biến vào (biến độc lập) A , B, c và hai biến ra (biến phụ thuộc) Qi = Q, (A , B, C),
Q2 = Q2 (A, B, C). Sự phụ thuộc giữa biến ra với các biến vào thường ch o dưới dạng bảng, gọi là
bảng chân lý. Hình 1.1 b là ví dụ về bàng chân lý cùa m ạch hình 1.1 a. Bảng chăn lý m ạch logic
với n biến vào sẽ c ó 2" hàng. Tại m ỗi hàng ghi những tổ hợp giá trị khác nhau cùa các biên vào,
và giá trị tương ứng của các biến ra.

Q^A, B, C)

R ^ Mach logic
Q2(A, B, C)

Hình 1.1. Mạch logic: a) Sơ đổ khối mạch logic; b) Ví dụ bảng chản lý của mạch hình a.
Các m ạch logic chia thành hai nhóm lớn: M ạch logic tổ hợp và m ạch logic trình tự (mạch
logic dãy). Mạch logic tổ hợp là m ạch c ó giá trị biến ra tại m ột thời điểm , chi phụ thuộc tổ hợp
giá trị các biến vào tại thời điểm đó. M ạch hình 1.1 a là m ạch lo g ic tổ hợp. Mạch logic trình tự
là m ạch logic c ó giá trị biến ra tại m ột thời điểm không những phụ thuộc tổ hợp giá trị các biến
vào tại thời điểm đó, mà còn phụ thuộc trạng thái bẽn trong m ạch ở thời điểm xét:
Q = Q (A, B, c , Si)
Trong đó A, B, c là các biến vào, Sị là trạng thái bén trong m ạch. Tại hai thời điểm khác
nhau, nếu tổ hợp giá trị các biến vào ở m ạch logic trình tự là g iố n g nhau, biến ra cùa m ạch tại
hai thời điểm đó vẫn có thể có giá trị khác nhau, nếu trạng thái bên trong m ạch ở hai thời điểm
là khác nhau.

1.3. MỨC LOGIC - TÍN HIỆU LOGIC


1.3.1.Mức logic
Trong các m ạch lo g ic điện, điện áp m ang thông tin vể hai giá trị của biến logic, và nó chỉ
có thể nằm ờ hai m iền giá trị hoàn toàn phần biệt nhau, gọi là hai mức logic, gồm mức cao H và
mức thấp L.
Hình 1.2a m ô tả m iền điện áp u cùa hai mức logic. Ta thấy:
U Hmin ¿ m ứ c c a o H < U Hm„ ; U Lmin < mức thấp L < U Lmax
Đ ể có được mức phòng vệ nhiểu yêu cẩu (xem mục 2.4), giới hạn mức cao và thấp ở cùa vào
và ra mạch logic được quy định khác nhau. Vi dụ các mạch logic họ TTL (xem mục 2.2), biến ra có
mức cao nầm trong mién 2,4 -r 5V , mức thấp ở trong mién 0 + 0,4V ; biến vào có mức cao H = 2
5V , mức thấp L = 0 -ỉ- 0,8V .

6
H H
^Hmax

^Hrnin

^Lmax

min

Hình 1.2. Mức logic - Tín hiệu logic


a) Hai mức logic; b) Các bước nhảy điện áp; c) Dãy xung vuông góc.

Nếu trong mạch logic, ta quy ước mức thấp L đặc trưng cho giá trị 0 logic, mức cao H đặc
trưng cho giá trị 1 logic, thì mạch gọi là mạch logic dương. Nếu quy ước ngược lại
(H - » 0, L —> 1), mạch sẽ gọi là mạch logic âm. Hiện nay đa số dùng quy ước của mạch logic
dương. Cuốn sách này cũng lấy quy ước đó.

1.3.2. Tín hiệu logic


Tín hiệu truyền trong mạch logic điện là điện áp. N ó chỉ có thể là các bước nhảy điện áp giữa
hai mức L và H. Nếu tín hiệu ở cửa vào và ra mạch logic nằm lâu dài Ờ m ứ e l/H (hình 1.2b), ta nói
mạch ở trạng thái tĩnh. Nếu tín hiệu ờ cửa vào và ra là một dãy xung vuông góc (hình 1.2c), ta nói
mạch ờ trạng thái động.

1.4. CÁC PHÉP TÍNH LOGIC


Có ba phép tính cơ bản trên các biến logic: phép tính hội, phép tuyển và phép phủ định.
Ngoài ra cũng phải kể đến phép tính HOẶC - LOẠI TR Ừ hay được dùng.

1.4.1. Phép tính hội


Phép tính hội (hay là phép nhân) trên các biến logic A , B, c ... sẽ cho một biến logic Q,
tính như sau: Q chì có giá trị 1 logic khi tất cả các biến độc lập A . B, c... đều bằng 1; Q sẽ bằng
0 logic nếu có ít nhất một biến độc lập bằng 0. Dấu “ A ” hoặc là ký hiệu phép tính hội:

Q = A a B a C a ... = A . B . C . . .

1.4.2. Phép tính tuyển


Phép tuyển (hay phép cộng) trên các biến logic A . B. c ... sê cho biến logic Q, tính như
sau: Q chỉ có giá trị 0 logic khi tất cá các biến độc lập A , B, c... đều bằng 0; Q sẽ bằng 1 logic
nếu ít nhất có một biến độc lập băng 1. Dấu “ v ” hoặc “+ ” là ký hiệu phép tính tuyến:

Q = A v B v C v . . . = A + B + C + ...

7
1.4.3. Phép tính phủ định
Phép phù định (hay phép đảo) trên biến logic A sẽ cho biến logic Q, ký hiệu:

Q = A

Giá trị Q luôn ngược với giá trị của A.

Ba phép tính trên là các phép tính logic cơ bản, vì chúng là cơ sờ để chuyển các hàm logic
phức tạp cho dưới dạng bảng chân lý, thành dạng biểu thức logic (xem m ục 3.2).

1.4.4. Phép tính HOẶC LOẠI TRỪ Báng 1.1. Bàng chàn lý

A 8 Q=A© B
Trước hết, hãy xét phép tính HOẶC LOẠI T R Ừ (còn gọi là phép -
0 0 0
XOR hay EX O R - viết tắt từ chữ EX CLUSIVE OR) trên hai biến
logic A , B: 0 1 1

1 0 1
Q = A 0 B = Ã .B + B.A
1 1 0
Giá trị Q cho ở bảng 1.1.

Trường hợp tổng quát, xét phép tính X O R trên


Bảng 1.2. Bảng chân lý
nhiéu biến logic:
A B c Q =A © B® c
Q = A f f iB f f iC © ...
0 0 0 0

Giá trị Q tính như sau: Q sẽ bằng 0 logic khi số biến 0 0 1 1

độc lập có giá trị 1 logic là một sô'chẵn; khi số biến dộc 0 1 0 1

lập mang giá trị I logic lả một sô'lè thi Q = 1 logic. Bảng 0 1 1 0
1.2 là bảng chân lý của hàm X O R ba biến độc lập. 1 0 0 1
1 0 1 0
1.5. NHỮNG TÍNH CHAT VÀ ĐỊNH LÝ 1 1 0 0
CỦA CÁC PHÉP TÍNH LOGIC 1 1 1 1
1.5.1. Tính ch ất củ a c á c phép tính logic
Cấc phép tính tuyển, phép tính hội và phép tính X O R có ba tính chất sau:
- Tính giao hoán: A + B = B + A ; A .B = B.A ; A © B = B © A .
- Tính kết hợp: A + B + C = A + (B + C) = (A + B) + C
A .B .C = A .(B .C ) = (A .B ).C
A © B © C = (A © B )© C = A ® (B ® C )
- Tính phân bố: A .(B + C ) = A .B + A.c
A + (B.C) = (A + B).(A + C)
A.(B©C) = A.B® A.c
Ví dụ: X .Y .(Z + M ) = X .Y .Z + X .Y .M
(X + Y )(M + N ) = M .(X + Y ) + N .(X + Y)
X .Y + (M .N ) = (X .Y + M ).(X .Y + N )
1.5.2. Các định lý của ba phép tính logic co bản
Bằng cách lần lượt gán cho biến logic các giá trị 1 và 0, ta dề dàng kiểm chứng được các
định lý sau:

a) A = A b) A .o = 0
c) A + 0 = A d) A .l = A
e) A + 1 = 1 f) A .A = A

g) A + A = A h) A .Ã = 0

i) A + Ã = l j) A .(A + B) = A

k) A + A.B = A + B ;

1) Định lý Demorgan: A.B = A + B; A + B = A.B


m) N guyên tắc đối ngẫu: Một đẳng thức logic sẽ vẫn còn đúng khi ờ hai vế, ta thay phép
cộng logic bằng phép nhân và ngược lại; giá trị 0 logic thay bằng 1 và ngược lại. Ví dụ:

A + A.B = A + B (định lý k) <-» A .(A + B) = A.B

A + 1 = 1 (định lý e) < >A .o = 0 (định lý b)


A .(A + B) = A (định lý j) <-> A + A .B = A

1.5.3. Các định lý của phép tính XOR


n) A © 0 = A ; p )A © l = Ă

q) A © A = 0 ; r )A © Ã = l

s) A @ B = Ã © B ;

u) A © B = Ã @ B = A © B = A .B + Ã .B ;
V) A © B = C < - > A @ C = B < - > B © C = A .

1.5.4. ứng dụng


Các tính chất và định lý ờ trẽn giúp ta tối giản các biểu thức Iogic, hoặc chuyển đổi dạng
cùa chúng.

a) R ú t gọn biêu thức logic


Khi rút gọn các biểu thức logic, tuỳ trường hợp cụ thể, ta thường dùng các cách sau:
- Lấv thừa số chung của các sô' hạng trong biểu thức.
- Thêm vào một số số hạng đã có trong biểu thức.
- Sừ dụng các định lv a) * k) và nguyên tắc đối ngẫu.

Ví dụ 1.1. Q = A + AB
= A( 1 + B) (do tính phân bố)
= A .l (do định lý e)
= A (do định lý d)

9
Cũng có thể dựa vào định lý j) và nguyên tắc đối ngẫu để rút gọn:

A. (A + B) = A N g uyèn ĩác dối ngẫu » A + A .B = A

Ví clụ 1.2. Q = A .B.C + A .B.C + A .B.C.D

= A .B .(C + C) + A .B.C.D (do tính phân bố)

= A .B .l + A .B .C.D (do định lý e)

= A .B + A .B .C .D (do định lý d)

= A.Ị^B + B .(C.D )J (do tính phân bố và kết hợp)

= A (B + C .D ) (do định lý k)

Ví dụ 1.3. Q = A .B.C + A B C + A.B.C

= A .B.C + A .B.C + A.B.C + A .B.C (do định lý g)

= A .B (C + C) + A .C (B + B) (do tính phân bố)


= A.B. 1 + A .c . 1 (do định lý i)
= A .B + A .C (do định lý d)

b) Chuyên dạng biêu thức logic


Định lý Dem organ hay dùng để chuyển một biểu thức lo g ic dạng “tổng các tích” sang
dạng “tích các tổng”, hoặc ngược lại.

Biểu thức logic dạng “lổng các tích" (còn gọi là dạng hàm tuyển, hay dạng hàm HOẶC) là một
tổng (phép cộng) logic của các số hạng; m ỗi số hạng là một tích (phép nhân) trên các biến logic.

V i d ụ : A .B + A .B .C ; A .B + A .C ; A .B.C + A .B.C + A .B .C .

Biểu thức logic dạng “tích các lổng” (còn gọi là dạng hàm hội, hay dạng hàm VÀ) là một
tích logic; m ồi thừa số của tích là m ột tổng các biến logic.

Ví du: (A + B ).(A + B + C ); (A + C ).(A + B ); (A + B + C ).(A + B + C ).(A + B + C)


Đ ể chuyển giữa hai dạng cùa biểu thức logic biểu diễn hàm Q (A ,B ,C ). ta làm theo ba bước:

Bước 1: Theo định lý a (mục 1.5.2), ta có thể làm hai phép tính phủ định liên tiếp trẽn toàn bộ
biểu- thức:

Q (A ,B ,C ) = Q (A ,B ,C ).

Bước 2: D ùng định lý Dem organ để chuyển Q (A ,B ,C ) sang dạng khác:

Q * (A ,B ,C ) = Q (A ,B ,C )

Bước 3: Biểu thức logic mới biểu diễn hàm Q (A , B. C) sẽ là:

Q * (A ,B .C )

10
Ví dụ 1.4: Chuyển dạng hàm tuyển Q = A.B.C + A .B .C sang dạng hàm hội. Ta có:

Bước 1: Q = A.B.C + Ã.B.C

Bước 2: Q ‘ = A.B.C +A .B .C

= (A .B.C ).(A .B.C ) (d o Demorgan)

= (A + B + C ).(A + B + C) (doD em organ)

= (Ã + B + C ).(A + B + C)

Bước 3: Q = Q* = ( A + B + C ).(A + B + C)

Ví dụ 1.5: Chuyển dạng hàm hội Q = (A + B + C ).(A + C) sang dạng hàm tuyển. Ta có:

Bước 1: Q = (A + B + C ).(Ă + C)

Bước 2: Q ’ = (A + B + C ).(A + C)

= (A + B + C) + (A + C) (do Demorgan)

= A .B.C + Ă .c (do Demorgan)

= Ã.B.C + A .c

Bước 3: Q = Q* = Ã .B .C + A.C

1.6. BA PHẦN TỬ LOGIC c ơ BẢN


Ba phần từ (còn gọi là cổng) logic cơ bản là các mạch logic thực hiện ba phép tính logic cơ
bản: phép tính hội, phép tuyển và phép phủ định.

1.6.1.Phần tả VÀ (AND)
Phẩn tử V À là mạch thực hiện phép tính hội trên các biến logic ở cửa vào. Biến Q ờ đẩu ra
mạch là hàm của các biến vào A, B, c ... gọi là liàm VÀ'. Q (A ,B .C ...) = A A Ba C... = A.B.C...

i
-o I o--------------o Q = A.B
ỊI o ---- •—

-± - E

a)

Hình 1.3. Phẩn tử VẢ hai đáu vào:


a) Mạch logic role của phán từ VÀ hai đấu vào; b), c) Ký hiệu phần tử VÀ hai đáu vào'
d) Đáp ứng dạng sóng của phán tử VÀ.

11
Hình 1.3a. là m ột cấu trúc m ạch logic rơie cùa phần tử V À có hai biến vào A , B. Chi khi
điện áp trên hai cuộn dây rơle đều ờ mức cao, ví dụ 5V (A = B = H = 5V = 1 logic), thì hai tiếp
điếm A , lỉ đểu đóng và Q = E (V ) = 1 1 = 1 logic. N ếu ít nhấl có một điện áp trên hai cuộn dây ờ
mức thấp L, ví dụ o v , một tiếp điểm sẽ m ờ và Q = o v = L = 0 logic. V ậy Q = A.B.
Hình 1.3b, c tương ứng là ký hiệu truyền thống và ký hiệu theo tiêu chuẩn IEEE/ANSÍ cùa
phán tử V À hai đầu vào.
Hình 1.3d vê đáp ứng dạng sóng cùa tín hiệu ra Q, theo dạng sóng của hai tín hiệu vào A , B.

1.6.2. Phần tử HOẶC (OR)


Phần tử HOẶC là mạch thực hiện phép tuyển trên các biến logic ờ cứa vào. Biến Q ờ đầu
ra có quan hệ hàm HOẶC với các biến vào A , B, C: Q = AV B V c V ... = A+ B+ c + ...

Hinh 1.4. Phán tử HOẶC hai đấu vào:


a) Mạch logic rơle của phẳn tử HOẶC hai đáu vào; b), c) Ký hiệu phán từ HOẶC hai đáu vào;
d) Đáp ứng dạng sóng cùa phán tử HOẶC.

Hình 1.4a là m ạch logic rơle của phần tử H OẶC hai đầu vào. Chi khi A = B = L = 0 logic
thì hai tiếp điếm rơle đều m ớ và Q = o v = L = 0 logic. N ếu ít nhất có m ột tiếp điểm đóng

(A = H = 1 lo g ic hoặc B = H = 1 lo g ic ...) thì Q = E (V ) = H = 1 logic. V ậy Q = A + B.

Hình 1.4b, c luơng ứng là ký hiệu theo truyền thống và theo chuẩn IEE E /A N Si của phần tử
HOẶC hai đầu vào. Hình 1.4d là ví dụ về đáp ứng dạng sóng của nó.

Từ các hình 1.3a và 1.4a la suy ra kết luận: M ạch logic rơle của phần tử V À n đáu vào gồm
n tiếp điểm 1'ơle nối tiếp nhau; m ạch lo g ic rơle của phần tử HOẶ C m đầu vào gổm m tiếp điém
nối song song

1.6.3. Phần tử ĐẢO (Inverter)


Phán tử Đ Á O là m ạch thực hiện phép phú định trên biến logic A . Biến ra Q có quan hệ

hàm Đ À O với biến vào A: Q = A

Hinh 1,5a là m ạch logic rơle của phán tứ Đ Ả O . N ếu A = H = 1 logic, tiếp điếm A đ ón g và
Q = o v = L = 0 logic. Ngược lại khi A = L = 0 lo g ic thì tiếp điếm A m ớ và Q = E (V ) = H = 1
logic. V ậy Q = A .

12
Hình 1.5b, c là ký hiệu phần tù Đ ÁO theo truyền thống và theo chuẩn IEEE/ANSi.

Hinh 1.5d là ví dụ về đáp ứng dạng sóng cùa phần tứ.

Hinh 1.5. Phắn từ ĐẢO:


a) Mạch logic role cùa phán tử ĐẢO; b), c) Ký hiệu phán tử ĐẢO; d) Đáp ứng dạng sóng cùa phán từ ĐẢO.

1.6.4. ứng dụng


Với một biểu thúc logic xác định, cho dưới dạng hàm tuyển hay dạng hàm hội. ta có thể
dùng các phần tử logic cơ bán ở trên kết nôi với nhau, tạo thành mạch thực hiện biếu thức đó.
Vi dụ Lố: Cho biểu thức logic dạng hàm hội
Q = (A + B ).(B + C ).T a có thể dùng các phần tử
logic cơ bán, kết nối thành sơ đồ (m ạch) logic thực
B+C
hiện hàm này (hình 1.6).
Ví dụ 1.7: Hãy xây dựng mạch logic tự động Hình 1.6. Ví du 1.6

điểu khiến mớ cửa các câu lạc bộ, theo quy định sau: Muốn vào cáu lạc bộ thì khách phái trình
thè hội viên và nộp 1 .OOOđ; hoặc nếu không có thè thì phai nộp 5.000đ.
Gọi Q, A , B, c là những biến logic, tương ứng đặc trưng cho các hiện tượng đóng/m ớ cứa;
có/không có thé hội viên; nộp/không nộp tiền l.OOOd; nộp/không nộp tiền 5.000đ. Giá trị 1 ,0
cùa các biến quy ước theo báng 1.3.
Bàng 1.3.
Giá trị logic Q A B c

1 Mở cửa Có thẻ Nộp 1.000Ổ Nộp 5.000đ

0 Đóng cửa Không có thẻ Không nộp 1.000đ Không nộp 5.000đ

V.__
Q = AB + c Q = AB + c
z= £>
— V . _________

/7 7

Hình 1.7.V\ dụ 1.7.

13
Đ ể m ớ cửa (Q = 1), phái có m ột trong hai điểu kiện sau:
- HOẶC A = B = 1, nghĩa là Q = A .B = 1;

— HOẶC c = I , nghĩa là Q = c = 1
Vậy: Q = A .B + C.
Hình 1.7a là sơ đổ logic thực hiện hàm này. Hình 1.7b là mạch logic rơle tương ứng.

1.7. CÁC PHẦN TỬ LOGIC ĐA NĂNG


1.7.1. Phần tử VÀ - ĐẢO (NAND)
Phẩn từ V À - Đ Ả O là mạch logic thực hiện hai phép tính liên tiếp nhau: Phép nhân trên
các biến vào A , B, c ...; tiếp theo lả phép phủ định lên kết quả phép nhân. Biến ra: Q = A.B.C...
Q chỉ có giá trị 0 logic khi tất cả các biến vào bằng 1 logic.
Hình 1.8a, b
tương ứng là ký A *-----1— X Q•— !T"k Ã
&
.V A
A ° V//Á///.
• hiệu theo truyền
thống và theo b)
chuẩn IEEE/ANS
„ Ã l_
của phần tử
N A N D hai đầu
vào. Hình 1.8c là
Hình 1.8. Phán tử NAND hai đầu vào:
sơ đổ logic tương
a), b) Ký hiệu phán tử NAND hai dầu vào; c) Sơ đó logic tương đưong với NAND hai đáu vào;
đương với nó.
d) Ví dụ vé đáp ứng dạng sóng của NAND hai đáu vào.
Hình 1.8d là ví
dụ về đáp úng dạng sóng cùa N A N D hai đầu vào A , B.

1.7.2. Phần tử HOẶC - ĐẢO (NOR)


Phần tử HOẶC - Đ Á O là mạch logic thực hiện hai phép tính liên tiếp: Phép cộng trên các
biến vào A , B, c ... tiếp theo là phép phù định lên kết quả phép cộng. Biến ra: Q = A + B + c ...

Q có giá trị 1 logic chỉ khi tất cá các biến vào đều bằng 0 logic.
Hình 1.9a, b là ký hiệu của N O R hai đẩu vào. Hình 1.9c là sơ đồ logic tương đương với nó.
Hình 1.9d cho ví dụ đáp úng dạng sóng cùa NOR hai đầu vào.

:= 0 - Q >1

b)

Q = A +B

c) d)

Hình 1.9. Phán tử NOR hai đáu vào:


a), b) Ký hiệu phán tử NOR hai đáu vào; c) So đó logic tương đương với NOR hai đáu vào:
d) Vi dụ đáp ứng dạng sóng của NOR hai đáu vào.

14
1.7.3. ứng dụng NAND/NOR
N A N D /N O R là những phẩn tử logic đa năng. Thật vậy:

a) N A N D /N O R làm phần tử Đ Ả O (hình 1.10)

t Ị > A <=> <=> A = o - Ầ <=> ° ^ |> ^ A


1 °
Hình 1.10. Dùng NAND/NOR làm phán từ ĐẢO.
b) N A N D /N O R tạo thành phần tử VÀ/HOẬC

A + B = A + B = Ã.B; A.B = A.B = Ã + B


Từ những biến đổi trên, có thể dùng NAND/NOR nối theo hình 1.11 đẽ' hình thành các phẩn tử
AND/OR.

Hình 1.11. Két nối NANO/NOR thành phán từ AND/OR.

Dựa theo định lý Demorgan: A + B + c = A.B.C ; A.B.C = A + B + c . Ta có thêm sự thay


thê' tương đương ờ hình 1.12

ỉ r= r~ Y i L « ỉ r = p > £ . :
c . — a-------y ABC c . — l— y c —i — / A + B + c c *— I------------------- '

Hình 1.12. Một sự thay thé tương đương cùa NAND/NOR


c) D ùng c h ỉ các phần tử N A N D /N O R đê thành lập mạch, thưc hiện m ộ t biểu thức
logic xác định
Nếu biểu thức logic cho dưới dạng hàm tuyển (tổng các tích) thì dùng các phần tử N A N D
để xây dựng mạch sẽ đơn giàn. V í dụ:

Q (A ,B ,C ) = A .C + A.B (1 .1 )
Chuyển hàm Q (A , B, C) thành:

Q = Q = A .C + A .B = (A .C ).(A .B ) ( 1.2)
Dựa theo (1 .2), ta thành lập mạch chỉ gồm các phần từ N A N D như ở hình 1.13a.
N ếu biểu thức logic cho dưới dạng hàm hội (tích các tổng), ta dùng các phần tử NOR xây
dựng mạch sẽ đơn giản. V í dụ:

Q (A ,B ,C ) = (A + C ).(A + B) (1.3)

15
Chuyển hàm Q (A , B, C) thành:

Q = Q = (A + C ).(Ã + B) = (A + C ) + (Ã + B) (1.4)

Dựa theo (1 .4 ) thành lập m ạch chỉ gồm các phần tử N O R như ở hình 1.13b.

a) b)

Hình 1.13a) Mạch dùng NAND, xây dựng theo biểu thức (1.2); b) Mạch dùng NOR, xây dựng theo biểu thức (1.4).

Cần lưu ý ràng, dạng (1.1) và (1 .3 ) tương ứng cũng c ó thể dùng N O R và N A N D để xây
dựng, nhưng m ạch sẽ trở nên phức tạp hơn. V í dụ, biểu thức (1 .1 ) c ó thể biến đổi như sau:

Q = A .c + Ã .B = (Ã !ẽ )(Ã .B ) = (Ă + C ).(A + B)

= (Ã + C ).(A + B ) = (Ã + C) + (A + B )

Quan hệ (1 .5 ) có thể thực hiện nhờ mạch chỉ gồm các phần tử N O R hai đầu vào. Được Q
rồi, chỉ cần thêm một phần tử N O R để làm phép phủ định là có được Q. Bạn đọc hãy tự vẽ
mạch và sẽ thấy rằng nó phức tạp hơn m ạch hình 1.13a.

1.8. CỔNG LOGIC


M ột ứng dụng khá phổ biến cùa các phẩn tử A N D , O R , N A N D , N O R là dùng chúng như
một cửa ngõ cho dòng dữ liệu đi qua hoặc chặn lại, gọi chung là cổng logic. Đ ể làm cổng, ta
chi cần chọn các phần từ c ó hai đầu vào. M ột đầu đặt dòng dữ liệu A; đầu kia đặt tín hiệu điều
khiển đk để m ờ/đóng cổng, cho phép dữ liệu qua hay chặn nó lại.

a) X ét ừư ờng hợ p cồng VÀ (hình 1.14a)


Bảng chân lý ờ hình 1.14b m ô tả rõ điéu kiện m ở và đóng cổng. Khi đk = 1 logic thì Q =
A: Cổng m ờ và dữ liệu A được phép đi qua cổng. Khi đk = 0 logic thì Q luôn bằng 0 logic, độc
lập với giá trị cùa dữ liệu A. Ta nói cổng đóng, dòng dữ liệu bị chặn, Q chốt chặt ờ 0 logic.

Đẩu vào Đầu ra


Trạng thái cổng
đk A Q

1 0 0
Mò cổng Q=A
Hình 1.14. Điéu khiển 1 1 1
mà/đóng cổng VÀ.
0 0 0 Q chốt ở 0
Đống cổng
0 1 0 logic

16
b) X ét trường h ợ p công HOẶC (hừứi l.lSa)
Đ iều kiện m ờ/đóng cổng ngược với cổng V À. Khi đk = 0 cổng mờ, Q = A. Khi đk = 1
logic, cổng đóng; Q chốt ở 1 logic.

Đầu vào Đầu ra


Trạng thái cổng
đk A Q
b) 0 0 0
Mở cổng

II
>
o
a) 0 1 1
Hình 1.15. Điéu khiển 1 0 1
mở/đóng cồng HOẶC. Đóng cổng Q chốt ở 1 logic
1 1 1

c) N A N D /N O R
D ễ dàng suy ra các cổng N A N D /N O R có điểu kiện đóng/m ờ tương ứng giống điều kiện
đóng/m ở cổng V À /H O Ặ C . Tuy nhiên, khi cổng mở, dòng dữ liệu A truyền qua hai cổng này bị
Đ Ả O đi (Q = A).
d) Vài v í dụ
- Hình 1.16 chì rõ tín hiệu ờ đầu ra Q các cổng logic, ứng với khi tín hiệu điều khién đk
nằm ở mức thấp L (0 Iogic), và mức cao H (1 logic).

Hình 1.16. Tín hiệu ở đáu ra khi đóng/mà cảc cổng logic.
- M ột băng tải chở liệu đổ vào phễu cấp. Yêu cầu xây dựng mạch báo động làm còi kêu khi
phều cấp liệu đã đầy mà băng tải vẫn còn chạy.
Hình 1.17 là một sơ đồ điểu khiển logic thỏa
mãn yêu cáu cùa bài toán. Gán hai giá trị 1 ,0 cùa
biến logic A tương ứng báo băng tải chạy hay
dừng; hai giá trị 1, 0 của biến B chỉ tương ứng
phễu cấp liệu đã đầy hay còn vơi.
Khi có sự cố, phễu cấp liệu đã đầy mà băng tải
vẫn còn chạy, thì A = B = 1 logic và đk = A.B = 1.
Cổng V À 2 m ờ cho dãy xung tẩn sô' 2kHz đi qua. Hình 1.17. Vi dụ 2.
Khóa tranzito 2 N 3055 vì vậy sẽ đóng/ngắt với tần sô' 2kHz dòng điện qua còi, làm còi kêu Khi
không có sự cô' (A = B = 0 logic hoặc A * B ), đk = A .B = 0 logic; cổng 2 chặn lại dãy xung
2kHz, đầu ra cùa nó luôn ờ mức thấp L (ví dụ 0V ), tranzito 2 N 3055 bị chốt ờ trạng thai khóa
'ngắt) và còi không kêu.

17
Tóm lại ngoài nhiệm vụ thực hiện các phép tính logic, những phần từ A N D , O R , N A N D ,
NOR còn dùng làm cửa ngõ để cho qua hay chặn lại dòng dữ liệu. V ì vậy, ta thường gọi chúng
là các cổng (gate). Phần tử Đ Ả O và các phẩn tử XOR, X N O R (sẽ khảo sát ờ mục sau) hoàn
toàn không giữ vai trò m ột cổng logic, nhưng người ta cũng thường quen gọi chúng là cổng.

1.9. PHẦN TỬ TƯƠNG ĐƯƠNG VÀ KHÔNG TƯƠNG ĐƯƠNG


1.9.1. Phần tử không tưong đưong (Exclusive - OR - > XOR)
Cổng XOR là m ạch thực hiện phép tính HOẬC LOẠI T R Ừ trên hai biến logic A , B. Biến ra:

Q = A © B = A .B + B.A
Q sẽ bằng 1 logic khi hai biến vào A , B không bằng nhau; nó sẽ bàng 0 logic khi A = B. Dựa
vào biểu thức logic ờ trên, bạn đọc hãy dùng các cổng N A N D tự thành lập mạch cùa cổng XOR.

b) c)

Hình 1.18. Cổng XOR: a), b) Các ký hiệu của cổng XOR; c) v t dụ vé đáp ứng dạng sóng của cổng XOR.

Hình 1.18a, b là cấc ký hiệu cùa cổng XOR. Hình 1.18c là ví dụ về đáp ứng dạng sóng cùa
XOR theo dạng sóng ở hai đầu vào A , B.
1.9.2. Phần tử tưong đương (Exclusive - NOR -> XNOR)
c ổ n g tương đương là m ạch thực hiện phép tính: Q = A © B = A .B + A .B
Q sẽ bằng 1 logic khi A = B; nó bằng 0 logic khi A * B.

Hinh 1.19. Cổng XNOR: a), b) Các ký hiệu cùa cổng XNOR; c) Ví dụ vé đáp ứng sóng của XNOR.

Hình 1.19a, b là các ký hiệu của cổng X N O R . Hình 1.1 9 c là đáp ứng dạng sóng cùa
X N O R theo dạng sóng trên hai đẩu vào A , B.

1.9.3. ứng dụng


XOR , X N O R thường c ó các ứng dụng sau:
a) Dùng X O R , X N O R tương ứng làm phẩn tử phát hiện sự không tương đương hoặc tương
đương cùa hai biến logic.

18
b) Dùng X OR , XNOR như một phần tử ĐẢO có điểu khiển. Nếu sử dụng một đầu vào của
X O R /X N O R làm đầu điều khiển, ví dụ đầu B; đầu còn lại đặt dòng dữ liệu A , thì trạng thái đâu
ra Q sẽ như sau:

- V ớ i X O R : Q = A © B = Ă . B + B . A —> 13 = 0 t h ì Q = A ; B = 1 t h ì Q = A .

- XNOR: Q = A © B = A .B + Ã .B —> B = 0 thì Q = Ã; B = 1 thì Q = A.


Hình 1.20 cho ví dụ về dòng dữ liệu A được điều khiên qua cổng X O R /X N O R theo tín
hiệu điểu khiên 0/1 logic.

» r ; o r : : = E > r
-rLn- a) _n_n_ _n_n_ -TƯT-

Hình 1.20. Điếu khiển dòng dữ liệu qua cổng XOR, XNOR.

c) Có thể nối tầng các cổng XOR, XNOR để thực hiện phép tính HOẶC LOẠI TRỪ,
HOẶC LOẠI T R Ừ - Đ Ả O trên nhiều biến logic.

- Phép tính HOẶC LOẠI TRỪCÓ tính kết hợp. D o đó việc nối tầng các cổng XOR tựa như
nối tầng các cổng A N D , OR (hình 1.21).

A N A S B
A . V\ \ A © B ____ B » // I
B . )) y X A S B S C | _ Y j --- n n a ® B © C © D

•-------------- c ----NC 0 D

Hinh 1.21. Nối tầng các phần tử XOR.

- Có thể dùng các cổng XOR, XNOR nối tầng để thực hiện phép tính HOẶC LOẠI T R Ừ -
ĐẢO trên nhiều biến logic. Hình 1.22a, b là các mạch làm phép tính HOẶC LOẠI T R Ừ - Đ ÀO trên
ba biến logic A, B, c .

B •s^ Ã ẽệẽc B

a) b)

Hinh 1.22. Các mạch làm phép HOẶC LOẠI TRƯ - DÁO trẽn ba biến logic.

1.10. KHÁI NIỆM VỂ MÃ - MÃ ASCII


1.10.1. Khái niệm vể mã
Mã là một quy tắc đặt ra để biếu diễn các thõng tin. N ó gồm một số hữu hạn những từ mã'
m ỗi từ mã được gán biểu diễn một thông tin.

19
thể biểu diễn cho 2" thông tin. V iệc gán m ỗi từ m ã biểu diễn cho từng thõng tin xác định gọi là
mã hóa. V iệc làm ngược lại gọi là giải mã.

1.10.2. Mã ASCII (Am erican Standard C ode for Information Interchange)


Mã ASCII là một mă nhị phân 7 bít thông dụng để mã hóa các ký tự trong xừ lý vãn bản
(các chữ cái; chữ số 0 -í- 9; các dấu ?, !, >, < ,...). Số ký tự tối đa có thể mã hóa là 2 7 = 128.

Bảng 1.4 là bảng mã hóa cùa mã ASCII. Trong bảng chỉ c ó 9 4 ký tự, ứng với các từ mã
b6b5b4b3b2b,b0 = 0100001 4- 1111110, là có thể in hay hiển thị trên màn hình m áy tính. Các từ
mã còn lại mã hóa cho các ký tự điểu khiển quá trình truyền thông nên không in hay hiển thị
được. Chúng dùng điều khiển sự làm việc cùa máy in và màn hình.
Bảng 1.4. Bảng mã hóa ASCII

b6bsb4 - >
000 001 010 011 100 101 110 111
t>3 b2 b, bo
0 0 0 0 NUL DLE SP 0 @ p p

0 ũ 0 1 SOH DC1 I 1 A Q a q
0 0 1 0 STX DC2 “ 2 B R b r
0 0 1 1 ETX DC3 # 3 c s c s
0 1 0 EOT DC4 $ 4 D T d t
0 1 1 ENQ NAK % 5 E u e u
0 1 1 0 ACK SYN & 6 F V f V
0 1 1 1 BEL ETB ' 7 G w 9 w
1 0 0 BS CAN ( 8 H X h X
1 0 1 HT EM ) 9 I Y i y
1 0 1 0 LF SUB * J z z
i
1 0 1 1 VT ESC + ; K I k {
1 1 0 FF FS , < L \ I I
1 1 1 CR GS - = M ] m }
1 1 1 0 SO RS > N A n -
1 1 1 1 SI US / ? 0 - 0 DEL

Bảng 1.5 cho ví dụ lệnh điều khiển của một số từ m ã ASCII.

Bảng 1.5. Lệnh điéu khiển của một số từ mã ASCII

Từm ã Ký tự điếu khiến Lệnh điểu khiến


00001 1 1 BEL Chuông
0001001 HT Lạp bảng hàng ngang
0001010 VT Lập bảng háng dọc
0001100 FF Sang trang
0100000 SP Giãn cách
0001000 BS Xóa ngược
0001010 LF Xuống dòng
1111111 DEL Xóa
0001101 CR Vé đáu dóng

20
Mã ASCII tuy có 7 bit, nhưng để lưu giữ m ột ký tự, nó chiếm trọn một ô nhớ 8 bít cùa bộ
nhớ (xem mục 7.4). V í dụ để lưu trong bộ nhớ chuỗi ký tự AM 4d, cần 5 ô nhớ 8 bít (có địa chỉ
từ 0 + 4 chẳng hạn). N ội dung lưu trong 5 ô nhớ như sau:

Địa chỉ ô nhớ Nội dung ghi Ký tự được ghi

0 01000001 A

1 01001101 M

2 00100000 Giãn cách

3 001 1 0 1 0 0 4

4 01100100 d

Bít thứ 8 của m ỗi ô nhớ là bít thừa ra nên đều ghi sô' 0. Bàn phím một số máy tính thế hệ
cũ dùng mã ASCII nên đôi khi nó còn được gọi là mã bàn phím. Khi ấn một phím, từ mã ASCII
tương ứng được tạo ra và gùi đi. Các máy tính IBM đùng mã ký tự EBCDIC c ó nhiều ký tự điều
khiển hơn. Tuy nhiên, ngay IBM ngày nay cũng đã bắt đầu sử dụng ASCII.

1.11. PHƯƠNG PHÁP B iể u DIỄN s ố


Đ ể biểu diễn các số, người ta đặt ra một số mã đặc biệt gồm: các hệ đếm, mã BCD, mã Gray...

1.11.1. Các hệ đếm


Hệ đếm là m ột mã biểu diễn các số, xây dựng theo quy tắc sau: M ột số N có thể viết dưới
dạng tổng quát:

i I
N = Ễ a kR k + I akR k (1.6)
k=0 k = -l

Phần ng uy ên Phần lẻ

Trong đó: R là số nguyên lớn hơn 1, gọi là cơ số cùa hệ số đếm;


ak = 0, 1 ,2 ,.!., R - 1;
m, n là các số nguyên dương.
Đ ể cho gọn, số N viết dưới dạng một dãy các chữ số ak:
N = a na n_l ...ak...a1a0,a_,a_2...am (1.7)

M ỗi chữ số ak trong dãy (1.7) đặc trưng cho số hạng akRk của tổng (1.6). Hệ sô' Rk gọi là
trọng số cùa sô' ak trong dãy. Dấu (hoặc dấu ờ dãy (1.7) phân tách giữa phần nguyên và
phần lẻ.
Theo cơ số R, ta c ó các hệ đếm thông dụng sau:
a) H ệ đếm ửtập phán
R = 10; ak= 0, 1 , 2 ..... 9. Sô' biểu diễn trong hệ đếm thập phân gọi là số thập phân. Ví dụ:

N = 365 ,2 5 = 3 x l 0 2 + 6 x l o ' + 5 x l 0 ° + 2 x l 0 _1 + 5 x i c r 2
M ỗi số hạng ak trong dãy số của số thập phàn gọi là một digit. Số 365,25 ờ trẽn là số thập
phân năm digit. Hai digit liền kể có trọng số chênh lệch nhau 10 lần.

21
b) H ệ đếm n h ị phân
R = 2; ak = bk = 0, 1 (trong hệ đếm nhị phân, ký hiệu ak thay bằng bk và gọi là bit). Số biểu
diễn trong hệ đếm nhị phân gọi là số nhị phân. Hai bit liền kề trong số nhị phân có trọng sô'
chênh lệch nhau hai lần. Ví dụ:

N = 11011.01 = 1 x 2 4 + I x 2 3 + 0 x 22 + 1 x 2 ' + 1 x 2 ° + 0 x 2 ~ ' + 1 x 2 ' 2 = 27.25


M ột số nhị phãn n bit biểu diền số nguyên mà bit nào cũng bằng 1, sẽ cho sổ cực đại:
N m„ = l l l . . . l l = 2 n -1

n r -
n bit
Bit tận cùng phía phải số nhị phân n bit biểu diễn số nguyên, c ó trọng số nhỏ nhất (2"= 1),
gọi là bit có trọng số nhỏ nhất LSB (Least Significant Bit). Bit tận cùng phía trái có trọng số lớn
nhất (2n_1), gọi là M SB (M ost Significant Bit).
Các m áy tính giới hạn độ dài số nhị phân được xử lý (thường là 8 bit, 16 bit, 32 bit), để có
thể lưu giữ nó trong thanh ghi (xem mục 6.5) hay trong các ô nhớ cùa bộ nhớ (xem mục 7.4).
Số nhị phân 8 bit gọi là một byte và có giá trị lớn nhất là 11111111 = 2 - 1 = 255. So nhị phân
16 bit gọi là một từ (word); giá trị lớn nhất nó có thể biểu diễn là 2 16 - 1 = 65535. Hiện nay, có
những bộ vi xử lý làm việc với số nhị phân độ dài lên tới 64 bit.
Tuy số nhị phân được dùng rộng rãi trong các hệ thống số xử lý dữ liệu, nhưng nó rất dài,
khó viết, khó nhớ. V ì vậy, khi viết chương trình hợp ngữ cho các m áy tính; hoặc ngay trong
cách biểu diễn số thông thường của những người làm nghề kỹ thuật số, hệ đếm H exa được dùng
nhiều nhất.
c) H ệ đếm Hexa (hay h ệ đếm cơ s ố 16)
R = 16; ak = 0, 1, 2 ...... 9, A , B, c, D, E, F.
Các chữ cái A -ỉ- F tương ứng biểu diễn các số từ 10 + 15. S ố biểu diễn trong hệ đếm Hexa
gọi là số Hexa. Hai số hạng liền kề trong số H exa có trọng số chênh lệch nhau 16 lần. Ví dự.

N = 2B 6 = 2 x l 6 2 + 1 1 x 1 6 ' + 6 x 1 6 ° = 6 9 4
Đ ể phân biệt các số biểu diễn trong những hệ đếm khác nhau, ta quy ước cách viết như
sau: Số thập phân kết thúc bằng chữ đ (hoặc không có chữ cái kết thúc), ví dụ 365,2d; số nhị
phân kết thúc bằng chữ b, ví dụ: lO U b ; số Hexa kết thúc bằng chữ h, ví dụ: 256h.

1.11.2. Mã BCD (Binary C oded Decimal)


Mã BCD thực chất là một hệ đếm thập phân, nhưng các giá trị 0 -r 9 của m ỗi digit trong số
thập phân được mã hóa bàng số nhị phân 4 bit. N hư vậy, một số thập phân k digit chuyển sang
mã BCD sẽ là một dãy nhị phân 4k bit. Ví dụ:
1 5 2 , 6 d = (0001 0101 0 0 1 0 .0 U 0 )BCD

Phàn biệt mã BCD với số nhị phân bằng cách thêm chữ BCD ờ cuối dãy nhị phân. Số biểu
diễn bằng mã BCD gọi là số BCD, hay số thập phân mã hóa nhị phân. Bốn bit để mã hóa một
chữ số thập phân, có thể từ 0 0 0 0 đến 1001. Các tổ hợp còn lại, từ 1010 đến 1111 là không hợp
lệ đối với số BCD.

22
Biểu diễn một số dưới dạng số nhị phân gọn hơn số BCD. Tuy nhiên, việc chuyển đôi giữa
sô' BCD và số thập phân rất dễ, nên nhiều trường hợp xử lý số dùng số BCD. Ví dụ, kết quả đo
trong các thiết bị đo số thường biểu diễn dưới dạng mã BCD, vì thủ tục để chuyển nó sang dạng
hiển thị số thập phân tương đối đơn giản. Bàng 1.6.
Từng nhóm 4 bit trong mã BCD gọi là một chữ số (hay digit). Có hai Số

cách lưu giữ số BCD trong các phần tử nhớ (thanh ghi, ô nhớ) để máy tính thập
Gray
xử lý: phán
- Hai chữ số liền kề cùa số BCD được lưu giữ trong phần tử nhớ độ dài 1
0 0000
byte (gọi là 1 byte nhớ). Số BCD luu giữ theo cách này gọi là số BCD dạng nén
(packed BCD form). 1 0001

- M ỗi chữ số BCD được lưu giữ trong 1 byte nhớ. Số BCD lưu giữ 2 0011
theo cách này gọi là số BCD dạng không nén (unpacked BCD form).
3 0010
V í d ụ : Số 37d được biểu diễn thành số BCD dạng nén và không nén là:
37d = (001 101 1 l)B C D nón 4 0110

37d = (00000011000001 ll)BCDkho„8„í„ 5 0111


M áy tính, ví dụ bộ vi xử lý 8086 có lệnh cộng/trừ đối với cà hai dạng
6 0101
số BCD. Nhưng nó chỉ có lệnh nhân/chia đối với số BCD dạng không nén.
7 0100
1.11.3. Mã Gray
8 1100
Mã Gray là m ột mã nhị phân đặc biệt biểu diễn các số. Đ iểm đặc biệt
của nó là: Mã Gray biểu diễn hái số có giá trị liền kề nhau (chênh lệch 1 9 1101
đơn vị) thì chỉ có 1 bit trong mã phải thay đổi giá trị. Bảng 1.6 cho mã
10 1111
Gray biểu diễn các số 0 -ỉ- 15d. Trong bảng, ta thấy: Mã Gray biểu diển hai
11 1110
số thập phân nằm đối xứng qua đường phân cách giữa sô' 7 và 8 (v í dụ cập
số 7 - 8; 6 - 9; 5 - 10...) chì có bit tận cùng phía trái là khác nhau. 12 1010

Ư u điểm cùa mã Gray: Khi chuyển đổi giữa hai số liền kề thì chỉ có 13 1011
một bit trong mã phải thay đổi. Do đó, tránh được trạng thái sai xảy ra
14 1001
trong thời gian quá độ, do tốc độ chuyển trạng thái cùa cấc bit không đồng
đều. Mã Gray hay được dùng trong bộ mã hóa đĩa đo góc quay. 15 1000

1.12. CHUYỂN ĐỔI QUA LẠI GIỮA CÁC MÃ B lỂ u DIEN s ố


1.12.1. Chuyển đổi giữa cá c hệ đếm
a) Biến đổi s ố trong h ệ đếm ửìập phân sang các h ệ đếm khác
Đ ể biến đổi số trong hệ đếm thập phân sang biểu diễn ờ hệ đếm khác, có cơ số R * 10, ta
phải tiến hành theo hai bước: Biến đổi phắn nguyên và biến đổi phần lẻ của số thập phân.
- Quy lắc đổi phần nguyên
Chia liên tiếp phẩn nguyên cần biến đổi và các thương số của m ỗi lần chia cho cơ số R của
hệ đếm mà ta cẩn biến đổi sang, tới khi kết quả chia bằng 0 thì dừng. Phẩn dư cùa m ỗi lần chia
chính là giá trị cùa các số hạng ak trong dãy biểu diễn sô' ờ hệ đếm mới, bắt dầu từ sô' hạng có
trọng số nhỏ nhất, tới số hạng có trọng số lớn nhất.

23
Ví dụ 1.8: Chuyển số 175d sang số nhị phân, làm như sau:

175 2 = 87 dư 1 (LSB)
87 2 = 43 dư 1
43 2 = 21 dư 1
21 2 = 10 dư 1
10 2 = 5 dư 0
5 2 = 2 dư 1
2 2 = 1 dư 0
1 2 = 0 dư 1 (M SB)
V ậy 175d = 1010111 lb
Vi dụ 1.9: Chuyển 1 1 172d thành số Hexa, làm như sau:
11172 : 16 = 698 dư 4 = 4h
698 : 16 = 43 dư 10 = Ah
43 : 16 = 2 dư 11 = Bh
2 : 16 = 0 dư 2 = 2h
V ậy 1 1 172d = 2BA 4h
—Quy tắc dổi phần lê
N hân liên tiếp phần lẻ cúa số cần biến đổi và cũa các tích tìm được với cơ số R cúa hệ đếm
mà ta cần biến đổi sang, cho tới khi tích tìm được không còn phần lé thì dừng, s ỏ ớ phần
nguyên của các tích trong m ỗi lần nhân chính là giá trị các số hạng ak của dãy số trong hệ đếm
m ới, bắt đầu từ số hạng có trọng số lớn nhất, đến sô hạng có 0 375 X 2 =© 75 0 (MSB)
=© ■'
trọng số nhỏ nhất.
Ví dụ 1.10: Chuyên số 0,375d sang số nhị phân, làm như sau:
Vậy 0.375d = 0.01 lb . Đ em nhập ví dụ 1.8 và ví dụ 1.10 ta có
chuyên đồi sau:

1 7 5 ,3 7 5 d = 10101111.01 lb
0,75 X 2

t
0 ,5 0 x 2 = ( l) .0 1 (LSB)

b) Biên dôi sô'nhị phân, sốH exa sang sô' thập phân
Biến đổi số nhị phân, số H exa sang sô' thập phân có thể làm theo cách đã trình bày ờ mục
1.11.1 b, c. Tuy nhiên, có phương pháp biến đổi nhanh hơn, gọi là phương pháp các pliép nhún
lồng Iiliait. V í dụ quy tắc phép nhân lồng nhau biến sô' nhị phân sang thập phân như sau: Nhân
bit có trọng số lớn nhất (M SB) với 2 rồi cộng với bit liền kể. Sau đó, nhán kết quá với 2, rối lại
cộng với bit lién kề; đuợc kết quả lại nhân với 2 và cộ n g với bit liền k ề... Cứ làm như thế cho
đẽn khi cộng với bit có trọng số nhó nhất (LSB) thì dừng. Kết quả nhận được chính là sô thập
phân cần tìm. V i dụ:

11101b = 1.X2 + X —»3 X 2 + l - > 7 x 2 + '0 . - > 1 4 x 2 + ì =29d

Cách biên đổi số nguyên dạng H exa sang số thập phãn hoàn toàn tương tự, chi khác ờ chỗ:
thay vì nhân với 2 là nhân với 16. Ví dụ:

8A 2D h= 8 X16 + 10 -> 1 3 8 x 1 6 + 2 -> 2 2 1 0 x 16+ 13 = 35373d

Phương pháp các phép nhãn lồng nhau cho phép thực hiện nhanh chóng bằng m áy tính.

24
c) Chuyển đổi giữa sô'nhị phân và sô'Hexa
Vì cơ số của hệ đếm Hexa là R = 16 = 24 nên mỗi số hạng trong dãy (có giá trị 0 + 1 5 ) số
Hexa tương ứng với một nhóm 4 bit của số nhị phân. Ví dụ:

6 B2 h = ,0110, 1011 0010 b ; II . 0110. . 1011. 0100 11 b = 3 6 B . 4 c h

-J ỉ

Từ ví dụ chuyển số nhị phân sang số Hexa ở trên ta rút ra quy tắc: Bắt đầu từ dấu phân
biệt phần nguyên và phần lẻ của số nhị phân, đi ngược về hai phía và nhóm từng nhóm 4 bit.
Mỗi nhóm chỉ giá trị một số hạng của dãy số Hexa tương đương. Coi những bit thiếu của hai
nhóm tận cùng phía trái và phải có giá trị bằng 0.

1.12.2. Chuyển đổi giữa số thập phân và mã BCD


Mục 1.11.2 đã chỉ ra cách biến đổi từ số thập phân 8 2 3 = ( 1000 0010 001 ụ
sang mã BCD: M ỗi digit của số thập phân chuyển thành • • **
nhóm số nhị phân 4 bit của mã BCD. V í dụ (A). I
(A)

Quy tắc chuyển mã BCD sang sô' thập phân: Bắt



-r-'v— ^ 'BCD
đấu từ dấu Phán biệt phần nguyên và phần lẻ cùa
T t i số BCD, đi ngược về hai phía và nhóm từng nhóm 4
r
bit. Mỗi nhóm sẽ chi giá trị một digit của số thập
(B) phân. V í dụ (B).

1.12.3. Chuyển đổi giữa số nhị phân và mã Gray


- Chuyển số nhị phân sang mă Gray theo quy tắc sau: Thực hiện tuần tự phép tính XOR giữa
hai bit liền kề của số nhị phân để tạo ra bit tương ứng của mã Gray. Phép tính bắt đầu từ bit có trọng
số lớn nhất (MSB) và chú ý là: Bit đẩu tiên cùa mã Gray tương ứng với bit MSB cùa số nhị phân
luôn có giá trị giống nhau. Ví dụ: Đ ể biến các số nhị phân 100100b và 011 lb sang mã Gray, ta làm
theo sơ đổ biến đổi dưới đây:
MSB LSB
S ố n hị phán : | - ® _ » 0 - ® - > 0 - ® - > l - © - » 0 - © - » 0

I I
M ã Gray: 1 1 0 1 I c

MSB LSB

!ỉ
S ố nhị phàn: 0 - © - > l - l-©-»l

Mã Gray: 0 1 0 0
Vậy: 100100b = (1 1 0 1 10)Gray; O lllb = (0 1 0 0 )Cray

25
- Đ ế chuyên ngược lại từ mã Gray sang số nhị phân ta làm như sau: Bit dầu tiên trong mã
Gray chuyẻn thẳng xuống thành bit M SB cùa số nhị phản cẩn tìm. Sau đó thực hiện phép tính
XOR của bít này với bit kế theo cùa mã Gray; kết quả cho giá trị bít tiếp theo cùa số nhị phân.
Quá trình cứ tiếp tục như vậy. Ta có sơ đổ biến đổi sau:

Ma Gray: 0
/ Ạ /
) © I ®
sỏ' nhị phân: 0 ^ 1/ I / 1

V ậy (0 1 0 0 )Gray = O lllb

Tóm lại, việc biến đổi qua lại giữa các mã biếu diễn sô có thế diên tá theo sơ đồ sau:

1 1
Số Hexa <------► sỏ nhị phân M----- ► Sô thập phân

Gray BCD

Vi dụ, đế chuyến mã Gray sang số Hexa, ta làm theo trình tự: Gray —y số nhị phán - » số
Iíexa. Trình tự chuyên số nhị phân sang mã BCD là: sổ nhị phân -> số thập phán —> BCD.

1.13. PHÉP CỘNG/TRỪ HAI s ố TRONG CÙNG HỆ ĐẾM


1.13.1. Phép cộng
Quy tắc cộng hai số trong cùng hệ đếm cơ sỏ R hoàn toàn giống quy tắc cộn g hai số thặp
phân, nghía là: Cộng có nhớ mang sang, lần lượt hai sô hạng cùng trọng sô cúa hai toán hạng,
kể từ sô' hạng có trọng số nhỏ nhất dẩn trớ lên.
Khi cộng hai số hạng cùng trọng số at, bk sẽ cho kết quá sk ở số hạng tổng có trọng số
tương ứng. Nếu a t + b k > R thì s k = (a k + b k ) - R ; và số nhớ m ang sang, để cộng với cặp số

hạng có trọng số cao hơn liền kể, sẽ là c = 1. Nếu a k + b k < R thì s k = a k + b t và c = 0.

Ví dụ 1.11: Cộng hai số nhị phán A = 101 lb , B = 101 Ob. Ta có:


Mang sang c = 1 0 1 0

A+B= 1 0 1 0
Ví dụ 1.12: C ộng hai số lle x a M = A 34E h. N = 76B4h. Ta có:
Mans sans c = I o 1 1

M= A = 41806d
N= 7 = 30388d
M+N= = 72194d

26
1.13.2. Phép trừ
Quy tắc trừ hai số trong cùng hệ đếm cơ số R là: Trừ, có vay, lần lượt hai số hạng cùng trọng
số cùa hai toán hạng, kể từ cặp số hạng có trọng số nhỏ nhất dần trờ lẽn. Khi trừ hai sô' hạng ak, bk
sẽ được kết quả dk ở số hạng hiêu có trọng số tương ứng. Nếu số bị trừ ak nhỏ hơn số trừ bk, ta
phải vay một số bằng cơ số R :ùa số hạng bị trừ có trọng số cao hơn liền kề ak+|, và dk = (ak + R)
- bk. Đồng thời, để tính tới ak+| đã cho vay, nên phải có số bù mang sang, để cộng với số trừ bk+|
là c = 1. Nếu ak > bk thì dk = ak - bk và c = 0.
Ví dụ 1.13: Trừ hai số nhị phân A = 1101 b và B = 011 lb. Ta có:
Số bù mang sang c = I ! 0

_ A= I ì ò I = ] 3d
B= 0 1 Ị j_ = 7d
A - B= 0 1 1 0= 6d
Ví dụ 1.14: Tính hiệu hai số Hexa: M = A 34Eh, N = 76B4h. Ta có:

M = A 3 4 E = 41806d
“ N = 7 6 B 4 = 30388d

M -N = 2 c 9 A = 11418d

1.14. MÃ NHỊ PHÂN BIÊU DIEN s ố NGUYÊN CÓ DẤU


Trước khi đề cập đến cách biểu diễn số nguyên có dấu, hãy xét khái niệm về số bù 1 và số bù 2.

1.14.1. SỐ bù 2, số bù 1
ã) Sô'bù 2
Gọi N là số nhị phân n bít, số bù 2 của N , ký hiệu B ^ ’, định nghĩa là: B ^ 1 = 2" - N

Cách tìm B (N 1 từ N: Đ i từ bit có trọng số nhó nhất cùa số nhị phân biểu diễn số N ngược trờ lên,

gặp số 1 đầu tiên ta giữ nguyên; các bít sau đều đào giá trị. Số mới tìm được chính là B ™ . Ví dự.

N = 10101100 -> B‘n2) = 0 1 0 1 0 1 0 0

b) Sô'bù 1
Sô' bù 1 của số nhị phân n bit biểu diễn số N , ký hiệu b ỊỊ* , định nghĩa là:

B(|J) = B<N2 )- l = 2 n - N - l

Cách tìm B n ’ từ N: Ta thấy:

B,fJ’ + N = 2 " - l = l l l . . . i
n bít
Vậy, từ N có thể tìm B ^1 rất đơn giản: Đem đáo giá trị tất cả các bít biểu diễn số N ta sẽ

có số bù lcù a nó. Vi dụ: N = 10101100 —> B^1 = 01010011.

27
Từ số nhị phân N , rất dễ xây dựng được mạch logic tìm số bù 1 và bù 2 của nó, theo con đường sau:
XT Đảo các bit n(1) Cộng thêm 1 d(2)
n ----------------- ►Dn ---------------------►ÖN
Ví dụ:
N = 0010101 iD àocàcb it^ B(|) = 11010100 _±i». B«> = ! 1010101

1.14.2. Biểu diễn số nguyên có dấu


Có hai dạng mă nhị phân biểu diễn số nguyên có dấu.

a) Dạng sô'nhị phân có dâu


Q uy định số nhị phân n bit biểu diễn số nguyên có dấu ± N , phải giành bít tận cùng phía
trái để biểu diễn dấu cùa s ố nguyên, gọi là bít dấu s. V ậy cấu trúc số nhị phân c ó dấu, ví dụ 8
bít, biểu diễn số nguyên có dấu là :

Trọng sô'
s 25 24 2’ 22 2' 2'U
26
'v '
Dấu Phần trị tuyệt đối (modul) N
s = 0 :+
s = 1 :-
Khi viết sô' nhị phân có dấu, quy ước dùng dấu để phân tách giữa bít dấu và phần
modul. Vi dụ:

0 ,0 0 0 1 1 0 0 = +12d; 1,0001100 = -1 2 d .
Dạng số nhị phàn có dấu dễ nhận biết được phần trị tuyệt đối. Tuy nhiên, ta không dùng
được dạng này để tính toán. Thật vậy; ví dự.
A = +12 = 0,0001100
+ B = - 1 2 = 1,0001100
A + B = 1.0011000 = -24d

Kết quả tính lại là số ãm, khác 0 ! V ậy, cắn phải dùng cách khác biểu diễn số nguyên có
dấu khi tính toán.

b) M ã bù 2 biêu diễn sô'nguyên có dấu


- Mã bù 2 biểu diển số nguyên dương +N có cấu trúc hoàn toàn giống số nhị phán có dấu: 0, N.

- Mã bù 2 biểu diễn số nguyên âm - N : Cấu trúc dạng mã bù 2 biểu diễn số âm - N là: 1, B’n 1
Ví dụ :

<
1.0001100: dạng số nhị phán có dấu

■'BÍmiKxi =1.1* 10100 : dạng mã bù 2


Bảng 1.7. Tóm tắt hai dạng mã nhị phàn biểu diễn só nguyên có dấu

Số nguyên có dấu Dạng số nhị phân có dấu Dạng mã bù 2

+N 0 ,N 0 ,N

-N 1 ,N 1 . B{f’

28
Bảng 1.8. Só nguyên cố dấu dưới dạng sỗ nhị phân 8 bit có dấu vá dưới dạng mã bù 2

SỐ nguyên có dấu Dạng số nhị phân 8 bit có dấu Dạng mã bù 2


+ 5d 0 , 0 0 0 0 1 01 0 , 0 0 0 0 1 01
+ 6d 0,00001 10 0 , 0 0 0 01 1 0

+ 127d 0, 1 1 1 1 1 1 1 0, 1 1 1 1 1 1 1
-5 d 1 , 0 0 0 0 1 01 1,1111011
- 6d 1, 0000 1 1 0 1, 11 1 1 0 1 0

- 127d 1,1111111 1,000000 1


M áy tính tính toán trên số nguyên có dấu dạng mã bù 2 sẽ cho kết quá đúng. Ví dit:
+ A = + 5d = 0,0000101
B = - 5d = 1.1111011
A + B =10,0000000

Tràn 4------ 1
Phần tử nhớ (v í dụ thanh ghi) chỉ có 8 bít để lưu giũ các số. Bít thứ 9 trong kết quả phép cộng
ờ trên không được giữ lại trong thanh ghi, ta nói nó bị “tràn”. V ậy A + B = 0,0000000 là đúng!

1.15. CỘNG/TRỪ HAI s ố NGUYÊN CÓ DAU dạng mã bù 2


Đê’ cộng/trừ hai số nguyên có dấu A và B, ta phải biểu diễn chúng dưới dạng mã bù 2, n bit.
a) K hi làm p h é p cộng
Cộng hai mã bù 2 biểu diẻn A , B, như cộng hai số nhị phân n bít bình thường, kể cả bit dấu.
b) K hi lảm p h é p trừ A - B
Ta thấy: A - B = A + (-B )
Vậy, trước hết phải đổi dấu số trừ B, sau đó cộng số này với số bị trừ A như phép cộng hai
s ố nhị phân bình thường.
Quy tắc đổi dấu của số nguyên có dấu dạng mã bù 2 như sau: Tim số bù 2 cùa mã bù 2
biểu diễn số nguyên có dấu. VI dụ:
+5d = 0,0 1 0 1 —> -(+ 5 d ) = BojojQi = + 1 = 1,1010 +1 = 1,1011 = -5 d

- 5 d = 1,1011 —> - ( - 5 d ) = B| J0II = B* J011 + 1 = 0 ,0 1 0 0 + 1 = 0 ,0101 = +5d

c) Q uy tăc chuyên m ã bù 2 biêu diên s ố nguyên có dấu sang dạng s ố n h ị phân có dấu
Kết quả phép cộng/trừ trên hai số nguyên có dấu dạng mã bù 2 sẽ là một số có dấu dạng
mã bù 2. Đê’ d ỉ nhận biết, ta thường phải chuyển nó về dạng sô' nhị phân có dấu.
- Mã bù 2 biểu diễn số nguyên dương có cấu trúc hoàn toàn giống sô' nhị phân có dấu biểu diẻn
số dương.
- Quy tắc chuyển mã bù 2 biểu diễn số nguyên âm thành số nhị phân có dấu: Tim sô' bù 2
cùa phần giá trị trong mã bù 2. Kết quả tìm được chính là phẩn giá trị N trong sô' nhị phân có
dấu, biểu diễn sô' âm - N . Vi dụ:
Cho số - N = 1 ,1110100 dạng mã bù 2. Chuyển sang dạng số nhị phân có dấu làm như sau-
-1ST = 1,1110100 = 1, B ® 01(K) = Ú b ỉ Vmioo + 1 ) = 1,(0001011 + 1 )
= 1,0001100 : dạng số nhị phân có dấu = —12d.

29
CÂU HỎI VÀ BÀI TẬP CHƯƠNG 1
1.1. T hế nào là bài toán logic ? Biến logic là gì ? Mức logic là gì ?
1.2. M ạch logic là gì ? Thế nào là mạch logic dương, mạch logic âm ?
1.3. X ác định đáp ứng dạng sóng cùa các biểu thức logic cho ở hình 1.23. T heo dạng sóng
của các biến A , B, c .

A i ỊI i I i Ị 1 i
i Ịi I i i ; I
B Ị Ị ! ! ! !
I; I i i i ; ; i
AB

ÃB Ị Ij I I I ' ! I
A+B I II I I I I Ị I
_ _ I ;I I I ; Ị I
A+B
AĂ I Ị í I I I Ị Ị P
B + B I I I I I ! ! I

A.1 ! { I ! ! ! I I
I I I ' 1 , 1
B+1 I I I I I I I
I ; I I I ; ; I
A.B.C ỊI I j I I ' I! I 'I I ị !I
A+B+c Ị i Ị Ị I Ị Ị i Ị

A.B.C ! I !!
I I I i ; i
— =— r I I I I I I
A +B+c I I I I I I I
I I I I I I
A©B I I i i l l
___ II ' i ' 'I , ĩ
A0B I i Ị Ị ! ! Ị i !

éB I ỊI I I I Ị Ị I

A®B I
II I I I I
iI !; I

A©B®C Ị i Ị Ị Ị Ị ! ' Ị

Hình 1.23. Bài tập 1.3.

30
1.4. Mô tả những diễn đạt bằng lời sau thành biểu thức logic:
a) Bữa trưa nhà máy gồm bánh mỳ kẹp thịt với món phụ là canh hay rau trộn, nhưng không
được chọn cả hai món phụ.
b) Đ ể đãng ký học giáo trình luật hay sử, hoặc cả hai; anh còn cần phải theo học m ội ngoại
ngữ Anh hoặc Pháp, nhưng không phải cả hai ngoại ngữ.
c) Người công nhân có thể chọn sơn tường màu vàng hoặc xanh, nhưng không phái cả hai.
N gay khi không chọn sơn tường, anh ta cũng phải sơn trẩn nhà màu trắng.
1.5. Đơn giản các biểu thức logic sau:
a )A + A D b) A + A D c)X Y Z + X Y c )X Y Z + X Y d )A + B + A.B

e )B + BE f) ABC + ABC + B g) ABC + AC + C


1.6. Rút gọn các biểu thức logic sau:
a)Ã B C + ABC + C b) ABC + ABC + ABC

c) ABC + ABC + ABC + ABC d) AB + BC + AC


1.7. Rút gọn các biểu thức:
a )(A + B )(Ă + B ); b )(A + B + C )(A + B + C )(A + B + C ) ; c )(A + B )(B + C )(A + C)
1.8. V iết biểu thức logic và lặp bảng chân lý cùa các mạch hình 1.24a, b.

Hình 1.24. Bài tập 1.8.

1.9. Chuyển mạch hình 1.24a sang mạch tương đương, chỉ dùng các phẩn tử N A N D .
Chuyển mạch hình 1.24b sang mạch tương đương, xây dựng toàn bằng các phần tử NOR.

1.10. Cho hai hàm logic: Q ,(A ,B ,C ) = A C + A .B + B.C; Q 2(A ,B ,C ) = (A + B)(B + C)(A + C).
Hãy sừ dụng chỉ các phần tử N A N D hai đẩu vào để xây dựng mạch thực hiện hàm Q j(A ,B ,C );
và dùng chì các phẩn tử N O R hai đầu vào dể tạo mạch thực hiện hàm Q 2(A ,B ,C ).

1.11. M ạch logic c ó hai đầu vào dữ liệu A, B, một đáu vào điểu khiển đk và một đầu ra Q.
Hãy dùng các cổng V À , HOẶC, Đ Ả O xây dựng mạch sao cho: Khi đk = H = 1 logic thì dữ liệu
A truyền qua đầu ra (Q = A); Khi đk = L = 0 logic thì B truyền qua đầu ra (Q = B). Hãy vẽ lại
mạch, nếu thay vì các phần tử A N D , OR, N O , ta chỉ dùng các cổng N A N D .
1.12. Xây dựng mạch logic cảnh báo của xe taxi 4 chỗ ngồi. M ạch sẽ cảnh báo bằng đèn
l e d nhấp nháy, nếu có dấu hiệu cháy trong xe hoặc có hành khách không đeo dây an toàn ờ
chỗ ngổi.

31
Tại m ỗi chỗ ngồi đặt hai mạch kiếm tra như hình 1.25a: M ột để kiểm tra sự c ó mặt cùa
hành khách, một để kiểm tra dây an toàn ở chỗ ngồi có được dùng không. Khi có hành khách ở
ghế ngồi (hoặc khi dây an toàn được dùng) thì khóa K đóng. Hình 1.25b là mạch phát hiện
cháy: Khi c ó dấu hiệu cháy trong xe thì khóa K đóng lại. Đầu ra Q mạch logic là tích cực thấp
(đèn LED sẽ sáng khi Q = L = OV). Sử dụng dãy xung vuông góc tần số 5Hz, biên độ 5V đê
kích hoạt LED nhấp nháy khi có cảnh báo. Khi không có cảnh báo LED không sáng.

+5V . V I
:1K >7K

12V
>5K

/Ỉ7 /* 7 b)

Hình 1.25. Bài tập 1.12.

1.13. Tìm tổ hợp giá trị các biến logic b,b2b| để thực hiện:
- M ờ cổng HOẶC hình 1.26a, cho dữ liệu A qua

- Đ óng cổng V À hình 1.26b, chặn lại dữ liệu A

- Đ óng cổng HOẶC hình 1.26d, chặn lại dữ liệu A


- Đ ảo dòng dữ liệu A qua cổng N A N D ờ hình 1.26c.

a) _n_n_ b)
_n_n_

:3 D c
-TU T. JU T-

Hinh 1.26. Bài tập 1.13.

1.14. Hãy chỉ ra dòng dữ liệu ờ đầu ra Q, hình 1.27 a,b, tương ứng khi b,b2 = 00; b,b2 = 01;

-TT-TT- _n_n_

Hinh 1.27. Bái tập 1.Ị4.


1.15. a) Đ ổi sang sô' thập phân các số sau: 1 1 10.10b; 10010101 U O lb ; 46A Eh; FA2Ch
b) Đ ổi sang số nhị phân các số sau: 97,75d; 625,7d
c) Đ ổi sang số H exa các số sau: 921d; 6120d
d) Đ ổi các số sau đây:
100101 lb —> số Hexa; 1 0 0 1 0 1 0 1 0 1 1 1 1 1 0 1 b -> số H e x a
2A C h —> số nhị phân; B34Dh -> sô' nhị phân.
2 7 ,4 5 d —» số BCD; (111010001 IO.ODbcd -> số thập phân.
1010011 lb - > m ã Gray; 1 5 d -» m ã Gray;
(1 0 0 1 0 1 10)Grjy —» số nhị phân.
1.16. Thực hiện các phép cộng sau:
100101b + 101llb;10011111001b+ 10000111lioib.
B23CDh + 17912h; AFEFFEh + 2FBCADh.
1.17. Biểu diễn số - 1 2 0 thành dạng số nhi phân có dấu 8 bit, 16 bit; và thành dạng mã bù 2 độ
•dài 8 bit, 16 bit.

1.18. Những sô' nguyên có dấu dưới đây được lưu giữ trong các phần từ nhớ 16 bit, dưới
dạng số nhị phân có dấu: 1010010010001010; 78E3h; CB33h; 807Fh; 9AC4h. Hãy chuyển
chúng sang dạng sô' thập phân có dấu.

1.19. Tính tổng của hai số nguyên có dấu A và B. Cả hai đều cho dưới dạng sô' nhị phân có
dấu, với các giá trị sau:

A B A + B (dạng mã bù 2) A + B (dạng sỗ nhị phân có dấu)

0,0101011 1,1010101 ? ?

1,0111110 0,0011001 ? ?

0, 1 1 1 00 0 1 0, 0 0 1 0 1 1 1 ? ?

1.20. Tính hiệu của hai số nguyên có dấu A và B. c à hai đều cho dưới dạng mã bù 2, với các
giá trị sau:

A B A - B (dạng mã bù 2) A - B (dạng sỗ nhị phân có dấu)

0,0111001 0,1011101 ? ?

0,1 00 0 1 1 1 1, 1 1 0 0 0 1 1 ? ?

1, 1 00 0 1 1 0 0,0011010 ? ?

1,0001110 1, 1 1 0 0 0 1 0 ? ?

33
2

CÁC HỌ MẠCH LOGIC TTL VÀ CMOS

Chương này chù yếu trình bày khái quát về cấu trúc, các đặc tính điện cùa hai họ mạch logic
thông dụng TTL và CMOS. Đồng thời cũng đưa ra những chú ý về sử dụng chúng. Nội dung gồm:
- Cái nhìn tổng thể về các vi mạch logic.
- Khái quát cấu trúc các mạch logic họ TTL, nMOS và CMOS.
- Những đặc tính điện của mạch họ TTL và CMOS.
- M ột số vi mạch họ TTL điển hình và các cách thể hiện sơ đồ bố trí chân IC.
- Các dòng vi mạch họ CMOS.
- Khái quát về cấu trúc mạch logic ba trạng thái và ứng dụng.
- Những lưu ý khi sử dụng các I C logic.
- Giao tiếp giữa hai m ạch TTL và CMOS.
- Cuối cùng, giới thiệu về linh kiện điện tử lắp ráp bề mặt.

2.1. TỔNG QUAN VỀ CÁC VI MẠCH LOGIC


2.1.1. Chip vi m ạch
Các mạch điện từ số đều được sán xuất dưới dạng mạch tích hợp (Integrated circuit - » IC),
hay còn gọi là vi mạch. Khác với mạch điện tử rời rạc, trong vi m ạch ta không còn phân biệt
được các linh kiện tạo thành. Toàn bộ mạch điện tử chức nãng nầm gọn trong khối tinh thế bán
dẫn (thường là Si) nhò bé; và nó được đóng rắn trong vỏ, chỉ còn thấy các chân (pin) đưa ra.
Loại đóng vỏ thông dụng nhất trong công nghiệp là kiểu lìai hàng chân song song (D IPs), rất dễ
lắp ráp. Các IC kiểu đóng vỏ DIPs có sô' chân thay đổi từ 8 đến 48. Vật liệu làm vỏ thường là
chất dẻo, chịu được nhiệt độ 0-í-70"C.
Mạch tích hợp, sau khi đã đóng vỏ gọi là một “chip”. Trong một “chip” có thể gồm nhiều mạch
logic cùng loại. V í dụ “chip” 7404 gồm 6 cổng Đ Ả O, “chip” 7432 gồm 4 cổng HOẶC (hình 2.1).

GND GND

Hinh 2.1. IC só đóng vỏ kiểu DIPs.

34
2.1.2. Sự phát triển của vi m ạch số (logic)
Khoảng 1960 vi mạch số ra đời và nó đã qua nhiều giai đoạn phát triển. Xu thế phát triển
chung nhằm tăng mức độ tích hợp của mạch, tăng tốc độ hoạt động, giảm công suất tiêu thụ từ
nguổn cung cấp và giảm giá thành sản xuất. Mức độ tích hợp được đánh giá bằng số phán từ
tích cực (tranzito, điốt), hoặc số cổng logic (N A N D /N O R ) chứa trong “chip”.
a) Mức độ tích h ợ p của các vi mạch sô'
Theo mức độ tích hợp, vi mạch số chia thành các nhóm sau:
- Vi mạch có mức độ tích hợp nhỏ SSI (Small Scaled Integration). Mỗi “chip” gồm khoảng
hàng chục phần tử tích cực, tạo thành vài cổng logic. V í dụ các “chip” mạch A N D , OR,
N A N D , X O R ...
- Vi mạch với mức độ tích hợp trung bình MSI (M edium Sealed Integration). Mỗi “chip”
gồm vài chục đến 100 cổng logic, tạo thành những mạch logic chức năng như mạch giải mã,
chọn kênh, mạch đ ế m ... sẽ trình bày ờ các chương sau.
- V i mạch với mức độ tích hợp lớn LSI (Large Sealed Integration), gồm hàng nghìn đến
hàng vạn phần tử tích cực, tạo thành các bộ nhớ bán dẫn dung lượng lón, khối tính toán ALU
kèm các thanh ghi, bộ vi xử lý 8 b it...
- V i mạch có độ tích hợp rất lớn VLSI và siêu lớn ULSI. Từ 1975 trờ đi, bắt đầu phát triển
loại vi mạch này. Trẽn một “chip” VLSI/ULSI có hàng trăm nghìn tranzito mà công suất tiêu
thụ của toàn “chip” chỉ dưới 500m W . Đây là giai đoạn sản xuất các “chip’ vi xử lý, vi điều
khiển 16, 32 bit, các bộ nhớ bán dẫn dung lượng rất lớ n ...
- Khoảng từ năm 1990, người ta bắt đầu nói đến những vi mạch ứng dụng đặc thù ASIC.
N ó tích hợp các hệ thống ngày càng phức tạp. “Chip” ASIC có tới trẽn 500.000 cổng logic. Đ ể
giảm công suất tiêu thụ, điện áp nguồn cung cấp giảm xuống còn 3,3V , thậm chí 2V.
b) Thiết bị logic k h ả trìn/i PLD (Programmable Logic Devices)
Đ ể hạ giá thành sản xuất, khoảng từ 1980 người ta nghĩ tới việc tạo ra vi mạch logic có
ứng dụng phổ thông, đó là các “chip” PLD. PLD là “chip” vi mạch số được sản xuất không
nhằm mục đích ứng dụng cụ thể nào. Người sử dụng có thể lập trình cho nó, để tạo thành
những mạch logic chức năng khác nhau (giải mã, chọn kênh, mạch đ ế m ...). Do tính ứng dụng
phổ thông, nên có thể sản xuất một sô' lượng lớn PLD và giá thành sẽ hạ. Quyển sách này dành
chương 4 đề cập riêng về PLD.

2.1.3. C ác họ vi m ạch logic (vi m ạch số)


Họ vi mạch số là tập hợp các mạch logic sản xuất Iheo cùng một công nghệ ch ế tạo. Các
mạch số trong cùng một họ có những đặc tính điện giống nhau, nên rất tương thích khi ghép
nối. Hai cõng nghệ lớn sản xuất các IC số hay được sử dụng là công nghệ lưỡng cực và công
nghệ đơn cực.
a) Cồng nghệ lưỡng cực
Công nghệ lưỡng cực là công nghệ dùng các linh kiện điện trờ, điốt, tranzito hai m iền tiếp
giáp (BJT) để tạo thành vi mạch số. Công nghệ lưỡng cực cho ra các họ mạch logic như: RTL
(R esistor-Tranzito Logic); DTL (điốt-Tranzito Logic); ECL (Emitter Coupled L o g ic)... Tuy

35
nhiên họ mạch logic thông dụng nhất của công nghệ lưỡng cực là họ TTL (Tranzito-Tranzito
L ogic). Cửa vào và cửa ra m ạch họ TTL đểu là Tranzito BJT.
b) Công nghệ đơn cực (MOS)
Công nghệ đon cực sử dụng tranzito trường loại cực .cổng cách ly (M O S) kênh n và kênh p
làm khóa đóng/ngắt. V iệc chuyển từ công nghệ lưỡng cực sang công nghệ đơn cực làm tăng
mức độ tích hợp, giảm công suất tiêu thụ từ nguồn cung cấp của các IC số.
Công nghệ M OS hiện nay cho ra hai họ vi mạch chủ yếu là họ nM O S và họ CMOS. Họ
nMOS dùng tranzito M OS kênh n làm khóa đóng/ngắt. Họ CM OS dùng đồng thời cả hai loại
tranzito MOS kênh n và kênh p làm khóa đóng/ngắt. Họ CM OS có ưu điểm vượt trội so với họ
nMOS là công suất tiêu thụ từ nguồn cung cấp rất nhỏ, khoảng 10nW /cổng (so với khoảng
0,2m W /cổng cùa họ nMOS).

c) Công nghệ BiCMOS (Bipolar CMOS Technology)


Công nghệ BiCMOS phối hợp hai công nghệ lưỡng cực và CM OS để khai thác những diểm
mạnh của hai công nghệ này. Vi mạch số ch ế tạo theo công nghệ BiCM O S có công suất tiêu
tán thấp như mạch họ CM OS, tốc độ làm việc lại cao như m ạch họ TTL. Hiện nay công nghệ
này còn chưa phát triển.
Dưới đây giới hạn khảo sát kỹ hai mạch họ logic TTL và CMOS.

2.2. MẠCH LOGIC HỌ TTL


Họ TTL bao gồm các m ạch logic dùng tranzito BJT làm khóa đóng/ngắt ở cửa vào và cùa
ra. Tuỳ theo cấu trúc ở cửa ra, các mạch họ TTL chia thành 3 loại: M ạch TTL cừa ra totem -
pole, mạch TTL cửa ra cực góp hở, và mạch TTL cửa ra ba trạng thái. Dưới đây ta hãy khảo sát
hai loại đầu.

2.2.1. Mạch TTL cửa ra totem pole


Hình 2.2a là m ô hình m ạch TTL cửa ra totempole (còn gọi là cửa ra cột chạm , cửa ra kéo
lên tích cực - A ctive pull-up).

Hinh 2.2. Mạch TTL cửa ra totempole:


a) Mò hỉnh mạch TTL, cửa ra totempole ; b) cổng NAND hai đầu vào, TTL, ra totempole.

36
Mạch ra gồm hai khóa tranzito BJT K |, K2, đóng vào hai mức logic cao và thấp (tương ứng
với giá trị 1 và 0 logic). Hai khóa này làm việc luôn ngược nhau : K, đóng thì K2 mở và ngược
lại. Tín hiệu logic trên các đẩu vào sẽ điều khiển sự đóng/mở của hai khóa. Ví dụ , nếu hình 2.2a
là m ô hình cổng N A N D hai đẩu vào, thì khi ít nhất một trong hai biến vào A/B bằng 0 logic, K|
sẽ đóng, K2 mở, biến ra Q = 1 logic. Chỉ khi A = B = 1 logic thì K-2 đóng, K, mở và Q = 0 logic.
Hình 2.2b là sơ đổ mạch cổng N A N D họ TTL, cửa ra totempole gồm hai khóa tranzito T,, T4 hoạt
động lệch pha nhau: T , dẫn bão hòa thì T4 khóa (không dẫn) và ngược lại. cửa vào là tranzito T| với
nhiều cực phát (số cực phát bằng số đầu vào của NAND). Xét hoạt động cùa mạch:
Khi ít nhất một trong hai biến vào A, B ờ mức thấp, ví dụ A = L = o v = 0 logic, tiếp giáp
gốc phát của T, được thiên áp thuận, tạo đòng vào tương úng với mức thấp IiL . Đ iện áp cực gốc
trên T| lúc này khoảng 0,7V . N ó không thể tạo thiên áp thuận đủ lớn trên tiếp giáp gốc - phát
cùa T2 để m ở tranzito này. T2 khóa nên T, cũng khóa. Tuy nhiên T4 lúc này lại dẫn bão hòa vì
điện áp cực gốc của nó (cũng chính là điận áp cực góp T2) x íp xỉ điện áp nguồn +V CC= +5V.
Đầu ra Q nối với nguồn thông qua T4:
Q * v „ - UBE4- UD« 5V - 0,7V - 0,7V = 3,6V = H
Trong đó U BE4 « 0 ,7 V là điện áp gốc - phát khi Tj dẫn, U D * 0,7V là điện áp rơi trên điốt
D khi dẫn. Nếu đầu ra Q nối với tải, mạch sẽ bơm qua tải dòng ra ứng với mức cao I0H, gọi là
dòng nguồn (source current). Y êu cầu tải nối với đầu Q không được quá lớn để hạn chế dòng
I0H sao cho mức cao ờ đầu ra không thấp hơn 2,4V . Dòng IOHkhông được vượt quá giới hạn quy
định là 0,4mA. Tuy nhiên, nếu không phải giữ mức cao H > 2,4V ờ đầu ra, dòng IOHcó thể lên
tới hàng chục mA. D òng vào ở mức thấp IiL thường dưới lm A , tối đa là l,6mA. Chiều dương
dòng điện ở đẩu vào và đầu ra mạch logic dều quy ước là chiêu đi vào mạch. Với quy ước này
thì IiL, I0H đều có giá trị âm.
Nếu cả hai biến vào A , B đều ờ mức cao, ví dụ A = B = H - +5V , các tiếp giáp gốc - phát
của T, không được phân cực thuận. Đ iện áp nguồn +5V phàn bố rải trên R ,-> tiếp giáp gốc -
góp cùa T ]-> tiếp giáp gốc - phát trên T2—> điện trở R ,. Lúc đó, tiếp giáp gốc - phát cùa T2
được phân cực thuận đù lớn để tranzito này dẫn bão hòa. Dòng cực phát T2 gây điện áp rơi
khoảng 0,7 + 0 ,8 V trên R„ làm T , cũng dẫn bão hòa. Đ iện áp cực góp trên T2 lúc này là:

Uc2 = U CE2 + U BE, * 0,2 + 0,8V = IV

Trong đó ƯCE2 « 0,1 -T 0,3V , UBE, » 0,8V , tương ứng là điện áp góp - phát trên T 2 và gốc -
phát trên T , khi dẫn bão hòa. Đ iện áp Ưa = IV không đủ tạo thiên áp thuận cần thiết trên tiếp
giáp gốc - phát tranzito T4 và trên điốt D để làm chúng dẫn. D o đó T4 khóa. Đầu ra Q nối “mát”
thông qua T , dẫn bão hòa: Q » 0,2V = L. Lúc này, nếu đầu ra Q được treo lên điện áp + u thông
qua điện trờ tải R, (trên hình 2.2b không vẽ), ta sẽ có dòng ra tương ứng với mức thấp:

_ + U -0 .2 V
0L “ R,

Dòng ra IOL có chiều đi vào mạch, nên thường gọi nó là dòng nhận (sink current). Giá trị
giới hạn cùa I0L cho phép tới 16mA. Dòng vào tương ứng với mức cao IjH khi đó chỉ ià dòng
ngược, qua tiếp giáp gốc - phát và tiếp giáp gốc - góp cùa T,. Giá trị lớn nhất cùa IiH chì
khoảng 0,04m A .

37
Hai điốt Dc mắc ở cửa vào bình thường luôn được phán cực ngược, gọi là các điốt làm nhụt.
Chúng giữ cho điện áp ờ cấc đầu vào không tụt xuống dưới mức giới hạn cho phép khi c ó các
nhiễu âm tác động.
Tóm lại ta thấy: Khi ít nhất một trong hai đầu vào A, B ờ mức thấp L, thì đẩu ra Q được
kéo lên mức cao H. Chi khi cả hai đầu vào đều ờ mức cao H thì Q mới tụt xuống mức thấp L.

Vậy Q = A .B , m ạch hình 2.2b là cổng N A N D hai đắu vào cửa ra totem pole.
Chú ỷ: Trong phân tích ở trên, để cho dẻ ta đã giả định mức ttlSp ở đầu vào là o v , mức cao
ở đầu vào là 5V . Thực ra mức thấp cực đại ở đầu vào có thể tới 0,8V vẫn bảo đảm tiếp giáp gốc
- phát của T, được phân cực thuận. Mức cao cực tiêu ờ đầu vào có thể là 2V cũng đủ để tiếp
giáp gốc - phát tranzito T, bị khóa, không dần dòng. Bạn đọc có thể tự nhận ra điều này bằng
cách tính điện áp cực gốc U B| trên T |, tương ứng với khi T2, T , khóa và khi T2, T , dẫn bão hòa.
Coi rằng điện áp gốc - phát trên các tranzito khi khóa (không dẫn) là khoảng 0,6V , khi dần là
0,7V , và khi dẫn bão hòa là 0,8V . Đ iện áp gốc - góp trên T, khi có dòng cực góp cũng phải
khoảng 0,7V .
Khi sử dụng các m ạch TTL cửa ra totem pole, ta không được phép nối chung trực tiếp các
đầu ra Q với nhau. Làm như vậy, nếu mức logic trên các đầu ra khác nhau sẽ gây ngắn mạch.
Dòng ngắn mạch lớn gây nguy hiểm cho nguổn và các tranzito ở cửa ra.
N ếu một đầu vào nào cùa mạch TTL thừa ra không dùng tới và cứ để hở tự nhiên (gọi là
thả nổi - floating), thì cũng không có dòng chạy qua đầu vào này. V ậy, đầu vào thả nổi cùa
mạch TTL coi như được nối vào mức cao (1 logic).

2.2.2. Mạch logic họ TTL, cửa ra cực góp hỏ


a) Câu trúc

Hinh 2.3. Mạch logic họ T T l:


a) Mõ hình mạch TTL, cực góp hò; b) Vi dụ ứng dụng; c) cổng NAND 2 đáu vàũ, cực góp hò.

Hình 2.3a là m ô hình mạch logic TTL cửa ra cực góp hờ. Cực góp tranzito T ở cùa ra đề hớ,
không nối với nguồn cung cấp. Sự đóng/mờ của khóa tranzito T do tín hiệu logic trên các đầu vào

38
A, B ... quyết định. Điểu cần chú ý khi sử dụng mạch TTL cực góp hờ là: Phải nối đầu ra Q với điện
áp + u thích hợp, thông qua điện trờ R khoảng vài k fỉ, gọi là điện trở treo cao. Cho rằng hình 2.3a là
m ô hình cấu trúc cùa cổng N A N D hai đáu vào, cực góp hờ, bạn đọc hãy tự suy ra hoạt động của
khóa T theo các tín hiệu điều khiển A, B.
Theo chuẩn IEEE/ANSi, ký hiệu các mạch logic cực góp hờ có thêm dấu 0 ở m ỗi đầu ra.
Ví dụ, hình 2.3b là ký hiệu cổng ĐẢO cực góp hở.
Hình 2.3c giới thiệu mạch cổng N A N D hai đáu vào, cực góp hở. M ạch có cấu trúc như
hình 2.2b nhưng vứt bỏ phần mạch khóa tranzito T4. Khi sử dụng phải treo đầu ra Q lèn điện áp
+ u . Như đă trình bày ờ trên, chỉ khi A = B = H = 1 logic thì T2 và T , d ỉn bão hòa, đầu ra ọ -
0,2V = L = 0 logic. N ếu ít nhất một trong hai đẩu A, B ở mức thấp L = 0 logic thì T2 và T , cùng
khóa. Đầu ra Q hoàn toàn cách ly với mạch bên trong, ta nói nó ở trạng thái tổng trờ cao (High
Impedance). Tuy nhiên, lúc này Q được kéo lên điện áp ngoài +U: Q =5 + u = H = 1 logic. Quan
hệ giữa Q và A , B trên mạch là Q = A .B .
b) ưu, nhược diêm của mạch cực góp hở
M ạch TTL cửa ra cực góp hờ so với mạch cửa ra totempole có các ưu điểm sau:
- M ạch cực góp h ở cho phép ta thay đổi mức logic cao ở đầu ra, bằng cách treo lên điện áp
+ u thích hợp, có thể cao hơn điện áp nguồn cung cấp +5V . Ví dụ IC 7406, 7416 gồm 6 phần tử
ĐẢ O cực góp hở, đầu ra có thể treo lên tới các giá trị cực đại tương ứng là 30V và 15V. Giới
hạn dòng ra ờ mức thấp IOL của các mạch cực góp hở thường cũng lớn hơn so với ở mạch cửa ra
totempole. Các IC 7406, 7416 có thể chịu được dòng nhận IOL tới 40m A . Chính vì vậy, khi cần
điều khiển tài công suất (đèn báo hiệu, cuộn dãy rơ le điện từ ...), ta có thể nối trực tiếp tải với
đầu ra mạch cực góp hở. Hình 2.3b là ví dụ dùng cổng Đ Ả O cực góp hở (IC 7406) điều khiển
trực tiếp rơ le điện từ. Khi đầu ra Q = L s o v , qua cuộn dây rơ le có dòng 12V: 500Q = 24m A ,
kích hoạt tiếp điểm rơ le. Khi tranzito ờ cửa ra cổng Đ Ả O khóa, không có dòng qua cuộn dây
rơ le, và Q = 12V = H; tiếp điểm rơ le trờ vể trạng thái ban đầu.
- Đầu ra các mạch cực góp hờ có thể nối trực tiếp với nhau mà không làm ngắn mạch
nguồn cung cấp. Hơn nữa, khi nối chung đáu ra các mạch cực góp hở và treo lên điện áp + u
như hình 2.4a, tức là ta đã thực hiện phép nhân logic trên các biến ra. Thật vậy, từ hình 2,4a ta
thấy: N ếu ít nhất m ột trong các tranzito cửa ra dẫn bão hòa, nghĩa là chỉ cần một đầu ra Qị, i =
1 2... n, bằng 0 logic thì Q bằng 0 logic. Chỉ khi tất cả các tranzito cửa ra đều khóa, nghĩa là:
Q , = Q 2 = . .. = Q „ = + U = 1 lo g ic th ì Q = + u = 1 lo g ic . V ậ y : Q = Q , a Q 2a . . . a Q „.

Ta nói các m ạch cực góp hờ có khả năng thực hiện hàm VÀ nối dây (Wired A N D ).

Hình 2.4. a) Thực hiện hám VÀ nỗi dây; b) Nạp cho c„ khi T chuyển sang trạng thái khóa.

39
- Nhược điểm của phán tử logic mạch ra cực góp hở là: Khi tranzito cửa ra từ dân bão hòa
chuyển sang khóa, đầu ra Q chậm treo lên mức cao. Điện dung ký sinh giữa cực góp và phát c „ cân
một thời gian nạp đầy, khoảng gấp ba lần hằng số thời gian nạp T„ = RC*. (hình 2.4b). V ậy tốc độ
chuyển trạng thái logic cùa mạch cửa ra cực góp hờ chậm hơn so vói ở mạch cửa ra totempole.

Ví dụ: Hình 2.5 là m ột ví dụ về khả năng thực hiện hàm V À 3+5V

nối dây (W ired A N D ) của mạch cửa ra cực góp hờ. Ta có:
>1K
Q = Q 1 Q2Q3

= (Ă I).(C Õ ).(Ẽ P ) A.

B.
• = (Ã 1 ).(C D ).( R F )
c .
= (A .B ) + (C.D) + (E.F)
D.
= A .B + C .D + E.F ( * )
E.
Ta thấy, để thực hiện quan hệ (* ), nếu dùng các cổng A N D ,
ù.'-
OR, NO; hoặc dùng cổng N A N D cửa ra totem pole, thì m ạch tạo F.
nên sẽ phức tạp hơn nhiều so với m ạch hình 2.5.

2.3. VI MẠCH HỌ TTL Hình 2.5. Nói Wired AND

2.3.1. Ký hiệu
Các vi mạch họ TTL lấy phẩn tử N A N D làm c ơ sở để tạo ra các m ạch chức năng khác nhau.
Họ TTL gồm hai dòng cơ bản là 74 và 54. Các IC dòng 74 dùng trong thương m ại, còn dòng 54
dùng trong quân sự. Chúng khác nhau chù yếu ờ giới hạn nhiệt độ làm việc: D òng 74 là 0 +70"c,
dòng 54 l a - 5 5 + 125°c.
M ỗi dòng vi m ạch, dựa theo hai tiêu ch í là tốc độ làm việc và côn g suất tiêu tán, lại chia
thành nhiều nhóm đặc biệt. Quy tắc ký hiệu các IC họ TTL như sau:
7 4 /5 4 xxxxxx ..............
Vài chữ cái Vài con số
Trong ký hiệu trên, các chữ cái chỉ các nhóm đặc biệt:
N (hoặc không có chữ cái nào): nhóm thông thường.
L (L ow power): nhóm tiêu tán công suất thấp.
s (Schottky): nhóm dùng BJT có điốt schottky để tăng tốc độ chuyển mạch.
LS: nhóm công suất tiêu tán thấp, tốc độ nhanh vì có điốt schottky.
A S (A dvanced Schottky): nhóm có tốc độ nhanh hơn nhóm s.
A LS (A dvanced LS): nhóm c ó tốc độ nhanh hơn công suất tiêu tán thấp hơn nhóm LS.
Vài con số nằm cuối cùng trong ký hiệu chỉ chức năng cùa m ạch như: N A N D , NOR,
XOR, m ạch đếm , m ạch giải m ã ...

2.3.2. Một số vi m ạch họ TTL


- Đ ể biêt tất cả các mạch số họ TTL, ta phải tra trong các sổ tay kỹ thuật. Bảng 2.1 liệt kê một số
IC họ TTL.

40
Bảng 2. ?. Một sổ 1C họ TTL
Ký hiệu Số lượng và chức nảng mạch

74xx00 4 cổng NAND hai đầu vào

74xx01 4 cổng’ NAND hai đầu vào

74xx03 4 cổng NAND hai đẩu vào, cực góp hở

74xx02 4 cổng NOR hai đẩu vào

74xx27 3 cổng NOR ba đầu vào, cực góp hở

74xx32 4 cổng AND hai đầu vào

74xx15 3 cổng AND ba đầu vào, cực góp hở

74xx30 1 cổng NAND tám đầu vào

74xx04 6 cổng NO (ĐẢO)

74xx86 4 cổng XOR

74XX136 4 cổng XOR, cực góp hở

74XX266 4 cổng XNOR, cực góp hở

74xx07
1 6 cổng đệm (buffer), cực góp hở
74xx17

74xx06
I 6 cổng ĐẢO - thúc, cực góp hở
74xx16

74xx51 Mạch hai cổng AND hai đẩu vào - OR - NO


Mạch hai cổng AND ba đầu vào - OR - NO

74xx64 Mạch bốn cổng AND 2 ,2 ,3 ,4 đầu vào - OR - NO

74XX154 Mạch giải mã vào 4 ra 16 (xem chương 5)

74xx150 Mạch chọn kênh, 16 đầu vào dữ liệu (xem chương 5)

74XX190 Mạch đếm BCD, 4 bit (xem chương 6)

Trong bảng trên, ngoài các IC chứa các cổng logic quen thuộc, đã trình bày ờ chương 1, ta
còn thấy hai loại cổng đặc biệt.

- c ổ n g đệm (buffer), hay còn gọi là cổng thúc (driver). N ó là mạch logic chi có một đáu vào
và một đầu ra. Tín hiệu logic trên đầu vào và ra hoàn toàn giống nhau (vào 0 logic -> ra 0 lo g ic
vào 1 logic —» ra 1 logic). Tuy nhiên, các
cổng đệm có dòng ra được tăng cường ở Q =A
1
mức thấp hoặc ở mức cao. V í dụ IC 7407,
7417 gổm những cổng đệm có dòng ra tãng
Hình 2.6. Ký hiệu cổng đệm
cường ờ mức thấp. D òng nhận IqL của
chúng có thể đạt 40m A (dòng nhận IqLcùa các cổng họ TTL, cửa ra totempole chỉ 16mA). Cũng
có loại cổng đệm dòng ra được tăng cường ở mức cao. V í dụ các IC 74125, 74126 gồm bốn cổng

41
đệm ba trạng thái (xem 2.9) cho dòng ra ờ mức cao I<JH (dòng nguồn) c ó thể lên tới -5 ,2 m A (so
với dòng nguồn ờ các cổng cửa ra totempole chỉ là -0,4 m A ). Hình 2.6 là ký hiệu cổng đệm.

- Cổng Đ Ả O -th úc. N ó là cổng Đ Ả O nhưng dòng ra được tăng cường ờ mức thấp hoặc ờ

mức cao. V í dụ IC 74 0 6 , 7416 gồm những cổng Đ Ả O - thúc, dòng ra ờ mức thấp IOL (dòng
nhận) được tăng cường tới 40m A .

2.3.3. Sơ đồ chân của vi m ạch


Khi sừ dụng các IC số, ta cần biết sơ đồ nối các chân ra (pin) với m ạch bên trong. Có hai
cách thể hiện sơ đổ bố trí chân IC.

- Cách thể hiện chi tiết như hình 2.1. Vị trí các chân đúng như trên “chip” vi mạch thực và
chúng nối với các đầu vào/ra cùa các mạch bên trong. Chân nối với nguồn cung cấp và đất (GND)
cũng thể hiện rõ trẽn sơ đồ. Nếu có chân IC nào thừa ra không dùng tới thì ghi NC (N o connection).

- Cách thể hiện đơn giản hơn, theo chuẩn IEEE/ANSi. Sơ đồ cho ký hiệu cùa đù số mạch
có trong “chip”. Đầu vào và ra m ỗi mạch ghi số thứ tự các chân IC nối với nó. Quy ước đánh số
chân IC từ 1 dẩn trờ lên, theo chiểu ngược kim đổng hổ (xem hình 2.1).

1 2

3 4

5 6
9 JỊ

11 10

13 12

Hình 2.7. Sơ ổó bố trí chân IC theo chuẩn lEEE/ANSi

Hình 2.7 là sơ đ ồ b ố trí


9 — & 10
chân theo chuẩn IEEE cùa hai 10 — >1 11
“chip” đã m ô tả hình 2.1, và 11 —
13
13 — &
cùa “chip” 74L S136 gồm 4 ^ 1 2
1 2 ----- <=> 1
phần tử không tương đương,
2
cực góp hở. 2 — &
3— >1 ^ 6 3
Hình 2.8a là sơ đồ bố trí 4 — &
5— 4
chân 1C. 74xx51 theo chuẩn
IEEE/ANSi. N ó c ó m ạch vê a)

theo ký hiệu truyền thống như Hinh 2.S. a) Sơ đó bó tri chân của 74xx51 theo chuẩn lEEE/ANSi;
ờ h ìn h 2 .8 b . b) Mạch tương dương vẽ theo ký hiệu truyén thống.

42
2.4. CÁC ĐẶC TÍNH ĐIỆN CỦA VI MẠCH s ố HỌ TTL
2.4.1. Các đ ặ c tính điện của vi mạch số
Trưác khi xét đặc tính điện của họ mạch TTL, ta cần có khái niệm về các đặc tính điện
chung cho mọi vi mạch số.
a) Các tham s ố dòng và áp Ở đầu vào và tlẳu ra
- Đ iện áp vào ờ mức cao U jH là giá trị điện áp tối thiểu của mức cao H ở đầu vào.
- Đ iện áp vào ở mức thấp U |L là giá trị điện áp cực đại của mức thấp L ờ đầu vào.
- Đ iện áp ra ở mức cao U0H là giá trị điện áp tối thiểu cùa mức cao H ở đầu ra.
- Đ iện áp ra ở mức thấp UOL là giá trị điện áp cực đại của mức thấp L ở đầu ra.
- Dòng vào ở mức thấp IjL và ờ mức cao IiH, là dòng mà nguồn điều khiển phảicung cấp
cho đầu vào, tương ứng với khi nó ờ mức thấp L và ở mức cao H.
Người ta quy ước chiều dương dòng ở đầu vào và ờ đầu ra đều đi vào mạch. Tuỳ theo chiều
thực dòng vào/ra mà giá trị của nó có thể mang dấu + hay dấu D òng ra có chiều ra khỏi
mạch thì gọi là dòng nguồn: nếu có chiều đi vào mạch thì gọi là dòng nhận.
b) Độ m iễn n hiễu
Các vi mạch số khi làm việc luôn chịu tác động của nhiễu. N ó có thể là nhiễu công nghiệp
ờ ngoài, hoặc có thể là nhiễu trong do sự chuyển trạng thái trong mạch gây nên.
Độ miễn nhiễu (noise immunity) là ngưỡng tối đa của điện áp nhiễu (còn gọi là lề nhiễu -
noise margin), cho phép xếp chổng lẽn tín hiệu vào mà không gây tác động sai của mạch logic.
Khi sử dụng, các cổng logic thường nối tầng: tín hiệu ra cổng trước (gọi là cổng điều khiển
- drive gate) là tín hiệu vào ờ cổng sau (gọi là cổng tải - load gate). D o đó,nếu chúng cùng
một họ, thì với quy định mức logic như ờ hình 2.9, ta có:
- Lề nhiễu ờ mức cao N H= U 0H- U IH.

- Lề nhiễu ờ mức thấp N L= U iL- UOL.

- Lề nh iễu cù a cổng: N = m in { N H, N L}.

Hình 2.9. Các mức logic ở dáu ra và đáu vào.

43
c) H ệ sô'tải đầu ra (Fan - Out)
Khi nối tầng các mạch logic cùng một họ, người ta phải quan tâm đến hệ số tải đầu ra. N ó là
thông số chỉ số đầu vào lớn nhất của các mạch tải, có thể nối với mỗi đầu ra cùa mạch điểu khien
cùng họ. Gọi I0Lch, IiLsh tương ứng là dòng ra và dòng vào giới hạn (có trị tuyệt đối lớn nhất) ờ
mức thấp; I o H Sh. I|Hsh tương ứng là dòng ra và dòng vào giới hạn ở mức cao H. Ta có:

1 ^OLíh ỈQHshị Ị
F a n -O u t = min ( 2 . 1)
[ l^L8h| lw Ị

d) Trề truyền đạt


Do sự chậm trễ chuyển trạng thái cùa khóa tranzito, m ạch logic luôn có sự chậm trễ về
phản ứng cùa tín hiệu ra, theo sự thay đổi của tín hiệu trẽn các đầu vào, gọi là trẻ truyền đạt. N ó
là khoảng thời gian tpj cẩn thiết để tín hiệu ra có đáp ứng đối với sự thay đổi mức logic cùa các
tín hiệu vào.
Trễ truyền đạt là tiêu chuẩn đánh giá tốc độ hoạt động của mạch lo g ic, đặc trưng bằng tần
số cực đại cho phép của sự thay đổi trạng thái (mức logic) tín hiệu vào: fmax < 1/tpj. Trẻ truyền
đạt tpj càng nhỏ, tốc độ làm việc của mạch càng cao.

-100%
50%

— n ---------------------- r —

100%
50%
► t
I I

Hình 2.10M \rín hoạ trễ truyén đạt cũa cổng ĐẢO.

Hình 2.1 0 minh hoạ cách xác định trễ truyền đạt cùa phần tử Đ Á O . Trể truyền đạt khi tín
hiệu ra truyền từ H xuống L là tpHL, luôn nhanh hơn trê truyền đạt khi chuyển từ L lên H là tpLH.
Vì vậy trễ truyền đạt của cổng ĐẢO:

tpđ= (tpLH +
Trễ truyền đạt luôn lớn hơn sườn lên và sườn xuống cùa xung. Đ ịnh nghĩa sườn lén (hay
sườn xuống) cùa xung là khoảng thời gian để xung tăng từ 0,1 đến 0 ,9 giá trị biên độ (hoặc
giảm từ 0,9 xuống 0,1, đối với sườn xuống).

e) Công suất tiêu thụ


Có hai khái niệm về công suất tiêu thụ từ nguồn cung cấp cùa các IC số: công suất tiêu thụ
tĩnh và công suất tiêu thụ động.

- Công suất tiêu thụ tĩnh là công suất m ạch tiêu thụ khi mức logic ờ các đẩu vào/ra giữ

44
không đổi (mạch ở ch ế độ tĩnh), đẩu ra không nối với tải. Công suất tiêu thụ tĩnh ứng với mức
logic cao ở đầu ra PlH luôn nhó hơn công suất tiêu thụ tĩnh khi đáu ra ờ mức logic thấp PlL.
Công suất tiêu thụ tĩnh cùa mạch:

Trong đó L1: và V.v là dòng trung bình lấy từ nguồn cung cấp và điện áp nguồn. Công suất
tiêu thụ tĩnh tiêu tán trên các linh kiện thụ động và tích cực trong mạch logic. V ì vậy còn gọi là
công suất tiêu tán.

- Công suất tiêu thụ động là công suất tiêu thụ khi điện áp ra liên tục chuyển giữa hai mức
logic, với tần số chuyển trạng thái là f (mạch ở chế độ động). Công suất này do tải điện dung
mắc ờ đẩu ra gày nên. Tải ở đầu ra các IC số thường là tái điện dung c , (gồm điện dung đầu vào
của các cổng tải, điện dung lắp ráp).
Hình 2.11 vẽ cửa ra totem pole mạch logic, nối với tải c ,. Khi đẩu ra Q ở mức cao H = UOH,
tải được nạp tới điện tích q = C,.UOH. Lúc Q = L « ov, tụ lại phóng điện. Giá trị trung bình
đòng nạp/phóng (ự ip ) của c , là:

Công suất động tỷ lệ với tần số làm việc của mạch.

í) N guồn cung cấp


Cũng như m ọi mạch điện tử khác, vi mạch số cấn Hinh 2.11. Tải điện dung của cửa ra totempole
nguồn m ột chiều để cung cấp điện áp V cc xác định mà
mạch yêu cầu. N guồn cung cấp không dùng riêng cho một vi mạch; nó cung cấp cho toàn vỉ
mạch gồm nhiều “chip” vi mạch. Công suất nguổn cung cấp tính như sau:

- Tính tổng công suất tiêu thụ của các “chip” trên toàn vỉ mạch. Công suất tiêu thụ của
một “chip” bằng tổng công suất tiêu thụ cùa tất cả các phẩn từ có trong chip, kể cả phần tử
không dùng tới.

- Tính công suất toàn vỉ mạch yêu cầu, gồm công suất các “chip” và công suất của các
linh kiện khác trên vỉ mạch, ví dụ các đèn hiển thị...

- Công suất nguồn cung cấp chọn ít nhất gấp đôi công suất vi mạch yêu cầu.

45
2.4.2. C ác đ ặ c tính điện m ạch logic họ TTL, cửa ra totem pole (xem bảng 2 .2 )

Bảng2.2. Các đặc tính diện của mạch logic họ TTL, cửa ra totempoỉe

N L s LS AS ALS

Nguón cung cấp(V) 5±5% 5±5 % 5±5% 5+5% 5±5% 5±5%

Điện áp ra:

Uoh(V) 2,4 2,4 2,7 2,7 3 3

Uol(V) 0,4 0,4 0,5 0,5 0,5 0.5

Điện áp vào:

U,H (V) 2 2 2 2 2 2

U,L (V) 0,8 0,8 0,8 0,8 0,8 0,8

Lé nhiễu (V) 0,4 0,4 0,3 0,3 0,3 0,3

Giới hạn dóng ra:

'oHgh (mA) -0,4 -0,2 -1 -0,4 -2 -0,4

loLgh (mA) 16 3,6 20 8 20 8

Giới hạn dòng vào:

■iHgh (mA) 0,04 0,01 0,05 0,02 0,2 0,02

I.L9h (mA) -1,6 -0,18 -2 -0,4 -2 -0,2

Cõng suất tiêu thụ (mW/cổng) 10 1 23 2 8 1

Trê truyén đạt tpd (ns) 10 33 3 10 1,5 4

Tán só làm việc cực đại (MHz) 25 10 100 35 150 50

Chú ỷ: Công suất tiêu thụ từ nguồn cung cấp cho ở bảng trên là ứng với tần số làm việc 0 +
0,1M Hz. Ở tẩn số cao hơn, công suất tiêu thụ sẽ tăng nhưng chậm. Ví dụ, với loại 74LS, tải điện
dung c , = 50pF, ở tần số làm việc 10M Hz công suất tiêu thụ là 7m W /cổng thay vì 2m W /cổng.
Đ ối với m ỗi nhóm họ TTL, hai tiêu ch í cóng suất tiêu thụ và trẻ truyền đạt là ngược nhau:
M uốn có công suất tiêu thụ thấp thì phải chịu trễ truyền đạt lớn hay ngược lại. D o đó, đôi khi
người ta đưa ra thông sô' phối hợp hai tiêu chí này để đánh giá chất lượng m ạch logic: Tích số
công suất - tốc độ. Ví dụ, nhóm 74L S có thông số tích công suất - tốc độ bằng:
2 m W x l0 n s = 2 0 .1 (r 12W s.
M ạch logic có tích số công suất - tốc độ càng nhỏ càng tốt.

2.5. MẠCH LOGIC HỌ nMOS


2.5.1. Khái niệm về tranzito MOS
Công nghệ M OS thường sử dụng tranzito cực cổng cách ly (M OS) loại kênh cảm ứng làm
khóa đóng/ngắt. Hình 2.12a, b tương ứng là ký hiệu M OS cảm ứng kênh p (pM OS) và kênh n
(nM OS). Các điện cực dẫn ra G, s , D tương ứng gọi là cực cổng (gate), cực nguồn (source) và
cực máng (drain). N goài ra còn điện cực thứ tư, gọi là cực nền B (base). Khi dùng M OS làm
khóa đóng/ngắt trong m ạch lo g ic, cực nẻn B nối với cực nguồn s ngay ờ bên trong. Cực nguồn

46
nối “mát”. Đ iện áp trên ba cực G, s, D là so với nền. Khi nền nối với cực nguồn thì điện áp giữa
cực cổng với nền chính là ucs.
Điều khiển MOS dẫn bão hòa hay khóa (không dẫn) là tuỳ thuộc điện áp trên cực cổng. Trị
số điện áp giới hạn giữa cực cổng và nền mà không hình thành dược dòng cực máng IịJ>qua MOS,
gọi là điện áp tắt UT. Đ iện áp tắt
pMOS ,,
cùa nMOS là UT„ « 1,5 + 2V. Khi f -V«
ucs > UT„ thì nMOS mới dẫn.
Tranzito pMOS có điện áp tắt
lt: Rj« 00
ƯTp = —2 -ỉ- -1 ,5 V . Khi ư cs < UTp H D -W —
thì pMOS dẫn, dòng cực máng ID Kl B
h S
chạy theo chiều đi ra khỏi cực D Ci - I -
(hình 2.12a). Khi M OS khóa, hai \k Ugs

cực D và s coi nhu được nối với /777

a) b) c)
bão hòa, hai cực D và s của MOS Hình 2.12. Mạch Tranzito MOS:
nối với nhau qua điện trở a, b) Ký hiệu pMOS và nMOS; c) Mô hình mạch vào của MOS.
RoN « 1000Q; điện áp giữa hai
cực D và s khi dẫn chỉ khoảng 0,05V.
Cực cổng G của M O S hầu như hoàn toàn cách điện với kênh dẫn, điện trở vào của MOS
Rj » oc. Tuy nhiên, giữa cực cổng và nền hình thành điện dung vào Cj « 5pF nên vẫn có dòng
vào điện dung. Hình 2 . 12c là m ô hình mạch vào điều khiển của MOS.

2.5.2. Mạch logic họ nMOS


Họ logic M OS bao gồm những mạch logic chỉ sử dụng một loại MOS kênh n hoặc kênh p
làm khóa đóng/ngắt. Tuy nhiên, hiện nay chỉ còn sử dụng mạch họ nMOS, vì so với mạch họ
pMOS nó có các vượt trội: Tốc độ làm việc nhanh hơn, mức độ tích hợp cao hơn, điện áp nguồn
cung cấp thấp hơn.
+v« +Vcc
Hình 2.13a là cấu trúc cơ bản
nhất của cổng nMOS: cổng Đ Ả O . T2 02
có cực cổng nối c ố định với nguồn t2 s2
cung cấp +V ct nên nó luôn dẫn và gọi
là tranzito tải. T2 dóng vai trò một
H s2
UGS2 Q=A ni Ĩ2
Q=A

điện trờ tải cực m áng của T |, và có Di


I I—
R on » lOOkQ (do kênh dẫn cùa nó rít N -| T i
Uo Ui 'S i Uo
hẹp). Trong công nghệ nM OS, để tạo
một điện trở, cần m ột vùng bán dẫn ▼ r >
ị Ui
nền gấp khoảng 20 lần vùng bán dán
để tạo một tranzito. D o đó dùng T2 a) ^ b) /07
thay cho điện trờ tải cùa T, sẽ làm
tăng mức độ tích hợp của mạch. Giả sử Hình 2.13. a) cổng Đảo nMOS; b) cổng Đảo CMOS.

4-V
+ T, dẫn thì Uqs
v . = +12V và để T2 Ur.«2 «s 2V. Khi A = Uị = L « o v , T| sẽ khóa, tín hiệu ra Q = u„ =
V UCS2 = 10V = H. Khi A = Uị = H = 10V thì T,và T2 đều d ỉn bão hòa, tín hiêu ra là:

47
IK
« 0 ,1 2 V = L
ÌOOK + IK

Vậy rút ra kết luận: Q = A


Mạch họ nM OS có những ứu điểm hơn m ạch logic họ TTL là: mức độ tích hợp cao, công
suất tiêu thụ thấp. Nhưng m ạch nM OS vẫn còn m ột nhược điểm so với m ạch họ C M OS sẽ trình
bày sau đây: ở ch ế độ tĩnh, khi trên các đẩu vào/ra giữ mức logic ổn định và không có tải, mạch
vẫn nhặn dòng từ nguồn cung cấp khi nM OS dẫn bão hòa. Công suất tiêu thụ tĩnh cùa mạch
khoảng 0,2 + 0,5m W /cổng. Hiện nay công nghệ nMOS chỉ còn thấy ở các m ạch logic tích hợp
lớn LSI, VLSI.

2.6. MẠCH LOGIC CMOS


Họ CMOS, hay còn gọi là họ M OS kiểu bù (com plem entary M OS), gồm các m ạch sừ dụng
đồng thời các cặp tranzito M OS kênh n và kênh p làm khóa đóng/ngắt. Đ iểm đặc biệt trong
hoạt động cùa m ạch CM OS là: M ỗi lấn điểu khiển luôn có haitranzito nM OS và pMOS cùng
được điểu khiển, cái này dẫn thì cái kia khóa, sao cho ở c h ế độ làm việc tĩnh, m ạch hầu như
không lấy dòng từ nguồn cung cấp.

2.6.1. Cổng ĐẢO - c á c m ạch ra của họ CMOS


Hình 2.13b là cổng Đ ẢO, thể hiện nguyên tắc cấu hình cơ bản của mạch họ CMOS. Khi A = Uị
« o v = L, pMOS T2 dẫn bão hòa, nMOS T, khóa; biến ra Q = U(| » Vtc = H. Ngược lại, khi A = u , =
H a Vœ th lT j khóa, T, dẫn bão hòa, Q = U0 = o v = L. V ậy Q = A . Ta thấy m ạch hình 2.13b có
cấu trúc tựa cửa ra totem pole cùa mạch họ TTL. Hai khóa M OS T| và T 2 hoạt động luôn ngược
nhau: một cái đóng, m ột cái ngắt. D o vậy, ở ch ế độ tĩnh, khi không tải không có dòng ID qua
MOS; cống suất tiêu thụ tĩnh (công suất tiêu tán) không đáng kể khoảng 0,01m W /cổng.
Logic họ CM OS có thể có các loại cửa ra sau: Cửa ra không có cổng đệm , cừa ra có cổng
đệm, cửa ra cực máng hở và cửa ra ba trạng thái.
- M ạch cửa ra không có cổng đệm (loại mạch ra thông thường như ờ hình 2 . 13b), dòng ra
chỉ khoảng 0,2 + 0,8m A .
- M ạch cửa ra có cổ n g đệm , ví dụ m ạch hình 2.14b. c ổ n g đệm thực chất là hai cổng Đào
nối tầng. Hai tranzito ở đầu ra cổng đệm có kích thước lớn, bảo đảm dòng ra tới vài mA.
- M ạch cửa ra cực m áng hở tựa như m ạch TTL cực góp hờ, đã trinh bày ở mục 2.2.2.
Trong hình 2.14b, nếu đem bỏ tranzito Tp ở đầu ra cổng đệm , ta sẽ c ó cổng N O R họ CMOS,
cửa ra cực m áng hờ. Khi sử dụng phải chú ý treo đắu ra cực m áng hở Q lên điện áp + u thích
hợp, thông qua điện trở treo cao, thường là vài k í l
Mạch cửa ra ba trạng thái sẽ trình bày ờ m ục 2.9.

2.6.2. Cổng NAND/NOR-cổng truyền CMOS


a) Cồng N A N D /N O R CMOS
Hình 2.14a là mạch cổng N A N D họ CM OS với hai đáu vào A , B. Hai pM OS T |, T 2 nối
song song; hai nM OS T „ T4 đấu nối tiếp. Khi A = L » o v thì T, dẫn bão hòa, T , khóa và

48
Q * + v cc = H. Khi B = L « OV; T2 dẫn, T4 khóa, Q * + v „ = H. Chi khi A = B = H * + v „ thì T ,,
T2 đều khóa; T „ T4 đều dẵn và Q * ov = L. Vậy Q = A.B.
Nếu đem nối song song hai nMOS và đấu nối tiếp hai pMOS, ta sẽ được cổng NOR CMOS
hai đầu vào. Hình 2.14b là mạch cổng NOR CMOS, cửa ra có cổng đệm.

Hình 2.14. Các cổng NAND, NOR:


a) Cổng NAND 2 đáu vào họ CMOS; b) cổng NOR 2 đáu vào họ CMOS cửa ra có cổng đệm.

b) Cổng truyền CM OS
Cổng truyén (transmission gate) CMOS gồm hai tranzito nMOS và pMOS đấu song song, làm
nhiệm vụ một khóa đóng/mờ, để truyển dẫn tín hiệu tương tự hoặc tín hiệu logic qua cổng. Điểu
khiển sự đóng m ở khóa là hai tín hiệu logic phù định nhau, đặt trên cực cổng cùa hai tranzito.

4016B
V _ ịCị í.
X, 1
+ Vcc 13
2 44—V,
x2 _ 4 ị . 4
3
X L ơ , c 2 -------- 5
* ------------ TP -
ra 8

1
yà0 I— 1T" 9 -<r*-Y 3
(vào) c 3 _______ 6
" I_ f t'
^ - 8 -
c 4 _____
11 r\
10 - O — Y4
12
+vcc: 14

a) b) d)

Hình2.15. Cổng truyén CMOS:

a) Cấu lạo khóa CMOS; b) So đó chân IC 4016B; c),d) Vài ký hiệu cổng truyén CMOS.

49
- Hình 2 .15a là cấu tạo cùa khóa analog CM OS (analog switch). Khi tín hiệu điểu khiển c
= H » + v , , (C = L * o v ), cả hai tranzito T„ và Tpđều dẫn bão hòa; hai dầu X , Y nối với nhau
qua điện trở RON » 5 0 Í1 Tín hiệu tương tự hoặc sô' có biên độ nhỏ hơn + V tt m ột ít sẽ truyền

được theo hai chiều từ X qua Y hay ngược lại. Khi C = L « 0 V (C = H « +V ct), cả hai tranzito
đểu khóa, hai đầu X và Y cách ly nhau. Thời gian tác động cùa khóa C M OS khoảng 20ns. Thực
ra trong mạch khóa analog còn có cổng Đ Ả O CM OS để tạo tín hiệu điều khiển c , trên hình
2.15a không vẽ. Hình 2.15b là sơ đổ chân cùa vi m ạch CM OS 4016B , gổm 4 khóa analog. Trẽn
hình vẽ, ký hiệu n chỉ rằng tín hiệu vào/ra là tín hiệu analog. Các chữ số là thứ tự chân tương
ứng trên IC.
Khóa analog được sử dụng như một khóa đóng/m ở cơ khí, truyền tín hiệu theo hai chiéu
(vì vậy còn gọi là khóa hai chiều - bilateral switch). M ột số m ạch điện tử tương tự dùng khóa
CMOS như: mạch chọn kênh và phân kênh analog, m ạch lấy m ẫ u ...
- Nếu ờ hình 2.15a, thay vì nối cực nền hai tranzito với các mức điện áp c ố định, ta nối
chúng với cực nguồn và nối chung với đầu X. Ta sẽ được khóa đóng/m ở CMOS, truyền tín hiệu
analog hay số chỉ theo một chiều, từ đẩu vào X tới đẩu ra Y . Khóa đón g/m ở CM OS chì truyền
theo một chiều này thường gọi là cổng truyền CM OS. Hình 2 .1 5 c, d là vài ký hiệu cổng truyền
trong các sơ đổ logic.
Cổng truyén là phần tử được thiết k ế trực tiếp trong cô n g nghệ CM OS, để tạo thành một
mạng các phần từ khóa, nhằm lái dữ liệu từ các đầu vào tới các đầu ra theo những tín hiệu điéu
khiển. Những m ạch logic lái dữ liệu từ các đầu vào tới các đầu ra (v í dụ m ạch dồn kênh, phân
kênh - xem Chương 5), gọi chung là steering logic. D ùng cổng truyền xây dựng các steering
logic sẽ tiết kiệm được tranzito M OS hơn, so với xây dựng theo cách thông thường là tìm hàm
logic đặc trưng. Tuy nhiên, việc khảo sát kỹ cấu trúc m ạch điện tử trong các m ạch logic chức
năng không phải là mục tiêu chính của cuốn sách.

2.7. VI MẠCH HỌ CMOS


2.7.1. C ác vi m ạch họ CMOS
Gồm những dòng sau:

- D òng vi m ạch C M O S tốc độ chậm , tpj = 4 0 -ỉ- 95 n s, tần số làm việc cực đại fm„ = 4 *
12M Hz. Thuộc về dòng này c ó các nhóm: C D 4000, C D 4 0 0 0 B do hãng R C A sản xuất đầu
tiên. Hãng M otorola sản xuất các dòng tương thích, ký hiệu M C 1 4 0 00, M C 14000B . Chữ B ờ
sau ký hiệu chỉ rằng nó thuộc loại cừa ra có cổ n g đệm . Đ ặc biệt thuộc dòng C M OS tốc độ
chậm c ó các nhóm: 7 4 C xx, 54C xx. Chúng là các “ch ip ” C M O S có m ạch chức năng và sơ đổ
bố trí chân ra (pin out) hoàn toàn g iố n g các “c hip” 7 4 x x , 5 4 x x họ TTL. Ví dụ:

TTL CMOS Mạch chức năng trong chip

7430 74C30 Một cổng NAND tám đầu vào

7400 74C00 Bốn cổng NAND hai dầu váo

7474 74C74 Hai D - Flip Flop

50
- Dòng CMOS tốc độ nhanh, tpj » 3 + 10ns. Thuộc về dòng này có các nhóm: 74HCxx;
74HCTxx; 74ACxx; 74ACTxx; 74AHCXX. Đặc biệt hai nhóm 74HCT và 74ACT dùng rít
tương thích với mạch họ TTL về nguồn cung cấp, về mức logic ở đầu vào và đẩu ra. Có thể nối
tầng trực tiếp mạch của hai nhóm này với mạch họ TTL.

- Dòng CMOS điện áp thấp: Giảm điện áp nguồn cung cấp sẽ giảm được công suất tiêu tán
và phát nóng trong mạch giảm. Do đó cho phép tăng mức độ tích hợp của mạch. Thuộc dòng
này gồm các nhóm: 74LVxx; 74LVCxx; 74HLLXX và 74LVTXX. Đ iện áp cung cấp điển hình là
3,3V; có những nhóm có thể làm việc ờ điện áp thấp tới 1,2V. Trễ truyền đạt từ 4 + 10ns.
Nhóm 74L V xx ờ đầu ra có dòng nguồn và dòng nhận có thể đạt tới 6mA; Dòng nguồn và dòng
nhận ờ đầu ra của nhóm 74LVTXX tương ứng có thể lên tới 32m A và 64m A.

2.7.2. Một số vi m ạch họ CMOS


Bảng 2.3. Một số vi mạch họ CMOS

Nhóm CD4000 Nhóm 74HC Mạch chức nâng chứa trong chip

4011 74HC00 4 cổng NAND hai đáu vào

74HC03 4 cổng NAND hai đáu vào, cực máng hở

4012 74HC20 2 cổng NAND bốn đẩu vào

4068 74HC30 1 cổng NAND tám đầu vào

4001 74HC02 4 cổng NOR hai đáu vào

4002 74HC4002 2 cổng NOR bốn đáu vào

4073 74HC11 3 cổng NOR ba đáu vào

74HC51 Mạch hai cổng AND hai đẩu vào -O R - NO

74HC58 Mạch hai cổng AND hai đáu vào -OR

4071 74HC32 4 cổng OR hai đáu vào

4075 74HC4075 3 cổng OR ba đáu vào

4069 74HC04 6 cổng 0ẢO

4009 6 cổng ĐẢO - thúc

4030 74HC86 4 cổng XOR

4077 74HC266 4 cổng XNOR

4016
Ị 4 khóa analog (khóa 2 chiéu)
4066

4010 6 cổng đệm

51
2.8. CÁC ĐẶC TÍNH ĐIỆN MẠCH LOGIC HỌ COMS
Bảng 2.4. Đặc tính điện các mạch logic thuộc dồng tốc độ chậm và tốc độ nhanh

~~ — — Nh ó m
4000 74HC 74HCT 74AC 74ACT
Đặc tín h điện —
Nguồn cung cấp(V) 3 + 15 2 + 6 4 ,5 + 5,5 3 + 5,5 4,5 H- 5,5
Điên áp ra:
Uo h (V) 4,95 4,5 4 4,4 4,4
U o l (V) 0,05 0,26 0,26 0,36 0,36
Điên áp váo:
UiH (V) 3,5 3,5 2 3,5 2
U,L (V) 1,5 1,5 0,8 1,5 0,8
Lê nhiễu (V) 1,5 1 0,6 1 0,5
Giới hạn dòng ra:
loHgh (mA) - 0 ,5 -5- -0 ,8 -4 -4 -2 4 -2 4

loLgh (mA) 0,5 -í- 0,8 4 4 24 24


Giới hạn dóng vào:

liHgh (nA) 1 1 1 1 1

liUh ( mA) -1 -1 -1 -1 -1
cn
CD

Trễ truyén đạt tpo (ns) 3 3


+

8 8
o

Tân số làm việc cực đại (MHz) 4 + 12 55 55 150 150

Chú thích:
- Bảng 2.4 không cho công suất tiêu thụ từ nguồn cung cấp cùa các m ạch logic họ CMOS
vì nó phụ thuộc rất nhiểu vào tẩn sô' làm việc của mạch. Ở c h ế độ tĩnh, côn g suất tiêu tán trong
mạch CMOS chi khoảng 0,01m W /cổng. Tuy nhiên, khi tính toán công suất tiêu thụ động theo
công thức (2.2); ờ m ạch họ CMOS, ngoài điện dung tải c „ ta còn phải kể tới điện dung tiêu tán
tương đương Cpd nối giữa đẩu ra và "đất". Đ iện dung Cpj c ó thể tới 20pF. Ở tần số 0,1M Hz,
mạch CMOS cũng chỉ tiêu thụ công suất 0,l-i-0,2m W /cổng. N hưng ở tần sô' khoảng 2MHz,
nhóm 74HC, 74HCT CM OS đã bắt đầu tiêu thụ công suất vượt nhóm 74L S của họ TTL.
- Đ iện áp ra/vào cho trong bảng 2.4 là tương ứng với nguồn cung cấp +5V . Với nguồn
cung cấp + V tc * 5V thì nhóm 4 0 0 0 tính như sau:
+ Đ iện áp ra cực tiểu ờ mức cao U 0H» + v . . - (0,05 -ỉ- 0,1 )V
+ Đ iện áp ra cực đại ở mức thấp U 0L » (0,05 + 0,1 )V
+ Đ iện áp vào cực tiểu ở mức cao U H » V - (1,5 + 2)V
+ Đ iện áp vào cực đại ờ mức thấp U,L « ( 1,5 -ỉ- 2)V
Cách tính toán ờ trên suy ra từ hoạt động cùa cổ n g Đ Ả O CM OS ờ hình 2 .1 3b.

- Giới hạn dòng vào/ra ứng với hai mức logic không khác nhau. Dòng vào tối đa khoảng lnA ,
dòng ra tối thiểu cũng là 0,5m A . D o đó, hệ số tải đầu ra tính theo (2.1) ít nhất cũng phải bàng 500.
Tuy nhiên, do điện dung vào tranzito M OS lớn (Cj » 5pF - hình 2.12c); mắc song song nhiều cổng
tải CMOS sẽ làm tăng đáng ké’ tải điện dung cùa cổng điéu khiển, và vì vậy làm chậm tốc độ
chuyển mạch. Mạch CM OS làm việc ờ tần số dưới 1MHz chỉ cho phép hệ số Fan-O ut = 20; ờ tần
số cao hơn thì Fan - Out < 10.

52
2.9. MẠCH LOGIC BA TRẠNG THÁI
2.9.1. Mô hình m ạch logic ba trạng thái
Hình 2 .16a là m ô hình mạch logic ba trạng thái. Cửa ra gồm hai khóa đóng/m ở tranzito K ị,
K2. M ạch ba trạng thái có điểm đặc biệt: Ngoài các đầu vào dữ liệu A , B ,... N, còn có đầu vào
điều khiển cho phép làm việc En (Enable) tích cực cao hoặc tích cực thấp (ở hình 2 .lóa, đầu En
là tích cực cao). Khi En = 1 Iogic (hoặc 0 logic nếu là tích cực thấp), mạch được phép làm việc.
Lúc đó, tín hiệu trên các đầu vào dữ liệu sẽ điều khiển sự đóng/m ở lệch pha nhau của hai khóa
K ị , K2 ( K ị đóng thì K2 mở và ngược lại). Đầu ra Q nằm ở một trong hai trạng thái làm việc: 1
hoặc 0 logic.
Khi En = 0 logic (hoặc 1 logic nếu là tích cực thấp), mạch không làm việc, hai khóa K ị , K2
đều mở. Đầu ra Q ở trạng thái tổng trở cao Hiz (còn gọi là trạng thái thả nổi-floating); giữa Q
và mạch bên trong hầu như hoàn toàn cách ly nhau.
Mạch ba trạng thái có thể thuộc họ TTL, có thể thuộc họ CMOS. Trong ký hiệu theo chuẩn
IEEE/ANSi, m ỗi đầu ra m ạch logic ba trạng thái có thêm dấu V.

Hình 2.16. a) Mô hình mạch ba trạng thái; b), c) Ký hiệu cổng đảo ba trạng thái;
d), e) Ký hiệu trigơ Smith đảo ba trạng thái.

Có nhiều m ạch chức nãng ba trạng thái. Dưới đây xét vài mạch ba trạng thái thường gặp.

2.9.2. Cổng đảo ba trạng thái


Hình 2.16b, c tương ứng là ký hiệu truyền thống cùa cổng Đ Ả O ba trạng thái với đầu điều
khiển cho phép làm việc tích cực cao và tích cực thấp. Hoạt động của chúng theo bảng chân lý
2.5 và 2.6.

Bảng2.5. Bảng chân lý hình 2.16b. Bảng2.6. Bảng chân lý hinh 2.16c.

En A Q Ẽn A Q

0 X Hiz 1 X Hiz

1 0 1 0 0 1

1 1 0 0 1 0

53
Hình 2.16 d, e tương ứng là ký hiệu truyền thống của cổng trigơ Smith Đ ảo ba trạng thái,
đầu điểu khiển cho phép làm việc tích cực cao và tích cực thấp. Tùy theo tín hiệu logic đặt trên
đầu điều khiển cho phép làm việc, cổng sẽ ở trạng thái tổng trở ca o (H iz), hoặc làm việc nhu
cổng Trigơ Smith đảo.
Hãy xét khái niệm về cổng trigơ Smith đảo. N ó khác với cổng Đ Ả O thường ờ chỗ: Tín
hiệu vào là tín hiệu tương tự, biến thiên rất chậm; nhưng tín hiệu ra là tín hiệu logic. Hình 2.17a
cho ký hiệu và m ô tả hoạt động cùa trigơ Smith đảo. Khi tín hiệu vào A tăng đạt ngưỡng trên
U nl của trigơ, đầu ra Q sẽ chuyển từ mức cao UOHxuống mức thấp UOL, và nó giữ nguyên ờ mức
thấp tới chừng nào A còn lớn ngưỡng dưới u „2 cùa trigơ. Khi A giảm tới ngưỡng dưới (A = Un2),
thì đẩu ra Q lại nhảy từ U OL lên UOH.
Bạn đọc cũng cần biết thêm về ký hiệu và hoạt động cùa cổng đệm trigơ Smith, m ỏ tả ờ
hình 2.17b.

Hình 2.17. Ký hiệu và dó thị tín hiệu vào. ra cùa cổng trigơ Smith:
a) Ký hiệu và mô tả hoạt động cùa cổng trigơ Smith ĐẢO;
b) Ký hiệu và mõ tả hoạt động cùa cổng đệm trigo Smith.

Vài vi mạch Đ Ả O ba trạng thái họ TTL và CMOS: 74L S240, 74L S368, C D 4502B.
1I
1G E n -^_

2 . 18
1A, • -1Y,
4 . 1 tí
1Aj -1Y2
6 . 14
1A3 - -1Y j
8 » 12
1 A4 - - IY 4

— 19
2G — h il En

2A, ■Q. ■2Y,


2A2 ■2Y2
2A3 ■2Y3
2A4 ■2Y„
a) b)

Hình 2.18. Sơ đó chân vi mạch ĐẢO ba trạng thái họ TTL và CMOS:


a) So đó chân IC 74LS240; b) So đó chân IC 74LS368.

54
Hình 2.18a là sơ đồ chân cùa IC 74LS240 theo ký hiệu chuẩn IEEE/ANSi. N ó gồm hai nhóm,
mỗi nhóm gồm 4 cổng trigơ Smith đảo ba trạng thái. Tín hiệu điều khiển cho phép làm việc
IG .2G tương ứng điểu khiển các nhóm 1 và 2. Khi 1G = 0 logic thì lYj = 1A 1 , i — 1, 2, 3, 4. Khi

1G = 1 logic , các đầu ra 1Y ở trạng thái tổng trờ cao (1Y, = Hiz), cách ly với đầu vào 1A,. Hình
2.18b là sơ đổ chân của IC 74LS368, gồm hai nhóm bốn cống và hai cổng Đ ẢO - thúc ba trạng thái.

Trẽn đây vừa trình bày những kiến thức cơ bàn về cổng Đ Ả O ba trạng thái. Đ ể có khái
niệm về cấu trúc mạch điện từ cùa các mạch logic ba trạng thái. Ta hãy xét mạch các cổng
Đ Ả O ba trạng thái họ TTL và CMOS ở hình 2.19.
X ét mạch hình 2.19a. N ó thực chất là mạch N A N D hai đẩu vào, cứa ra totempole gồm hai
khóa tranzito T, và T4- T 5 nối Darlington. Điểm đặc biệt là mạch có thêm mạch điểu khiển cho
phép làm việc (còn gọi là điều khiến trạng thái tổng trờ cao), gồm điốt D và đầu điều khiển En.
Chi có đầu vào A là dầu vào dũ liệu.

Khi En = L « ov, T2 và T, khóa; đổng thời diốt D dẫn, điện áp cực gốc Ts chì khoảng 0,7V nên
T4-T , cũng khóa. Đầu ra Q = Hiz, tách khòi mạch. Khi En =11 = +V CC, điốt D khóa, mạch trờ lại
đúng là cổng N A N D hai đầu vào, đã xét ờ hình 2.2b. Vậy Q = A .En = A (vì En = H = 1 logic).
Vậy mạch hình 2.19a là cổng ĐẢO ba trạng thái, đầu cho phép làm việc En tích cực cao.
Hình 2 .19b là sơ đồ cổng Đ Ả O CMOS ba trạng thái. Khi En = H ~ +V, Lthì T2, Tị đều khóa,
đầu ra Q = Hiz, tách rời khỏi mạch. Khi En = L » ov, T2 và T, dần bão hòa; chúng giữ vai trò như
các điện trờ Ôm nhỏ RON. Mạch trờ thành mạch Đ ảo với đầu vào A , dã khảo sát ờ hình 2.1 3o.

2.9.3. Cổng đệm ba trọng thái


Hình 2.20-d, b là ký hiệu cổng đệm ba trạng thái, tương ứng với đầu điều khiển En là tích
cực cao và tích cực thấp. Hoạt động cùa cổng theo bảng chân lý 2.7 và 2.8.
Hình 2 .2 0 c, d là ký hiệu cổng đệm trigơ Smith, ba trạng thái, tương ứng với đầu điều khiển
En là tích cực cao hay tích cực thấp. Khi En = 0 logic (hay En = 1 lo g ic , ớ hình 2.20d) thì

55
Q = Hiz. Khi En = 1 logic (hoặc En = 0 logic, hình 2.20d), mạch trờ thành cổn g đệm trigơ
Smith bình thường, đã khảo sát ở hình 2.17b.
Vài vi mạch đệm ba trạng thái: 74LS367 gồm 6 cổng đệm ba trạng thái; IC 74LS241 gồm 8
cổng đệm ư igơ Smith ba trạng thái; IC 4503 gồm 6 cổng đệm ba trạng thái.

Bang 2.7. Bàng chân lý hỉnh 2.20a. Bảng2.8. Bảng chân lý hình 2.20b.
Q A
En A Q A Q
En

0 X Hiz •1 X Hiz

JT JT
1 0 0 0 0 0
Q=A
Hình 2.20. Ký hiệu cáo cổng đệm 1 1 1 0 1 1
ba trạng thái.

Đ em nối các đầu ra m ột m ạch logic bình thường với đầu vào các cổng đệm ba trạng thái,
ta sẽ được mạch logic ba trạng thái.

2.9.4. Cổng phát - thu (transceiver) ba trạng thái


Hình 2 .2 la là ký hiệu một
cổng phát - thu ba trạng thái,
En, En(BA)
hay còn gọi là cổng lái đường En(AB)
truyền hai chiều (bidirectional
line driver). N ó có thể đưa dữ V < Ẩ ĩ

liệu lên đường truyền hoặc nhận t 3l IT > V \ S17


B2
dữ liệu từ đường truyền về. <4 J 16
B,
Cổng phát - thu ba trạng <5 >
B„
6
thái gồm hai cổng đệm ba trạng Bs
7
thái đặt song song và ngược B6
chiều nhau. Khi En, = 1 logic, B,
En2 = 0 logic, dữ liệu truyển từ ■B,
Y sang X qua cổng đệm 1. Khi a) b)

En, = 0 logic, En2 = 1 logic, dữ


Hình 2.21 a) Ký hiệu cổng phát - thu ba trạng thẳi b) Sơ đổ chân IC.74LS245.
liệu truyền ngược lại từ X sang
Y qua cổng đệm 2.
Hình 2.21b là sơ đồ chân cùa IC 74L S245, gổm 8 cổng phát - thu ba trạng thái, trigơ
Smith. G là tín hiệu ch o phép làm v iệc, tích cực thấp. DIR là tín hiệu logic lái đường truyền từ
A| sang B,, i = 1 + 8, h ay ngược lại từ Bị sang Aị.

2.9.5. Lọi ích của m ạch logic ba trạng thài


Các mạch ba trạng thái c ó trạng thái tổng trờ cao Hiz, nên ta có thê’ nối trực tiếp rất nhiều
mạch ba trạng thái vào cùng một kênh truyển, mà không sợ xung đột về mức logic giữa các đầu
ra. Kênh truyền (bus) n bit g ồm n đường truyền song song; m ỗi đường tải hai giá trị 1/0 cùa
m ột bit dữ liệu (data bit). V ới mạch ba trạng thái, ta có thể điểu khiển để luôn bảo đảm tại m ột

56
thời điểm chỉ cỏ m ột m ạch nào đố thực sự được giao tiêp VỚI kênh truyên dư liệu; các m ạch còn
lại đều ờ trạng thái Hiz thực tế coi như tách rời khòi kênh. Vậy, mạch ba trạng thái có khả
năng điều khiển kênh truyền.

Hình 2.22 Vi dụ vé tổ chức kênh truyén dữ liệu.

Hình 2.22 cho ví dụ về tổ chức kênh truyền dữ liệu 8 bit. Nối vói kênh truyền là các bộ nhớ
ROM, RAM1 -í- R A M 3, cửa ra ba trạng thái (xem chương 7). Nếu muốn chọn bộ nhớ nào giao
tiếp với kênh truyền dữ liệu, ví dụ RAM 1, ta đặt vào đầu “chọn chip” C S lm ứ c logic thấp
(CS1 = L = 0 lo g ic );các đầu “chọn chip” khác đặt mức logic cao(C S = CS2 = CS3 = H = 1 logic).
Lúc đó, các bộ nhớ ROM , R A M 2, RAM 3 coi như tách khỏi kênh truyền; chỉ có RAM ] được
giao tiếp với kênh để trao đổi dữ liệu.

2.10. NHỮNG ĐIỂU CAN CHÚ Ý KHI s ử DỤNG CÁC VI MẠCH s ố


Khi dùng các IC số, ta cần lưu ý những điểm sau:

2.10.1.Không đ ể tự do c á c đầu vào không dùng tỏi


Nhiều khi phải dùng các cổng logic có sô' đầu vào nhiều hơn yêu cầu. N ếu để hở cấc đầu
vào không dùng tới, thì đối với mạch TTL chúng coi như được đặt vào 1 logic. Do vậy, đầu vào
để hờ của cổng A N D /N A N D họ TTL không gây tác động sai cho mạch. Tuy nhiên, với cổng
OR/NOR họ TTL, đầu vào để hở lại cột chặt đẩu ra cùa nó ỡ 1/0 logic. Các đầu vào để hờ mạch
CMOS do nhiễu và tĩnh điện xâm nhập sẽ bị trôi: Lúc đẩu chúng ờ mức thấp L, sau đó trôi dần
lẽn mức cao H. Phàn ứng cùa mạch do vậy bị sai. Tóm lại, các đẩu vào không dùng tới của
mạch logic phải đạt ờ mức logic thích hợp, sao cho mạch tác động không sai.

a) b) ỵb c)

Hình 2.23. Các cách nối đáu vào F không dùng tới
Hình 2.23 là những cách nối đầu vào không được sử dụng F của các cổng A N D (hoặc
N A N D ) và OR (hoặc N OR). ở hình 2.23a, điện trờ R chọn khoảng vài kQ, nếu cổng thuộc họ
TTL; nếu cổng là CM OS thì R có thể tới lOOkQ.

57
2.10.2. Tạo mức logic L/H ỏ đầu vào m ạch, nhò khóa đ ó n g /m ỏ c ơ khí
N hiều trường hợp, ta cần chuyển một đầu vào mạch logic đang làm việc ờ mức H/L sang
mức L/H, thông qua khóa đóng/m ờ cơ khí K. Lúc đó, phải đặt khóa K như ờ hình 2.24.

Mạch
1\ K
B Mạch Mạch
logic logic logic
A* A
b)

Hình 2.24. Tạo mức logic à đáu vào nhờ khóa cơ Khí K.
Trên hình 2.24a, đầu vào B treo ở mức cao H ® + V tc, thông qua điện trở treo cao R„. Khi
đóng khóa K, đầu B sẽ chuyển về mức thấp L a o v . ở hình 2.24b, đẩu B giữ ờ mức thấp
L = o v thông qua điện trở kéo xuống RD; khi đóng K, đầu B sẽ kéo lẽn mức cao H » + V CC.
Các điện trờ R„, R0 không được chọn lớn quá giới hạn, bảo đảm đầu B được giữ ờ mức
logic yêu cầu. Với họ m ạch TTL, thường chọn R„ khoảng vài kQ , RD khoảng vài trãm n . Với
họ mạch CMOS, thường chọn RD, Ru bằng lOOkíl.
Có thể tạo mức logic ở đắu vào B bằng khóa chuyển mạch giữa hai đầu 1 ,2 , như ở hình 2.24c.
Khi dùng khóa đóng/m ờ cơ khí, ta phải chú ý đến hiện tượng “nẩy” (bounce) cùa khóa:
Khi đóng (hay mở), khóa không về ngay vị trí mới; thực tế c ó m ột thời gian quá độ khóa đóng
- mờ nhiều lẩn, trước khi nằm ổn định ở vị trí mới (nói cách khác là khóa bị “rung” trước khi
ổn định). Kết quả là: Trước khi có được mức logic m ới, sẽ tổn tại một dãy xung biến động giữa
mức L và H, với chu kỳ lặp khoảng vài trăm ns và kéo dài từ vài m s đến vài chục m s. Có những
mạch chống nẩy cùa khóa c ơ khí (xem chượng 6). Cũng có thể chống “nẩy” bằng phần mém
như ờ bàn phím m áy tính: Sau khi dò biết khóa bàn phím c ó sự thay đổi vị trí, đợi sau khoảng
20m s mới đọc trạng thái logic mới của khóa.

2.10.3. Những điều cần chú ý khi sử dụng c á c 1C họ CMOS


Giữa các cổng và kênh dẫn các tranzito M OS có lớp
ôxít cách điện rất m ỏng. Phải đặc biệt phòng ngừa điện
tích tích tụ trên cực cổng c ó thể tạo điện áp vài trăm vôn
hoặc hơn, làm lớp ôxít bị đánh thủng (điện áp đánh
thùng cỡ 100V). Đ ể loại trừ sự tích tụ điện tích, trên m ỗi
đầu vào ở bên trong cổ n g C M OS đều có đặt các điốt làm
nhụt, nhằm bảo đảm điện áp trên cực cổ n g không vượt
quá điện áp cung cấp, hoặc không quá âm. Hình 2.25 là
cổng Đ Ả O CM OS c ó các điốt làm nhụt ở đầu vào A. Đ ể
cẩn thận, có khi còn đặt các điổt làm nhụt cả ở đáu ra Q
như trên hình vẽ. cổng ĐẢO CMOS.

58
a) N hững c h ỉ dẫn sử dụng các IC CMOS
Những chỉ dẫn sử dụng các IC CMOS nhằm loại trừ tích tụ điện tích trên các đẩu vào.
- Khi bảo quản phải giữ các IC CMOS trong ống chổng tĩnh điện, hoặc cắm chúng vào
bọt xốp d ỉn điện. Cũng có thể dùng lá nhôm bọc các IC.
- Trong môi trường độ ẩm thấp, khi di chuyển các IC CMOS khỏi chỏ bảo quản, cẩn thận
tránh chạm tay vào các chân IC, nếu không có biện pháp xà tĩnh điện trẽn người.
- Khi dùng, phải đặt điện áp cung cấp vào IC trước, sau đó mới đưa tín hiệu lèn các đầu vào.
- Khi cho mạch ngừng làm việc, phải ngắt nguồn tín hiệu trên các đầu vào trước, sau đó
mới ngắt nguồn cung cấp một chiểu.
- Ngắt nguồn cung cấp trước khi lắp hoặc tháo IC khỏi vỉ mạch.

b) Các cổng logic CMOS không dược sử dụng ừong "chip" vi mạch
Không phải tất cả các cổng trong một chip vi mạch đều được dùng. Ở những cổng CMOS
không được dùng trong chip, nhiễu và tĩnh điện xâm nhập tới đầu vào của chúng, tạo phân cực
cho các tranzito nMOS và pMOS, làm các tranzito này dẫn điện. Công suất tiêu tán trong IC tăng,
gây phát nóng quá mức và có thể ảnh hường tới sự làm việc của các cổng đang sử dụng. Vậy, đẩu
vào các cổng CMOS không được dùng irong chip phải nối với nguồn +V CC, hoặc nối đất.

2.10.4. Phân tách nguồn cung cấp


Các mạch logic làm việc ờ chế độ động luôn gây sự biến động lớn về dòng tiêu thụ từ nguồn
cung cấp. Đ ể giảm “tải” cho nguồn, ta dùng biện pháp gọi là phân tách nguồn cung cấp: Trên
đường cung cấp cho một vỉ mạch (card), ờ gần mỗi nhóm khoảng 2 H- 3 chip đặt một tụ gốm vẩy
cá, cỡ 10 + 100nF, nối với đất, nhằm “gánh” đỡ một phần dòng lấy từ nguồn cung cấp. Để ổn
định điện áp nguồn, cần đặt một tụ lọc nguồn, cỡ vài chục fiF ở điểm nguồn dẫn vào vỉ mạch.

2.11. GIAO DIỆN GIỮA MẠCH TTL VÀ CMOS


N hiều khi trẽn m ột vỉ mạch ta phối hợp dùng cả hai họ mạch TTL và CMOS. Lúc dó,
thường phải thông qua một giao diện để hòa hợp mức logic hoặc dòng ờ đắu ra và đầu vào của
hai họ mạch.

2.11.1. Mạch TTL điều khiển m ạch CMOS


Khi dùng mạch TTL điều khiển (hay còn gọi là thúc) mạch CMOS, ta phải lưu ý các điểm sau:
- Nếu mạch tài CMOS thuộc nhóm 74HCT hay 74ACT có U,H = 2V và U iL = 0,8V , hoàn
toàn tương thích với họ TTL, ta có thể dùng mạch TTL thúc trực tiếp (hình 2.26a). Đầu ra cổng
điều khiển TTL có thể điều khiển trực tiếp 10 + 20 cổng tải CMOS.

- Nếu mạch tải CMOS thuộc nhóm 74HC, 7 4A C ... có UịH= 3,5V, ta phải dùng điện trở R = 1
-ỉ- lO kíỉ để kéo điện áp ra ờ mức cao UOHcủa mạch TTL lẽn mức tương đương (hình 2.26b).

- Nếu dùng mạch TTL để điều khiển mạch tải CMOS làm việc ờ điện áp nguồn cao hơn ví

59
dụ +12V; ta phải dùng cổng đệm cực góp hở (v í dụ IC 7407) làm giao diện, nhảm nâng mừc
điện áp cao ờ đầu ra cho phù hợp với mạch tải CMOS (hình 2.26c).

+5V +5V +5V +12V

a) b) c)

Hình 2.26. Mạch TTL điều khiển mạch CMOS.

2.11.2. Mạch CMOS điều khiển m ạch TTL


Mạch CMOS với điện áp nguồn cung cấp + 5V có thể dùng điều khiển trực tiếp mạch tải
TTL (hình 2.27a). Lúc này chỉ cần chú ý sự tương thích dòng ra mạch CM OS với tổng dòng
vào cùa các mạch tải TTL. V í dụ nhóm 74HC, 74HCT có IoHsh = - 4 m A , I 0Lsh = 4m A; nó có thể
điểu khiển trực tiếp hai cổng tải TTL thuộc nhóm 74xx có IiLsh = - 1 ,6m A.

+5V 5-Ỉ-15V +5V

a) b)

Hình 2.27. Mạch CMOS điéu khiển mạch TTL.

Nếu điều khiển mạch tải TTL là m ạch CM OS làm việc ở điện áp nguồn cao hơn +5V (hoặc
ờ nguổn +5V nhưng dòng ra nhò, không thúc được trực tiếp mạch tải TTL c ó dòng ra lớn hơn),
ta dùng cổng đệm, ví dụ IC 4 050B làm giao diện. Vi mạch 4 0 5 0 B gồm 6 cổng đệm , có thể làm
việc với nguồn + 5V , đấu vào chấp nhận được mức logic cao tới +15V ; dòng ra giới hạn ờ mức
thấp IoLi;h « 3,6m A .

2.11.3. Vi m ạch dịch mức (level shifter)

Vi mạch dịch mức hay còn gọi là m ạch chuyển mức, dùng thực hiện việc giao tiếp giữa hai
mạch logic làm việc ở điện áp nguồn cung cấp khác nhau. Chúng thực chất là những cổng đệm

hoặc Đ A O thúc có mức logic cao ở đẩu vào và đầu ra khác nhau. Dưới đây là m ột số vi mạch
dịch mức.

- IC4050B vừa trình bày ở trên. IC4049B gồm 6 cổng Đ ẢO - thúc, có đặc tính điện giống 4050B.

60
- Vi mạch HC4049, H C 4050 là những cổng đệm có thể làm việc với nguồn cung cấp +3V
hoặc +5V . Đầu vào chấp nhận mức logic cao +5V hoặc +15V . V ì vậy H C 4050 có thể làm giao
diện nối cổng điểu khiển TTL74LS với các cổng tải CMOS tốc độ cao điện áp thấp +3V . N ó
cũng có thể làm giao diện nối giữa cổng điều khiển CM OS làm việc ở trên +5V và cổng tải
TTL hay CM OS với nguồn +5V .

- Vi mạch dịch mức 4 5 0 4 gồm 6 cổng địch mức, có sơ đồ nguyên lý ở hình 2.28a. c ổ n g

Đ Ả O ở cửa ra là CMOS với nguồn cung cấp + V DD = 5 -r 15V. c ổ n g Đ Ả O ở cửa vào có nguồn

+V CC= 5-7- 15V. Khi dùng 4 5 0 4 làm giao diện giữa cổng điều khiển TTL và cổng tải CMOS thì
đặt M = 1 logic. Nếu cổng điều khiển và cổng tải đều là CMOS thì đặt M = 0 logic. Hình 2.28b
là sơ đồ chân cúa 4504.

V dd

M ode 13
S e le c t

3 2
1A 1Y
5 4
2A 2Y
7 6
3A 3Y
9 10
4A 4Y
11 12
5A ■ 5Y
14 15
6A ■ 6Y

V d d 16, V s s 8
a) b)

Hình 2.28. Vi mạch dịch mức 4504.

2.12. KHÁI NIỆM VỀ LINH KIỆN ĐIỆN TỬ LAP RÁP BỂ mật

Các linh kiện điện tứ tích cực và thụ động dùng nhiều trong công nghiệp hiện nay vẫn là
linh kiện "xuyên lỗ ”. Chúng đểu có những chân dẫn ra với kích thước khá lớn. Khi lắp ráp vào
bán m ạch in, các chân đâm xuyên qua lỗ để hàn vào mạch in ớ phía sau bản mạch.

L.inh kiện xuyên lỗ không đú nhỏ để lắp ráp vào những thiết bị số hiện đại rất nhò gọn

(điện thoại di động, máy ghi âm kỹ thuật số...). Vì vậy vào những nãm 1970 -í- 1980 đã ra đời
các linh kiện điện tứ lắp ráp bề mặt SMD (Surface Mount D evices), hay còn gọi là linh kiện hàn

bể mặt. ơ linh kiện hàn bẻ mặt, các chân dẫn ra (leads) không xuyên qua lồ bán m ạch in mà
hàn với các đường dẫn (pads) ngay trên bán mạch.

N goài các vi mạch sản xuâì theo công nghệ hàn bé mặt, với số chân dẫn ra có thế tới 84
chán; còn có các linh kiện thụ động (R, c, L ...) kiểu hàn bể mặt.

61
CÂU HỎI VÀ BÀI TẬP CHƯƠNG 2

2.1. Mạch họ TTL là gì? M ô hình hoạt động cùa mạch TTL cửa ra totem pole và cứa ra cực
góp hờ. ư u , nhược điểm cùa mạch TTL cực góp hờ so với mạch cửa ra totem pole.

2.2. V ẽ sơ đồ mạch thực hiện hàm logic Q = (A B )(C D )(E F) theo hai cách:
- Dùng các cổng N A N D cửa ra totem pole trong các IC 7400.
- Dùng các cổng N A N D cực góp hờ trong IC 7401.
2.3. Có thể dùng hai cổng N A N D hai đầu vào, cực góp hở, để tạo thành cổng NOR hai đáu
vào được không? N ối ra sao?

2.4. Đầu ra cổng Đ Ả O cực góp hờ (v í dụ IC 7 406) được treo lên điện áp + 12V thõng qua
điện trở treo cao lOkQ. Tải điện dung cùa cổng c , = 15pF. Hỏi trễ truyền đạt khi đầu ra chuyển
từ mức thấp lên mức cao khoảng là bao nhiêu?
2.5. Hãy trả lời ngắn gọn bằng một vài câu, những khái niệm vé đặc tính điện m ạch logic:
- Thế nào là trẻ truyền đạt; công suất tiêu thụ tĩnh; công suất tiêu thụ dộng; lé nhiều cùa
mạch logic?
- Giải thích các ký hiệu U OL, UOH, U iL, U iH, IOL, IOH. IiL. I,H-
- Tại sao một số dòng vào/ra mạch logic lại ghi giá trị âm? D òng phát (dòng nguồn) và
dòng nhận của cổng logic là gì?
2.6. Thế nào là mạch logic họ nMOS? So với mạch họ TTL thì mạch họ nM OS có ưu điểm gì?
2.7. Thế nào là m ạch logic họ CMOS? Nêu ưu điểm chính của m ạch họ CM OS so với
mạch họ nMOS.
2.8. M ạch họ CM OS có mấy loại cửa ra? Đ ặc điểm cùa từng loại.
2.9. M ạch họ CM OS thuộc nhóm 4 0 0 0 có những đặc tính điện gì khác nhiều so với mạch
họ CMOS ở các nhóm khác (74H C , 74H e r , 74A C , 74ACT)? Sự khác biệt giữa m ạch CMOS
nhóm 74HC và 74HCT, giữa nhóm 74A C và 74ACT.
2.10. Thế nào là mạch logic ba trạng thái? Mô hình mô tà hoạt động của mạch logic ba trạng thái.
Ký hiệu và hoạt động cùa cổng đệm , cổng Đ Ả O , cổng phát - thu ba trạng thái.
2.11. Cho mạch hình 2.29. Hãy chỉ ra biểu thức logic cùa các đẩu ra Q ,, Q 2.

bus

•A ' Hình 2.29. Bái tập 211.

62
2.12. Cho mạch hình 2.30a. Vi mạch 74LS14 gồm 6 cổng trigơ Smith Đ ẢO, có các thông
sô sau: Ngưỡng trên (còn gọi là ngưỡng tăng — posiíive going threshold voltage) là 1,6V;
ngưỡng dưới (ngưỡng giảm - negative going threshold voltage) là 0,8V . Mức cao ờ đầu ra
UOH = 3,4V . Hãy vẽ dạng sóng ở đầu vào và đầu ra cổng. Tần số dãy xung vuông góc ờ đáu ra
cổng là bao nhiêu?

74HC00

a) b)

Hình2.30. a) Bài tặp 2.12; b) Bãi tập 2.14.

2.13. Thế nào là cổng điều khiển? c ổ n g tải là gì?

Hệ số tải đầu ra Fan - Out là gì? Nếu các cổng tải là mạch họ TTL thì yếu tô' nào quyết định
hệ số Fan - Out của cổng điều khiển? Cũng câu hỏi này nhưng với các cổng tải thuộc họ CMOS?

Tính hệ số tải đầu ra khi dùng cổng nhóm 74ALS điểu khiển các cổng tải nhóm 74xx.

Khi m ột cổng lo g ic không thể điều khién đù số lượng cổ n g tải yêu cầu, ta giải quyết
thế nào?

2.14. M ạch ở hình 2.30b, cổng N A N D có điểu khiển đuợc một cách bảo đảm hai cổng
NOR không? N ếu không thì phải thay đổi cách nối cổng NOR số 1 như thế nào? Trường hợp
thay 74HC00 bằng 7400; hoặc thay 7402 bằng 74LS02 thì sao?

2.15. Nối giao tiếp cổng OR 7432 để điều khiển cổng A N D 4081 hoạt động ở 5V. Hãy
dùng 7406 để giao tiếp giữa cổng A N D 7408 với cổng A N D 4081 hoạt động ờ 12V.

63
^/ưửĩnỹ’3
TổNG HỢP MẠCH LOGIC T ổ HỢP

M ạch lo g ic tổ hợp là mạch mà giá trị biến ra tại một thời điểm , chi phụ thuộc giá trị các
biến vào tại thời điểm đó. v ề mặt cấu trúc, m ạch logic tồ hợp không có các phấn tứ lưu giữ
thóng tin (còn gọi là phán tứ nhớ). V ì vậy nó còn được gọi là mạch logic không nhớ.
Có hai loại bài toán mạch tổ hợp: Bài toán phân tích và bài toán tổng hợp m ạch. N ội dung
bài toán phân tích m ạch tổ hợp là: Trên cơ sớ m ạch logic dã cho, hãy tìm các biểu thức logic,
m ô tả quan hệ giữa các biến ở cửa ra với các biến ờ cửa vào. Bài toán này đơn gián, bạn đọc có
ihê’ tự suy ra cách làm. N hiệm vụ bài toán lổng hợp m ạch logic thì ngược lại: Hãv xây dựng
một mạch, thực hiện yêu cầu diều khiến của bài toán lo g ic cho truớc.
Chương này giúp bạn đọc có những kiến thức chính sau đáy:
- M ột cái nhìn tổng quát về tổng hợp m ạch logic tố hợp.
- Nắm được phương pháp kinh điến tổng họp mạch tổ hợp từ các cổng logic cơ bán.
- Tháy được ảnh hường tiêu cực của trẻ truyền đạt trong hoạt động cùa mạch logic tổ hợp.
Biết cách tổng hợp mạch tổ hợp không có rủi ro.
- Có khái niệm về mức tích cực thấp và tích cực cao. Biết cách thê’ hiện mạch theo sự hoà
hợp về mức tích cực.

3.1. TỔNG QUAN VỂ TổNG H ộ p m ạch LOGIC T ổ HỢP


Báng 3.1 dưới đây phác hoạ trình tự thực hiện tổng hợp m ạch tổ hợp và những phương tiện
c ó thế dùng đê xây dựng mạch.

Bảng 3.1. Trinh tự thực hièn tổng hợp mạch tổ hợp

64
- Bắt đầu từ nhiệm vụ bài toán cho bằng lời, người thiết k ế phải xây dựng sơ đồ khối của
mạch logic cẩn tìm: cừ a vào và cửa ra có bao nhiêu biến, ký hiệu từng biến. Mỗi biến trên cùa
ra là hàm cùa những biến nào trên cửa vào.
- Tiếp theo thành lập bảng chân lý mô tả quan hệ giữa từng biến ra với các biến độc lập ở
cửa vào.
Không có con đường chính tắc nào chỉ ra để thực hiện hai bước đi trên, vì bài toán điều
khiển logic có muôn dạng vẻ.
Vậy, thực chất nội dung bài toán tổng hợp mạch tổ hợp là: Xuất phát tù bảng chân lý cho
trước, hãy xãy dựng mạch thực hiện bảng chân lý này.
Phương pháp kinh điển và lâu đời nhất là dùng cổng logic cơ bản (hay N A N D /N O R ) để
tổng hợp mạch. Vài chục năm trờ lại đây hay dùng thiết bị logic khả trình (PLD) trong tổng
hợp mạch. Thực chất nó vẫn là phương pháp kinh điển, chỉ khác ở phần công nghệ thực hiện
mạch, sẽ khảo sát ở chương 4.
Từ các cổng logic cơ bản (hay PLD) người ta đã tổng hợp nên những mạch logic chức năng
như mạch giải mã, mạch chọn kênh (M UX), bộ nhớ PROM. Một trong các ứng dụng của chúng
là dùng làm phần tủ cơ sở trong tổng hợp mạch tổ hợp. Vấn để này sẽ đề cập đến ở chương 5.
Dưới đây chỉ trình bày phương pháp tổng hợp kinh điển, gồm các bước thứ tự theo mũi
tên đậm nét ờ bảng 3.1.

3.2. TỔNG HỢP MẠCH LOGIC T ổ H ộp TỪ CÁC CổNG LOGIC


Cơ BẢN
Ví dụ, cho bảng chân lý 3.2. Hãy dùng các 3.2. Bang chân ly
cổng logic cơ bàn để xây dựng mạch thực hiện hàm Số thứ tự hàng c B A Q (A, B, C)
Q(A, B, C). Dưới đây là trình tự các bước làm: 0 0 0 0 0

3.2.1. Tìm biểu thức logic dạng chuẩn 1 0 0 1 1

toàn phần 2 0 1 0 0

Từ bảng chân lý, c ó thể tìm được hai biểu thức 3 0 1 1 1

logic tương đương, dạng tuyển chuẩn toàn phẩn và 4 1 0 0 0


hội chuẩn toàn phần.
5 1 0 1 0
a) Dạng tuyển chuẩn toàn phần 6 1 1 0 1
Dạng tuyển chuẩn toàn phần, hay còn gọi là 7 1 1 1 1
dạng tổng các tích đù cùa bảng chân lý được thành
lập như sau:
- Viết các tích dù (mintéc) tương ứng với những hàng của bảng chân lý có Q (A, B, C) = 1 logic.
Mỗi tích đù là một tích logic trên đủ các biến độc lập, sao cho tích đó bằng 1. D o đó các biến
trong tích đủ viết cho một hàng có thể là chính nó, nếu biến trong hàng bằng 1 logic; hoặc phải
ờ dạng phù định nếu biến trong hàng bằng 0 logic.

Với bảng 3.2 ta có bốn tích đù: hàng 1: A .B .C ; hàng 3: A .B .C ; hàng 6 A .B .C ; hàng 7: ABC.
Dạng tuyển chuẩn toàn phán là tổng các tích đù vừa tìm được:

Q( A , B ,C ) = A.B.C + A.B.C + Ã.B.C + A.B.C (3.1)

65
N ếu quy ưóc (m ột cách hình thức) tổ hợp giá trị các biến độc lập trong bảng chân lý là sỗ
nhị phân, biểu thị số thứ tự cùa hàng tương ứng trong bảng, dạng (3 .1 ) viết gọn lại như sau:
Q (A , B, C) = E (1, 3, 6, 7); quy ước A = LSB, c = MSB.
Cách viết trên hiểu là: Hàm Q (A , B, C) bằng tổng các tích đù viết ờ các hàng 1. 3. 6, 7
trong bảng chân lý. Số thứ tự các hàng mã hóa bời số nhị phân, tương ứng với tổ hợp giá trị các
biến độc lập trên hàng, theo quy ước A = LSB, c = MSB.
Ví dụ: Cho hàm Q (X , Y, Z) = ỵ (1, 4, 6); X = LSB, z = MSB. Hãy viết biểu thức logic
dạng tuyển chuẩn toàn phán cùa hàm. Với cách viết gọn như trên ta hiểu rang: Dạng tuyển
chuẩn toàn phần gồm 3 tích đủ (m intéc) viết ở hàng sổ L với Y = z = 0, X = 1; ờ hàng sô' 4 với
z = 1, X = Y = 0; và ờ h àn g số 6 với z = Y = 1, X = 0. V ậy:

Q (X ,Y ,Z ) = X .Y .Z + X .Y .Z + X .Y .Z
Chú ỷ: Nhiều khi trong bàng chân lý có những hàng, ứng với các tổ hợp giá trị biến độc lập
không bao giờ xảy ra trong bài toán logic. Ở những hàng này, biến phụ thuộc Q có thể lấy giá
trị logic tuỳ ý, ký hiệu X hoặc ộ ((|> = 0/1 logic - không quan tâm). V í dụ ờ bảng 3.2, nếu các
hàng số 3 và 4 có Q = (ị), dạng viết tắt của hàm sẽ là:
Q(A, B, C) = E (1,6, 7); <t>= 3, 4; A = LSB, c = MSB.
Cách viết trên hiểu như sau: Hàm Q( A, B, C) có giá trị 1 logic ở các hàng 1 , 6 , 7 trong bảng
chân lý. Trên các hàng 3, 4 hàm Q có giá trị tuỳ chọn, không quan tãm. Các hàng còn lại thì Q(A,
B, C) = 0 logic.

b) Dạng h ộ i chuẩn toàn phần (dạng tích của các tông đủ)
Đ ể tìm biểu thức logic dạng hội chuẩn toàn phấn của bảng chân lý 3.2 ta làm như sau:
- V iết các tổng đù (m axtéc) tương ứng với các hàng bảng chân lý có hàm Q (A , B, C) = 0
logic. Mỗi tổng đủ viết cho một hàng là tổng cùa đủ các biến độc lập, sao cho tổng đó bằng 0
logic. Vì vậy, các biến trong tổng đù có thể là chính nó nếu biến trong hàng có giá trị 0 logic;
hoặc ờ dạng phủ định, nếu biến trong hàng bằng 1 logic. T heo bảng 3.2 ta c ó các tổng đủ sau:

hàng 0: A + B + C; hàng 2: A + B + c ; hàng 4: A + B + c ; hàng 5: A + B + c


- Dạng hội chuẩn toàn phần là tích các tổng đù vừa tìm được:
Q (A , B, C) = ( A + B + C )(A + B + C )(A + B + C )(Ă + B + C) (3.2)
Hàm (3.2) cũng có thể viết dưới dạng rút gọn:
Q(A, B, C) = n ( 0 , 2 , 4 , 5 ); A = LSB, c = MSB.
Cách viết trên hiểu là: Hàm Q (A , B, C) bằng tích các tổng đủ viết ờ các hàng 0, 2, 4, 5 cùa
bảng chân lý. Sô' thứ tự các hàng được mã hóa bời số nhị phân tương ứng với tổ hợp giá trị các
biến độc lập trong hàng, với quy ước A = LSB, c = MSB.

3.2.2. Tối giản hàm chudn toàn phần


Hai dạng hàm chuẩn toàn phần ở trên phải tiếp tục được làm tốigiãn, dựa theo các tính
chất và định lý trong đại số B oole, đã trình bày ở chương 1.
Với dạng (3.1):
Q = A .B.C + A .B.C + Ã .B.C + A.B.C
= A C (B + B ) + B C (Ã + A ) = A C + BC (3 .3 )

66
Với dạng (3.2):
Q = (A + B + C)(A + B + C)(A + B + C )(A + B + C)
= |^((A + C) + B)((A + C) + B )][((B + C) + A )((B + C) + A)J

= (A + C)(B + C) (3.4)

3.2.3. Xây dựng mạch logic


Sau khi đã rút gọn, dùng các cổng logic cơ bản (hoặc N A N D /N O R ) để xây dựng mạch,
theo dạng biểu thức logic tối giản nhất. Hai dạng (3.3), (3.4) có mức độ đơn giản như nhau và
tương úng với hai mạch hình 3 .la , b.

Hình 3.1. Mạch thực hiện hám cho trong bàng chân lỷ 3.2.

Nếu dùng cấc cổng N A N D thì xây dựng mạch theo dạng tổng các tích (3.3). Nếu dùng
NOR thì thành lập mạch theo dạng tích các tổng (3.4). Bạn đọc hãy tự xây đựng, như đã trình
bày ở chương 1.

3.3. PHƯƠNG PHÁP BẢNG CÁC NÔ LÀM T ố i GIẢN HÀM LOGIC


Cách đơn giản hóa các hàm chuẩn toàn phần vừa trình bày ở trên khó bảo đảm có kết quả tối
giản, vì còn tuỳ thuộc kinh nghiệm và sự nhanh nhạy cùa người thực hiện. Hơn nữa từ bảng chân
lý, ta không thể nhận ra ngay phải tìm biểu thức logic dạng nào trong hai dạng chuẩn toàn phần,
để khi rút gọn sẽ tối giản.
Phương pháp dùng bảng Các nô cho ta quy tắc rút gọn hàm logic, bảo đảm kết quả nhận
được là tối giản. N hìn vào bảng Các nô cũng nhận ra ngay phải tìm biểu thức logic dưới dạng
tổng các tích hay dạng tích các tổng thì sẽ được kết quà tối giàn.

3.3.1. Thành lộp bàng Các nô


Phương pháp bảng Các nô dùng rất thuận tiện để làm tối giản các hàm logic từ 5 biến trờ xuống.
Bảng Các nô thực chất là biến tướng của bàng chân lý biểu diễn hàm logic. Đ ể m ô tả hàm
n biến độc lập, thay vì cần 2" hàng như bảng chân lý, bảng Các nô phải có 2" ô. Trong m ỗi ô
ghi giá trị hàm, tương ứng với tổ hợp giá trị các biến độc lập gán cho ò đó.
Khi lập bảng Các nô ta luôn phải bảo đảm quy tắc gán tổ hợp giá trị các biến độc lập cho
từng ô, sao cho: cứ hai ô nền kề nhau thi clủ có một biến là khác nhau về giá trị (hình 3.2).
Trẽn hình 3.2, theo các cạnh của bảng ta ghi ký hiệu các biến độc lập, kèm theo dấu gạch
với ý nghĩa là: ún g với các ô bị phủ bởi dấu gạch, biến có giá trị 1 logic, ứng với nhũng ô
không bị dấu gạch phù, biên bằng 0 logic. V í dụ ô ® và © ở hình 3.2a, tổ hợp giá trị các
biến độc lập gán cho chúng tương ứng là ABCD = 0011 và ABCD = 1011. Trên hình 3.2b, ô
® ứng với tổ hợp A BCDE = 01010, ô © ứng với tổ hợp ABCDE = 01000. Chú ý rằng những

67
cặp ô nằm ở hai biên đối nhau trong bảng Các nô cũng là những cặp ô liền kể. Ô ® và © ở
hình 3.2a chỉ có biến A có giá trị khác nhau; cặp © , (£ ) trên hình 3.2b chì có biến D khác giá
trị. Vậy, chúng là các cặp ô liền kề.

0
(í)
0 ) (° )

a> b) ____ — — - — ------ c)


8 B

Hinh 3.2. Gán giá trị các bién độc lập cho môi ô cùa bảng Các nô

3.3.2. Hai dạng biểu thức logic tưong đương vói hàm mô tà trong bàng Các nô
M ột hàm xác định m ô tả trong bảng Các nô, có thể biểu diển thành hai dạng biểu thức
logic tương đương: Dạng tổng các tích SOP (Sum o f products) và dạng tích các lổng POS
(Product o f sums).

a) Tìm biêu thức logic dạng tông các tích (SOP)


Cho bảng Các nô 3.3a. Đ ể tìm dạng SOP ta làm như sau:
Bàng 3.3a. Bàng Các nô
- Lặp các vòng Hên kết chứa 2k ô liền kề nhau và cùng có

A
giá trị 1 logic, k = 1, 2, 3 ... M ột ô c ó thể tham gia vào nhiều
vòng liên kết khác nhau. Trên bảng 3.3, ta lập được ba vòng
.- V liên kết I, II, ra , chứa các ô có giá trị 1 logic. Trong vòng liên
0 I '1 1 i 0 ị
kết II có ô ký hiệu X (hoặc <t>), là ô không cần quan tâm; vì tổ
1 1 1 r g hợp ABCD = 1 1 1 1 ứng với ô này không bao giờ xảy ra trong
ỉ 0 i bài toán logic mà hàm Q (A , B, c , D ) ở bảng 3.3a thể hiện. Do
1 X
1TTI •-V I
đó ta có thể gán cho ô này giá trị logic 1/0 tuỳ ý, sao cho có lợi
0 ị cho việc tối giản hàm. Ở đây chọn Q ( l, 1, 1, 1) = 1.
u .

- V iết biểu thức logic cho m ỗi vòng liên kết vừa thành lập.
N ó là m ột tích cùa chi các biến độc lập có giá trị không thay
đôi trong vòng liên két. V ì vậy, một vòng 2k ô sẽ loại bỏ được k biến trong biểu thức logic cùa
nó. Cácbiến trong biểu thức có thể là chính nó, nếu giá trị cùa biến, ứng với vòng liên kết bầng
1 logic; hoặc ở dạng phù định nếu biến bằng 0 logic. Vậy ta có:

V òng I: A .C .D ; V òng II: B; V òng III: A .D .


- Hàm Q (A, B, c , D) bầng tổng các tích vừa tìm được:

Q(A,B,C, D) = B + Ã.D + A.C.D (3 .5 )

b) Tim biêu thức logic dạng tích các tông (POS)


Đ ể có dạng POS, các bước làm cũng tương tự như trên.
- Tim các vòng liên kết chứa 2k ô liền kề nhau cùng có giá trị 0 logic. Với bảng 3.3a, ta
được các vòng IV, V , VI.

68
- Viết biểu thức logic cho mỗi vòng liên kết. N ó là một tổng cùa chỉ các biến độc lập có
giá trị không thay dổi trong vòng. Các biến trong biểu thức sẽ là chính nó, nếu tương ứng với
vòng, biến có giá trị 0 logic; hoặc phài ở dạng phú định nếu biến bằng 1 logic. Vậy ta có:
V òng IV: A + B + D; Vòng V: A + B + c ; Vòng VI: A + B + D
- Hàm là tích cùa các tổng vừa tìm được:
Q( A, B ,c , D ) = ( A + B + D )(Ã + B + C )(Ã + B + D ) (3.6)
Hình 3.3a, b tương ứng là mạch chi dùng N A N D /N O R xây dựng theo (3.5) và (3.6).
Thực ra chỉ cần tìm một dạng biểu thức logic tối giản và ngay bảng Các nô đã cho thấy
điều này. V í dụ ờ bảng 3.3a, ta thấy ngay là biểu thức dạng SOP m ô tả hàm, sẽ đơn giản hơn
dạng POS. Lý do rất dễ nhận thấy: Hai trong ba vòng liên kết các ô 1logic liền kề có kích thước
lớn hơn ba vòng liên kết các ô 0 logic (mỗi vòng chi có 2 ô).

£ > £ >

£ >
■£>
a) b)

Hình 3.3. Mạch logic thực hiện hàm Q(A, B, c, D) ở bảng 3.3a

3.4. DÙNG BẢNG CÁC NÔ RÚT GỌN BIÊU THỨC LOGIC


Ớ trẽn đã giới thiệu dùng bảng Các nô thay cho bảng chân lý để m õ tả hàm. Từ đó tìm
được biếu thức logic tối giản tương đương.
Cũng có thê dùng bảng Các nô rút gọn các biêu thức logic.
Ví dụ: Cho hàm Q( A , B, C) = B + AC + A B C . Hãy dùng báng Các nô rút gọn hàm. Cách làm
như sau:
- Trước hết, hàm 3 biến sẽ m ô tả được trong báng Các nô có 2' = 8 ô (hình 3.4).

1 1

.—•. AC
1 1
0 'Y

AB C
1 1
Q(A, B, C) = B + AC
1 1)
Hinh 3.4. Trinh tự rút gọn biểu thức B + AC + ABC dùng bàng Các nô.

69
- Số hạng B trong biểu thức hàm Q (A , B, C) thể hiện trên bàng Các nô bằng 4 ố logic liền
kề có giá trị 1 logic (hình 3.4a). Sô' hạng AC trong biểu thức thể hiện trên báng Các nô bằng 2 ô
1 logic liền kề (hình 3.4b). Số hạng ABC thể hiện trên bảng bời một ô 1 logic (hình 3.4c).
Tổng hợp lại, bàng Các nô m ô tả hàm Q (A, B, C) sẽ như ờ hình 3.4d.
- Nhóm các ô 1 logic ở hình 3.4d thành hai vòng liên kết, ta sẽ có Q (A , B, C) = B + AC.
Cách làm trên nhằm trình bày trình tự rút gọn một biểu thức logic bằng báng Các nô. Thực ra,
với biểu thức trong ví dụ, chi cần vài phép biến đổi Boole đơn giản là ta rút gọn được. Thật vậy:

Q (A , B ,C ) = B + A C + ABC = B(1 + Ã C ) + AC = B. 1 + AC = B + AC

3.5. VÀI VÍ DỤ TỔNG H ộ p mạch


Ví dụ 3.1. Hãy xây dựng mạch báo lỗi của một nhóm 4 bit số BCD (m ột chữ - xem mục
1.11.2) nhận được: Khi nhận được một chữ số BCD có giá trị lớn hơn 9, thì đấu ra mạch ờ 1
logic để báo chữ số BCD nhận được là không hợp lệ.
Trước hết ta xây dựng sơ
E -* 23
đổ khối của mạch báo lỗi. N ó
có 4 đầu vào D, c, B, A tương Sỗ 22 Q
ứng với trọng số từ 2 1 đến 2" và BCD i u 21
một đầu ra Q. N hóm 4 bit cùa 2°
số BCD sẽ đặl trên 4 đầu vào
này (hình 3.5a).
Tổ hợp nhị phân DCBA có Hình 3.5. Ví dụ 3.1.
thể mã hóa cho các số từ 0 đến
15. Tuy nhiên đối với m ột chữ (ld ig it) cùa sô' BCD, thì các tổ hợp có giá trị từ 10 đến 15 là
không hợp lệ, và ứng với chúng Q phải bằng 1 logic. Trên c ơ sở này ta thành lặp được bảng các
nô, m ô tả hàm Q (A , B, c , D) như ờ bảng 3.3b.

Nhóm hai vòng liên kết I và n . Ta được biểu thức logic mó tả


Bàng 3.3b. Bảng Các nô mô tà hàm Q dạng tổng các tích: Q = B.D + C.D. Dùng các cổng NA N D
hám Q (A, B, c, D) hai đẩu vào, xây dựng được mạch báo lỗi hình 3.5b.

Ví dụ 3.2. Cho hàm Q (A , B, c , D ) = E (0, 2, 5, 8, 10, 12, 13,


14, 15); quy ước từ A - » D: A = LSB, D = MSB. Hãy dùng bảng
0 0 0 0
Các nô rút gọn, sau đó dựng m ạch logic thực hiện hàm.
0 '1 0
V ới cách biểu diễn như trên hàm Q (A , B, c , D) bằng 1 logic
li ij 1)
ứng với 9 tổ hợp giá trị các biến độc lập là DCBA = 0000; 0010;
0101; 1000; 1010; 1100; 1101; 1110; 1111. V ậy bảng Các nô
0 0 0 0
biểu diễn hàm Q (A , B, c , D ) sẽ như ở hình 3.6a. Thành lập ba
vòng liên kết, ta rút ra:

Q(A,B.C,D) = C.D + Ã.C + A.B.C


Sừ dụng hai vi mạch 7 4 0 4 và 7464 đẽ’ thành lập mạch (hình 3.6b). c ổ n g A N D bon đầu vào
cùa IC 7464 không sử dụng tới nên các đẩu vào đều phái nối “đất”.

70
l ’1 ì 0 0

l1 \ 0 0

(1
1 1
roi
0 0 0

Hình 3.6. Ví dụ 3.2

3.6. ẢNH HƯỞNG TRE TRUYỀN đạt tới hoạt đ ộ ng của


MẠCH LOGIC T ổ H ộp
Như đã biết ờ chương 2, trễ truyền đạt là khoảng thời gian cần thiết đê tín hiệu ra mạch
logic phán ứng theo sự thay đổi cùa các tín hiệu vào. Trễ truyền đạt của các cổng logic trong
mạch tố hợp nhiều khi gãy lỗi logic ờ đầu ra. Khi tổng hợp mạch phái lưu ý đến điều này.

3.6.1. Khái niệm về mạch có rủi ro (hazard) Bảng 3.4. Bảng Các nõ

Xét hàm Q (A , B, c, D ) cho trong báng Các nô 3.4. B A


Với hai vòng liên kết I, n, ta được biểu thức logic tối giản
dạng tổng các tích m õ tá hàm:

Q (A ,B ,C .D ) = A.C + Ã .D (3.7)
Hình 3.7a là mạch xây dựng theo (3.7), gọi là mạch logic hai 10 v ' 0:
mức dạng tổng các tích. Với mạch hình 3.7a, biến ra Q sẽ có lỗi
logic khi tổ hợp A B C D chuyển từ 1101 sang 0101 (chỉ có biến A 0
v fc '
kéo từ 1 xuõng 0).

Hình 3.7. Các mạch logic cố rùi ro, xây dựng theo cõng thức (3.7), (3.8).

Thật vậy, theo bàng Các nô 3.4 thì OCX, 1 ,0 , 1) = Q(0, 1 ,0 , 1) = 1 logic. Khi A chuyển từ
l-> 0 , biến Q phái nằm yên vị ờ 1 logic. Tuy nhiên do các cổng có trễ truyền đạt, coi là bằng nhau

71
và bằng tpd. Sự chuyển trạng thái của A sẽ làm thay đổi mức logic trên các cổng như m ô tà ờ hình
3.8a. Ta thấy, thay vì giữ không đổi ở 1 logic, ở đầu ra Q xuất hiện m ột xung âm không m ong
muốn, gọi là glitch loại I.
Cũng hàm ở bàng Các nô 3.4, nếu dùng hai vòng liên kết IV, V ta sẽ được biểu thức logic
m ô tả hàm dạng tích các tổng:

Q (A ,B ,C , D ) = (A + D )(Ã + C ) (3.8)
Hình 3.7b là mạch logic
ABCD = 1101 - ABCD = 0101 ABCD = 0110 —> ABCD = 1110

Ị/1
hai mức dạng tích các tổng, H tpd
xây dựng theo (3.8). Ở mạch A
này, do trễ truyền đạt tpd, khi <<*
A
/ B = ------ Ã
tổ hợp ABCD chuyển từ
V F -
0 110 sang 1110; thay vì Q Qi ■ Q i-
phải nằm yên vị ở 0 logic, lại " 7 F -
xuất hiện một xung dương
02. Q2.
rất hẹp không m ong muốn -
glitch loại 0 (hình 3.8b).
Q ■
u glitch
J~Ị glitch
Tóm lại, ở m ạch logic tổ > t *■ t
Trục thời gian Trục thời gian
hợp hai mức, khi thay đổi
a) b)
mức logic cùa một biến vào
Hình 3.S. Mô tà hoạt động hai mạch hình 3.7 khi A chuyển trạng thái.
nào đó, tương ứng với hai ô
liền kề mà hàm đầu ra c ó cùng giá trị logic; do trễ truyền đạt, ò đẩu ra m ạch, thay vì giữ
nguyên mức logic, lại có thể xuất hiện m ột lỗi logic (m ột xung rất hẹp), gọi là glitch. M ạch có
thể sinh m ột glitch ở đầu ra gọi là mạch có rủi ro tĩnh. M ạch tổ hợp nhiéu mức có thể sinh
nhiểu glitch ờ đầu ra, trước khi quay vé mức logic ổn định, gọi là mạch rủi ro động. Ta hạn chế
chỉ xét mạch hai m úc với rủi ro tĩnh.

3.6.2. Tổng họp m ạch tổ họp không có rủi ro tĩnh


a) Đặt vâh đ ề
Khi sử dụng mạch có rủi ro để điểu khiển mạch logic khác (mạch tải), các glitch có thể gây sự
tác động nhầm cùa mạch tải. Đ ể khắc phục điéu này, ta thường sử dụng biện pháp nhận dữ liệu
đổng bộ (hình 3.9).
^ Clock
Ở hình 3.9, mạch tổ hợp và m ạch tải
nhận tín hiệu ờ cừa vào, đồng bộ với sự
xuất hiện cùa xung nhịp clock. Chọn chu A * Mạch tổ hợp
Mạch tải
kỳ cùa dãy xung nhịp đù lớn, sẽ ngăn Q __ . có rủi ro
được glitch thâm nhập vào m ạch tải.
Tuy nhiên, trong những hệ logic hoạt Hinh 3.9. Mạch logic nhận dữ liệu đóng bộ
động không đồng bộ, nếu phải thiết k ế m ạch tổ hợp nối trực tiếp với mạch tải, ta cán biết cách
tổng hợp m ạch tổ hợp không c ó rủi ro (hazard free).

b) Tông h ợ p m ạch tô h ợ p h a i m ứ c không rủ i ro


Ta giới hạn xét tổng hợp m ạch logic tổ hợp không có rủi ro, trong trường hợp chỉ c ó một
biến vào thay đổi trạng thái. N guyên tắc như sau:

72
Khi dùng bảng Các nô đê tổng hợp mạch tổ hợp hai mức dạng tổng các tích hay dạng tích
các tổng; muốn tránh rủi ro thì mạch phải được xây dựng trẽn cơ sớ một số vòng liên két, sao
cho bảo đảm điều kiện hai ô liền kề nhau phải ở chung ít nhất trong một vòng liên kết đã chọn.
Mạch hình 3.7a chỉ xây dựng bởi hai vòng liên kết I, II; hai ô liền kề ứng với tổ hợp ABCD =
1101 và 0101 không có chung vòng liên kết. Vì vậy đã nảy sinh một glitch khi A chuyển từ 1 —> 0.
Cũng vậy, mạch hình 3.7b chỉ xây dựng bởi hai vòng liên kết IV, V; hai ô liền kề ứng với ABCD =
0110 và 1110 không có chung vòng liên kết. Vì vậy, khi A chuyển từ 0 - » 1 đã sinh một glitch.
Có hai loại rủi ro: Rủi ro loại 1 là rủi ro khi chuyên giữa hai ô liền kề ứng với hàm đầu ra có cùng
giá trị 1 logic. Thay vì đầu ra giữ nguyên mức cao H (1 logic), lại xuất hiện lỗi là một xung âm. Rủi ro
loại 0 là loại rủi ro khi chuyển giữa hai ô liền kề ứng với hàm đầu ra có cùng giá trị 0 logic. Thay vì
đầu ra giữ nguyên mức thấp L (0 logic), lại xuất hiện lỗi là một xung dương.
X ét cách tổng hợp mạch tổ hợp hai mức không có rủi ro.
V í dụ với bảng Các nô 3.4, để xây dựng mạch hai mức dạng tổng các tích không rủi ro,
ngoài hai vòng liên kết I, II; ta lập thêm vòng liên kết III. Lúc đó biểu thức logic m ô tả hàm sẽ
có dạng:
Q (A ,B ,C ,D ) = A.C + A .D + C .D (3.9)

Vòng liên kết III tạo thêm số hạng C.D trong (3.9) là thừa.Tuy vậy, các cập ô 1 logic liền
kề đều được phủ chung bởi ít nhất một vòng liên kết. M ạch xây dựngtheo (3.9) sẽ không có rủi
ro loại 1.
Tiếp theo, phái kiểm tra xem mạch xây dựng theo (3.9) có loại bỏ được rủi ro loại 0 hay
không. M uốn vậy, ta chuyển (3 .9 ) thành dạng tích các tổng:
A .c + A .D + C.D = D (A + C) + C( A + D)

= [ d ( Ã + c ) + c ] [ d ( Ã + c )+ ( a + D)]

= [(C + D )(C + Ã ) ] [ ( A + D)(1 + D + C )]

= (A + D )(Ã + C )(C + D ) (3.10)


Dạng (3 .10) tương ứng với mạch logic hai mức dạng tích các tổng, xây dựng theo ba vòng
liên kết IV, V , VI trong báng Các nô 3.4. Mạch này báo đám không có rủi ro loại 0, vì các cặp
ô 0 logic liền kề đều có chung ít nhất một vòng liên kết.
Tóm lại, mạch hai mức dạng tổng các tích xây dựng theo (3.9) không có rủi ro loại 1 và loại 0.
Chú ý có thể gặp truờng hợp sau: Từ biểu thức logic dạng tổng các tích thành lập dể tránh
rủi ro loại 1, ta chuyển thành dạng tích các tổng. Tuy nhiên các thừa sô trong dạng mới tìm
được không tương xứng với đủ sô' vòng liên kết, dể có thể loại trừ rủi ro loại 0. Lúc đó phải
thèm vài vòng liên kết cần thiết, sao cho m ọi ô liền kề mang giá trị 0 logic đều được phú chung
ít nhất bời một vòng liên kết.

3.7. LỘI d ụng trễ truyền đạt

Nhìn chung, trễ truyền đạt gây các xung không m ong muốn (glitch) ờ đầu ra mạch logic tổ
hợp. 1uy vây, trong m ột sô trường hợp, ta lại lợi dụng trễ truyền đạt đẽ tạo lập các xung làm tín
hiệu kiếm tra.

73
Hình 3.10 giới thiệu các mạch phát hiện sự chuyển mức cùa biến logic A mà ta cần theo
dõi. Coi trễ truyền đạt các cổng đểu bằng nhau và bằng t^. Mỗi khi A chuyển lừ L - » H . m ạ c h
hình 3.1 Oa sẽ phát 1 xung dương rộng 3 ^ . M ỗi khi A chuyển từ H - » L, m ạch hình 3.10b sẽ
phát một xung âm rộng 3 ^ .

— p > °—

. 3tp„
r
«—
I
■* f ~ 'pd t

tpd —*1 t
Q. --------------- ►
a) b)

Hình 3.10. Các mạch kiểm tra lợi dụng trê truyẽn dạt

Có thể lợi dụng trẻ truyền đạt để xây dựng mạch phát hiện sự chuyển mức của biến A theo
cả hai chiều (xem bài tập 3.7 ờ cuối chương).

3.8. KHÁI NIỆM VỂ MỨC TÍCH cực THÂP v à t í c h cực CAO


3.8.1. Khái niệm Bảng 3.5. Ký hiệu thõng thường và tương dương cùa các cồng logic.
Trong các ký hiệu truyền Cống logic Kỷ hiệu thòng thưởng Ký hiệu tương đương
thống mạch logic, khi một đấu
A 1^ Ầ A Ã A JS . Ã
vào/ra có vòng tròn nhỏ (tương NO
\y °
ứng với ký hiệu phép Đ Ả O ) ta
nói đầu vào/ra đó có mức lích ô —ỊT -^ A + B — V Ã .B = A + B
0R
cực thấp (A ctive Low ). Ngược B -----
= L >
lại khi các đầu vào/ra không
có vòng tròn nhỏ, ta nói chúng ồ — 1— Ỵ A . B + B = A.B
AND
là tích cực cao (A ctive high). B —
Ký hiệu chuẩn IEEE dùng dấu
ố __ ị— \ Ã B A y — ^A + B = Ã B
— t hay vì vòng tròn nhỏ. Ký NAND
hiệu biến logic trên các đáu B —
tích cực thấp cũng thường
A ^_d— = A +B
thêm dấu gạch ngang trên đầu, NOR
B
ví dụ Q , X , En ... 6
- Mức tích cực ở đầu vào/ra hàm ý chì mức logic cần thiết để kích hoạt đối tượng mà nó
điều khiển. Ví dụ, mạch logic nối với tải là đèn chiếu sáng hay rơ le báo động; mức tích cực ờ
đầu ra là để điều khiển đèn sáng, hoặc làm chuông báo động kêu. Mức tích cực ỡ đầu điểu
khiển cùa các phần tử ba trạng thái, ví dụ cổng đệm ba trạng thái, là mức làm cho cổn g m ờ đề
tín hiệu đi qua. Mức tích cực có thể là mức logic thấp hoặc cao.

74
- Đ ối với một mạch logic xác định, mức tích cực cao hay thấp ở đầu ra không làm thay đổi
hàm logic mà mạch thực hiện. Vấn đề chỉ là trạng thái logic nào ở đầu ra làm ta quan tâm.
Trong ký hiệu thông thường của các cổng logic đã khảo sát ở chương 1; các cổng A N D , OR có
đầu ra là tích cực cao; các cổng NO, N A N D , NOR có đầu ra là tích cực thấp. Bảng 3.5 chi ra ký
hiệu tương đương (dẫn xuất) để chuyển mức tích cực ở đầu ra các cổng này.

3.8.2. Cách vẽ m ạch logic khi quan tâm tối mức tích cực ỏ đầu ra
Trong tổng hợp mạch xét ở mục 3.3, 3.4; lúc xây dựng mạch logic, ta chỉ quan tâm sẽ
dùng những phần tử nào để tạo nên nó. Tuy nhiên, khi cần chú ý tới mức tích cực ở đầu ra, ta sẽ
có những cách thể hiện mạch khác nhau ứng với đầu ra là tích cực thấp hay tích cực cao. Hai
nguyên tắc vẽ mạch khi lưu ý tới mức tích cực ờ đầu ra là:
- Đầu ra tầng cuối cùng của mạch phải có mức tích cực, phù hợp mới mức tích cực kích
hoạt tải.
- Đ ối với các tầng phía trước thì mức tích cực ở đầu ra, phải phù hợp với mức tích cực ở
các đầu vào mạch tải mà nó điều khiển.
Với hai nguyên tắc trên, ta sẽ thấy trong mạch logic có sự phối hợp dùng cả hai ký hiệu
thồng thường và ký hiệu tương đương (bảng 3.5) để m ồ tả các cổng logic.
Ví dụ: Cho hàm Q = A.B + C.D.
Nếu dùng các phần tử N A N D để xây dựng, ta sẽ có mạch hình 3.1 la.
Khi dùng mạch hình 3.1 la để điều khiển tải có mức tích cực cao, ta phải thể hiện cổng
N A N D số 3 dưới dạng ký hiệu tương đương, với đầu ra tích cực cao. Kết quả mạch hình 3.1 la
được thể hiện thành mạch hình 3.1 lb với sự chú ý về hoà hợp các mức tích cực.

Hình 3.11. Thể hiện mạch logic, khi chú ý tới hoà hợp vé mức tích cực.

Nếu dùng mạch hình 3.1 la để kích hoạt tải có mức tích cực thấp, ta giữ nguyên ký hiệu cổng
số 3. Tuy nhiên, để phù hợp với mức tích cực cao ở hai đầu vào cổng số 3, các cổng N A N D số 1
và số 2 phải chuyển sang thể hiện dưới dạng ký hiệu tương đương, đầu ra tích cực cao. Kết quả ta
có mạch hình 3.1 lc .
V iệ c thể hiện m ạch lo g ic theo đầu ra tích cực cao hay thấp, giúp ta dễ dàng tìm được
điều kiện các biến vào để kích hoạt tải.
Ví dụ, ở hình 3.1 lb , để kích hoạt tải (Q = H) thì hoặc Qị = L, hoặc Q 2 = L, hoặc Q, = Q2 =
L. Muốn vậy thì hoặc A = B = H; hoặc c = D = H; hoặc A = B = C = D = H. ở hình 3.1 lc, để
kích hoạt tải (Q = L) thì Q| = Q2 = H. Muốn vậy thì ít nhất một trong hai biến vào (A, B) của
cổng số 1 và ít nhất một trong hai biên vào (C, D) của cổng số 2 phái ở mức thấp L.

75
BÀI TẬP CHƯƠNG 3

3.1. Cho hàm Q(A , B, c , D) = E (0 ,1 , 2, 4, 5, 8); (ị>7, 10; quy ưàc thứ tự từ A —> D thi A = LSB,
D = MSB. Dùng bảng Các nô tối giản hàm để nhận được biểu thức logic dạng tổng các tích và
dạng tích cấc tổng. D ùng các phần tử N A N D để xây dựng mạch.
3.2. X ây dựng m ạch lo g ic có sơ đổ khối ở hình 3.12a, sao cho :
Khi E = 1, D = 0 thì p = 1 , c = 0 ;
E = 1 , D = 1 thì p = 0 , c = 1 ;
E = 0, D = 0 hoặc D = 1 thì p = c = 1.
3.3. Thiết k ế m ạch điều khiển một hệ thống 15 đèn
chiếu sáng, đặt theo kiểu ma trận 3x5 (hình 3.12b). Với các
lệnh điều khiển khác nhau, m ạch sẽ hiển thị các chữ c , E, F, a) b)
p, T. Trên hình vẽ là ví dụ hiển thị chữ E. Hình 3.12. Bài tập 3.2; 3.3.
3.4. Tay gạt nưóc mưa ờ mặt kính xe ôtô hoạt động theo sự điểu khiển cùa khóa M và công
tắc cực hạn F. Khi M = 1 logic thì tay gạthoạt động. Khi M = 0 logic và tay gạt trờ về vị trí xuất
phát với F = 1 logic, thì nó ngừng chạy. Hãy thànhlập m ạch logic điểu khiển động cơ truyền
động tay gạt. Biết rằng, khi đầu ra Q = 1 logic thì động cơ truyền động tay gạt sẽ chạy.

3.5. Cho hàm Q (A ,B ,C ) = A .B + B . c . Hãy dùng các phần tử N A N D để xây dựng mạch.
Chứng tỏ rằng mạch có rủi ro loại 1. Hãy bổ sung để xây dựng mạch thực hiện hàm Q(A, B, C)
không có rủi ro.
3.6. Cho m ạch 3.13a. Hãy vẽ dạng sóng của tín
hiệu ở đầu ra Q, theo dạng sóng cùa các tín hiệu vào A,
d > ------- ì y - B khi:

- Coi phần tử Đ Ả O không có trễ truyền đạt.


t
- Coi phần tử Đ Ả O có trề truyén đạt tpj.

B t 3.7. Cho m ạch 3 .1 3b. Số cổ n g Đ Ả O trên hình vẽ


1
a) là m ột số chẵn (2, 4 ...) . G iả định các cổn g Đ Ả O có
trễ truyền đạt
bằng nhau và
bằng tpj. Bằng
b) cách vẽ đ ồ thị
Hình 3.13. Bài tập 3.6; 3.7. dạng sóng để
chúng tỏ rằng:
M ỗi khi A chuyển mức lo g ic (L H ) thì đầu ra Q lại
phát ra m ột xung dương.
3.8. Cho mạch hình 3.14. Hãy vẽ lại mạch để đầu ra Q
phù hợp với mức tích cực thấp cùa tải.

76
(€ J u ổ ổ n ỹ 4

THIẾT BỊ LOGIC KHẢ TRÌNH

N ội dung chương này chù yếu đề cập tới:


- Cấu trúc các mạch logic khả trình đơn giàn: PLA, PAL, PROM. úng dụng cùa chúng
trong tổng hợp mạch logic tổ hợp.
- Hai cõng nghệ sản xuất các mạch logic khả trình đơn giản.

4.1. ĐẶT VẤN ĐỂ


N gày nay, chi phí cho việc sản xuất mạch in đôi khi còn tốn kém hơn chi phí cho các vi
mạch trong m ột mạch điện tử. V ì vậy các nhà thiết kế và sản xuất sản phẩm điện tử luôn muốn
sử dụng các vi mạch tích hợp nhiều tài nguyên. Điều này cho phép giảm kích thưóc mạch in và
số các linh kiện sử dụng trẽn mạch. N ó cũng đồng nghĩa với hạ giá thành sản phẩm.
Người sử dụng c ó thể đặt hàng hãng sản xuất vi mạch, chế tạo cho mình những mạch
chuyên dụng có các tính nãng theo yêu cầu. Tuy nhiên, cách này chỉ phù hợp với số lượng sản
phẩm lớn. Đ ể hạ giá thành, các hãng sàn xuất vi mạch đã đưa ra một số lượng lớn những vi
mạch logic mà người sử dụng có thể tự lập trình theo yêu cầu, gọi là thiết bị logic khả trình
(PLD - Programable L ogic D evices, đôi khi còn gọi là FPD - Field Programmable D evices).
Về nguyên tắc có thể coi PLD là vi mạch tích hợp rất nhiéu các cổng logic cơ bàn. Bàng cách
lập trình, người sừ dụng có thể kết nối các cổng này để thực hiện nhiều hàm logic dạng tổng
các tích.
Theo mức độ tích hợp (được quy đổi tương đương thành sô' cổng N A N D hai đẩu vào), các PLD
chia thành:
- Mạch logic khả trình đơn giản SPLD (Simple PLD), gồm khoảng vài trăm cổng N A N D
trong một “chip” vi mạch.
- Mạch logic khả trình phức hợp CPLD (Complex PLD); một chip chứa khoảng vài nghìn
cổng NAND.
- Mảng các cổng khả trình FPGA (Field Programmable Gate Array), gồm hàng nghìn, tới
vài chục nghìn cổng N A N D trong một chip.
Các hãng sản xuất vi mạch từ 1970 đến nay đã đưa ra nhiều loại SPLD khác nhau. Nhìn chung
có 4 loại:
- M ảng logic khả trình PLA (Programmable Logic Array).
- L ogic mảng khả trình PAL (Programmable Array logic).
- Logic mảng khả trình PROM (Programmable Read Only M emory).
- Logic mảng khả trình đa năng GAL (Generic Array logic).
Dưới đây sẽ xét cấu trúc của ba loại PLA, PAL, PROM và úmg dụng cùa chúng.
V iệc lập trình cho các SPLD được thực hiện qua các chương trình phần m ềm , sau đó nạp
xuống vi mạch thông qua các thiết bị chuyên dụng (vấn đề này sẽ đề cập đến trong chương 12).

77
4.2. MẢNG LOGIC KHẢ TRÌNH PLA
4.2.1.Cấu trúc
PLA là một m ạch gồm hai mảng các cổng cơ bàn đều có thể lập trình: mảng các cổng
A N D và mảng các cổng OR. Tín hiệu vào PLA được nối với mảng các cổng A N D . Đáu ra các
cổng A N D đưa tới m ảng các cổng OR. Như vậy một PLA có thể sử dụng để thực hiện các hàm
logic dưới dạng tổng các tích (SOP: Sum O f Products).
Hình 4.1 cho ví dụ m ột PLA có 4 đầu vào A , B, c, D và ba đầu ra Q l, Q 2, Q 3. với sáu số
hạng tích từ P1 đến P6. Các biến vào thông qua cổng đệm sẽ tạo ra trong m ảng A N D những
hàng là chính các biến và phần bù của chúng. Tất cả được đưa tới từng cổng A N D thông qua
các cầu chì. Bằng cách giữ lại hay đốt cháy cáu chì khi lập trình, người sử dụng có thể cho phép
tín hiệu được nối hay không nối với các cổng A N D . Như vậy m ồi cổng A N D c ó thể tạo ra được
một tích đủ các biến logic đầu vào và phần bù của nó. M ột cách tổng quát, m ột PLA với n biến
đầu vào thì mảng cổng A N D cùa nó phải có p = 2" cổng để tạo ra tất cả các tích đù có thể có.
Tuy nhiên thực tế thì số cổng A N D ít hơn nhiều so với 2" (p < 2").

Hinh 4.1. Vi dụ một P IA 4 inputs và 3 output với 6 số hạng tích

M ột cách tương tự, các đầu ra của m ảng A N D được đưa đến đầu vào của từng cổng trong
mảng các cổng OR thông qua các cầu chì. Khi lặp trình, bằng cách giữ lại hay đốt cháy một số
cầu chì ta sẽ được ờ đầu ra của cổng OR hàm logic m ong muốn dạng tổng các tích.

78
Trong công nghệ ch ế tạo PLA khi một đầu vào cổng A N D để hở thì về mặt logic coi như
đầu vào đó được nối với logic 1. Trong mảng OR, khi một đầu vào cổng OR để hở thì coi như
nó được đặt logic 0.
Đ ối với người sử dụng PLA, điều quan tâm là PLA đó có thể tổng hợp được bao nhiêu hàm
logic. Từ cấu trúc của PLA ở trên cho thấy: Một PLA n đầu vào, m đầu ra, với p tích, sẽ tổng
hợp được m hàm logic n biến, dạng tổng các tích (tối đa là p tích).
Hình 4.2 chỉ ra một cách ký hiệu đơn giản sơ đồ cấu trúc của PLA. Thay vì vẽ tất cả các
đường dây vào cổng A N D , OR như trên hình 4.1, ở đây m ỗi cổng chỉ có một đường vào. Ký
hiệu X tại mỗi giao điểm đặc trưng cho m ối nối cầu chì có thể lập trình.

Hình 4.2. Sơ đổ ký hiệu đơn giản cấu trúc của một PLA 4x3 với 6 dạng tích.
(x: Ký hiệu mối nối có thể lập trinh)

4.2.2. Ví dụ ứng dụng


Chúng ta có thể sử dụng PLA trên để thi^c hiện các hàm logic dạng tổng các tích (có nhiều
nhất 6 số hạng tổng) của 4 biến vào. Ví dụ:
Q1 = A .B + A.B.C.D
Q 2 = A .C + Ã .C.D + B
Q3 = A .B + A.C + A.B.D
ở đây có ba hàm logic cùa bốn biến đầu vào cẩn thực hiện. Tổng sô' các số hạng dạng tích
của cả 3 hàm bằng 8, trong khi đó PLA chỉ có 6 cổng A N D để thực hiện các số hạng tích. Một
cách tổng quát thì không thể thực hiện được. N ếu muốn thực hiện được thì ta cần chọn PLA có
số cổng A N D ít nhất bằng 8. Tuy nhiên trong 3 hàm logic trên chúng ta có nhặn xét là hàm Q1
và Q3 có 2 số hạng tích giống nhau A.B, và hàm Q2 và Q3 cũng có 2 sô hạng tích giống nhau
là A . c . Như vậy số' hạng tích thực sự chỉ có 6. Vậy ta có thể sử dụng PLA 4 x3 với mảng A N D
có 6 cổng để thực hiện. Hình 4.3 chỉ ra cấu trúc cùa PLA sau khi đã được lập trình đế thực hiện
các hàm logic Q l, Q 2, Q3.

79
Hình 4.3. Sử dụng PLA để thực hiện 3 hám logic

Đ ể thuận tiện cho người sử dụng, các vi mạch PLA khi đóng vỏ thường được ch ế tạo với một
số chân có chức năng I/O (có nghĩa là có thể là chân Input hoặc Output tuỳ thuộc vào mục đích sử
dụng). Ngoài ra để thực hiện các mạch logic dãy, một số PLA được ch ế tạo c ó đầu ra cùa các cổng
OR nối với các Flip Flop.
Năm 1975, hãng Signetics lần đầu tiên đưa ra ý tường về FPLA (Fuse PLA) sử dụng hai mảng
A N D - OR. Tuy nhiên vào thời điểm đó PLA được ch ế tạo dựa trên công nghệ 10nm. D o vậý với
hai mảng A N D - OR có thể lập trình đã làm cho PLA khó c h ế tạo và trễ truyền đạt tpj từ đầu
vào đến đẩu ra là lớn (tpj propagation delay). Tốc độ làm việc cùa PLA chậm . Hiện nay các
PLA thường ít được sử dụng.
M ột số vi m ạch PLA được S ign etics đưa ra thị trường: 8 2S 100: có 16 đầu vào, 48 cổng
A N D và 8 cổ n g ra. PLS161: c ó 12 đẩu vào, 8 đầu ra và 4 8 c ổ n g A N D , các đẩu ra c ó thể lập
trình tích cực ca o hoặc tích cực thấp.

4.3. LOGIC MẢNG KHẢ TRÌNH PAL


4.3.1. Cấu trúc
D o tốc độ lan truyền tín hiệu cùa PLA chậm . Nãm 1978 hãng M onolithic M em ories đã
phát triển một sản phẩm có tên là PAL. Cầu trúc của PAL được thiết k ế dựa trên cấu trúc cùa
PLA. Tuy nhiên, thay vì sử dụng hai m ảng lập trình A N D - OR như ờ PLA thì PAL chì sù dụng
mảng AND có khả năng lập trình, còn mảng OR là cô'định. Với cấu trúc này về mặt côn g nghệ
c h ế tạo cho phép PAL c ó trẻ truyền đạt nhò hơn PLA. Tuy nhiên tính linh hoạt cùa PA L sê kém
hơn PLA do m ảng OR bị c ố định.

Hình 4 .4 chỉ ra cấu trúc đơn giản của PAL. Ta thấy, kích thước cùa PAL ờ hình 4 .4 hoàn
toàn giống kích thước m ạch PL A ờ hình 4.3 (số cổng đệm cửa vào, số cổng A N D và cổn g OR ờ
hai hình là bằng nhau); nhung m ảng OR trong PAL hình 4 .4 không thể lập trình được. M ỗi

80
cổng OR chì có hai đầu vào, nối cố định với đầu ra hai cổng A N D . Chính vì vậy nên PAL ở
hình 4.4 không thể thực hiện được các hàm Q2, Q3 trong ví dự ờ mục 4.2.2. Chì có hàm Q1 là
thực hiện được vì nó ch! có hai số hạng tích.

X Mối nối lập trình được


• Mối nối có định
Hình 4.4. Cấu trúc đơn giản của PAL.
Mạch PAL hiện nay được nhiều hãng sàn xuất vi mạch chế tạo: A M D, Lattice
Semiconductor, National Semiconductor, Texas Instruments... Hình 4.5 là sơ đồ cấu trúc
PAL16L8 của hãng A M D (Advanced M icro Devices). PAL16L8 có một mảng A N D gồm 64
hàng và 32 cột; tương ứng với 64 cổng A N D , m ỗi cổng có 32 đầu vào. Số đầu vào cổng A N D
ứng với 16 biến vào và phần bù của nó. Như vậy, mảng A N D có 6 4 x 3 2 = 2048 cầu chì có thể
lập trình được. Đ ể đơn giản, trên hình 4.5, ờ giao điểm giữa hàng và cột của mảng A N D , ta
không dùng dấu hiệu X tượng trưng cho m ối nối có thể lặp trình như đã quy ước ờ hình 4.2.
PAL16L8 có mảng OR nối c ố định gồm 8 cổng OR, m ỗi cổng có 7 đầu vào. Ký hiệu 16L8 có
nghĩa là PAL có 16 đầu vào, 8 đầu ra tích cực thấp (L -L ow active).

PAL16L8 đóng vò kiểu DIP, có 20 chân dẫn ra; trong đó có 10 chân đầu vào 1,,+Li (tương
ứng vói các chân từ số 1 đến sô' 9 của IC), 8 đầu ra (từ chân số 12 đến 19) và 2 chân nguồn (V „,
GND). Cẩn chú ý là 6 trong số 8 chân đầu ra (từ chân số 13 đến số 18) có thể đóng vai trò I/O
nghĩa là vừa có thể là đầu vào I (Input), vừa có thể là đẩu ra o (Output). Các chân I/O được thiết
kế có đường phản hổi về mảng AND. Mạch ở m ỗi đầu ra cùa PAL16L8 gồm 8 cổng A N D , một
cổng OR với đầu ra nối qua cổng ĐẢO - thúc ba trạng thái. 7 trong số 8 cổng A N D nối với 7 đầu
vào cổng OR; 1 cổng A N D còn lại nối với chán điều khiển cổng Đ Ả O - thúc ba trạng thái, c ổ n g
Đ Ả O này chì đưa tín hiệu logic ra ngoài (và làm phép phù định lẽn tín hiệu), khi chân điều khiển
bằng 1 logic.

81
Với cấu trúc trên, m ỗi đầu ra cùa PAL16L8 chỉ có thể thực hiện được hàm logic tổng cùa
tối đa 7 số hạng tích. Tuy nhiên, nếu dùng hợp lý các chân I/O kết hợp với đường phàn hổi, ia
c ó thể thực hiện các hàm logic tổng của hơn 7 số hạng tích.

Hình 4.5. Cấu trúc của PAL16L8.

4.3.2. Ví dụ ứng dụng


Cho hàm logic sau:

Q = A .B.C.D + A B C D + ÃBCD + A B C D + Ă B C D + A BCD + ÃBCD + A BCD

Hãy chỉ ra kết nối cẩn thiết của PA L16L8 để thực hiện hàm Q.

Giải: Ta thấy, hàm Q là tổng của 8 số hạng tích của 4 biến vào A , B, c , D. M ỗi đầu ra cùa
PAL16L8 chỉ có thể thực hiện được tổng của 7 số hạng tích. V ậy ở đây ta phải dùng hai đắu ra
để thực hiện hàm Q. M ột đầu ra sẽ thực hiện hàm:

Y = A .B.C.D + A B C D + ABCD + A B C D + Ă B C D + A BCD + Ă B C D


M ột đẩu ra sẽ thực hiện hàm:

Ỹ + A BCD = Q
Hình 4 .6 chi ra cách lặp trình để kết nối thực hiện hàm Q. Dấu X trên hình vẽ biểu diễn kết
nối được giữ lại. Các cổng A N D nào không được sử dụng, đê’ đơn giản sẽ ký hiệu HX*- Đ iều
này đồng nghĩa với việc tất cà các biến và phần bù cùa nó đều nối với các đáu vào cổn g A N D .
Như vậy, đáu ra cổng A N D không sử dụng sẽ bằng 0 logic.

82
cầu chì không bị cắt —ÍX>— cổng AND không sửdụnc

Hình 4.6. Sử dụng PAL16L8 thực hiện hàm Q

4.4. LOGIC MẢNG KHẢ TRÌNH PROM


4.4.1.Cấu trúc
Logic mảng khả trình PROM (còn gọi là PLE-Programmable L ogic Elements) dùng để
tạo ra bộ nhớ chỉ đọc có thể lập trình PROM (Programmable Read Only Memory). N ó có cấu
trúc ngược với PAL: M àng A N D c ố định, không lập trình được; mảng OR có thể lập trình.
Nếu PROM có n biến vào thì mảng A N D sẽ có M = 2" cổng AND. Đầu ra mỗi cổng là một
tích đù các biến vào, sao cho tích đó
bang 1 logic (ngôn ngữ tổng hợp mạch
thường gọi là mintéc - xem mục 3.2.1).
Hình 4.7 là cấu trúc của PROM
vói ba đẩu vào 1,1 4- I2 và bốn đầu ra
1 + 4. Các tích c ố định: PO = I2.I] .I() ;

P1 = w » ; P2 = M , 4 ;
P 7 = i 2.i ,.i ,,
Khi đạt m ột tổ hợp logic lên các
đầu vào, duy nhất chì một trong sô' 8
đấu ra (P0+P7) mảng A N D là nhảy
lên 1 logic, các đầu còn lại nằm ở
0 logic. Ta nói mảng A N D có cấu
trúc cùa mạch giải mă chọn (xem
mục 3.5). Khi dùng với chức năng bộ
nhớ, đặt lẽn các đấu vào PROM là sô'
nhị phân n bit. V ì vậy ờ m ỗi đầu vào Mảng AND
p r o m có ghi trọng số tương úng cùa
b it n h ị phâ n (2 °, 2 \ . . Hinh 4.7. cấu trúc của PROM.

83
Mảng OR trong PROM thường gọi là “dàn nhớ” gồm 2" hàng. M ồi hàng gán cho m ột dịa
chỉ từ 0 dến n—1. T heo thuật ngữ cùa bộ nhớ thì m ỗi hàng trong m àng OR gọi là m ột ô nhớ.
Bằng cách lập trình, ta có thể ghi tổ hợp giá trị logic m ong muốn vào từng ô nhớ: Giữ lại cấu
chì trong hàng, tương ímg với việc ghi 1 logic vào vị trí đó; đôĩ chảy cáu chì trong hàng, tương
ứng như ghi 0 logic vào đó. M áng OR hình 4.7 có 8 õ nhớ, địa ch! Oỉ-7; m ỗi ô nhớ góm 4 bit.

4.4.2. Ví dụ ứng dụng


Dùng PROM rất thuận tiện cho việc tổng hợp nhiều hàm logic. Cấu trúc PROM ớ hình 4.7
cho phép ta thực hiện tối đa 4 hàm logic ba biến. Vi dụ: Cho bàng chân lý 4.1. Hãy dùng
PROM ở hình 4.7 để thực hiện các hàm.
Bảng 4.1. Bảng chân lý
N- c B A Q,(A, B, C) Q2(A, b , C) Q,(A, B, C)

0 0 0 0 0 0 1

1 0 0 1 1 1 0

2 0 1 0 0 1 0

3 0 1 1 0 0 1

4 1 0 0 1 0 1

5 1 0 1 0 1 0

6 1 1 0 1 0 1

7 1 1 1 0 1 0

Theo mục 3.2.1 ta có: Q, = Z(0, 3 ,4 , 6); Q =m , 2, 5, 7); Q ,= 2 (1 ,4 , 6); A = LSB, c = MSB.
Với PROM ờ hình 4.7 , ta đặt
c B A
các biến độc lập A , B, c lên các
đầu vào cùng trọng số I|„ I|, I2.
Lập trình cho các cổng OR: O l,
0 2 , 0 3 tương ứng theo các hàm
- o -
Q „ Q 2, Q , viết ở trên. Kết quá ta P1
được PROM đã lập trình như ờ - o -
P2
hình 4.8. - o -
P3
Từ hình 4.8 ta thấy: Dùng
-Q - P4
PROM để thực hiện các hàm
logic thực chất là ghi giá trị các - o -
P5
hàm ở từng hàng của bảng chân lý - o -
vào các ô nhớ có địa chi tương
- o
ứng trong "dàn nhớ" cùa FROM. P7
---- -----)ả(------
N ếu đặt ở cửa vào hình 4.8 tổ hợp - o
CBA = 00 1 , thì dữ liệu ghi trong
ô nhớ số 1 được gọi ra và Q , Q,
Q| = 110; Nếu đặt CBA = 101, dữ
ị V V V
04 03 02
liệu ghi ỏ nhớ số 5 được gọi ra và
Hình 4.8. PROM lặp trinh theo bảng chân lý 4.1
Q ,Q ,Q , = 010.

84
4.5. CÔNG NGHỆ CHẾ TẠO PLD
4.5.1.PLD sử dụng công nghệ liên kết cầu chì
Các PLD ch ế tạo đầu tiên sử dụng công nghệ lưỡng cực. Hình 4.9 chi ra sơ đồ minh hoạ
cho một PLA 4 x 3 c h ế tạo theo công nghệ này. Mỗi m ối nối được tạo nên bởi một điốt và một
cầu chì kim loại. Các điốt nối chung anod và có điện trở treo cao kéo lên nguồn Vcc, sẽ thực
hiện chức năng như một hàm A N D logic.
Xét ma trận A N D . N ếu các cầu chì không đứt, các đầu vào sẽ được nối với mạch A N D -
điốt. Nếu cầu chì bị đứt thì đầu vào tương ứng không có tác động đến hàm A N D (được hiểu là
bị chốt ở 1 logic). Mỗi dây A N D logic được nối qua một cổng đảo. Như vậy các tích PI, P2...
thực hiện chức năng các cổng NAND.
Đầu ra các cổng N A N D thứ nhất sau đó lại được nối với mạch A N D điốt thứ hai và sau đó
qua một mạch đảo. Như vậy thực chất tầng thứ hai cũng là một mảng N A N D . Hai tầng N A N D
nối với nhau có tác dụng như một cấu trúc A N D - OR. D o đó tầng N A N D thứ hai thường cũng
được gọi là ma trận OR.
Khi một PLA được c h ế tạo theo công nghệ lưỡng cực, các cầu chì luôn ở trạng thái “không
đứt”. Đ ể cắt đứt cầu chì tại một vị trí nào trong ma trận A N D - OR, thiết bị lập trình sẽ sử dụng
một điện áp lập trình cao (thường từ 10 -ỉ- 30V ), tạo ra dòng điện lớn đi qua các cầu chì. Điều
này sẽ làm cho các cầu chì bốc hơi và đứt m ối liên kết. Khi các cầu chì bị đứt sẽ không thể nối
liền lại được. V ì vậy các thiết bị sử dụng công nghệ này còn được gọi là các PLD kiểu lập trình
một lần OTP (o n e-tim e programmable).
Ma trận AND

Hình 4.9. Sơ đố PLA 4x3 sử dụng công nghệ lưỡng cực.

85
4.5.2. PLA sử dụng công nghệ EPROM
Mặc dù các PLD sử dụng công nghệ lưỡng cực (như công nghệ liên kết cầu chì) vẫn dược
chế tạo. Tuy nhiên, hiện nay chúng được thay thế dẩn bời các PLD ch ế tạo dựa trên công nghệ
tranzito MOS với cực cổng thả nổi (floating - gate M OS tranzito).

Cực cổng thả nổi

Cực nguồn
I_I

~
—J Đế
~ bán dân
s p

Cấu trúc của một nMOS cực cổng thả nổi Ký hiệu trẽn sơ đổ

Hinh 4.10. Cấu trúc cùa MOS có cực cổng thả nổi (floating gate)

Hình 4.1 0 chỉ ra cấu trúc cùa tranzito cực cổng thả nổi. Khi đặt lên cực cổng điện áp lớn
(hình 4 .l ia ) , tạo ra điện trường lớn giữa cực cổng và cực đế. Các điện tử từ kênh dẫn trong đế
bán dẫn sẽ bị “hút” vượt qua lớp ôxít cách điện và đến cực cổng thả nổi và bị “giữ” lại tại đây.
Khi điện trường mất tác dụng, các điện tử trong cổng thà nổi không thể quay trờ lại đ ế bán dẫn
(hình 4.11 b). Như vậy cổng thả nổi đã được nạp một lượng điện tích ẵm. D o đó nếu bây giờ đặt
lên cực cổng một giá trị điện áp nhỏ (hình 4.1 lc ), điện áp này sẽ không thể tạo ra điện trường
đù lớn để hình thành kênh dẫn giữa s và D do điện trường của cổng thả nổi tác động ngược.
Như vậy với các giá trị điện áp logic thông thường (0V hay 5V ) tranzito đéu không dẩn. Các
điện từ trong cổng thả nổi chì có thể bị đẩy trờ lại đ ế bán dẫn nếu có m ột điện trường ngược đù
lớn đặt giữa cực cổng và đế (cõng nghệ EEPROM: E lectrically Erasable programmable Read -
Only memory); hoặc sử dụng năng lượng ánh sáng tia cực tím (còng nghệ EPROM: Erasable
programmable Read - Only m emory).

20V 5V

ov 5V
n n BEBBEI T
J L
a) b) c)
Hinh 4.11. Hoạt động lập trinh cho MOS có cực cổng thả nổi.

Các PLD sử dụng công nghệ tranzito M O S cực cổng thả nổi gọi là các thiết bị logic khả
trình có thể xoá được (EPLD: Erasable Programmable L ogic D evice).
Hình 4 .1 2 là sơ đổ cấu trúc m ột m ảng A N D cùa một EPLD sử dụng tranzito M O S cực
cổng thả nổi. N ếu m ột tranzito được lập trình, thì sau đó trong c h ế độ hoạt động thông thường,
tín hiệu đầu vào nếu có đạt được mức logic cao, cũng không thể khiến các tranzito dẫn. N hư
vậy tranzito đó coi như bị tách ra khỏi mạch.

86
Vcc

X
• • •

Cổng thả nổi

,
Cõng không thả nổi
JJfl l H:
T ỉĩ ị
k. Các đường AND
' tích cực thấp

ị ‘í
~ ^ ị HỊ
Các đường AND
tích cực cao

Hình 4.12. Sơ đó cấu trúc một mảng AND của EPLD sử dụng tranzito MOS cực cổng thả nổi.

CÂU HỎI VÀ BÀI TẬP CHƯƠNG 4

4.1. M ột vi mạch PAL bao gồm: A B C


a) Một mảng A N D lập trình được và một
'<7 f\7 fv7
mảng OR lập trình được;
b) Một mảng A N D lập trình được và một
mảng OR c ố định (không lập trình);
c) M ột mảng A N D c ố định và một mảng (
r - O - T
OR lập trình được;
Hình 4.13. Bài tập 4.2.
d) Cả mảng A N D và OR đéu c ố định.
Trong 4 đáp án trên, đáp án nào đúng? A B C
4.2. Hãy xác định biểu thức logic cùa
fv 7 fv 7
đầu ra Q cùa một mảng PAL đã được lập
trình với sơ đổ nguyên lý trên hình 4.13.
4.3. Cho một mảng PAL có sơ đồ
nguyên lý trên hình 4.14. Hãy chỉ ra các kết
nối cần phải có để thực hiện hàm logic:
Ễ & ° -°
Q = ABC + ÃBC + ABC. Hình 4.14. Bài tập 4.3

87
(^kư<ĩn<ị 5
MẠCH LOGIC TỔ HỢP

Chương 3, 4 đã để cập đến phương pháp chung tổng hợp mạch logic tổ hợp từ các cổng
logic cơ bản và từ PLD. Chương này sẽ xét một số m ạch logic tổ hợp cơ bán, gồm:
- Các mạch giải mã, mã hóa, m ạch biến đổi mã, m ạch giải mã hiến thị.
- Các mạch chọn đường, phân đường.
- Các mạch thuật toán số học và logic.
- Cuối cùng là mạch phát/kiểm tra tính chẵn/lẻ của dữ liệu

5.1. MẠCH GIẢI MÃ (DECODER)


Mạch giải mã là mạch logic tổ hợp có M lôi ra, m ỗi lôi ra được gán một chỉ sô thập phân
xác định từ 0 đến M - 1, và N lối vào, với 2 N > M.
Mạch giải mã có chức năng biến đổi số nhị phân N bit ờ cửa vào thành mã “chọn 1 trong M”
ờ cửa ra.
Mã chọn 1 irong M là mã nhị phân M bit, trong đó chi có duy nhất m ột bit ờ vị trí nào đó
bằng 0 (hoặc bằng 1), các bit còn lại có giá trị bằng 1 (hoặc bằng 0).
M ỗi lối ra (hay m ỗi bit) trong từ m ã chọn 1 trong M được gán m ột chỉ số thập phân xác
định (0, 1 ,2 ,... M - 1). Khi đặt m ột số nhị phân N bit ở cửa vào thì chì có duy nhất m ột lối ra
(hay duy nhất một bít ra trong từ mã “chọn 1 trong M ”), có chi sô' thập phân tương ứng với số
nhị phân ở cứa vào, là thay đổi trạng thái (chuyển từ 1 xuống 0 nếu m ạch giải mã có lôi ra tích
cực thấp, hoặc chuyển từ 0 lèn 1 nếu m ạch giải mã có lố i ra tích cực cao). Các lối ra còn lại dều
giữ nguyên trạng thái.
V ì mạch giải mã có N lối vào và M lôi ra nên còn gọi là mạch giải mã vào N ra M, ký hiệu
đơn gián là N /M hoặc X /Y ; Còn thuật ngữ “chọn 1 trong M ” sẽ ký hiệu đơn giản là 1/M. Các vi
m ạch giải mã thông dụng là:
N /M (1/M ) = 4 /1 6 (1/16); 2 /4 (1/4); 3/8 (1/8); 4 /1 0 (1/10)

5.1.1. Thành lộp m ạch giải mã


Đ ể thành lập mạch giải mã, trước hết phải xác định được sô lôi vào, sô lối ra dữ liệu, các
lối vào điều khiển và tính tích cực cùa chúng. Sau đó thành lập bảng chân lý và tìm biểu thức
logic tối giản m ô tá hàm. Cuối cùng là dùng các cổ n g lo g ic cơ bản để xây dựng mạch.
V í dụ thành lập mạch giải mã 2 /4 với giả thiết:
- 2 biến nhị phân vào là B, A (A = LSB)
- 4 biến ra mã chọn 1 trong 4 là tích cực thấp: Y ,, Y ,, Y ,, Y()

- 1 lối vào cho phép làm việc, tích cực thấp E , với ý nghĩa là: N ếu E = 1thìcác lối ra đểu
ở mức cao H, bất kê 2 biến vào A , B như th ế nào; Khi E = 0 thì một trong các lối rađược chọr
ớ mức thấp L, tùy theo tổ hợp biến vào B A.
Từ ý nghĩa cùa giài mã và các giả thiết trên, Bàng 5.1. Bảng chân lý giải mã 2/4 (1/4)
ta lập được bảng chân lý (bàng 5.1). Các lối vào Các lối ra
Từ bảng chân lý, viết được các hàm mạch:
Ẽ B A v3 v2 Y, Yo
ỸÕ = Ẽ + B + A = E.Ă.B
H X X H H H H

Ỹj" = Ẽ + B + Ã = E.B.A L L L H H H L

L L H H H L H
Ỹ2 = Ẽ + B + A = E.B.Ã
L H L H L H H
Ỹ^ = Ẽ + B + Ã = E.B.A
L H H L H H H
Từ các hàm mạch, sừ dụng các cổng NOT
và cổng N A N D thành lập được mạch nguyên lý
giải mã 2/4 như hình 5.1. Ý nghĩa cùa tín hiệu điều khiển cho phépEđối với mạch giải mã trên là
khi E = 0 tất cả 4 cổng N A N D đồng thời có một lối vào trong 3lối vào của chúng được tác động bời
tín hiệu E = 1, tức là 4 cổng N A N D
đổng thời được phép làm việc,
nhưng chỉ có 1 trong 4 cổng N A N D
có lối ra ở mức logic 0, tùy thuộc
vào tổ hợp biến vào BA.

Ngược lại khi E = 1 tức E = 0,


tất cả 4 cổng N A N D đểu không được
phép làm việc, 4 lối ra đều ờ mức
logic 1- (Ỹ j = Ỹ j = Ỹ^ = ỸÕ = l)
không phụ thuộc vào tổ hợp biến
vào BA.
Từ các phân tích trên đây đối
với mạch giải mã có M = 4, có thể
suy ra rằng, bàng chân lý và mạch nguyên lý cùa các mạch giải mã N /M với M > 4 là sự phát
triển mờ rộng cùa bảng chân lý (bảng 5.1) và mạch nguyên lý hình 5.1. Trong thực tế các vi
mạch giải mã N /M họ TTL có M cổng N A N D ờ phía ra, m ỗi cổng N A N D có N + 1 lối vào,
một sô' vi mạch giải m ã N /M (thường là họ CMOS) có mạch nguyên lý phức tạp hơn vì có N
mạch chốt (Latch) ờ phía vào còn ở phía ra thường là có M cổng NOR.
Tín hiệu cho phép E hoặc EN (Enable) có thể được tạo ra từ 1, 2 hoặc 3 tín hiệu điều khiển.

5.1.2. Các vi m ạch giải mã tiêu biểu


a) Vi m ạch g iả i m ã 3 /8
IC họ TTL 74L S138 là vi mạch giải mã 3/8 có ký hiệu logic hình 5.2a.
- 3 lối vào mã nhị phân CBA (A = LSB).

- 8 lối ra tích cực thấp Y(, -í- Y7 , mã chọn 1 trong 8.

- 3 lối vào điều khiển cho phép làm việc: GI tích cực cao, G 2A và G 2B tích cực thấp.
Đê’ tăng tính linh hoạt trong ứng dụng, vi mạch 74138 có tín hiệu cho phép EN được tạo
thành từ 3 tín hiệu điều khiển G l, G 2 A ,G 2 B nhờ mạch hình 5.2b. Từ m ạch có:

EN = G 1.G 2A .G 2B = G 1.G 2A .G 2B

Khi GI = 1, G 2A = G 2 B = 0 thì EN = 1, mạch được phép làm việc.

74LS138

Y0 q ÍỊỄ L YO
G1 — G1
Y1
G2A i á L c G2A
\¿
G2B - ^ - 0 G2B
Y3
Y4
A Í D - A ?°
b ì 2L _ Yb
R ?1
c ^ L _ Vb o -^
0 ?2
Y/
a)

Hình 5.2. a) Ký hiệu logic của vi mạch giải mã 3/8 74138;


b) Mạch tạo tin hiệu cho phép EN cùa vi mạch 74138.

b) Vi m ạch g iả i m ã 4/16: IC 74154 và 4514


0
Hình 5.3a là ký hiệu logic của vi mạch giải mã họ TTL
1 Y,
74LS154:
2
- 4 lối vào mã nhị phân A , A 2 A | A,, ( A,| = LSB) 3
4
- 16 lói ra mã chọn 1 trong 16, tích cực thấp Yo + Y ,j
J2 31
5 L
- 2 lối vào điều khiển cho phép làm việc, tích cực thấp Ao 6
J221 7 p ã -
Ai
G Ĩ,G 2.
8
Hai tín hiệu điều khiển G l,G 2 đ ư ợ c đưa vào một cổng A3 9 > ím

A N D (&) có 2 lối vào tích cực thấp. Đầu ra cùa cổng A N D là 10


11 o í i a .
tín hiệu EN = GI . G 2 . D (13)
12
D o đó vi m ạch chì c ó một trạng thái cho phép làm việc: 13 o lílL
14 >115L
EN = ] khi G I ,G 2 = 0 0 , và 3 trạng thái cấm: EN = 0 khi. — (18)
15 ^ Ỹ ,s
G I . G 2 = 01; 10 hoặc 11. Khi EN = 1, với m ột tổ hợp biến vào EN
A , A 2 A , A„ tương ứng sẽ có một lối ra chuyển trạng thái từ 1
- » 0. V í dụ với tổ hợp biến vào 1011 thì lối ra c ó đánh số thập
phân 11 tức chân (1 2 ) cùa vi m ạch sẽ chuyển từ 1 xuống 0 , 15 Hình 5.33. Ký hiệu logic
chân còn lại giữ nguyên mức logic 1. Khi EN = 0 thì tất cả 16 vi mạch giải mã 4/16 74154.

chân đều ờ mức logic 1.


Hình 5.3b là sơ đổ khối CM OS 4514:
- 4 lối vào mã nhị phân A , A 2 Aị. A,,.
- 16 lối ra mã chọn 1 trong 16 tích cực cao Y„ + Y15.

- 2 lối vào điểu khiển cho phép G I tích cực cao, G2 tích cực thấp.

90
Sơ đổ khối chức năng cho thấy vi mạch 4514 có mạch nguyên lý phức tạp hơn so với vi
mạch 74154. Tín hiệu vào trước khi vào mạch giải mã (decoder) được chốt giữ tại mạch chốt
(Latches), gồm 4 D -F F (xem chương 6). Mạch chốt được điều khiển cho phép chốt số liệu
bằng tín hiệu G I (EL) Khi EL = H, số liệu vào được đưa tới 4 lối ra của mạch chốt. Khi EL =
L, số liệu (4 bit A , A 2 A, A „ ) được
lưu lại trên 4 lối vào của mạch giải Ao Al A2 A3
ị(2 ) ị(3 ) ị( 2 1 ) ị( 2 2 )
mã, số liệu vào mới bị chặn lại.

G 2(tứ c E )là tín hiệu cho G1


phép làm việc đối với mạch giải
mã. Khi G 2 = L mạch giải mã
được phép làm việc, 1 trong 16 lối __ E 1i ị ĩ
ra sẽ chuyển lên mức cao H, tùy G2 c
thuộc tổ hợp biến nhị phân vào. Khi (23)
G 2 = H thì tất cả 16 lối ra đều ở
mức thấp, không tùy thuộc tổ hợp ( 11)

biến vào. Hai tín hiệu điều khiển


Vo
GI và G2 là độc ỉập nhau.
Vi mạch giải mã họ CM OS Hình s-3b- So đó khối HEF 4514-
HEF 4515B cũng c ó cấu trúc tương tự như HEF 4514B nhưng có 16 lối ra mã chọn 1 trong 16
là tích cực thấp.
c) Vi m ạch g iả i m ã BCD/DEC: 7442 và 4028
Mạch giải mã 4 /1 0 có 4 lối vào mã BCD (8421) và 10 lối ra
BCD/DEC
mã chọn 1 trong 10, dùng để chì thị 10 chữ số thập phân từ 0 đến 0 D - U l.
9, được gọi là mạch giải mã BCD ra thập phân (BCD/DEC). Vì 1 > -¿ 2 -
chỉ có 10 tổ hợp biến vào từ 0 0 0 0 đến 1001 được giải mã, còn 6 2 3 - íâ !
tổ hợp từ 1010 đến 1111 không cẩn quan tâm khi tổng hợp mạch A o -ũ a 1 3 U sl
nén mạch BCD/DEC là giải mã không hoàn toàn. A .-Ü 4 1 2 4
4 5 D - ÍS -
Hình 5.4 là ký hiệu logic của vi mạch giải mã BCD/DEC họ
a 3^ 1 8 6 D -a
TTL 7442A : 7 » IS L
- 4 lối vào A , A j A | A(, mã BCD (8421). 8 l-ỈSL
- 10 lối ra mã chọn 1 trong 10 tích cực thấp được đánh số từ 9 y im .

0 đến 9. 7442A
V i mạch giải mã BCD/DEC họ CMOS HEF 4028B có ký
hiệu logic tương tự vi mạch 7442A nhưng 10 lối ra cùa nó là mã Hình 5.4. Ký hiệu logic cùa
chọn 1 trong 10 tích cực cao. vi mạch giải mã 7442A.

5.1.3.ứng dụng m ạch giải mã N/M


a) Giải m ã địa c h ỉ
Úng dụng của m ạch giải mã N/M là giải mã địa chỉ, ví dụ như:
- Giải mă hàng, giải mã cột cùa bộ nhớ.
- Giải mã chọn chip cho phép các vi mạch làm việc.
- Giải mã chọn các cổng vào/ra kết nối ngoại vi trong hệ thông vi xử lý vi điều khiển v .v ...

91
Địa chỉ thực chất là tín hiệu logic
cho phép làm việc cùa một phán tử
hoặc cùa một khối chức năng trong hệ
thống, được mã hóa bằng m ột số nhị
phân N bit. Khi một số nhị phân N bit
được giải mã sẽ có 1 phấn từ hay một
khối chức năng nhận được tín hiệu cho
phép làm việc, kết nối với hệ thống.
Hình 5.5 là ví dụ ứng dụng IC
74154 giải mã địa chỉ giao tiếp giữa
khối điều khiển và xử lý (controller and
processor) của máy tính với các thiết bị
ngoại vi như: máy in (printer), bàn phím
(keyboad), màn hình (monitor)...
V í d ụ khi giao tiếp với m áy in,
cổng vào ra địa chỉ (I/O port address)
của controlder & processor sẽ phát mã
địa chì 0 0 0 1 cho vi m ạch giải mã địa
chỉ 74154, đồng thời cổng vào ra theo
yêu cầu (I/O request) phát tín hiệu
logic 0 cho phép 7 4 1 5 4 làm việc. Khi
Hình 5.5. ứng dụng mạch giải mã 74154 làm mạch giải mã địa chỉ.
đó mã địa chỉ 0 0 0 1 được giải thành
•V ,.'*-. ĩ X , 1 a ': „A ' 1 ”7 /1 1 c /1 „u
mức thấp L ở lối ra số 1 của 741 5 4 , cho phép máy in (I/O printer) giao tiếp với khối điều khiển
và xử lý, thông qua kênh dữ liệu (data bus).
b) MỞ rộng m ạch g iả i m ã
Khi số địa chỉ cần
giải mã lớn, người ta
ghép nhiều vi mạch
giải mã. V í dụ hình 5.6 BIN/DEC BIN/DEC
0 - 0 0 >------16
là cách ghép 2 vi mạch 1 - 1 1 >------17
74154 (4/16) thành 2 - 2 2 3------18
3 - 3 3 >------19
mạch giải mã 5/32.
4 - 4 4 >------20
c) Thực hiện các 5 - 5 5 >------21
Ao I 6 - 6 6 >------22
hàm logic tô hợ p A, l 7 - 7 7 )------23
A2 1 8 - 8 8 >------24
Có thể dùng vi A3 3 9 - 9 9 >------25
mạch giải mã để thực 10 -10 10 >------26
hiện các hàm logic tổ 11 -1 1 11 >------27
12 -12 12 >------28
hợp cho trước. N ếu 13 -1 3 13 >------29
đặt các biến độc lập 14 -14 14 y 30
A4 15 -1 5 15 >------31
của hàm lên các lối
vào dữ liệu tương ứng
EN
rC ^ C l EN

74154 74154
cùng trọng số của
mạch giải mã thì m ỗi
lối ra của mạch giải Hinh 5.6. Giải mã mở rộng

92
mã sẽ là m ột tổng đủ hoặc một tích đủ của các biến độc lập, tùy theo mạch giải mã cỏ lối ra là
tích cực th íp hay tích cực cao.
V í dụ đối với vi mạch giải mã 74138, nó có 3 lối vào Bảng 5.2. Bàng chân lý các hám
dữ liệu là CBA (2 2 2' 2") và 8 lối ra mã chọn 1 trong 8
X Y z Fv3
tích cực thấp Y0.Y,...Y 7 . Khi mạch được phép làm việc
0 0 0 0 0
thì có các tổng đù cùa các biến vào CBA là:
1 0 0 1 1 1
Y (|= c + B + A ; ỹ^ = C + B + Ã ; . . . ; Y 7 = C + B + A .
2 0 1 0 1
Do đó dùng một vi mạch giải mã và một số cổng
3 0 1 1 1 0
logic cơ bản ta có thể thực hiện được các hàm logic tổ
hợp dạng POS hoặc dạng SOP (xem chương3). Hình 5.7 4 1 0 0 0
là ví dụ dùng vi mạch 74138 thực hiện các hàm logic 3 5 1 0 1 1 1
biến xyz (2 2 2' 2°) (bảng 5.2):
6 1 1 0 0
F, = n xyz (0, 2, 4, 6); F2 = n „yz(0, 3, 4, 6, 7)
7 1 1 1 1 0
F, = Zxy, ( l , 3 , 5, 7 ); F 4 = 2 í l , 2 , 5)

Hình 5.7. Thực hiện hàm logic bằng vi mạch giải mã 74138:
a) Mạch thực hiện cấc hàm POS F,, F2; b) Mạch thực hiện các hàm SOP Fj, F„.

5.2. GIẢI MÃ BCD/7SEG


Mạch giải mã BCD/7seg là mạch giải mã có 4 lối vào mã BCD (8421) và 7 lối ra. ử ig với một
tổ hợp biến vào (tức úng với một chữ số thập phân từ 0 đến 9), thì có s lối ra được chọn (0 < s < 7).
Các lối ra được chọn có thể tích cực thấp hoặc tích cực cao, dùng để điều khiển hiển thị 7 vạch.

5.2.1. Hiển thị 7 vạch


Hiển thị 7 vạch (7 segm ent display) là hình thức thể hiện chữ số thập phân từ 0 đến 9 bằng
cách sắp đặt m ột số trong 7 vạch (segment) có khả nãng phát quang hoặc phản quang. Hình
5.8a là tổ hợp hiển thị gồm 7 vạch a b c d e f g. M ồi tổ hợp 7 vạch được sắp đặt có khả năng
hiển thị bất kỳ chữ số nào từ 0 đến 9, khi mà s vạch quy ước biểu hiện chữ số đó đổng thời được
kích hoạt (hình 5.8b).

93
/ / / / / /_ / í 1 / / / / /
/_ / / /_ _ / 1 /_ / / /_ /

b)

Hình 5.8. a) Tổ hợp 7seg hiển thị số; b) Hình ảnh hiển thị các só tử 0 đến 9.

Kỹ thuật hiển thị thông dụng là hiển thị điốt phát quang LED (Light Em itting diode) và
hiển thị tinh thể lỏng LCD (Liquid Crystal Display). Loại LED 7seg trên thực tê gồm 8 điốt bán
dẫn loại phát quang khi có dòng điện chạy qua, trong đó có một điốt dùng dể hiển thị dấu chấm
thập phân dp (decim al point). Chúng được nối mạch anod chung như hình 5.9a, với tín hiệu
điều khiển cấp dòng phát quang riêng cho từng điốt ở mức L. Hoặc được nối mạch cathod
chung như hình 5.9b, với tín hiệu điều khiển riêng từng điốt ờ mức cao H.
LCD 7seg cũng b ố trí như LED 7seg. M ỗi segm ent LCD có cấu tạo như m ột tụ điện với 2
bản cực trong suốt, ờ giữa 2 bản cực là tinh thể lỏng có khả năng phân cực ánh sáng. Bản cực
phía trên dùng làm vạch hiển thị được nối dây điện ra ngoài, bán cực phía dưói là bản cực nền
(backplane). LCD không tự phát ra ánh sáng (LCD không phải là điốt phát quang), việc hiển thị
vạch dựa trên hiệu ứng quang học của nó. ở trạng thái bình thường thì tinh thể lóng là một chất
trong suốt đối với ánh sáng nên mắt người không phân biệt được vạch trong suốt và nền. Khi
đặt một điện áp xoay chiều giữa hai bản cực thì dưới tác dụng cùa điện trường, chất tinh thể
lỏng sẽ tán xạ ánh sáng làm mất đi tính trong suốt của nó. D o đó sinh ra đ ộ tương phàn
(contrast) giữa vạch và nền. Đ ộ tương phàn tăng theo cường độ điện trường. Mắt người cảm
nhận và phân biệt được vạch và nền (vạch tối, nền sáng) khi độ tương phản lớn hơn 10%. Độ
tương phản đạt được 100% khi điện áp hiệu dụng giữa 2 bản cực lớn hơn 2,5V . Trong thực tế
điện áp giữa 2 bàn cực LCD là xung vuông xoay chiều c ó biên độ đối xứng, tần số từ 40 đến
100Hz. Đ iện áp này chỉ xuất hiện khi có tín hiệu điểu khiển hiển thị, là tín hiệu ra cùa vi mạch
giải mã B C D /7seg đối với từng segm ent LCD.

Ị +v

dp

Hình 5.9. a) Anod chung; b) Cathod chung.

Ưu điểm cùa LCD so với LED là tiêu thụ công suất rất nhỏ. Đ iện dung cùa LC D cỡ
1 nF/cm 2 nên dòng kích hoạt 1 segm ent chỉ khoảng 1|J.A. Đ ể điểu khiển (hoạt động) LC D người
ta dùng cổng logic CM OS vì nó có mức áp một chiểu ra đối với tải điện dung chì cỡ vài mV.
Cổng logic TTL có điện áp một chiều lệch 0 lớn, có thể làm hỏng hiệu ứng quang học cùa
LCD. Nhược điểm của LCD là cần nguồn sáng bẽn ngoài, trong vùng tối sẽ không còn hiệu ứng
quang học nữa.

94
5.2.2. Thành lộp m ạch giải mã BCD/7seg
Bảng chân lý cùa mạch giải mã BCD/7seg được thành lập với 4 lối vào mã BCD là DCBA
(8421) và 7 lối ra a b c d e f g sắp xếp theo quy ước của mã 7seg.
Từ bảng chân lý, dùng phương pháp tổng hợp mạch sẽ tìm được 7 hàm mạch tương ứng
cho 7 lối ra.

5.2.3. Vi m ạch giải mã BCD/7seg


Các vi mạch giải mã BCD/7seg ngoài 4 lối vào
DCBA, tùy theo mục đích sử dụng, còn có các lối vào BCD/7seg
điều khiển khác. V í dụ các lối vào điều khiển thừ LED,
điều khiển xóa, điều khiển chốt số liệu. Ngoài ra, 6 tổ
hợp biến vào từ 1010 đến 1111 cũng có thể được tổ
hợp đê hiển thị các ký tự trong hệ Hexa. Các vi mạch
Ũ !'
này có dòng ra tài từ 5 đến 50m A. Các vi mạch chế tạo
ì J o
theo công nghệ CMOS dùng để điều khiển LCD.
Hình 5.10 m ô tả nguyên lý chung điều khiển hiển
thị 7 segm ent của vi mạch giải mã BCD/7seg. Dưới Hình 5.10. Nguyên lý điéu khiển hiển thị 7seg
đây sẽ mô tả 2 vi m ạch giải mã BCD/7seg tiêu biểu. dùng vi mạch giải mã.

a ) V im ạch 7447

7447 (74LS47) chế tạo theo công nghệ TTL có ký hiệu logic ở hình 5.11, và bàng 5.3 là bảng
chân lý. Cấu trúc mạch của 7447 gồm một khối mạch giải mã BCD/7seg và khối đệm ra, với dòng
tải tối đa là 25mA.
Ngoài 4 lối vào ABCD và 7 lối ra điều khiển LED, tích cực thấp (thích hợp cho điều khiển

LED7seg. Anod chung), còn có các lối vào L T , RBI và BI / RBO với chức năng sau:

LT - chức năng thử LED: khi LT = L và BI / RBO = H thì cả 7seg đều sáng (báo hiệu cả 7seg
đều tốt).
Vcc
RBI và BI / RBO - xóa số 0: khi hiển thị nhiéu digit
1(16)
có dấu chấm (phẩy) thập phân, nếu mã BCD của các digit BCD/7 seg
tận cùng bên phải hoặc bên trái là 0000 thì các digit đó H -ỊÍÌ-BI/RB0
(13)
không cần hiển thị số 0. A (7 )
(1 2 )
(1)
V í dụ với số thập phân 0045. 0800 thì chỉ hiển thị B (1 1 )
c (2)
45.08. Bảng trạng thái (bảng chân lý) cho thấy chân (4) với ( 10)
□ (6 )
(9)
ký hiệu BI / RBO vừa thuộc các lối vào vừa thuộc các lối (3 )0 , (15)
l ĩ
ra. Khi là lối vào thì đó là lối vào xóa số 0 - BI (Blanking (5)0 (14)
RBI

Input), vì nêu cho BI = L thì 7 lối ra đều ờ mức H mà


I (8)
không cán quan tâm đến các lối khác. Khi lối vào RBI = L GND
mà mã BCD là 0 0 0 0 thì cả 7 lối ra ( a ... g ) cũng đểu ở
Hình 5.11. Ký hiệu logic của
mức H, tức là số 0 bị xóa, đồng thời đưa BI / RBO về mức vi mạch giải mã BCDffseg 7447.

95
L. Lúc này BI / RBO trờ thành lối ra nối tầng RBO để xóa sô' 0 cùa tầng sau. D o đó, lối vào

RBI và lối ra RBO được gọi là lối vào xóa số 0 và lối ra xóa số 0 không đồng bộ (Ripple
Blanking Input/Output), nghĩa là nếu số 0 tầng trước được xóa thì sô' 0 tầng sau (nếu có) mới
đư ợ c xóa.

Bảng 5.3. Bảng chân lý cùa vi mạch giải mã BCD/7seg 7447.

Các lói váo Các lói ra


Số tháp phân và
các đáu chức năng LT RBI D c B A BI/RBO a b c d e f 9

0 H H L L L L H L L L L L L H

1 H X L L L H H H L L H H H H

2 H X L L H L H L L L L H L

3 H X L L H H H L L L 1 L H H L

4 H X L H L L H L L H L L

5 H X L H L H H L H L L H L L

6 H X L H H L H L H L L L L L

7 H X L H H H H L L L H H

8 H X H L L L H L L L L L L L

9 H X H L L H H L L L L H L L

10 H X H L H L H H H H L L H L

11 H X H L H H H H H L L H H L

12 H X H H L L H H L H H L L

13 H X H H L H H L H H L H L L

14 H X H H H L H H H H L L L L

15 • H X H H H H H H H H H H H H

BĨ X X X X X X L H H H H H H H

RBĨ H L L L L L L H H H H H H H

LT L X X X X X H L L L L L L L

b) Vi m ạch g iả i m ã B C D /7seg 4511


IC HEF 4511 là vi m ạch c h ế tạo theo công nghệ CMOS, c ó dòng tải tối đa 24m A , dùng
điều khiển hiển thị LCD và cả LED. 4511 có cấu trúc gồm 3 khối chức năng như hình 5.12a:
- 4 lối vào số liệu BCD (D c B A ) được đưa vào m ạch chốt gồm 4 D -F F . Các m ạch chốt
được điều khiển bởi lối vào LE (Latch Enable).

- Tín hiệu ra từ các chốt đưa vào m ạch giải mã B C D /7seg (decoder). N ó được điều khiển

bời tín hiệu vào BI (Blanking Input).

96
- Các tín hiệu ra cùa mạch giải mã không đưa
trực tiếp ra điểu khiển hiển thị, mà qua một tầng

đệm (driver), được điểu khiển bởi tín hiệu LT


(Lamp Test).

Hoạt động cùa 4511 được cắt nghĩa qua bảng

trạng thái vào ra của nó ờ bảng 5.4. V í dụ khi LT = L


thì các đầu r a a b c d e f g đều ở mức H, hiển thị
sáng sô' 8 mà không cẩn quan tâm đến các đẩu vào

khác. Khi BI = L và LT = H thì tất cả các đầu ra


đều ờ mức L và hiển thị tối (Blanking).

Khi LE chuyển lên cao trong khi BI = H; LT = H


thì số liệu vào lập tức được chốt giữ lại và hiển thị đứng yên.

IC HEF 4511B

Hình 5.12b. Sơ đó nguyên lý của vi mạch HEF 4511.

97
Bàng 5.4. Bảng chân lý của VI mạch 4511.

Các lói vào Các lói ra


Hiển thị só
Ẽĩ BĨ LT DD DC DB DA Oa Ob Oc Od Oe Of Og

X X L X X X X H H H H H H H 8

X L H X X X X L L L L L L L Xóa

L H H L L L L H H H H H H L 0

L H H L L L H L H H L L L L 1

L H H L L H L H H L H H L H 2

L H H L L H H H H H H L L H 3

L H H L H L L L H H L L H H 4

L H H L H L H H L H H L H H 5

L H H L H H L L L H H H H H 6

L H H L H H H H H H L L L L 7

L H H H L L L H H H H H H H 8

L H H H L L H H H H L L H H 9
L H H H L H L L L L L L L L Xóa
L H H H L H H L L L L L L L _
L H H H H L L L L L L L L L _
L H H H H L H L L L L L L L _
L H H H H H L L L L L L L L _
L H H H H H H L L L L L L L _

lfinh 5 .12c là mạch điểu khiên hiển thị


7 XOR_74HC86
một LCD 7seg. Như đã để cập trong mục
< CMOS
5.2.1, điện áp kích hoạt cho một Segment
LCD là xung vuông xoay chiều tần số từ 40
đến 100Hz. Cụ thế là trong hình 5.12c điện áp Vi mạch
giải mã
xung vuông xoay chiều được tạo ra bới một ■ 3 0 -
BCD/
7seg
điện áp xung vuông 1 chiều (60H z) đặt trực 74HC45
tiếp lên các cực chung, và tín hiệu ra cúa vi 11

mạch giái mã. Hai tín hiệu này đua vào hai lối
vào của 7 cổng EXOR. Bảy lối ra cùa 7 cổng
0
60Hz
■ 3 0
L i0
EXOR tương ứng nối vào các cực điều khiển _n_n_
—I Cực
hiển thị của 7 segment a b c d e f g. Như vậy, chung
theo nguyên lý làm việc cùa EXOR, ta thấy
Hình 5 .12c. Mạch hiển thị LED 7seg.
rằng điện áp xung vuông xoay chiều giữa một
segment và cực chung chi xuất hiện khi tín hiệu ra của vi mạch giải mã úng với segm ent đó ờ mức
cao. V í dụ nêu lối ra a của 4511 là a = 1 thì segm ent a cúa LCD sáng.

98
5.2.4. Các m ạch hiển thị ứng dụng trong thực tế
ã) Mạch hiển th ị có xóa các sô'0 không cẩn hiển th ị
Hình 5.13 là mạch hiển thị số thập phân 8 digit có dấu chấm thập phân ở giữa, sừdụng 8 vi
mạch giải mã BCD/7seg 7447 và 8 LED.7seg. Trên hình vẽ mạch đang hiển thị sô' 39.57 còn 2
số 0 tận cùng bên trái và bên phải đang bị xóa (Blanking). N guyên tắc xóa số 0 của 7447 đã
được xét trong mục 5.2.3. Đ ể xóa các số 0 liên tiếp với số 0 tận cùng bên phải hoặc bên trái
người ta sử dụng RBI và RBO như là các lối vào ra nối tầng. Lối vào RBI cùa hai tầng tận
cùng được nối đất để thiết lập logic 0. Lối ra RBO cùa tẳng trước nối với lối vào RBI cùa tầng
sau theo kiểu nối tầng nối tiếp.

Hình 5.13. Mạch hiển thị 8 digit, xóa được những só 0 không cán thiết.

b) H iên th ị s ố ờ c h ếd ộ dồn kênh

Hiển thị sổ ứng dụng kỹ thuật dồn kênh (M ultiplexer xem mục 5.5.1) cho phép chi sừ
dụng một vi mạch giải mã BC D/7seg, điều khiển tuần tự và chu trình nhiều LED.7seg.

Hình 5.14 là mạch hiển thị dổn kênh 8 digit dùng để hiển thị kết quà của bộ đếm thập phân
8 decade (xem chương 6). Đ ặc điểm cùa mạch là:

- Tất cả 8 L E D .7seg được nối song song nhau và nối với 7 lối ra a b c d e f g cùa một vi
mạch giải mã B C D /7seg. M ỗi LED .7seg có một mạch Tranzito cấp điện áp anod riêng, được
điều khiển bời một vi mạch giải mã chọn 1 trong 8.

- Tất cả các vi mạch M UX8 có các đường địa chì ABC nối song song và được điểu khiển
bởi vi mạch đếm nhị phân (xem chương 6), có tần sổ của xung đếm là 1kHz. Các lối vào số liệu
0 đến 7 của 4 M U X 8 được bố trí theo cách các lối vào 0 nhận sô”liệu Q A Q B Q c Q D cùa decade

99
(0), các lối vào 1 nhận số liệu QA Qb Qc Qd của decade (1) v.v... (vì có 8 decade đếm BCD nên
cần phải có 4 vi mạch M ư x có 8 lối vào số liệu). Hoạt động của mạch như sau: Mạch đếm nhị
phân lần lượt đếm địa chỉ của các vi mạch MƯX từ CBA = 000 đến CBA = 111 và lặp lại.

iU .H iể n th ịm a trạ n d iể m
Ktũ luạng thông tin cần hiển thị li
M t a i ậ i i é i t a c các loại
¿ M Ỉ M m ộ t hệ mạch dieu
ỉtl). Mỉ tran đicm điiơc đièu khiên b
ÍC C C(C,
Tui hiệu hàng được mã hóa bằng
'iu cộỉ góm 7 lù mã cột
Tương ứng với 1 địa chỉ là số liệu đếm của một decade được đưa đến giải mã BCD/7seg. I ■Ä là nội dun% cầtv\ãền
Đồng thời tương ứng với 1 địa chỉ là một lối ra của giải mã 3/8 nhảy lên mức cao, làm mờ
tranzito, cấp điện áp anod cho một LED.7seg. Trong chế độ dồn kênh mỗi LED.7seg chỉ được
cấp điện trong thời gian 1 phần của chu kỳ đếm địa chỉ, ví dụ ở mạch này chu trình của bộ đếm
nhị phân là 8 xung, tương ứng với 8ms, nên mỗi LED.7seg chỉ sáng trong thời gian lms, với tần a !Wchính \à n\ã cộ\
số lặp lại là 125Hz. Để cho các LED có độ sáng bình thường như ở chế độ hiển thị liên tục thì . S » đ ù cùa B u
dòng cấp cho các LED trong mạch này phải gấp 8 lần so với chế độ liên tục.
Đối với các bộ đếm hoặc các thanh ghi (xem chương 6) có mạch đệm 3 trạng thái thì hiển « k ịtỊ i

thị dồn kênh không cần sử dụng MƯX. Hình 5.15 là sơ đổ khối mạch hiển thị số liệu thập phân
8 decade chứa trong 8 thanh ghi có mạch đệm 3 trạng thái. Nhờ có mạch đệm 3 trạng thái, 4 lối
ra ABCD của 8 thanh ghi được nối song song thành BUS số liệu 4 bit, dẫn đến 4 lối vào của
giải mã BCD/7seg. Vì không sử dụng M U X nên mạch đơn giản hơn, nhưng thay vì điểu khiển » S ò a HOM k ị „
MƯX là điều khiển chọn chip. Mạch giải mã 3/8 làm nhiệm vụ giải mã địa chì chọn chip 8
5 ' M usaidax
thanh ghi, đồng thời chọn điện áp anod 8 LED.7seg, tuần tự và chu trình. 'ìlOOMuĩ

100
Hình 5.15. Mạch hiển thị dồn kênh không dùng MUX.

5.2.5. Hiển thị ma trộn điểm


Khi lượng thông tin cẩn hiển thị lớn và có thể hiển thị theo chương trình, thì phương tiện
hiển thị là ma trận diểm hoặc các loại màn hình. Đ i kèm với chúng là các hệ vi xử lý, vi điều
khiến. Hình 5.16 là m ột hệ mạch điều khiến hiển thị ký tự trên một ma trận điém cơ bán 5x7
LED. Ma trận điếm được điều khiển bờitín hiệu quét hàng theo chu trình 1 —> 7và 5 tín hiệu
C|, C| c 2 c , C4.
Tín hiệu hàng được mã hóa bằng các từ mã nhị phân 3 bít (mã hàng) từ 001 đến 111. Tín
hiệu cột gồm 7 từ mã cột
5 bit, là nội dung cần hiến 5X7-LED-
thị chứa trong IC phát ký Giải mã hàng Matrix

tự. IC phất ký tự là ROM


(xem chương 7), nội dung
cúa nó chính là mã cột.
Đ ịa chi của ROM
ký tự gồm 2 phần: 7 bit
mã ASCII cùa ký tự là
dụ 'ÒỊị ã-Ị äs **4 ^ ^
mã hàng a, a, a„. Báng 5.5
là bảng mã địa chỉ và nội
dung cùa ROM ký tự
trong mạch hiển thị ký tự
“K”. (Mã ASCII cùa “K”
là 1 0 0 1011 ). Hmh S-16. So dổ khối mạch hiển thị ma trận điểm 5x7

101
B áng 5.5. Bàng mă trạng thái hoạt động của mạch

Địa chỉ ROM Nội dung ROM


Các hàng
của ma Mã ASCII của chữ K Mã hàng Mã cột
trận điểm
a9 a8 a7 a6 a5 84 a3 a2 3i Co c, c2 c3 c.
a0

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

2 1 0 0 1 0 1 1 0 1 0 1 0 0 1 0

3 1 0 0 1 0 1 1 0 1 1 1 0 1 0 0

4 1 0 0 1 0 1 1 1 0 0 1 1 0 0 0

5 1 0 0 1 0 1 1 1 0 1 1 0 1 0 0

6 1 0 0 1 0 1 1 1 1 0 1 0 0 1 0

7 1 0 0 1 0 1 1 1 1 1 1 0 0 0 1

5.3. MẠCH MÃ HÓA - ENCODER


Mạch mã hóa có chức năng ngược lại với mạch giải mã N/M . Cửa vào của mạch mã hóa là
mã chọn 1 trong M; trong đó m ỗi lối vào được gán biểu thị một chữ số thập phán (0 -ỉ- 9), một
chữ cái hoặc một ký hiệu nào đó.
Cửa ra của mạch mã hóa là mã BCD 4 bit của các chữ sô' trong hệ thập phân; hoặc mã nhị
phân N bit, mã hóa các chữ cái, các ký hiệu, v ể nguyên tắc, m ạch mã hóa c ó N lối ra, M lối
vào với M = 2N.

5.3.1. Cơ sỏ m ạch mã hóa


Xét mạch mã hóa Thập phân /BCD. Từ bảng 5.6 biểu diễn quan hệ giữa các số thập phân 0 + 9
và mã BCD cùa chúng, ta có các nhặn xét logic sau:

Bảng 5.6. Bảng chân lý mã hóa Thập phán /BCD

Số thập Mã BCD
phàn Aj A,
Aĩ Ao
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1

6 0 1 1 0
7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

102
Bit A , trong mã BCD bằng 1 đối với các số thập phân 8 hoặc 9. BitA 2 bang 1 đốivới các
số 4, 5, 6 hoặc 7. Bit A , bằng 1 đối với các số 2, 3, 6 hoặc 7. Bit A„ bằng1 đối vớicác sô' 1, 3,
5, 7 hoặc 9. Vậy, nếu coi mã “chọn 1 trong 9” ờ cửa
vào là tích cực cao thì: A , = 8 + 9; A 2 = 4 + 5 + 6 + 7; Ao (LSB)
A, = 2 + 3 + 5 + 7; A„ = 1 + 3 + 5 + 7 + 9. Từ các biểu
thức trên suy ra nguyên lý mạch mã hóa Thập phân
IBCD như hình 5.17. M ạch gồm 9 lối vào từ 1 đến 9 và
4 cổng OR. Bốn lối ra cùa 4 cổng OR tương ứng với 4
bit mã BCD, với A„ = LSB, A , = MSB. Mạch không có
lối vào sô' 0. Bình thường, khi không tác động đến một J ~ ^ >------ A3 (MSB)
trong 9 đầu vào (các đầu vào 1 4- 9 đều ờ 0), thì cửa ra
nghiễm nhiên chỉ số 0 (A , A 2 A, A„ = 0000). Hình 5.17. Mạch mã hóa Thập phàn /BCD.

Hình 5.18.4 mạch tương ứng với 4 hàm mã hóa ưu tiên.

5.3.2. Mạch mã hóa ưu tiên


Nhược điểm cùa mạch hình 5.17 là nếu khi có nhiều lối vào cùng tích cực thì nhận được
một mã ra bất kỳ nào đó.
M ạch mã hóa ưu tiên (priority) cho phép tạo mã ra ứng với lối vào có thứ tự cao nhất
trong sô' các lối vào cùng đồng thời tích cực. Chẳng hạn khi các lối vào 3, 5, 7 cùng tích cực
thì mã ra là 0111.
Đ ể thực hiện mạch mã hóa ưu tiên ta hãy xét logic ưu tiên qua các mệnh đề rút ra từ mạch
mã hóa không ưu tiên hình 5.17 đối với các lối ra A,„ A |, A 2, A , như sau:
a) Đối với A ¡ý
A,, là H nếu lối vào 3 là H và các lối vào 4. 6, 8 là L.
Afl là H nếu lối vào 1 là H và các lối vào 2, 4, 6, 8 là L.
A,, là H nếu lối vào 5 là Hvà các lối vào 6, 8 là L.
A,, là H nếu lối vào 7 là H và lối vào 8 là L.
A(| là H nếu lối vào 9 là H.

103
Năm m ệnh để trên nói rằng A,) là đúng nếu mệnh dé 1 mệnh để 2 mệnh để 3, mệnh đẽ 4
hoặc mệnh đé 5 là đúng. Đ iểu đó được biểu diễn bằng biểu thức logic sau:

A 0 = (1 .¿ 4 .6 .8 ) + (3 4 .6 .8 ) + (5.6.8) + (7.8) + 9 (5.1)

b) Đ ối vớ i lố i ra A ,:
A | là H nếu lối vào 2 là H và các lối vào 4, 5, 8, 9 là L.
A | là H nếu lối vào 3 là H và các lối vào 4, 5, 8, 9 là L.
A , là H nếu lốivào 6 là H và các lối vào 8, 9 là L.
A , là H nếu lối vào 7 là H và các lối vào 8, 9 là L.
Biểu thức logic đối với A,:

A , = (2 Ã 5 .8 .9 ) + (3 Ã 5 .8 .9 ) + (6.8.9) + (7.8.9) (5.2)

c) Đ ôi với lố i ra A 2:
A 2 là H nếu lối vào 4 là H và các lối vào 8, 9 là L.
A 2 là H nếu lối vào 5 là H và các lối vào 8, 9 là L.
A 2 là H nếu lối vào 6 là H và các lối vào 8, 9 là L.
A 2 là H nếu lối vào 7 là H và các lối vào 8, 9 là L.
Biểu thúc logic đối với A 2:

A 2 = (4.8.9) + (5.8.9) + (6.8.9) + (7.8.9) (5.3)

d) Đ ôi vớ i lô i ra A 3:
A , là H nếu lối vào 8 hoặc lối vào 9 là H. Biếu thức logic đối với A ,:
A, = 8 + 9 (5.4)
Các biểu thức (5.1), (5.2), (5.3), (5.4) trên đây là các biểu thức hàm mạch dạng SOP cùa các lối
ra A , A 2 A, A,) đối với các lối vào 1 -T 9 và đào của chúng 1 -ỉ- 9 . D o đó ta có 4 m ạch tương ứng
với 4 hàm như hình 5.18. Kết hợp 4 mạch lại sẽ thành mạch mã hóa ưu tiên cao nhất với các lối
vào và lối ra tích cực cao.

5.3.3. Vi m ạch mã hóa ưu tiên 74LS147


74L S147 là vi m ạch mã hóa ưu tiên, mã hóa lối vào ứng vớisố thập phân cao nhất được
chọn (hay được tích cực) thành mã BCD. 74L S147 có ký hiệu lo g ic hình 5.19 và báng chân lý
(báng 5.7):
- HPRI/BCD có ý nghĩa là lối vào có giá trị cao nhất được ưu tiên mã hóa thành mã BCD
(H ighest value Input has Priority).

- 9 lối vào tích cực thấp 1, 2,... 9 tương ứng với các sô'thập phân 1 ,2 ,... 9.

- 4 lối ra tích cực thấp A 3 A 2 A i Ao là mã BCD đáo bit.

Không có lối vào 0 .

Khi tất cả các lối vào từ 1 đến 9 đều ờ mức 1 (không tích cực) thì tất cá các lôi ra

A i A 2 A | Ao đều bằng 1, biểu thị mã BCD đảo bit của số 0.

104
Bảng 5.7. Bảng chân lý mã hóa ưu tiên của vi mạch 74LS147.
1(16) Các lối vào Các lối ra
(11) iHPRI/BCD
i 2 3 4 5 6 7 8 9 a 3 a 2 Ai Ao
(12)
(13)
3
(1) •ị , (9) 1 1 1 1 1 1 1 1 1 1 1 1 1
4
(2) 2 d fr - X X X X X X X X 0 0 1 1 0
5 >J6L _-
(3) 4
6 X X X X X X X 0 1 0 1 1 1
(4) -Ị 8 3 (14)
(5) 0 X X X X X X 0 1 1 1 0 0 0
oQ
(10) Q
y
X X X X X 0 1 1 1 1 0 0 1
X X X X 0 1 1 1 1 1 0 1 0
I (8)
X X X 0 1 1 1 1 1 1 0 1 1
GND
X X 0 1 1 1 1 1 1 1 1 0 0
Hình 5.19. Ký hiệu logic của 74LS147. X 0 1 1 1 1 1 1 1 1 1 0 1
0 1 1 1 1 1 1 1 1 1 1 1 0

5.3.4. ứng dụng m ạch mã hóa


a) M ã hóa bàn p h ím
Hình 5.20 là mạch mã hóa bàn phím. Bàn phím gồm 10 phím nhấn ờ trạng thái thường mờ,
có tiếp điểm phía trên được thiết lập mức logic 1 bằng cách nối mội điện trờ lên nguồn + v , tiếp
điểm phía dưới được nối
xuống đất để thiết lập logic
0. Vi mạch mã hóa ưu tiên
cao nhất 74LS147 có các lối
vào từ 1 đến 9 được nối với
các tiếp điểm phía trên của
các phím nhấn ứng với các
số thập phân từ 1 đến 9. Khi
một phím bất kỳ được nhấn
thì lối vào cùa 74LS147 - BCD
tương ứng với phím đó sẽ
xuống mức 0 và trên 4 lối ra
sẽ xuất hiện mã BCD đảo
cùa sô’ thập phân ứng với
phím đó. Khi nh ìn nhiều
phím đổng thời thì có nhiều
lối vào cùa 74LS147 cùng
xuống mức 0 nhưng chì có
một mã BCD đảo ứng với
phím có sô thâp phân C Í I O
nhất xuất hiện ờ 4 lối ra.
Trong ví dụ này phím sô' 0
không được sừ dụng. Hình 5.20. Mạch mã hóa bàn phim.

105
b) Mach nhäp vä hien th i so lieu titb ä n phim
Hinh 5.21 m ö tä mach nhäp sö lieu tir bän phim cüa cäc thiet bi mäy tinh. dien thoai
(telephone) v .v ...

8 8 S e 8Bl 38
V b t> T' T’ i' T7 T7
7447 7447 7447 7447 7447 7447 7 447 7447
tk t k t k ik i k
> t k k
4 4 4 4 4 4 4 4

Hinh 5.21. Mach nhäp vä hien thi so liSu tCf bän phim.

Mach g6m cäc khöi:


- M ach mä höa bän phim g6m bän phim 10 phim tir 0 den 9, vi m ach mä höa Thäp phän
/BCD 74147.
- Mach ghi djch, göm 4 vi mach ghi dich 8 bit (xem chirong 6) duoc tö chöc thänh möt bö nhö
8 x 4 bit. Sö lieu väo m öi vi mach ghi djch lä er däu väo nöi tie'p dich träi. Sö lieu ra tir cäc löi ra
song song, tuong ting 4 bit di väo cäc mach giäi mä B C D /7seg vä duoc hien thi tren L ED .7seg.
- Mach hien thi: göm 8 vi m ach giäi mä B C D /7seg vä 8 L E D J se g , hie’n thi 8 digit. Digit
tan cüng ben träi lä M SD, tän cüng ben phäi lä LSD.
- Mach di6u khien: gom mach tao xung dich, tao tin hieu dieu khien chuyen dich träi/phäi
vä xung xöa. Hoat döng cüa mach nhir sau: Khi nhan möt phim bat ky thi cö möt tir mä BCD vä
möt xung dich dtroc tao ra. Khi dö cäc tir 4 bit (neu da cö triröc) se dich sang träi 1 bit vä tir mä
BCD ling vöi phim vüa nhän duoc nhäp väo 4 ö nhö däu tien ben phäi. O hinh 5.20 phim sö 0
chira diroc sir dung, b mach näy phim sö 0 duoc sü dung nhu sau: b trang thäi tinh (khi khöng cö
bat ky phim näo tir 1 den 9 diroc nhän) thi 4 bit DCBA = 0000, dö lä mä BCD cüa sö 0 vä tat cä

106
các lối vào của cổng OR đều bằng 0 nên không có xung dịch. Khi nhấn phím số 0 thì tín hiệu vào
lối N cùa cổng OR nhảy từ 0 lên ĩ và tạo 1 xung dịch để nhập 4 bít 0000 vào 4 ô nhớ đáu tiên bên
phải. Khi nhập số liệu từ bàn phím bị sai thì có thể nhập lại từ đáu bang cách nhấn nút CLEAR để
xóa toàn bộ số liệu đã nhập. Hoặc nhấn nút SHR để đẩy số liệu vừa nhập sai ra khỏi bộ nhớ và
nhấn lại phím cần nhập. Trên thực tế, tín hiệu xung dịch dùng để nhập số liệu là tín hiệu ra của
mạch chống rung khi nhấn phím (ví dụ, mạch one shot c ó thời gian quá độ khoảng 10ms).
Khi số liệu nhập từ bàn phím bị sai thì có thể nhập lại từ đầu bằng cách nhấn nút CLEAR
để xóa toàn bộ số liệu đã nhập. Hoặc nhấn nút dịch phải SHR đế đẩy sô' liệu vừa nạp sai ra khỏi
bộ nhớ và nhấn lại phím cẩn nạp.

5.4. MẠCH Đ ổ i MÃ
Mạch đổi mã (code converter) dùng để biến đổi mã nhị phân dạng này sang mã nhị phân
dạng khác. Chẩng hạn biến đổi mã BCD (8421) sang mã nhị phân thuần hoặc biến đổi mã nhị
phân thuần sang mã Gray v .v ... v ề nguyên tắc có thể dùng phương pháp tổng hợp mạch logic
tổ hợp để xây dựng mạch đổi mã. Nhưng căn cứ vào đặc trưng phân biệt giữa 2 mã, ta có thế
thực hiện mạch đổi mã từ các vi mạch logic tổ hợp khác.

5.4.1. Đổi mã BCD sang mã nhị phân bằng phưong pháp sử dụng mạch cộng
Để đổi một số BCD sang số nhị phân người ta biến đổi trọng sô' các bít bằng 1 trong mã
BCD sang mã nhị phân rồi lấy tổng của chúng. Xét phương pháp biến đổi này qua bảng 5.8 là
bảng biến đổi trọng số các bít của mã BCD 8 bit B, B2 B, B„ A , A 2 A] A„ (là biểu diễn BCD cùa
số thập phân 2 digit).
Bảng 5.8. Biểu diễn nhị phán trọng sỗ các bit BCD

Biểu diên nhị phàn trọng só các bit BCD


Các bit Trọng số
b6 (MSB) t>5 t>4 b3 t>2 b, b„(LSB)
BCD BCD
64 32 16 8 4 2 1

A,, 1 0 0 0 0 0 0 1

A, 2 0 0 0 0 0 1 ũ

Aỉ 4 0 0 0 0 1 0 0

A} 8 0 0 0 1 0 0 0

B„ 10 0 0 0 1 0 1 0

B, 20 0 0 1 0 1 0 0

b2 40 0 1 0 1 ũ 0 0

B, 80 1 0 1 ũ 0 0 0

Một số BCD 8 bít được biểu diễn bằng một số nhị phàn 7 bít: b6 b, b4 b, b2 b, b„. Trong đó bit
bn luôn bằng bit A,, cùa số BCD, các bit nhị phân từ b, đến bfl là kết quá cùa phép cộng các số nhi
phân biểu diên các trọng số BCD. Chú ý là các bit 1 trong các cột trọng số nhị phân (2 ,4 , 8, 16, 32,
64) chỉ tồn tại khi bit BCD tương ứng bầng 1. Do đó ta thay các bit 1 trong cột 2 bằng A, và B|„
trong cột 4 là A 2 và B|, trong cột 8 là A , B„ và B), trong cột 16 là Bị và B,, trong cột 32 là FỊ và
trong cột 64 là B,. Từ đó người ta sử dụng các mạch cộng 4 bit để biên đổi BCD sang nhi phân.

107
Hình 5.22 là m ạch biến đổi BCD 8 bít (2 decade) sang 7 bít nhị phân dùng 2 vi mạch cọng
4 bít. Theo cách bố trí các lối vào (mã BCD) và các lối ra (mã nhị phân) như trên hình vẽ ta có :
b „ = A i,
BCD hàng chục BCD hàng đơn vị
b| = A | + B„ f----------- ^ ^
b2 = B| + A 2 B3B2 B i Bo A3 A 2 A, Ao
ọ —
bì = A ị + B(, + B2
b4 = B| + Bj
b’ = B*
b„ = B, 4 3 2 1 4 3 2 1 c,n
N guyên lý mạch cộng xem mục 5.6.
V í dụ biến đổi số BCD 10011001 (số 99
thập phân) sang số nhị phần. c m, 4 3 2 1
Ta có: Afl = 1, A , = 0, A 2 = 0, A , = 1 T T
v à B (l= l , B 1= 0 , B 2 = 0, B ,= 1.
Do đó: r P :.4 3 2 1. .4 3 2 1. c,
b(i = A,, = 1;
bị = Aj + B{| = 0 + 1 = 1;
z
b2 = B| + A 2 = 0 + 0 = 0; '4 3 2 ?
b, = A 3 + B„ + B2 = 1 + 1 + 0 = 0, với
bít nhớ mang sang c , = 1 Ị I ]Ị ;;
64 32 16 8 4 2 *1
b4 = B, + Bj + c , = 0 + 1 + 1 = 0, với
b6 b5 b4 b3 b 2 bi bo
bít n h ớ Q = 1;
b, = B2 + C , = 0 + 1 = 1; Hình 5.22. Biến đổi số BCD 8 bit sang 7 bit nhị phân
b* = B ,= l. sử dụng 2 mạch cộng 4 bit.

V ậy số nhị phân là 1100011. (Chú ý


rằng dấu “+ ” ờ trên biểu thị cho phép cộng số học chứ không phải cộ n g logic).

5.4.2. Biến đổi mã đơn giản sủ dụng ROM

74185

L _ 1----- Ao
BCD/BIN BCD/BIN BCD
Enable (15) 2 (1) Enable (15) 4 biỉ
EN FN
CIN 9
C. H ì __ A i
(2) hàng
BCD Ao 4 BIN 4 ■ S L .A
đơn vị
4 bit ÍM 2 3 (3) (10 ) 2 8 B -A 3
hàng 4 (4)
đơn vị
16
BIN P - 4 10
(12) 8 (5) (12) on ¿ L 4 bit
32 0ft íU b
hàng
B3i H (6 ) (13) 1C A(\
2 bit 10 lo chục
hàng s i 20
(7)
(9)
(14)
32
(9) 03J
chục

Hình 5.23. Vi mạch đổi mã dạng ROM: a) 74184 đổi mã BCD sang nhị phân; b) 74185 đổi mã nhị phàn sang BCD.

108
Phương pháp biến đổi mã đơn giản là sử dụng ROM (xem ứng dụng ROM, chương 7). Có
các vi mạch ROM chuyên dụng đổi mã: Hình 5.23a, b là ký hiệu logic cùa vi mạch 74184, đổi
mã BCD 6 bit sang mã nhị phân và 74185 đổi mã nhị phân 6 bít sang mã BCD. Các vi mạch
này đều có thể ghép m ở rộng số bít cùa mã cần đổi.

5.4.3. Mạch đổi số nhị phân sang mã Gray và m ạch biến đổi ngược lại
Đặc trưng phân biệt giữa số nhị phân và mã Gray là bit Gray thứ n bằng 0 khi hai bit nhị
phân thứ n và (n + 1) bằng nhau và bit Gray thứ n bằng 1 khi hai bit nhị phân thứ n và (n + 1)
khác nhau. Từ đó dễ thực hiện mạch biến đổi Nhị phân/Gray và Gray/Nhị phân bằng các cổng
logic EXOR như hình 5.24.
Binary Gray Gray Binary

1
i o -
1

1 j f e
0

1 E b)

Hinh 5.24. Mạch đổi mã dùng EXOR: a) Đổi số nhị phán (Binary) sang mã Gray; b) Đổi mã Gray sang nhị phân.

Hình 5.24a là ví dụ đổi số nhị phân 1110010 sang mã Gray 1001011. Hình 5.24b là ví dụ
đổi mã Gray 1001011 thành số nhị phân 11) 0010.

5.5. MẠCH CHỌN ĐƯỜNG VÀ PHÂN ĐƯỜNG TRUYEN


Mạch chọn đường truyền và phân đường truyền tín hiệu số, còn gọi là mạch dồn kênh
(Multiplexer - M U X) và phân kênh (Demultiplexer - DM UX), là các chuyển mạch số theo một
chiều. M UX dùng để kết nối một trong n nguồn sô' liệu ờ đầu vào với một lố i ra duy nhất của nó.

1
Di ----------------►

1 n m Do
MUX w A 1

EN EN ----------------►

Hình 5.25. a) cáu trúc của MUX và b) DMUX.

109
DM ƯX dùng để kết nối m ột nguồn sô' liệu duy nhất ở đầu vào với một trong R tói ra cúa
nó. V ề phương diện truyền số liệu thì M U X là mạch biến đổi số liệu truyền song song thành
nối tiếp; D M UX ngược lại biến đổi số liệu truyền nối tiếp thành song song.
M ỗi đường số liệu có m ột địa chỉ kết nối, xác định bời m lối vào địa chì. Quan hệ giữa n
đường số liệu và m đường dịa chỉ là 2m = n.
Hình 5.25a, b m ô tả cấu trúc cùa M U X và D M UX . Sô' liệu vào ký hiệu là D . sổ liệu raký
hiệu D(|. Kênh địa chỉ ký hiệu A (m đường). Lối vào cho phép làm việc ký hiệu EN.

5.5.1. Mạch chọn đường - MUX


a) Thành lập m ạch M U X cơ bản
X ét cách thành lập mạch m ultiplexer cơ bản (4 lối vào số liệu, 2 lối vào địa chi, một lối
vào cho phép) từ đó suy ra cho các m ạch M U X khác có cửa vào rộng hơn. Dựa vào ý nghĩa và
cấu trúc logic cùa M U X , thành lập được bảng chân lý của M U X có 4 lối vào số liệu D , Dj D,
D(); một lối ra sô' liệu Y , hai lối vào địa chỉ A | Aị,; m ột lối vào cho phép EN - tích cực thấp
(bảng 5.9). Từ bảng chân lý suy ra hàm mạch như sau:

Y = EN(A| AoD() + Ai A()D| + A| A0D2 + A Ị A(ịD-ị)


Go

110
Bảng 5.9. Bàng chân lý của mạch MUX 4 lối vào số liệu.

A, Ao d3 d2 D, Do ẼN Y

X X X X X X H L

L L X X X L L L

L L X X X H L H

L H X X L X L L

L H X X H X L H

H L X L X X L L

H L X H X X L H

H H L X X X L L

H H H X X X L H

Từ biểu thức hàm mạch, dễ dàng thành lập đirợc mạch nguyên lý như hình 5.26a.

ẼẼN 0 _______________________

Do Di D2 D3 Do Di

Hình 5.26b. Đó thị thời gian tín hiệu ra T theo các tín hiệu vào D0 D, D; Dj.

Hình 2.26b là đổ thị thời gian tín hiệu ra Y theo tín hiệu trên các lốivào song song
D(jD |D 2D |. Đ ồ thị Y (t) cho thấy mỗi tín hiệu vào D, chì xuất hiện trên lối ra một lần trong một
chu kỳ đếm địa chỉ.

b) Vi mạch M U X
Trong chương này để đơn giàn, một vi mạch miltiplexer có n lối vào sô' liệu sẽ được ký
hiệu là M UXn. M ột số vi mạch M UX tiêu chuẩn, thông dụng là:
74LS157: 4 vi mạch M U X2 trong 1 chip, đường điều khiển chung.
74LS153: 2 vi mạch M U X 4 trong 1 chip, đường điều khiển chung.

74LS251: Có lối ra Y và Y , đầu ra 3 trạng thái.


74LS151: M U X 8, có lối ra Y và Y.
74LS150: M U X 16, lối ra Ỹ.

111
V i mạch M U X còn gọi là vi mạch
chọn số liệu hay m ạch dồn kênh (data
selector/m ultiplexer), ký hiệu logic của
—íSb EN
một số vi mạch cho ờ hình 5.27a, b, c. 1B-EL s . - n ã o'
2A-Ỉa. s, J lli.
5.5.2. Mạch phân dưòng truyền - 2 B -E L S,
¡A - im . S, - im 3
DMUX 3B-ISL D. -121- 0
a) Thành lập mạch n g u yên lý M -im . D ,- a . 1
4B-U2L 0, -ISL 2
cơbẩn a) 74LS157 D, -151- 3
D. - l a 4
Theo ý nghĩa và cấu trúc logic của dI —Í2L 5
D M UX hình 5.25b và nguyên tắc ttyết 0.-121- 6
Enable — t) EN
kế mạch logic tổ hợp, dễ suy ra nguyên S .- ÌH Ĩ 0'
D, -ÍU - 7
S.-U21.
0. -1221. 8
lý mạch D M U X cơ bản có 4 lối ra sô' g 47 D, -1221. 9
¡ ,- 1 5 1 2
liệu D„ D, D 2 D , như hình 5.28a. Các 10
D .- ÍÍI 0
mạch D M U X có n lối ra số liệu là sự D,—12L 1 11
12
mở rộng cùa D M U X 4 lối ra số liệu. 0,-121. 2
D ,-W . 3
D ,,-ua. 13
b) Vi m ạch D M U X d„-UZL 14
D .- ílỉ! 4
Ds-IH L 5
D,>-0SL 15
Có thể nhận thấy nguyên lý mạch
D « -im 6
D M U X chính là nguyên lý m ạch giải d ,-U 2 - 7
mã nhị phản khi lấy một lối vào cho
b) 74LS151A
phép cùa mạch giải mã làm lối vào số
liệu. D o đó các vi m ạch giải mã thông Hình 5.27. Ký hiệu logic của các vi mạch MUX:
dụng như 74138, 7 4 1 5 4 cũng được sừ a) Vi mạch MUX 74LS157 (ký hiệu theo IEEE);
dụng như các vi m ạch D M UX. b) Vi mạch MUX 74LS151A; c) Vi mạch MUX 74LS150.

Hình 5.28. a) Mạch nguyên lý DMUX 4 lối ra sổ liệu; b) Đó thị xung ra D„ 0 , D2 D j theo sỗ liệu vào D,.

5.5.3. ứng dụng MUX và DMUX


a) Truyền tín h iệu song s o n g /n ố i tiếp
M ột ứng dụng quan trọng của M U X và D M U X là biến đổi tín hiệu trên các đường truyền
song song thành tín hiệu truyền nối tiếp và ngược lại. Hình 5.29 là vi m ạch M U X 741 5 0 và vi
mạch D ecoder/D em ultiplexer 74154. M ạch đếm nhị phân 1 (4 bít) đếm địa chỉ kết nối lần lượt
16 tín hiệu sô' (Dị, + D l5) ở đầu vào M U X lên 1 đường truyền cùa BUS.

112
Dn
DMUX 0
s ố liệu vào T 74 1
16 bit 154 2
—ÒG2 SỐ liệu ra
Ao 16 bit
Ai
A2
D,s

Các mạch đếm


nhị phân
đếm địa chỉ

8
F -
— i
Q
- T
reset 1 FF

Hình 5.29. Mạch biến đổi thông tin song song/nồi tiếp/song song.

Mạch đếm nhị phân 2 (4 bít) đếm địa chỉ đưa lần lượt các tín hiệu đã truyền nối tiếp trẽn BUS
tói các đầu ra tương ứng (D„ + D „) của DM UX 74154. (chú ý là DM UX 74154 chính là Decoder
74154 có 2 lối vào cho phép tích cực thấp G i,G 2 ,trong đó Ơ 2 dùng làm lối vào số liệu).
b) M à rộng M U X và DM UX
M ở rộng M U X là cách ghép k vi mạch M UXn để tạo thành một mạch M UXkn. Thực tế,
k = 2, 4 hoặc 8 . Cách ghép đơn giản như sau:

- Sắp xếp liên tiếp và đánh số thứ tự các lối vào số liệu cùa k vi mạch M UXn từ 0 đến kn - 1.

- Nối song song m đường địa chỉ của k vi mạch M UXn

- Bổ sung m ’ đường địa chỉ giải mã chọn k chip vi mạch M UXn.

- k lổi ra cùa k vi mạch M U Xn được nối với nhau nếu là đầu ra 3 trạng thái; nếu không thì
nối đến một cổng O R /A N D c ó k lối vào, tùy thuộc lối ra của k vi mạch M U Xn khi không được
phép làm việc là ờ mức thấp/cao. Kết quà nhận được một mạch M UXkn c ó m + m' đường địa
chỉ, với 2 m = kn, 2 m = n và 2 m' = k.

Hình 5.30a là mạch MƯX32 gồm 4 vi mạch M UX 8 (74251 ) có đầu ra 3 trạng thái và một vi
mạch giải mã địa chì chọn 1 trong 4 (74139). Với cách làm tương tự, các vi mạch DM UX cũng
được ghép nối để tạo thành mạch DM UX nhiều lối ra hơn. Hình 5.30b là ví dụ ghép 2 vi mạch

74138 ờ chế độ D M UX. Tín hiệu vào được đưa vào lối G 2A cùa D M UX (1) và G 2B cùa DM UX

(2). Mạch D M UX mờ rộng có 16 lối ra (Y 0 ...Y15) nên cẩn phải bổ sung một đường địa chỉ A 3.

Trường hợp này không cần giải mã chọn chip mà lợi dụng lối vào cho phép tích cực thấp G 2B
cùa DM UX (1) và lối vào cho phép tích cực cao Gj cùa D M U X (2) để tạo đường địa chỉ Aj.

113
c) Mạch p h á t hàm sử
MUX
dụng v i mạch M U X Di
74 Y
Một vi mạch M U X có 251
m đường địa chi thì c ó thể d7
Ao
thực hiện được m ột hàm
A,
logic SOP c ó m biến hoặc a2
m + 1 biến. En

Trường hợp số đường Do


MUX
địa chỉ bằng sô' biến cùa Di
74 Y
hàm thì gán các biến của
251
hàm vào các đường địa chì d7
cùa vi mạch M U X , và thiết 32 đường
Ao
A,
lập các giá trị của hàm v à o s ố liệu 1
A2
tương ứng với địa chì cho En I lối ra
các đẩu vào sô' liệu của Y
M U X. V í dụ thực hiện hàm Do
MUX
Y
D,
logic F(xyz) = zv,(0,5 ,6 , 7) 74 Y
được tiến hành như sau: 251
23- d7
- Chọn vi mạch có 3 Ao
đường địa chỉ. V í dụ chọn A,
vi m ạch M U X 74L S151, c ó a2
En
3 đường địa chỉ CBA (với 24-
A = LSB) tương ứng vói 3 đ ịa ch ỉ 25- Do
MUX
biến cùa hàm x y z (với z = r>i
V 31 — 74 Y
LSB) và có 8 đường số liệu A3 1 1 251
D 7 D 6 D 5 D 4 D , D 2 D, D „ I A 4 ---------- 2 74 2 d7
139 3
Gán các biến xyz cùa hàm Ao
( 1/ 2 ) 4
A,
vào các đường địa chỉ
a2
tương ứng của M UX: — 0 En En
X = C; y = B; z = A .
- Gán các giá trị cùa D M U X (Ị)
1 1 O-Yo
hàm tương ứng vào các
2 2
đường số liệu cùa vi mạch 4 đường 4 74 3
đ ịa ch ỉ G1 138 •
MƯX: D0 = 1; D, = 0; D 2 - 0;
G 2A
D , = 0; D 4 = 0; í>s = 1;
A3 ' G 2B 7 0-V7
D 6 = 1; D , = 1. Tức là thiết
lập logic 1 cho các lối vào ) 16 lối ra
D M UX (2)
s ố liệu D„, D „ D6, D , bằng 1 1 O-Y«
cách nối chúng lên nguồn 2 2
4 74 3
+ v qua điện trờ R và thiết G1 138 •
lập logic 0 cho cá c lố i vào G 2A
S ố liệu
s ố liệu D |, D 2, D „ D4 G 2B 7 k v 15ỉ
vào
bằng cách nối chúng b)
xuống đất (G N D ).
Hình 5.30. a) Mờ rộng MUX; b) Mở rộng DMUX.

114
- Mạch thực hiện hàm Z xy/(0, 5 ,6 ,7 ) = Zcba(D(]> Ds, D6, D7) 74LS151
như hình 5.31.
EN
Trường hợp số đường địa chỉ của vi mạch M UX là m
A
nhưng số biến của hàm là m + 1 thì m biến được gán vào m
B
đường địa chỉ của vi mạch M UX còn 1 biến (1 trong m + 1 c
biên) được dùng để thiết lập giá trị của hàm là 0 hay 1 cho D0 Y
các lối vào số liệu của vi mạch MUX. D1 Y
V í dụ thực hiện hàm logic trên bằng vi mạch M UX có 2 D2
D3
đường địa chì BA (với B = 2'; A = 2"), 4 đường số liệu tuơng
D4
ứng với 4 tổ hợp địa chi là D,„ D |, D2, D ,. Cách thực hiện
D5
như sau:
D6
- Lập bảng chân lý cùa hàm đã cho (hình 5.32a) và lập D7
bảng trạng thái của vi mạch M U X (hình 5.32b). GND

- Gán m biến của hàm vào m đường địa chì của M UX. Ở Hình 5.31. Mạch phát hàm 3 biến
ví dụ này hàm có 3 biến thì có 3 khả năng chọn 2 trong 3 biến F(xyz) = l J o , 5, 6. 7)
để làm biến địa chỉ của MUX: xy = BA; yz = BA; xz = BA. sử dụng vi mạch MUX 8.

X y z F B A Y
0 0 0 1
0 0 Do
0 0 1 0

0 1 0 0 0 1 Di

0 1 1 0
1 0 d2
1 0 0 0

1 0 1 1 1 1 d3

1 1 0 1

1 1 1 1

Hình 5.32. Thực hiện hàm 9 biến bằng vi mạch MUX có 2 đường địa chỉ:

a) Bàng chân lý hàm; b) Bảng trạng thái MUX; c)Mạch phát hàm với —74LS153 .

- Căn cứ vào bảng chân lý của hàm và bảng trạng thái cùa M ƯX, xác định giá trị logic của
các lối vào số liệu. V í dụ xét trường hợp gán xy = BA:
Í1 khi z = 0
Khi xy = 0 0 thì Y = D 0 = F = < . Suy ra D0 = z
[0 khi z = 1

Khi xy = 01 thì Y = D , = F = 1 ° khi z = 0 . Suy ra D, = 0


[0 khi z = 1

Khi xy = 10 thì Y = D 2 = F = Ị 0 khi z = 0 . Suy ra D 2 = z


[1 khi z = 1

^ - í 1 khi z = 0
Khi xy = 11 thì Y = D 3 = F = ị .S u y ra D, = 1
[1 khi z = 1 J

115
- Từ các suy luận trẽn ta có m ạch phát hàm 3 biến F (xyz) = £ (0 5 6 7) sứ dụng vi

m ạch M UX c ó 2 đường địa chi (~ 7 4 L S 1 5 3 )n h ư hình 5.32c.

Với cách làm tương tự, trường hợp gán yz = BA suy ra được: D,| = X • D, = x; D; = x; D , = X

và có mạch phát hàm như hình 5.33a. Trường hợp gán xz = BA suy ra được D„ = y ; D | = 0;
D 2 = y; D , = 1 và có m ạch phát hàm như hình 5.33b.

MUX4 ^ M UX4
Do Do
D, Di
d2 Y D2 y
( 2 2)
d3 d3
(2 1) ( 22)
B B
J2fL A
( 2 1)
A
( 2 °) 1

b)
Hinh 5.33. Các mạch phát hàm 3 biến F (xyz) = ỵ,xyz (ũ, 5, 6,7) sử dụng MUX 4:
a) Trường hợp yz = BA; b) Trường hợp xz = BA.

d) Các ứng dung khác của M U X


Úng dụng vi mạch M U X như một chuyển mạch sô' nhiều bít song song: M ỗi vi m ạch MUX
chi có một đường ra số liệu nên gọi là chuyển mạch số 1 bít. Khi ghép song song nhiều vi mạch
M U X ta có một chuyến mạch số nhiéu bit. V í dụ ghép song song 8 vi mạch M U X 4 cho phép
đổi nối dược 4 byte số liệu. Trong điều khiến hiển thị 7 seg (xem hình 5.14) người la dùng
chuyên mạch M U X 4 bít để nối các nhóm 4 bít mã BCD.

Úng dụng M U X như một m ạch ghi dịch: Khi sắp xếp hợp lý các bít của 1 từ sô' liệu lên các
lối vào số liệu của các vi mạch M U X ghép song song, sẽ nhận được m ột mạch ghi dịch, hoạt
động dịch theo chu kỳ đếm địa chí (ghi dịch không có clock).

Úng dụng M U X như một bộ nhớ c ố định (ROM ): M ột vi m ạch M U X n được xem như một
ô nhớ n bit có tổ chức bít. D o đó có thể ghép nhiều vi m ạch M U X để tạo thành một bộ nhớ cố
định (ROM ).

5.6. CÁC MẠCH THUẬT TOÁN s ố HỌC VÀ LOGIC


5.6.1. M ạch so sánh
Chức năng cơ bản cùa mạch so sánh là so sánh hai số nhị phán nhầm xác định tương quan về
giá trị cùa chúng. Dạng so sánh dơn gián thường gặp là so sánh bằng nhau giữa hai số nhị phân.
a) Mạch so sánh cơ SỞ
N guyên tắc so sánh hai số nhị phân là so sánh lừng cặp bít cùng hạng vị (trọng số). Kết
quả so sánh được thông báo dưới dạng A = B, A > B, A < B.
Hình 3.34a, b tương ứng là bảng chân lý và sơ đổ logic cùa mạch so sánh hai bít cùng hạng
vị A,„ B„ cùa hai số nhị phân A , B. Ba đầu ra đểu là tích cực cao.
M ạch so sánh bằng nhau thực hiện bàng cổng EX NO R. khi 2 bit so sánh trên 2 lõi vào
bằng nhau thì đầu la của nó ờ mức cao.

116
Mạch so sánh lớn hơn được thực hiện bằng một cổng NOT và một cổng A N D , đầu ra
X\()>B() = A()B0 sẽ ở mức cao nếu A„ > B„ (tức là nếu A(, = 1, B„ = 0 thì YA()>B() = 1 )•

M ạch so sánh nhỏ hơn cũng gồm một cổng NOT và một cổng A N D đầu ra
YA()>B() - A 0B 0 sẽ tích cực cao khi B0 > Ao (tức là nếu Ao = 0, B0 = 1 thì YA()<B() = 1).

Y A o= B o

Y a <)>Bo Ao Bo YA o>B o y Ao=Bo YA o<B o


Bo ■
-0 °- 0 0 0 1 0
0 1 0 0 1
y A o< B o
1 0 1 0 0
Ao - 1 1 0 1 0

a) b)

Hình 5.34. a) Mạch so sánh cơ sở; b) Bàng thông báo kết quà Sũ sánh.

Đ ể thành lập mạch so sánh hai sô' nhị phân n bit A và B, ta sử dụng các mạch so sánh từng
cặp bít cùng hạng vị đã trình bày ở trẽn. Ví dụ, hãy thành lập mạch so sánh hai sô' nhị phân hai
bit A {A ,, A,,} và B {B ị, B0}; A<„ B„ = LSB. Ta làm như sau:
- Thành lập hai m ạch so sánh từng cặp bít A ị,, B|> và A „ B,.

- Tín hiệu trên các đẩu ra hai mạch so sánh tùng cặp bít
(YAi)>b0.YAo<b0,Y A(1=Bo ,Y Ai >B|,YA|=Bi ,YA|<Bi ) được đưa tói các đầu vào cùa mạch logic
thông báo kết quả so sánh hai số nhị phân A, B. Mạch này có ba đầu ra Y A> B, Y A, Bvà Y A< B;
với các quan hệ logic sau:

= Y,A|>B| + YAl=Bl.Y,
A1=B1■
: YA|<B| + Y^A
A]=B|.YA
i =Bi o<Bo (5.5)

:^"ai=b1'^Ao=Bo
Từ đó, suy ra các quan hệ logic cho mạch so sánh hai số nhị phân n bít. V í dụ có thể suy ra
quan hệ logic trong vi mạch so sánh hai số nhị phản 4 bit là:

Ya>b = A 3 B 3 + A 3 ©B^.AjBj + A 3 © B 3 .A 2 ® Fì2.A IB, + A 3 © B 3 .A 2 @B 2 .Aj ©BpAflBj)

Ya=b = A j © B3.A 2 © .A, © B |.A 0 © B(, 1(5.6)

Ya<b = A 3 B , + A 3 e B j-A jB j + A , ® B 3 .A 2 ® + A 3 @B 3 .A 2 ® Bj.A, © B|.Ă^B(I

b) Vi mạch so sánh
Vi mạch so sánh có các loại 4 bit, 5 bít, 6 bít, 8 bit và 10 bit.
Dưới đây chỉ giới thiệu vi mạch sọ sánh tiêu biểu là vi mạch 7485. Hình5.35 là ký hiệu logic
của 7485. 7485 là vỉ mạch so sánh 2 số nhị phân 4 bit A và B. Mạch cố 3 lốira thông báo kết quả

117
so sánh là A > B, A = B và A < B; và 3 lối vào nối
tầng cũng được ký hiệu là A > B, A = B và A < B.
Các lối vào nối tầng dùng cho nối tầng kiểu
nối tiếp để mờ rộng thành m ạch so sánh có số bít
theo yêu cầu. N guyên tắc nối tầng là 3 lối ra của
Yr3(A>8)
tầng trước (tầng so sánh 4 bít thấp) được nối tương
ứng với 3 lối vào nối tầng của tầng sau (tầng so
sánh 4 bít cao).
Hình 5.36a là hai IC7485 nối tấng kiểu nối
tiếp để được mạch so sánh 8 bit. M ạch nối tầng
kiểu nối tiếp có tốc độ làm việc chậm. Táng đầu V c c (16).GND(8)
tiên tức là táng so sánh 4 bít thấp nhất (A ,... A„ và
B,... B|>) của một chuỗi m ạch so sánh nối tiếp có
Hinh 5.35. Ký hiệu logic của vi mạch so sánh 7485.

các lối vào nối tầng (A > B), (A < B)


LSBs:
COMP MSBs COMP được nối đất (G N D ) còn lối vào nối
Ao
0 A 4----- 0 ' tầng (A = B) phải được thiết lập logic 1
A
Ai
A bằng cách nối lẽn nguổn + v.
A2
As------
A3 Đ ể có được tốc độ làm việc nhanh, có
3. A; 3.
A > B
(5) thể dùng cách nối tầng kiểu song song.
A>B A>B
(6) Hình 5.36b là ví dụ mạch so sánh mờ
A= B A=B A = B
(7) rộng 16 bít, nối tầng kiểu song song.
A<B A<B A< B
Bo
0’ B. 0' Tầng đầu gồm 4 IC7485 để so
Bõ----- sánh đổng thời từng nhóm 4 bít. Tầng
B2 B B
b3 cuối cùng là một IC7485 để đánh giá
3. 3.
kết quả so sánh của 4 IC tẩng đẩu.
GND
-é- 7485 7485 Trong nối tầng kiểu song song, các lối
vào nối tầng của các IC không cần sử
Hình 5.36a. Mạch so sánh nối tầng kiểu nói tiếp.
dụng.
Thành lập m ạch logic của IC7485 như sau:
Xây dựng m ạch so sánh hai sô' nhị phân 4 bit A , B cho kết quả so sánh 4 bít: Y A>B, Y A<B,
Ya„b. Tiếp theo, với kết quả so sánh cùa IC7485 ờ tầng trước (so sánh 4 bít hạng vị thấp hơn),
sẽ được đưa vào các lối vào nối tầng là Y vi„ A>B, Y vi„ A=B, Y và„ A<B ta thành lặp m ạch logic với 6
biến vào là Y a>b, Y a<b, Y a=b, Y vàl, A<B, Y vi„A=B, Y vàl)A>B. Ba đầu ra m ạch này thông báo kết quả so
sánh hai sô' nhị phân A , B cùa hai tầng nối tiếp, ký hiệu là Y „ A>B, Y „ A=B, Y„ A<B(hình 5.35). Dễ
n à n n n n ô n t V\ôi Ị n iio n Uả
nì íVn
dàng nhận thấy quan hệ logic giữa các Ul ã'-* ___ . \ ~
biến ra vào của ________-
mạch:

Yra A>B = * A>B + y a=b.


Yra A<B = Ya <B (5.7)
+

03

Yra A=B = * A=B •Yvà()A=1

Trong đó, các biến hay các hàm mạch so sánh hai số nhị phân 4 bít theo thứ tự so sánh từ cặp
bit hạng vị cao nhất đến cặp bít hạng vị thấp nhất đã được biểu diễn ờ biểu thức (5.6). Như vậy,
với các cổng logic cơ bản NOT, A N D , OR và EXOR, ta dễ thành lập được sơ đồ nguyên lý.

118
/ a « — Ao
Bo ----- Bo A>B

7485

A 3 ------ A 3 A<B
b 3 ------ b 3

A 4 ------ Ao
b 4 ------ Bo A>B
7485
7485 Ao A>B - Y a> e

Bo
a 7 ----- A 3 A<B Ai
b7 — b3
Bi
A=B ■Ya=b
A2
ab ----- Ao
Bg ----- Bo A>B b2
a3

7485 b3 A<B - Y a <b

A n ----- A 3 A<B
B „ ----- b 3

A 12 ----- Ao
B 12 ----- Bo A>B

7485

A 15 ------ A 3 A<B
VBÜ — b3

Hình 5.36b. Mạch so sánh nối tầng kiểu song song.

5.6.2. Mạch cộng hai số nhị phãn


a) Mạch cộng 1 bít
Luật cộng trong hệ nhị phân không khác luật cộng trong hệ thập phân, nghĩa là khi cộng 2
chữ số cùng hạng vị thì nhận được một chữ số cùng hạng vị và một chữ số ở hạng vị lớn hơn kế
tiếp gọi là số nhớ. Như đã biết, luật cộng 2 bít nhị phân cùng hạng vị là:
0+0=0
0+1 = 1
1+0=1
1 + 1 = 10 (0 + nhớ 1 sang hạng vị trên)
Đ ể thực hiện phép cộng trên nguời ta phải thiết kế một mạch có 2 lối vào bít và 2 lối ra:
m ột lối ra tổng và m ột lối ra nhớ. Từ luật cộng trên ta suy ra lấy tổng được thực hiện bàng mạch
EXOR, còn lấy số nhớ được thực hiện bằng cổng A N D , bới vì bít nhớ chỉ xuất hiện khi 2 bít
vào đều bằng 1. Ta có mạch và bảng trạng thái hình 5.37. Đầu ra tổng ký hiệu là s hoặc Z: z =
A © B. A, B là 2 b ít vào cùng hạng vị cùa 2 toán hạng nhị phân.

119
Bit nhớ ký hiệu là c,„, : c„„, = AB.
Bít nhó C„m = 1 được sinh ra khi A = B =
1 và được mang sang để cộng với cặp bit
có hạng vị cao hơn liền kề. Bít tổng z có
cùng hạng vị với A , B. M ạch cộng cặp g
bit A , B ờ hình 5.37 chưa tính tới bít nhớ
mang sang từ phép cộng cặp bít có hạng
vị thấp hơn liền kề; vì vậy gọi là m ạch Hinh 5.37. Mạch cộng 1 bit bán phán (HA)
cộng 1 bít bán phần (H alf Adder).
Một cách tổng quát, phép cộng hai bít hạng vị i được thực hiện bằng m ột m ạch cộng 1 bit
với hai bít vào của hai toán hạng là A;, Bị;và bít vào c, là
bít nhớ mang sang từ phép cộng cặp bíthạng vị thấp hơn Báng 5.10. Bảng chân lý mạch cộng FA.
liền kề. Mạch có 2 bít ra là tổng Sị và bít nhớ mang sang
Các biến vào Các bién ra
hạng vị cao hơn i + 1 là c it|. Người ta gọi đó là mạch cộng
A, Bi c, s, c„,
1 bít đẩy đủ FA (Full Adder). Bảng chân lý của mạch cộng
FA như ờ bảng 5.10. 0 0 0 0 0

Từ bảng 5.11 dễ dàng rút ra: 0 1 0 1 0


1 0 0 1 0
Sị = ( A ị ® B ; ) © C : 1
_ r i _ _ í (5.8) 1 1 0 0 1
c i+, = (A i ® B i)Ci + A iB,J
0 0 1 1 0
Dựa vào các biểu thức logic trên, thành lặp được mạch
0 1 1 0 1
cộng đầy đủ FA như ở hình 5.38a. M ạch gồm hai m ạch
1 0 1 0 1
cộng bán phần HA, với các biến trung gian P|, G|, Rị.
1 1 1 1 1
Hình 5.38b là ký hiệu logic của m ạch FA.


A,------ A
B,------- B 1
C i------- Ci„ c °'“

b)

Hinh 5.38. Sơ đó nguyên lý mạch cộng FA và ký hiệu logic của nó.


b) M ạch cộng so ng so n g n h ớ n ố i tiếp
M ạch cộng song song gồm n mạch cộng FA liên kết nhau theo cách truyền nhớ nối tiếp,
dùng để cộng 2 số nhị phân n bit.
Hình 5.39 là m ạch cộng song song cộng 2 số nhị phân 4 bit A = A , A 2 A , A,, và B = B B,
B| B(|. M ạch cộng FA có hạng vị thấp nhất (LSB) ký hiệu là FA 0 với bít nhớ vào là c,„ bít tổng
là s„ và bit nhớ ra là C |. Tuy nhiên th eo luật cộng 2 sô nhị phân thông thường thì F A 0 c ó bít
nhớ vào bằng 0, d o đ ó C(, phải được thiết lập logic 0.

120
Tiếp theo FA1 có bít nhớ vào A3 B3 A2 B2 A i Bi Ao Bo
c , bit tổng S,, bít nhớ ra cv. FA2 có
bít nhớ vào C2, bít tổng 5>2, bit nhớ ra
Cj. Cuối cùng là mạch cộng có hạng
vị cao nhất (MSB) là FA3 có bit nhớ
vào là c „ bit tổng là s, và bit nhớ ra
là C4. Mạch cộng song song nhớ nối
tiếp (ripple carry) có tốc độ chậm do
phải truyền tín hiệu nhớ từ mạch (MSB) Sj Sỉ Sl (LSB) So

cộng FA có hạng vị thấp nhất đến Hình 5.39. Mạch cộng song song 4 bit.
FA có hạng vị cao nhất.
c) M ạch logic tạo các b it n h ớ song song
Đ ể tãng tốc tính toán cho mạch cộng,
người ta dùng phương pháp truyền nhớ
song song (Lock Ahead Carry). Nội dung
cùa phương pháp này là xây dựng một
mạch logic có khả năng xác định các bit
nhớ cho từng mạch cộng FA sao cho
chúng xuất hiện đổng thời với nhau không
cần qua giai đoạn lan truyền. M ột mạch
cộng FA sử dụng m ạch tạo các bít nhớ
song song được m ô tả như hình 5.40.
Hãy x é t nguyên tắ c thành lậ p mạch Hình 5.40. Mạch cộng FA có mạch tạo các bit nhớ song song,
logic tạo các bít nhớ song song. Từ biểu thức logic cùa bít nhớ mang sang c i+, ở (5.8), hoặc từ
bảng chân lý cùa FA (bảng 5.11) ta có dạng khác cùa Cj+ 1 là :
c i+1 = p, c, + G, (5 .9 )
Trong đó: P; = Aị + B,; G| = A B,.
Vì tín hiệu nhố vào (Cin) cùa một tầng là tín hiệu nhớ ra (C .J cùa tắng trước, do đó đối với một
mạch cộng gồm 4 tầng ở hình 5.39, sừ dụng biểu thức (5.9), ta có bít nhớ ra các tầng như sau:
Tầng thứ n h ấ t:
c , = G(, + P,J c„
Tầng thứ hai:
c 2 = g , + p, c ,
= G, + p, (G„ + p„ c„)
= G, + p, G„ + p, p„ q ,
Tầng thứ ba:
} (5.10)
C 3 = G 2 + p2 C 2
= G 2 + p2 (G, + p, G„ + p, p„ c„)
= G 2 + p 2 G, + p 2 p, G„ + p2 p, p„ c„
Tầng thứ tư:
c 4 = G, + p ,c ,
= G , + p, (G 2 + p2 G, + p2 p, G„ + p, p2 p, p„c„)
= G , + p, G 2 + p, p2 G, + p, p2 p, G„ + p,p2 p, p„ c „ J

121
M ỗi biểu thức trên tương ứng với một mạch logic có 3 mức
74LS182
trễ (một mức trẻ do tạo tín hiệu Gi và Pi và hai mức trễ khác do
quá trình lấy tổng cùa các tích). co
— GO
Mạch logic tạo bít nhớ song song ký hiệu ờ hình 5.40 được 1I
rU
PO p -1 2
thực hiện theo biểu thức (5.10) với một số ít các cổng logic cơ
— G1
bản. Tốc độ tính toán cùa mạch cộng có nhớ song song lớn hơn 2 ___c p -Ị C2 -11
nhiều lần tốc độ cùa mạch cộng nhớ nối tiếp. Trong thực tế người -----0 G2
chế tạo các vi mạch cộng có kèm m ạch logic tạo bít nhố song -----0 DO C 'i 9
song (ví dụ mạch cộng 74LS283), và cũng chê' tạo vi mạch logic G3 G -10
°
nhớ song song dùng để nối tầng các vi mạch cộng hoặc các 7
ALU. Hình 5.41 là vi mạch logic tạo bít nhớ song song 74LS182.
Hình 5.41. Ký hiệu logic vi mạch logic
d) Vi m ạch cộng và ứng d ụ ng
tạo bit nhờ song song 74LS182.
Hình 5.42 giới
thiệu 2 vi mạch cộng
song song 4 bít thông
dụng là 74LS83A và
74LS283.
Khi cộng 2 số nhị
phán nhiều bit thì phải
nối tầng các vi mạch
cộng. Cách nối tầng các
mạch cộng cũng là cách
nối tầng các mạch FA
trong mạch cộng song
song hình 5.39. V í dụ
nối tầng 4 vi mạch cộng
song song 4 bít sẽ được
một mạch cộng mờ rộng
IC U-. ’u U C -ti ’ Hình5.42. Các vi mach công.
16 bit như hình 5.43. " • 8

B i 5. . ,B]2 A i 5. . , A]2 B u , . .Be A l t . . . As B7 . . . B í A ? . , .A4 B3 . . .Bo A3 . . .Ao

i4 i
3 2 1 4 3 2 1 c.n
HUUHjh HlUUijn 4 3 2 1 4 3 2 1 C,,
B A B A
I I
Coo! 8 4 2 1 C oul 8 4 2 1

ĩtíỉr
C 16 S 15 S 12 S11 Sa
m r
S7 S4 Sa So

Hình 5.43. Mạch cộng mở rộng 16 bit.

Chú ý là bít nhớ vào cùa vi mạch cộng 4 bit thấp Q> = 0; bít nhớ ra cùa vi mạch 4 bít cao nhất

122
5.6.3. Mạch số học và logic ALU
a) M õ tả A L U
A L U (Arithmetic and Logic Unit) l à một hệ mạch logic
tổ hợp, có chức năng thực hiện các thuật toán sô' học và logic
đối với một cặp toán hạng nhị phân n bít.
Quy ước ký hiệu ALU (còn gọi là bộ số học logic) như
hình 5.44. ALU gồm có 2 kênh số liệu vào A (n bit) và B (n
bít); một kênh điều khiển chọn thuật toán s (m bít); một kênh
sô' liệu ra F (n bít), một lối vào bít nhớ Cị„, một lối ra bít nhớ
c„„„ ngoài ra ALU còn đưa ra 2 bit p và G để nối tầng các
ALU theo kiểu truyển nhớ song song (Look Ahead Carry), ơ F
dạng vi mạch MSI, ALU hoạt động như một khối chức năng h544 K_h„ ALU
trong hệ thống mạch số. Trong các bộ vi xừ lý ALU đóng vai
trò khối tính toán trung tâm. Các vi mạch ALU thường dùng trongthục tế có các toán hạng 4
bít (n = 4) và kênh chọn thuật toán s có từ 3 đến 5 bit (m = 3 +5), cho phép thực hiện tới32
hàm khác nhau.

b) Vi mạch A LU
Vi mạch 74LS181 là một ALU tiêu biểu có ký hiệu logic như hình 5.45a và bảng chọn thuật toán
hình 5.45b.

Các lối vào chọn Các thuật toán

74LS181 thuậỉ toán

S3 S2 S1 so M = 0 (arithmetic) M = 1 (logic)
6
50
0 0 0 0 F = A minus 1 plus CIN F = A’
5
51 G o 17
4 15 0 0 0 1 F = A . B minus 1 plus CIN F = A’ + B’

3 0 0 1 F = A . B’ minus 1 plus CIN F = A' + B


S3
8 14 0 0 1 1 F = 1111 plus CIN F = 1111
M A = B
7 0 1 F = A plus (A + B’) plus CIN F = A '. B'
CIN
_2___ q 9 ____ 1 F = A . B plus (A + B’) plus CIN F = B’
AO F0 0 1
1 0 F = A minus B minus 1 plus CIN
BO 0 1 1 F = A © B'
23 0 Q 10
A1 F1 0 1 1 1 F = A + B’ plus CIN F = A + B'
22 0
B1 1 0 F = A p lu s (A + B ) plus CIN F = A’ . B
21 0 p11
A2 F2
1 0 1 F = A plus B plus CIN F=A© B
20 0
B2
q 12 1 0 1 F = A . B‘ plus (A + B) plus CIN F=B
19 0 A3 F3
18 Q 1 0 1 1 F = A + B plus CIN F=A + B
B3
COUT 1 1 F = 0000
F = A plus A plus CIN
1 1 1 F = A . B plus A plus CIN F = A . B'
a) b) 1 1 1 F = A . B' plus A plus CIN F =A .B
1 1 1 1 F = A plus CIN F=A

Hình 5.45. a) Ký hiệu logic; b) Bàng chọn thuật toán cùa ALU 74181.

123
CO
GO
PO C1
G1
P1 C2
G2
9 C 12
P2 C3
JO
G3 G
P3 p

S[0-2] -
A [0-15 ] -
B[0-15 ] -

so SO
S1 51
Ũ 13 /G 2
S2 G 52
n 14 /P 2
C IN p C IN
AO AO 8 F8 /
F0 FO
BO BO
A1 9 F1J A1 9 F9 /
F1 F1
B1 B1
A2 A2 11 F10 y
F2 11 F2y F2
B2 B2
A3 12 F3 y A3 1? F11 /
F3 F3
B3 B3
U1
ALU2

74LS 381

SO SO
sSl S1 S1
S2 G S2 G
CIN p C IN p
AO
R1? 4 FO
BO
s A13 1 A1
9 F5y 9 F13 >
B13 7 F1
B1
V A14 19
11 F6/ A2 11 F 14y
B14 18 F2
B2 B2
V A15 17
12 F7/ A3 1? F 15 >
B15 16 F3
B3 B3

—F [0 -1 5]

Hình 5.46. Nối táng 4 vi mạch ALU (74LS381) bằng vi mạch logic nhớ song song Lookahead Carry 74LS182.

M ột vài chú thích về ALƯ - 181 như sau;


- Hai kênh vào toán hạng 4 bit A , B.
- 5 lối vào chọn thuật toán gồm s = S,) Sị Sj s , và M . 16 thuật toán số học nhị phân được
chọn khi M = 0 và 16 thuật toán logic được chọn khi M = 1.
- Các ký tự A , B, F trong bảng c ó ý nghĩa là: A và B là 2 từ nhị phân toán hạng 4 bit, F là
từ nhị phân 4 bit của hàm ra hay kết quả phép tính. Ký hiệu A \ B ’ thay cho A , B .
A = A 3 A 2 A , A o; B = B j ¿2 B| B,,; F = F3 F2 F, F0.
- Đ ối với phép tính logic (M = 1) thì dấu là phép A N D dấu "+" là phép OR.Hàm F, ở
đầu ra chỉ là kết quả phép tính đối với 2 bit số liệu vào tương ứng Aj, Bị. Phép tính logic không
c ó truyền nhớ giữa các tầng d o đó Cin được bỏ qua.

124
- Đ ối với phép toán số học thì có truyền nhớ giữa các tầng nên Cin được đưa vào tầng đầu
(LSB). Có thể m ờ rộng, tức có thể nối tầng các ALU khi cần thực hiện phép tính nhiều hơn 4 bit
bãng cách sử dụng c J theo kiểu nhớ nôi tiếp, còn các đường chọn chức năng M, S|) Sj S2 Sị,
hoạt động song song đối với tất cả các ALU trong chuỗi nối tầng. Các hàm số học lạ, chảng
hạn “A. B plus (A + B) plus Cị„” hầu như không có trong thực tế.

Chú ý là ký hiệu logic hình 5.45a có các lối vào, ra số liệu đểu là tích cực thấp: A , B và
F.
ALU - 181 có thể sử dụng cho các toán hạng vào tích cực cao, tuy nhiên khi dùng một ALU cụ
thể cần xem báng lựa chọn thuật toán của nó.
- A L U có một lối ra so sánh A = B, lối ra này là hờ collector do đó khi nối tầng nhiều
ALU thì các lối ra A = B được nối với nhau.
- ALU 74181 cho phép nối tầng kiểu nhớ nối tiếp sử dụng các lối vào ra c ,n/c„ul, hoặc nối
tầng theo kiểu nhớ song song sứ dụng các lôi ra p, G đế nối với vi mạch logic nhớ song song.
c) V í d ụ n ố i tầ n g A L U bằng v i m ạch lo g ic n h ớ son g song
Hình 5.46 là ví dụ cách nối tầng 4 ALU 74LS381 (có cấu trúc và chức nãng tương tự
74LS181 nhưng đơn giản hơn) dùng một vi mạch logic nhớ song song 74LS182.

5.7. MẠCH PHÁT VÀ KIEM t r a t í n h c h a n /l ẻ


Trong các hệ thống kỹ thuật số khi truyền số liệu có thể có sự cô' mạch hoặc nhiễu điện từ làm
sai lạc thõng tin, thường là một bít thông tin nào đó bị thay đổi giá trị (1 thành 0 hoặc 0 thành 1).
Có nhiều phương pháp phát hiện và hiệu chình lỗi. Phần này giới thiệu phương pháp đơn
giản nhất mà hữu dụng, đó là phương pháp parity.

5.7,1. Nguyên lý phát bit chẵn/lẻ và kiểm tra tính chẵn/lẻ của một nhóm bít
Khi truyền đi m ột từ thông tin, người ta gán thêm vào từ thông tin đó một bit (có giá trị 0
hoặc 1) để làm cho tổng số bít bằng 1 dược truyền đi là một số chẵn hoặc một số lé.

Hình 5.47a) Mạch phát bit parity P; b) Mạch phát và thu 4 bit thông tin + 1 bit parity.

125
Bít gán thêm gọi là bit kiểm tra chẩnAẻ p (bit parity). Bit p này được tạo ra từ các bit thông
tin nhờ một mạch EX O R có các tín hiệu vào là thông tin cần truyền đi tín hiệu ra là bit parity
p. Hình 5.47 là m ạch tạo bit p gồm 4 lối vào A, B, c , D và một lới vào p*.
Tín hiệu ra của X O R 3, z = 1 chỉ khi tổng các bit 1 cùa A B c D là số lè ngược lại z =0
khi tỏng các bit 1 cùa A , B, c, D là số chẵn. Nếu cho p* = 0 thì trong trường hợp lẻ ta có p = 0,
trong trường hợp chẩn ta có p = 1. V ậy, với p* = 0, mạch phát bit parity p ờ hình 5.47a bảo
đảm tính lẻ của thõng tin 5 bit (4 bit dữ liệu A , B, c, D và bit P). Tác dụng cùa m ạch phát bit
parity được minh họa qua hệ mạch phát và thu 4 bít thông tin hình 2.47b.

Ở phía phát người ta sử dụng m ột mạch tạo bit p (hay còn gọi là m ạch phát bit parity) có 4
lối vào số liệu A, B, c , D và một lối vào parity p*. Trong ví dụ này p* = 0, còn bit parity được
tạo ra là p,. P| được gửi lên đường truyền cùng với 4 bít số liệu A , B, c , D.

Ở phía thu người ta cũng sử dụng m ột m ạch tạo bit parity nhưng được gọi làmạch kiểm tra
parity, nó cũng có 5 lối vào, trong đó 4 lối vào dữ liệu vẫn là A , B, c , D , còn lối vào p* sẽ nhặn
bít p, đã được phát đi. M ạch kiểm tra với 5 bít vào sẽ tạo ra một bít kiểm tra parity P2.
Trường hợp tổng các bit 1 của A , B, c , D là chẵn thì P| = 1 d o đó nếu truyền không có lỗi
thì tổng các bit 1 cùa A , B, c , D , p, là m ột số lẻ nên P2 = 0, nếu c ó lỗi thì tổng các bit 1 cùa
chúng là một số c h ỉn nên P2 = 1.
Trường hợp tổng các bit 1 cùa A, B, c , D là lẻ thì P| = 0 do đó nếu khi truyền không có lôi thi
tổng các bit 1 của 5 bit A, B, c , D, P| là sô' lẻ nên P2 = 0, có lỗi thì tổng các bit 1 cùa chúng là số
chẵn nên P2 = 1.
Vậy trong cả 2 trường hợp khi có P2 = 0 là không lỗi, khi có P2 = 1 thì có thể khẳng định là
c ó lỗi (một bít nào đó trong 5 bít phát đi bị đảo).

5.7.2. Vi m ạch kiểm tra chẵn lẻ và ứng dụng


Các vi mạch kiểm tra chẵn lẻ thông dụng là: Am B2S62 (9 bit); A m 93S48 (12 bít).Dưới
đây chi giới thiệu vi m ạch 74L S280 và m ạch ứng dụng cùa nó.
Hình 5.48a là ký hiệu cùa 74L S280. V i mạch này c ó 9 lối vào số liệu l a A B C D E F G H
I, một lối ra chẩn EV EN , m ột lối ra lẻ ODD.

74LS280

a) b)

Hinh 5.48à) Mạch nguyên lý; b) Ký hiệu logic của 74LS280.

126
úng dụng cùa 74LS280 kiểm tra các byte số liệu cùa một chip nhớ trong hệ thống
M icroprocessor đuợc m ô tá ờ hình 5.48c. Hoạt động kiểm tra lỗi bít trong chip nhớ được cắt
nghĩa sơ lược như sau:

Ờ thao tác ghi (W R = 1) một byte số liệu từ data bus (D [0 - 7]) dược đưa tới các lối vào
của 74L S280 để tạo bit parity PI. Byte số liệu cùng với PI được ghi vào chip nhớ. Lúc ghi, do
RD = 0 nên lối vào I của 74LS280 la RP = I = 0.
D o đó mạch sẽ phát bit kiếm tra PI đê' bào đám tính chẩn cùa 9 bit ghi vào bộ nhớ (gồm 1
byte dữ liệu và bit kiểm tra PI).

ơ thao tác dọc, RD = 1, byte dữ liệu được đưa vào bộ đệm 3 trạng thái 74LS541 rồi trá vé
Databus đồng thời quay vẻ 74LS180. Lúc này, bít kiểm tra PI trong bộ nhớ, qua đầu POUT
cũng được quay trở lại đầu I cùa 74LS280.
Nếu 9 bit khi đọc ra vẫn bào đám tính chán (nghĩa là không có bit lỗi) thì bit kiểm tra PI = 0,
đầu ra cổng A N D - U2 cũng bằng 0. Nếu khi đọc ra có 1 bít lỗi, thì parity 9 bit trờ nên có tính lè,
và P1 = 1. Đầu ra cống A N D - U2 cũng sẽ bằng 1, báo hiệu có bit lỗi khi đọc (ERROR = 1).

D[0-7)
74LS04

U3
74LS280 Memory Chips
^D0 8A READ G1
sD1 9 B WRITE
19
G2
SD2 10 DO, DIÑO DOO 2
c DOUTO A1 Y1
SD3 11 D01 3 17 D.
D EVEN DIN1 DOUT1 A2 Y2
SD4 12 D2 D02 4 16 02,
E DIN2 DOUT2 A3 Y3
\D5 13
F ODD DIN3 DOUT3
D03 5 A4 Y4 15 ĨỄ
vD6 1 D04 6 A5 14 D4,
G DIN4 DOUT4 Y5
sD7 2 H D05 7 13 D5/
DIN5 DOUT5 A6 Y6
RP 4 D06 8 A7 12 D6,
I DIN6 DOUT6 Y7
11
DOUT7 D07 9 A8 D7y
U1 U4 DIN7 Y8
PIN POUT

PO

Hình 5.48c. Mạch phát và kiểm tra parity các byte số liệu của một chip nhớ trong hệ thống Microprocessor.

Chú ý là ví dụ trên đây để đơn giản đã không trình bày các thao tác địa chi, do đó cũng
không vẽ bus địa chỉ.

127
BÀI TẬP CHƯƠNG 5

5.1. Vẽ một mạch cộng song song gồm các bộ cộng FA thực hiện phép cộng 2 số nhị phản
A = 00111 và B = 10101'
5.2. Trên các lối vào cùa vi m ạch cộng 74L S83A có các dãy bit như sau:
A , : 10010110 A 2 : 1 1 1 01000 A , : 00001010 A 4 : 10111010
B, : 11111000 B ,: 1 1 0 01100 B , : 10101010 : 00100 1 0 0
Hãy cho biết các dãy bit ra, với lưu ý là bít tận cùng bên phải là bit vào đầu liên.
5.3. Trẽn các lối vào cùa vi m ạch so sánh 7 4 8 5 có các dãy bít sau:
A „ : 11001 A , : 01100 A 2 : 01111 A ,: 11110
B„: 0 1 0 1 0 B, : 0 1 1 1 0 B, : 11001 B ,: 01001
Hãy vẽ dạng xung tại các lối ra A > B; A = B; A < B.

5.4. Trên các lối vào cùa vi mạch giải mã BC D/DEC 7 4 4 2 A có các dãy bít sau (bit tận
cùng phái là bit dầu tiên):

A „ : 000010001 A , : 0 0 ]1 0 0 1 1 0 A 2 : 010101010 A , : 100010000

Hãy vẽ đồ thị thời gian xung trên các lối ra cùa 7442.

5.5. Vi mạch Encoder 741 4 7 có mức L ớ các chân 2, 5 và 12. Hãy cho biết các mã BCD
trên các lối ra nếu các lối vào còn lại ở mức H.

5.6. V ẽ mạch biến đổi 10 bit mã Gray sang nhị phân:


a) 1010000000; b) 001 1 0 0 1 1 0 0 ; c ) 1111000111; d) 0 0 0 0 0 0 0 0 0 1 .

5.7. Thực hiện các hàm logic tổ hợp sau bàng vi mạch M U X 8

F, = I xy/,(2, 3, 4, 5, 8, 9, 14, 15); F2 = I , y„(0, 4, 5, 7, 10, 13, 14, 15)

5.8. Hãy dùng 2 vi mạch M U X 4 và 1 vi m ạch M U X 2 để thành lập m ột m ạch M UX 8


(yêu cầu vẽ mạch và lập báng trạng thái cùa m ạch).

5.9. V ẽ đồ thị thời gian xung trẽn lối vào Data in và trên các lôi ra cùa vi mạch 74154 làm
việc ớ c h ế độ DKM UX nếu:

- Các lối vào chọn sô liệu (địa chi) thay đối mã nhị phân (từ 0 0 0 0 đến 1111).

- Số liệu vào nối tiếp, là mã BCD cùa số thập phân 2 4 6 8 với các bít vào đầu tiên là dãy 4
bit mã BCD của sô 8 thập phân, tiếp đến là dãy 4 bit mã BCD cùa sô 6, rồiđến 4 bit mã BCD
của số 4, cuối cùng là 4 bít mã BCD cua số 2.

5.10. rhiẽt kê một m ạch ROM 8 X 4 bit sử dụng các vi mạch M U X 8.


5.11. Sử dụng 2 vi m ạch giãi mã 7 4 1 5 4 và vi m ạch tạo dao động xung (ví dụ 555). vi mạch
đêm v .v ... đế thiết kế một thiết bị thấp sáng tuần tự và chu trình gồm 32 LED.

128
6

MẠCH LOGIC DÃY

M ạch logic dãy, hay còn gọi là mạch logic trinh tự (sequential logic), khác với logic tổ hợp
ở chỗ: Giá trị các biến ra cùa mạch dãy tại một thời điểm, không những phụ thuộc tổ hợp giá trị
các biến vào, mà còn phụ thuộc trạng thái bên trong mạch ở thời điểm đó. Mồi mạch logic dãy
có một số trạng thái bên trong xác định, và chúng được mã hóa bời một mã nhị phân n bít.
Mạch dãy phải có các phần từ nhớ để lưu giữ từ mã nhị phán biểu thị trạng thái bẽn trong hiện
hành của mạch. V ậy, về mặt cấu trúc thì khác với mạch logic tổ hợp, mạch dãy phải có các
phẩn tử nhớ và nó còn được gọi là mạch logic có nhớ.
Chương này nhằm giúp bạn đọc:
- Có kiến thức cơ bản về các Flip Flop những phần tử nhớ cần thiết cấu thành mạch logic dãy.
- Biết các phương pháp m ô tả hoạt động của mạch logic dãy.
- Nắm được phương pháp kinh điển tổng hợp mạch dãy từ các Flip Flop.
- Có kiến thức cơ bản về hai mạch dãy thông dụng nhất là thanh ghi dịch và bộ đếm. Các
úng dụng điển hình cùa chúng.

6.1. KHÁI NIỆM CHUNG VỀ CÁC FLIP FLOP


6.1.1. Định nghĩa
Flip Flop (FF) là mạch logic dãy đơn giản nhất. N ó có 1 hoặc 2 đầu vào điều khiển và 2
đầu ra. Tín hiệu trên hai đầu ra là bù nhau (Q và Q ). úng với tín hiệu xác định trên các đầu vào
điều khiển, đáu ra Q sẽ nằm ờ một trong hai trạng thái ổn định (mức thấp L hoặc cao H). Điểm
đặc biệt cùa FF là: khi không còn duy trì tín hiệu điều khiển tương thích trên các đấu vào, đầu
ra vẫn giữ nguyên trạng thái đã có. v ề phương diện này, ta nói FF là phần tử nhớ 1 bít.

6.1.2. Phân loại


Có thể phân loại Flip Flop theo sơ đổ hình 6. la.

Hình 6. u . Sơ đó phân loại Flip Flop.

129
Ở M- không đổng bộ, sự chuyển (lật) trạng thái cùa tín hiệu trẽn đáu ra khôn» được chuần
hoá theo thời gian. N ếu bỏ qua trễ truyền đạt, có thề coi FF lật trạng thái ngay sau tác động cùa
tín hiệu tương thích trẽn các đầu vào điều khiển.
Ở FF đồng bộ, sự lật trạng thái cùa FF được chuẩn hoá theo thời gian, nhờ các xung nhịp c (clock).
Flip Flop chí có thể lật đồng bộ với sự xuất hiện cùa xung nhịp c. Có ba cách đóng bộ hoá hoạt
động cúa FF:
- Đ ồng bộ hoá theo mức cao H: FF có thể lật trong suôi Ihời gian tồn tại xung nhịp (C = H =
1 logic), nếu có sự thay đổi thích hợp cùa tín hiệu điều khiến.
- Đ ồng bộ theo sườn xung: FF chi có thế lật trong khoảng thời gian rất hẹp (2 + 5ns) ứng
với sườn lên hoặc sườn xuống cùa xung nhịp c.
- Đ ổng bộ kiếu chính - phụ (Master - Slave): FF chi có thể nhận tín hiệu điều khiến trong
sườn lên cùa xung nhịp (hoặc trong suốt thời gian ứng với c = H = 1 logic), và nó sẽ phán ứng ờ
sườn xuống cùa c.

6.2. S-R FLIP FLOP


6.2.1. S-R FF không đồng bộ, tích cực ca o
Hình 6.1 b là cấu tạo cùa S -R FF không đổng bộ, tích cực cao. N ó gồm hai đầu vào diều
khiến s, R: Dáit đặt s (set) và đáu dặt hù R (R eset), quen gọi là đấu xoá. M ạch gổm hai cổng
NOR có phán hồi, hoạt động như sau:
N Q
y > - 1— s

Q L
> 1 °

c) d) e)

H in h 6 .1b, c d , e. c ấ u tạ o và k ý h iệ u c ủ a S - R F F k h ô n g d ó n g bộ.

Khi s = l , R = 0 logic, dầu ra Q = 0 logic và phán hổi vé đầu B. Ta có R = B = 0 logic nên


Q = I logic. Nếu không còn tín hiệu đặt s = 1, nghĩa là s = R= 0 logic; do có phán hói Q = 1
vể đấu A nên Q vẫn duy trì ớ Ologic và Q duy trì ớ 1 logic.
Khi đưa tín hiệu 1 logic vào đầu đạt lại (x o á ) R (S = 0, B ả n g 6.1.

R = 1), đầu ra Q = 0 logic và phán hồi về A nên Q = 1. Nếu s R Qt . Ý nghĩa


không còn tín hiệu xoá R = 1, nghĩa là s = R = 0; do có tín
0 0 Qt Lưu giữ
hiệu phản hói Q = 1 về đắu B nén Q vẫn duy trì ớ 0 logic.
1 0 1 Ghi 1 logic
Khi s = R = 1logic, cá hai đầu ra Q, Q đ é u ớ 0 logic.
ũ 1 0 Xoá
Bây giờ, cho cá hai tín hiệu điểu khiến quay về 0 logic (S =
R = 0): D o trễ truyền đạt hai cổng NOR khác nhau, ví dụ ?
Không xác
1 1
định
cống 1 có tốc độ hoạt động nhanh hơn cổng 2 thì Q = 1 và

Q = 0; ngược lại, nếu cổng 2 hoạt động nhanh hơn cổng 1 thi Q = 1 và Q = 0. V ậy. tó hơp điểu
khiến s = R = 1 cho tín hiệu ở đầu ra Q không xác định. N ó là tổ hợp cấm đặi vào.

130
Bảng 6.1 là bàng trạng thái, mồ tả hoạt động của S-R FF không đổng bộ, tích cực cao. Trong
báng, Q chi trạng thái đầu ra Q ớ sau thời điểm t, là thời điếm đặt tổ hợp tín hiệu điểu khiến s, R;

Q chí trang thái đầu ra ớ trước thời điểm t.

Để' dâm báo hoạt động tốt, tín hiệu điểu khiến s, R phải duy trì trong khoảng thời gian lớn
hơn tống trễ truyền đạt cúa hai cổng NOR. Hình 6.1c là ký hiệu cúa S -R FF không đồng bộ,
tích cực cao.

6.2.2. S-R Flip Flop không đồng bộ, tích cực thấp
Hình 6. ld , e tương ứng là cấu tạo và ký hiệu cùa S -R FF
không đồng bộ, tích cực thấp. Bàng 6.2.
Bạn đọc có thế tự thuyết minh hoạt động của mạch hình
s R Qr Ý nghĩa
6. ld, và rút ra báng trạng thái cùa S -R FF không đồng bộ,
tích cực thấp (báng 6.2). 0 0 ? Không xác định
Hiện nay, các s R FF được sử dụng đều là loại không 0 1 1 Ghi 1 logic
đổng bộ. Hơn nữa, ta thường có thể tìm thấy chúng trong các
1 0 0 Xoá
mạch J-K FF hoặc D -F F , với vai trò cùa một FF phụ thêm.
1 1 Qt Lưu giữ
6.3. J-K FLIP FLOP (J-K FF)
J-K FP là loại flip flop đổng bộ, có hai đầu vào điều khién J, K.
Ị Pre 100 %
50%

--*J/tsU
ĩỊ-
100%
50%

100%
50%
'J FL =
pd I

b)

Hinh 6.2. J-K FF đóng bộ theo mức:


a) Nguyên lý cấu lạo; b) Đó thị thời gian của các tín hiệu.

I lình 6.2 a là sơ đồ nguyên lý cấu tạo cùa J-K FF loại đổng bộ theo mức. Kiểu đồng bộ
này tuy không thích hợp với J-K FF, nhưng ta vẫn dùng để giái thích đơn gián hoạt động cùa
nó. Cơ sớ câu tạo và hoạt động của J-K FF hình 6.2a là S -R FF không đồng bộ, với hai đường
phản hổi đe:

s = J. Q .c và R = K.Q.C
X ung nhịp c có tác dụng chặn lại, hoặc cho phép tín hiệu điều khiến di vào S-R FF. Khi
c = 0 thì s = R = 0: Flip H op giữ nguyên trạng thái đã có. Khi c = 1 thì s = J. Q và R = K.Q:
Flip Flop hoạt động như một S~R FF, với J đóng vai trò đầu đặt s và K đóng vai trò đáu xóa R.
Tuy nhiên, nhừ hai đường phàn hồi nên khi J = K = 1 thì s = Q và R = Q : Nếu xung nhịp c

131
chỉ tổn tại trong thời gian nhỏ hơn trễ truyền đạt cúa Flip Flop thì FT sê lật trạng thái m ỗi khi
xuất hiện một xung nhịp. Bảng 6.3. Trạng thái mạch hinh 6.2a.
Một số J -K FF có thêm đầu dặt trước Pre Qt .
Pre CLR c J K
(Preset) và đầu xóa CLR (Clear) không đồng bộ.
Trên hình 6.2a thê’ hiện hai cổng OR vẽ nét đứt 0 0 0 X
X Q,
J-K
khúc, nối hai đáu này với S -R FF. Ta thấy: Khi FF
0 ũ 1 0 0 Qt
c = 0, mạch trở thành một S -R FF không đổng dóng
0 0 1 1 0 1
bộ, với hai đầu vào là s = Pre và R = CLR. Đ ể bô

mạch làm việc như một J -K FF đồng bộ theo mức 0 0 1 0 1 0 theo


mức.
thì phái đặt Pre = CLR = 0 logic. Có thể tóm tắt 0 0 1 1 1 Qr
hoạt động của J-K FF đồng bộ theo mức ở hình
6.2a, trong một bảng trạng thái (bảng 6.3). 0 0 0 X X Q,

Hình 6.2b cho giản đồ thời gian cùa tín hiệu 1 0 0 X X 1 S-R
trên các đầu vào/ra Flip Flop. Đ ế FF chuyển trạng FF.
0 1 0 X X 0
thái đúng, tín hiệu điều khiển J (hoặc K) phái thiết
1 1 0 X X cấm
lập ổn định trước khi xuất hiện xung nhịp c ít nhất
một thời gian ts, gọi là thời gian thiết lập (setup tim e). Sau khi xuất hiện xung c , J còn phái duy
trì ổn định ít nhất một thời gian th nữa, gọi là thời gian giữ (hold tim e). Tín hiệu ờ đầu ra Q sẽ lật
trạng thái chậm sau thời điểm xuất hiện xung nhịp c một khoảng thời gian t^, gọi là trễ truyền
dạt. Các thời gian t„ th, tpj tuỳ thuộc họ vi mạch: ts = 5 50ns; th= 1 -T 10ns, tpj = 10 100ns.
Cuối cùng, cần nhấn mạnh một nhược điểm của J -K FF loại đổng bộ theo mức: Nếu xung nhịp
c lổn tại trong thời gian lâu (lớn hơn trẻ truyền đạt tpj nhiều lần), thì khi J = K = ], FF liên tục lật
trạng thái sau mỗi khoảng thời gian tp, (hình 6.3). Kết quả là khi c trờ lại bằng 0 logic, đầu ra Q
không được xác định rõ sẽ ờ trạng thái nào (1 hay 0 logic). Đ ể
loại trừ nhược điểm này, có thể dùng các giải pháp:
-2 — Ị L
- Xây dựng J -K FF đồng bộ theo sườn xung nhịp c 2tpd'tp4
(JK edge - triggered flip flop).
- Xây dựng J -K FF kiểu chính - phụ (JK master - < r _ r ư ử i _
slave FF).
Hình 6.3. J-K FF đổng bộ theo mức
6.3.1. J-K FF đồng bộ theo sưòn xung nhịp liên tục lật trạng thái khi J = K = 1.

J-K FF đổng bộ theo sườn xung nhịp c chi tích cực ờ sườn lén hoặc ờ sườn xuống cùa nó.
N ói khác đi, tín hiệu ờ đầu ra Q chi có thể chuyển trạng thái theo các tín hiệu điểu khiển J, K
ổn định trong khoảng thời gian ứng với sườn lên, hoặc úng với sườn xuống cùa xung nhịp c .
Hình 6.4a là sơ đổ m ạch cùa J -K FF đồng bộ theo sườn xuống cùa xung nhịp (IC .74S 112).
M ạch có thêm đầu đặt trước (Preset) và đầu xóa (Clear) không đổng bộ, tích cực thấp: Khi
Preset = 0 logic và Clear = 1 logic thì Q = 1; khi Perset = 1 và Clear = 0 thì Q = 0. M uốn mạch
làm việc như một J -K FF đổng bộ theo sườn xuốn g thì phải đặt Preset = Clear = 1.
Hình 6.4b là đổ thị thời gian, m ô tà hoạt động cùa Flip Flop. Với c = 0 /1 . Flip Flop đểu
giữ nguyên trạng thái đã có, không phán ứng theo các tín hiệu điéu khiển J. K. Chi ờ sườn
xuống cùa xung nhịp c (C lock), flip flop sẽ phán ứng theo các tín hiệu J, K được giữ ổn dịnh ờ
trước và sau sườn xuống của c , một khoảng thời gian tối thiểu tương ứng là ts và th.

132
_ x _ J,K
Q
'.k XXXXXX ĨXXXX
^ x > -
1 c
X Preset
K I
u
Q
Clock

Hình 6.4. J-K FF đóng bộ theo sườn cùa xung nhịp: a) Sơ đó mạch; b) Đó thị thời gian cùa các tín hiệu.
Hình 6.5a, b, c tương ứng là ký hiệu J-K FF đổng bộ theo sườn lên, đổng bộ theo sườn
xuống; và J -K FF đổng bộ theo sườn lên, có đầu đặt trước và xóa không đồng bộ, tích cực thấp.
Hình 6.5d là bảng trạng thái của J -K FF đổng bộ theo sườn xung nhịp. Dấu t ( ị ) trong bảng ý
nói "chỉ à sườn lên" hoặc "chì ở sườn xuống" của c .
IP re c J K Qr
J _y J _0 Qr
0 X X

c_ c c_ 1 X X Qr
> —ũ > >
t ( ị) 0 0 Q t-
K_ _Q K _Q K
T(ị) 1 0 1
T(ị) 0 1 0

a) b) c) T(ị) 1 1 Qt-
d)
Hình 6.5. J-K FF đổng bộ theo sườn xung: a), b), c) Các ký hiệu, d) Bàng trạng thái.

6.3.2. J-K FF kiểu chính phụ


- Hình 6.6a là sơ đổ nguyên lý cùa J-K FF kiểu chính phụ (M aster-Slave) đông bộ theo
mức. Mạch gồm hai S -R FF, chính (M aster-chù) và phụ (Slave-tớ) hoạt động lệch nhau. Khi
c = 1, flip flop chính nhận được các tín hiệu điều khiển J, K và có phản ứng tương thích. Nhưng
lúc này, flip flop phụ coi như bị tách khỏi FF chính (do c = 0 ) , và đầu ra Q vẫn giữ nguyên mức
logic đã có. Khi c trờ về 0 logic, FF chính coi như bị tách khỏi các tín hiệu điều khiển ờ bên
ngoài; nhưng lúc này FF phụ lại được nó điéu khiển (do c = 1) và kết quả là Q = Qc, Q = Q t .

- Hình 6.6b là ký hiệu J-K FF kiểu chính phụ, đổng bộ theo mức. Flip Flop chi có thể
chuyển trạng thái ở sườn xuống của xung nhịp, theo tín hiệu điều khiển mà nó nhận được khi c
= 1. V ì vậy, để FF hoạt động đúng, các tín hiệu điều khiển J, K phải giữ ổn định trong SUỐI thời
gian tồn lại xung nhịp.

c a) b)

Hình 6.6. J-K FF kiểu chinh phụ, đống bộ theo mức: a) Sơ đổ nguyên lý; b) Ký hiệu.

133
- Hình 6.7a. là sơ đổ m ạch cùa IC .74110, loại J-K FF kiểu chính phụ, dồng bộ theo sườn
lên. Hình 6.7b là ký hiệu J -K FF loại này.

J— 1
c ---- >
K ---- 1

Hình 6.7. So đổ mạch (IC 74110) vá ký hiệu J-K FF kiểu chính phụ, đồng bộ theo sườn lên.

Điểm khác biệt của J -K FF chính phụ đồng bộ theo sườn lên, so với J-K FF chính phụ đổng
bộ theo mức, vừa trình bày ở trên là: Các tín hiệu điều khiển J, K chỉ có thể thâm nhập vào FF
trong khoảng thời gian rất ngắn, ứng với sườn lên của xung c . Đương nhiên J, K phải dược giữ ổn
định ờ trước và sau sườn lên của c , một khoảng thời gian tương ứng ts» 15ns và thX 5ns.
Đ ể việc ứng dụng được linh hoạt, mạch hình 6.7a (IC 74 1 1 0 ) có ba đầu đặt J,, J2, J,; ba đầu
xóa K|, K2, K,. Ta coi hai đẩu điều khiển J, K cùa FF là: J = J 1.J2 .JÍ ; K = Kj.K 2 .K 5.
Mạch cũng còn có đầu đặt trước (Perset) và đầu xóa (Clear) không đồng bộ, tích cực thấp.

6.3.3. Ví dụ
Vi dụ 6.1: Đ ể minh họa hoạt động của các loại J -K FF, hình 6 .8 vẽ dạng sóng ờ đầu ra Q
phản ứng theo dạng sóng của tín hiệu J, K, c trên các đẩu vào FF. Coi trễ truyền đạt tpd » 0.

Q —R — n ~ n — n ~ ñ
l i l i l i l i I I I I
1 r¡— h - L r K ^
¡ I I Il i l i
I I I Il i l i
L i_i_JT L i__ r
l i l i
l i l i

Hình 6.8. Phản ứng của các J-K FF theo tín hiệu ở cửa vào.

134
6.4. D-FLIP FLOP (D-FF)
6.4.1. C ác khái niệm về D-FF
D -F F chỉ có 1 đầu vào điều khiển D. N ó thuộc loại đồng bộ. M ỗi lán có xung nhịp c đi
tới, đẩu ra Q sẽ phàn ứng theo tín hiệu điều khiển D: Q = D. Vậy, D -F F hoàn toàn là phấn tử
nhớ 1 bít: N ó ghi tín hiệu D vào đầu ra Q khi có xung nhịp, và lưu giữ ở đó.

) b) c) d) I

Hình 6.9. D-FF: a) Nguyên lý thánh lập; b), c), d), e) Ký hiệu các loại D-FF.

Hình 6.9 b, c, d, e tương ứng là ký hiệu cùa D -F F loại Bàng 6.4.


đổng bộ theo sườn lên; đồng bộ theo sườn xuống; đổng bộ Loại D-FF c D <v
theo mức; và kiểu chính-phụ, đồng bộ theo sườn lên. ở loại
0 X Qr
D -FF đồng bộ theo mức còn gọi là mạch chốt-latch (hình Đồng bộ
theo mức
1 0 0
6.9d), tín hiệu D có thể thâm nhập vào flip flop trong suốt thời
1 1 1
gian tồn tại xung nhịp. V ì vậy, để latch hoạt động đúng, phải
giữ tín hiệu D ổn định trong cả thời gian có xung nhịp c . Bảng 0 X <v
Đổng bộ
6.4 chỉ rõ hoạt động cùa D -F F đồng bộ theo mức (latch) và D - 1 X Q,-
theo sườn
FF đổng bộ theo sườn xung nhịp (sườn lẽn hoặc sườn xuống). xung í(ị) 0 0
Cũng như J-K FF, D -F F thường có thêm đầu đặt trước t ( ị) 1 1
(Preset) và đẩu xóa (Clear) không đổng bộ, tích cực cao hoặc
tích cực thấp.
Có thể thành lập D -F F từ J K FF. Hình 6.9a là cách nối J-K FF đồng bộ theo sườn lên, để
có được D -F F đồng bộ theo sườn lên.

6.4.2. v í dụ 6.2
Hình 6 .1 0 vẽ dạng sóng ở đầu ra Q, phản ứng theo sóng các tín hiệu D , c trẽn cửa vào của
ba loai D -FF.

F ì— n

Hình 6.10. Phản ứng của các D-FF theo tín hiệu ở cửa vào.

135
6.5. T-FLIP FLOP (T-FF)
T -F F là loại chỉ có m ột đẩu vào điều khiển T. M ỗi khi có xung vuông tới đầu này, FF đều
chuyển trạng thái. Có hai loại T -FF : Loại tích cực theo sườn lên (c ó ký hiệu như hinh 6.1 la),
và loại tích cực theo sườn xuống (hình 6.1 lb).

_Q
II I t I ( II II I *
1 1 l i I I I I « I ______I *
T_ T
—o >
Q(t)
>
Q
Q ( i)

Hình 6.11. T-FF: a), b) Các ký hiệu; c) Phàn ứng của T-FF theo tín hiệu ở đáu vào T.

Hình 6 .11c cho ví dụ về phản ứng của T -F F


tích cực theo sườn lên ( t ) , và loại tích cực theo
sườn xuống ( ị ) , theo tín hiệu T ờ đầu vào. Ta thấy,
nếu ở đầu vào T là dãy xung vuông với chu kỳ lặp
T, ta sẽ nhận được ờ đầu ra Q dãy xung vuông với
chu kỳ lặ p 2 t. V ậy, có thể dùng T -F F để chia đôi
tẩn sô' một dãy xung vuông.
Thường T -F F được hình thành từ J -K FF,
hoặc từ D -F F. Hình 6 .1 2 chỉ rõ cách nối J -K FF và
D -F F , để có được T -FF .

6.6. CÁC VI MẠCH FLIP FLOP Hình 6.12. Hỉnh thánh T-FF từ J-K FF hoặc từ D-FF

Hai loại vi m ạch FF thông


dụng nhất là các vi m ạch J -K FF Bắng 6.5. Bảng trạng thái cùa IC 74LS11 2 ,74LS76.
và D -FF.
Các đẩu vào Đầu ra Chú
Các J-K FF là những FF vạn Q ,. thích
Pre CLR CLK J K
năng, vì ta cũng có thể sử dụng
0 1 X X X 1 S-R
chúng như S -R FF không đổng bộ,
1 0 X X X 0 FF
D-FF, hoặc T-FF. Dưới đây là vài không
1 1 X X X ° r
vi mạch J-K FF họ TTL và CMOS. đóng
Không xác
0 0 X X X bộ
- IC 74LS112, 74LS76: M ỗi đinh (cấm)
chip gồm 2J-K FF đổng bộ theo 1 1 0 X X ° t- J-K
sườn xuống xung nhịp CLK. M ỗi X X Qr FF
1 1 1
đóng
FF có đầu vào đặt trước P r e , và 1 1 1 1 0 1
bộ
1 1 ị 0 1 0
đầu xóa CLR không đổng bộ, theo
1 1 1 Q |- sườn
tích cực thấp. Bàng 6.5 chì rõ hoạt 1 \
0 xuống
động cùa FF. 1 1 i 0 Qt

136
Hình 6.13a là ký hiệu theo chuẩn IEEE/ANSi của IC 74 L S 1 12. Trẽn hình vẽ còn ghi số thứ
tự chân cùa IC.

1 Pre - ~ s Bảng trạng thái 74LS376


CLR__Ci
>c
1CLK — Û > c *1 nj Đẩu vào chung Đầu vào Đầu ra
1J -----

F
ỔI
— 1Q CLR CLK J Qt .
11~
C L- Rj -^
f R 1K —* K
2 Pre j û s 2J ----- 2Q 0 X X X 0
2J - li -2— 2Q 2K —^
3J ----- 1 t 0 1 Q t
2CLK I I > c — 3Q
2K 12 3K —^ 1 t 1 1 1
¿ -2 Q 4J ----- — 4Q
2 CLRH R 4K —^ 1 t 0 0 0
74LS112 74LS376
1 t 1 0 °T
a) b)
Hình 6.13. Các vi mạch J-K FF, họ TTL c) 1 0 X X

- IC.74LS376: Trong “chip” gồm 4 J-K FF. Đầu xóa CLR và đầu xung nhịp CLK là chung
cho cả bốn FF; các đầu vào K là tích cực thấp (hình 6.13b). trinh 6.13c là báng trạng thái, mồ tá
hoạt động của FF.
- Các vi mạch J -K FF họ CMOS: IC 4027, gồm 2J-K FF kiểu chính-phụ; IC.4095 có một
J-K FF kiểu chính - phụ.
Các vi mạch D -F F họ TTL và CMOS: Mỗi “chip” thường có 4, 6, 8 D -F F , làm nhiệm vụ
các thanh ghi (xem m ục 6.11.1).

6.7. ỨNG DỰNG FLIP FLOP


Flip Flop là những phần tử cơ bản cấu thành các mạch logic dãy, sẽ xét sau. Ở đây chi đề
cập vài ứng dụng phổ cập khác của FF.
1. Dùng FF để lưu giữ tín hiệu điều khiển. Thường tín hiệu điêu khiển chỉ xuất hiện trong
một thời gian rất ngắn; ta phải dùng FF để lưu giữ nó theo ý muốn.

Tia
hồng ;
ngoại

Hình 6.14. Mạch báo động.

Hình 6 .1 4 là sơ đồ nguyên lý mạch báo động khi có trộm đột nhập. Mạch gồm hai phần:
M ạch còi báo động và mạch phát hiện trộm. Mạch báo động gồm vi mạch định thời 555, nôi
theo sơ đồ mạch phát dãy xung vuông, tần số khoảng 2 k lỉz (xem mục 9.4.2). Dãy xung này

137
điều khiển sự đ óng/m ở của khóa tranzito 2N 3055, làm còi kêu. Tín hiệu ờ dầu ra Q cùa S- R H-
đưa vào chân R eset số 4 mạch 555. Khi Q = L < 0,7V , mạch bị xóa không phát xung. Chi khi
Q = H s 10V, m ạch mới phát xung ở đầu ra 3. Photo-tranzito T , dùng phát hiện trộm. Bình
thường Tộ dẫn điện nên s = H ~ 11V và Q = L a ov, mạch 555 không phátxung. Khi c ó trộm
đột nhập qua cửa, tia hổng ngoại chiếu tới Tậ tạm thời bị che khuất, T<|> không dãn. s= L *
1 V -» Q = H = 10V. M ạch 555 phát dãy xung vuông 2kHz làm còi kêu. N hờ c ó S -R FF nén tín
hiệu báo động được duy trì, cho tới khi có người nhấn vào nút ấn N đưa Q về mức thấp L, ngắt
báo động.
2. Dùng S -R FF để loại bỏ hiện tượng “nẩy”
của khóa cơ khí. Khi dùng khóa chuyển mạch cơ
iK Q H
khí để thay đổi mức logic cùa biến Q (hình
6.15a); dao động cơ của tiếp điểm khi chuyển
mạch sẽ gây ra một chuỗi xung không m ong
muốn, trước khi Q đạt mức logic ổn định mới 1
(hình 6.1 5b). Hiện tượng này gọi là sự “nẩy” cùa +5V
khóa cơ khí.
Hình 6.15c là mạch chống “nẩy” dùng S-R
H i
s Q
FF tích cực thấp. Khi khóa K chuyển m ạch, đầu
ra Q sẽ chuyển trạng thái hầu như tức thời. Đ ể có
được S -R FF ờ hình 6.14, 6.15; ta dùng 2 cổng
N A N D họ CMOS hoặc TTL, nối theo hình 6.1d.
3. Dùng T- FF thể chia đôi tần số của một Hình 6.15. Hiện tượng "nẩy" và “chống" cùa khóa cơ khí.
dãy xung vuông (xem mục 6.5).
4. Dùng J-K FF hoặc D -F F có đầu vào đặt trước và xóa không đồng bộ (ví dụ các IC họ
CMOS: HEF 4 027B , HEF 4013B ) để tạo lập mạch phát xung đơn (xem mục 9.1.2).

6.8. TỔNG QUAN VỂ MẠCH LOGIC DÃY


1. M ỗi mạch logic dãy được đặc trưng bởi một số trạng thái bẽn trong xác định. Tại một thời
điểm mạch nằm ờ m ột trong các trạng thái bên trong này, tương ứng với tổ hợp giá trị nào đó cùa
các biến vào, và cho ở cửa ra tổ hợp giá trị các biến ra xác định. Hình 6.16a là sơ đổ khối mạch
dãy: N ó gổm n biến vào (X| + x „ ), m biến ra (y, + ym) và p trạng thái bên trong (S| Sp).
Khi có ít nhất 1 biến vào thay đổi giá trị, mạch dãy sẽ chuyển từ trạng thái bén trong này
sang trạng thái bên trong khác; đổng thời cho một trạng thái ra (tổ hợp giá trị các biến ra y, +
ym) tương ứng. Nếu ta mã hóa các trạng thái bên trong bằng dãy nhị phán k bít Xị|, xl2,...x lk, thì
khi thay đổi tổ hợp giá trị các biến vào, các bít Xị| + x,k sẽ thay đổi không chi phụ thuộc tổ hợp
giá trị mới cùa các biến vào, mà còn phụ thuộc giá trị của chính chúng trước đó. Vậy, có thể coi
mạch logic dãy là một mạch logic lổ hợp cỏ pliàn hồi (hình 6 .16b). Nó gồm các biến vào độc
lập X, -T- x„ và các biến vào phụ thuộc gọi là các biến trong x¡| + X;k. M ỗi tố hợp giá trị các biến
trong sẽ mã hóa một trạng thái bên trong của mạch dãy. Tại thời điểm t, với một Irạng thái vào
xác định (X|, x 2 x ir Xị2 „.. Xịk |t ), m ạch sẽ cho một trạng thái ra ( y , , y 2,... y m|m ; tpj là

trễ truyền đạt của m ạch) và trạng thái bèn trong tiếp theo (x ¡!, Xị2 x¡k I ).

138
c)

Hình 6.16. Mạch logic dãy: a) Sơ đó khối; b), c) cấu trúc mạch dãy.
2. Khi m ô tà hoạt động mạch logic dãy, ta thường đặc trưng mạch bằng các tập trạng thái
sau (còn gọi là các vectơ trạng thái):
Tập trạng thái vào độc lập X {X,|, X ,,..., X N_|}. M ỗi phẩn tử X; của tập, ie ( 0 , 1, 2 ,..., N -
1), là một tổ hợp giá trị các biến vào độc lập. M ạch có n biến vào độc lập X| + xn thì tập X có
thể có số phần tử tối đa N m„ = 2". Ví dụ, với hai biến vào độc iập Xj, x2 ; số phần tử tối đa có thể
có của tập X là X,, = 0 0 , X , = 0 1 , x 2= 10, x , = 11.
Tập trạng thái la Y { Y|), Y |„ . YM_!}, trong đó các phẩn tử Yj e Y chính lả những tổ hợp
giá trị các biến ra y„ y2..., ym. Với m biến ra, số phần tử tối đa có thể có trong tập Y là Mma, = 2m.
Tập trạng thái bên trong s {S||,Sl,...,Sp_|}. Mạch có k biến trong XM, x i2, .. .x ik, thì số phần
tử tối đa có thể có cùa tập s là Pm„ = 2k.
Với khái niệm về các tập trạng thái, cấu trúc mạch dãy ở hình 6.16b có thể chuyển vể hình
6.16c, trong đó biến trên cửa vào và cửa ra đều là các tập trạng thái. Mạch tổ hợp ờ hình 6.16c
là mạch không có trễ. Ảnh hưởng cùa trễ truyền đạt được biểu thị tập trung trên sơ đồ bằng các
khối trễ thời gian tpj.
Xét hoạt động cùa m ô hình mạch dãy ờ hình 6. ló c. Giả sừ ban đầu mạch nằm ở trạng thái
vào ổn định E„(X,, Sj), X ịE X , SjES. Tại thời điếm t|„ trạng thái vào độc lập chuyển từ X; sang
X^eX. M ạch tổ hợp không trẻ phản ứng tức thời theo trạng thái vào mới E |(X q, Sj) và cho ờ đầu
ra trạng thái bên trong mới S ,e S . Tuy nhiên, phải sau thời gian t^, đẩu ra khối trễ thời gian mới
có được trạng thái bên trong mới S| và mạch chuyển sang trạng thái vào E2(X l), S|). Mạch tổ hợp
không trễ lại phản ứng tức thời theo trạng thái mới này và cho đáp ứng Sre S . Sau trễ Ihời gian
tpj, mạch chuyển sang trạng thái vào E ,(X q, Sr). Nếu phản ứng cùa mạch tổ hợp không trễ theo
E ,(X q, s,) lại cho đáp ứng Sr, thì mạch dãy sẽ nằm ổn định ở trạng thái vào mới E ,(X q, Sr) này.
Nếu không, mạch sẽ tiếp tục chuyển trạng thái, để cuối cùng đạt trạng thái vào ổn định nào đó.
Trong phẫn tích hoạt động cùa mạch logic dãy ở trên, ta đã không hề đá động đến sự thay đổi
cùa trạng thái ra Yke Y . Đương nhiên phải ngầm hiểu là: Mỗi sự thay đổi trạng thái vào của
mạch, trạng thái ra sẽ thay đổi tương ứng, sau thời gian trễ tpj.

3. Mạch logic dãy có cấu trúc như hình 6.16b, c gọi là mạch logic dãy không đổng bộ. ở
mạch này, sự phản hổi cùa trạng thái bẽn trong mới về cửa vào, xảy ra chi sau trễ truyền đạt tpj và

139
không khống c h ế được. V ì vậy, khi trạng thái vào độc lập X e X thay đổi mạch thường phải qua
một sô' trạng thái không ổn định, rồi mới xác lập được trạng thái ổn định mới. Hơn nữa, mạch dãy
không đồng bộ rất nhạy cảm với nhiễu ữên các đáu vào. V ì vậy, chúng rất ít được sử dụng.
Thay vì m ạch không đồng bộ, người ta thường xây dựng m ạch dãy đồng bộ, có cấu trúc
như hình 6.17. Ta thấy, ờ m ạch dãy đồng
bộ, sự thâm nhập cùa trạng thái vào độc X
lập XịEX; và sự phản hồi của trạng thái
bên trong S jeS , chỉ có thể xảy ra đồng bộ
với sự xuất hiện của xung nhịp Clock. Chu
kỳ lặp T của dãy xung phải lớn hơn trễ
truyền đạt tpd. Ở m ạch dãy đồng bộ, không
còn có sự phân biệt trạng thái ổn định và £ - " _ j u ữ i_
không ổn định trung gian khi mạch chuyển Clock
trạng thái. M ạch cũng hạn c h ế được ảnh
Hình 6.17. Mô hình mạch dãy đồng bộ.
hưởng của nhiễu trên các đầu vào.

6.9. CÁC PHƯƠNG PHÁP MÔ TẢ MẠCH LOGIC DÃY


M ạch dãy được đặc trưng bởi ba tập trạng thái: Tập trạng thái vào độc lập X , tập trạng thái
bên trong s, và tập trạng thái ra Y. Quan hệ giữa các tập trạng thái được m ô tả bằng hai mô
hình toán: Mô hình Mealy và mô hình Moore. Cả hai m ô hình đều biểu thị bằng hai hàm logic:
- Hàm chuyến trạng thái bên trong. N ó xác định trạng thái bên trong tiếp theo s (t+At),
khi biết trạng thái bên trong hiện tại S(t) và trạng thái vào độc lập X(t):
S(t+At) = f[X (t), S(t)]
Trong đó At tượng trưng cho trỉ thời gian: Đ ối với m ạch dãy không đổng bộ thì At = t^;
đối với mạch dãy đổng bộ thì At = T = chu kỳ xung nhịp.
- Hăm ra xác định trạng thái ra cùa mạch. Ở m ô hình M ealy, hàm ra có dạng:
Y ( t + g = y[X(t),s(i)].
ở m ò hình M oore, hàm ra chỉ phụ thuộc trạng thái bên trong mạch:
Y ( t + g ) = y[S(t)].
Có hai phương pháp dùng để m ò tả các hàm trạng thái trên là phương pháp dùng bảng và
phương pháp graph.

6.9.1.Bảng trạng thái


Bảng trạng thái m ô tả hàm chuyển trạng thái và hàm ra của hai m ô hình M ealy và Moore.
Bảng 6.6 cho ví dụ về bảng trạng thái cùa m ô hình M ealy, đặc
trưng cho hoạt động cùa m ạch dãy, gồm hai trạng thái vào độc lập X ,, Bảng 6.6.
x 2; bốn trạng thái bên trong So-s- Sj và ba trạng thái ra Y , + Yj. X, X,
Dọc theo hai cạnh bảng là các trạng thái trong có thể có ờ thời điểm xét So S,/Y, yy,
t: s„ i 6(0, 1 ,2 , 3), và các trạng thái vào độc lập có thể xảy ra Xj, j s 1, 2.
Ở mỗi ò của bảng ghi trạng thái bên trong sê chuyển đến và trạng thái ra,
s, S/Y2 SA,
S2 SA, SJY,
tương úng vói Xj, S|.
Bảng 6.7 cho v í dụ về bảng trạng thái m ô tả hoạt động mạch dãy s, So/Y, SA,

140
theo m ô hình Moore. Mạch gổm 2 trạng thái vào độc lập X |, x 2; 5 trạng thái bên trong S()■=" S4'
và 3 trạng thái ra Y, + Ỵ,.
Ở m ô hình M oore, ứng với một trạng thái bên trong sẽ có một trạng thái ra xác định. Vì
vậy, dọc theo một cạnh bảng, ta ghi các cặp trạng thái trong và trạng thái ra có thể có ờ thời
điểm xét t. D ọc theo cạnh kia là các trạng thái vào
Bảng 6.7. Bàng trạng thái theo mô hinh Moore
độc lập có thể xảy ra ờ thời điểm t. Tại mỗi ô ghi
So/V, S,/Yj SA, SA, S./Y,
trạng thái bên trong sẽ chuyển đến S(t + ủt), tương
ứng với Xị, Sj ở thời điểm t(Xị e X, Sj e S). X, s, s, So s2 So
x2 s, s2 S3 s, s,
6.9.2. Graph trạng thái
Graph trạng thái m ô tả mạch dãy gồm hai tập: Tập đinh, ký hiệu bầng các vòng tròn; và
tập cung có hướng nối giữa các đình.
Ở graph trạng thái m ô tả mạch theo mô hình M ealy, tập đình biểu thị cho tập trạng thái
trong s của mạch. Trên m ỗi cung nối giữa hai đỉnh ghi trạng thái vào độc lập Xj e X và trạng
thái ra Yk e Y. Chiều mũi tên của cung chỉ hướng chuyển trạng thái bên trong. Hình 6.18a là
graph trạng thái của mạch dãy tương ứng với bảng trạng thái 6 .6 . 0 hình vẽ, trên cung nối giữa
hai đỉnh S|„ S| ghi X |, Y2, ta hiểu là: Khi xuất hiện trạng thái vào độc lập X], mạch sẽ chuyển từ
trạng thái trong s,) sang S| và trạng thái ra sẽ là Y 2. “Thòng lọng” ớ đỉnh Sj| chỉ rằng: Mạch
đang ờ trạng thái trong s„, nếu trạng thái vào độc lặp là X2, thì trạng thái ra sẽ là Y ,, nhưng
trạng thái bên trong không thay đổi, vẫn là s,|.

Hinh 6.18. Các graph trạng thái, lương ứng với bảng 6.6,6.7.

Đ iểm khác biệt của graph trạng thái xây dựng theo mô hình Moore, so với graph xây dựng
theo m ô hình M ealy là: Tập đình cùa nó biểu thị cả hai tập trạng thái bên trong và tập trạng thái
ra. Trên m ỗi đỉnh ghi cả trạng thái bên trong S; e s, lẫn trạng thái ra tương ứng Yk e Y. í lình
6 .1 8b là graph trạng thái của mạch dãy tương ứng với bảng 6.7. Nhìn trên hình vẽ ta thấy:
M ạch đang ờ trạng thái trong s,„ với trạng thái ra Y,; nếu trạng thái vào độc lập là X ,, mạch sẽ
chuyển sang trạng thái trong s, và trạng thái ra Yj.

6.9.3. Quan hệ giữa hai mô hình Mealy và Moore


Mỗi mạch logic dãy đều có thể m ô tả theo m ô hình M ealy hay m ô hình Moore. Giữa hai
mô hình có m ối quan hệ 1 -1 . Từ m ô hình M ealy có thể chuyển sang m ô hình Moore tuơng
úmg, và ngược lại. ơ đây không đề cập chi tiết tới nhiệm vụ này. N ói chung m ô hình M ealy có
số trạng thái bên trong ít hơn m ô hình Moore; nhưng mô hình Moore lại có hàm ra đơn giản
hơn mô hình M ealy. Tùy bài toán cụ thể mà chọn mô hình nào cho thích hợp.

141
6.10. TỔNG HỢP mạch LOGIC DÃY TỪ CÁC FLIP FLOP (FF)
6.10.1. Cấu trúc m ạch d ãy xây dụng theo cá c FF
Bước đầu tiên cùa tổng hợp m ạch dãy là: Từ bài toán diều khiển cho bằng lời, ta thành lập
sơ đổ khối và xác định ba tập trạng thái đặc trưng. Tiếp theo cần xây dựng được graph trạng
thái mô tả hoạt động của mạch. Không có quy tắc nào chỉ ra cho hai bước đi trên. V ậy, nhiệm
vụ tổng hợp mạch dãy ở đây chỉ là: Xuất phát từ graph trạng thái cho trước, hãy xây dựng mạch
logic sao cho mạch hoạt động thỏa mãn graph trạng thái đã cho.

X i£ X

Xi x2 . . . x„

Hình 6.19. Cấu trú c m ạch dãy kh ô n g đ ổ n g b ộ Iheo m ô hình Mealy.

Hình 6.19 cho cấu trúc m ạch dãy không đồng bộ, xây dựng từ các FF, theo m ô hình
M ealy. Biến trên đầu ra các FF chính là những biến trong Q |, Q 2,...,Q r mã hóa cho tập trạng
thái trong s.

Mạch kích thích ờ hình 6 .1 9 là một m ạch logic tổ hợp. N ó tạo các kích thích q;, i € 1, 2 ......
r, cho từng FF. Kích thích qi điều khiển các FF để có được trạng thái bên trong tiếp theo. Tùy
theo FF sử dụng là loại có m ột hoặc hai đẩu vào điều khiển, kích thích qi sẽ gồm một biến hoặc
hai biến. M ạch ra cũng là một mạch logic tổ hợp, nếu là m ô hình M oore thì mạch ra chỉ phụ
thuộc các biến trong Qi -i- Q r
Đ ể có được m ạch dãy đồng bộ, trong cấu trúc hình 6 .1 9 chỉ cẩn thêm dãy xung nhịp
clock cầm trịch hoạt động của m ạch. Các FF khi đó phải chọn loại đổng bộ. Các biến vào độc
lập X, 4- xn cũng phải thông qua các cổng lo g ic, đóng/m ờ theo clock, để thâm nhập vào mạch
kích thích và mạch ra.

6.10.2. Ví dụ 6.3
Hãy xây dựng mạch logic điểu khiển cơ cấu đưa bánh ra và cơ cấu trả lại tiền cùa m áy bán
bánh tự động. Giá chiếc bánh là 3000Ổ. Có thể mua bằng cách lần lượt đưa vào đồng tiền kim
loại 1000đ/2000đ. Không thể đưa vào đổng thời hai đồng tiển kim loại, nghĩa là để mua được
chiếc bánh, phải ít nhất có hai lần đưa tiền vào.

142
Các bước làm bài toán điều khiển này như sau.
Bước ì. Xây dựng sơ đồ khối mạch điều khiển, cừ a vào có hai biến X |, x2 ương ứng chỉ
hiện tượng có/không có tiền lOOOđ hoặc 2000đ đưa vào máy.
Tập trạng thái vào độc lập X có thể có tối đa bốn trạng thái: Xo, X |, x 2, x „ quy ước như sau:

o
o
II
x"
X1

X, = x1x2=01 X2= x 1x2=10 X3= x 1x2= 11

Không có tién Có 2000Ổ vào máy Có 1000Ớ vào máy Có đồng thời 1000đ, 2000Ổ vào máy.
đưa vào máy (không thể xảy ra!)

Cửa ra mạch điều khiển cũng có hai biến logic y ,, y2, tương úng điều khiển cơ cấu đưa bánh
ra và cơ cấu trả lại tiền. Tập trạng thái ra Y có thể có tối đa bốn trạng thái ra, quy ước như sau:
o
o

-<
-<

*<
V3= y 1y2= i i

II
II

o
o

<
Không đưa bánh ra Không đưa bánh ra, có trả lại tiến Đưa bánh ra, Đưa bánh ra,
không trả lại tién (không thể xảy ra!) không trả lại tién có trả lại tiền

Mạch điều khiển có ba trạng thái bên trong s,|, Sị, s,, biểu thị cho hiện tượng máy đã nhận
được bao nhiêu tiền đưa vào, theo quy ước:

S0 Si S2

Máy chưa nhận được tiền đưa vào (trạng thái ban đầu) Máy đã nhận được 1000đ Máy đã nhận được 2000đ

Hình 6.20a là sơ đồ khối của mạch điều khiển logic cần xây dựng.

Hinh 6.20. Sơ đó khói và graph trạng thái, vi dụ 6.3.

Bước 2. Xây dựng graph trạng thái m õ tá hoạt động của mạch. Từ ba tập trạng thái, với
những quy ước ờ bước 1, ta thành lập được graph trạng thái theo m ô hình M ealy, mô tả tất cá
các hoạt động có thể có cùa máy bán bánh tự động (hình 6.20b).
Đ ể làm rõ hình 6.20b hãy xét ý nghĩa của hai cung có hướng, nối giữa hai đỉnh S(, và S|,
làm ví dụ.
- Ở trạng thái trong ban đầu S||, khi chưa nhận được tiền vào ; nếu máy nhận được lOOOđ
(trạng thái vào độc lập x 2), mạch phải chuyển sang trạng thái trong S| (đã nhận được lOOOđ) và
cửa ra phải ờ trạng thái ra Y0 (khồng đưa bánh ra, không trả lại tiền).
- M ạch đang ờ trạng thái trong s, (đã nhận được lOOOđ). N ếu có 2000đ đưa vào máy
(trạng thái vào độc lập X ,), mạch phải cho trạng thái ra Y , (đưa bánh ra, không trả lại tiền);
đổng thời mạch phải chuyển về trạng thái trong ban đẩu S|>.

143
Bước 3. Mã hóa các trạng thái trong. Mạch có ba trạng thái trong- vậy phải dùng hai flip
flop để mã hóa theo bàng 6.8. Ta chọn FF có một đầu vào điều khiển D.
Bước 4. Tim các hàm của m ạch kích thích và mạch ra trong
cấu trúc hình 6.19. M ạch kích thích có hai đầu ra, kích thích cho Bàng 6.8. Mã hóa các trạng
các đầu vào điều khiển D |, Dj của hai FF: thái trong, ví dụ 6.3

Trạng thái Đấu ra FF


D|(t+tpd) = *.|[X(t), S(t)]; DjCt+t^) = M X (t), Sít)], là trễ
truyền đạt mạch kích thích. Các hàm kích thích X,, Xị phải bảo trong Q, Q,
đảm hai FF phản ứng sao cho hiạch chuyển sang trạng thái trong 0 0
s„
tiếp theo S(t+At).
s, 0 1
Hàm ra: Y it+ tjJ = cp[X(t), S(t)];
s. 1 0
tpj = trễ truyền đạt mạch ra. Hàm (p sẽ cho trạng thái ra, ghi
trên cung nối giữa hai trạng thái trong S(t) và S(t+At) của graph trạng thái.
Vậy, dựa theo graph trạng thái hình 16.20b, ta xây dựng được bàng chân lý 6.9 m ô tà các
hàm trên.
Bàng 6.9. Bàng chàn lý cùa mạch kích và mạch ra.

Biến vào Trạng thái Trạng thái Trạng thái trong Trang
Kích thích Biến ra
độc lập vào độc lập trong S(t) tiếp theo S(t+At) thái ra

*1 h X(t) Q,(t) 0 2(t) Q,(t+At) Q2(t+At) D ,( t+ g D; (t+g Y (H g y. y2

0 ũ Xo 0 0 0 0 0 0 Vo 0 0

0 0 x„ 0 1 0 1 0 1 Y„ 0 0

0 0 Xo 1 0 1 0 1 0 Y„ 0 0

0 1 X, 0 0 1 0 1 0 Y„ 0 0

0 1 X, 0 1 0 0 0 0 Y; 1 0

0 1 X, 1 0 0 0 0 0 Y, 1 1

1 0 x2 0 0 0 1 0 1 Y„ 0 0

1 0 x2 0 1 1 0 1 0 Yo 0 0

1 0 x2 1 0 0 ũ 0 0 y2 1 0

Bước 5. Từ bảng chân lý 6.9, chuyển sang bảng Các nô m ô tả hàm cùa các kích thích và
hàm cùa các biến ra (hình 6.21).

Di(t+tpd) Ũ2(t+tpd) y, y2
0 r D 0 0 0
£ J) 0 0 X 0 0 0 X 0

0 X 0 0 0 X 0 0 1 Ợ. rỊ 0 X 0
n
u X (x xì
n
X X X X
V
X X [x X X

0 0 sx V u 0 X 0 0 (1 X, 0 0 0 X 0

Q,(t) Q2(t) Q'<'> Q^t) Ql(t) Q2(t) Q,(t) Q2(t)

Hình 6.21. Bảng Các nô, chuyển từ bảng 6.9.

144
Bước 6. Dựa theo các bảng Các nô ỡ hình 6.21, rút ra các biểu thức logic tối giản m ô tà hàm:
D , = x l .Q 2(t) + x 2.Q ,(t).Q 2(t) + x ,.x 2.Q 1(t)

D 2 = x , . Q 1(t).Q 2(t) + x ,.x 2.Q 2(t)


y, = x 2Q ,( t) + x 2.Q2(t) + x ,.Q |( t)
y 2 = x 2.Q ,(t)
Từ các biểu thức logic trẽn, ta xây dựng mạch dãy đồng bộ dựa theo cấu trúc hình 6.19.
Kết quà được mạch điều khiển ờ hình 6.22.

Hình 6.22. Mạch điéu khiển trong vi dụ 6.3

Để mạch điều khiển hình 6.22 hoạt động đúng, thời gian duy trì tín hiệu X,, x2 và dãy
xung clock có liên hệ với nhau. Bạn đọc hãy tự suy ra m ối liên hệ ấy.

6.11. THANH GHI - THANH GHI DỊCH


6.11.1. Thanh ghi (Register)
Thanh ghi n bít là phần tử nhớ để lưu giữ n bít thông tin. Thục chất nó là một vi mạch gồm n D FF.
Hình 6.23a là cấu trúc thanh ghi 8 bit ba trạng thái, họ TTL (IC .74LS374). Hình 6.23b là
ký hiệu IEEE/ANSi của thanh ghi 8 bit, ba trạng thái - IC.74LS373. Các đầuđiều khiển LE
(Latch Enable) và OE (Output Enable) là chung cho cả tám D -FF.

Khi LE = 0, OE = 1: Thanh ghi coi như bị cách ly với bên ngoài.

Khi LE = 1, OE = 1: Dữ liệu được ghi vào thanh ghi; nhưng các đầu ra1Q-i- 8Q ở trạng

145
thái tổng trờ cao, coi như tách khỏi thanh ghi.

Khi LE = 0, OE = 0: Dữ liệu giữ trong thanh ghi được truyền tới các đầu ra 1Q - 8Q.

Khi LE = 1, OE = 0: Các đầu vào 1D + 8D coi như được nối thẳng tới các đáu ra 1Q *
8Q. Ta nói thanh ghi là “trong suốt” - transparent. Không phải m ọi thanh ghi đều là loại 3
trạng thái. Các vi mạch 74273 (thanh ghi 8 bít, TTL), CD 4 1 7 4 (thanh ghi 6 bít, CM OS) Ịà
những thanh ghi có đầu điều khiển “ghi” CK (clock) tích cực ờ sườn lên, và đầu điểu khiển
“xóa” CLR (clear) tích cực thấp. Ở sườn lên của CK (khi CLR = 1), dữ liệu trẽn các dầu vào
được ghi lên các đầu ra. Khi CLR = 0, nội dung ghi trong thanh ghi (trên các đầu ra) bị xóa.
Thanh ghi thường được dùng làm phần tử nhớ tạm thời trong quá trình xừ lý dữ liệu.

1Q
10 13
2Q
2 0 14
3D ^ 3Q
4Q
4 0 18
5Q
6Q
60 i \
7Q
70 7'
8D 8Q

74LS374 74LS373

a) b)

Hình 6.23. Các thanh ghi họ TTL.

6.11.2. Thanh ghi dịch (Shift Register)


Thanh ghi dịch là m ột thanh ghi, mà ta có thể điểu khiển để nội dung ghi trong nó dịch
từng bit sang phải hoặc sang trái, ứng với m ỗi xung nhịp (clock - CK).
Hình 6.24a m ô tả trạng thái trên các đầu ra của thanh ghi dịch 4 bít, dịch phải, sau từng
xung nhịp CK. Trên hình vẽ, ký hiệu P l, P2, P3 biểu thị cho giá trị logic (0 /1 ) đặt ờ đẩu vào nối
tiếp, trước khi điều khiển địch từng bít.

Vào Ra
nối tiếp — I nối titiếp
Ban đầu õ p .

\\\\\ Vào nối tiếp


(phải)
Sau xung CK l p, l
thứ nhất P2 V H ° ' 1p * Điều khiển Ị'
Sau xung CK
P2 P1 1 ~ Õ ~ |—
thứ hai P3

Hình 6.24. Thanh ghi dịch: a) Mô tả từng bước dịch của thanh ghi; b) Sơ đổ khối.

146
Hình 6.24b giới thiệu sơ đồ khối một thanh ghi dịch đa năng. Các bit dữ liệu có thế nạp
vào thanh ghi một cách tuần tự qua đầu vào nối tiếp; hoặc ghi đồng thời qua các đầu vào song
song. V iệc đọc số liệu trong thanh ghi cũng có thể thực hiện đồng thời qua các đáu ra song
song; hoặc đọc tuần tự qua đầu ra nối tiếp. Có thể điều khiển thanh ghi thực hiện phương thức
dịch trái hay phải. Đ ể hạn ch ế số chân ra của vi mạch, nhiều thanh ghi dịch không phải là thanh
ghi đa nãng: N ó có thể chỉ dịch theo một chiều; có thể chi có đáu vào nối tiếp và ra nối tiếp ...
a) N guyên lý tììành lập thanh g h i dịch
Thanh ghi dịch được xây dựng từ các D -F F (hoặc từ J-K FF). Giữa chúng đuợc nối với
nhau, sao cho: Đầu ra của FF thứ i nối với đầu vào điều khiển của FF liền kể ở phía trái hoặc
phía phải (tùy theo phương thức dịch là trái hay phải).
Hình 6.25 là sơ đồ nguyên lý một thanh ghi dịch 3 bít, dịch phải, ghi/đọc nối tiếp và song
song. Khi điều khiển = 0 logic, các cổng A N D số 1, 3, 5 đóng, số 2, 4, 6 mờ. Ở sườn lên cùa
xung nhịp CK, dữ liệu D , D2 D| trên các đấu vào //, được ghi lên các đầu ra Q , Q 2 Q|. Khi
điều khiển = 1, các cổng A N D số 1, 3, 5 mở, số 2, 4, 6 đóng. Mạch thực hiện dịch phái từng bit
sau mỗi xung CK. Sau 3 xung nhịp, nội dung đã ghi trong thanh ghi được đưa hết qua đầu ra
nối tiếp; đồng thời 3 bít dữ liệu đến tuần tự ở đầu vào nối tiếp cũng được nạp vào thanh ghi.

R a il

Vào II

Hình 6.25. cấu trúc Ihanh ghi 3 bit, dịch phải.

b) M ột s ố thanh g h i dịch
- Họ TTL: 7494: 4 bít, dịch phải, vào song song/nối tiếp, ra nối tiếp.
7495: 4 bít, dịch trái/phải, vào song song/nối tiếp, ra song song.
74164: 8 bit, dịch phải, vào nối tiếp, ra song song.
74198: 8 bit, đa nãng.
- Họ CMOS: 74HC164/74HCT164: 8 bít, vào nối tiếp, ra song song.
4015: Hai thanh ghi dịch 4 bít, dịch phải, vào nối tiếp, ra song song.
4 7 3 1B: Bôn thanh ghi dịch 64 bít, vào nối tiếp, ra nối tiếp. Công dụng của thanh
ghi này là làm trễ (trì hoãn) dữ liệu một khoảng thời gian bằng 64 chu kỳ xung
nhịp (clock).

147
80 T SREG
S1 23
CK=f
C L R if

RSIn -75—
D iX i
D2 - f
I T 02
D3 J -
8 03
D 4 ị
1 0 Q4
T 4 Q5 LSIn
0 6 17 -T6Qe CLR

K i° 7
Jffi
S In |i- l L
74198
T0 W
a) b)

Hinh 6.26. Thanh ghi dịch 74198: a) Ký hiệu; b) Nổi tầng hai IC.74198.

Hình 6.26a là ký hiệu IEEE/ANSi cùa thanh ghi dịch Bảng 6.10. Chức năng điéu khiển cùa
74198. N ó là thanh ghi dịch đa năng, dịch trái/phải, vào nối s „ s 0 trong IC 74198.

tiếp/song song, ra nối tiếp/song song. Đầu RSln, LSln tương S1 so Phương thức hoạt động
ứng là đẩu vào nối tiếp khi dịch phải và khi dich trái. M ạch có
0 0 Chặn xung Clock CK
đầu xóa C1R, tích cực thấp. Hai đẩu S l, so cho phép chọn
0 1 Dịch phải
phương thức hoạt động cùa mạch (bảng 6.10). Hình 6.26b là
cách nối tầng hai IC.74198 để được thanh ghi dịch 16 bít. 1 0 Dịch trái

1 1 Ghi song song


6.12. ỨNG DỤNG THANH GHI DỊCH
Dưới đây là m ột số ứng dụng điển hình của thanh ghi dịch.

6.12.1. Chuyển dữ liệu từ song song sang nối tiếp và nguọc lại
Hình 6.27 là sơ đổ nguyên lý dùng hai thanh ghi dịch SRG1 và SRG2 thực hiện trao đổi dữ
liệu giữa hai m áy tính 1 và 2. V í dụ máy tính 1 truyền dữ liệu sang máy tính 2: Thanh ghi SRG1
sẽ nhận dữ liệu vào song song từ máy tính 1, chuyển thành ra nối tiếp để truyền đi. Thanh ghi
SRG2 lại nhận dữ liệu vào
nối tiếp, chuyển thành ra SRG1 SRG2
song song gửi cho máy --►
—►
tính 2. Giả sử dữ liệu gồm
8 bít, cộng thêm, bít kiểm Máy tính - ► Máy tính
tra để bảo đảm đường 1 -► 2
—►
truyền tuân theo tính —►
chẩn/lẻ (xem chương 5). —►
—►
Do đó SRG1, 2 phải c ó 9 ị i
0

bit. ở nơi thu, ta đặt thèm -► B á o lỗi tính chẵn


—1

r
V

DI

T -F F để báo lỗi có thể -► B ả o lỗi tính lẻ

x a y ra tre n đ ư ơ n g tru y e n . Z///7A 6.27. Truyén dữ liêu giữa hai máy tính thông qua các thanh ghi dịch.
Đương nhiên cần có
biện pháp đồng bộ, bảo đảm xung nhịp điều khiển dịch cùa hai thanh ghi xuất hiện đồng thời.

148
6.12.2. Điểu khiển những hoạt động có tính trình tự và chu trĩnh

Hình 6.28. Mạch điéu khiển trinh tự dửng thanh ghi dịch.

Hình 6.28 là sơ đồ nguyên lý dùng thanh ghi dịch 74198 và các S -R FF để xây dựng mạch
điều khiển thắp sáng tuần tự và chu trình hàng chữ ĐHBK. Khởi đầu, đóng khóa K sang vị trí 1,
nạp song song dữ liệu D I + D8 vào thanh ghi. Sau đó đóng K sang vị trí 2, thanh ghi sẽ dịch
phải, theo sự cầm trịch của dãy xung nhịp clock (CK) phát ra từ mạch phát xung 555 (xem
9.4.2b). Hàng chữ sẽ tuần tự sáng theo trật tự sau: Đ - * H - » B - > K - > duy trì sáng cả 4 chữ
trong 3s -> tắt cả trong 2s —» bắt đầu chu trình mới. Các chữ liền kề sáng chậm sau nhau là ls.
Đầu ra Q a + Q D các FF điểu khiển đóng/ngắt mạch chiếu sáng các chữ (mạch công suất, ờ đây
không đề cập tới).

6.12.3. Tạo dạng sóng vuông theo ý muốn


Hình 6.29 là mạch dùng thanh ghi dịch để tạo dạng sóng vuông tùy ý. Nạp vào thanh ghi n
bít nội dung xác định trước. Sau đó cho thanh ghi dịch phải theo nhịp dãy xung lặp CK với chu
kỳ T. Ta sẽ tạo được ờ đầu ra nối tiếp của thanh ghi, dãy xung vuông hình dáng mong muốn,
với chu kỳ X = nT.

1 0 1 1 1 0 0 1 1 0 ]7 Ịọ f 0 0
ti
CK (Clock)

Hình 6.29. Tạo


>H IH I I a u dãy
u a y xung
AUI ly vuông
VUUI ly dùng
UUI ly thanh
u la i IIIghi
y i IIdịch.
VJIV/II.

6.12.4. Điều khiển động c a bưốc


Đ ộng cơ bước có cồng suất rất nhỏ, hay dùng trong đo lường điều khiển. Hình 6.30 là sơ
đồ nguyên lý dùng thanh ghi dịch điều khiển động cơ bước. Đ ộng cơ có 3 cuộn dây A , B, c .
Tại một thời điểm , chỉ có dòng qua một trong ba cuộn dây và nó làm rôto động cơ quay một

149
góc 0 (gọi là một bước). N ếu dòng điện qua ba cuộn dây theo trình tự A - > c - * B - » A -><-
thì động cơ sẽ quay từng bước theo chiều ngược kim đổng hồ. N ếu dòng vào ba cuộn dãy theo
trình tự B -> c -> A -> B - » c . thì rôto quay từng bước theo chiều thuận kim dồng hồ.

Hinh 6.30. Thanh ghi dịch điêu khiển động co bước.

Trên hình vẽ ta dùng m ột thanh ghi dịch 3 bít, có thể dịch phải/trái theo tín hiệu điều khiển
đk. úng với một xung clock (CK) tới thanh ghi, động cơ sẽ quay m ột bước 0 theo chiéu xác
định tùy theo chiểu dịch cùa thanh ghi. Bảng 6.11 m ô tả sự dịch chuyển rôto động c ơ bước với
chiều ngược kim đổng hổ, theo chiều dịch phải của thanh ghi. K hỏi đầu cho CLR = 1 để xóa
thanh ghi.

Báng 6.11. Điéu khiển động co bước theo chiêu dịch phải cùa thanh ghi.

Số xung clock tới thanh ghi RSIn Q, q2 Q, Cuộn dãy có diện Góc quay rôto động cớ

Khởi đầu 1 0 ũ 0 - ở vị trí xuất phát


1 0 1 ũ ũ A 0

2 0 0 1 0 c 0 + 0 = 20

3 0 0 0 1 B 20 +0 =30
4 1 0 0 0 - 30 +0 =30
5 0 1 0 0 A 30 +e = 40
6 0 0 1 0 c 46 + e = 56

N ếu cho thanh ghi dịch trái, động cơ sẽ quay dịch tùng bước theo chiểu ngược lại.

6.12.5. Dùng thanh ghi d ịch để nhân/chia đôi số nhị phân


M ột số nhị phân n bit chứa trong thanh ghi dịch. Nếu dịch phái 1 bít, tương ứng coi như
chia đôi số nhị phàn. N gược lại, nếu dịch trái 1 bít, coi như đã nhân đôi số đó. Đương nhiên, ở
hai đầu thanh ghi phái đặt Flip Flop, để nhặn giá trị cùa bít bị đầy ra khỏi thanh ghi.

150
6.13. KHÁI NIỆM CHUNG VỀ BỘ ĐÊM
Bộ đếm là một mạch logic trình tự gồm một dãy các Flip Flop được ghép nối thích hợp, để
có khá năng đếm các xung vuông đi tới. Kết quả đếm được biểu hiện và lưu giữ trên cấc đầu ra
Flip Flop dưới dạng mã nhị phân nào đó.
Bộ đêm có thể là loại hoạt động theo sườn lên hoặc theo sườn xuống cùa các xung đếm.
Nghĩa là nó chỉ nhận biết có xung tới trong thời gian ứng với sườn lên hoặc sườn xuống cùa xung.

6.13.1. Phân loại


Tùy theo mã nhị phân biểu thị kết quả đếm ờ cửa ra, ta có các bộ đếm chù yếu sau:
- Bộ đếm nhị phân n bit, bao gồm n Flip Flop. Mã ờ cửa ra là số nhị phân thuần túy (trọng
số các bít từ 2" - LSB đến 2" 1 - MSB).
- Bộ đếm BCD, hay còn gọi là bộ đếm ¡hập phân. Mã ở cửa ra là mã BCD k digit (k decad).
- Bộ đếm Gray. Mã ờ cửa ra là mã Gray.
N goài ra còn có một số bộ đếm với các mã nhị phân đặc biệt ở cửa ra như bộ đếm vòng, bộ
đếm Johnson.

6.13.2. Những đ ặ c trưng của bộ đếm


Các bộ đếm có những đặc trưng chính sau.
* Dung lượng bộ đếm N là số xung cực đại mà bộ đếm có thể đếm và lưu giữ kết quả đếm ở
cùa ra.
- Bộ đếm nhị phân n bit có dung lượng N max = 2“ - 1.
- Bộ đếm BCD k digit có dung lượng Nmíx = 10k — 1.
* Phương thức đếm. Khi làm việc, bộ đếm có thể có các cách đếm khác nhau:
- Đếm thuận, hay còn gọi là đếm tăng (UP): Kết quả đếm tăng thêm một đơn vị khi có một
xung tới.
- Đếm ngược, hay còn gọi là đếm giảm (DOWN): Kết quả đếm giảm một đơn vị khi có một
xung đếm.
- Đếm thuận nghịch: Bộ đếm đồng thời có thể đếm theo cả hai cách thuận và ngược hai dãy
xung khác nhau đi tới. Chỉ có những bộ đếm có hai đầu vào đếm xung mới có cách đếm này.
* Tính chu trình. Thường các bộ đếm được thiết kế để chúng hoạt động có tính lặp lại,
nghĩa là: Khi đã đếm đến số xung cực đại bằng dung lượng cùa nó; nếu có thêm xung tới, bộ
đếm tự động quay trở về trạng thái ban đầu để có thể tiếp tục một chu [rình đếm mới. Như vậy,
một chu trình đếm của bộ đếm là N = N m„ + 1. Ta gọi bộ đếm có chu trình đếm N là bộ đếm
modul N. Ví dụ, bộ đếm nhị phân 4 bít là bộ đếm modul 16; bộ đếm BCD 4 bit (ứng với 1 digit)
là bộ đếm modul 10.
* Bộ đếm lập trìnli. M ột số bộ đếm được thiết kế để chúng có khả năng lập trình, nghĩa là :
Ta có thể ghi (nạp) vào bộ đếm một số định trước, để chúng bắt đẩu đếm từ số đó trờ đi.

6.13.3. Bộ đếm không đồng bộ và đồng bộ


* Bộ đếm không đồng bộ: Khi có một xung tới, các Flip Flop cùa bộ đếm chuyển trạng thái
(nếu có) không đổng thời. Bộ đếm không dồng bộ ít được sử dụng. N ó hay được dùng với chức
năng mạch chia tân.
* Bộ đếm đổng bộ'. Khi có một xung tới, sự lật trạng thái (nếu có) cùa các FF xảy ra gẩn như
đổng thời.

151
6.14. BỘ ĐẾM KHÔNG ĐồNG BỘ NHỊ PHÂN n BIT, MODUL N = 2"
6.14.1. Nguyên lý thành lộp
N guyên tắc thành lập bộ đếm không đổng bộ, modul N = 2" là:
- Sừ dụng n J -K FF loại đổng bộ theo sườn xuống cùa xung nhịp (clock - C). Các FF đểu
nối thành T -F F (J = K = 1 logic).
- Xung đếm chỉ đưa tới đầu clock (C) của FF c ó trọng số nhỏ nhất (2°).
- Đầu ra Q / Q (tùy theo yêu cầu đếm là thuận/ngược) cùa FF có trọng sô' thấp sẽ nối với
đầu c cùa FF có trọng số cao hơn liền kẻ.

<22)

CLR
đk

Hình 6.31. Sơ đổ bộ đếm nhị phân không đóng bộ, modul 23 = 8.

Hình 6.31 là cấu tạo bộ đếm không đồng bộ nhị phân 3 bít. Tùy theo tín hiệu điểu khiển đk
mà có thể đếm thuận hay ngược.

CLR u -
i r
Y 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9

s JtrUirtJirtrtrtrt.

đk = 1: Đếm thuận đk = 0: Đếm ngược


a) b)

Hình 6.32. Mô tả hoạt động của bộ đếm hình 6.31.

Hình 6.32 m ô tả hoạt động của m ạch hình 6 .3 1 , khi đếm thuận và khi đếm ngược.

6.14.2. Nhược điểm của bộ đếm không đồng bộ


- Bộ đếm không đồng bộ tuy c ó cấu tạo đơn giản, nhưng nó có nhược điểm là thời gian tác
động của bộ đếm lâu.

- N ếu m ỗi FF có trễ truyén đạt tpj « 20ns, thì thời gian tác động cực đại của bộ đếm n bít
sẽ có thể là ntpj. Hơn nữa, trong thời gian quá độ ntpj, bộ đếm phải qua nhiêu trạng thái sai, dễ
gây tác động nhầm cho các hệ thống số tác động nhanh.

152
Hình 6.33 vẽ sự chuyển trạng thái của các FF ờ mạch hình 6.31, có tính tới trề truyền đại
tpd, khi xung đếm thứ 4 đi tới. Ta thấy, trong thời gian quá độ 3 ^ để bộ đếm chuyển từ trạng
thái Q ,Q 2Q„ = 011 sang trạng thái mới 100, nó đã qua hai trạng thái sai là 010 và 000.

Xung
đếm

Qo 1 ¡ ,,0 0 0 1

Q1 1 Ị ỊỶ> 0 ^

q2 0 i 0i ofĩ 1
»i • !< : *
' 3tp„ '

Hình 6.33. Ví dụ vé quá độ của bộ đếm không đồng bộ.

6.14.3. Các vi mạch đếm không đồng bộ


Hiện nay, các IC đếm không đồng bộ chủ yếu được dùng làm các mạch chia tần số. Hình
6.34 giới thiệu hai vi mạch đếm không đổng bộ 74xx92 và 74xx93. Vi mạch 7493 gồm một
mạch chia 2 và một m ạch chia 8 tẩn số. Khi đặt 1CLR = 2CLR = 1 logic, bộ đếm bị xóa. Cho
1CLR = 2CLR = 0 logic, mạch sẽ hoạt động như bộ đếm modul 8 hoặc modul 16; hay hoạt
động như một m ạch chia tần số với các hộ số chia khác nhau (2, 4, 8, 16). Cho dãy xung vuông
tần số f vào đầu 2CK, ta sẽ nhận được ờ các đầu ra Qg, Qc, QD những dãy xung vuông tần số
tương ứng là f/2, f/4 và f/8. N ếu nối Q A với 2CK và cho dãy xung vuông tần số f vào đầu 1CK,

3
ta sẽ nhận được ở đầu ra Q D dãy xung vuông tần số f/16.

1CLR

2CLR ■

14 12
1C K ——c > DIV.2 — Qa

9
— -Q b
2 C K ——c > DIV.3

— Qc

CK=Qc > DIV.2 — Q d

7493 74xx92

Hình 6.34. Các vi mạch đếm không dóng bộ.

V i mạch 7 4 9 2 gổm mạch chia 2 (Flip Flop đứng độc lập Q A), và m ạch chia 3 - 2 (hai FF
Q b, Q c tạo thành mạch chia 3 và nổi tiếp với mạch chia 2 của FF Q D). Như vậy, bằng các cách
nối khác nhau, ta có thể sử dụng IC.7492 như một bộ đếm modul 8 hoặc 16; hay như một mạch
chia tần số cho 2, 3, 6 và 12.

153
6.15. BỘ ĐẾM ĐỒNG BỘ NHỊ PHÂN n BIT
Đặc điểm của bộ đếm đồng bộ là các FF trong bộ đếm nếu phải lật trạng thái khi có một
xung tới, thì chúng lật hẩu như đổng thời. D o đó thời gian tác động cùa bộ đếm chi băng trê
truyền đạt tpj của FF. Hơn nữa, nếu coi của các FF hoàn toàn bằng nhau, thi Irong thời gian
quá độ (tpj) khi bộ đếm chuyển trạng thái, nó không qua các trạng thái sai.

6.15.1. Bộ đếm đồng bộ nhị phân n bit, modul 2"


Nguyên tắc xây dựng mạch đếm đồng bộ, modul 2", từ các J K FF như sau:
- Xung đếm đưa đổng thời tói tất cả các đầu clock (C) cùa các FF.
- F F có đầu ra Q,„ ứng vói bít có trọng số nhỏ nhất (211), luôn nối thành T-FF, nghĩa làJ„ = K,, = 1.
- Các đầu vào điều khiển Jị, K , cùa FF có đầu ra Q,tương ứng vớibit có trọng số 2', (i = 1,
2,... n - 1), được nối như sau:
- Đ ối với đếm thuận: J| = K ị = Qo-Qi.. Q i- ji

- Đ ối với đếm ngược: J| = K ị =Q ().Q |...Q i_i

Xung đếm

Hình 6.35. Mạch đếm đồng bộ, modul 16, đếm thuận.

Hình 6.35 là mạch đếm đồng bộ, modul 24 =16, đếm thuận, xây dựng theo quy tắc vừa trình
bày ờ trên.
Bàng 6.12. Trạng thái các FF trong mạch đếm modul 10
6.15.2. Bộ đếm đồng bộ nhị Trạng thái các Flip Flop
Số xung đếm đi
Trước khi có xung tới Sau khi có xung tới
phân n bit, modul N < 2n tới
Q, Q; Q, Qo Qj q2 0, Qo
Nhiều khi ta cần thành lập mạch
f 1 0 0 0 0 0 0 0 1
đếm đổng bộ nhị phân n bít, với chu
2 0 0 0 1 0 ũ 1 0
trình đếm N < 2". Xét trường hợp cụ
3 0 0 1 0 0 0 1 1
thể: Xây dựng mạch đếm thuận, modul
4 0 0 1 1 0 1 0 0
N = 10 (đếm BCD, 1 digit) từ các J-K
5 0 1 0 0 0 1 0 1
FF. Quy tắc thành lập như sau. Chu
6 0 1 0 1 0 1 1 0
trinh
- Từ chu trình đếm N , định ra số 7 0 1 1 0 0 1 1 1
đếm
J-K FF cấn sừ dụng n. Vi dụ N = 3 -> 8 0 1 1 1 1 0 0 0
n = 2, N = 5 - » n = 3. V ới N = 1 0 thì số 9 1 0 ũ 0 1 0 0 1
FF cần thiết n = 4. Ký hiệu các đầu ra 0 0 1 0 0
l 10 1 0 0
Flip Flop: Q„, Q |. Q 2, Q,; trong đó Q„ là 11 0 0 0 0 0 0 0 1
đáu ra FF có trọng số nhỏ nhất LSB = 2°, :

154
Q< là đầu ra FF có trọng số lớn nhất MSB = 2 ’.
- Lập bảng trạng thái ở cửa ra mạch đếm theo số xung đêm đi tới. N ó chính là báng trạng
thái các FF ở trước và sau khi có xung đếm. Ta có bảng 6.12.
- Từ bàng 6.12 ta thấy: Trạng thái môi FF sau Bàng 6.13. Ảnh hường của các kích thích
khi có xung tới đầu vào clock (C), phụ thuộc trạng J, K tới sự chuyển trạng thái cùa FF.
thái ngay [rước đó của cả 4 FF. Mật khác, sự
Dạng chuyển Mức logic trên các đầu
chuyển trạng thái của J-K FF lại được quyết định
trạng thái điéu khiển
bởi tín hiệu trên các đầu vào điều khiển như ờ báng
của FF J K
6.13. Dấu X trong bảng hàm ý là J/K c ó thể mang
giá trị tùy ý (0/1). Như vậy, căn cứ theo các bảng 0 -*0 0 X
6.12 và 6.13, ta có thể xây dựng bảng Các nô, mô tả
0 -> 1 1 X
hàm của các đẩu điều khiển J, K của m ỗi FF, như ở
hình 6.36. 1 -> 0 X 1

Trên hình 6.36, ký hiệu J,|, K„ -ỉ- J„ K, tương 1 -> 1 X 0


ứng là những đầu điều khiển cùa các FF Q„ H- Q,.
Từ các bảng Các nô hình 6.36, rút ra các quan hệ logic:

J(|= K,! = 1 ; Jị = Q 0 .Q3 ; Kị = Q0; J2 = K2 = Q(). Qj; J, = Qo-Q I-Q2' K 3 = Qo-

Qz- Q2 . Q2 - q2 -

Qo Q3 X X X 0 Q3 X X X 0 Qs X X X X
X X X 0 X x' 0 X 7 X X
Qo Qg Qo fx Qo
(1 X X 1) X u V 0 0 0 0
0 X X 0 X X 0 0 0 0 0 0

Jo Jt J2 J3
Q2 . Qi Q2 . Q 1 Q2 Qi
Q2 Q.

Q3 (X X X xì Q3 X X X X X X X X Q3 X X X 0
X X X 1 X X (X X X X X
(x *ì xì Qo (x 1ì
Qo Qo
1 1 1 1 0 li xj X u 1 1 xj vL X X x)
X X xj 0 0 X X X 0 0 X X X X X

Ko K2 K, K3

Hinh 6.36. Bảng Các nô, xây dựng trên cơ sở các bàng 6.12 và 6.13.

Từ các biểu thức logic ờ trên, ta xây dựng được mạch đếm hình 6.37.

Hình 6.37. Mạch đếm đồng bộ modul 10, đếm thuận.

155
Chú ý: Q uy tắc xây dựng m ạch đếm đồng bộ vừa trình bày là quy tắc chung đế thành lập
mạch đếm nhị phân n bít, với modul N bất kỳ, kể cả N = 2" đã trình bày ờ mục 6 .15.1. N ó cũng
có thể sử dụng để xây dụng m ạch đếm mà kết quả đếm được thể hiện ờ cừa ra dưới dạng mã
nhị phán tùy ý nào đó.
Thay vì J -K FF, có thể dùng các D -F F để xây dựng mạch đếm đồng bộ. Tuy vậy, dùng D -
FF thì mạch nối giữa các FF sẽ phức tạp hơn.

6.15.3. C ác vi m ạch đếm đồng bộ


Ngoài những vi mạch đếm đặc biệt dùng trong đo lường điều khiển như IC. 8253, gồm ba bộ
đếm 16 bit; Các vi mạch đếm thông dụng dễ tìm thấy trên thị trường đều là cấc IC đếm nhị phân
4 bít, modul 16/10. Dưới đây xét bốn vi mạch đếm điển hình họTTL: IC 7 4 x x l9 0 * 74193.
a) IC74190, 74191
Hình 6.38 là ký hiệu IEEE/ANSi và sô' thứ tự chân cùa các vi m ạch đếm 7 4 1 9 0 H- 74193.
- Cửa ra của vi mạch gồm các đầu ra Q A + Q d cùa bốn J -K FF. V i m ạch 74190 là mạch
đếm modul 10 (1 digit đếm BCD), IC.74191 là mạch đếm m odul 16.
- Các đầu vào dữ liệu (data inputs) A , B, c , D dùng để nạp sô' đặt trước vào bộ đếm. Chân
Load điều khiển nạp dữ liệu. Khi cho L oad = 0, các giá trị đặt ờ A , B, c , D sẽ được dẫn đến
điều khiển các đầu đặt trước (Preset) và xóa (clear) cùa các J -K FF. Kết quả là các giá trị ở A,
B, c , D sẽ được truyền tới các đầu ra tương ứng Q A, Q B, Q c, Q D. Sau khi nạp, phải chuyển
Load lên 1 logic thì m ạch đếm mới hoạt động được.

- Đầu En (Enable), tích cực thấp, điểu khiển cho phép mạch hoạt động. Khi En = 0,
mạch được phép đếm. Khi En = I, mạch bị khóa, không đếm được.

- Đầu D /U đ ể điều khiển phương thức đếm. Khi D /U = 0, m ạch đếm thuận. N ếu cho
D /U = 1 , m ạch sẽ đếm ngược.
- Chân CK lả đầu vào của các xung đếm. M ạch hoạt động ờ sườn lên cùa xung đếm.
- Đầu ra M /m (M ax/m in) để chỉ sự đếm tới hạn cùa mạch. Biểu thức logic cùa đầu ra là:

M /m = C M. ( D / U ) + C m. ( D / Ũ ) ,

Trong đó CM = Q A.Q D (đối với IC .74190), hay CM = Q a Q b-Qc-Q d (đối với IC.74191);
Cm = Q a Q b .Q c .Q d . Ta thấy: Đầu ra M /m sẽ nhảy lên 1 lo g ic, chỉ khi bộ đếm đang đếm
thuận và nội dung trong nó đã đạt cực đại; hoặc khi m ạch đang đếm ngược và đã đếm tới sô' 0

(Q a = Q b Q c = Q d “ 1 logic).

- Đầu ra RCE dùng nối tầng các IC đếm. Biểu thức logic cùa đầu ra này là:
RCẼ = Ẽn + CK + M /m .

Ta thấy, đầu RCE chỉ có thể chuyển về 0 logic khi bộ đếm đang được cho phép đếm (En = 0 )
và nó đã đếm tới giá trị tới hạn (M /m = 1); đổng thời không có xung đếm đi tới (CK = 0).
b) IC74192, 74193
Vi mạch 74 1 9 2 là bộ đếm m odul 10; IC. 74193 là bộ đếm modul 16 (hình 6.38). Chúng có
một số khác biệt so với những IC. 741 9 0 và 74191 đã khảo sát ờ trên:

156
- Các IC. 74192, 4
CLR —
74193 có hai đầu vào đếm 12 M UP —
là UP và DOW N. Nếu m
DOWN —
xung đếm đưa tới đầu ƯP RCẼ — 11
(còn đầu D O W N treo ở Load
1 logic) thì mạch sẽ đếm , LSB
— Qa
thuận. Ngược lại, nếu xung
— Qb B—
đếm tới đầu D O W N (còn
đầu U P đặt ở 1 logic) thì — Qc
mạch sẽ đếm ngược. Nếu Qo D - i.
đồng thời có hai dãy xung MSB MSB
đưa vào đầu ƯP và DOW N, 74XX192
mạch sẽ hoạt động theo 74xx193
cách đếm thuận - nghịch. Hình 63s Các |c đếm 7419ũ + 74193
- Mạch có đáu CLR đế
xóa nội dung bộ đếm. Khi CLR = 1 logic, bộ đếm bị xóa (QA = Q b = Qc = Q |j = 0). Đ ế mạch có thể
đếm được thi phải đặt CLR = 0 và Load = 1.
- Đầu raCO chỉ chuyển từ 1 xuống 0 logic khi mạch đang đếm thuận và đã đạt tới dung
lượng cùa nó;đổng thời không có xung tới đẩu UP. Biểu thức logic của đầu ranày là:
CO = U P + Q ^ + % ( n ế u là ic . 74192);

C 0 = U P + q 7 + Q^ + Q ^ + Q ^ (nếu là IC. 74193).

'l ương tự, đầu ra BO chì chuyên từ 1 xuống 0 logic khi mạch đang đếm ngược và đã đạt
tới sô 0, đồng thời không có xung đến đẩu DOW N. Biểu thức logic của BO là:
BÕ = D OW N + Q A + Qb + Qc + Qd-
c) N ố i tầng các IC74190 + 74193
Đ ế có được bộ đếm dung lượng lớn, ta phài nối tầng các IC đếm.

10° 10' 102

I t't ì
Qd Qa
tttt
Qd Qa
tttt
Qd c
RCE
>CK >CK >CK
74190 74190 74190

En y w ~ Load
Xung>
đếm

10° 101 102

tttt 1 1 1 1
CO UP
D

Qa CO UP
õ

o
>

>

Q d
o

Xung r , u p
| dọw n ; 74192 0 DOWN 74192 0 DOWN 74192

BÕ BÕ
CLR > -
Load >—
b)

Hình 6.39. Nối táng các IC74190. 74192.

157
- Đối với các IC 74190, 74191 có th í có ba cách nối tầng khác nhau. Hình 6.39a chi ra một
trong ba cách nối đó. Trên hình vẽ, các IC là loại 74190, nên chung tạo thành bộ đém BCD ba digit,
dung lượng 999. chu trình đếm là 1000 xung. Bạn đọc hãy tự giải thích hoại động cùa mạch. Nếu
thay IC 74190 bằng các IC 74191, ta sẽ được bộ đếm nhị phân 12 bít, dung lượng 2'2- 1 = 4095,
chu trình đếm là 2'2 = 4096 xung.
- Với các IC .74192, 74193 ta có cách nối tầng n h ư ở h ìn h 6.39b.
d) Các vi mạch đếm họ CMOS. Dưới đây là một số vi m ạch đếm 4 bít, họ CMOS.
IC.4029: mạch đếm thuận/nghịch, modul 10 hoặc modul 16 tùy theo lựa chọn.
IC.4160, 4162: đếm m odul 10, c ó thể lập trình
IC.4161, 4163: đếm modul 16.

6.16. MẠCH ĐẾM VÒNG (SHIFT RING COUNTER)


Mạch đếm vòng cho kết quả đếm ớ cửa ra là mã “chọn 1 trong M" (xem m ục 5.1). Cùa ra
có M đẩu ra, đánh số từ 1, 2, Khi có xung thứ i, i e l , 2 .......M, đi tới bộ đếm thì chỉ duy
nhất đầu ra thứ i thay đổi trạng thái (chuyển từ 0 -> 1, hoặc từ 1—> 0)
V ề mặt cấu trúc, bộ đếm vòng thực chất là một thanh ghi dịch có phản hồi về đầu vào nối tiếp.

Q| Qĩ Qi Qi X ung 1 2 3 4 5 6
đếm

Q1

Q2

Q3

Q4

a) b)

Hình 6.40. Bộ đếm vồng 4 bit. a) Nguyên lý cấu tao. B) Mõ tà hoạt dộng của bộ đếm.
Hình 6.40a là sơ đồ nguyên lý bộ đếm vòng làm từ
thanh ghi dịch 4 bit (Q , -5- Q4). Hoạt động cùa m ạch như
sau: Đặt xung xóa vào đầu CLR, thanh ghi dịch bị xóa
(Q| = Q2 = Qj = Q4 = 0 ). Đầu vào nối tiếp T cùa thanh ghi
vì vậy có giá trị 1 logic.
Xung đếm đáu tiên đi tới thì Qj = 1 và T = 0. Với các
xung đếm tiếp theo, giá trị 1 ờ Q, cứ dịch dẩn sang phải
cho tới Q4 = 1, khi có xung đếm thứ 4 xuất hiện. Đến xung
đếm thứ 5 thì Q, = Q 2 = Q , = Q 4 = 0 và T = 1. M ạch lại sẩn
sàng bắt đầu chu trình đếm mới. N ếu các Flip Flop trong
thanh ghi là loại đồng bộ theo sườn lên, hoạt động mạch
đếm vòng hình 6.40a sẽ được m ô tả như ờ hình 6.40b.
Ta có thể dễ dàng nhận ra là: Có thể dùng bộ đếm
nhị phân kết hợp với giải mã (d eco d er- xem mục 5.1) để
tạo nên bộ đếm vòng.
Hình 6.41. Vi mạch đém võng 4017B.

158
Hình 6.41 giới thiệu vi mạch đếm vòng họ CMOS 4017B , với chu trình đém là 10 xung.
M ạch có 10 đầu ra Q„ -T- Q9. Đầu vào Hn là đầu điều khiến cho phép làm việc, tích cực thấp.
Mạch có đầu vào xóa CLR, tích cực cao. Khi CLR = 1 thì Q„ = 1, các đầu Qị -ỉ- Qy bang 0. Sau
đó, với Iln = 0, CLR = 0, bộ đếm được phép làm việc. Xung đếm vào đầu CK và trạng thái các
đầu ra sẽ Ihay đổi theo số xung đếm đi tới (bảng 6.14).
Từ bảng 6.14 ta rút ra các nhận xét sau:

- Đ cm đến xung thứ 10 thì các đầu ra Q„ -T Q9 quay lại trạng thái ban đầu, khi chưa có
xung nào tới. Vậy bộ đếm có chu trình đếm là 10 xung.
— Có thể dùng đầu ra C|() để thực hiện việc nối tầng các IC.4017, tạo thành mạch chia tần
số cho 1 0 \ k = 1, 2, 3 ,... Cho dãy xung đếm tần số f vào đầu CK tầng thứ 1; đầu C l() tầng 1 dẫn
tới đầu CK tầng thứ 2; đầu C|„ tầng 2 lại dẫn tới đầu CK tầng 3 ... Ta sẽ nhận được ở đầu C ị„
của tầng thứ i (i = 1, 2, 3 ,...) dãy xung vuông góc đối xứng, tần số f/10'.

Bảng 6.14. Trạng thái các đấu ra theo số xung đếm

Xung dém Q« Q, q2 q3 Q, Qs Qe Q, Q. 0, Ciũ

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

2 0 0 1 0 0 0 0 0 0 0 1

3 0 0 0 1 0 0 0 0 0 0 1

4 0 0 0 0 1 0 0 0 0 0 1

5 0 0 0 ũ 0 1 ũ 0 0 0 0

6 0 0 0 0 0 0 1 0 0 0 0

7 0 0 0 0 0 0 0 1 0 0 0

8 0 0 0 0 0 0 0 0 1 0 0

9 0 0 0 0 0 0 0 0 0 1 0

10 1 0 0 0 0 0 0 0 0 0 1

- Nếu đem nối đầu xóa CLR với một đầu ra Q, nào đó (i = 2 -ỉ- 9) thì mạch sẽ hoạt động
như bộ đốm vòng modul i (chu trình đếm là i xung). Ví dụ, đem nối Qfl với CLR thì chi các
xung đếm từ 1 -r 5 làm các đấu ra Qị -r Q s lần lượt chuyên trạng thái. Đến xung thứ 6 thì Qf, = 1
= CLR, bộ đem bị xóa và quay về trạng thái ban đầu, với Q„ = 1 logic. Vậy mạch có chu trình
đếm là 6 xung.

159
BÀI TẬP CHƯƠNG 6
6.1. Xây dụng m ạch logic điều khiển hoạt 20
động cùa S -R FF theo số H exa N H (hình 6.42). M s Q
N
Yêu cẩu điều khiển như sau: 22 > ?
p
N h < 4: Flip Flop lưu giữ thông tin sẵn có
K
2J > R
B > N H > 4: Flip Flop ghi giá trị 1 (Q = 1)
N h > B: Flip Flop bị xóa (Q = 0) Hình 6.42. Bài tập 6.1.
6.2. Cho mạch hình 6.43a. Hãy vẽ dạng sóng cùa tín hiệu ờ đầu ra Q 2, theo dạng sóng các
tín hiệu vào A , B (hình 6.43b). Khởi đầu, Qi = Q 2 = 0 logic.

+ 5V
J Qi
B I
L D q2 —A_n_n_n_n_n_n_n_n_
>c B__J I J—1
K >c c>2 ? t

Hình 6.43. Bài tập 6.2.


6.3. Cho m ạch hình 6.44a. Hãy vẽ dạng sóng của tín hiệu ở đầu ra s, theo dạng sóng các
tín hiệu vào c , E (hình 6.44b). Khởi đầu Q0= Qị = L.

D Qo D Qi
c_rưirLruTLn_
>c c

Hình 6.44. Bái tặp 6.3.


6.4. Hãy dùng các J -K FF để tổ hợp mạch dãy đồng bộ, c ó sơ đồ khối ờ hình 6.45a, mạch
có 4 trạng thái trong s,| s,. Hình 6.45b là graph trạng thái m ô tả hoạt động của mạch.

a)

Hinh 6.45. Bài tập 6.4.

160
6.5. Hãy dùng các vi mạch đếm 74190 (xem mục 6.15.3) và cổng N A N D để xây dựng
mạch đếm thuận modul 84. V ẽ sơ đồ mạch và thuyết minh hoạt động cùa mạch.
6.6. Hãy dùng các vi mạch đếm 74190 và các vi mạch so sánh 7485 (xem mục 5.6.1) để
thành lập m ạch đếm thuận modul N có thể lập trình (N có thể thay đổi và N m>x = 99).
6.7. Hãy dùng các vi mạch đếm 74192 (xem 6.15.3) để thành lập mạch đếm thuận, đếm từ
0 đến 48 thì dừng.
6.8. Hình 6.46a là sơ đồ nguyên lý dùng IC đếm 74191 (xem mục 6.15.3) làm việc như
một mạch chia tần sô' với hệ số chia N có thể lập trình (N có thể thay đổi). Dãy xung vuông có
tán số f cần chia đưa vào đầu c bộ đếm. Đặt sô' N định trước vào các đầu vào sô' liệu. Khởi
động đóng K sang vị trí 1, sau đó đóng K sang 2. Bộ đếm sẽ hoạt động như mạch chia tần: Ở
đầu ra M/m cho dãy xung vuông tần số f/N. Thuyết minh hoạt động của mạch. Vẽ dạng sóng
cùa tín hiệu ở đầu ra M /m, theo dạng sóng cùa dãy xung đếm ờ đầu vào c.

Hình 6.46 a) Bài tập 6.8; b) Bài tập 6.9.

6.9. Hãy dùng vi m ạch đếm vòng 4017 (mục 6.16) và các cổng OR đê’ xây dựng mạch đếm
có sơ đồ khối ở hình 6.46b. Y êu cẩu bộ đếm có chu trình đếm là 7 xung và trạng thái các bít
DCBA ờ cùa ra ứng vói các xung tới như sau:

DCBA
/■------ \ Xung 1 Xung 2
(oooo) — ► 0 0 1 1 ------ — ►0110
BỘ NHỚ BÁN DẪN

7.1. KHÁI NIỆM


Bộ nhớ trong kỹ thuật số là thiết bị lưu trữ thông tin nhị phân. Có nhiều loại thiết bị lưu trữ
thông tin dùng trong kỹ thuật số. Chương này chỉ để cập bộ nhớ bán dẫn, là bộ nhớ mà các
phần tử nhớ (hay các tế bào nhớ) của nó được ch ế tạo từ chất bán dẫn.

7.1.1. Phần tử (tế bào) nhỏ, ô nhó và mảng nhó


M ột phần tử nhớ bán dẫn có khả nâng ghi nhớ giá trị 1 hoặc giá trị 0 cùa m ột bít thông tin
nhị phàn. M ột dãy gồm m phần từ nhớ (m > 1) gọi là một ô nhớ c ó từ nhớ m bit. M ột tập hợp
sắp xếp các ô nhớ gồm N hàng M cột, gọi là ma trận nhớ hay m ảng nhớ. M ảng nhó có thể là
ma trận vuông, ma trận chữ nhật hoặc ma trận chì có m ột cột.

7.1.2. Địa chỉ của m ột phần tử nhố và của m ột ô nhố


M ỗi phần tử nhớ hoặc m ỗi ô nhớ trong ma trận nhớ có m ột vị trí riêng gọi là địa chỉ
(address). Địa chì của một phần tử nhớ (tế bào nhớ) gọi là địa chỉ bít đơn, nó được xác định bời
vị trí cùa một hàng và một cột. Hàng của ma trận nhớ còn được g ọ i là đường từ (word line) vì
một nhóm m bít của một ô nhớ nằm trên m ột hàng. Cột cùa ma trận nhớ còn được gọi là đường
bit (bit line) hay đường dữ liệu, trong trường hợp nó đổng thời là đường dẫn thông tin vào ra.
Địa chỉ của một ô nhớ là duy nhất và được mã hóa bằng một số nhị phân n bít.

7.1.3. Dung lượng nhỏ


Dung lượng nhớ là số bit thông tin lớn nhất mà bộ nhớ c ó thể lưu trữ được. M ảng nhớ N
hàng, M cột có dung lượng lớn là N xM bít. Trong thực tế, dung lượng cùa m ột bộ nhớ được
biểu thị bằng tích số cùa số ô nhớ với số bít trong một ô nhớ. Cách biểu diển này vừa cho biết
dung lượng nhó vừa cho biết cách tổ chức cùa mảng nhớ: số ô nhớ và số lối ra dữ liệu cùa bộ
nhớ. Số lượng ô nhớ của các vi mạch nhớ là 2" (n là số lối vào địa chỉ hay số bít địa chỉ), và
được ghi theo quy chuẩn là bội cùa k, M hoặc G (k = kilo = 2 10 = 1024, M = m ega = 102" =
1048576, G = giga = 2 m = 1 0 7 3 6 16824) : lk , 2k, 4k, 8 k ........512k; IM , 4M , 8 M, 4 G ... Sô'
bít trong một ô nhớ (hay độ rộng từ nhớ) quy chuẩn là 1, 4, 8 , 16 và 32.
Ví dụ bộ nhớ 32k8 (c ó thể đọc là 32k byte) có 32 X 1024 = 32768 ô nhớ, m ỗi ô 8 bit. Dung
lượng tính theo số bit là 32768 X 8 = 2 6 2 1 4 4 bít hay 2 5 6 kbit.

7.1.4. Các hoạt động c ơ bản của bộ nhó


Hai hoạt động chính của bộ nhớ là ghi thông tin vào bộ nhớ (W rite) và dọc thông tin ra từ
bộ nhớ (Read). Hoạt động ghi, đọc còn gọi là truy cập (accession) ô nhớ.
a) H oạt động g h i
Hoạt động ghi, còn gọi là viết, gồm 3 thao tác thứ tự sau:
1. Đ ịa chỉ cùa ô nhớ từ thanh ghi địa chỉ được đưa lên kênh địa chỉ (address bus), đến

162
mạch giải mã địa chỉ. Mạch giải mã tạo ra tín hiệu kích hoạt ô nhớ cần truy cập.
2. Số liệu từ thanh ghi được đưa lên kênh sổ' liệu (data bus), đến các lối vào cùa các ô nhớ
đã được chọn địa chỉ.
3. Khi có lệnh ghi (tín hiệu cho phép ghi), số liệu được lưu vào ô nhớ đã được chọn. Hoạt
động ghi hoàn tất.
b) H oạt động đọc
Gồm các thao tác như sau:
1. Địa chì cùa ô nhớ từ thanh ghi địa chì được đưa lên kênh địa chỉ, đến mạch giải mã địa
chi. Mạch giải mã tạo ra tín hiệu kích hoạt ô nhớ cần truy cập.
2. Bộ nhớ nhận lệnh đọc (tín hiệu cho phép đọc).
3. Số liệu cùa ô nhớ được đưa lên kênh số liệu, tới thanh ghi số liệu. Hoạt động ghi hoàn
tất. Khi đọc, sô' liệu của ô nhớ chỉ bị “copy” vào thanh ghi số liệu chứ không bị xóa đi.

7.1.5. Phân loại bộ nhó bán dẫn


Bộ nhớ bán dẫn được phân ra hai loại chính: ROM và RAM.
- ROM là bộ nhớ mà thông tin đuợc lưu trữ vĩnh cửu hoặc bán vĩnh cửu. Đ ối với ROM
vĩnh cửu, thông tin chì có thể đọc ra (read-only memory) mà không thể ghi vào. Khi mất
nguồn điện cung cấp thì ROM không hoạt động, nhưng thông tin lưu trữ trong ROM không bị
mất, do dó ROM còn được gọi là bộ nhớ không tổn thất (nonvolatile).
- RAM là bộ nhớ mà thông tin có thể ghi được vào hoặc có thể đọc ra. Khi mất nguồn điện
cung cấp thì RAM không hoạt động, đổng thời thông tin trong các ô nhớ cùa RAM cũng bị mất,
do đó RAM còn được gọi là bộ nhớ tổn thất (volatile). Theo truyền thống, RAM được gọi là bộ
nhớ truy cập ngẫu nhiên (R andom -A ccess Memory hoặc R andom -A ccess Read/Write Memory).
- ROM và RAM đều được truy cập ngẫu nhiên, nghĩa là các thao tác đọc hoặc viết có thể tiến
hành tại một thời điểm bất kỳ đối với một ô nhớ bất kỳ, do đó người ta gọi ROM là bộ nhớ chỉ đọc,
RAM là bộ nhớ đọc/viết, còn thuật ngữ truy cập ngẩu nhiên chì là cách nói theo truyền thống.

7.1.6. Công nghệ chế tạo bộ nhố bán dẫn


Hai công nghệ cơ bản dùng để chế tạo bộ nhớ là BIPOLAR và MOS. Bộ nhớ công nghệ
bipolar ít được sử dụng, kết hợp công nghệ bipolar với công nghệ M OS gọi là cóng nghệ
BiMOS được ứng dụng nhiều hơn. Công nghệ MOS gồm ba loại là PMOS, NM OS và CMOS,
trong đó công nghệ CM OS được ứng dụng nhiểu nhất.

7.1.7. Thòi gian truy cộp


Thời gian truy cập là khoảng thời gian từ khi thiết lập địa chỉ cho một ô nhớ đến khi thông
tin cùa ô nhớ đó được xác lập, tức là thông tin đã được ghi vào hoặc đã được đọc ra. Thời gian
truy cập đặc trưng cho tốc độ hoạt động cùa bộ nhớ.

7.2. BỘ NHỚ ROM


7.2.1. Phân loại
Hình 7.1 là sơ đồ phân loại bộ nhớ ROM theo công nghệ c h ế tạo.
M ask ROM (ROM mặt nạ) là ROM mà dữ liệu lưu trữ trong nó đã được ấn định trong quá
trình ch ế tạo, nó là bộ nhớ vinh cửu.

163
PROM (Programmable ROM ) là ROM có thể lập trình được m ột lán sau khi c h ế tạo. Khi
đã được lập trình, nó trở thành bộ nhớ vĩnh cửu.
EPROM (Erasable ROM ) là ROM mà dữ liệu lưu trữ trong nó có thể xóa và nạp lại được,
vì vậy nó là bộ nhớ bán vĩnh cửu. EPROM được chế tạo hoàn toàn bằng cồng nghệ MOS. Có
hai loại EPROM, loại xóa bằng tia cực tím và nạp bằng điện gọi là Ư V -E P R O M , loại xóa bằng
điện và nạp bằng điện gọi là EEPROM.

Bipolar MOS

1 1
Mask Mask
PROM PROM EPROMs
ROM ROM

UV
EEPROM
EPROM

Hình 7.1. So đồ phân loại ROM

7.2.2. ROM m ặt nạ (MROM)


a) T ế bào n hớ
T ế bào nhớ của ROM mặt nạ có cấu tạo điốt hoặc tranzito. Hình 7.2 m ô tà tế bào nhớ MOS
tại một vị trí nhớ (giao giữa hàng và cột) trong mảng nhớ. Bít nhớ bàng 1 nếu cực cổng được nổi
với hàng như trên hình 7.2a. Bít nhớ bầng 0
khi cực cổng không được nối với hàng (hình
7.2b). Theo nội dung nhớ đặt hàng trưóc, nhà T . I»
chế tạo dùng kỹ thuật mặt nạ để kiến tạo các
Hàng + Vdd Hàng + V dd
tế bào nhớ. Sau khi c h ế tạo, nội dung M ROM
là c ố định, không có cách gì thay đổi được.
Trên các hình vẽ mảng nhớ M ROM , vị trí bit
LỂ _Ể
0 thường để trống (coi như không tổn tại ! Côt b) Cột
Bit 1' Bit 0 1
tranzito hoặc điốt ở vị trí này). Hình 7.2a cho
thấy khi hàng có mức logic L = o v thì tranzito Hình 7.2. Cấu tạo té bào MOS:
bit 1 khóa, cột có mức logic L (điện áp cột a) Tế bào nhớ với bit nhớ bằng 1;

bằng 0). Khi hàng có mức logic H (điện áp b) Tế bào nhớ với bit nhớ bằng 0.

+5V ) thì tranzito bit 1 mở, cột có


mức logic H (điện áp cột được
nâng từ 0 lén +5V ).

b) Cấu b ú c R O M
Hình 7.3 là sơ đồ khối cấu
trúc của ROM, gồm mạch giải
mã địa chi với n lối vào, ma trận Hình 7.3. Sơ đổ khối cấu trúc của ROM.
nhớ M xN (M cột, N hàng), mạch đệm đầu ra 3 trạng thái với lối vào cho phép c s (chip select).

164
ROM có M lối ra được tổ chức thành ô nhớ M ROM 256x4
bit, có N = 2” ô nhớ M bit ứng với 2 " địa chì Ao — 0*

phân biệt. Cấu trúc ROM là cấu trúc cùa mạch A i ----
A2 ----
logic tổ hợp 2 mảng: mảng N cổng A N D (mạch
8 lối vào A3 ' 0
giải mã chọn 1 trong N) và mảng M cổng OR địa chỉ 255
A4 ----
(ma trận ô nhớ M xN ), nội dung của ROM chính A5 ----
là bảng chân lý hàm logic tổ hợp có n biến vào Ae —
và ra M biến ra. V A ,—

Các vi mạch nhớ có cấu tạo bên trong rất


ẽo •
phức tạp, tuy nhiên ký hiệu logic của nó lại rất E, ■
đơn giản và dễ hiểu. V í dụ hình 7.4 là kýhiệu
74163
logic của vi mạch ROM dunglượng 1024bit, tổ
chức thành 256 từ 4bit (256x4). Từ ký hiệu logic Hình 7.4. Ký hiệu logic của ROM 256x4bit.
có thể hiểu rằng với 8 bít địa chì, nhờ mạch giải
mã 1/256 sẽ đọc ra được 256
từ riêng biệt (từ 0 đến 255),
mỗi từ 4 bit. Đ ó là cách tổ
chức địa chỉ một chiều. Khi Ao
Giải mã
dung lượng bộ nhớ lớn (hàng 5 bit A,
hàng Mảng nhớ
địa chỉ a2
triệu bit) thì cách tổ chức này chọn 1 3 2 x3 2
hàng A3
là bất khả thi. Trong thực tế trong 32
A4
người ta tổ chức giải mã địa
chỉ 2 chiều: giải mã địa chỉ
hàng và giải mã địa chỉ cột.
32
Hình 7.5 m ô tả cấu trúc 3 bit A5
địa chỉ ■ Aô 4MUX X 8 (chọn 4/32)
ROM 256x4 có địa chỉ 2 cột _a 7
chiều: 32 hàng và 32 cột. 8
bít địa chỉ chia làm hai phẩn: Cho . ’ ẼTo
phép ra : £ >
5 bít A 4 A , A 2 A , A() dùng
cho giải mã địa chì chọn ọ ọ ộ ộ " « .
hàng (RAS), 3 bit A , A* A 5 Q3 Q2 Q1 Qo
dùng cho giải mã chọn cột
Hình 7.5. Cấu trúc bẽn trong ROM, ví dụ với ROM 256x4.
(CAS). Mảng nhá ma trận
32x32 gồm 4 mảng 32x8, do
r -------Chuyển tiếp địa chỉ
đó giải mã chọn cột là 4
Địa chỉ Ao... An Địa chỉ Địa chỉ mới xác iập
mạch M UX 8 để số liệu mỗi
I_
—ỈA—
lần đọc ra là một từ nhớ 4bit. _______ I___ '___________
c) Thời gian tru y cập Số liệu ra Do... Dm s ố liệu cũ y \ số liệu mới xác lập

ROM t_ Chuyển tiếp số liệu


E (cho phép)-
Thời gian truy cặp ■ y
ROM là khoảng thời gian
tính từ khi áp tín hiệu địa Hình ™ Xác đinh thời 9ian truy c?p R0M-
chỉ lên các lôi vao đìa chi, đên khi nhận được tín hiệu sô liệu trên các lối ra. Hình 7.6 là biểu đồ
thời gian tín hiệu đìa chi, tin hiệu dữ liệu và tín hiệu cho phép; tA là khoảng^ỈỊỜi gian truy cập.

165
7.2.3. PROM
Cấu trúc và tổ chức của PROM cũng
giống như M ROM. Sự khác biệt là M ROM
được lập trình bởi nhà sản xuất, nó có giá
thành rất cao nên chỉ được c h ế tạo khi có
nhu cầu sử dụng nhiều, PROM có mảng
nhớ gổm các phần tử nhớ kiểu “cáu chì”
cho phép người sử dụng tự lập trình theo
yêu cẩu; do đó có thể sản xuất hàng loạt
chip PROM chưa lập trình.
Hình 7.7 m ô tả màng tế bào ROM,
m ỗi tế bào là một M OSFET có cực cổng
nối với hàng cực máng nối nguồn + V DD
cực nguồn nối qua “cầu chì” với cột. “Cầu
chì” là mấu chốt làm nên PROM; có 3
C á c cột
dạng cầu chì: điện trờ hợp kim NiCr hoặc
màng m ỏng NiBr; dây nối Silicon; lớp tiếp Hình 7.7. Mảng té bào nhớ MOS PROM.
xúc m ỏng p - N. Lập trình cho PROM là
làm nóng chảy cầu chì bằng xung điện nhờ m áy lập trình. Phẩn tử nhớ nào c ó cẩu chì bị dốt
chảy thì bit nhớ của nó vĩnh viễn là 0 , phẩn từ nhớ nào còn nguyên cầu chì thì bit nhớ cùa nó là
1. Mảng tế bào nhớ hình 7.7 là chưa lập trình, các cẩu chì còn nguyên biểu thị nhớ đểu bằng 1.

7.2.4. UV-EPROM (Ultraviolet Erasable program m ble rea d-on ly memory)


EPROM cho phép xóa và nạp thông tin nhiều lần do tế bào nhớ của nó là m ột mosfet có
cực cổng thả nổi. Hình 7.8a là m ảng tê' bào nhớ EPROM . M ỗi tế bào nhớ là m ột MOSFET có
2 cực cổng. Cực cổ n g thứ nhất là cực cổ n g điều khiển (như ờ cá c M OSFET thông thường)
được nối với hàng, phía dưới cực cổng thứ nhất là cực c ổ n g thứ hai, được bao bọc bởi chất
cách điện cao, nên được gọi là cực cổ n g thả nổi (flo a tin g -g a te). Cực m áng nối cột, cực nguổn
nối “đ ít” chung.

V qd

C ử a s ổ th ạ c h an h
C ực cổn g
th ả nổi

C ực cổn g - .
đ iể u k hiển

ui Lt Mr
K"
%
a) b)
C á c cột

Hình 7.8. a) Mảng phán tử nhớ mosfet cùa EPROM; b) Hình dáng vi mạch UV-EPROM.

166
Lập trình EPROM là quá trình áp một xung điện áp dương (đối với mosfet kênh n) giữa
cực nguồn và cực cổng điéu khiển trong một khoảng thời gian nhất định. V í dụ với xung điện
áp 21V kéo dài trong 50ms. Đ ó là quá trình nạp điện tử (điện tích âm) vào cực cổng thá nổi
theo cơ chê lờ tuyết. Khi kết thúc quá trình nạp, điện từ được lưu giữ vĩnh viễn (từ 10 đến 100
năm) ờ cực cổng thả nổi vì không có lối thoát. Phần tử nào được nạp thì cực cổng thả nổi cùa
nó được tích điện âm, quy ước là phần tử nhớ có bít nhớ bầng 1. Phần tử không được nạp quy
ước là phần từ nhớ c ó bít nhớ bằng 0 .
Xóa EPROM là quá trình chiếu tia cực tím (U V ) qua một cửa sổ thạch anh vào chip để giải
phóng điện tích khỏi cực cổng thả nổi. Bức xạ u v (bước sóng 254nm , cường độ bức xạ khoảng
15W s/cm2) tạo ra dòng photon trong lớp cách điện SiOj làm cho điện tử thoát xuống đế, quá
trình này xảy ra đổng thời trên toàn chip trong thời gian từ 5 đến 20 phút, phục hồi toàn bộ các
phần từ nhớ về trạng thái ban đầu. Hình 7.8b là hình dạng đóng gói cùa vi mạch nhớ xóa bằng
tia cực tím U V -E PR O M . Khi nạp cũng như khi xóa vi mạch phải được tháo ra khỏi mạch. Sau
khi xóa, cùa sổ thạch anh phải được che kín để tránh xạ u v tự nhiên.

7.2.5. EEPROM (electrically erasabel PROM)


Khác với EPROM , EEPROM cho phép xóa và lập trình bằng điện ngay trên mạch điện
(không cần tháo vi m ạch ra khỏi mạch điện). N ó cho phép xóa và lập trình byte (byte nào
không cần lập trình lại thì không cần xóa). Thời gian lập trình nhanh hơn, khoáng 10ms cho 1
byte, loại tốc độ nhanh có thể đạt 100 micro giây cho 1 byte, v ề cấu tạo thì EEPROM là cài
tiến của EPROM, lớp cách điện bao bọc cực cổng thả nổi mỏng hơn, cực cổng bình thường
(cực cổng điều khiển) và cực cổng thả nổi có một phẩn nhô ra gần sát vói cực máng. Khi đặt
một điện áp cao (ví dụ 2 1 V) âm nối vói máng, dương nối với cực cổng điểu khiển thì điện tử bị
đẩy vào cực cổng thả nổi làm cho cực cổng thả nổi tích điện âm (đây là quá trình nạp đối với
các phần tử nhớ kênh n). N ếu đổi cực tích điện áp thì điện tử thoát ra khỏi cực cổng thà nổi
(đây là quá trình xóa). Nhược điểm cùa EEPROM là ch ế tạo phức tạp, giá thành cao (gần 10
lần so với EPROM).

7.2.6. Vi m ạch ROM


EPROM OE- Chọn chip và
2048 X 8 PD/PGM- điều khiển
(8 )
Ao 0
(9)
A, J Z I
(6 )
A2 V (10)
(5)
Aa V 1“ (“ 11
——) Q2
Mảng
(4 )
Aa Vp L q tế bào nhớ
As A-- 2 - ĩ -Í ^ - Q 2048 X 8 bit
(2 ) 2047
As
A, m V
(23) <
Ae
A9
(2 2 )
7 112 -Q
Zỉ
Giải mã cột
(1 9 )
A10 10
b)
(1 8 )
p d /pg m
- T I Vcc-+5V Pin 24
H ìn h Z 9 a ) K ý h iệ u lo g ic vi m ạ ch E P R O M 27 1 6 ;
EN Vpp=+5V Pin 21
Vss=Gnd Pin 12 b) S ơ đ ồ khối c ấ u trú c củ a E P R O M 27 1 6 .

167
V i mạch ROM nói chung được chuẩn hóa theo dung lượng và số bit ra, thường gặp các vi
mạch nhớ ROM 2 5 6 x 4 (có 256 ô nhớ m ỗi ô 4 bít), 1024x8 51 2 x 1 ' hoặc 8 k 8 . 16k8, 32k8,
6 4 k 8 ,... Hình 7.9a là ký hiệu logic vi mạch nhớ Intel 2716. N ó là vi m ạch EPROM điển hình,
với 2048 ô nhớ (2048 địa chỉ) m ỗi ô 8 bít, với sơ đổ khối cấu trúc hình 7.9b. Các c h ế độ hoạt
động của vi mạch tóm tắt ở bảng 7.1.
Bảng 7.1. Các ché độ hoạt động của vi mạch 2716.

Các chân PD/PGM E(0E) Vpp Các lôi ra


Vcc
Chế độ (18) (20) (21) (24) ( 9 ..1 1 .13 ...17)

Read(đọc) L L +5 +5 Dm
stanby (chờ) H X +5 +5 High z (cao trờ)

Program (lặp trinh) L -» H H +25 +5 D„

Program verify (kiểm soát chương trinh) L L +25 +5 D«


Program inhibit (cấm lập trình) L H +25 +5 High z (cao trờ)

Chú thích các chân của vi m ạch 2716:


A ,,.. ,A |0: các chân địa chỉ; E hoặc OE: cho phép ra dữ liệu. Q „.. ,Q 7: các lối ra dữ liệu.
PD/PGM (power down/program) hoặc CE/PGM (chip enable/program): chọn chip hoặc lập trình.

7.3. BỘ NHỚ RAM


7.3.1. Phân loại
Có 2 họ RAM phân biệt là RAM
tĩnh (SRAM - Static R A M ) và RAM
động (D R A M - D ynam ic RAM ).
SRAM được c h ế tạo từ các công nghệ
bán dẫn Bipolar, M OS và BiMOS;
DRAM được ch ế tạo bằng công nghệ
MOS. Hình 7.10 là sơ đổ phân loại
RAM theo công nghệ c h ế tạo. N ói
chung SRAM dùng để lưu dữ liệu tạm
thời trong các hệ vi xử lỵ nhò, thường Hình 7.10. Sơ đó phân loai RAM.
ứng dụng trong các hệ điều khiển “nhúng” (em bedded control). Trong m áy tính (computer)
thường sử dụng nhiều D R A M hơn vì nó có mật độ cao hơn và giá rẻ hơn (giá thành/1 bít).
Tuy nhiên m ột loại D R A M có tốc độ rất cao thường được sử dụng dưới dạng bộ nhớ
“cache” cùa m áy tính tốc đ ộ cao, để lưu nhớ lệnh và dữ liệu.

7.3.2. SRAM
a ) P hần tủ n h ớ S R A M
M ỗi phẩn tử nhớ SR A M là m ột Flip Flop. Hình 7.1 la m ô tả tổng quát m ột phẩn từ nhớ
SRAM , nó là m ột D -la tch có điều khiển cho phép ghi tích cực thấp (ẠVR) và điều khiển cho
phép đọc tích cực thấp (/SEL). Khi /SEL tích cực thì số liệu đã được nạp sẽ được đưa đến lối ra
(OUT), Khi cả /SE L và /W R đều tích cực thì D -latch mở (open) và số liệu ớ lối vào IN được
nạp sang lối ra Q. Hình 7.1 lb v í dụ m ột máng nhớ SRAM trong một bộ nhớ R A M đơn giản
(dung lượng 8 x 4 = 32 bit).

168
— IN OUT
IN ---- Ị ^ > -----• OUT — — 0 SEL
/SEL .
— c WR
/WR . 2 _ >

DIN2 DIÑO

DOUT3 DOUT2 DOUT1

b)

Hình 7.11.a) Phán tử nhớ SRAM; b) Màng nhớ SRAM

169
b) Câu trúc và tồ chức của S R A M
Tổ chức địa chi của SRAM cũng giống như cùa ROM. Sự khác biệtlà SRAM c ó các lối
vào số liệu và lối vào điều khiển read/write, còn ROM không có các lối vào này. Tổ chức ô nhớ
của SRAM có các loại 1 bit, 4 bit (nibble), __
8 bit (byte) hoặc nhiều byte (16. 24 hoặc ~ D s=
32), với số lượng ô nhớ thường là lk , 4k,
8 k, 16k,... Hình 7.12 m ô tả sơ đổ khối cấu

trúc của SRAM 32kx8. N ó gồm ma trận


nhớ có tổ chức 256 hàng và 128x8 cột,
khối mạch giải mã địa chỉ hàng với 8 lối
vào, khối mạch giải mã địa chỉ cột với 7
lối vào (tổng số bít địa chỉ là 8 + 7 = 15,
địa chỉ hóa được 32.768 ô nhớ 8 bít, tương
ứng với dung lượng 2 6 2 .1 4 4 bít hoặc
32kbyte), các tầng đệm (buffer) số liệu
vào và đệm số liệu ra 3 trạng thái. Các lối
vào điều khiển gồm: chọn chip /E (hoặc
/CS), cho phép ghi / w (hoặc /W R ) và cho
phép lối ra số liệu /G (hoặc /OE).
c) Chu trình dọc và viết
Hình 7.13a, b là đổ thị thời gian chu Hình 7.12. Sơ dó khối cấu trúc SRAM 32kx8.
trình đọc và viết đối với SRAM
-ỈR C -

Địa chỉ cũ Địa chỉ mới xác lập


:X n
“ ỈAQ
-ỈE Q -
E (Chọn chip)

-ỈG C T ~
G (Cho phép ra)
T ĩ
I__________
Hi-Z
Q (Dữ liệu ra) • Cũ y Dữ liệu mới xác lạ p ^ —
I

------------------------------ twc--------------- --------------- H

Địa chỉ cũ ^ Địa chỉ mới xác lập


X
1

E (Chọn chip)
V T
b) _
w (Cho phép viết) i
_____ r ~
T W(D)—

D (Dữ liệu vào) 'y Dữ liệu mới xác lập

Hình 7.13. Chu trinh đọc và viết SRAM: a) Đọc (Read);\- b) Viết
V iP t A A /ritp \
(Write)

170
Chu trình đọc (hình 7 .13a) là chu trình thời gian xảy ra đối với các tín hiệu địa chỉ. tín hiệu
cho phép chọn chip, tín hiệu cho phép lối ra khi đọc ra một đơn vị dữ liệu (bit, nibble, byte,
hoặc nhiều byte) cua m ột ô nhớ trong bộ nhớ. Các tín hiệu này đo trung tâm điều khiển (ví dụ
CPU) đưa ra:
- Mã địa chỉ hợp lệ được áp vào các lối vào địa chì trong khoảng thời gian tRC, gọi là thời
gian chu trình đọc.
- Khoảng thời gian từ khi /G được xác nhận là tích cực (L) đến khi dữ liệu hợp lệ (lấy theo
địa chỉ đã chọn) xuất hiện ờ kênh dữ liệu gọi là thời gian truy cập cho phép tCQ.
- Khoảng thời gian từ khi bắt đầu địa chỉ hợp lệ đến khi xuất hiện dữ liệu ờ data-bus, gọi
là thời gian truy cập địa chỉ tAQ.
- Khoảng thời gian từ khi tín hiệu /E nhảy từ H xuống L, đến khi xuất hiện dữ liệu ớ data-
bus, gọi là thời gian truy cập chip tEQ.
Chu trình viết (hình 7.13b) gồm:
- Khoảng thời gian địa chì hợp lệ tồn tại trẽn các đường dịa chỉ, gọi là thời gian chu
trình viết twc.
- Khoảng thời gian từ khi bắt đầu địa chỉ hợp lệ đến khi tín hiệu /w xuống L, gọi là thời
gian thiết lập địa chỉ ts,A). Khoảng thời gian / w nằm ờ mức L là độ rộng xung viết.
- Khoảng thời gian từ khi có dữ liệu vào hợp lệ trên các lối vào số liệu đến khi /w chuyển
lẽn H, gọi là thời gian dữ liệu vào được thiết lặp tW(D).
- Khoảng thời gian dữ liệu còn tồn tại hợp lệ khi /w đã ờ mức H, gọi là thời gian duy trì
dữ liệu th(Dl.
Cũng như chu trình đọc, trong thời gian chu trình viết một đơn vị dữ liệu sẽ được ghi vào bộ nhớ.
Ngoài khoảng thời gian dữ liệu hợp lệ thì các lối ra và các lối vào số liệu đều ờ trạng thái cao trở Hi-Z.
d ) V im ạch S R A M
Có nhiều vi mạch
6164
SRAM với dung lượng và
tốc độ khác nhau. V í dụ
SRAM 128k8 (1M bit) có
thời gian truy cập khoảng
70ns, loại 2 5 6 x 4 (lk b it) có
thời gian truy cập chỉ 7ns, -11

loại 8 k 8 là 1 2 ns v .v ... -12


-13
Hình 7.14 là ký hiệu
-1 5
logic của một vài vi mạch -16
SRAM tiêu chuẩn: vi mạch -1 7
6164 và vi mạch 6 2 6 4 có -1 8
tổ chức 8 k 8 , vi mạch -1 9
5256-32k 8 . Các vi mạch
này có các lối vào/ra sô'
liệu chung cả đọc và viết,
ket nối data-bus 2 chiều,
nhờ điều khiển các tầng
đêm ra 3 trạng thái như mô
tà trẽn hình 7.15.
Hinh 7.14. Ký hiệu logic cùa các vi mạch SRAM 6164 (6264) và 5256.

171
D 0U T 3 D 0U T 2 DOUT1 DOUTO

H ìn h 7.15. Mạch đ ệm lối ra có điéu khiển kết nói 2 chiéu I/O với d a ta -b u s củ a m ột SRAM.

7.3.3. DRAM
d) Tù bào nhớ
T ế bào nhớ cùa DRAM là loại tế bào nhớ đơn gián nhất và có kích thước nhó nhất. Hình
7 .16a m ô tá một tê' bào nhớ trong m áng nhớ, nó chi là một tụ diện nhó có diện dung vài pF. Khi
tụ được nạp đầy điện tích thì trạng thái logic cúa nó là 1, khi tụ phóng hết diện tích thi trạng
thái logic cúa nó là 0. Tụ được điều khiến nạp hoặc phóng điện nhờ một M OSFET có cực cổng
nối với hàng địa chi và cực m áng nối với cột địa chí. Thực tế thì tụ điện được hình thành trong
MOSFET khi chê tạo, nên tẽ bào nhớ D R A M là tế bào nhớ chỉ có 1 Iranzito (tế bào nhớ cùa
SRAM là n ip -flo p gồm 4 đến 6 tranzito), nhưng phần tranzito chi đóng vai trò một chuyển
mạch (on /off) đẽ nối tụ điện với cột (đường bít) khi dọc hoặc khi viết. Ghi bit 1 là quá trình nạp
điện cho tụ từ đường bít có mức logic H, ghi bít 0 là quá trình cho tụ phóng điện về đường bit
có logic 0. Bit nhớ 0 tồn tại vĩnh viển. Nhưng bit nhớ 1, do rò rỉ, sau m ột thời gian ngán sê bị
mất điện tích và trờ thành bit 0. D o đó đế duy trì bit 1 cẩn phải thường xuyên làm tươi
(R efreshing) ô nhớ, tức thường xuyén bổ sung điện tích cho tụ. Đ ó là lý do tại sao gọi là RAM
động. Hình 7 . 16b là mạch điện với các chức năng ghi (viết), đọc và làm tươi đối với một tế bào
nhớ động.

C ộ t - đ ư ờ n g bit
L àm tươi (R e fr e s h )

H ả n g (R o w )

Tụ c
(tế b à o nhớ)
b)

H ìn h 7.16. a) T ế b ào nhớ DRAM; b) Mạch điên tế bào nhớ DRAM.

Hoạt động ghi, đọc và làm tươi của m ạch hình 7 .16b như sau:
- Ghi bit 1: R ow = H, FET m ở (on); D,„ = H; / w = L. D„u, = x; R efresh = L: tụ nạp điện từ
cột (HIGH).

172
- Ghi bit 0: Row = H, FET mờ (on); Din = L; / w = L, D„„, = x; Refresh = L: Tụ phóng điện
đến cột (LOW ).
- Đ ọc bit 1/0: Row = H, FET mờ (on); Din = x; / w = H; Refresh = L. Đ iện áp cột bằng áp
trên tụ, bang H/L. D,,~ = 1/0.
- Làm tươi: Row = H, FET mờ (on); Din = x; / w = H, D„„, = H; Refresh = H: Tụ nạp điện
từ cột (HIGH).
b) Cấu trúc của D RAM
D R A M thường có tổ chức ô nhớ 1 bit, m ỗi phần từ nhớ có một địa chì hàng và cột riêng.
Toàn bộ các phần tử nhứ trong mảng chung nhau một lối vào số liệu và một lối ra số liệu. Màng
nhớ của DRAM là một ma trận vuông (N hàng X N cột).
Địa chi của DR A M được tổ chức theo kiểu dồn kênh (multiplexer), n lối vào địa chỉ dùng
chung cho cà giải mã hàng và giải mã cột.
Mạch logic làm tươi các ô nhớ cùa DRAM có thể là một khối riêng, nhưng hầu hết các
chip DRAM hiện nay đều có chứa khối mạch logic làm tươi.

CAS
RAS

Đ ịa c h ỉ \ Đ ịa c h i h à n g 'ị Đ ịa c h ỉ c ộ t

RAS -------

v _ /

Đ ịa c h ỉ h à n g đ ư ợ c c h ố t k h i R A S = L O W Đ ịa c h ỉ c ộ t đ ư ợ c c h ố t k h i C A S = L O W

Hìn h 7.17. D RAM : a) S ơ đổ khối cấu trúc của D RAM 1Mx1bit; b) Đ ổ thị thời gian cá c tín hiệu địa chỉ vào.

1 73
V í dụ hình 7.17a là sơ đồ khối cấu trúc cùa một DRAM dung lượng 1 m ega bit (1.0 4 8 .5 7 6
bít). Trong ký hiệu logic người ta ghi 1Mbit, nhưng cấu trúc vật lý cùa m àng nhớ là ma trận
vuông 1024x1024.
Mười lối vào địa chỉ được sử dụng 2 lẩn cho một thao tác địa chi: đầu tiên là giải mã địa
chỉ hàng khi tín hiệu chọn hàng /R A S tích cực, tiếp theo là giải mã địa chì cột khi tín hiệu chọn
cột /C A S tích cực. Tín hiệu ra cùa giải mã hàng và cột là tín hiệu chọn 1 trong 2'° thay vì chọn
1 trong 22". D o đó 10 lối vào địa chỉ (A „ ...A ,) tương đương với 2 0 lối vào địa chi (A ,,...A „ ).
Tuy nhiên chúng được chốt lại (latch), để sau khi kết thúc giải mã thì đổng thời tác động lên
hàng và cột cùa phấn tử nhớ đã được chọn. Hình 7.17b là đồ thị thời gian các tín hiệu địa chỉ
vào được chọn để giải mã theo các tín hiệu /R A S và /CAS.

d) Các chu trình đọc, viết và làm tươi


Hình 7.18a, b là đồ thị thời gian m ô tả chu trình đọc (read cy cle) và chu trình viết (write
cycle) cùa D RAM . Có hai ch ế độ làm tươi là c h ế độ đổng loạt (Burst refresh) và c h ế độ phãn
tán (Distributed refresh). Trong c h ế độ làm tươi đổng loạt tất cả các hàng được làm tươi liên
tiếp mất 8 ms một chu trình. Trong chu trình làm tươi này các hoạt động đọc và viết bị đình chỉ.
Trong ch ế độ làm tươi phân tán, m ỗi hàng được làm tươi ờ khoảng giữa chu trình đọc và
chu trình viết. N ếu chu trình làm tươi cùa bộ nhớ có 1024 hàng là 8 ms thì m ỗi hàng làm tươi
mất 7,8ns.

--------------11 chu trình đọc— !<-------------1 chu trình viết--------►!

Địa chỉ (Addr)^ Địa chì hàng ^ Địa chì (Addr)]( Địa chỉ hàng y Địa chì cột ỵ J

RAS \ _ f
\ \_/ 1
\-J V J
H 7 \I w \_______ L
Dữ liệu ra Dout Ị Dữ liệu \ D ĩ liệu váo PIN Hi-Z____________ / Dữ liệu \
\ xác lạp Ị \ xác lập r

a) b)

Hinh 7.13. Đó thị thời gian mô tả chu trinh đọc (read cycle) và chu trinh viết (write cycle) cùa DRAM:
a) Chu trinh đọc; b) Chu trinh viết.

cl) Vi mạch D R A M
Đặc điểm của các chip D R A M là mật độ tế bào/chip rất cao (có thê’ đạt tới 10 5
M O SFET /lm m 2), công suất tiêu thụ thấp (dưới 2 m W /lkbit). S ố lượng vi m ạch D R A M chiếm
tới 50% thị phần vi m ạch nhớ.

Hình 7.19 là ký hiệu logic của hai loại vi mạch (loại 1 lối ra và loại 4 lối ra). Sự khác nhau
là: loại 1 lối ra gọi là loại tổ chức bít. nó có một lối vào dữ liệu D ln và m ột lối ra dữ liệu D
không có lối vào cho phép; loại 4 lối ra gọi là loại tổ chức nibble (4 bit), nó có 4 lối vào ra 2
:hiều D|0], D,o 2 , D i01, D |0 4 và một lối vào cho phép dữ liệu ra /OE.

174
256K X 1 256K X 4 16M X 1 4M X 4
4256 44256 516100 516400

Hình 7.19. Ký hiệu logic của vi mạch DRAM.

7.4. MỘT s ố BỘ NHỚ KHÁC


7.4.1. Bộ nhỏ NV-RAM
N V -R A M (non volatile R A M ) là bộ nhớ RAM không bị mất dữ liệu khi bị mất nguồn
năng lượng cung cấp. N V -R A M được chê' tạo theo còng nghệ MOS. Trên cùng một chip có hai
mảng nhớ: một mảng SRAM và một mảng EEPROM. Khi làm việc b ìn h thường thì dữ liệu
chứa trong RAM. Khi mất nguồn cung cấp thì dữ liệu được chuyển vào EEPROM. Khi được
cung cấp nguồn trở lại thì dữ liệu tự động nạp lại vào RAM.

7.4.2. Bộ nhố FLASH


Flash (chớp nhoáng) là thuật ngữ dùng để chỉ một loại bộ nhớ có tốc độ xóa rất nhanh
(khoảng ls). Cõng nghệ ch ế tạo bộ nhớ Flash là kết hợp công nghệ ch ế tạo EPROM và
EEPROM. Bộ nhớ Flash có nhược điểm là giá thành cao và khi xóa thì phải xóa toàn bộ, nhưng
nó có hầu hết các ưu điểm kỹ thuật mà các loại bộ nhớ khấc có không đầy đù:
- Không tổn thất (non Volatile);
- Mật độ tế bào/chip cao;
- T ế bào 1 tranzito;
- Không cần làm tươi.

7.4.3. Bộ nhố FIFO


FIFO (First In-First Out) là tên gọi một loại bộ nhớ mà số liệu ghi vào trước (First In) thì
được đọc ra trước (First Out).

175
Thế hệ thứ nhất của bộ nhớ FIFO có cấu tạo gồm k thanh ghi dịch nối tiếp N bit. hoạt động
đổng bộ. M ỗi thanh ghi dịch được điều khiển ghi dịch sổ liệu vào hoặc quay vòng sô' liệu như
hình 7.20a. Khi tín hiệu điều khiển u = 1 thì Ds = D in và D được dịch phải theo xung dịch s.
Khi u = 0 thì D s = Q„ và số liệu được quay vòng.
Bộ nhớ thực hiện theo nguyên lý này còn gọi là bộ nhớ vòng. Ở bộ nhớ này thông tin từ
khi vào đến khi xuất hiện ở đẩu ra mất một khoảng thời gian là = (N - 1 )/fc, fc là tân rá
xung dịch.

Thanh ghi dịch N bit

Xung địch

_ rư u ư u i_ n _ FIFO JRTLTUUITL
c)
Hinh 7.20a) Thanh ghi dịch và dịch vỏng;
b) Mõ hình logic cùa bộ nhớ FIFO;
c) Bộ nhớ FIFO biến dãy xung váo chậm thành dãy xung ra nhanh.

Bộ nhớ FIFO thế hệ thứ hai dùng làm bộ đệm dữ liệu giữa hai hệ thống xử lý số liệu (phát
và thu) có tốc độ xử lý số liệu rất khác nhau. Hình 7.20b là m ô hình logic cùa bộ nhớ FIFO
này. Bộ ghi dịch cùa nó là một bộ nhớ RAM đặc biệt, gọi là RAM 2 cổng (m ột cổng vào dữ
liệu và một cổng ra dữ liệu). Khác với bộ ghi dịch thông thường (hình 7.20a), ờ bộ ghi dịch
dùng RAM số liệu ra không phụ thuộc vào số liệu vào. Quá trình ghi số liệu và đọc số liệu
được điểu khiển bởi hai thanh ghi địa chỉ khác nhau (thanh ghi địa chỉ “ghi vào” và (hanh ghi
địa chi “đọc ra”). M ỗi thanh ghi đưa ra một con trỏ địa chi. Lúc ghi, con trỏ địa chì ghi A,„ phải
trỏ đúng vào địa chỉ cùa ô nhớ trống (chưa có dữ liệu) trẽn cùng, lúc đọc thì con trờ địa chi đọc
A„nl phải trỏ đúng vào địa chỉ ô nhớ đã chứa dữ liệu dưới cùng cùa khoảng nhớ. Hai con tró địa
chỉ tiến cùng chiều và theo chu trình nên bộ FIFO còn gọi là bộ nhớ vòng (vì thè nên trén hình
7.20b m ô tả bộ nhớ c ó các ô nhớ sắp xếp thành vòng tròn, khoảng nhớ gồm các ô nhớ đang
chứa dữ liệu - bôi đen). N hư vậy, ở bộ nhớ FIFO số liệu không dịch mà con tró địa chi dịch,
tốc độ dịch phụ thuộc vào tốc độ số liệu vào và tốc độ xử lý số liệu cùa thiẽt bị thu nhận số liệu.

176
Vi dụ ứng dụng bộ nhớ FIFO làm tầng đệm dữ liệu giữa bàn phím có tốc độ dữ liệu rất
chậm với máy tính có tốc độ xứ lý số liệu rất nhanh. Hoặc giữa máy tính có tốc độ truyẽn số
liệu rất nhanh với m áy in có tốc độ xử lý số liệu rất chậm.
Mình 7.20c minh họa ứng dụng bộ nhớ FIFO biến một dãy xung tốc độ chậm và không đều
thành một dãy xung tốc độ nhanh và đéu.

7.5. ỨNG DỤNG CÁC BỘ NHỚ


Các bộ nhớ nói chung dùng đê' ghi nhớ chương trình và dữ liệu trong các hệ thống kỹ
thuật số.
Các bộ nhớ RAM thường được sử dụng để lưu giữ tạm thời dữ liệu trong quá trinh xứ lý tín
hiệu sổ. N ó là phần không thể thiếu trong khối các bộ nhớ cúa m áy vi tính và các hệ vi xứ lý
chuyên dụng.
Các bộ nhớ chí đọc ROM (PROM. EPROM ...) cũng là phần cần thiết trong khối bộ nhớ
cùa các hệ vi xứ lý, dùng để chứa các chương trinh điều hành, các báng b iể u ...
Đặc biệt ROM còn hay được dùng để tổng hợp mạch logic tổ hợp và mạch logic dãy (xem
chương 4, 8 ), ví dụ các mạch biến đổi mã.
Dưới đây chi xét vài ứng dụng đặc biệt cùa ROM.

7.5.1. Nhớ bảng số (Look-up-table)


Trong máy tính giá trị các hàm sô' như sinx, cosx, e \ lnx, Vx v .v ... được cho dưói dạng
bảng số và được ghi vào trong
các bộ nhớ ROM. Khi cần sứ N M
dụng thì đọc ra theo kiểu tra x0 ^ ^ - W Y0
bảng. Hình 7.21a là sơ đồ X Xi J —L> ROM J— Y,
\ I M X 2N bit ỉ I
mạch ROM nhớ hàm Y = f(x). Xn 1 Ym ,

Mã địa chí N bit biểu diễn a)


các giá trị cùa biến độc lập X,
Y2 Y, Vo
mã dữ liệu ra M bít biểu diển 7

các giá trị cùa hàm. Có 2 M giá


1 1 1 6 _
1 1 0
1 0 1
5
V Ị
trị biên độ khác nhau cùa hàm 4
1 0 0 2
và có 2 n giá trị lấy mẫu cùa >< 3 V ///Ạ '/■ • * 1
0 1 1 II 2
hàm được ghi nhớ trong ROM 0 1 0 >- 1 * y/. •• 1
với sai số là 1/2M. ROM phải 0 0 1 0 W
có dung lượng là M .2N bít. 0 0 0 3 2 4 6 8 10 12 14
Hình 7.2 lb ví dụ đơn
giản, nhớ một đường corig Y = X
f(x). Với M = 3, có 8 giá trị X
biên dộ và với N = 4, có 16 giá X
X OOOOOOOOT-T-T-T-T-'t-T-T-
trị lấy mẫu.
Hình 7 .2 lb cho thấy rằng 4---------------------2 ^ 6 ------------
từ địa chí 11( 1 0 1 1 ) đến địa chi b)
15(1111) giá trị của hàm nhận
Hình 7.213) Mạch ROM hàm Y = f(x);
được là như nhau: Y = 7(111).
b) Mô tả các giá lấy máu vá các giá tri hàm.

177
Ví dụ: V i m ạch ROM M M 4220, dung lượng 1024 bít được lập trình ghi nhớ hàm Y = sincp
với 0 < <p < 180“ và với độ phàn giải 8 bít. Góc (p được chia thành 128 giá trị (lấy máu). Đ ịa chỉ

ứng với m ột giá trị góc (p là -^ ị-1 2 8 và quy ra số nhị phán.

Ví dụ: Với <p = 45" thì - ^ - 1 2 8 = ^ 128 = 6 4 , đổi ra số nhị phân là 1000000, ờ địa chỉ này

hàm Y = sin45“ nhận được là (0 < Y < 1): Số nhị phân + 1 0 1 1 0 1 0 1 ’ Sô' thập phàn + 0,707131.

7.5.2. ứng dụng ROM làm m ạch phát hàm


Hình 7.22a là m ạch phát hàm chu kỳ có dạng sóng ra như hình 7.22b.

H ìn h 7.22. Mạch phát hám dùng ROM: a) S ơ đ ó khối; b) Dạng sóng ra (U,); c) Hàm Y = f(x); d) Q uan h ệ X(t).

Giá trị cùa hàm Y = f(x), hình 7.22c, được lấy mẫu và ghi vào ROM. Một bộ đếm địa chỉ
dùng để đọc ra các giá trị của hàm theo thứ tự lấy mẫu và lặp lại. Bộ biến đổi D A C (chương 10)
sẽ biến đổi các giá trị hàm ở dạng số nhị phân thành dạng tương tự gắn đúng U A, tỳ lệ với Y =
f(x). Giá trị X , tức địa chỉ tăng tuyến tính theo thời gian (hình 7.22d), do đó U A là hàm thời gian.
N íu bộ đếm đếm đến được n xung rồi lặp lại thì chu kỳ của U r là nTc. Trong đó Tt. là chu kỳ
xung đếm. Nếu thay đổi tẩn số xung đếm fc thì tẩn số sóng ra thay đổi. U A là điện áp ra cùa DAC,
có dạng bậc thang do đó phải đưa qua bộ lọc thông thấp để được dạng sóng hình 7.22b.

7.5.3. Ghép nối bộ nhó vỏi hệ thống nP


Hình 7.23 là m ột ví dụ về cách ghép nối và điều khiển hoạt động của 4 vi m ạch ROM
trong hệ thống vi xử lý. V i m ạch EPROM 2 7 2 5 6 có 15 bit địa chì (A ,)...A 14) và dung lượng là
32k byte. T ổng dung lượng cùa 4 vi mạch EPROM là 128k byte. Cách ghép các EPROM là nối
song song địa chỉ với bus địa chỉ A (1 9 -0 ), nối song song các đường dữ liệu với bus dữ liệu
D (7 -0 ). 4 vi m ạch EPROM hoạt động nối tiếp nhờ m ạch giải mã chọn chip (74L S 139) có 2 lối
vào địa chỉ là A | 5, A ,6.

Không gian địa chì của nP là IM byte (2 20), nhưng mạch được thiết k ế để định xứ ROM ờ
128k cao nhất của không gian địa chỉ. Tức là ROM được địa chỉ hóa khi 3 bít địa chi cao nhất
A |7, A 18, A ì9 (cùa nP) đều bằng 1. Khi đó m ột cổng N A N D (74L S10) với 3 lối vào A 17, A,„, A l9
sẽ tạo ra một tín hiệu tích cực thấp /K M E M cho phép vi mạch giải mã chọn chip hoạt động. Như vây,
hệ thống 4 vi mạch ROM có 17 đường địa chỉ (A ,,... A l6) địa chỉ hóa 128k byte. Chú ý rằng khi địa
chỉ đã hợp lệ thi nP đưa ra lệnh đọc /R D tác động lên lối vào cho phép/OE để xuất dữ liệu lén bus.

178
Hình 7.23. Ghép 4 vi mạch EPROM với hệ thống vi xử lý.

CÂU HỎI VÀ BÀI TẬP CHƯƠNG 7


7.1. M ô tà các tế bào nhớ bán d ỉn và nguyên lý làm việc cùa từng loại tế bào nhớ.
7.2. Hãy m ô tả m ột mảng nhớ tổ chức bít và mảng nhớ tổ chức từ.
7.3. So sánh cách tổ chức địa chì cùa DRAM với cách tổ chức địa chi cùa các bộ nhớ khấc.
7.4. Hãy tìm hiểu, ngoài bộ nhớ bán dẫn còn có những loại bộ nhớ nào thường dùng Irong
kỹ thuật xử lý và điều khiển số?
7.5. Thiết kế m ột mạch tạo hàm Y = Asincot bằng ROM 256x8.
7.6. Thiết kế sơ đồ khối một mạch đo lường một đại lượng vật lý (ví dụ đo nhiệt độ) với
sensor có đặc tính phi tuyến cho trước. Mạch đó có sử dụng ROM nhớ đặc tính sensor để phép
đo không bị sai sổ phi tuyến.
7.7. Thành lập một mạch nhớ 256x8 bằng 2 vi mạch nhớ ROM 256x4.

7.8. Thành lập m ột mạch nhớ ROM 512 x 4 từ 2 vi mạch ROM 256x4.
7.9. Cần phải bổ sung thêm bao nhiêu đường địa chỉ và cách thực hiện như thế nào khi
ghép 8 vi mạch nhớ 32k8 để tãng dung lượng nhưng không tãng độ rộng từ?

179
8

TỔNG HỢP HỆ LOGIC DÃY ĐỒNG BỘ


TỪ CÁC VI MẠCH MSI VÀ LSI

Chương này đề cập tói việc tổng hợp mạch logic dãy đồng bộ từ các vi mạch MSI và LSI bao gồm:
- Tổng hợp các mạch dãy dùng ROM;
- Tổng hợp mạch dãy từ bộ đếm;
- Tổng hợp mạch dãy dùng PLD.

8.1. LựA CHỌN CÁC PHAN t ử ch o t h iế t k ế c á c mach


LOGIC DÃY
Việc tổng hợp mạch dãy
dựa trên cơ sở hai m ô hình cấu
trúc đã khảo sát ờ chương 6 : M ô
hình Moore (hình 8.1) và mô
hình M ealy (hình 8.2).
V iệc lựa chọn các linh
kiện thiết kế phụ thuộc vào
yêu cầu bài toán và điểu kiện
thiết kế. Đ ố i với m ạch lo g ic Hình 8.1. Mô hinh máy trạng thải Moore.
dãy, việc lựa chọn các linh
kiện có thể được phàn chia
thành các nhóm như sau.
1. Mạch logic đầu ra vá mạch
logic của trạng thái tiếp ửìeo.
Bản chất các m ạch logic
đầu ra và logic cho trạng thái
tiếp theo (m ạch kích thích) là
các mạch logic tổ hợp. Các linh
Hinh 8.2. Mô hinh mấy trạng thái Mealỵ.
kiện có thể chọn ờ đây là:
- Các cổng logic rời (N A N D , N O R ,...)-
- Bộ dồn kênh (M U X ).
- Bộ giải mã (D ecoders).
- ROMs: Trong trường hợp sử dụng ROM để thiết k ế m ạch logic tổ hợp, các biến đầu vào
cùa hàm logic được nối với các chân địa chi cùa ROM , còn các bít trong ô nhớ tương ứng với
các địa chi (là tổ hợp các biến đầu vào) sẽ cất giữ giá trị hàm logic tương ứng. N ếu m ỗi õ nhớ
có n bit thì ROM có thể được sử dụng để tạo ra n hàm logic khác nhau với số biến là số các
đường địa chỉ của bộ nhớ.

180
- PLAs/PALs là các màng A N D , OR có thể lập trình được, thường được sử dụng để thiết
kế các mạch logic tổ hợp.
2. Linh kiện chọn cho bộ nhớ ttạng thái.
- Các Flip Flop rời (D hay J - K flip flop);
- PALs có chứa thanh ghi (flip flop);
- Thanh ghi dịch;
- Bộ đếm.
3. Thiết k ế hoàn chỉnh mạch logic dãy.
Hiện nay với sự phát triển cùa công nghệ ch ế tạo vi mạch số, các vi mạch khả trình cỡ lớn
FPGA (Field Programable Gate Array) có tích hợp sán các cổng logic cơ bản và các flip-flop
với số lượng lớn cũng được nhiều kỹ sư thiết kế lựa chọn cho các ứng dụng lớn. Điều này cho
phép xây dựng các mạch logic dãy chì trẽn một chip, giảm đáng kể kích thước mạch in và thời
gian thiết k ế thử nghiệm sản phẩm.
Phương pháp thiết kế kinh điển là dùng các cổng logic và các flip -flop rời đã trình bày ở
chương 6 . Trong chương này, m ột số phương pháp xây dựng mạch logic dãy dựa trên các linh
kiện có độ tích hợp vừa MSI và lớn LSI sẽ được trình bày.

8.2. THIẾT KẾ MẠCH DÃY DÙNG ROM


Ta sừ dụng ROM để thực hiện chức năng mạch cho trạng thái tiếp theo (mạch kích thích)
và mạch logic đẩu ra. Còn các thanh ghi được sử dụng làm chức năng bộ nhớ trạng thái.
Hình 8.3 là sơ đổ cấu trúc
mạch dãy xây dựng trên cơ sờ
dùng ROM và thanh ghi. Đặt lên
các đầu vào địa chỉ cùa ROM
(Ao đến A m+n_|) là m biến vào
(inputs) và n biến trạng thái (biến
trong). Trong không gian địa chỉ
cùa ROM tại m ỗi ô nhớ ghi trạng
thái trong tiếp theo gồm n biến
trạng thái và p biến đầu ra.
Việc dùng ROM thiết k ế mạch dãy làm giảm nhẹ việc
thiết kế phần cứng của các kỹ sư. Công việc của nhà thiết
kế thực chất chỉ là ghi toàn bộ graph trạng thái mô tả hoạt
động cùa mạch dãy vào trong không gian bộ nhớ ROM.
VI dụ 8.1. M ạch logic dãy có hai biến vào X, và x 2, hai
biến ra y ,, y 2 và ba trạng thái trong S(l, s „ S,. Hình 8.4 là
graph trạng thái m ô tả hoạt động của mạch với:
X = X2X, là vectơ đâu vào: X,, = 00, X, = 01, x 2= 10, X , = 11.
Y là vectơ đầu ra Y = y 2y, với Y(| = 00, Y 01,
Y 2 = 10 và Y , = 11.
Giả thiết X , và Y , là các tổ hợp đầu vào và đầu ra í.-/. Graph trạng thái của mạch dãy.
không bao giờ xảy ra. Hãy sử đụng ROM và các thanh ghi để xây dựng mạch.

181
Trình tự thiết kế mạch như sau: Bảng 8.1. Bảng mã hòa các trang thài
- Mã hóa cá c trạng thái trong bằng hai biến trạng Trạng thái Biến trạng thái
thái (biến trong) Q ,và Q 2 (bảng 8.1).
q2 Q,
- Chọn ROM có ít nhất 4 đẩu vào địa chỉ: 2 đẩu để
đặt các biến vào X , , x 2 và 2 đẩu để đặt các biến trạng thái So 0 0
Q, , Q2. r o m đổng thời cũng phải có ít nhất 4 đầu ra 0,1 st 0 1
đến 0 3: 2 đầu để đưa các biến ra y, , y 2 và 2 đầu dùng cho 0
s2 1
các biến trạng thái Qi và Q2. Thanh ghi phải có ít nhất 4
bít là 4 D Flip Flop.
Sơ đồ cấu trúc mạch ờ hình 8.5.

Clock---------------------

X1 - 0„ -yi
Thanh
x2- o, — ► . y2

0 2 — ►
ghi
o3

Hình 8.5. Sơ đổ nguyên lý mạch dãy cho v( dụ 8.1.

- Lập trình cho ROM: Căn cứ theo graph trạng thái ờ hình 8.4, ta tiến hành lập trình cho ROM.

Bàng 8.2. Bảng lập trinh nội dung cho ROM


Đia chỉ Dữ liệu

A,(Q2) Aa(Q,) A ,M M x ,) 0 ,(Q 2) 0 ,( 0 ,) OM O0(y,)

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

0 0 1 1 X X X X

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

0 1 1 1 X X X X

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

1 0 1 0 0 1 0

1 0 1 1 X X X X

1 1 ũ X X X X

1 1 0 1 X X X X

1 1 1 X X X X

1 1 1 1 X X X X

182
8.3. THIẾT KẾ MẠCH DÃY DÙNG PLA/PAL
Công việc thiết kế mạch dãy
Clock -
dùng PLA/PAL loại không có thanh
m V
ghi) về cơ bản không khác gì thiết Input' p, Output
Thanh
kê sử dụng ROM. Trong phương
biến P L A /P A L
pháp này ta dùng PLA/PAL để xây vào ghi
dựng mạch trạng thái tiếp theo n' ầ
(mạch kích thích) và mạch trạng
thái đầu ra. Hình 8 . 6 là sơ đồ khối
của mạch dãy sử dụng PLA/PAL. Hình 8.6. Sơ đồ khối mạch dãy sử dụng PLA hoặc PAL.

8.4. THIẾT KẾ MẠCH LOGIC DÃY DựA TRÊN BỘ ĐEM


Vi mạch đếm là một mạch logic dãy. Thông thường các trạng thái của bộ đếm được mã
hóa theo mã nhị phân. Khi có xung nhịp clock, nội dung của bộ đếm sẽ tăng (hoặc giảm) đi
một đơn vị. Các vi m ạch đếm thường được thiết kế với các tính năng: đếm tãng/giảm
(Ưp/Down), xóa nội dung bộ nhớ (Reset hay Clear), nạp nội dung trực tiếp cho bộ đếm (Load),
giữ nguyên trạng thái (H old). Trong thiết kế mạch logic dãy, cửa ra của bộ đếm sẽ được sử
dụng như là các biến trạng thái còn các tín hiệu điều khiển sẽ đóng vai trò hàm logic điều khiển
việc chuyển trạng thái. Đ ể các hoạt động chuyển trạng thái diễn ra đúng thì các tín hiệu xóa và
nạp nội dung của bộ đếm phải là các tín hiệu đồng bộ với xung nhịp (có nhiều bộ đếm được
thiết kế với tín hiệu xóa không đồng bộ, có nghĩa là khi tín hiệu xóa tích cực thì nội dung của
bộ đếm sẽ bằng 0 bất kể có xung clock hay không). M ột ví dụ cụ thể đó là bộ đếm nhị phân
74x163. Đ ây là bộ đếm nhị phân 4 bit, đếm tăng với các tín hiệu X óa, Đ ếm và Nạp là các tín
hiệu được đồng bộ với xung nhịp (xung đếm). Hình 8.7 là sơ đồ chân của vi mạch 74x163.

DO Q0
D1 Q1 MR (Master Reset): xóa nội dung bộ đếm về 0
D2 Q2 DO-3 (Preset data input): các đầu vào đặt dữ liệu
D3 Q3
LOAD : cho phép nạp số liệu
RCO
ENP ENP, ENT: cho phép đếm
ENT RCO (Ripple Cary Out): đầu ra tích cực khi bộ đếm tràn
>CLK CLK (clock): xung nhịp
LOAD - LOAD
QO-3: đầu ra của bộ đếm
MR

Hình 8.7. Sơ đổ chân của bộ đếm 74x163

Nếu tín hiệu MR tích cực (MR = 0) thì nội dung của bộ đếm sẽ được đưa về 0 (chế độ xóa
nội dung bộ đếm). Trong trường hợp LOAD tích cực (LOAD = 0) còn tín hiệu MR không tích

cực (MR = 1) thì nội dung tại các đầu vào D3, D2, D1 và DO sẽ được chuyển đến đầu ra Q3, Q2,

Q1 và Q 0 (chê độ nạp số liệu). Nếu cả hai tín hiệu MR và LOAD không tích cực thì bộ đếm sẽ
hoạt động khi hai tín hiệu ENT và ENP đều tích cực (ENT = ENP = 1). Hình 8 .8 chỉ ra lưu đồ
cơ bản biểu diên việc chuyên trạng thái của máy, trạng thái sử dụng bộ đếm từ trạng thái n:

183
N ếu m uốn chuyển đến trạng thái n+1 thì tín hiệu đếm (U p)
cần được tích cực.
N ếu muốn chuyển đến trạng thái m thì tín hiệu nạp cần
được tích cực (LOAD = 0 nếu dùng 74x 163).
N ếu muốn chuyển đến trạng thái 0 thì tín hiệu C LEAR cần
được tích cực (MR = 0 nếu dùng 74x163).
Nếu muốn chuyển đến trạng thái n (không thay đổi trạng
thái) thì các tín hiệu giữ cần được tích cực.

Đ ể hiểu rõ phương pháp, chúng ta sẽ xem xét ví dụ sau: Hình 8.8. Sa đó chuyển
Thiết k ế mạch logic dãy đồng bộ với một tín hiệu vào là X và trạng thái cùa bô đém.

tín hiệu ra là Y. Tín hiệu ra sẽ bằng 1 nếu quan sát thấy chuỗi đầu vào có giá Irị 010. Nếu quan
sát íhấy chuỗi giá trị đầu vào là 100 thì mạch sẽ bị reset lại từ đầu (bài toán này thường được gọi
là bộ nhận dạng chuỗi bit).
init ok reset init
Đ ể hiểu yêu cẩu đầu bài, ta xem xét một
số chuỗi bít ở đẩu vào X: Input X o íịT o) 1 0 1c 1 0 ị£: 1 0

Trong chuỗi bít trẽn, chúng ta có thể quan


sát thấy có hai chuỗi 0 1 0 trước khi gặp chuỗi Output Y 0 0 0 ^1 0 1 0 0 0 0 0 0

1 0 0 làm reset lại hệ thống. Hình 8.9. Ví dụ chuỗi bit quan sát.
Đê’ thiết k í mạch, trước tiên chúng ta cần
xây dựng các trạng thái và chuyển trạng thái cùa hệ thống. Bảng 8.3 liệt kê các trạng thái và đẩu ra.

Bảng 8.3. Bảng trạng thái và aáura.

Đầu vào X
Ý nghĩa Trạng thái Đầu ra Y
0 1

Reset so S1 S2 0

Nhận được một bit 0 (kể từ Reset) S1 S3 S4 0

Nhận dược một bit 1 (kể từ Reset) S2 S5 S6 0

Nhận được chuỏi bit 00 (kể từ Reset) S3 S7 S8 0

Nhận được chuỗi bit 01 (kể từ Reset) S4 S9 S10 0

Nhặn được chuỗi bit 10 (kể từ Reset) S5 S11 S12 0

Nhặn được chuỗi bit 11 (kể từ Reset) S6 S13 S14 0

Nhận được ba bit 000 S7 S7 S8 0

Nhặn được ba bit 001 S8 S9 S10 0

Nhặn được ba bit 010 S9 SO S12 1

Nhận được ba bít 011 S10 S13 S14 0

Nhận được ba bit 100 S11 SO SO 0

Nhặn dược ba bit 101 S12 S9 S10 0

Nhận được ba bit 110 S13 S11 S12 0

Nhận được ba bit 111 S14 S13 S14 0

184
Vì chỉ quan tâm đến chuỗi ba bit 010 và 100, do đó ta chỉ cần xét chuỗi ba bit liên tiếp
nhau tính đến thời điểm hiện tại. Tổ hợp của ba bit ta có 8 trạng thái (S7 đến S14). Tuy nhiên
trước khi quan sát được chuỗi ba bit thì hệ thống phải trải qua các trạng thái chỉ có một bit và
hai bit kể từ lúc Reset (các trạng thái từ SI đến S6 ) và trạng thái R eset ban đầu. Như vậy hệ
thống có tất cả 15 trạng thái. Tuy nhiên ta có thể giảm số trạng thái của hệ thống khi sử dụng
khái niệm về hai trạng thái tương đương:
Hai trạng thái được coi là tương đương nếu ứng với rất cả các tổ hợp đầu vào, trạng thái
chuyển đến và đầu ra là như nhau.
Từ bảng trạng thái trên ta có thể thấy có các trạng thái tương đương sau:
S6 , S10 và S14 là tương đương.
S4, S8 và SI 2 là tương đương.
S3 và S7 là tương đương.
S5 và S I 3 là tương đương.
Như vậy ta có thể viết lại bảng chuyển trạng thái và đầu ra như sau:
Bảng 8.4. Bảng rút gọn các trạng thái.

X X
Trang thái Y Trạng thái Y
0 1 0 1
SO S1 S2 0 SO S1 S2 0
S1 S3 S4 0 S1 S3 S4 0
S2 S5 S6 0 S2 S5 S6 0
S3 S7 (-S3) S8(-S4) 0 S4 S9 S10 (-S6) 0
S4 S9 S10(~S6) 0
S5 S11 S12 (-S4) 0 S5 S11 S12(-S4) 0
S9 SO S12(-S4) 1
S6 S13 (-S5) S14(~S6) 0
S11 SO SO 0
S9 SO S12 (-S4) 1
S11 SO SO 0

a)
Từ bảng rút gọn các trạng thái trên bảng 8.4a ta lại nhận thấy các trạng thái sau là tương đương:
51 và S3 là tương đương.
52 và S6 là tương đương.
Như vậy bảng trạng thái và đầu ra cuối cùng thu được chỉ còn 7 trạng thái như ở bảng 8.4b.
Đ ể thuận tiện ta sẽ ký hiệu lại các trạng thái theo chỉ số tăng dần
Bảng 8.5. Bảng trạng thái và đầu ra sau khi đã rút gọn
Trạng thái Đầu vào X
Ý nghĩa Đấu ra Y
0 1
Reset SO S1 S2 0
Nhân đươc chuỗi chi toàn bit ũ kể từ Resel S1 S1 S3 0
Nhận được một bít 1 kể từ Reset hoặc chuõi 11 S2 S4 S2 0
Nhận dược chuỗi bit 01 S3 S5 S2 0
Nhân đươcchuói bit 10 S4 S6 S3 0
Nhân đươc chuôi bit 010 S5 S6 S3 1
Nhân đươc chuôi bit 100 S6 SO SO 0

185
Bước tiếp theo cùa thiết k ế đó là mã hóa các trạng thái đã được đặt tên với tổ hợp các biến
trạng thái (biến trong). V ới 7 trạng thái thì số biến trạng thái cần tối thiều là 3 biến. Trong ví dụ
này chúng ta sẽ sử dụng 3 đầu ra của bộ đếm làm biến trạng thái Q 2 Q, và Qn (đáu ra Q , không
sử dụng).
Bảng 8.6. Bảng gán tổ hợp các biến trạng thái

Tổ hạp biến trạng thái


Trạng thái
q2q, Qo
SO 000

S1 001

S2 101

S3 010

S4 110

S5 011

S6 100

Hình 8.9 chỉ ra sơ đổ chuyển trạng thái cùa hệ thống. Các mũi tên chỉ chiều chuyển trạng
thái. Trên các mũi tên ngoài điều kiện chuyển trạng thái là tín hiệu vào X , chúng ta ghi kèm
các ch ế độ hoạt động tương ứng cùa bộ đếm đẽ’ có thê’ thực hiện được các chuyển trạng thái đó.
V í dụ từ S3 (0 1 0 ) nếu đẩu vào X bằng 0 thì bộ đếm sẽ hoạt động bình thường (đếm ) để nội
dung bộ đếm tăng lên 1 tức là chuyển đến S5 (011). Còn nếu X bằng 1 thì bộ đếm cần hoạt
động ở ch ế độ nạp (load) để chuyển đến trạng thái S2 (101).

186
Như vậy từ biểu đổ trạng thái chúng ta cấn đưa ra bảng mô tá các tín hiệu “kích thích" cho
bộ đếm. Trong ví dụ sử dụng 74x163 có 6 tín hiệu cần điều khiển như trình bày trong bàng 8.7.
V í dụ nếu trạng thái hiện tại cùa hệ thống là 000 và tín hiệu đầu vào là X = 1 thi trạng thái

chuyển đến tiếp theo sẽ là 101, như vậy tín hiệu LOAD cùa bộ đếm cần được kích hoạt để thực
hiện hoạt động nạp số liệu đổng thời các đầu vào DO, D l, D2 cần có giá trị tương ứng là 101.
Nếu trạng thái hiện tại của hệ thống là 100 thì dù tín hiệu vào X có băng 0 hay 1 thì hệ thống sê

chuyển về trạng thái resei, khi đó tín hiệu MR cùa bộ đếm cán được kích hoạt.

Bàng 8.7. Các tin hiệu kích thích cho bộ đém 74x163.

Vào Trạng thái hiện tại Trạng thái tiếp theo Ra Tín hiệu điều khiển

X Q, Q, Qo q2 Q, Qo Y MR LOAD EN D2 D1 DO

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Từ bảng các tín hiệu kích thích, các hàm Iogic tương ứng có thể được thực hiện thông qua
các phương pháp thiết kế mạch tổ hợp thông thường. Trong ví dụ này ta có thê’ áp dụng phương
pháp bìa Các nô để tìm các hàm tối gián.

187
B ảng 8.8. Bia Các nô cho các tín hiệu điéu khiển và tín mẹu rỏ.

\Q iQ: 0 0 0
1 1
1 1
0 S \§ iQ o
11 10
00 01
XQ: \ X Q ì \

00 1 1 i 1 00 : 1 : 1 : 1 1 :

01 : 0; 1 X 1 01 X : 1 : X 0

: 0: 1 1
11 1."-. X 11 X i 1 : X 0

10 1 1 ị 1 1 10 0 ■ 1 ; 0 0

Bia Các nô cho tín hiệu MR

Bìa Các nô cho tín hiệu EN Bìa Các nô cho tín hiệu D2

\ § i Q o \Q iQ c
00 01 11 10 00 01 11 10
XQ : \ XQ: \

00 X X ! X ; X 00 : X ; X X ' X !

01 X X ' X ' 0 01 X X X 0

11 ; X X 1 : 11 X X X 0
I X ;

10 0 X : 1 : 0
10 : 1 ! X 0
: 1 :

Bia Các nô cho tín hiệu D1 Bìa Các nô cho tín hiệu DO

\Ç h Q o
00 01 11 10
xq2 \

00 0 0 ì" : 0
01 0 0 : X ' 0

11 0 0 : X ; 0

10 0 0 0
: Ị '

Bìa Các nô cho tín hiệu ra Y

188
mr = q 2+ q ,+ q„

L O A D = X Q 2 + Q ,Q „
E N = ( X + Q „ + Q | + Q 2)(X + Q 2)

D2 = (Qo + Qi )(Q2 + X) = Q ^ . Q . X
D, = Q , Q „ + Q 2X = D2

D„ —Q 0 Q2
Y = Q,Q„

DO Qo - o Qo
D1 Q1 - » Qi
D2 q2 -> Q2
D3 q3
RCO
ENP
CLK ENT
>CLK
LOAD
MR

74163

Hình 8.10. Sơ đó nguyên lý cùa hệ thống phát hiện chuỗi bit [010]
Trên sơ đổ nguyên lý có thể thấy ráng việc xây dựng mạch logic tổ hợp cho việc điều
khiển chuyển trạng thái là phức tạp nếu dùng các vi mạch rời. Một lựa chọn phù hợp cho việc
thiết kế các mạch dãy đồng bộ bới xung nhịp sử dụng bộ đếm đó là nếu sơ đồ chuyển trạng thái
ít phải sử dụng đến tin hiệu LOAD thí việc thiết kế mạch sẽ đơn gián hơn đo không phái điều
khiển cấc đầu vào nạp sô' liệu.

8.5. THIẾT KẾ MẠCH DÃY s ử DỰNG PLD c ó THANH GHI


M ột số các vi m ạch logic khả trình đơn giản (SPLD) như G A L 16V 8 hay PAL 16R, PAL
2 2 V 10đều có tích hợp các flip -flo p bên trong, điểu này rất thuận lợi cho việc thiết k í mạch
dãy vì trên một vi mạch PLD chúng ta có thể thiết kế mạch chuyển trạng thái tiếp theo (mạch
kích thích), m ạch đầu ra và bộ nhớ trạng thái (các Flip Flop). Đ ể hiểu rõ hơn ứng dụng PLD
trong thiết kế m ạch dãy chúng ta sẽ xem xét ví dụ về bộ nhận dạng chuỗi bit ớ phần trẽn sừ
dụng PA L 16R 4. Hình 8.11 chi ra sơ đồ cấu trúc cùa PA L 16R 4. Vi mạch PA L 16R 4 có 8 đầu

189
vào, 8 đẩu ra trong đó c ó 4 đáu ra có D Flip Flop và 4 đầu ra tổ hợp. Các đầu ra đéu c ó tin
hiệu điều khiển 3 trạng thái và có đường phản hổi về màng A N D .

Hình 8.11. Sơ đó cáu trúc của PAL16R4


Áp dụng vào bài toán nhận dạng chuỗi bít:
Ba đầu ra 0 3 , 0 4 và 0 5 chọn là ba tín hiệu trạng thái tương úng QO, Q 1, Q2.
Đầu ra 0 2 được chọn là tín hiệu ra Y.
Đầu vào Ifi được chọn là tín hiệu X.
Đầu vào CLK dùng cho tín hiệu xung nhịp hệ thống.

190
Chân OE được nối mức logic 0 để luôn mờ cổng đệm 3 trạng thái của các đấu ra.
Từ bảng chuyển trạng thái (bảng 8.9) chúng ta có thể xác định được hàm kích thích cho
trạng thái tiep theo. Đ ối với các D Flip Flop, biểu thức đặc trưng cùa nó là Q* = D, có nghĩa là
thông tin tại đầu ra Q có giá trị bằng giá trị cùa đầu vào D tại thời điểm có xung nhịp. Như vậy
trong thiết kế thì giá trị tiếp theo cùa các biến trạng thái Q sẽ chính là giá trị cần phải đặt vào
đầu vào D.
Bảng 8.9. Bàng chuyển trạng thái và klch thích của bộ nhận dạng chuỗi bit
Vào Trang thái hiên tai Trang thái tiếp theo Đẩu vào kích thích của Đầu
Q Q* Fli p Flop D ra
X Q2 Q1 QO Q2 Q1 QO D2 D1 DO Y
0 0 0 0 0 0 1 0 0 1 0
0 0 0 1 0 0 1 0 0 1 0
0 0 1 0 0 1 1 0 1 1 0
0 0 1 1 0 1 0 0 1
0 1 0 0 0 0 0 0 0
0 1 0 1 1 1 0 1 1 0 0
0 1 1 1 0 1 0 0 0
1 0 0 1 1 1 0 1 0
1 0 0 1 0 1 0 0 1 0 0
1 0 1 1 1 1 0 1 0
1 0 1 1 0 1 0 0 1 0 1
1 1 0 0 0 0 0 0 0
1 1 0 1 1 1 0 1 0
1 1 1 ° 0 1 0 0 1 0 0
Đ ể tổng hợp chúng ta có thể sử dụng bìa Các nô của các hàm kích thích D2, D l, DO và hàm
đầu ra Y.

\§ h Q : \ ậ Q :
00 01 11 10 00 01 11 10
XQ; \
00 0 0 1 0 00 0 0 0 1

01 0 1 X 1 01 0 1 X 0

11 0 1 X 0 11 0 0 X 1

10 1 0 0 1 10 0 1 1 0

Bia Các nô của D2 Bia Các nô của D1

\ ặ Q: \§ > Q :
00 01 11 10 00 01 11 10
XQ; \ X Q > \

00 1 1 0 1 00 0 0 1 0

01 0 0 X 0 01 0 0 X 0

11 0 1 X 0 11 0 0 X 0

10 1 0 0 1 10 0 0 1 0

Bìa Các nô cùa DO Bìa Các nô của Y


Hình 8.12. Bìa Các nô cho các tín hiệu cùa hệ thống.
Vì PAL16R4 có các đắu ra đảo, do đó để thuận tiện cho việc tổng hợp thì các hàm logic sẽ
viết duới dạng tích các tổng rồi dùng định lý De-M organ để biến đổi thành đáo cùa tổng các tích.

D 2 = Q„ Q, Q 2 + Q „Q 2X + Q„ Q 2 X + Q, Q 2 X + Q „Q 2X

D| = Q ,Q 2X + Q „Q 2X + Q„Q 2X + Q „Q 2X + Q„Q ,

d „= q 2 x + q ()q 2 x + q 0 q 2 + q 0 q ]

y = õ ;+ q ;

Hình 8.13 chì ra cấu trúc của PA L 16R 4 được lập trình để thực hiện các biểu thức trên

192
BÀI TẬP CHƯƠNG 8

8.1. Thiết k ế mạch logic dãy sử dụng bộ nhớ ROM và các D Flip Flop. Biết graph chuyển
trạng thái cùa hệ thống chì ra trên hlnh 8.14.

X —0
y=0

Hình s. 14.
8.2. Sử dụng bộ đếm nhị phân 4 bit - đồng bộ 74163 và các cổng logic cơ bản để thiết kế
một máy trạng thái đổng bộ bởi xung nhịp có sơ đồ chuyển trạng thái chi ra trên hình 8.15. Với X
là tín hiệu đầu vào. Trên các mũi tên chỉ chiều chuyển trạng thái có ghi điều kiện chuyển trạng thái
với X có nghĩa là X = 0 và X có nghĩa là X = 1. Những chuyển trạng thái không có ghi điểu kiện
X có nghĩa là đều với m ọi X.

Hinh s. 15. Biểu đổ chuyển trạng thái


8.3. Một máy phái hiện chuỗi bit có đặc tính sau: M áy có một đầu vào X và một đầu ra z.
Đầu ra z sẽ bằng 1 nếu cứ sau m ỗi 4 bít tại đẳu vào X có giá trị bằng 0110 hoặc 1010. Máy sẽ
quay trờ về trạng thái reset. Sừ dụng vi mạch khả trình để thiết kế m ột m áy phát hiện chuỗi bít.

193
c(?ỉiĩửĩiuỵ 9

CÁC MẠCH TẠO XUNG

Các mạch tạo xung được ứng dụng rộng rãi trong những hệ thống xung số. T heo hình dạng
xung, các m ạch tạo xung thường được chia ra: M ạch tạo xung vuõng, m ạch tạo xung răng cưa
và mạch tạo xung đanh (đinh). Chương này chi giới hạn xét các m ạch tạo xung \Ti0 ng thông
dụng gồm:
- Các m ạch tạo xung đơn dùng N A N D /N O R , hoặc dùng Flip Flop.
- Các m ạch tạo dãy xung điển hình.
- Các vi m ạch tạo xung điển hình.
- Khái niệm về vòng khóa pha và ứng dụng.

9.1. MẠCH PHÁT XUNG ĐƠN


Mạch phát xung đơn (còn gọi là mạch đa hài dơn ổn, m ạch đa hài đợi) c ó các đặc điểm:
- M ạch có một trạng thái ổn định và một trạng thái tạm ổn định.
- Khi có tác dụng cùa xung kích bên ngoài, mạch chuyên từ trạng thái ổn định sang trạng
thái tạm ổn định. Thời gian duy trì trạng thái tạm ổn định chỉ phụ thuộc bản thân thông sô'
mạch điện, không phụ thuộc xung kích.
Trong thiết bị điện tử số, m ạch đa hài đợi có ứng dụng: Đ ịnh thời (tạo xung vuông có độ
rộng m ong m uốn) làm nhiệm vụ như một rơ le thời gian; tạo dạng xung (biến tín hiệu không
quy tắc thành dãy xung chuẩn có chu kỳ, độ rộng, biên độ ổn định).

9.1.1. Mạch phát xung đơn dùng NOR/NAND


Hình 9 .la , b tương ứng là sơ đồ mạch phát xung đơn dùng N O R /N A N D họ CMOS.

Hình 9.1. Mạch phát xung đơn dùng NOR/NAND.


Xét mạch hình 9. la , trong đó uv là điện áp kích thích ở đẩu vào, ur là điện áp ra. Khi không
có xung kích thích, ur = L = ov vì đặt vào cổng N OR số 2 là mức cao H K +u. Đ ầu ra A cùa
cổng N OR số 1 cũng ờ mức cao H, vì cả hai đầu vào cùa nó đều ở mức thấp L. Tụ c khống tích
điện. V ậy, trạng thái ổn định của m ạch là mức thấp ờ đầu ra (ur = L « OV).

194
Khi đặt một xung kích dương ờ đầu vào (u„ = H), đầu ra A cổng NOR 1 sẽ chuyển ngay
xuống mức thấp L và truyén qua bán cực phía phái cùa tụ c. Vì vậy ur nháy lén m ức cao H (ur =
H * +U ). Đ iện áp u = H được dẫn quay về đầu vào cùa cổng NOR 1; do đó đáu A vẫn đượ
duy trì ờ mức thấp L mặc dù khỏng còn tổn tại xung kích. Mạch chí nằmở trạng
định ur = H ~ + u trong một thời khoáng xác định. Thật vậy, khi ur chuyển lẽn mức cao ứng với
thời điếm đặt xung kích, cũng là lúc tụ c dược nạp từ nguồn cung cấp + u qua R,. Đ iện áp phía
cực + (bán cực phía phải) cùa tụ tăng dán theo luật hàm mũ, tới khí đạt giá trị ngưỡng lật cùa

cổng họ CM OS VT ss + — , thì cổng NOR 2 lại trở vé trạng thái ổn định ur = L = ov. Ta thấy,

cứ mỗi lán có xung kích uv thì mạch lại cho một xung vuông ở đầu ra, với độ rộng t„ xác định.
Tính độ rộng xung t„. Tại thời điếm t = 0 khi tụ được nạp, điện áp uc tăng theo luật hàm mũ:
I T/ 1
uc » U(1 - e 1 )

Khi uc = V ị = Ư/2 thì cổng NOR 2 lật trạng thái quay về ổn định. Vậy:

uc * U ( l - e ' ' x/R|C) = —


2
Rút ra: tx = R|Cln2 » 0,7 R ,c (9.1)
Tụ c có thể có giá trị khoáng từ 100pF đến vài nghìn fiF; diện trớ R| nằm trong khoảng vài
kfi đến vài trăm k íì.
Mạch hình 9.1 b có nguyên lý làm việc tựa mạch hình 9.1 a.

9.1.2. Mạch phát xung đơn dùng Flip Flop


Có thế dùng D -F F hoặc J -K FF
loại có đầu vào đặt trước s và đầu ©
T -KT>-
xóa R không đổng bộ (ví dụ IC họ ,_ 1
Q
s
CMOS 4013B có 2 I>F F ; 1C 4027B >c
góm hai J-K FF) đẽ tạo thành mạch — K R
phát xung đơn (hình 9.2a, b).
\ Ri
Xét mạch hình 9.2a. Ở trạng
I -AA/V-^ ’
thái tĩnh, khi không có kích thích
dưa tới đáu vào đồng bộ c cùa
D-FF, đầu ra Q nằm ổn định ờ mức
Ihấp L » ov. Đặt kích thích là một
bước nháy dương vào đẩu c, ta có
Q = D = II = điện áp nguồn cung b)
cấp đặt c ố dinh ớ đáu D. Tụ c được
nạp điện từ mức điện áp cao ở Q Hinh9Z M?ch Phả' xun9 d
ơndùn9 F
liP
FloP-
qua các điện trớ R |, R2. Đ iện áp trên tụ tăng dần theo hàm mũ. phụ thuộc hằng sô' thời gian
Tn » R 2C (bó qua R, vì R, « R2). Khi điện áp trên tụ dạt giá trị ngưỡng xóa V T mà đấu xóa
không đồng bộ R yêu cáu (đối với họ CMOS thì VT « H /2), đẩu ra Q quay trớ lại mức ổn định:
Q = L ~ ov. Lúc này. tụ c sẽ phóng diện qua điốt D và điện trò R ,. Vậy, với một kích thích ớ
đầu vào c, mạch cho ờ đầu ra Q một xung đơn cỏ độ rộng:
tx * 0 . 7 R , C (9.2)

195
Đ iện trờ R, nhàm hạn chế sự phóng quá nhanh cũa tụ c , với dòng phóng lớn. Thường R|
chọn khoảng 2,2 kQ trờ xuống.
Mạch hình 9.2b có hoạt động tương tự.

9.2. MẠCH ĐA HÀI PHIẾM ĐỊNH DÙNG NOR/NAND


Mạch đa hải phiếm định là mạch phát dãy xung vuông ờ dầu ra, với tần số f. Hai trạng thái
cao và thấp cùa các xung vuông ờ đầu ra đéu là tạm ổn định.

T----- 1'---------
—I I — Ị
_ ^ ^ n n r f R;
đk -

ĩ i M O r * .

< R2 < đk _ [ L
1 c R,f ;_ruui_
------ — II— a)
í b)

Hình 9.3. Mạch da hài phiếm định dùng NOR/NAND.

Hình 9.3a, b tương ứng là sơ đổ logic cùa m ạch đa hài phiếm định có điều khiển dùng
N O R /N A N D .
Xét mạch hình 9.3a.
Khi tín hiệu điều khiển đk ở mức cao H (đk = H = + U ), cổ n g N O R số 1 đóng, A = L « OV;
đầu ra của cổng N O R 2 nằm c ố định ờ mức cao u, = H s u , m ạch không phát dao động. Khi
đk = L » o v , điểm B ờ mức thấp (B = L * OV), điểm A nhảy lền mức cao H và u, tụt xuống
mức thấp (ur = L » OV). Tụ c được nạp theo chiều A = H = U - » R 2 - > B - > C - * u t « o v . Điộn
áp điểm B tâng dần theo luật hàm mũ, với hẳng số thời gian t = R 2 C. Trong quá trình tụ c nạp,

điện áp ra ờ trạng thái tạm thời ổn định: ur = L « o v .


Khi B tâng đến ngưỡng lật V T, cổng NOR 1 chuyển trạng thái và A tụt xuốn g mức thíp, ur
nhảy lên mức cao H » U ). Tụ c phóng điện theo chiêu từ cực bản phía trái tụ —►R 2 - » A . Điện
áp điểm B giảm dần theo luật hàm mũ, với cùng hằng số thời gian X = R 2 C. Trong quá trình tụ
phóng, u, cũng nằm ờ trạng thái tạm
T----------►
ổn định (u, = H » U).
u—
Khi B giảm đến ngưỡng lật VT Ur
0—
thì cổng NOR 1 lại chuyển trạng thái
và A nhảy lèn mức cao, ur tụt xuống u —
A 0— 1
mức thấp (u, = L » OV). Đ iểm B
được kéo xuống mức thấp L * ov. —T = R2C

Tụ lại nạp ... R --


0--- Nạp phóng -V_T 3 RjC
V ậy, mạch chuyển liên tục giữa
hai trạng thái tạm thời ổn định. Đầu Hình 9.4. Các dạng sóng mò tả hoạt động mạch đa hài phiếm định.

196
ra cho điện áp u là một dãy xung vuông đối xứng (thời gian có xung bãng một nửa chu kỳ lặp
T). Hình 9.4 vẽ các dạng sóng lý tường hóa ở đáu ra (ur) và ở các đầu A , B của mạch.
Tính chu kỳ lặp T của dao động. Khi tụ nạp, điện áp tại điểm B ờ thời điểm cuối quá trình nạp:
UB(T.) = u [i- e x p (-T,/R2C)] = VT (9.2)
Khi tụ phóng, điện áp tại B ở thời điểm cuối quá trình phóng:
UB (T2) = u. exp (-T2/R2C) = V T (9.3)
Từ (9.2), (9.3), rút ra công thức gần đúng tính chu kỳ cùa dao động:

T = T| + T , = R jC ln
u- VT + VT

Với VT « U /2 thì T, = T 2 và:


T1 =
— T, + T,
i I T = IN-2'—111
ỉ 2 — RjCln 4*T ~» 11,4R,C
, ‘+ 1 X 2 '-' (9.4)
^ -7 .*+)

Hình 9.3b là mạch đa hài phiếm định có điều khiển dùng các cổng N A N D CMOS. Mạch
chỉ phát dao động khi tín hiệu điều khiển đk ở mức cao H = điện áp nguồn cung cấp +u.

9.3. VI MẠCH TẠO XUNG CD4047BC VÀ 74LS123


9.3.1. Vỉ m ạch CD4047BC
a) M ô tả chung

__ ì u 14
V dd
__ 2 13
__3 12
__ 4 11
5 10
6 9
7 _8__

ASTABLE o — I ►

__________ 4
AS TABLE o — h > 0

9 EX T E R N A L
1 ° R ESE T
Vss o — I

b)
Hình 9.5. Vi mạch CD4047BC: a) Sơ đó bố trí chân; b) Sơ đổ khối.

197
Vi mạch C D 4047BC có thể hoạt động như mạch phát xung đơn hoặc m ạch dao động đa
hài phiếm định. Ta cần mắc thêm ở ngoài các linh kiện để định thời gian phát xung đơn hoặc
chu kỳ dao động cùa m ạch (tụ c mắc giữa chân số 1 và 3; điện trờ R mắc giữa chân số 2 và 3).
N guồn cung cấp cho vi mạch có thể trong dải từ 3V đến 15V.
Hình 9.5 a, b tương úng là sơ đồ bố trí các chân và sơ đồ khối cùa vi mạch CD4047BC.
Bảng 9.1 chỉ rõ chức năng cùa các chân vi mạch. Bảng 9.2 chỉ rõ cách nối các chân, (ương
ứng với hai chức năng khác nhau cùa vi mạch.

Bảng 9.1. Chức nâng các chân của vi mạch c o 4047BC

Sô' chân Kÿ hiêu Chức năng

1 C Nối với tụ điện C ò bẽn ngoài để định thời gian

2 R Nói với điện trà R à bẽn ngoài để định thời gian

3 RC COMMON Chân chung cùa mạch RC

4 ASTABLE Điéu khiển dao động liên tục (tích cực thấp)

5 ASTABLE Điéu khiển dao động liên tục (tích cực cao)

6 -TRIGG ER Chân điéu khiển kích thích phát xung đơn theo sườn ãm (sườn xuóng)

7 Vss ov nguón cung cấp


8 + TRIGGER Chân điéu khiển kích thích phát xung đơn theo sườn dương (sườn lên)

9 EXT RESET Reset bên ngoài

10 Q Đáu ra Q

11 Q Đấu ra đảo

12 + EXT RESET Chân điéu khiển kích thích phát xung lập lại

13 OSCOUT Đáu ra dao động

14 Vqd Nguón cung cấp (+)

Bàng 9.2. Các chức năng cùa CD 4047BC

Chân nối Xung ra từ


Chức năng
v 00 vào chân số v ss vào chân số Xung klch vào chân sõ chàn số

Dao động đa hái phiếm định

+ Chạy tự do 4 ,5, 6,14 7, 8, 9,12 10,11,13

Phát đơn xung

+ Kích thích tích cực sườn lên 4,14 5 ,6 ,7 ,9 .1 2 8 10.11

+ Kích thích tích cực sườn


4 ,8 ,1 4 5 ,7 ,9 , 12 6 10.11
xuống

10.11 (dãy
+ Kích thích là xung lặp 4,14 5, 6, 7, 9 8,12
xung lặp)

198
b) Chu k ỳ dao động, độ rộng xung
Khi CD4047BC làm việc ở ch ế độ dao động đa hài phiếm định, chu kỳ dao động của dãy
xung vuông ở chân số 10, 11 là T = 4,4 RC; ở chân số 13 là T = 2,2 RC.
Khi CD4047BC làm việc ở chế độ phát xung đơn, độ rộng xung ra ở chân số 10, 11 là Tx = 2,48
R 0 2 .5 R C .

9.3.2. Vi m ạch 74LS123


a) M ô tả chung
Vi mạch 74LS123 gồm hai mạch tạo xung đơn hoạt động độc lập, đóng chung một vỏ.
Mỗi mạch tạo xung đơn có tới ba đầu vào điều khiển (A , B, CLR) giúp người sử dụng có thể
chọn c h ế độ điều khiển là tích cực theo sườn lên hoặc sườn xuống của xung. Có thể dùng
74LS123 để tạo các xung cực hẹp (cỡ vài ns). Hình 9.6 là sơ đồ bố trí các chân của vi mạch.

R e xt/
C ext C ext

Vcc 1 1 Q1 Q2 CLR2 B2

116 115 13 12

nCLR

Ạ CLR'-

B1 CLR1 Q1 Q2 Cext2 Rext/ GND


C ext2

Hình 9.6. Bố tri chân cùa vi mạch 74LS123.

Bảng 9.3 chỉ rõ hoạt động của 74LS123 theo tín hiệu trên các chân điều khiển A , B, CLR.

Bàng 9.3. Các chức năng của 74LS123

Đẩu vào Đẩu ra Chú thích

CLR Ã B Q Q H: mức logic cao

L X X L H L: mức logic thấp

X H X L H X: mức tùy ý (H/L)

X X L L H L - H : sườn lẽn cùa xung

H L L -H L-H-L H-L-H H - L: sườn xuống cùa xung

H H -L H L-H-L H-L-H L - H - L: xung dương

L -H L H L-H-L H-L-H H - L - H : xung âm

199
b) Q uy tắc h o ạ t động
Khi có xung điều khiển phù hợp theo bảng 9.3, ờ đầu ra Q sẽ phát một xung dơn trong
khoảng thời gian T x. Đ ộ rộng xung Tx phụ thuộc các giá trị điện trở R EXT và tụ CEXT ờ bên ngoài.
Cần phảimắc REXT và CEXT ở bẽn ngoài sao cho mạch hoạt động đúng. G iá trị cùa CEXT có
thể từ 0 đến giá trị cẩn thiết theo yêu cầu. Giá trị cùa REXT không được lớn hơn 2 6 0 k fỉ.
Nếu sử dụng tụ phẫn cực (tụ hóa) thì cực âm cùa tụ phải nối vào chân Cgx-p
Khi CEXT > 1000pF, độ rộng xung đơn ờ đẩu ra là:
Tx = 0 ,3 7 .(R ext.Cext) (9.5)
Khi CEXT < 1000pF thì:
Tx = K (R ext.CExt) (9-6)
Trong đó, hệ số K tra ờ hình 9.7.

Hình 9.7. Hệ SÓ K trong cõng thức (9.6).

c) ứ n g d ụ n g của 74LS123
- Tạo xung đơn: Hình 9.8 a, b tương úmg là m ạch tạo xung đơn kích hoạt theo sườn lên và
theo sườn xuống, dùng 74L S123.

Hình 9.8. Mạch tạo xung đơn dùng 74LS123: a) Kích hoạt theo sườn lên, b) Kích hoạt theo sườn xuống.

- M ạch phát hiện lỗi mất xung. Hình 9 .9 là sơ đổ nguyên lý mạch phát hiện lỗi mất xung
dùng 74LS123. N guyên lý hoạt động cùa m ạch như sau: D ãy xung đầu vào Input c ó chu kỳ T
được đưa vào đầu BI cùa m ạch phát xung đơn thứ nhất. Đ ộ rộng xung T X| ờ đầu ra Q 1 (Output
Q l) , được xác định bởi REXT, CEXT, yêu cẩu phải nằm trong khoảng: 2T > T X| > T.
Khi dãy xung Input có chu kỳ đều đặn T, thì ứng với m ỗi sườn lên cùa xung Input sẽ kích

200
hoạt đầu ra Q1 ở mức cao (vì Tx, > T) mà lại có xung sườn lên tiếp theo kích vào chân BI thì đầu
ra Q1 vẫn duy trì ở mức cao. Vậy nếu chu kỳ xung Input là đều đặn (không mấtxung nào) thì Q1
luôn ở mức cao. Nếu vì
nguyên nhân nào đó, d ãy +5V +5V
xung Input bị thiếu ít nhất Rext Re)
1 xung; điểu này làm cho —v W p — —v w - £ -
C e:
khoảng t h ờ i gian giữa hai C E X T -J - J Ị 4
Output Q"
sườn xung kế tiếp lớn hơn Input > — Output Q2

T (ít nhất bằng 2T). Khi đó 12

đầu ra Q 1 sẽ chuyển xuống


•p i
474LS 123
mức thấp. Người ta lấy Q1 2
để kích hoạt vào chân A 2 In p u t
_ n _ n _ n _
của mạch tạo xung đơn thứ
2 (tích cực theo sườn Output Q1 J ----------------L
xuống của xung kích hoạt).
Khi đó, ở đầu r a Q2 sẽ có 1 Output Q2
xung dương, báo lỗi mất
Hình 9.9. Mạch phát hiện lỗi mất xung.
xung ở đầu vào Input.

9.4. VI MẠCH ĐỊNH THỜI 555 (TIMER 555)


9.4.1. Mạch định thòi 555
Mạch định thòi 555 được sừ dụng rất rộng rãi là timer 555 ch ế tạo theo công nghệ tranzito
lưỡng cực, và timer 7555, ch ế tạo theo công nghệ CMOS. Đ iện áp cung cấp cho IC7555 là 3 +
18V. Công suất tiêu thụ ờ IC7555 nhỏ hơn nhiều so với ở IC555. Dòng đầu ra cực đại cùa
IC555 có thể đạt lOOmA (ở IC7555 chỉ bầng khoảng 1/2).
Hình 9.10a, b tương ứng là sơ đổ nguyên lý và vỏ cùa IC555. Bảng 9.4 giới thiệu chức
năng các chân của vi mạch.

' 7 V
1 8

2 7
LO
LO
3
LO 6

4 5

Hình 9.10. Timer 555: a) Sơ đó nguyên lý; b) vò cùa IC.

201
Báng 9.4. Chức nâng các chân IC5

Ký hiệu chân Chức nãng Ký hiệu chân Chức nâng

TRIG (2) Kích khởi (tích cực tháp) TH(6) Ngưỡng (Threshold)

OUT (3) Đầu ra DIS (7) Đấu phóng điên

R(4) Reset, xóa (tích cực tháp) c- V (5) Diện áp điéu khiển

Mạch hình 9 .10a gồm s R FF và hai bộ so sánh 1, 2. Khi s = 1, R = 0 —» Q — 1 và Q - 0 ;

S = 0 ; R = 1 - » Q = 1 . Đ ối với hai bộ so sánh thì: Khi TH > 2 /3 U ct thì A = 1: nêu TH <


2/3U cc - » A = 0. Khi TRIG < 1/3U CC thì B = 1; nếu TRIG > 1/3U CC -> B = 0. Đ iện áp điều
khiển đưa vào đầu c - V làm thay đổi các mức điện áp so sánh (2 /3 U cc và 1/3U CC). N êu không
dùng đầu này (hì cho tiếp đất thông qua tụ 0,01 (J.F, để ngắn m ạch nhiẽu tắn số cao.
Tranzito T sẽ thông khi cực gốc ờ mức cao H và sẽ khóa (ngắt) khi cực gốc ờ mức thấp.
Tầng đệm đầu ra là một cổng Đ Ả O - thúc, nhầm tăng khả năng chịu tải cùa timer 555. Bảng
9.5 cho tóm tát hoạt động cùa IC555.
Báng 9.5. Hoạt dộng của IC555

TH TRIG R OUT DIS (trans.T)

X X L L Thống

> 2/3Ucc > u cc /3 H L Thõng

< 2/3Ucc > ucc/3 H Không đổi Không đổi

X > Ucc/3 H H Ngắt

9.4.2. ứng dụng


Timer 555 có thể được sử dụng với nhiều chức năng: Trigơ Smith; m ạch phát xung vuông
đơn; mạch đa hài phiếm định (phát một dãy xung vuông lặp lại), m ạch phát dãy xung tam giác
lặp lạ i...
a) M ạch tạo đơn xu n g (O n e - shot) dù n g IC555

Hình 9.11 a là sơ đồ mạch tạo đơn xung dùng timer 555. Khi đầu kích TRIG ờ mức cao
H » u cc và TH * u cc - > B = 0, A = l —> Q = 1; tranzito T thông —> DIS = uc = L = o v - » TH
= DIS = L * 0 V - > A = B = L ( 0 logic). M ạch ờ trạng thái ổn định với U|| = L « ov.

Đặt một xung kích khới âm U T vào đầu TRIG (thực ra chỉ cấn UT là 1 xung dương có biên
độ < Ucc/3 ), thì B = 1 còn A vẫn bằng 0 logic —> Q = 0 lo g ic = L - » u„ = H = + u cc và T khóa
(ngắt). Tụ c bắt đầu dược nạp từ nguồn + u cc qua R; điện áp uc tăng theo hàm mũ (hình 9.11
b). Trong quá trình nạp, m ạch ờ trạng thái tạm ổn định với điện áp ra U( | = H = + u cc. Khi uc đạt
giá trị ngưỡng của bộ so sánh 1 : uc = DIS = TH = 2/3ƯCC, thì A = 1 (còn B vẫn giữ ờ 0 logic)
-> Q =1 = H -> T thông (D IS = T H = L = 0 V ) A = 0 logic, mạch giữ ờ trạng thái ổn định
với u„ = L X ov.

202
Vậy, mạch hình 9 . l i a
sẽ phát một xung đơn mỗi
khi có xung kích khởi thích
hợp đặt vào đấu TRIG . Đ ộ
rộng xung đáu ra là:
T, = RCln 3 » 1.1RC (9.7)
Yêu cầu xung kích khởi
phải có độ rộng nhỏ hơn T*.
Nếu xung đẩu ra có độ rộng
Tx nhỏ, thì xung kích khởi
phải cho qua mạch vi phân
RC để tạo xung đinh đưa vào Hình 9.11. Mạch One - shot dùng IC555: a) Sơ đồ; b) Dạng sóng.
TRIG .
b) Mạch dao động đa h à ip h iếm định (Jùng lim er 555
Hình 9.12a là sơ đổ mạch dùng IC555 tạo dãy xung vuông lặp lại. Các điện trở và điện
dung Rj, Rj, c quyết định tần số cùa dãy xung vuông đầu ra.

Ucc' '

I Is I I II
OUT I I I I II
■ i _ Ã
c -v II II II
0,01n I l II II
DIS I l II II
I
0 >R2
CH7555 TH

TRIG 1 ï l n f i r• •. ĩ
c=í= H—t]—MỈ2 H--
TE” I ■ I

Hình 9.12. Mạch đa hài phiếm định dùng timer 555: a) Sa đó; b) Dạng sóng.

N guyên lý hoạt động của mạch như sau: Khi S-R FF lật sang trạng thái Q= L s ov, điện
áp ra u„ chuyển lẽn mức cao (u,| = H » +ucc), đổng thời tranzito T ngắt.
Tụ điện c được nạp thông qua R, - R 2 (hằng số thời gian nạp Tn = (R , + R : )C ).Đ iện áp

uc = TH = TRIG tăng dần từ Ucc/3 đến ngưỡng 2/3 u cc. Tại thời điểm này, đấu A cùa bộ so
sánh 1 đột biến lên mức cao (A = H = 1 logic); S-R FF lặt sang Q = 1 và U,| đột biến xuống mức
thấp (u„ = L « OV); đồng thời T thông. Tụ c phóng điện qua R , và T, với hằng số phóng
Tp » R 2C . Trong quá trình phóng điện, uc = TH = TRIG giảm dần xuống ngưỡng U cc/3. Lúc

này, đẩu ra B cùa bộ so sánh 2 đột biến lên mức cao H (B = H » + u cc = 1 logic). S-R FF lại
chuyển sang Q = 0 logic và điện áp ra u,| đột biến lèn mức cao, đổng thời T ngắt. Tụ lại được
nạp điện. Quá trình lặp lại theo chu kỳ, tạo ra dãy xung vuông ở đầu ra (hinh 9 .1 2b), ta thấy:
-T h ờ i gian u„ = H: t, = (R, + R2) Cln2 ~ 0,7(R , + R,)C.

203
- Thời gian u„ = L: t2 = R 2Cln2 » 0,7R 2C.

- Chu kỳ dao động T = t, + t2 * 0 ,7 (R, + 2R 2)C.


Tần số dao động

f =1 1,43 (9 . 8 )
T (R | + 2 R 2 )C

9.5. MẠCH TẠO XUNG VUÔNG DÙNG TINH THÊ THẠCH ANH
1. Các m ạch dao động đa hài đã trình bày có độ ổn định về tần số không cao, vì những
nguyên nhãn sau:
- Mức ngưỡng lật trạng thái của các cổng logic không thật ổn định, chịu ảnh hường cùa
nhiệt độ.
- D o tác động của nhiêu trong mạch, sự chuyển trạng thái c ó thể sớm hơn hay chậm hơn.
- Thời điểm xảy ra sự chuyển trạng thái rơi vào lúc sự phóng/nạp của tụ đã chậm lại. Với
sự thay đổi nhỏ của mức ngưỡng hay sự tác động cùa nhiễu, có thể làm thay đổi nghiêm trọng
chu kỳ dao động.
Khi cần dãy xung vuông có độ ổn định tần số ca o , ta thường dù ng bộ tạo dao động
thạch anh.
2. Bộ dao động thạch anh. Bộ dao động thạch anh tạo ra dãy xung đồng hồ (clock) có độ
ổn định tần số rất cao, tẩn số thường nằm trong dải 1M Hz + 10M Hz. Tinh thể thạch anh không
những có đặc tính ổn định tẩn sô' tốt, mà còn có hệ số phẩm chất Q rất cao, tính chọn lọc tần sô'
vì vậy cũng cao.

10M

ị ị

đk Uo

a) b)

Hình 9.13. Bộ dao động đa hài thạch anh.

Tụ điện ghép trong mạch dao động đa hài phiếm định thông thường, nếu m ắc nối tiếp với
thạch anh, thì cấu trúc thành bộ dao động đa hài thạch anh (hình 9 .1 3a).

Từ đặc tính tẩn sô' của trở kháng thạch anh ta thấy: ở tần sô' c ộ n g hường f„, trở kháng thạch
anh cực nhỏ (» 0 ). Tín hiệu tần số f„ vì vậy đi qua thạch anh dễ dàng. V ặy, tần số dao động cùa
bộ dao động thạch anh chỉ quyết định bởi tẳn sổ' cộng hường f0 cùa bản thân tinh thể thạch anh,
không phụ thuộc giá trị R, c cùa m ạch điện.
Hình 9 . 13b là bộ dao động thạch anh CMOS. Tần số cộng hường cùa thạch anh quyết định
tần số dao động. Đ iện dung c thay đổi được để tinh chỉnh.

204
9.6. VÒNG KHÓA PHA PLL
9.6.1. Khái niệm
Vòng khóa pha (Phase Locked Loop - PLL) thực chất là một mạch tự động điều chình,
nhằm hiệu chình pha cùa tín hiệu ra luôn theo sát pha của tín hiệu vào. Nói khác đi, PLL bảo
đảm tần số tín hiệu ra theo sát tẩn sô' tín hiệu vào. Hình 9.14 là sơ đổ khối cấu trúc của PLL.

Hinh 9.14. Cấu trúc PLL.

Cửa vào và cửa ra PLL là các tín hiệu chu kỳ với pha tức thời tương ứng là ộv(t) và
[tán số tương ứng là fv(t), fr(t)]. Tùy theo dạng tín hiệu vào, khối so sánh pha có thể là một
mạch nhân analog hay cổng XOR. N ó dùng để phát hiện s ự sai khác pha Aộ = <Ị)v(t) - <|>r(t). Bộ
lọ c vòng là mạch lọ c thông thấp thụ động hoặc tích cực, chặn lại các thành phần tẩn số cao cùa
U|(A<|>). Mạch biến đổi áp - tần số vco (Voltage Control Oscillator) phát dao động (thường là
dãy xung vuông) có tần số fr (hoặc pha <|>t(t)) thay đổi theo u2(A<ị)). V òng điều khiển chỉnh làm
cho A(|> - » 0 và ộr(t) » <|>v(t) (f, * fv). Khi không có điều khiển (u 2 = 0), vco dao động với tần
số riêng f„ (còn gọi là tẩn sô' trung tâm - center frequency). Khi có điều khiển (u 2 * 0), tẩn số
đầu ra v c o c ó thể thay đổi từ ± 1 0 -ỉ- ±50% quanh tần số trung tâm.

9.6.2. Vòng khóa pha PLL 4046


Vi mạch PLL 4 0 4 6 gồm 16 chân, bố trí như hình 9.15a.

Tín hiệu vào


? 14

Vss Zener

Hình 9.15. PLL 4046: a) Bô' trí chân, b) Sơ đó khối.

205
Hình 9.15b là sơ đồ khối cấu trúc của PLL 4046 gồm:
- Hai bộ so sánh pha (so pha 1 và so pha 2).
- M ột bộ biến đổi điện áp - tần số (VCO).
- Một khuếch đại đệm. Cửa vào của hai bộ so sánh pha là tín hiệu vào ờ chân 14, và tin
hiệu ra cùa v c o (chán 4). Bộ so pha 1 có khả năng chổng nhiễu tốt nhưng dài tần số ờ đâu ra
lại hạn chế trong khoảng ±30% quanh tần sớ trung tâm. Bộ so pha này yêu cầu dạng xung vào
các đầu 14 và 3 phải là dãy xung vuông đối xứng (hệ số lấp đầy là 50% ). Tín hiệu ra lấy ở chân
số 2. Bộ so pha 2 có dái tán sô' rộng hơn; dãy xung vuông đưa vào có hệ số lấp đầy tùy ý. Tín
hiệu ra lấy ờ chân số 13.
Bộ biến đổi điện áp - tẩn số (VCO) phát ra dãy xung vuông ở chân số 4. Tần sò riêng (tan
số trung tâm) của v c o phụ thuộc R |, R 2 đặt ở chân sô' 11, 12 và C| nối giữa hai chân 6 , 7. Điện
áp một chiều đưa vào v c o (chân 9) điều khiển tần số phát ra của v c o quanh tần s ố trung tám.

Tín hiệu điều khiển En ờ chân 5 là tích cực thấp sẽ cho phép/cấm vco làm việc.

9.6.3. ứng dụng


Vòng khóa pha PLL được ứng dụng nhiều trong kỹ thuật truyền thông và trong kỹ thuật số.
Hai ứng dụng điển hình cùa PLL trong kỹ thuật số là dùng PLL tạo thành m ạch nhân tần và
dùng PLL để làm mạch tách sóng FSK (Frequency Shift K eyed). Ở đây chi giới thiệu mạch
nhân tần dùng PLL.
a) Mạch nhân tần dùng PLL
Hình 9.16 là sơ đổ nguyên lý dùng PLL tạo thành m ạch nhân tần. Tín hiệu vào có tẩn số fv,
tín hiệu ra có tẩn số fr. Hai mạch chia tần số DIV. 1, D IV .2 có hệ số chia tương ứng là M , N (M, N
là những số nguyên dương). N hờ PLL nên tần số ờ hai đầu vào m ạch so pha được giữ bằng nhau:

Hình 9.16. Sơ đổ khối mạch nhãn tán dung PLL.

— = — - > f r = — fv
N M M
Nếu không dùng bộ chia tần DIV 1 (M = 1), ta có mạch nhân tần số với fr = N .f,.

b) ư n g dụng mạch nhân tần đê đo tần sô'lưới diện


Phương pháp số đo trực tiếp tần số tín hiệu tiến hành như sau:
- Dùng mạch lạo xung vuông (v í dụ trigơ Smith) để biến tín hiệu c ó tần sô' f, cần đo. thành
dãy xung vuông cùng tần số.

206
- Cho dãy xung vuông (tần số f„) đến bộ đếm trong khoảng thời gian xác định T„J. Kết quả
đêm ở cửa ra bộ đếm là:
K = Trf fx. Nếu TXJ = Is - » K = fx.

H ìn h 9.17. Mạch đo tắn s ố lưới điện dùng PLL 4046.

Phương pháp đo tẩn số ở trên có sai số phương pháp tỷ lệ nghịch với tần số fx cần đo, và nó
chì thích hợp đê’ đo tần số cao.
Muốn dùng phương pháp trên để đo tần số lưới điện f„ = 50 ± 1Hz, với chính xác cao, ta
phải dùng mạch nhãn tần để đưa fx lên tần số đủ lớn.
Hình 9.17 là sơ đổ khối mạch đo tắn số điện áp lưới dùng PLL 4046. Trong mạch, PLL
đóng vai trò mạch nhân tẩn, với hệ số nhãn là 200. Chọn Rị, c, để tần số trung tâm cùa PLL
4046 là 10kHz. Dãy xung ra ờ chân 4 cùa PLL có tần số 200 f„. Chọn thời gian chuẩn
T,J = 0,5s, kết quả đếm ở cứa ra bộ đếm sẽ tỷ lệ với tần số lưới điện fx:
K = 200 fx X 0,5 = 100 f„

207
BÀI TẬP CHƯƠNG 9

9.1. M ạch 'phát xung đơn ở hình 9.18a, có điểm khác so với mạch hình 9.2b là có thêm đẩu
vào xóa reset. Thuyết minh hoạt động cùa mạch và tính gần đúng độ rộng cùa xung vuông ở
đầu ra Q khi mạch được kích thích. Đ iện trờ 2,7k có tác dụng gì?

Hình 9.18. a) Bài tập 9.1; b) Bài tập 9.2.

9.2. Thuyết minh hoạt động cùa mạch đa hài phiếm định ở hình 9 .1 8b. Chi ra sự khác nhau
về dạng giữa dãy xung vuông ờ đầu ra (ur) ở hình 9 .1 8b và ở hình 9.3a.

9.3. Cho mạch đa hài phiếm định ở hình 9.19. Khi ấn nút N thì m ạch hoạt động và cho dãy
xung vuông. Sau khi nhả nút ấn N , thì mạch còn tiếp tục phát ra dãy xung vuông trong khoảng
thời gian chừng độ bao lâu? Giải thích.

+5V N

Hinh 9.19. Bài tập 9.3.

208
(ứ ầ i ứ M y J0
BIẾN ĐỔI TƯƠNG T ự - s ố rADC) VÀ
BIẾN ĐỔI SỐ - TƯƠNG T ự (DAC)

10.1. TÔNG QUAN VÊ ADC VÀ DAC


Do Sự phát triển nhanh chóng của kỹ thuật điện tử số, đặc biệt là sự ứng dụng phổ biến của
máy tính điện tử số, nên thường phải dùng mạch số để xử lý tín hiệu tương tự.
Muốn dùng hệ thống số xử lý tín hiệu tương tự, thì phải biến đổi tín hiệu tương tự thành tín
hiệu số tương ứng, rồi đưa vào hệ thống số. Mặt khác, thường có yêu cầu biến đổi tín hiệu số
thành tín hiệu tương tự tương ứng để đưa ra sử dụng. Chúng ta gọi sự chuyển đổi từ tín hiệu
tương tự sang tín hiệu số là chuyển đổi AD, và mạch điện thực hiện công việc đó là ADC
(Analog to Digital Converter). Chúng ta gọi sự chuyển đổi từ tín hiệu số sang tín hiệu tương tự
là chuyển đổi D A , và mạch điện tương ứng là DAC (Digital to A nalog Converter). Trong
chương này ta tìm hiểu một số loại DAC và ADC phổ biến hay được dùng.

10.2. MẠCH BIẾN Đ ổ i s ố - TƯƠNG Tự KIÊU LƯỚI ĐIỆN TRỞ R-2R


Mạch biến đổi số - tưong tự làm nhiệm vụ biến tín hiệu dạng số nhị phân ờ cửa vào
thành điện áp tỷ lệ dạng bậc thang ờ đầu ra :

u f = q(b„_, .2"-' + b „.2.2"-2 +... + b, .2' + b 0 2 ° ) = q.N

Trong đó : N là m ột số nhị phân n bít được biểu diễn dưới dạng : b„_|b„_2 . . . 0 , 0(1 và q là
bước nhảy bậc thang định trước (ví dụ q = lm V ) hay còn gọi là bước lượng tử.

Hình 10.1 là dạng bậc thang của điện áp ra DAC. Với 0 < N < 2“ - 1 thì 0 < U r < (2“ - 1) q
Có rất nhiều nguyên lý biến đổi số - tương tự; có thể gộp thành hai nhóm :
- Các mạch D A C hình thành hầu như 100% từ
các linh kiện điện tử tương tự, ví dụ các mạch DAC
kiểu lưới điện trờ. M ạch DAC thuộc nhóm này có
các đặc tính kỹ thuật tốt, thời gian biến đổi nhanh
(khoảng 10(XS). Tuy nhiên giá thành ch ế tạo tương
đối cao và khó thu nhỏ kích thước.
- Các mạch D A C hình thành chủ yếu từ các
phần tử logic (thanh ghi, bộ đếm , phát xung thạch
anh...). Loại này c ó kích thước rất nhỏ và kinh tế
hơn. DAC kiểu biến đổi độ rộng xung là mạch điển
hình thuộc loại này.
Dưới đây chỉ xét mạch DAC kiểu lưới điện trở
R - 2R. H ìn h 10.1. Quan hệ ur

209
10.2.1. DAC kiểu lưới điện trỏ R - 2R
Hình 10.2a là sơ đồ D A C kiểu lưới điện trớ R - 2R.
Các bít nhị phân điéu khiển sự chuyển mạch cùa khóa Kt tương ứng: khi t \ = 1 thì khóa
Kk ờ vị trí 1, khi bk = 0 thì khóa Kk ớ vị trí 2. D òng qua điện trờ phán hổi R[ bằng tổng các dòng
chày vào nút A:
n -I

I f= I h -K

Hình 10.2a) DAC kiểu lưới điện trò R -2R; b) Mạch tương dưong lièn hệ giữa nút k và k+1

Bằng cách biến đổi tương dương lưới điện trờ R - 2R , dần từ phải sang trái, ta đuợc mạch
tương đương liên hệ giữa nút k và k +1, k = 0 , 1, 2,... n - 2, n - 1, như ờ hình 10.2b. Từ dó, ta

có: u kk =Hk±L.
2

D o đó, suy ra điện áp trên các nút ở hình 10.2a:

IJ = IJ -11 = H íềL - i i = H íéL- .11 - Ì ỉĩẽ L ■11=


re t ’ n -2 — 2 • n --1 _ 4 u 1 _ 2 " * ~ 2 "'

D òng Ik qua điện trờ 2R nối với nút k là: I. =


2R
Cuối cùng, từ các quan hệ trên ta rút ra

U r = - I f .R f = - B e t Rf ‘ + b n_2 .2 n' 2 + ... + b l 2 1 + b ll 2 ° = q.N (10.1)


2 n.R

Trong đó: q = ì
(2".R)
Từ (10.1) ta có thê’ m ô hình hóa hoạt động của D A C hình 10.2a bàng mạch khuếch đại đảo

hình 10.3a, với diện áp ra: U r = — , Uref, trong đó điện trờ vào R, thay đổi theo số nhi phân N
R v.
đặt vào DAC:

2 nR
Rv N
(10.2)

210
Một cách tổng quát thì mọi mạch DAC đều có thể m ồ tả theo sơ đồ khối ở hình 10.3b, với
điện áp ra:
U r = K DA.U tef.N

Trong đó Kda là hệ số tỷ
lệ, vdi mạch DAC lưới điện
R"
trở R - 2R thì : KnA =
2 n.R r
Dựa vào các mạch D A C ở ref
o---- ryợ\r
trên có thể thành lặp DAC DAC u,
biến số nhị phân có dấu thành
điện áp ra với U r > 0 hoặc
a) b)
U r < 0, tuỳ thuộc bít dấu của
Hinh 10.33) Mô hình hóa DAC kiểu lưới điện trớ ; b) Sơ đó khói DAC nói chung.
số nhị phân.

10.2.2. Vi m ạch DAC AD7524


A D 7524 là vi mạch DAC 8 bít cùa Analog D evices có sơ đồ bố trí chân ở hình 10.4a. Thực
chất nó là lưới điện trở R - 2R (R = lOkQ); trong chip còn có điện trở phàn hồi R| = 10kn . Khi
dùng A D 7524 để tạo thành DAC như hình 10.2a, cần phải thêm một khuếch đại thuật toán bên
ngoài và nối theo hình 10.4b. Số nhị phãn 8 bít cần biến đổi, đạt tương úng vào các đầu vào dữ
liệu DO 4 - D7, tương thích với họ TTL. Đầu ra outl là đầu ra cùa dòng điện tổng. Đầu RFB là
đầu ra cùa điện trở phàn hổi Rf. Khi ghi vào 8 bít dữ liệu thì đặt WR = cs = L (0 logic). Sau đó
phải chuyển WR sang mức cao H (1 logic), ta mới nhận được điện áp tỷ lệ U r ờ đầu ra khuếch
đại thuật toán. N guồn cung cấp cho A D 7524 là 5 -5- 15V, dòng tiêu thụ khoảng lm A .
Đ iện áp chuẩn đặt vào chân U re, (chân 15) có thể là dương hoặc âm.
Tương tự vói A D 7524 là AD7545. Sự khác nhau cơ bản là kênh dữ liệu cùa AD7545 có 12 bít
(D0 + D11).
+5+15V
( l) 0
Out1[ 1 16 : rfb \ WR UDD U l
Out2[ 2 15 ĩu „ , „ 13 15
Uref - ° ±ur0f
16
GND[ 3 14 D U dd Xi RFB
D 7t 4 13 ]W R Do+D, Out1
D 6[ 5 12 ] cs 4+11 Out2
D5Ẽ 6 11 ]D 0 CS 12
D 4[ 7 10 5 D1 GND
D3C 8 9
^ D2 a)

Hình 10.4. AD7524: a) Sơ đổ chân; b) Nối AD7524 để tạo thành DAC 8 bit.

10.3. ỨNG DỤNG CỦA DAC


10.3.1.Mạch cộng hai số nhị phân N|, N2
Kết quả nhặn đưqc ờ đầu ra điện áp tỷ lệ u , (hình 10.5a):
u r= u„ + u r2 = KdauJ|NÍ + KDAU„fN2= KdaI U N , + N 2).

211
10.3.2. M ạch nhân hai số nhị phân N „ N2
Kết quả cho ờ đầu ra điện áp tỷ lệ với tích N ,N 2: U r = K DA2 N 2U ri = KDA,K DA2U re(N ,N 2
(hình 10.5b).
Mạch cộng và nhãn ờ hình 10.5 gọi là mạch
cộng và mạch nhân lai. T heo m ô hình DAC ờ
hình 10.3a có thể xây dựng mạch cộng lai bằng
cách dùng hai lưới điện trở R - 2R và một
khuếch đại thuật toán, nối theo sơ đồ cộng đảo.
V í dụ ta có thể dùng hai vi m ạch A D 7524 và
một khuếch đại thuật toán để xây dựng mạch
cộng lai hai số nhị phân 8 bit.

10.3.3. M ạch tích phân lộp trình


Mạch tích phân lập trình là mạch tích phân
mà hằng số tích phân có thể thay đổi, bằng cách
thay đổi số nhị phân đặt vào. Từ m ô hình D A C ờ
hình 10.3a, nếu thay R r bằng tụ C; điện áp chuẩn b)
Ưrer thay bằng điện áp cần lấy tích phân U v, ta sẽ Hình 10.5. Mạch cộng và mạch nhân lai.
được mạch tích phản lập trình có điện áp ra:

u r = ----- — J U vdt (10.3)


R VC

Trong đó: Rv thay dổi theo số nhị phân N theo quan hệ (1 0.2).

10.3.4. Mạch khuếch đại lộp trình


Mạch khuếch đại lặp trình là mạch có hệ số khuếch đại thay đổi theo số nhị phân N đặt vào.
Hình 10.6a, b là sơ đổ nguyên lý các mạch khuếch đại lập trình dùng DAC:

R2

Hình 10.6. Các mạch khuếch dại lặp trinh,

ở hình >0.6a: U r, = K DAU ,N = ị - ị } .U V -> U r =

uv
Ở hình 10.6b: U rl = K UAU r.N = U v -> U r = - ^ - 7
k dan

212
10.3.5. Mạch tạo c á c hàm analog
Có thể dùng DAC để thành lập các mạch tạo hầm tương tự (analog), ví dụ tạo hàm sin, hàm
tuyến tính theo thời gian (phát sóng răng cưa). Hình 10.7a là sơ đồ khối mạch tạo sóng răng cưa.

A
Hình 10.7. Sơ đồ khối mạch phát sóng răng cưa và dạng điện áp ra u r(t).

- Mạch phát xung thạch anh phát ra dãy xung chuẩn, tần số fa = - có độ ổn định rất cao.
X
- Bộ đếm nhị phân n bit đếm các xung đi tới. Kết quả đếm N cho ra dưới dạng số nhị phân

n bit. Ta thấy số N đặt vào D A C tỷ lệ với thời gian t : N = - = fa.t


X
- DAC biến N thành điện áp ra tỷ lệ :
U r, = K DA.U rt.;.N = KDA.U rc, f , t (10.4)
- Bộ đếm nhị phân n bít có chu trình u
đếm 2° xung, nghĩa là : Khi bộ đếm đã 4q
đếm đến dung lượng N m„ = 2" - 1; nếu có
xung tới bộ đếm (xung thứ 2 "), thì nội dung 3q / Ur,=Ur + AU(t)
chứa trong bộ đếm tự động trờ về 0 (N = 0)
và nó lại sẩn sàng bắt đẩu một chu trình 2q “V
đếm mới. D o đó u rl(t) có chu trình lặp
T = Nm„T, biên độ: U m = K DA.U „r.Nm, x. q
- Lọc thõng thấp loại bỏ dạng bậc
thang của U rl: bảo đảm U r(t) có dạng
tuyến tính như hình 10.7b.
Điện áp đẩu ra D A C U rl(t) có dạng
bậc thang như ờ hình 1 0 .8 , có thể phân
tích thành hai phần : U r,(t) = U r(t) + AU(t)
Khai triển Fourier của thành phần
Hình 10.8. Phán Ưch dạng bặc thang cùa u„(t).
AU(t) l à :

AU(t) = —[ sincoat + -s in 2 c o at + -sin 3 (ú t + ...] = — ỵ —sink(ũ t


n\ 2 3 ) 7ik=ik

Trong đó coa = 2rcfa = — . Lọc thông thấp với dải thông nhỏ hơn fa một ít, sẽ loại bỏ được
X
AU(t). Ở đầu ra bộ lọc chỉ còn thành phần u,(t).

213
10.4. BỘ BIẾN ĐỔI ADC (ANALOG TO DIGITAL CONVERTER - ADC)
10.4.1. C ác bưốc chuyển đổi AD và định lý lấy mẫu
Trong A D C , tín hiệu tương tự đầu vào thường là liên tục theo thời gian, tín hiệu số mã hóa
ờ đầu ra là ròi rạc. Sự chuyển đổi A D đòi hỏi phải lấy mẫu đối với tín hiệu tương tự ờ đâu vào
tại những thời điểm quy định, sau đó chuyển đổi các
giá trị mẫu đó thành lượng sô' đầu ra. Vậy quá trình
chuyển đổi A D nói chung có 4 bước: lấy mẫu, nhớ
mẫu, lượng từ hóa, mã hóa. Như chúng ta sẽ thấy, các
bước trên đây luõn luôn kết hợp nhau trong một quá
trình thống nhất. V í dụ, lấy mẫu và nhớ mẫu là công
việc liên tục của cùng m ột m ạch điện, lượng tử hóa và
mã hóa là công việc đổng thời thực hiện trong quá trình
chuyển đổi, với khoảng thời gian cẩn thiết là một phần
cùa thời gian nhớ mẫu.
Nguyên lý lấ y m ầu:
Người ta đã chứng minh rằng, đối với tín hiệu
tương tự U| thì tín hiệu lấy m ỉu u, sau quá trình lấy mẫu
có thể khôi phục trờ lại một cách trung thực, nếu điều Hinh 10.9. Láy mẫu tín hiệu tương tự đáu vào.
kiện sau đây được thỏa mãn:
u > 2 f | max (1 0 .5 )

fs = ]/T s là tần số lấy m ỉu; f|m„ là giới hạn trên cùa dải tần tín hiệu tương tự.
(10.5) là nội dung định lý lấy mẫu.

10.4.2. Lượng tử hóa và mã hóa


Ta đã biết, tín hiệu số không những là rời rạc trong thời gian, mà còn không liên tục theo
giá trị. Một giá trị bất kỳ cùa tín hiệu số đểu phải biểu thị bằng bội số ngu yên lẩn giá trị chuẩn
nào đó, giá trị này là nhò nhất được chọn. N ghĩa là, nếu dùng tín hiệu số biểu thị điện áp lấy
mẫu, thì tất phải bắt điện áp lấy mẫu hóa thành bội số nguyên lần giá trị chuẩn. Quá trình này
gọi là lượng nỉ hóa. Đ ơn vị được chọn theo quy định này gọi là đơn VỊ lượng từ (hoậc bước
lượng lử), ký hiệu là q. V iệc dùng mã nhị phân biểu thị giá trị tín hiệu số là mã hóa. Mã nhị
phản có được sau quá trình trên chính là tín hiệu đầu ra của chuyển đổi A D .
Tín hiệu tương tự là liên tục thì không nhất thiết phải là bội số nguyên lần cùa q, do đó ta
không tránh khỏi sai số lượng từ hóa. Tồn tại những cách khác nhau phân chia các mức lượng
từ dẫn đến sai số lượng từ hóa khác nhau.
- Giả sử ta chuyển đổi tín hiệu điện ấp tương tự 0 IV thành tín hiệu số nhị phân 3 bít.

N ếu chọn q = - V , đổng thời quy định rằng điện áp tương tự trong phạm vi 0 +-Ỉ- V xem như
8 8
1 2
là Oxq thi tín hiệu số tương ứng là 000. Tương tự, điện áp tương tự - V v - V l à l x q thì tương
o 3
ứng với 001 v.v...

T heo cách phân chia mức lượng từ đó, ta có hình 1 0 .10a, và sai sô lượng từ cực đại là — V

214
- Hình 10.10b chỉ ra phương pháp phân chia mức lượng tử có thê’ giảm nhò hơn sai số
2
lượng tử. Chọn q = —- V.
15

Quy định: điện áp tuơng tự 0 + — V (0 + —) tương ứng 000.

điện áp tương tự .± 1 lg 0 0 ] v .v ...


15 15
1
V.
" 15
1 V -------
111 7q = 7/8V 1V -
111 7q = 14/15V
110 6q = 6/8V 13/15
110 6q= 12/15V
101 5q = 5/8V 11/15
101 5q = 10/12V
100 4q = 4/8V 9/15
100 4q = 8/15V
011 3q = 3/8V 7/15
3/8 011 3q = 6/15V
010 2q = 2/8V 5/15 •
010 2q = 4/15V
001 1q = 1/8V 3/15 •
001 1q = 2/15V
000 Oq = o v 1/15 •

-Q
000

II
<
o

o
0 0
b)

chia mức lượng tử.

Chúng ta thấy sai số lượng tử của phương pháp này giảm nhỏ lại nhờ cách phân chia mức
đặc biệt, trong đó, giá trị quy định của điện áp tương tự mà m ỗi tín hiệu số nhị phân đại biểu
nằm ở giữa phạm vi giá trị điện áp tương tự có cùng giá trị lượng tử (điện áp tương tự trong
1 3 , 2
phạm vi — v + —- V đều có cùng giá trị lượng tử 001, mà 001 đại biếu cho giá trị đúng — V,

nằm đúng giữa phạm vi trên).

10.5. CÁC PHƯƠNG PHÁP BIẾN Đ ổ i TƯƠNG T ự - s ố


Nhũng mạch A D C thường gặp nhất là các mạch nhằm lượng tử hoá miền giá trị cùa diện
áp tại các thời điểm lấy mảu. Có nhiều biện pháp kỹ thuật thực hiện lượng tử hoá điện áp, có
thể chia làm hai nhóm lớn :
- Phương pháp lượng tử hóa trực tiếp : điện áp cần lượng từ hóa u biến trực tiếp sang số
nhị phân N (U - » N).
- Phương pháp lượng tử hóa gián tiếp : u biến sang đại lượng vật lý trung gian (thời gian t,
lán số 0 . sau đó mới biến sang N.
Dưới đây trình bày vài phương pháp điển hình.

10.5.1. ADC kiểu biến đổi song song


ở phương pháp này, điện áp cần lượng từ hoá u , được so sánh đồng thời với các mức điện áp
chuẩn, sai khác nhau một bước lượng từ q. Kết quả so sánh xuất hiện đồng thời ờ đẩu ra các bộ so
sánh tương tự và chúng được chuyển thành số nhị phân n bít ờ cửa ra mạch chuyển đổi mã.

215
Hình 10.1 la là sơ đổ nguyên lý cùa A D C 3 bit, kiều biến đổi song song. Phân áp diện trở
tạo các mức điện áp chuẩn u , + u 7. Bước lượng từ q xác định như sau :

q = — rcf ; với n = 3 - » q =
2" - 1 7
Tín hiệu logic ở đẩu ra bộ so sánh tương tự phụ thuộc quan hệ giữa U x và U k. k = 1, 2,.. 7:

s = ílkhiux > u k

k [0 k h i u x < u k

Mạch chuyển đổi mã biến mã S7S^...S2S 1 ờ cừa vào thành sô' nhị phân b 2b|b n ờ cửa ra. Bảng
ờ hình 10.1 lb m ô tà hoạt động cùa A D C ờ hình 10.1 la. Mạch A D C kiểu biên đổi song song có
ưu điểm là thời gian biến đổi rất nhanh, chỉ khoáng dưới 100ns. Tuy nhiên, nhược điểm cùa
mạch là yêu cầu số linh kiện rất lớn. M ạch chỉ thích hợp với các A D C 4, 5 bít.

Mạch
chuyển
đổi mã

2*

2’

Hình 10.112) ADC kiểu biến đổi song song; b) Bảng mô tả hoạt động của ADC.

10.5.2. ADC kiểu xấp xỉ dần từng bit


N ội dung của phương pháp như sau:
- Giả sữ A D C là n bit, số nhị phân ở cửa ra là N = b„_|b„_2... b,b„. Đ ầu tiên gán cho bít có
trọng số lớn nhất b„_, giá trị 1 , các bít còn lại mang giá trị 0 .
Đưa số thừ N = 100...00 vào D A C n bít. Ta sẽ nhận được ờ đẩu ra D A C điện áp tỷ lệ U DA.
- Dùng bộ so sánh tương tự so sánh điện áp cần biến đổi u , với U DA. Tùy thuộc quan hệ giữa
u, và U DA mà ờ đầu ra s của bộ so sánh sẽ có giá ưị 0 hay 1 logic. V í dụ U x > UŨA thì s = 1 và s =0
khi u„ < UDA. Cũng cân cứ vào quan hệ giữa u , và U DA mà mạch sẽ đua ra quyết định giá trị thực
cùa bít thử U x > U DA: bít thừ giữ giá trị 1 logic; nếu u , < U DA, bít thử phải chuyền sang giá trị 0.
V í dụ với b„_! = 1 thì U x < U DA ta quyết định b„_| = 0.
- Chuyển sang thừ với bít c ó trọng số nhó hơn liền ké là b„_2 = 1. Sô' (hừ N lúc này là
0 1 0 ...0 0 0 . Tiếp tục các thao tác đã trình bày trên, để quyết định giá trị thực cùa bn_Ị. Cứ làm

216
như vậy để thử và quyết định giá trị các bít, tuần tự từ bit có trọng số cao nhất bn. , dấn tới bit
có trọng số thấp nhất b„ thì kết thúc.
Hình 10.12 là sơ đồ nguyên lý cùa DAC kiểu xấp xỉ dán từng bit. SAR (Successive
Approximation Register) là thanh ghi xấp xì dẩn. N ó là một mạch logic. Cứ m ỗi lần có xung
Clock xuất hiện, SAR sẽ đặt giá trị 1 cho bít thử bk (k = n - 1, n - 2,... 1, 0). Căn cứ vào giá trị
cùa s mà SAR sẽ quyết định giá trị thực cùa bk. Khi đã quyết định xong giá trị thực cùa bít thử
cuối cùng (b„), đẩu ra
EOC (End or*
m r
fĩ Converter) u, | \ „. _ " .
SAR n bít
. Clock

sẽ phát ra tín hiệu logic, 2-2 2"-3


báo quá trình biến đổi
đã kết thúc.
ADC kiểu xấp xỉ
dẩn từng bít yêu cẩu
không nhiều linh kiện,
thời gian biến đổi cũng
đù nhanh: ADC 8 bit có
thời gian biến đổi Uda Ure,
khoảng vài chục (J.s,
chậm nhất cũng không
quá lOOns. Hiện nay /tf/íA 10.12. ADC kiểu xấp xỉ dần từng bit.
đây là kiểu ADC thông đụng để kết nối với các hệ vi xử lý.

10.5.3. ADC kiểu tích phân hai sưòn dốc


Đày là một trong các phương pháp biến đổi tương tự - số kiểu gián tiếp: Đ iện áp u , cần
lượng tử hóa, được biến đổi thành đại lượng trung gian tỷ lệ (thời gian hoặc tần số). Sau đó thực
hiện việc lượng tử hóa đại lượng trung gian, ở phương pháp tích phân hai sườndốc, u„ được
biến đổi thành đại lượng trung gian là khoảng thời gian t„.
Hình 10.13 là sơ đổ nguyên lý ADC kiểu tích phân hai sườn dốc.

217
Mạch làm việc theo hai bước:
Bước 1. Khối điều khiển logic phát tín hiệu điều khiển B để khóa K đóng sang vị trí 1.
Mạch tích phân OAI tích phân điện áp cần biến đổi u , trong khoảng thời gian xác định trước t|.
Khoảng thời gian này được định bời bộ đếm N -l, có dung lượng N m„ , và t| = N ^ . ĩ .
Trong khoảng thời gian t,, tín hiệu điều khiển A = 0 logic nên cổng A N D đóng, các xung
từ khối phát xung thạch anh bị chặn không tới được bộ đếm N L>2. Trong khoảng thời gian này,
1 1 u
đ iệ n á p Uc thay đ ổ i theo quan hê: ut (t) = — — í u „ d t = —t
RC 0 RC
Giả sử U x > 0 —>u. sẽ thay đổi tuyến tính như ở hình 10.14. Tới thời điểm ỉ), tín hiệu logic
D lật trạng thái (ví dụ từ 0 logic sang 1
logic), làm dừng bộ đếm N L'l , các tín hiệu
A, B cũng đều lật trạng thái: A = 1 làm
mở cổng A N D , B điều khiển làm khóa K
đóng sang vị trí 2 , bắt đầu bước 2 .
Bước 2. M ạch tích phàn OAI tích
phân điện áp định trước u ,„ ngược dấu
với u*. Đ ổng thời bộ đếm N -2 bắt đầu
đếm các xung đến từ khối phát xung
thạch anh. Đ iện áp uc sẽ tăng tuyến tính Hình 10.14. Sự thay đổi của uctheo thời gian.
(hình 10.14), theo quan hệ:

ir .it > t , ) = — — í u (ldt + u ,.( t,) = — (t - 1 .) - — 1|


1 RC lị 0 c 1 RC ' RC

Tới thời điểm t2, khi ut(t2) = 0 thì tín hiệu logic s ờ đầu ra m ạch so sánh 0 A 2 sẽ lật trạng
thái: từ 1 logic chuyển sang 0 logic làm cổng A N D đóng, dãy xung thạch anh bị chặn. ADC
u 11
hoàn thành việc biến đổi. Ta có: u c(t2 ) = — - ( t 2 ■ : t, = 0
RC RC
N„
Rút ra : t x = t2 —t u, = -.u . (10.6)
u„

Bộ đếm N"2 đếm dãy xung thạch anh đi tới trong khoảng thời gian tx. V ậy, số N biểu diễn
t N
dưới dang mã nhi phân ở cửa ra bô đếm sẽ là: N = — = .u (10.7)
X u 0

Từ (10.6), (1 0 .7 ) cho thấy A D C kiểu tích phân hai sườn dốc là bộ biến đổi gián tiếp: u ,
được biến thành thời gian tỷ lệ t, theo (1 0.6). Sau đó m ạch thực hiện phép lượng từ hóa tx, và
kết quả N ờ cửa ra sẽ tỷ lệ với U x theo (1 0 .7 ). Nhược điểm cùa A D C kiểu biến đổi gián tiếp là
thời gian biến đổi lâu. Bù lại, độ chính xác của A D C kiểu tích phân hai sườn dốc rất cao; ảnh
hường cùa nhiễu hầu như bị triệt tiêu (nhờ thao tác tích phân).
Vài 17 mạch ADC: Hiện nay các A D C đều sản xuất dưới dạng mạch tích hợp và có rất nhiều
chùng loại.
- Các A D C kiểu biến đổi xấp xi dần từng bít như: A D C 0809, 8 bít; A D 5 7 4 A , 12 bít;
A D S7919, 12 bit; A D S 7821, 16 bít.
- A D C kiểu tích phân hai sườn dốc : ICL7107; ICL7109, 12 bít.

218
10.6. ITNG DUNG CUA ADC
ADC 0809 IN 3 — 1 1 - IN2
IN 4— 2 2 - IN1
a) Dcic tinh k y thuat cun A D C 0809
IN 5 — 3 3 - IN0
ADC 0809 la b6 bi6 n doi tuong tu s6 8 kenh 8 bit. IN 6 - 4 4 - ADDA
Tam k£nh dau vao tuong tir diroc chon kenh. IN 7 — 5 5 - ADD B

Cac ch! tieu ky thuat c o ban cua ADC 0809 : START- 6 6 - ADD C
EOC- 7 7 - ALE
- Ngu 6 n cung cap : 4,5V + 6,0V . 2 '5— 8 8 - 2 1M SB

- D o phan giai : 8 bit. O utput E n a b le — 9 9 - 2-2


C L O C K - 10 10 - 2-3
- So kenh : 8 kenh vao tucfng tu, tin hieu vao tir
V c c — 11 11 _ 2A
0 VDC + 5VDC. 2 ‘8LSB
V ref (+ ) — 12 12 -
- Thcri gian chuyen doi 100 micro giay. G N D — 13 13 — V ref (-)
2‘ 7— 14 14 - 2-6
- Tuong thich vcri vi xir ly.
- T in s 6 xung clock : 640kH z + 1280kHz. a)

Clock
JTJTTLrLTlAiTrLrLrL
Start 50%

tws
ALE 50% 4- - ■ 50%
I tw ALE I |

I « 1 ^ X 7 ^
Dia chi on d
Oja chi 5 0%
% ¥j • ■50%

Tin hieu vao


-O n d in h -
tu’Ong t ii _
< 1/2
LSB
Dau vao bo -
so sanh
(6 ben trong) “
X
to-^
X
Dieu khien_ V _
doc dur lieu ra
EO C-
50% . L

-tc -

Trang thai th irb a


Cac dau ra -

Hinh 10.15. ADC0809:


a) So do bo tri chSn ; b) Gian do xung dieu khiln.

219
Giải thích ý nghĩa của các chân điều khiển và tín hiệu.
STT Ký hiệu Chức năng

Chân tín hiệu địa chỉ để chọn kênh vào tương tự từ INO -e- IN7, trong đó ADD A
1 ADD A , ADD B ADD c
là LSB

2 IN 0 -IN 7 Các kênh đầu vào tín hiệu tương tự

3 2-8 + 2-1 8 bit dữ liệu ra số, trong đó 2”®là LSB

4 Vcc Nguồn cung cấp 4,5 - 6 V

5 VrEF(♦) 1VREF(-) Nguồn điện áp chuẩn 5V

6 GND ov
7 ALE Xung điểu khiển chốt địa chỉ ADD A - ADD c, tích cực cao
8 START Xung điéu khiển ra lệnh bắt đầu chuyển đổi, tích cực cao

9 EOC Tín hiệu báo kết thúc chuyển đổi

10 OUTPUT ENABLE (OE) Tín hiệu điểu khiển mở đệm ra 3 trạng thái để đọc dữ liệu

11 CLOCK Xung nhịp điéu khiển ADC

b ) ứ ng dụng
Ghép nối A D C 0 8 0 9 với vi điều khiển 8051.

8051 A D C 0809

Hình 10.16. Sơ đồ ghép nối ADC0809 với vi điéu khiển 8051.

Có thể lựa chọn 1 trong 2 phương pháp ghép nối A D C 0 8 0 9 với vi điều khiển 8051: Ghép

220
nối theo cổng (port) hoặc ghép nối theo kênh (bus). Dưới đây trình bày phương pháp ghép nối
theo cổng (port).
+ Sơ đồ mạch ghép nối theo cổng (hình 10.16).

+ Chuơng trình điều khiển.


Giả sử ta muốn chọn kênh vào tương tự INO để thực hiện biến đổi thành tín hiệu số. Ta
có thể viết chương trình điểu khiển dưới dạng chương trình con như sau :
A DC C T R L :
SETB P.13 ; T ao tín hi ê u A L E và S TART
NOP
NOP
NOP
C LR P1.3 ; X óa tín hiệu A LE và S TART
WAIT_1 : JB P1.4, WAIT_1 ; Ki ể m tra sườn lên của tín hiệu
WAIT_0 : JNB P1.4, WAIT _ 0
SETB P1.5 ; T ao tín h i ệ u O E = 1
N OP
N OP
MOV A, P0 ; Đọ c d ữ liệu t ừ A D C v ào t h a n h chứa A
N OP
N OP
C LR P1.5 ; X óa tín hi ệ u O E = 0
RET

Như vậy, ở chương trình chính ta chỉ việc chọn kênh rồi sau đó gọi chương trình con.
ADC_CTRL, kết q u ả sẽ ch ứ a ở t hanh chứa A.
;Chọn kênh
C LR P1 .0 ; Xóa A D D A = 0
CLR Pl.l ; Xóa A D D B = 0
CLR P1.2 ; Xóa A D D c - 0
LCALL ADC_CTRL

Khi muốn chọn kênh nào khác chỉ cần thay đổi các lệnh chọn kênh tương ứng ờ chương
trình chính P l.o , P l .l và P1.2.

CÂU HỎI VÀ BÀI TẬP CHƯƠNG 10


10.1. Hãy thiết kế mạch tích phân lập trình sử dụng c h ip A D 7 5 2 4 .
10.2. Hăy thiết kế mạch khuếch đại lập trình sử dụng chip A D 7524.
10.3. Hãy tìm hiểu nguyên lý hoạt dộng của mạch ADC kiểu tích phân hai sườn dốc ICL 7107.
Dùng vi mạch này thiết kế đồng hồ đo điện áp một chiểu hiển thị số có dài do 0 200VDC.
10.4. Thiết kê mạch ghép nối vi điều khiển 8051 với mạch DAC 0800.
/0 .5 . Sử dụng phương pháp ghép nổi Iheo kênh để thiết k ế mạch ghép nối vi điều khiển
8051 với ADC 0809.

221
(€ h' ư < ĩ/y ư ý J J

KHÁI NIỆM VỀ MÁY VI TÍNH VÀ CÁC HỆ VI x ử LÝ

M áy vi tính là m ột hệ thống thiết bị điện từ số hoàn chình, phức tạp với nhiều bộ phận cấu
thành. D o vậy, m ột chương ngắn như thế này không thể trình bày hết các nội dung c ơ bản cẩn
thiết cho bạn đọc. M ục đích cùa chương này chỉ là để giới thiệu m ột cách sơ lược các khái niệm
cơ bản về m áy vi tính (M icro Computer) về các bộ vi xử lý (M icro Processor) và vi điều khiển
(M icro Controller). Trong chương trình môn học điện tử số, chương này là tuỳ chọn. Tuy vậy,
những nội dung cơ bản được giới thiệu ở đây là rất bổ ích. N ó cung cấp cho người học những
kiến thức cần thiết trước khi tìm hiểu kỹ hơn các nội dung liên quan trong m ột m ôn học khác:
môn học Kỹ thuật vi xử lý.

11.1. CẤU TRÚC PHẨN CỨNG CỦA MÁY TÍNH


M áy tính là m ột loại thiết bị đặc biệt có thể được dùng để giải quyết m ột côn g việc do con
người đặt ra thông qua việc thực hiện lần lượt các câu lệnh của m ột chương trình m ô tả công
việc đó.

B u s đ ịa c h ỉ

B u s d ữ liệ u

B u s đ iề u k h iể n

Hình 11.1. Sơ dó cấu trúc phán cứng máy tinh.

Đ ể thực hiện m ột cô n g việc như vậy, m áy tính cần phải:

- Tiếp nhận các số liệu ban đầu được đưa vào từ bên ngoài.
- Thực hiện các thao tác cần thiết để xử lý các số liệu đó.
- Lưu giữ các kết quả thực hiện theo m ột trật tự m ong muốn.
- Đưa ra thông tin vé kết quả thực hiện chương trình ờ dạng thích hợp để trao đ ổ i với bên
ngoài (con người hoặc các thiết bị khác).
M ột m áy tính ngoài chức năng xử lý thông tin còn có các chức năng vào ra trao đổi thòng
tin , và chức nãng nhớ lim giữ thông tin.

222
Vể mặt cấu trúc, máy tính gổm có bộ xử lý trung tâm (central processing unit - CPU) kết
nối với bộ nhớ (m em ory) và các khối trao đổi vào ra (I o device).
Hình 11.1 m ô tà sơ đổ cấu trúc căn bản cùa một máy tính. Bộ xử lý trung tâm (CPU), bộ
nhớ (M EM O RY) và khối các thiết bị vào ra (I o DEV) là những bộ phận cấu thành của mấy
tính. Chúng trao đổi thông tin với nhau thông qua một hệ thống kết nối gọi là bus.

11.2. CÁC BỘ PHẬN CHÍNH CỦA MÁY TÍNH


11.2.1. Bộ xử lý trung tâm
Bộ xử lý trung tâm (Central Processing Unit, CPU) được coi như là "bộ não" cùa máy tính,
chức năng cùa CPU là đọc các lệnh cùa chương trình từ bộ nhớ và thực hiện chúng. Trong các
máy tính hiện nay, CPU được tích hợp gọn trên một chip vi mạch và được gọi là bộ vi xử lý
(Micro Processing Unit - M PU). Các máy tính hiện nay, do vậy, được gọi là các máy vi tính
(Micro Computers), hoặc được gọi một cách chung hơn là các hệ vi xử lý (M icroprocessor-
Based Systems).
CPU gồm có các khối chức năng sau:
- Khối điều khiển (Control Unit - CU): xác định các thao tác thực hiện lệnh, quyết định
chiều hướng và trình tự thực hiện các lệnh của chương trình.
- Khối thực hiện số học logic (Arithmetic Logical Unit - ALU): thực hiện các phép toán
sô'học (cộng, trừ...) và logic (A N D , OR...) Iên các toán hạng của lệnh.
- Khối các thanh ghi (Registers): để chứa các sô' liệu tạm thời, các thông tin điều khiển
cần thiết của CPU. Các thanh ghi thường gặp:
+ Thanh ghi chứa (Accumulator).
+ Các thanh ghi địa chỉ/dữ liệu (Data/Address Registers).
+ Thanh ghi lệnh (Instruction Register).
+ Bộ đếm chương trình (Program Counter).
+ Thanh ghi trạng thái bộ xử lý (Processor Status Register).
Hình 11.2 m ô tả sơ lược cấu trúc và các khối chức năng cùa CPU.

Hình 11.2. VI dụ vé cấu trúc của một bộ vi xử lý.

223
11.2.2. Bộ nhỏ
Bộ nhớ (M em ory) dùng để chứa các lộnh và dữ liệu phục vụ cho việc thực hiện chương
trình. Bộ nhớ chính cùa các m áy vi tính được chê' tạo bẳng vặt liệu b án d ỉn và được gọi là là bộ
nhớ bán dẫn (Sem iconductor M emory). Mồi bộ nhớ bán dẫn b ao gồm nhiểu đơn vị nhỏ gọi la ô
nhớ, m ỗi ô nhớ chứa một từ mã nhị phán với một số bít nhất định. Trong các m áy VI tính, m ôi ô
nhớ chuẩn chứa 8 bít (gọi là Byte). Byte là đơn vị thông tin cơ bản dùng trong các m áy VI tính
hiện nay.
Hệ thống c ó thể truy cập tuỳ ý (gọi là random access) tới từng ô nhớ của bộ nhớ bán dân
bằng cách đưa địa chì cùa ô cần truy cập trỏ tới bộ nhớ.
Các bộ nhớ bán dẫn dùng trong các m áy vi tính gồm R A M và R OM (xem chương 7):
- Bộ nhớ ROM dùng để chứa các thông tin c ố định, ví dụ chương trình khởi động cùa các
máy vi tính (ROM BIOS), các bảng biến đổi mã...
- RAM được dùng để chứa các thông tin biến đ ổ i, v í dụ các chương trình ứng dụng, các dữ
liệu ban đẩu và kết quả thực hiện chương trình.

11.2.3. Khối c ó c thiết bị vào ra


Khối các thiết bị vào ra (I o devices) cùa m áy vi tính được chia làm hai nhóm:
- Nhóm thứ nhất là các thiết bị bên ngoài thường được gọi là các thiết bị ngoại vi
(Peripheral device). Các thiết bị này thực hiện chức năng trao đổi thông tin giữa m áy tính với
người dùng và các thiết bị khác. Các thiết bị ngoại vi cũng có thể chia thành các nhóm:
+ Các thiết bị vào: bàn phím, chuột, bộ biến đổi tương tự - số (A D C )...
+ Các thiết bị ra: màn hình, m áy in, bộ biến đổi số - tương tự (D A C )...
+ Các thiết bị lưu trữ thông tin: ổ đĩa từ, đĩa quang, USB...
Các thiết bị ngoại vi thường c ó mức tín hiệu, tốc độ và phương thức hoạt động rất khác với
hệ thống trung tâm cùa m áy tính (CPU, main m em ory). Đ ể thực hiện việc trao đổi thông tin
giữa các thiết bị ngoại vi với CPU thường phải sừ dụng các thiết bị phụ trợ gọi là mạch giao
diện vào ra (interface).
- Nhóm các thiết bị
giao diện điều tiết việc trao

í ĩ ĩ
đổi thông tin giữa các thiết
bị ngoại vi với hệ thống
trung tâm của máy tính. Bộ
phận chính cùa các thiết bị Đ iề u k h iể n Đ iể u k h iể n Đ iể u k h iể n Đ iể u k h iể n
giao diện là các cổng vào ra m à n h ìn h b à n p h ím ổ đ ĩa Ổ đ ĩa c ứ n g

(I o port). M ỗi cổng vào ra


có một địa chỉ xác định,
CPU trao đổi thông tin với
thiết bị ngoại vi thông qua
việc đọc viết cổng vào ra
nối với nó. V ề cơ bản việc B ộ nhớ
CPU
đọc viết m ột cổng vào ra c h ín h

cũng tương tự như đọc viết


một ồ nhớ. N goài ra, trong Hinh 11.3. Các thiết bị ngoại vi cùa máy vi tính.

224
các thiết bị giao diện còn có các khối chức năng điều khiển phương thức hoạt động. Các thiết bị
giao diện cùa các thiết bị ngoại vi hoàn chình thường được gọi là các thiết bị điểu khiển ngoại vi
(peripheral controller). V í dụ, giao diện điều khiển màn hình là video controller, điều khiển ổ đĩa
là disk controller. Hình 11.3 mô tả sơ đổ kết nối giữa một số thiết bị ngoại vi với hệ thống trung
tâm của máy vi tính.

11.2.4. BUS

Vccw A23-A0%
GNDW
Đ iểu khiển CLKW ÍD15-D0 >
hệ thống

ÄS,.
Bus Íầ FC0 R/W. Bụs
điếu

< FC ÜDSW
C12
địa T rạng thái khiển
chỉ P rocessor
„ F LDS£ khõng

^)TACK đồng

MC68000

BR -1 Bus
• điểu
B u s đ iể u r BU SR Q — ^ ►
I khiển
khiển C PU BU SA C K

|T BERR.
^RESETj ^ IPL1 Đ iểu
Đ iéu khiển
hệ thống ^HALT^ ^ IPL2 khiển

MODEw .rfAVEC ngắt

Hình 11.4. Ví dụ vé các tín hiệu cùa bộ vi xử lý:


a) Bộ vi xử lý 8 bit Z80 của Zilog; b) Bộ vi xử lý 16 bit MC68000 của Motorola.

Bus là phương tiện chuyên chờ thông tin trao đổi giữa các bộ phận trong hệ thống máy vi
tính. Về mặt cấu trúc, bus gồm các dây dẫn chạy song song nối các vi mạch trên bảng mạch in.
Hệ thống bus trong các m áy vi tính được chia thành ba nhóm, như sau:
- Bus địa chì (Address bus) là bus tạo bời nhóm các đường tín hiệu mang thông tin về địa
chì của ô nhớ hoặc cổng vào ra. Khi cần trao đổi thông tin với bộ nhớ hoặc thiết bị vàora, CPU
đưa địa chi của đối tượng cẩn trao đổi lên bus địa chỉ. Các tín hiệu trên bus địa chỉ được truyền
theo một chiểu từ CPU tới các bộ phận khác. Số bít cùa bus địa chỉ xác định không gian địa chỉ
có thể truy cập được của CPU, ví dụ CPU với bus địa chỉ 20 bít có thể truy cập tới một không
gian địa chì bằng 2“ = 1048576 (IM ) ô nhớ/cổng vào ra. Các đường tín hiệu của bus địa chỉ
thường được ký hiệu A„, A | , A m_,, trong đó m là số bít địa chỉ.
- Bus dữ liệu (Data bus) là bus tạo bởi nhóm các tín hiệu mang thông tin về dữ liệu cần
trao đổi giữa CPU với bộ nhớ hoặc thiết bị vào ra. Trong quá trình làm việc cùa máy tính, dữ
liệu có thể được viết ra từ CPU hoặc được đọc về CPU. N hư vậy các tín hiệu truyền trên bus dữ
liệu có thể theo một trong hai chiều: từ hoặc tới CPU. Số bit cùa bus dữ liệu xác định độ dài của
từ được sử dụng trong hệ thống. Các đường tín hiệu cùa bus dữ liệu trong m áy vi tính được ký
hiệu là D0, D ,, .... D„_,, với n là số bit dữ liệu.

225
- Bus điều khiển (Control bus) là bus tạo bởi các tín hiệivđiều khiển hoặc báo trạng thái hệ
thống. Trên các sơ đồ mạch, bus điều khiển được vẽ là bus hai chiều. Tuy nhiên, m ỗi tín hiệu
của bus điều khiển thường chỉ có thể truyền theo một chiều nhất định. Các tín hiệu cùa bus điều
khiển thường khác nhau tùy thuộc vào từng họ vi xử lý.
Hình 11.4 là hai ví dụ về các tín hiệu ở các chân (pin) của bộ vi xử lý, các tín hiệu này tạo
nên hệ thống bus của m áy vi tính.

11.3. HOẠT ĐỘNG THựC HIỆN CHƯƠNG TRÌNH TRONG MÁY


VI TÍNH
Hoạt động chính của m ọi hệ thống máy vi tính là thực hiện chương trình đã được nạp trong
bộ nhớ cùa nó. Đ ể có thể giải quyết một nhiệm vụ bất kỳ trên m áy vi tính, trước hêt cần phải
chương trình hoá nó. Tức là, cần phải biểu diễn nhiệm vụ đó dưới dạng m ột chương trình gồm
nhiều câu lệnh kế tiếp nhau. Các câu lệnh cùa chương trình được lưu trong bộ nhớ cùa mấy
tính. M ấy tính lẩn lượt thực hiện các câu lệnh cùa chương trình, qua đó giải quyết được nhiệm
vụ đặt ra.

11.3.1. Chu trình thực hiện lệnh


V iệc thực hiện m ỗi lệnh m áy được tiến hành
theo một chu trình gọi là tìm và thi hành lệnh (fetch -
execute cycle). Chu trình tìm và thi hành một lệnh có
thể được m ô tả qua ba giai đoạn hoạt động sau :
- Tim (FETCH) đọc lệnh từ bộ nhớ chương trình.

- Giải mã (D E C O D E ) lệnh để xác định yêu


cầu cùa lệnh.
- Thi hành (EXECUTE) lệnh, bao gôm việc thực
thi các thao tác theo yêu cầu của lệnh trong đó có thể
có cả việc viết kết quả thực hiện lệnh vào bộ nhớ.
Hình 11.5 m ô tả các hoạt động trong chu trình
tìm và thi hành m ỗi lệnh. Hình11.5.C á c h o ạ t đ ộ n g th ự c h iệ n m ộ t lệnh.
11.3.2. Trình tự thực hiện c á c lệnh
Yêu cầu c ơ bản trong việc thực hiện chương trình là tất cả các lệnh của chương trình phải
được thực thi một cách lẩn lượt theo đúng trình tự sắp xếp cùa chúng ở trong bộ nhớ. Y êu cẩu
này được đáp ứng một cách hoàn hảo nhờ cơ ch ế hoạt động đặc biệt của thanh ghi địa chỉ lệnh
(Instruction Pointer) trong bộ vi xử lý.
Đê’ thực hiện một chương trình, trước hết hệ thống nạp địa chỉ đầu cùa nó vào thanh ghi địa
chì lệnh. Trong giai đoạn tìm đọc lệnh, bộ vi xử lý đưa nội dung cùa thanh ghi địa chi lệnh lên
bus địa chỉ để trỏ vào ô nhớ chứa lệnh đổng thời kích hoạt tín hiệu đọc (read) để đưa nội dung
lệnh từ bộ nhớ về thanh ghi chứa lệnh (Instruction R egister) trong bộ vi xử lý. Trước khi thực
hiện giai đoạn giải mã lệnh, nội dung cùa thanh ghi địa chỉ lệnh được tự động thay đổi (thường
là tăng thêm 1) để trỏ tới lệnh tiếp theo cùa chương trình. D o cơ c h ế hoạt động như vậy. thanh
ghi địa chỉ lệnh thường được gọi là bộ đếm chương trình (PC - Program Counter). Hình 11 6
m ô tả trình tự thực hiện các lệnh k ế tiếp trong m ột chương trình.

226
Hình 11.6. Trình tự thực hiện các lệnh của chương trình.

11.3.3. Điều khiển rẻ nhánh chương trình


Trong hoạt động thực hiện chương trình ờ máy vi tính, cũng có những lúc trình tự thực
hiện các lệnh không tuân theo quy luật lần lượt như đã nói ở trên. Đ ó là những trường hợp khi
cần gọi thực hiện một chương trình con (subroutine), khi cần rẽ nhánh chương trình theo những
điều kiện nhất định cùa hệ thống, v .v ...

Đ ể thực hiện việc rẽ nhánh này, trong tập lệnh của vi xử lý có các lệnh như CALL (gọi
thực hiện một chương trình con), hoặc JuMP, BRaNch (chuyển tới thực hiện chương trình bắt
đẩu từ một địa chỉ mới). Đây là các lệnh rẽ nhánh vô điều kiện. Thực chất của việc rẽ nhánh
này là hệ thống sẽ nạp lại giá trị mới cho thanh ghi địa chỉ lệnh. Giá trị được nạp mới đó là địa
chỉ đích được ghi sau các lệnh rẽ nhánh CALL, JMP, hoặc BRN.
Riêng trong trường hợp gọi thực hiện chương trình con (lênh CALL), trước khi naD eiá tri
mới cho thanh ghi địa chi lệnh, hệ thống tự động
Main Sub1 Sub2
cất giá trị đang có của nó (tức là địa chỉ cùa lệnh
tiếp theo trong chương trình đang thực hiện) để sau
khi kết thúc chương trình con thì việc thực hiện
chương trình chính được khôi phục lại một cách
ì
Call subi
N
.
Call sub2
IV
1RTS
chính xác. Các lệnh báo kết thúc chương trình con
*
và trờ về chương trình chính thường được viết là
RETum hoặc RTS (Return from Subroutine). V iệc
gọi thực hiện chương trình con cũng có thể được 'r r
thực hiện theo nhiều mức. Hình 11.7 m ô tả việc RTS
gọi thực hiện chương trình con và trờ vể chương
trình chính theo hai mức. 'nh 11.7. Gọi thực hiện chương trình con hai mức.

227
Cũng có thể việc rẽ nhánh chì xảy ra theo những điều kiện nhất định cùa hệ thống. Trong
tập lệnh của bộ vi xử lý, lệnh rẽ nhánh có điều kiện thường được viết là Jcc, hoặc Bcc, với cc là
ký hiệu của điều kiện rẽ nhánh. Đ iểu kiện rẽ nhánh trong các lệnh này dựa trên giá trị cùa các
bit trạng thái (gọi là c ờ — flag) trong thanh ghi trạng thái cùa bộ xử lý. Các cờ phổ biến trong
các bộ vi xử lý là: c - carry (nhớ), o - overflow (tràn), z - zero ... Ví dụ, lệnh JC (Jump if Carry)
sẽ điều khiển rẽ nhánh chương trình tới địa chì đích viết sau nó nếu cờ carry dựng (C = 1) còn
lệnh JNC (Jump if N o Carry) thực hiện rẽ nhánh chương trình nếu cờ carry bị xoá (C = 0).

11.4. TỔ CHỨC BỘ NHỚ CỦA MÁY VI TÍNH


11.4.1. Phân vùng bộ nhỏ
Một CPU với n bit địa chỉ có thể trò tới một không gian địa chỉ gồm 2" ô nhớ. Trong một
máy vi tính thông thường, m ột phần của không gian nhớ này được dùng cho bộ nhớ RAM ,
một phần dùng cho bộ nhớ ROM , các cổng vào ra cũng có thể chiếm m ột phần trong không
gian đó.
Trong toàn bộ không gian địa chỉ bộ nhớ cùa một hệ vi xử lý có những vùng địa chỉ có thể
dùng được cho nhiều mục đích khấc nhau (có thể chứa chương trình, dữ liệu hoặc các thông tin
về địa chì) nhưng cũng có những vùng địa chi được dành riêng cho m ột mục đích cụ thể nhất
định. Ví dụ, ô nhớ có địa chì là nội dung cùa thanh ghi PC sau khi reset (thường gọi là vector
reset) chứa lệnh đầu tiên mà m áy tính sẽ thực hiện khi được khởi động. N ội dung cùa nó phải
xác định rõ ràng, nó thường thuộc bộ nhớ ROM chương trình của hệ thống. Y êu cắu trong việc
phân vùng bộ nhớ là địa chỉ của các vùng nhớ phải được xác định rõ ràng, các bộ phận nhớ
hoặc cổng vào ra khác nhau phải được trò bời những địa chỉ khác nhau. Y êu cầu này được giải
quyết bàng cách sử dụng m ạch giải mã địa chỉ.

11.4.2. Giải mã địa chỉ


Đ ể phân vùng địa chì cho từng khối nhớ trong m ột hệ thống m áy vi tính, ta sử dụng mạch
giải mã địa chỉ. N guyên tắc cơ bàn của giải mã địa chỉ được m ô tả ờ hình 11.8. Bus địa chì
được chia làm hai phần: các bít địa chỉ cao được đưa tới m ột mạch giải m ã (decoder) để tạo tín
hiệu chọn (CS) cho từng chip nhớ, các bít địa chỉ thấp nối trực tiếp tới các bít địa chi cùa từng
chip nhớ để chọn ô nhớ cụ thể.

Nguyên tắc giải mã địa chi Phân vùng địa chl bộ nhớ
M , L ______ ________ .
s ! s
B ! B
Ị Các bit đia chỉ 1 |3ííS Ể >® àlíộ

< > r > , 2m


N bits tới d eco d er ! M bits tới chip nhớ i ô nhớ.

Hình 11.8. Nguyên tắc giải mả địa chỉ.

Xét một ví dụ cụ thể : hệ thống vi xừ lý sừ dụng CPU c ó 13 bít địa chi. Không gian địa chi
mà hệ thống có thể trỏ tới được là 2 1’ = 8k (8 x 1 0 2 4 ) ô nhớ. Giả sử trong hệ thống sứ dụng các
chip nhớ có dung lượng 1 k, khi đó cần phải có 8 chip nhớ như vậy mới sử dụng hết khống gian

228
địa chỉ cùa hệ thống. Hình 11.9 giới thiệu một sơ đồ mạch giải mã cho hệ thống như vậy. Địa
chỉ cùa các vùng nhớ được xác định rõ ràng như mô tả ờ bảng trong hình 11.9.

Hình 11.9. Ví dụ về một mạch giải mã địa chỉ.

Hình 11.9 trên đây chỉ là một ví dụ đơn giàn minh hoạ nguyên tắc giải mã địa chì trong
các hệ vi xử lý. Thực tế, không phải tất cả các hệ vi xừ lý đều có bộ nhớ sừ dụng hết không gian
địa chỉ. Các vùng nhớ trong một hệ vi xử lý cũng không nhất thiết phải có kích thước như nhau.

11.4.3. Thao tá c trao đổi dữ liệu CPU - Bộ nhố


CPU có hai kiểu trao đổi dữ liệu với bộ nhớ là đọc (Read) và viết (Write). Các thao tác đọc
và viết bộ nhớ được m ô tả theo biểu đổ thời gian ở hình 1 1 . 1 0 dưới đây.

Khi đọc, bộ xử lý trung tâm thực hiện các bước sau :


- Đưa địa chỉ của ô nhớ cần đọc lên bus địa chỉ.
- Kích hoạt tín hiệu đọc (RD).

- Đến cuối chu kỳ đọc dữ liệu từ bộ nhớ được đưa vào một thanh ghi của CPU.

229
Khi viết, bộ xử lý trung tâm thực hiện các bước sau:
- Đưa địa chỉ chọn ô nhớ cần viết lên bus địa chỉ.
- Đưa nội dung cần viết lên bus dữ liệu của hệ thống.
- Kích hoạt tín hiệu viết (W R ) để chốt dữ liệu vào ô nhớ được chọn.

11.5. CÁC CỔNG VÀO RA


11.5.1. Khái niệm về cổng giao tiếp vào ra
Trong các hệ vi xử lý, các cổng vào ra là phương tiện thực hiện việc giao tiẽp giữa bus hộ
thống và các thiết bị ngoại vi. Tuỳ theo tính chất của thiết bị ngoại vi mà cổng gia o tiêp có thê
là cổng chỉ có chiều vào, cổng chỉ có chiều ra, hoặc cổng vào ra hai chiều. CPU trao đổi thông
tin với thiết bị ngoại vi bằng cách viết hoặc đọc cổng vào ra nôi giữa bus hệ thống và ngoại vi
đó. D o việc nối trực tiếp vào bus cho nên m ột cổng vào cần phải có đệm ba trạng thái (ví dụ:
74244), một cổng ra phải có chốt (v í dụ: 74 3 7 3 ). Cũng như m ỗi ô nhớ, m ỗi cổn g vào ra đều có
một địa chỉ cụ thể gắn với nó. V iệc phân định địa chỉ này được thực hiện nhờ m ạch giải mã địa
chi. Hình 11.11 là một ví dụ về việc ghép nối các cổng vào ra đơn giản với bus của hệ vi xử lý.

Hình 11.11. Ví dụ vế kết nối các cổng vào ra đơn giản.

11.5.2. Vào ra tá ch biệt và vào ra theo địa chỉ bộ nhố


Một số hệ vi xử lý có không gian địa chí cổng vào ra độc lập với không gian địa chi bỏ
nhớ. Đ ịa chí của m ột cổng vào ra trong hộ thòng có thê trùng với địa chi cùa m ột ỏ nhớ tuy
nhiên chúng được phân biệt rạch ròi nhờ các tín hiệu chọn cong vào ra và chọn bộ nhớ. Các
cổn g vào ra theo kiểu nàv được gọi là vào ra tách biệt (dedicated in/out). Các lệnh trao đối dừ

230
liệu của CPU vói cổng vào ra được viết khác với các lệnh trao đổi với bộ nhớ. V í dụ, trong tập
lệnh của các vi xử lý họ Intel lệnh trao đổi dữ liệu giữa CPU và bộ nhớ là M OV còn lệnh trao
đổi giữa CPU và cổng vào ra là IN và OUT.
Một số hệ vi xử lý khác lại sử dụng cổng vào ra theo địa chỉ bộ nhớ. M ột số vị trí trong toàn
bộ không gian địa chỉ của các hệ vi xừ lý loại này được dùng cho các cổng vào ra. Địa chỉ cổng
vào ra không được trùng với địa chỉ cùa các ô nhớ. Các cổng vào ra sắp xếp theo kiểu này được
gọi là vào ra theo địa chi bộ nhớ (memory-mapped in/out). Các lệnh trao đổi dữ liệu giữa CPU
với cổng vào ra trong trường hợp này cũng giống nhu các lệnh trao đổi giữa CPU với bộ nhớ.

11.5.3. Các giao diện vào ra


cổ n g vào ra là công cụ chính trong việc giao tiếp giữa CPU và thiết bị ngoại vi. v ể cơ bản,
CPU chỉ cẩn thực hiện các lệnh đọc viết cổng vào ra để trao đổi thông tin với thiết bị ngoại vi nối
với cổng. Tuy nhiên, để nâng cao hiệu quả và tăng tính linh hoạt của việc trao đổi thông tin giữa
CPU và thiết bị ngoại vi ta thường sử dụng các thiết bj giao diện hoàn chỉnh. Trong các thiết bị
giao diện này, bên cạnh các cổng vào ra trao đổi dữ liệu còn có thêm các bộ phận để diều khiển
hoạt động cùa cổng. Hình 11.12 là một ví dụ về mạch giao diện kết nối ngoại vi (Peripheral
Interface Adapter), vi mạch PIA8255 của Intel.

c= > 0
PA7-PA0

< ^ > 1/0


PC7-PC4

C 4=>0
PC3-PC0

PB7-PB0

Hinh 11.12. Vi mạch giao tiếp ngoại vi PIA 8255.

Vi mạch PIA 8255 có 8 bít dữ liệu (DO -í- D7) có thể kết nối với CPU thông qua data bus
của hệ thống. N ó có ba cổng vào ra 8 bít ký hiệu là PA, PB, và PC có thể kết nối với thiết bị
ngoại vi. Hoạt động trao đổi thông tin cùa ba cổng này được điều khiển bời một thanh ghi điều
khiển (control register) có ở trong vi mạch 8255. Người dùng có thể lập trình thanh ghi điều

231
khiển để định chiều truyền cho các cổng vào ra và quy định phương thức trao đổi thông tin giữa
CPU và thiết bị ngoại vi thông qua các cổng vào ra. Vi mạch c ó hai bit địa chỉ ( A l, AO) đê lựa
chọn một trong bốn bộ phận của nó là ba thanh ghi cổng vào ra và một thanh ghi điểu khiên.
Bạn đọc c ó thể tìm hiểu kỹ hơn về phương thức hoạt động và cách lập trình cho PIA 8255
qua các tài liệu kỹ thuật (data sheet) của nó.

11.6. TRAO ĐỔI THÔNG TIN GIỮA CPU VÀ THIÊT BỊ NGOẠI VI


Trong quá trình hoạt động của một hệ vi xử lý bất kỳ, luôn luôn có nhu cẩu trao đổi thông
tin giữa CPU với các thiết bị ngoại vi. Trong đa số các trường hợp, CPU thực hiện quá trình trao
đổi bằng cách đọc hoặc viết thông tin lên cổng vào ra nối với thiết bị ngoại vi. Tuy nhiên, việc
khởi động quá trình trao đổi thông tin vào ra giữa CPU và thiết bị ngoại vi c ó thể được điẻu
khiển theo các cách khác nhau.
N ói chung, các thiết bị ngoại vi hoạt động với tốc độ chậm hơn rất nhiều so với CPU. Một
bộ vi xử lý có thé thực hiện hàng chục, thậm chí hàng trăm triệu thao tác đọc viết trong một
giây. Trong khi cũng trong m ột giây đó, các thiết bị ngoại vi như m áy in hoặc bàn phím chỉ có
thể nhận hoặc gửi tới một vài ký tự. N hư vậy, giữa các thời điểm trao đổi vào ra với thiết bị
ngoại vi, CPU có thể thực hiện các công việc xử lý thõng tin khác. V iệc trao đổi vào ra chỉ được
điều khiển thực hiện khi cần.

11.6.1. Trao đổi vào ra điều khiển bằng chương trình


M ột trong các phương pháp điểu khiển việc trao đổi thông tin vào ra giữa CPU với thiết bị
ngoại vi là điều khiển vào ra bằng chương trình. T heo phương pháp này, CPU thông qua
chương trình sẽ định kỳ kiểm tra thăm dò (polling) tình trạng sẵn sàng của thiết bị ngoại vi
trước khi thực hiện việc trao đổi dữ liệu. Khoảng thời gian giữa các lẩn CPU thực hiện kiểm tra
là cô' định, căn cứ theo tính chất và nhu cầu cùa thiết bị ngoại vi.
Trên thực tế, khoảng thời gian (chu kỳ) giữa các thời điểm cần hoặc c ó thể trao đổi dữ liệu
được cùa một thiết bị ngoại vi là không c ố định và không thể biết trước được. Vi dụ, m ột thiết
bị ngoại vi thỉnh thoảng có thê’ c ó yêu cẩu trao đổi dữ liệu sau m ỗi chu kỳ lm s nhưng trong
phần lớn thời gian hoạt động cùa nó yêu cầu trao đổi dữ liệu chỉ xuất hiện với chu kỳ lOOms.
Đ ể đảm bảo trao đổi thông tin đầy đù, CPU cần thực hiện kiểm tra ngoại vi vói tần suất cao
nhất (tức là, với chu kỳ lm s). M ỗi lẩn thực hiện kiểm tra ngoại vi, C PU phải tạm dừng cóng
việc xừ lý thông tin. Trong đa số các trường hợp cùa ví dụ kể trên, CPU đã rất lãng phí thời gian
cho việc kiểm tra thiết bị ngoại vi. Có thể nó phải thực hiện kiểm tra 100 lần trước m ỗi lần trao
đổi thông tin.
Như vậy, phương pháp trao đổi vào ra điểu khiển bàng chương trình chi thích hợp với các
thiết bị ngoại vi có nhu cầu trao đổi thông tin theo những khoảng thời gian đều đặn và có thể
biết trước được.

11.6.2. Trao đổi và o ra theo c ơ chế ngắt


Phương pháp trao đổi vào ra theo cơ ch ế ngắt (interrupt) được sừ dụng để khắc phục nhược
điểm về việc lãng phí thời gian cùa CPU trong phương pháp trao đổi vào ra điều khiển bằng
chương trình. T heo phương pháp này, việc trao đổi vào ra được thực hiện theo yêu cẩu cùa thiết
bị ngoại vi. Cụ thể là, khi có nhu cầu hoặc có thể trao đổi thông tin, thiết bị ngoại vi sẽ chù
động phát tín hiệu yêu cầu báo cho CPU biết. D o vậy, CPU không mất thời gian thăm d ò tình
trạng cùa thiết bị ngoại vi mà chi tập trung xử lý chương trinh.

232
Yêu cẩu trao đổi thông tin từ thiết bị ngoại vi gửi tới CPU được gọi là yêu cầu ngắt
(inteưupt request - INTR). Trong trường hợp chấp nhận yêu cầu ngắt từ thiết bị ngoại vi, CPU
sẽ tạm ngừng chương trình hiện tại và chuyển sang thực hiện một chương trình phục vụ ngắt
gọi là ISR (inteưupt service routine) để thực hiện trao đổi vào ra với thiết bị ngoại vi. Việc
chuyển sang thực hiện ISR, và khi kết thúc thực hiện ISR thì quay trờ về chương trinh chính
ban đầu được thực hiện như cách gọi thực hiện chương trình con đã m ô tả ở mục 11.3.3.
Đ ể quản lý các yêu cầu ngắt khác nhau từ nhiều thiết bị ngoại vi trong một hệ vi xừ lý, có
thể sừ dụng một vi mạch gọi là mạch kiểm soát ngắt (programmable interrupt controller - PIC).
N ó nhận yêu cầu ngắt từ m ột thiết bị ngoại vi sau đó báo cho CPU thông qua tín hiệu INTR và
một giá trị mã gọi là intenrupt vector để CPU nhận biết thiết bj ngoại vi nào đã yêu cắu. Trong
trường hợp c ó nhiều thiết bị ngoại vi cùng phát yêu cầu, vi mạch PIC sẽ thực hiện việc phân cấp
ưu tiên và gửi tới CPU interrup vector cùa thiết bị ngoại vi được ưu tiên cao nhất.

11.6.3. Truy nhập trực tiếp bộ nhó (DMA)


Tất cả các phương pháp trao đổi vào ra với thiết bị ngoại vi đã m ô tả trên đây đều được
thực hiện thông qua CPU. Ví dụ, khi cần chuyển một khối dữ liệu từ bộ nhớ tới thiết bị ngoại vi,
CPU đọc byte đầu tiên của khối dữ liệu đó từ bộ nhớ và nạp vào một thanh ghi bẽn trong nó.
Tiếp đó, CPU viết byte dữ liệu đã đọc được ra cổng vào ra nối với thiết bị ngoại vi (hình 11.13).
Quá trình đọc viết này được thực hiện lặp lại với các byte tiếp theo cho đến khi kết thúc khối dữ
liệu cần trao đổi.

Hình 11.13. Trao đổi vào ra thõng thường qua CPU.


Trong trường hợp khối dữ liệu cần trao đổi là lớn thì quá trình này sê chiếm nhiều thời gian
cùa CPU làm ảnh hường đến việc thực hiện chương trình. Đ ể giảm thiểu thời gian tham gia của
CPU đổng thời tăng nhanh tốc độ trao đổi dữ liệu giữa CPU và thiết bị ngoại vi, các hệ thống vi
xử lý thường sử dụng một kỹ thuật trao đổi vào ra dữ liệu gọi là truy nhập trực liếp bộ nhớ
(direct memory access - DM A). Đ ặc điểm cơ bản của kỹ thuật này là không có sự tham gia của
CPU vào quá trình trao đổi dữ liệu giữa bộ nhớ và thiết bị ngoại vi. Trong quá trình trao đổi dữ
liệu theo phương pháp truy nhập trực tiếp bộ nhớ, một thiết bị điều khiển gọi là D M AC (direct
memory access controller) thực hiện kiểm soát bus hệ thống và điều khiển việc chuyển dữ liệu
trực tiếp giữa bộ nhớ và cổng vào ra nối với thiết bị ngoại vi (hình 11.14).

233
Bus địa chỉ

Bus dữ liệu

Hình 11.14. Trao đổi vào ra bằng DMA.

Trước khi để cho D M AC kiểm soát bus hệ thống, CPU phải thả nổi (chuyển sang trạng
thái trở kháng cao) các đường tín hiệu ra của nó.

11.7. LẬP TRÌNH CHO CÁC HỆ VI x ử LÝ


11.7.1. Lộp trình và ngôn ngữ
Đ ể giải quyết m ột bài toán bất kỳ trên một m áy vi tính, m ột hệ vi xừ lý nói chung, người
dùng phải viết m ột chương trình bao gồm các câu lệnh m ô tả các bước thực hiện bài toán. Sau
đó, chương trình được chuyển sang dạng thích hợp và được nạp vào bộ nhớ cùa hệ thống để
CPU thực hiện lẩn lượt các lệnh theo như cách đã m ô tả ở m ục 11.3. Toàn bộ các công việc:
viết chương trình, chuyển đổi dạng chương trình và nạp vào bộ nhớ của hệ thống để thực hiện
được gọi là lập trình (programming).
Các câu lệnh cùa chương trình được thể hiện theo một quy tắc nhất định gồm c ó các "từ"
và "cú pháp" liên kết chúng gọi là ngôn ngữ. Người lập trình sử dụng ngôn ngữ gần với ngôn
ngữ của người, gọi là ngôn ngữ lập trình , để viết các câu lệnh. CPU chỉ có thể thực hiện các câu
lệnh ở bộ nhớ hệ thống dưới dạng các ký hiệu nhị phân, gọi là ngôn ngữ máy. C ông cụ biến đổi
một chương trình từ dạng ngôn ngữ lập trình sang dạng ngôn ngữ m áy gọi là trình biên dịch
(compiler) hoặc phiên dịch (interpreter).

11.7.2. Ngôn ngữ m áy


Mỗi họ vi xử lý đều có ngôn ngữ m áy riêng cùa nó. N gôn ngữ m áy của m ỗi họ vi xừ lý bao
gồm một tập lệnh được viết ờ dạng mã nhị phân dể m ô tả các cõng việc mà nó có thề thực hiện
được. Một hệ vi xừ lý chỉ có thể thực hiện được các chương trình viết ờ dạng mã m áy cùa chính
bộ vi xử lý mà nó sử dụng.
Ví dụ, một chương trình cộng hai số hạng nhận từ một thiết bị ngoại vi nối với cổn g vào có
địa chỉ #05 và hiển thị kết quả ờ thiết bị ngoại vi nối với cổng ra c ó địa chi # 07 trong m ột hệ vi
xử lý sẽ gồm các công đoạn như sau:
- Nhận số hạng thứ nhất từ cổng vào 05.
- Cất tạm số thứ nhất vào một thanh ghi.
- Nhận tiếp số hạng thứ hai từ cổng vào 05.
- Cộng hai số hạng.
- Đưa kết quả tới cổng ra 07.

234
Nếu hệ thống sử dụng vi xử lý Intel 8086, thì chương trình dạng mã máy của nó sẽ là:
1 1 1 00101 (E5H)
0 0 0 0 0101 (05H)
1000 1011 ( 8 BH)
1101 1000 (D 8 H)
1110 0101 (E5H)
0 0 0 0 0101 (05H)
0000 0011 (03H )
1100 0011 (C3H)
1110 0111 (E7H)
0 0 0 0 0111 (07H )
1111 0 1 0 0 (F4H)
Rõ ràng, viết một chương trình trực tiếp bằng ngôn ngữ máy là việc rất khó khăn. Trong
tuyệt đại đa số các trường hợp, ngưòi lập trình thường không thể viết được chương trình bằng
ngôn ngữ máy. Họ sử dụng một trong các ngôn ngữ lập trình để viết các chương trinh cho máy
tính. Các chương trình này, sau đó được chuyển sang mã máy bằng các công cụ dịch.

11.7.3. Ngôn ngữ lập trình


a) N gôn n g ữ assem bly
N gôn ngữ lập trình gần gũi nhất với ngôn ngữ máy là ngôn ngữ assem bly (hợp ngữ). Trong
ngôn ngữ assem bly, người ta sử dụng các ký hiệu viết tắt bằng tiếng Anh gọi là ký hiệu gợi nhớ
(mnemonic) để biểu diễn lệnh thay cho các ký hiệu mã máy chi gồm toàn các chữ số 0 và 1 .
Với cách viết chương trình dùng ngôn ngữ assem bly, nội dung của đoạn chương trình trên sẽ có
dạng như được m ô tả ở hình 11.15 dưới đây.

M ã m áy Mnemonic Chú thích

E5 05 IN AX, 05 ; Đ ọ c số t h ứ nhất t ừ cố n g 05 v à o t h a n h ghi AX của CPU.


8B D8 M O V BX, AX ; Cất tạ m nội du n g v ừa đọc đư ợ c v à o thanh ghi BX.
E5 05 IN AX, 05 ; Đ ọc số t h ứ hai v ào thanh ghi A X .
03 C3 A D D AX, BX ; C ộ n g hai số, kết q uả cất ở t h a n h ghi A X .
E7 07 OUT 07, AX ; Đ ư a kết qu ả từ A X ra cổ n g 07.
F4 H LT ; Kết thúc c h ư ơ n g trình, dừ n g m á y

Hình 11.15. Chương trinh cộng hai số viết bằng assembly.

Với cách viết này chương trình trở nên dễ hiểu hơn. Ta có thể nhận thấy ngay đây là
chương trình cộng hai số được lần lượt đọc vào từ cổng có địa chỉ 05 (nối với bàn phím) và kết
quả được đưa ra cổng 07 (nối với hiển thị).
M uốn cho CPU có (hể thực hiện được chương trình trên, ta sử dụng một công cụ dịch gọi
là assemler để chuyển nó sang dạng biểu diễn bầng mã m áy và nạp vào bộ nhớ của hệ thống.
Cũng cần lưu ý rằng, sau khi nạp chương trình ở dạng ngôn ngữ máy vào bộ nhớ cần phải có cơ
chế để cho thanh ghi địa chỉ lệnh (PC) trỏ vào địa chỉ đầu của nó. Trong các hệ thống m áy tính
hoàn chinh, điều này thường được thực hiện bằng một chương trình đạc biệt gọi là hệ điều lìành
(operating system ) cùa máy tính.

235
b) N gôn n g ữ lập trình bậc cao
Các ngôn ngữ lập trình bậc cao (BASIC, Pascal, c , FO RTR A N ...) có cú pháp gần với
ngôn ngữ người và không phụ thuộc vào dạng máy tính. N gôn ngữ lập trình bậc cao giúp cho
việc viết chương trình dễ dàng và nhanh gọn hơn.
Ví dụ, đoạn chương trình cộng hai sô' ở trên có thê’ viết bằng ngôn ngữ lặp trình BASIC như sau:
10 I N P U T Nl, N2
20 P R I N T " NI + N2 = " ; NI + N2
30 E N D

So với ngôn ngữ assem bly, chương trình viết bằng các ngôn ngữ bậc cao ngăn gọn và dê
hiểu hơn nhiều. Tuy nhiên các chương trình viết bằng ngôn ngữ bậc ca o khi dịch sang mã máy
thường chiếm nhiều dung lượng bộ nhớ, và thời gian thực hiện cũng lâu hơn.
Phần lớn các chương trình viết bằng ngôn ngữ lập trình bậc c a o được dịch sang mã
m áy nhờ một cô n g cụ dịch gọi là com piler (biên dịch). C om piler biên dịch toàn bộ chương
trình nguồn viết bằng ngôn ngữ bậc cao sang mã m áy rồi m ới thực hiện. N gôn ngữ lập trình
c c ó C -com p iler, Pascal c ó Pascal com piler...
M ột sô' ngôn ngữ lập trình (v í dụ BASIC) còn sử dụng cô n g cụ dịch kiểu khác gọi là
interpreter (thông dịch). Interpreter dịch và thực hiện lần lượt từng lệnh cùa chương trình
nguồn viết bằng ngôn ngữ bậc cao.

11.8. VI ĐIỂU KHIỂN


11.8.1. Vi điều khiển là gì ?
Vi điểu khiển (m icrocontroller) là một máy tính, một hệ vi xử lý hoàn chinh bao gồm
CPU, bộ nhớ (m em ory), và các giao diện ngoại vi (peripheral interfaces) được tích hợp gọn trên
một chip vi mạch. Hình 11.16 là sơ đổ cấu trúc và các khối chức năng trong vi điều khiển 8051
thuộc họ vi điều khiển M C S-51 thông dụng.
M ọi bộ vi điều khién đều chứa trong nó các bộ phận cấu thành cơ bản cùa m ột hệ vi xử lý
hoàn chỉnh, đó là :
- Bộ xử lý trung tâm (CPU).
- Bộ nhớ (gồm cả R A M và ROM ).
- Các giao diện trao đổi vào ra (Input/Output Port).
M ột sô' ví điều khiển còn có thể chứa các bộ phận thiết bị ngoại vi khác như:
- Đ ồng hổ và m ạch định thời gian (Timer).
- Các bộ biến đổi tín hiệu (A D C , DAC).
- Giao diện truyển tin nối tiếp (Serial Com m unication Interface).
v.v ...

Các m icro controller cũng còn được gọi là single - chip computer (m ột m áy vi tính được
tích hợp gọn trẽn một chip duy nhất).

Bằng cách kết nối các bộ cảm biến (sensors) và các cơ cấu thừa hành (actuators) thích hợp
tới các giao diện vào ra cùa vi điểu khiển, ta có thể tạo ra được nhiều hệ thống thiết bị hoàn
chinh thực hiện các yêu cầu công nghệ. Ví dụ:

236
- Điều khiển động cơ trong các hệ thống điểu khiển chuyển động/vị trí.

- Đ iều khiển van/bơm trong các hệ thống điều khiển lưu lượng.

- Hệ thống đo lường - giám sát các quá trình công nghệ.

- Hệ thống quan trắc giám sát m ôi trường.


- Các thiết bị đo lường dùng trong sinh học, y học và nghiên cứu khoa học.

- Các thiết bị truyền tin.

- Điều khiển robot.


v.v...

Address/Data

Hình 11.16. Cấu trúc hoàn chỉnh cùa một vi điêu khiển.

11.8.2. So sánh vi điều khiển và vi xử lý


Microcontroller khác với microprocessor về nhiều phương diện. Sự khác biệt trước hết và
quan trọng nhất là tính năng và phạm vi ứng dụng của chúng. Đ ối với một bộ vi xử lý, để có thể
sử dụng được ta cẩn có thêm các bộ phận khác như là bộ nhớ và các thiết bị vào ra để trao đổi
dữ liệu với bên ngoài. Trong khi đó, để sử dụng microcontroller ta thường không cần phải sử
dụng thêm các thiết bị hỗ trợ vì tất cả các bộ phận ngoại vi cần thiết đã được tích hợp trong nó.
Do vậy, ta tiết kiệm được thời gian và giảm nhỏ kích thước của thiết bị khi sử dụng vi điểu
khiển trong các thiết kế. Hình 11.17 là v í dụ về một hệ thống điểu khiển tốc độ động cơ sừ
dụng vi điều khiển.

237
Hình 11.17. Một hệ thống điéu khiển động cơ sử dụng vi điéu khiển.

M ột số điểm khác biệt sau đây cũng cần được tính đến khi lựa chọn sử dụng giữa vi xử lý
hoặc vi điều khiển trong việc thiết kế các hệ thống đo lường - điều khiển —tính toán:
- Không gian địa chi bộ nhớ: các bộ vi xử lý phổ thông có số bít địa chỉ lớn hơn và do đó
không gian địa chì cùa chúng cũng lớn hơn so với các bộ vi điểu khiển.
- Đ ộ dài từ: các bộ vi xử lý phổ thông có độ dài từ lớn hơn, khả năng xử lý toán học với độ
chính xác cao, tốt hơn và tốc độ xừ lý thông tin cao hơn so với các bộ vi điều khiển.
- Tập lệnh: các bộ vi xử lý phổ thông có tập lệnh phong phú hơn, c ó thể thực hiện được
các yêu cầu tính toán phức tạp hơn so với các bộ vi điểu khiển.
Với những điểm khác biệt kể trên, có thể thấy ràng các vi xử lý phổ thông thích hợp với
các úng dụng yêu cẩu có dung lượng bộ nhớ lớn, đòi hỏi năng lực tính toán và xừ lý tín hiệu đa
dạng trong khi các vi điểu khiển thích hợp với các ứng dụng yêu cầu kết nối trực tiếp với các
đối tượng, thực hiện trao đổi thông tin vào ra một cách đơn giản.
Các vi điểu khiển thường hay được sử dụng trong các thiết bị đo lường - điều khiển công
nghiệp, trong các hệ thống nhúng (em bedded system ). Thực tế hiện nay, các bộ vi điều khiển
được c h ế tạo và bán ra thị trường với sô' lượng nhiều gấp 10 lẩn số các bộ vi xử lý phổ thông.

11.9. BỘ XỬ LÝ TÍN HIỆU s ố (DSP)


11.9.1. DSP là gì
DSP là tên gọi theo chữ viết tất tiếng A nh của các bộ xử lý tín hiệu số (D igital Signal
Processor). Cũng giống như vi điều khiển, DSP là m ột hệ vi xử lý hoàn chinh bao gồm CPU. bộ
nhớ (m em ory), và các giao diện ngoại vi (peripheral interfaces) được tích hợp gọn trẽn m ột chip
vi mạch, v ề mặt chức năng, DSP là một hệ vi xử lý hoàn chinh, đặc biệt được thiết k ế để thực
hiện các thuật toán có độ phức tạp cao về mặt toán học trong các phép xử lý số tín hiệu.
Xử lý tín hiệu số là m ột kỹ thuật được ứng dụng rất phổ biến trong các lĩnh vực như xừ lý
tín hiệu audio và video, thông tin viễn thông, điều khiển cô n g ngh iệp ... Trong các lĩnh vực

238
đó, xử lý số tín hiệu đòi hòi phải thực hiện một khối lượng lớn các phép tính toán đáp ứng các
yêu cẩu theo thời gian thực (real-tim e). Thuật toán cơ bản nhất trong kỹ thuật xử lý số tín
hiệu là phép nhân chập (convolution) thể hiện cụ thể qua phép tính tổng của các tích thường
thấy trong lọc số, hàm tương quan và biến đổi Fourier.
Yêu cẩu thực hiện phép xử lý số tín hiệu đáp ứng tốc độ theo thời gian thực đối với các
máy tính thông thường sử dụng các bộ vi xử lý phổ thông thường là rất khó khăn. Các máy tính
thông thường có tập lệnh phong phú, khoảng thời gian thực hiện m ồi lệnh rất khác nhau và có
những lệnh đòi hỏi thời gian thực hiện rất dài. Ví dụ, trong vi xử lý Intel 8086, lệnh cộng
(ADD) cần 3 nhịp clock để thực hiện trong khi lệnh nhân (M UL) cần tới trên 100 nhịp clock.
Phép tính tổng cùa các tích trong kỹ thuật xử lý số, thường được gọi là M AC (m ultiply-
accumulate), sẽ cần rất nhiều thời gian nếu thực hiện trên các máy tính thông thường và do vậy,
khó mà đáp ứng dược yêu cẩu thời gian thực.
Các DSP được c h ế tạo nhằm mục đích thực hiện nhanh các phép xử lý số tín hiệu mà
trước hết là thực hiện nhanh thuật toán M AC. Các DSP phổ biến hiện nay đểu có một bộ nhân
bằng mạch cứng (hardware m ultiplier) và một bộ cộng dồn (accumulator) tích hợp trên chip.
Do vậy, DSP có thể thực hiện thuật toán M AC cùa phép xử lý số ngay trong một chu kỳ máy
của bộ xử lý. Thực hiện xử lý số tín hiệu trên các DSP có tốc độ vượt trội, cao hơn từ 2 đến 3
bậc so với thực hiện trên các m áy tính thông thường.

11.9.2. Đặc điểm cấu trúc của DSP


Hình 11.18 mô
tả cấu trúc bên trong
cùa D SP56000 cùa
Motorola, một trong
các DSP thông dụng
được sừ dụng nhiều
trong các úng dụng
xử lý tín hiệu
audio-video và
trong công nghiệp.

So với các vi xử
lý thông thường,
DSP có những nét
đặc trưng khác biệt
sau đây:

Đặc điểm thứ


nhất cùa DSP là cấu
trúc MAC, tức là có
một bộ nhân và một
mạch cộng dồn
được tích hợp trên
chip (hình 11.18) dể

239
có thể thực hiện thuật toán M AC chỉ ngay trong một chu kỳ lệnh. M ột số DSP hiện nay c ó thể
có hai hoặc thậm chí nhiều khối M AC trên một chip, cho phép thực hiện song song các thuật
toán M AC làm tăng tốc độ xử lý. N goài ra, để cho việc cộng dồn các tích không gảy tràn số
học, các thanh ghi cùa accumulator thường có thêm các bít dự phòng. Cụ thể, các thanh ghi cùa
accumulator trong DSP c ó 8 bít dự phòng (56 bít so với 48 bit cùa m ỗi sô' hạng tích).

Đ ặc điểm thứ hai của các DSP là khả năng có thể thực hiện nhiều phép truy cập bộ nhớ
trong cùng một chu kỳ lệnh. Đ iều này cho phép bộ xử lý cùa DSP vừa thực hiện tìm lệnh vừa
đọc dữ liệu và ghi kết quà thực hiện lệnh trước vào bộ nhớ. Ví dụ, để tính tích chập trong phép
lọc số FIR:

M -1
y (n )= I h (k )x (n -k )
i=n

Hầu hết các DSP đều thực hiện thuật toán M AC trong khi vẫn đọc số liệu lấy m ỉu của tín
hiệu X và hệ số lọc h của tích tiếp theo. Đ ể có thể thực hiện đồng thời nhiều phép truy cập bộ
nhớ, các DSP thường c ó cấu trúc nhiều bus trên chip (m ulti-bus), bộ nhớ cùa DSP thường được
tổ chức thành nhiều bank. Ví dụ, bộ nhớ cùa D SP56000 gồm c ó ba bank nhớ là: Program
M emory, X - Data M em ory và Y - Data M emory.

Đặc điểm thứ ba cùa các DSP là tập lệnh được xây dựng theo kiến trúc RISC (Reduced
Instruction Set Computer). Số các lệnh trong tập lệnh cùa DSP không nhiều, các lệnh có độ dài
như nhau và thời gian thực hiện m ỗi lệnh cũng bằng nhau. Đ ãc thù của DSP là định hướng thực
hiện các thuật toán xử lý số liên quan đến việc tính toán theo vòng lặp. D o vậy, trong tập lệnh của
các DSP thường có các lệnh đặc biệt (LOOP hoặc REPEAT) cho phép chúng thực hiện nhanh
chóng các vòng lạp theo kiểu FOR - N E XT mà không cẩn thêm các chu kỳ m áy đẽ’ cập nhật địa
chỉ các toán hạng, kiểm tra bộ đếm và điều kiện rẽ nhánh cùa vòng lặp.

11.9.3. ứng dụng của DSP


Các DSP được sử dụng rộng rãi trong nhiểu lĩnh vực khác nhau, từ các hệ thống xử lý tín
hiệu rada, vệ tinh đến các thiết bị giải trí dân dụng. Phạm vi ứng dụng cùa DSP vào các thiết bị
được đánh giá thông qua khả năng tính toán xử lý thông tin, giá thành thiết bị, côn g suất tiêu
thụ, mức độ tích hợp cũng như khả năng phát triển nâng cấp hệ thống.

V ề khả năng xử lý thông tin, DSP thích hợp với các ứng dụng ở đó yêu cẩu phải xử lý một
lượng thông tin lớn với các thuật toán phức tạp. Các hệ thống thiết bị định vị trong không gian,
quan trắc m ôi trường, dự báo thiên tai, động đ ấ t... là những ứng dụng thuộc nhóm này.

Về những yêu cầu đối với giá thành thiết bị cũng như mức độ tích hợp, DSP được sử dụng
nhiều trong các hệ thống thông tin di động, các thiết bị nghe nhìn kỹ thuật số, các hệ thống đo
lường - điều khiển thông minh.

V ề tính năng tiêu thụ công suất, DSP được sử dụng thích hợp trong các thiết bị được cung
cấp từ nguồn pin, ví dụ như điện thoại di động cầm tay.

240
CÂU HỎI ÔN TẬP CHƯƠNG 11

11.1. N êu các bộ phận cơ bàn cùa một máy vi tính.


I I .ĩ. Định nghĩa bộ vi xử lý và các khối chức năng cơ bản cùa nó.
11.3. Trình bày các bus cùa một hệ vi xử lý, tại sao data bus lại là hai chiểu?
11.4. Bộ nhớ và phân vùng bộ nhớ trong một hệ vi xử lý.
11.5. Vai trò cùa mạch giải mã địa chỉ.
11.6. Cổng vào ra là gì?
11.7. Phân biệt cổng vào ra tách biệt và cổng vào ra theo địa chỉ bộ nhớ.
11.8. Mục đích cùa các mạch giao tiếp ngoại vi là gì? Lấy ví dụ PIA 8255.
11.9. Các phương pháp trao đổi vào ra dũ liệu giữa hệ vi xử lý với thiết bị ngoại vi.
11.10. Định nghĩa chương trình (program), lập trình (programming) trong hệ vi xử lý.
11.11. Phân biệt ngôn ngữ m áy, ngôn ngữ assem bly và ngôn ngũ lập trình bậc cao.
11.12. Phân biệt vi xử lý với vi điều khiển và DSP.
11.13. Đ ặc điểm và phạm vi ứng dụng của vi điều khiển DSP.

241
(€/ưửJyưf J'2

THIẾT KẾ MẠCH ĐIỆN TỬ s ố


BẰNG MÁỸ TÍNH VÀ PLD

Chương 4 đã giới thiệu về các m ạch lo g ic khả trình (Program m able L ogic D e v ice s -
PLD). Bạn đọc đã nắm được các khái niệm về PLD, cấu trúc c ơ bản của vi m ạch PLD và
phân loại PLD. Trong chương 12 này, chúng tôi tiếp tục giới thiệu khả nãng sử dụng PLD
trong việc thiết k ế các m ạch điện tử số.

Thiết kê' mạch điện tử số trên máy tính đang là m ột xu hướng phổ biến hiện nay. Đ ể có
được một mạch điện tử số, người thiết kế chỉ cẩn m ô tà và biên dịch nó trên m áy tính sau đó
nạp vào vi mạch PLD thông qua một thiết bị gọi là programer. N ội dung chương này, chúng tôi
nhắc lại m ột số vấn để về cấu trúc của các PLD thông dụng nhất, giới thiệu m ột số ngôn ngữ
lập trình m ô tả phần cứng (HD L) và một sô' ví dụ thiết k ế mạch điện tử số bằng m áy tính.

12.1. MẠCH LOGIC KHẢ TRÌNH ĐƠN GIẢN (SPLD)


Các PLD thế hệ đầu tiên thuộc nhóm SPLD (Sim ple Programmable L ogic D evice). Các vi
m ạch PLD nhóm này bao gồm m ột mạng lưới các cổng A N D nối với m ột m ạng lưới các cổng
OR xuất phát từ v iệc m ọi hàm logic bất kỳ đều có thể được biểu diẻn thòng qua m ột tổng (OR)
của các tích (A N D ). Tuỳ thuộc tính chất cùa các mạng lưới cổng A N D và OR này mà người ta
phân loại SPLD thành các phân nhóm như sau:

- PROM gồm m ột m ạng lưới các cổng A N D c ố định nối với m ột m ạng lưới các cổng OR
lập trình được (nối bằng "cáu chì").

- PLA (Programmable L ogic Array) gồm một m ạng lưới các cổ n g A N D lập trình được nối
với một mạng lưới các cổng OR cũng lập trình được.

- PAL (Programmable Array L ogic) gồm một m ạng lưới các cổ n g A N D lặp trình được nối
với một mạng lưới các cổng OR c ố định.

- GAL (Generic Array L ogic) là m ột dạng cải tiến nâng cấp cùa PAL. Cũng g iốn g như
PAL, G A L gồm m ột m ạng lưới các cổng A N D lập trình được nối với m ột mạng lưới các cổng
OR c ố định. Tuy vậy, có các điểm khác biệt cơ bản giữa G A L và PAL là:

+ G A L có thể lập trình lại được (nhiéu lần) do sừ dụng công nghệ E 2CM OS, trong khi PAL
chỉ lập trình được m ột lần do sử dụng các kết nối bằng cầu chì.

+ Cấu hình cửa ra cùa G A L có thể thay đổi được thõng qua việc lập trình, trong khi cấu
hình cửa ra của PAL là c ố định.

242
Trong nhóm các vi mạch SPLD, GAL là loại vi mạch đuợc sử dụng rộng rãi và phố biến
nhất hiện nay. Các vi mạch GAL thường cỏ ký hiệu là G A LnV m , trong đó n là sô tôi đa các
lối vào, m là số tôi đa các lối ra có thể có, V để chỉ khả năng thay đôi tính chất cửa ra cúa VI

mạch GAL. Ví dụ, vi mạch G A L 16V 8 có thể có tới 16 lối vào, hoặc có thể có tới 8 lối ra. Tuy
nhiên, khi sứ dụng tới 16 lối vào thì không thế có đủ 8 lối ra và ngược lại. Hình 12.1 m ô tà
các kiểu đóng vỏ và cấu trúc sơ lược cùa vi mạch G A L 16V 8.
G A L 16V 8 là một vi mạch 20 chân có thể được đóng vỏ theo các kiểu khác nhau (hình
12.la). Các chân 20 (VCC) và 10 (G N D ) dùng cho nguồn cung cấp một chiều, 18 chán còn lại
dùng cho các tín hiệu vào ra, cụ thê' như sau:
- Các chân 1...... 9 và 11 (tất cá 10 chân) là những chân dùng cho tín hiệu vào.
- Các chân 12, .... 19 (có 8 chân) là những chân gắn với buffer hai chiều bên trong vi
mạch, có thế định chiều vào hoặc ra thông qua lập trình.
PLC C

ũ n y > §
/C L K C
11 c lo 20
19
18
= )V c c
^ I/O
Z D I/0
/C L K c
11 c
1
2
20
19
D Vcc
3 I/O /
n n n n n
f*l CSJ T- o Ơ1
I2 C 3 12 c 3 18 3 I/O 13 c 4 0 ^ 1 8 D I/O
I3 C Z 4 17 I D I/O I3 C 4 17 D I/O 14 c 5 17 D I/O
I4 C 5 16 I D I/O 14 c 5 16 3 I/O 15 c 6 16 3 I/O
I5 C 6
161= 7
15
14
Z J I/O
^ I/O
I5 C
I6 C
6
7
15
14
D I/O
D I/O
16 c 7 15 D I/O
17 c 8 14 D I/O
171= 8 13 ZD I/O 8 13 3 I/O

10

12
13
9
I7 C

11
18 d 12 ID l / O 18c 9 12 D I/O u u u u u
G N D C 10 11 : □ I9/OE GND c 10 11 1 19/OE a g g g g

a)

Hinh 12.1. Các kiểu đóng vó và cấu trúc cúa vi mạch GAL16V8.

V ề mặt cấu trúc, G A L 16V 8 gồm có một mạng lưới các cống A N D lập trinh được ờ cửa
vào. Mỗi cổng A N D có thế nhận tín hiệu từ một số trong 32 đường vào (32 cột dọc trong mạng
lưới cấu trúc) ứng với 32 giá trị (đáo và không đào) của 16 tín hiệu từ các chán vào. Có tất cả
64 cổng A N D , m ỗi nhóm 8 cổng A N D nối tới một cổng OR ở c ử a ra (hỉnh 1 2 .lb).

o m ỗi cứa ra, ngoài một cống OR còn có thêm một số phần tử mạch phụ trợ khác tạo nên
một khối chức năng gọi là OLMC (Output L ogic M acrocell). M ỗi OLMC cùa G A L 16V 8 có
một cổng OR 8 lối vào, một cổng XOR, một D flip -flo p và một buffer ba trạng thái. N hờ có
cấu trúc OLM C này mà GAL có thể làm việc với các kiểu cửa ra khấc nhau.

G A L 16V 8 có thể được lập trình đẽ làm việc ờ một trong ba mode sau:

- Simple mode: Ờ mode này, tất cả các chân I/O (trừ chân 15 và 16) đều có đường dẫn tín

243
hiệu vể mạng lưới cửa vào của các cóng A N D . D o vậy, hai chán 15 và 16 chỉ có thể dùng làm
chân tín hiệu ra, còn các chân 12, 14 và 1 7 , 1 9 có thể lập trình để định chiêu vào hoặc ra.
Các OLM C được lập trình để bỏ qua D flip -flo p và cho phép m ở bộ đệm ba trạng thái ờ cửa ra.
Cấu hình sim ple m ode được m ô tả ở hình 12.2.

- Complex mode: Ở m ode này, tất cả các chân I/o (trừ chân 12 và 19) đều c ó đường dẫn
tín hiệu vể m ạng lưới cửa vào của các cổng A N D . D o vậy, hai chân 12 và 19 chi có thể dùng
làm chân tín hiệu ra, còn các chân 13,... 18 có thể lập trình để định chiểu vào hoặc ra. Các
OLM C được lập trình để bỏ qua D Flip Flop, trong m ỗi nhóm 8 cổ n g A N D chỉ c ó 7 cổn g đưa
tín hiệu tới cổng OR cùa OLM C, cổng còn lại dùng lảm tín hiệu ch o phép buffer ba trạng thái
ở cửa ra. Cấu hình com plex m ode được m ô tả ở hình 12.3.

- Register mode: Ở mode này, các chân vào 1 và 11 được quy định là các chân tín hiệu
nhịp (CLK) và cho phép buffer (bộ đệm ) ba trạng thái ờ cửa ra (O E ) cùa các OLM C. Mỗi
OLMC có thể được lập trình để làm việc hoặc như m ột phần tử thanh ghi, hoặc như m ột cổng ra
tổ hợp. Khi được quy định như một phần tử thanh ghi, tín hiệu cho phép buffer ba trạng thái ờ
cửa ra cùa m ỗi OLM C đều được lấy từ chân OE (chân 11), tín hiệu nhịp cho m ỗi D flip -flo p
được lấy từ chân CLK (chân 1), cả 8 lối ra từ nhóm các cổng A N D ứng với m ỗi O LM C đều đưa
tới lối vào của cổng OR tương ứng. Khi được quy định làm việc như m ột cổn g ra m ạch logic tổ
hợp, chỉ có lối ra từ 7 cổng A N D cùa m ỗi nhóm nối tới lối vào cổng OR, lối ra cùa cổn g A N D
còn lại được dùng làm tín hiệu cho phép buffer ba trạng thái ở cửa ra cùa OLM C. Cầu hình
register mode được m ô tả ở hình 12.4.

Cổng X OR , trong tất cả các m ode, được dùng để quy định lố i ra sau phép OR là đảo hay
không đảo bằng cách lập trình đặt mức logic ờ lối vào thứ hai cùa nó là ‘ 1 ’ hoặc ‘0 ’.

Hầu hết các công cụ lập trình dùng cho PLD đều có khả năng tự động lựa chọn m ode thích
hợp cho vi mạch G A L dựa trên cách dùng lối ra cùa nó được m ô tả trong chương trình của
người dùng. N ếu trong chương trình tất cả các lối ra của G A L đểu được dùng ờ dạng mạch
logic tổ hợp và không có tín hiệu cho phép ba trạng thái (O E) thì phần m ềm dịch (com piler) sẽ
tự động chọn sim ple m ode cho GAL. N ếu tất cả các lối ra của G A L đểu được dùng ờ dạng
mạch logic tổ hợp nhưng có sừ dụng tín hiệu OE thì com piler sẽ tự động chọn com plex mode.
Còn nếu trong chương trình có sử dụng đến phần từ thanh ghi thì com piler sẽ tự động chọn
register mode.

Đ ể thiết k ế m ột m ạch điện tử sô' từ VI mạch PLD, người thiết k ế sử dụng m ột ngôn ngữ lập
trình gọi là ngôn ngữ m ô tả phần cứng (Hardware D escription L anguage - HD L) để m ô tả
mạch, sau đó com piler sẽ địch sang một file mã nhị phàn gọi là ‘fuse m ap’. Tiếp theo, m ột thiết
bị gọi là programer được dùng để nạp nội dung file ‘fuse m ap’ vào PLD, qua đó quy định các
giao điểm cùa m ạng lưới có thể lập trình cùa PLD là nối hay không nối. File chứa 'fuse m ap’
có format tuỳ thuộc vào cấu trúc cùa PLD mà nó dùng làm thiết kế. Ví dll, file 'fuse m ap’ cho
G A L 16V 8 sẽ gồm 64 dòng, m ỗi dòng 32 ký tự nhị phán, với quy ước: giá trị logic '0' thé hiện
c ó sự kết nối giữa hàng và cột tương ứng, còn giá trị logic ‘ 1 ’ cho biết không có sự kết nối đó.

244
1 CD—0 -

19

18

17

16

15

14

13

12

11

Các chân 15 và 16 không có đường này

Hình 12.2. Cấu hình Simple Mode của GAL16V8.

245
INPUT LINES

OUTPUT
LOGiC

OUTPUT
LOGiC

OUTPUT
LOGiC

OUTPUT
LOGiC

OUTPUT
LOGiC

OUTPUT
LOGiC

OUTPUT
LOGiC

OUTPUT
LOGiC

-{>
XO R

= s j Cäc chän 12 vä 19 khöng cö di/dng nay

H inh 12.3. Cäu hinh Complex Mode cija GAL16V8.

246
LINE S

16

CLK

Hinh 12.4. Câu hinh Register Mode cùa GAL16V8.

247
12.2. MẠCH LOGIC KHẢ TRÌNH PHỨC H ộ p (CPLD)
CPLD (C om plex Programmable L ogic D evice) có cấu trúc tương tự như SPLD, tuy nhiên
mức độ tích hợp của nó cao hơn. v ề mặt cấu trúc, m ỗi CPLD chứa tới hàng trăm m acrocell
(M C) chia thành nhiéu nhóm. M ỗi nhóm có thể có từ 8 đến 16 m acrocell kết hợp thành một
khối chức năng gọi là function block (FB) để có thể thực hiện các chức năng logic phức tạp.
Các FB được kết nối với nhau thông qua một hệ thống kết nối gọi là Interconnect Matrix (IM )
bên trong CPLD. Các FB trao đổi thông tin với bên ngoài thông qua các khối vào ra (IOB).
Hình 12.5 m ô tả sơ đổ cấu trúc của một vi mạch CPLD.

Khối chức năng

Hình 12.5. Cấu trúc kết nói các khối trong CPLD.

M ỗi FB sử dụng một khối logic có cấu hình kiểu PLA dùng để kết nối các MC. Các số
hạng tích trong các biểu thức logic được tạo ra từ mạng lưới PLA này, do vậy việc lặp trình cho
CPLD rất tiện lợi.

Cấu trúc của các M C trong CPLD được tổ chức cực kỳ hợp lý và hiệu quả cho việc tổng
hợp cấc chức năng logic. Người thiết k ế có thể phát triển các biểu thức logic dạng s o p (tổng
cùa các tích) chứa tới hàng chục biến vào và hàng chục số hạng tích trong cùng m ột FB. Các
MC cũng chứa cổng X O R liên kết giữa một biểu thức SOP với m ột số hạng tích bất kỳ để có
thể lựa chọn biến ra cùa m ột tổng (chúng ta biết các quan hệ trong hàm X O R là: A @ 0 = A , và

A © 1 = A ). N goài ra, biểu thức logic tạo bời M C có thể thuần tuý là logic tổ hợp hoặc cũng
có thể có dạng thanh ghi tuỳ thuộc vào việc lựa chọn có hay không dùng flip -flo p trước khi dẫn
tín hiệu tới IOB. M ỗi flip -flo p cùa từng MC có thể được lập cấu hình thành D flip -flo p , T flip -
flop hoặc chỉ đơn thuần là m ột m ạch chốt (latch). Các tín hiệu điều khiển kiểu như clock s, sets,
resets, và OE trong m ỗi M C có thể được lựa chọn theo toàn bộ CPLD, ờ mức các FB hoặc cục
bộ cho từng MC.

Hình 12.6 m ô tả cấu trúc chi tiết cùa m ột M C trong CPLD. Các ký hiệu hình thang trong
sơ đồ m ạch ờ hình này là m ạch chọn M U X (m ultiplexer) với các tín hiệu chọn (select inputs)
được quy định từ việc lập trình. Phần m ềm thiết k ế mạch có khả năng tự động quản lý các
nguồn tài nguyên này của chip, do đó người lập trình có thế m õ tả thiết k ế cùa m ình bang các
cấu trúc tổng quất mà không cần phải hiểu một cách sâu sắc các chi tiết kiến trúc cùa CPLD.

248
Hình 12.6. Cấu trúc macrocell trong CPLD.

CPLD trao đổi với bén ngoài thông qua các khối vào ra IOB. Tại m ỗi khối vào ra đểu có
mạch nhận tín hiệu vào kiểu Schmitt-trigger, mạch đưa tín hiệu ra có thể được lập trình để
chọn một trong ba kiểu cấu hình: totem -pole, open-drain hoặc ba trạng thái.
Sừ dụng CPLD giúp cho công việc thiết kế mạch điện từ số trở nên dễ dàng hơn, giá thành
thiết bị hạ và giảm thời gian thực hiện một thiết kế kể từ khi có ý tường đến khi ra sản phẩm
hoàn chỉnh.
Để thiết k ế một mạch điện tử số trên CPLD, người thiết kế sử dụng một ngôn ngữ HDL
(thường dùng các ngôn ngữ VHDL, Verilog) để mô tá mạch cần thiết kế. Người thiết kế cũng
sừ dụng công cụ phát triển CPLD để biên dịch chương trình nguồn, chạy mô phỏng kiểm tra
chức năng của mạch, liên kết mạch thiết kế với chip CPLD được sử dụng. Sau khi nạp nội dung
file thiết kế đã được biên dịch vào chip CPLD, người thiết k ế có ngay m ỉu sàn phẩm có thể
kiểm tra với đối tượng thật.
Sử dụng CPLD cho phép tạo ra các sản phẩm có giá thành hạ. D o việc thiết kế đơn giản
như đã nói trên, thời gian cần thiết để phát triển một thiết bị trên CPLD rất ngắn. Mặt khác, vì
các CPLD đểu có thể lập trình lại được nên người thiết kế có thể dễ dàng thay đổi thiết kế cùa
mình mà khổng tốn kém nhiều. Người thiết kế luôn luôn có thể bổ sung các tính năng mới để
hoàn thiện sản phẩm thiết kế cùa mình.
Thời gian phát triển sản phẩm thiết kế dùng CPLD ngắn cho phép người thiết kế sớm đưa
sản phẩm ra thị trường. Đ iều này giúp cho người thiết k ế sản phẩm CPLD sớm thu hổi vốn đầu
tư của họ. Các CPLD có mật độ tích hợp rất lớn và kích thước chip rất bé so với chức năng mà
nó có thể thực hiện. Người thiết kế có thể tạo ra những sản phẩm với kích thước rất nhỏ có thể
ứng dụng trong các hệ nhúng.

249
12.3. FPGA
12.3.1. Khái niệm về FPGA
FPGA (Field Programmable Gâte Array) được coi là một bước đột phá trong cốn g nghệ
ch ế tạo các vi mạch khả trình. Năm 1985, một công ty ch ế tạo vi m ạch điện từ có tên là X ilinx
đã đưa ra một ý tưởng hoàn toàn mới về các mạch logic khả trình. Tinh thần cùa ý tường này là
kết hợp các ưu điếm về khả năng lập trình dành cho người dùng và chi phí thời gian dành cho
phát triển thiết bị của PLD với các ưu điểm vể mật độ tích hợp và giá thành thiết bị cùa các
mạng lưới cổng (gate array). Các công ty sản xuất thiết bị điện tử chuyên sử dụng các vi mạch
PLD lúc đó đã rất quan tâm tới ý tường này, và cóng nghệ FPGA ra đời dựa trên ý tướng đó.
Hình 12.7 m ô tả cấu trúc cùa một vi m ạch FPGA với sự kết hợp của m ạng lưới cống với các
m ối liên kết (interconnect) có thể lập trình được theo kiểu PLD.
interconnect gates

=£>
=D- =D- II =o- II =£> =o III
=D- =o
=r> =r>=o =o- =I>
=t> =r> =r> m-
=r> =r>
=o =D- =D- 33- =o
=o 33- =I> =r>
=D- =r> =r> =r> =r>
=D-
=D- 33- 3D- =o
=r> =r> =r> =r> =r>
=£> =D- =o =D- 33-
=o =D- =o =r> =r>
=D- =D- =D- =r> =r>
=o
=D- =D- =r> =r> =r> -
=o =D- =r> zr
>
:£> =D- =r> z:r> - r>
=D- =t> =D- =o =o
=L> =r> =r>
=o =D- =D-
=D- =0- :£> =o =r>
3J- 1 =L> 11' =D-
=o :£>
=D- H=o II
1 000 000 + gates

Hình 12.7. Sự két hợp mạng lưới các cổng với các lién két PLD trong FPGA.

Như vậy, có thể thấy m ột vi mạch FPGA bao gồm nhiều khối chức năng logic được tổ
chức theo một kiểu kiến trúc nhất định và các m ối liên kết giữa chúng c ó thé thay đổi được
thông qua iập trình.

12.3.2. Kiến trúc của FPGA


Hiện nay, có 4 kiểu kiến trúc đang được sử dụng trong các FPGA. Đ ó là:
- Symmeterial Array.
- R ow Based.
- Hierachical PLD.
- Sea o f Gates.

250
Hình 12.8 dưới đây minh họa các kiểu kiến trúc nói trên của FPGA.

kết nối

Blocks

Biển các cổng PLD cấp bậc

Hình 12.8. Các kiểu kiến trúc của FPGA.

12.3.3.Cõng nghệ lộp trình trong FPGA


Có nhiều cách khác nhau để thực hiện các phần tử lập trình. Tuỳ thuộc vào công nghệ thực
hiện phần tử lập trình người ta chia cấc FPGA ra thành từng nhóm công nghệ khác nhau. D ư ớ i
đây là một số nhóm công nghệ FPGA thông dụng.

a) C ông nghệ s ử d ụ n g R A M tm h (SRAM )


Trong các FPGA kiểu này, các kết nối lập trình được thực hiện bàng các tranzito d ỉn
(pass-transistor), các khoá dùng tranzito dẫn (p ass-gate), hoặc các mạch dồn kênh (M U X ). Tất
cả các kết nối này đều được điều khiển bằng các ô nhớ RAM tĩnh (SRAM cell). Có rất nhiều
nhà sản xuất chip FPGA sử dụng công nghệ này.

b)

Hình 12.9. FPGA sử dụng SRAM.

251
ư u điểm chính cùa FPGA thực hiện theo công nghệ SRAM là có thể cập nhật thay đổi cấu
hình dễ dàng, tốc độ cao. Nhược điểm của các FPGA loại này là c ó kích thước lớn, dung lượng
trên chip bé bời vì có thể cẩn tới sáu tranzito cho một bit nhớ SRAM . Khi cắt nguồn cung cấp
cho FPGA thì nội dung nhớ cấu hình (trên SRAM ) sẽ bị mất, do vậy đối với FPGA loại này cần
phải có cơ c h ế nạp lại cấu hình cho nó m ỗi khi cấp nguồn.

b) C ông nghệ d ù n g cầu chi nghịch (A n ti-fu se)


M ột số nhà sản xuất FPGA sử dụng công nghệ lập trình dùng cầu chì nghịch (an ti-fuse).
Một anti-fuse điển hình có cấu trúc hình chữ nhật gồm ba lớp được đặt giữa hai đường kết nối.
Các lớp dưới cùng và trên cùng cùa anti-fu se là chất dản điện, còn lớp giữa là chất điện môi.
Ban đầu, anti-fu se ờ trạng thái trở kháng cao (không dẫn điện). Khi được lập trình ờ điện thê
cao, lớp điện m ôi ở giữa bị đánh thùng và nó chuyển sang trạng thái dẫn điện. Hình 12.10 m ô
tả cấu trúc và nguyên tắc hoạt động cùa anti-fuse.

a) b)

Hình 12.10. Anti-fuse trong FPGA:

a) Nguyên lý hoạt động của anti-fuse; b) Mặt cắt ngang của một anti-fuse.

Ưu điểm của cô n g nghệ này là kích thước cùa phần từ nhớ bé, mật độ tích hợp cao. Nhược
điểm cùa nó là quy trình c h ế tạo khác với quy trình c h ế tạo CM OS, cẩn phải thực hiện lập trình
chip với nguồn có điện thế cao hơn so với nguồn cung cấp bình thường. FPGA c h ế tạo theo
công nghệ này chì lập trình được m ột lần.

c) C ông n ghệ sử d ụ n g R O M (EPROM /EEPROM )


Theo công nghệ này, FPGA sử dụng các phần tử nhớ EPROM hoặc EEPROM để điểu khiển
các kết nối liên kết các khối logic. Các phần tử nhớ EPROM /EEPROM đã được m ô tả chi tiết
trong mục 4.5.2.

Phần tử nhớ sử dụng tranzito EEPROM cũng tương tự như tranzito EPROM , chi khác là
tranzito EEPROM có diện tích gấp hai lẩn diện tích cùa EPROM . Các FPGA sừ dụng công
nghệ EEPROM có kích thước lớn hơn và cần nhiều nguồn cung cấp hơn so với EPROM .

Ư u điểm chính cùa FPGA sử dụng công nghệ EPROM /EEPROM là không cẩn dùng bộ
nhớ ngoài đê’ nhớ cấu hình. Nhược điểm cùa nó là không thể lập trình được trên mạch. Báng
12.1 dưới đây giới thiệu đặc điểm chính của các công nghệ FPGA khác nhau.

252
Bàng 12.1. Các đặc tính của công nghệ lập trinh FPGA

Còng nghệ sử dụng Khả năng lưu giữ cấu hình Có thể lập trinh lại Kích thước phẩn tử

SRAM Không Trong mạch Lốn

Anti-fuse Có Không Nhỏ

EPROM Có Ngoái mạch Nhò

EEPROM Có Trong mạch 2 lẩn EPROM

Mặc dù công nghệ lập trình có thể khác nhau, tất cả các phần tử lập trình đểu có chung
tính chất là có thể được cấu hình ở một trong hai trạng thái ON hoặc OFF. Hiện nay, trên thị
trường có nhiều chùng loại FPGA khác nhau do nhiều công ty khác nhau ch ế tạo. Các chủng
loại FPGA khác nhau có thể có sự khác nhau về cách tổ chức mạng lưới kết nối và công nghệ
sử dụng cho các phần tử lập trình. Bảng 12.2 giới thiệu các chùng loại FPGA cùa một số công
ty ch ế tạo vi mạch điện tử nổi tiếng.

Bảng 12.2. Các hãng chế tạo vi mạch FPGA phổ biến

Tên hãng Kiến trúc tổng quát Kiểu khối logic Công nghê lâp trinh

Xilink Symmetrical Array L o o k -u p Table Static RAM

Altera Hierachical - PLD PLD Block EPROM/EEPROM

Adel Row - based Multiplexers - Based Anti - fuse

Plessey S e a -o f-g a te s NAND - gate Static RAM

Plus Hierachical - PLD PLD Block EPROM/EEPROM

AMD Hierachical - PLD PLD Block EPROM/EEPROM

QuickLogic Symmetrical Array Multiplexer - Based Anti - fuse

Algotronix Sea - of - gales Multiplexers - Based & Gates Static RAM

Conçurent Sea - of - gates Multiplexers - Based & Gales Static RAM

Crosspoint Row - based Transistor Pairs & Multiplexers Anti - fuse

Cấu trúc chi tiết của vi mạch FPGA:

Hình 12.11 m ô tả cấu trúc cơ bản của một vi mạch FPGA được xây dựng theo kiến trúc
Symmeterial Array. Có rất nhiều nhà sản xuất chip FPGA sử dụng kiểu kiến trúc này. Một
FPGA tổ chức theo kiến trúc Symmeterial Array gồm có các logic cell được sắp xếp thành các
ma trận vuông N x N . Đ iều đó cho phép sự kết nối giữa các cell dễ dàng hơn.

V ề mặt cấu trúc, m ột chip FPGA dù được tổ chức theo kiểu kiến trúc nào cũng bao gồm ba
thành phần cơ bản là:

- Các khối logic chức năng có thể cấu hình được - CLB (Configuarable L ogic Block).

- Các khối mạch giao tiếp vào ra - IOB (Input/Output Block).

- Hệ thống kết nối có thể lập trình được (Programmable Interconnects).

253
Logic Block

g-B gg a m
D= ■ I/O Block

□ = ID = □

□ = ü iilp = □

& in □ÜB = Q

□ = M ; c p ü p L itf = □

□ = 3PIU [M j a s Pn = 0

□ = = a

□ = H D

ïïF T n r îT T îïï
Hình 12.11. Cáu trúc cơ bản của FPGA.

d) Các kh ố i logic cấu hình được (Conỉiguarable Logic Block)


M ột vi m ạch FPGA bao
COUT
gồm nhiều khối logic có thể
> BUFT
lập cấu hình được gọi là ,J Ị H S Ể w
> BUFT
CLB (Configuarable Logic - -
Block). Cấu trúc CLB cùa -N . Lát cắt
(Slice S3)
các họ FPGA khác nhau
thường không khác nhau
« « s g
nhiều. N ói chung, m ỗi CLB
chứa một số phẩn tử logic -* > Lát cắt .
M a trận < =
(Slice S2)
gọi là LC (logic cell). M ột khóá
LC bao gồm m ột số các đầu chuyển
vào nhị phân, một số đầu ra mạch
(Switch
có thể lập trình được ờ cả hai matrix)
dạng logic tổ hợp và logic A------k Lát cắt
dãy (th a n h ghi). Bên trong s ? (Slice S1)
mỗi LC chứa m ột bộ tạo Îĩ}ị
Ệ 'jmsm
hàm logic (logic function
generator), bộ tạo hàm có / ------ % Lát cắt < Kết nối cục bộ
(Slice SO)
thể được thực hiện bằng một
bộ nhớ kiểu bảng tra LUT 1- ;
(L ook-up table m em ory) t
hoặc là một tổ hợp cùa các CIN CIN

m utiplexer và gate. Tín hiệu Hình 12.12. Một CBL trong FPGA chứa một sỗ slice.

254
từ bộ tạo hàm logic có thể đưa trực tiếp tới cửa ra theo dạng logic tổ hợp, hoặc cho qua một
flip -flop trước khi đưa tctì cửa ra theo dạng thanh ghi.
Ví dụ, trong FPGA cùa X ilinx, mỗi CLB bao gồm một số phần nhỏ gọi là slice (lát cắt).
Các slice trong một CLB có thể liên kết với nhau thông qua hệ thống kết nối cục bộ (local
routing). Các slice ở các CLB khác nhau có thể kết nối với nhau thông qua một mạng lưới các
chuyển mạch toàn cục (switch matrix). Hình 12.12 là ví dụ về một CBL có 4 slice.
Mỗi slice của FPGA này chứa hai phần tử LC giống hệt nhau (hình 12.13). Mỗi LC bao gồm
một bộ tạo hàm logic cho bốn lối vào dùng LUT, một mạch logic tạo tín hiệu carry, và một phần
tử nhớ (là một D flip-flop). Tín hiệu ra từ bộ tạo hàm logic trong mỗi LC có thể đưa trực tiếp tới
cửa ra của CLB, hoặc cũng có thể đưa tới lối vào D của flip-flop. N goài các phần tử LC cơ bản,
mỏi CLB còn có các mạch logic có thể tổ hợp các bộ tạo hàm từ các LC khác nhau để có được
các hàm logic cùa 5 hoặc 6 tín hiệu vào.
Thông thường, bảng trá LUT trong mỗi LC được sử dụng làm bộ tạo hàm logic cho 4 tín
hiệu vào. Tuy nhiên, m ỗi LUT cũng có thể được dùng như là một bộ nhớ RAM lố x lb it. Hơn thế
nữa, 2 LUT trong mỗi slice có thể được kết hợp với nhau để tạo nên một bộ nhớ RAM 16x2bit
hoặc 32x1 bít. Bảng tra LUT cũng có thể được lập trình thành một thanh ghi dịch 16-bit trong các
ứng dụng truyền dữ liệu.

Hình 12.13. Cấu trúc cơ bản cùa một slice.

đ) H ệ tíìôhg k ế t n ố i lập ừình được (Programmable ữiterconnect)


Các CLB trong một chip FPGA liên kết với nhau qua một hệ thống kết nối gọi là
programmable interconnect, thực chất là một mạng lưới các khoá chuyển mạch (switch matrix).

255
Cụ thể, các tín hiệu vào ra của tất cả các phần tử LC trong các CLB có thê kết nói vào mạng
thông qua các chuyển mạch (switch). M ỗi chuyển mạch được điểu khiển bời một phần tử bít nhớ
(memory cell). Các phần tử nhớ điểu khiển chuyển mạch có thể được thực hiện bầng SRAM ,
EPROM/EEPROM, hoặc anti-fuse. Tuỳ theo công nghệ chê tạo phẩn tử nhớ mà các m ôi liên kết
giữa các LC có thé lập trình được nhiều lần hoặc chỉ một lần.
e) Các k h ố i I/o cấu h ình được (I/o block)
Khối trao đổi vào ra IOB (Input/Output Block) tạo nên m ột giao diện hai chiểu c ó thể lập
trình được giữa các chân vào ra I/o của vi mạch FPGA và các khối m ạch logic bên trong nó.
Một khối vào ra IOB được dùng để nhận tín hiệu vào chip và gửi tín hiệu ra khỏi chip thông qua
các chân I/o. Trong các vi m ạch FPGA, tất cả các khối vào ra đều c ó thể thay đổi cấu hình
được bằng cách lập trình (configurable). Mỗi
IOB đều có một bộ đệm vào (input buffer) và
một bộ đệm ra (output buffer) với các kiểu cửa
- D Q -------- ►
ra ba trạng thái hoặc cực m áng hờ (open-drain). ir n
Hình 12.14 là sơ đổ cấu trúc đơn giàn hoá > S/R
cùa một IOB. N ó c ó thể được lập trình để thành
4------------ --------- < H
một lối ra, m ột lối vào hoặc một cừa vào ra hai
chiều. Là lối ra, nó có thể được lập trình để làm
việc ở mode thanh ghi hoặc mode logic tổ hợp.
Khi là lối vào, nó c ó thể được lập trình để nhận »M:
tín hiệu trực tiếp từ chân I/o hoặc nhận qua một
flip -flo p nhờ tín hiệu nhịp đồng bộ.
Hinh 12.14. Cấu trúc đon giản hoá cùa IOB trong FPGA.

12.4. CÔNG CỤ THIẾT KÊ'


Đ ể có thể lập trình thiết kế các m ạch điện tử số từ các vi m ạch PLD, trước hết người dùng
cần có bộ công cụ gổm:
Máy tính PC - Kiểu m áy tính bất kỳ đáp ứng được các yẻu cầu của phần m ềm thiết kế
mạch điện tử sô' trên PLD. Các yêu cẩu đó thường là: kiểu bộ vi xử lý, dung lượng bộ nhớ,
không gian lưu trữ (đĩa cứng), hệ điều hành đang sử dụng...
Phấn mềm thiết k ế mạch điện tử số - Các thiết k ế m ạch thường được đưa vào m áy tính
bằng m ột ngôn ngữ m ô tả phần cứng HDL (Hardware D escription Language). C ó nhiẻu loại
ngôn ngữ lập trình H D L khác nhau:
- Các ngôn ngữ lập trình H D L đơn giản dùng cho các thiết k ế trên các vi m ạch SPLD, ví
dụ như ABEL, CUPL, O rCAD PLD, LOG/iC, PL D esigner, Synario...
- Các ngôn ngữ H D L bậc ca o thích hợp với các thiết k ế trên CPLD hoặc FPGA như
V H D L, Verilog.
Các phần mềm thiết k ế mạch điện từ sô' thực hiện các chức năng tương tự nhau: chúng xử
lý phần thiết k ế logic được đưa vào bằng chương trình dạng mã nguồn HDL, biến đổi sang một
dạng trung gian rồi sau đó chuyển thảnh file có format kiểu JEDEC (còn gọ i là dạng fuse map
hoặc cell map) để nạp vào PL D thông qua bộ lập trình (programmer).
Thiết bị lập trình (Programmer) - là m ột thiết bị có dạng m ột bảng m ạch điện từ. trẽn đó
c ó chứa mạch nạp và m ột socket (đ ế cắm ) dùng cho PLD cần lập trình. M áy tính nạp file
JEDEC (có được do bộ biên dịch HDL chuyển từ file thiết kế mã nguồn) xuống programmer để

256
tạo ra điện áp thích hợp đưa tới các chân của PLD, làm thay đổi cấu trúc nối m ạch của PLD
theo fuse map, theo đó tạo ra được mạch điện tử s ố cần thiết kế.
Tẫt cả các phần mềm thiết k ế HDL và các bộ lập trình cho PLD của các hãng khác nhau
đều tuân theo m ột quy định thống nhất là tạo ra file đối tượng có format theo tiêu chuẩn
JEDEC (Joint Electronic D evice Engineering Council).
Hình 12.15 là m ột hệ thống công cụ thiết kế mạch điện tử số dùng PLD.

Hình 12.15. Công cụ thiết ké mạch điện tử số dùng PLD.

12.5. QUY TRÌNH THIẾT KẾ


Để thục hiện thiết kê' một thiết bị sô' trên vi mạch PLD bàng m áy tính, người thiết k ế cần
phải thực hiện các nhiệm vụ chính sau:
- M ô tả m ạch cẩn thiết k ế bằng một ngôn ngữ m ô tả phẩn cứng HDL.
- Biên dịch, kiểm tra thiết kế.
- Lập trình (nạp nội dung cho chip).
Hình 12.16 m ô tả quy trình thiết k ế sử dụng phẩn mêm thiết k ế lS E cùa Xilinx.
Quy trình thiết k ế này được chia thành 7 bước gồm:
1. Khởi tạo m ột đề án (chương trình) thiết kế
Đặt tên của thiết kế, xây dựng cấu hình liên kết các modul trong thiết kế, lựa chọn loại
ngôn ngữ H DL sẽ dùng cho thiết kế.
2. V iết chương trình mã nguổn
Sau khi đã xác định xong bước 1, người thiết k ế sẽ tạo chương trình mã nguồn thiết kế. Có
thể sử dụng các chương trình mẫu từ thư viện thiết kế.
3. M ô phỏng chức năng (Functional Simulation)
Kiểm tra tính đúng đắn trong chức năng của thiết k ế trước khi thực hiện. V iệc m ô phỏng
này không có các ràng buộc về thời gian trể cùa mạch và vị trí các chân tín hiệu. Thông thường,
các phần m ềm thiết k ế đều cho phép tạo một công cụ gọi là Testbenche để thực hiện việc m ô
phỏng này.

257
4. BỔ sung các điều kiện ràng buộc cho thiết kế
Trong giai đoạn này, người thiết k ế phải đưa vào các điểu kiện ràng buộc liên quan đến vi
mạch PLD được sử dụng để định hưómg cho phần m ềm trong quá trình thực hiện tổng hợp thiết
kế. Các điều kiện ràng buộc thường là:
- Gán vị trí các tín hiệu cho các chân vật lý cùa vi m ạch PLD.
- Bổ sung các ràng buộc về thời gian ư ễ, tần số nhíp clock.
- Bổ sung các ràng buộc về sơ đ ổ bố trí mặt bằng cùa các phẩn tử m ạ c h ,...
Có nhiều cách khác nhau để bổ sung các điều kiện ràng buộc thiết k ế này. Phần m ềm thiết
k ế ISE cho phép người thiết k ế tạo thêm file UC F (U ser Constraint File) bằng cách dùng một
công cụ gọi là PACE (Pinout and Area Constraints Editor).

^ System Debug_________________________ J

Hình 12.16. Quy trinh thiết ké mạch điện tử só trên PLD dùng máy tính.

258
5. Tổng hợp thiết k ế
Trong phần mém thiết k ế ISE có công cụ tổng hợp (Synthesis Tool) cho phép tổng hợp các
thiết k ế được m ô tả bằng HDL từ đó tạo ra file netlist. File netlist (*.NGC) là một file chứa cả
thông tin về logic hoạt động cùa mạch thiết k ế lẫn các điều kiện ràng buộc liên quan đến PLD
được sử dụng.
6. Kiểm tra thiết k ế - M ô phỏng thiết k ế với các điều kiện ràng buộc thực tế
Trước khi thực hiện lập trinh cho chip PLD, người dùng c ó thể thực hiện chạy m ô phỏng
thiết k ế một lần nữa trên m áy tính. Lần mô phòng này được thực hiện với các điều kiện ràng
buộc về thời gian, vị trí các tín hiệu, cũng như khả năng đảm bảo cùa nguồn tài nguyên trên
chip PLD đưạ: sử dụng.
7. Hoàn thành thiết kế - Lập trình cho vi mạch PLD
Đến đây, người thiết kế sử dụng công cụ nạp (loader) trong phần mềm thiết kế để tải nội
dung file lập trình (programming file) xuống chip PLD. File lập trình cũng thường được gọi là file
Bitstream, đó là một file nhị phân chứa tất cả các thông tin quy định cấu hình cho các khối logic
và hệ thống kết nối trong PLD. File Bitstream tuân theo chuẩn JEDEC và được lưu ưong máy
tính ở dạng (*. JED).

12.6. NGÔN NGỮ VHDL VÀ MỘT s ố v í DỤ ỨNG DỤNG


12.6.1. Ngôn ngữVHDL
VHDL (VHSIC Hardware Description Language) là ngôn ngữ m ô tả phần cứng dùng cho
các vi mạch tích hợp tốc độ cao VHSIC (Very High Speed Integrated Circuits). Phiên bản đầu
tiên cùa V H D L ra đời năm 1983, đó là sản phẩm kết hợp cùa ba công ty lớn là IBM, Texas
Instruments, và Intermetric thực hiện theo hợp đổng với Bộ Quốc phòng Mỹ. Sau khi ra đời,
vào năm 1987, V H D L được tổ chức IEEE chấp nhận như là m ột chuẩn của họ và gọi là chuẩn
IEEE 1076. Cũng như m ọi chuẩn khác cùa IEEE, VHDL luôn được chỉnh sửa nâng cấp và đến
nay đã c ó nhiều phiên bản khác nhau của VHDL.
G iống như trong các ngôn ngữ lập trình phần mém thuần tuý, m ột chương trình thiết kế
mạch điện tử sô' viết bằng ngôn ngữ VH D L phải tuân thù các quy định về cấu trúc của nó.
Ngôn ngữ V H D L sử dụng các kiểu dữ liệu (data type) được định nghĩa rõ ràng, sử dụng các
biểu thức (expression) và các toán tử (operator) để viết các câu lệnh của chương trình. Bạn đọc
có thể tham khảo chi tiết hơn trong các tài liệu chuyên vể VHDL.
M ột chương trình viết bằng ngôn ngữ VH D L có thể chứa một sô' trong sô' bảy đơn vị thiết
kế (design unit) sau đây:
- Entity: D esign unit này được dùng để mô tả giao diện bên ngoài cùa thực thể cần thiết
kế. Các m ô tả cụ thể thường là: các chân tín hiệu, chiéu (vào, ra hoặc vào ra hai chiều) cùa tín
hiệu, kiểu dữ liệu áp dụng cho tín hiệu.
- Architecture: M ô tả hoạt động cùa thực thể được thiết kế. Hoạt động cùa thực thể có thể
được m ô tả thông qua hành vi (behavior), qua cấu trúc mạch logic (structure), hoặc qua việc
chuyển dữ liệu (data path) của nó.
- Configuration: Lựa chọn m ột trong nhiêu khối thực thể (đã được thiết kế) có thể có trong
thư viện và liên kết với m ỗi phần tử cùa thực thể đang được thiết kế.
- Package: Chứa các khai báo ban đẩu về: các phần từ, các kiểu dữ liệu, các thủ tục, hàm và

259
chương trình con. Những khai báo này sau đó có thể được đưa vào các đơn vị thiết k ế băng mệnh đê
có từ khoá use.
- Package Body: Chứa các định nghĩa, các m ô tả chi tiết về cá c hàm , các thủ tục đã được
khai báo sơ bộ trong phần khai package, nó cũng chứa những khai báo giá trị hăng số hoàn
chỉnh cho các hằng số chưa xác định giá trị cụ thể ờ phần package.
- Library: Thư viện thiết k ế chứa các thực thể đã được định nghĩa nhằm m ục đích sử dụng
cho các thiết k ế về sau. Trong m ột m ôi trường chủ (m áy tính c ó hỗ trợ V H D L ) c ó thể tổn tại
đổng thời nhiều thư viện thiết kế, trong sô đ ó chỉ có m ột thư viện được chỉ định là thư viện làm
việc với tên logic là W ORK. Bộ phân tích ngôn ngữ luôn luôn biên dịch các m ô tả thiết kê' vào
thư viện đó; do vậy, tại m ỗi thời điểm chỉ có duy nhất m ột thư viện được cập nhật.

12.6.2. Một số ví dụ
a) V í d ụ 1: Thiết k ế bộ cộng s ố họ c (H alfA dder)
Đây là m ột thực thể đơn giản, chương trình V H D L dùng để m ô tả ch o thực thể này chỉ cần
dùng hai design unit là entity và architecture. Tuy nhiên, để có thể sử dụng được các kiểu dữ
liệu, các biểu thức và các toán từ dùng cho các biến ta cần phải thông báo ch o com piler bằng
các chỉ thị library và use. Toàn bộ chương trình thiết k ế H alf-A dder được viết như sau:
l i b r a r y IEEE;
u se IEEE.std_logic_1164all;
entity Half_Add is
port (A, B : in s t d _ l o g i c ;
Carry, Sum : out s t d _ logic);
end Half_Add ;
a r c h i t e c t u r e M y _ A r c h o f H a l f _ A d d is
begin
Sum <= A xor B ;
Carry <= A and B ;
end My_Arch ;

H ai d ò n g lện h đ ầu tiê n th ô n g b á o c h o co m p iler b iết là ch ư ơ n g trìn h sử d ụ n g các sản phẩm


đã được đ ịn h n g h ĩa tro n g g ó i std _ lo g ic _ l 164 c ù a th ư v iện IE E E .
C ác câu lện h tiế p th e o bắt đ ầu từ en tity đ ế n en d
H alf_A dd là p h ần m ô tả g ia o d iệ n b ên n g o ài c ủ a thực A .............. Sum
thể. T heo đó, thực th ể n ày được đ ạt tên là H a lf_ A d d , nó y
có các tín h iệu vào là A , B và các tín h iệu ra là Sum ,
C arry (h ìn h 12.17). C ác tín h iệu v ào ra c ủ a thực th ể có B Cany
kiểu dữ liệu là s td j o g i c , đ â y là k iể u logic n h iều giá trị.
N goài các g iá trị ‘ 1’ và ‘0 ’, std _ lo g ic cò n c ó các g iá trị
khác n h ư ‘L ’ (m ứ c thấp), ‘H ’ (m ứ c c ao ), ‘Z ’ (trờ k h án g Hình 12.17. Bên ngoài thực thể HalLAdd
cao), (d o n ’t c a r e ) ,... K iểu std _ lo g ic rá t th íc h hợp theo mô tả của chưong trinh.
ch o việc m ô tả các m ạ c h đ iệ n tử thự c tế.
C ác c âu lệ n h cò n lại là ph ẩn m ô tả k iế n trúc b ê n tro n g c ù a thự c thể H a lf_ A d d . K iế n trúc
này được m ô tả th e o h à n h vi h o ạt đ ộ n g c ù a nó. T h e o m ô tả n à y , Sum là p h é p x o r c ù a A và B,
cò n C arry là p h ép an d c ù a A và B. C ó th ể h ìn h d u n g cấu trú c c ù a m ạ c h thực h iệ n chứ c n ă n g đó
có dạng nh ư h ìn h 12.18.

260
Hình 12.18. Kiến trúc bẽn trong Half_Add theo mô tả của chương trinh.

b ) V í d ụ 2 : T h iế t k ế m ộ t th a n h g h i (R e g iste r) bôh b it
Trong ví dụ này, ta xét một chương trình VHDL thiết kế một thanh ghi bốn bit có dạng
được m ô tả ở hình 12.19. Ta đặt tên cho thực thể là REG_4, phần entity m ô tả giao diện bên
ngoài của thực thể được viết như sau:
libr a r y IEEE;
REG 4
use I E E E . s t d _ l o g i c _ 1 1 6 4 a l l ;
e n t i t y R EG_4 is
port (D_in: in std_ l o g i c _ v e c t o r (3 d o wnto 0);
Clk, Rst: in std_logic;
Q _ o u t : o ut s t d _ l o g i c _ v e c t o r (3 d o w n t o 0));
end R E G _ 4 ;

Đ ể mô tả kiến trúc cùa thực thể REG_4 ta cũng có thể


sử dụng cách m ô tả hành vi theo như ví dụ về Half_Add ờ
trên. Trong ví dụ này, ta sẽ dùng một cách m ô tà khác đó là
mô tả cấu trúc. Thanh ghi REG_4 chứa bốn D flip-flop, do
vậy trước hết ta cần viết một đoạn chương trình VHDL mô
tả D flip -flop sau đó mới dùng nó vào cấu trúc cùa REG_4.
e n t i t y D FF is
port (D, C l o c k : in s t d _ l o g i c ;
Reset : in s t d _ l o g i c ; Hình 12.19. Thanh ghi bốn bit REG_4.
Q : out std_l o g i c ) ;
end e n t i t y DF F ;
a r c h i t e c t u r e R T L of D FF is
begin
p r o c e s s (Clock, Reset)
begin
if (Reset = '1' ) then
Q <= '0' ;
elsif (Clock' e v e n t a nd C l o c k = '1' ) then
Q <= D ;
end if ;
en d p r o c e s s ;
end a r c h i t e c t u r e R T L ;

Đoạn chương trình trên mô tá thực thè’ D flip-flop (hình 12.20) gồm ba tín hiệu vào D,
Clock, R eset và một tín hiệu ra Q, tất cá đều có kiểu std_logic. Hoạt động cùa D flip -flo p được
m ô tả bằng một tiến trình (process), process này được kích hoạt bởi các tín hiệu Clock hoặc
Reset. Theo định nghĩa trong VHDL, ’event là một thuộc tính cùa tín hiệu, C lock’event có
nghĩa là có sự thay đổi giá trị cùa Clock. Mệnh đề (C lock'event and Clock = ‘ 1 ’) dùng để m ô tả
một sườn lèn cùa tín hiệu Clock.

261
Cấu trúc cùa thanh ghi REG_4 sử dụng bốn D flip -flo p được m ô tả như sau:
a r c h i t e c t u r e S t r u c t u r a l of R E G _ 4 is
component DFF
port (D, C l o c k : in s t d _ l o g i c ;
R eset : in std_lo g i c ;
Q : ou t s td_logic) ;
en d c o m p o n e n t ;
begin
D FF p o r t m a p (D_in(3), elk, R s t , Q _ o u t (3))
D FF po r t m a p (D_in(2), Clk, Rst, Q _ o u t (2))
D FF po r t m a p (D_in(l), Cl k, Rs t / Q _ o u t (1))
D FF po r t m a p (D_in(0), Clk, Rst, Q o u t (0))
e n d Stru c t u r a l ;

Đoạn chương trình trên cho thấy thanh ghi REG_4 gồm
có bốn phần tử (com ponent) là bốn D flip-flop. Các flip -flo p
này được gán tên là uo, U l , U 2, U 3. Lệnh port map được
dùng để ánh xạ các chân tín hiệu vào ra của REG_4 với các
tín hiệu của DFF. Kết quá cùa sự ánh xạ đó là một sơ đồ cấu
trúc như hình 1 2 . 2 0 .

c) V í dụ 3: Thiết k ế m ộ t bộ đếm n h ị phân


V í dụ sau đây m ô tả m ột bộ đếm nhị phân thuận nghịch có thể đặĩ trước giá trị được thiết
k ế bằng ngôn ngữ VHDL. M ột bộ đếm nhị phân thuận nghịch tám bít có các tín hiệu vào ra
như sau:
- Tín hiệu vào có:
CE - tín hiệu cho phép bộ đếm.
LO A D - tín hiệu đặt giá trị ban đẩu.
UpDn - tín hiệu điều khiển chiểu đếm.
RST - tín hiệu reset bộ đếm.
CLK - xung nhịp đếm. Q_OU T
D _IN - giá trị đặt trước cho bộ đếm (kiểu vector).
- Tín hiệu ra có:
Q _O U T - số đếm đưa ra sau m ỗi nhịp đếm (kiểu
vector).
Các tín hiệu và giao diện bẽn ngoài cùa bộ đếm m ô
tả ở hình 1 2 .2 1 .
Chương trình nguồn ngôn ngữ VH D L m ô tả bộ Hình 12.21. Các tín hiệu cùa bộ đém nhị phân,
đếm đó được viết như sau:
l i b r a r y IEEE;
u s e I E E E .S T D _ L O G I C _ l 1 64aLL;
us e I E E E .S T D _ L O G I C _ A R I T H a L L ;
us e I E E E .S T D _ L O G I C _ U N S I G N E D a L L ;
e n t i t y M y _ C n t 8 is
p o r t (D_IN: in s t d _ l o g i c _ v e c t o r (7 d o w n t o 0) ;
CE, UpDn, LOAD, CLK, R S T : in s t d _ l o g i c ;
Q _ O U T : ou t s t d _ l o g i c _ v e c t o r (7 d o w n t o 0));
e n d My _ C n t 8 ;

262
ar c h i t e c t u r e B e h a v i o r a l of My_C n t 8 is
sign a l COUNT: s t d _ l o g i c _ v e c t o r (7 d o w n t o 0);
begin
p r o c e s s (CLK, RST)
b egin
if RS T = '0' then
C O U N T < = (others => '0');
e l s i f C LK = '1' a nd CL K ' e v e n t then
if CE = 'í' then
if LO A D = '1' then C O U N T < = D_IN;
else
if UpDn = ’1' then
CO U N T <= C O U N T + 1;
else
C O U N T < = C O U N T - 1;
e n d if;
end if;
e nd if;
e n d if;
e nd process;
Q _ O U T < = COƯNT;
e nd Beha v i o r a l ;

Do trong hoạt động của bộ đếm có việc cặp nhật (tăng, giảm) giá trị đếm sau mỗi xung nhịp
nên trong đoạn chương trình này có sử dụng hai gói số học STD_LOGIC_ARITH và
STD_LOGIC_UNSIGNED của thư viện IEEE.
Phần entity m ô tà bộ đếm gồm có các tín hiệu vào CE, UpDn, LOAD, CLK, RST có kiểu
std_logic, tín hiệu vào D _IN cũng có kiểu std_logic nhưng là dạng vector nhiều thành phẩn
(D_IN7, ... D _IN 0), tín hiệu ra Q_OUT cũng có dạng std_Iogic vector nhiều thành phẩn
(Q_OƯT7, ... Q_OƯTO).
Hoạt động cùa bộ đếm được m ô tả bằng một process hoạt kích bời các tín hiệu CLK và
RST. Các lệnh m ô tả hoạt động của bộ đếm trong đoạn chương trình trên là if, else, và elsif.
Chức năng hoạt động cùa các lệnh này cũng giống với các lệnh tương tự trong các ngôn ngữ lập
trình phẩn mềm thuần tuý. Ngoài ra, do ngôn ngữ VHDL không hỗ trợ việc đọc giá trị từ một
port có mode out (tức là Q _OUT), cho nên trong đoạn chương trình trên có sử dụng một tín
hiệu trung gian là COUNT. Trong m ỗi lần thực hiện process, tín hiệu COUNT được đọc và cập
nhật (tăng hoặc giảm , tuỳ theo giá trị của UpDn); sau khi kết thúc process Q_O U T mới được
gán giá trị từ biến trung gian COUNT.

CÂU HỎI ÔN TẬP CHƯƠNG 12


12.1. M ạch logic khả trình đơn giản SPLD gổm những nhóm mạch nào?
12.2. So sánh GAL và PAL.
12.3. Các ch ế độ (m ode) làm việc cùa GAL.
12.4. CPLD là gì? So sánh SPLD và CPLD.
12.5. FPGA là gì? Các kiểu kiến trúc cùa vi mạch FPGA, các công nghệ lập trình dùng ưong FPGA?
12.6. N gôn ngữ HDL là gì? VH D L là gì?
12.6. Công cụ và quy trình thiết kế một hệ mạch điện tử số trên PLD.

263
TÀI LIỆU THAM KHẢO

1. Thom as L. Floyd, 1997. Digital Fundamentals. Prentice - Hall.

2. Thom as L. Floyd, 2003. Digital Fundamentals with VHDL. Prentice - Hall.

3. Wakerly. J. K 1999. Digital Design: Principles & Practic es. Third Edition, Printice Hall.

4. Katz R.H , 1993. Contemporary Logic Design. A ddison W esley.

5. Lala P.K, 20 0 7 . Principles o f Modern Digital Design. W iley-In terscien ce.

6. Tinder R.F, 2000. Engineering Digital Design. A cadem ic Press.

7. Marcel Gindre, Denis Roux, 1992. Electronique numerique. 'I’hird Edition, Me Graw - Hill.

8. Prof. Dr. sc. tech. Manfred Seifait, 1990. Digitale Schaltungen. Verlag Technik GmbH Berlin.

9. U. Tietz, Ch. Schenk, 1993. Halbleiter - Schaltungstechnik. Springer Verlag Berlin


I leideiberg N ew York.

264
MỤC LỤC

C hương 1. KIẾN THỨC c ơ s ở CỦA KỸ THUẬT S Ố ....................................................................................5


1.1. Bài toán logic —biến logic...........................................................................................................................5
1.2. Mạch logic.......................................................................... ............................................................................5
1.3. Mức logic —tin hiệu lo g ic ...........................................................................................................................6
1.4. Các phép tính logic...................................................................................................................................... 7
1.5. N hững tính chất và đinh lý của các phép tính logic............................................................................ 8
1.6. Ba phần tử logic cơ b ả n ............................................................................................................................. 11
1.7. Các phần tử logic đa n ă n g ........................................................................................................................14
1.8. Cổng logic.....................................................................................................................................................16
1.9. Phần tử tương đương và không tương đ ư ơ n g .....................................................................................18
1.10. Khái niệm về m ã —M ã A SC II............................................................................................................... 19
1.11. Phương p h áp biêu diễn số ......................................................................................................................21
1.12. C huyển đổi qua lại giữa các mã biểu diễn s ố ....................................................................................23
1.13. Phép c ộ n g /trừ h ai s ố trong cùng hệ đ ế m .......................................................................................... 26
1.14. Mã n hị p h ân biểu diễn số nguyên có d â u ..........................................................................................27
1.15. C ộ n g / trừ hai số n g uyên có dâu dạng mã bù 2 .................................................................................29
Câu hỏi và bài tập chương 1 ................................................................................................................................ 30

C hương 2. CÁC H Ọ M ẠCH LOGIC TTL VÀ C M O S....................................................................................34


2.1. Tông q u an về các vi m ạch logic.............................................................................................................. 34
2.2. Mạch logic họ TTL................ .7...................................................................................................................36
2 3. Vi m ạch họ T T L ..........................................................................................................................................40
2.4. Các đặc tính đ iện của vi mạch số họ TTL............................................................................................. 43
2.5. Mạch logic h ọ n M O S ................................................................................................................................. 43
2.6. Mạch logic C M O S.......................................................................................................................................48
2.7. Vi m ạch họ C M O S......................................................................................................................................50
2.8. Các đặc tính điện m ạch logic họ C O M S................................................................................................52
2.9. Mạch logic ba trạn g th á i........................................................................................................................... 53
2.10. N hững điều cần chú ý khi sử d ụ n g các vi mạch s ố ......................................................................... 57
2.11. Giao diện giữa mạch TTL và C M O S....................................................................................................59
2.12. Khái niệm về linh kiện điện tử lắp ráp bề m ặ t.................................................................................. 61
Câu hỏi và bài tập chương 2 ................................................................................................................................ 62

C hương 3. TỔNG H Ợ P M ẠCH LOGIC T ổ H Ợ P .......................................................................................... 64


3.1. Tổng quan về tổng h ợ p mạch logic tô h ợ p .......................................................................................... 64
3.2. Tông hợp m ạch logic tô h ợ p từ các công logic cơ b ản ....................................................................... 65
3.3. Phương p h áp bảng Các nô làm tối giản hàm logic............................................................................ 67
3.4. D ùng bảng Các nô r ú t gọn biểu thức lo g ic.......................................................................................... 69
3.5. Vài ví dụ tổng h ợ p m ạ c h .......................................................................................................................... 70
3.6. Á nh hưởng trễ truyền đ ạ t tới hoạt động của mạch logic tổ h ợ p ....................................................71
3.7. Lợi d ụ n g trễ truyền đ ạ t ............................................................................................................................ 73
3.8. Khái niệm về mức tích cực thấp và tích cực c ao ..................................................................................74
Bài tập chương 3 ......................................................................................................................................................76
C hư ơng 4. THIẾT B Ị LOGIC KHẢ T R ÌN H ......................................................................................................... 77
4.1. Đ ặt v ấn đ ề ........................................................................................................... ............................................. 77
4.2. Ví d ụ ứng d ụ n g ...............................................................................................................................................79
4.3. Logic m ảng khả trình P A L ......................................................................................................................... 80
4.4. Logic m ảng khả trình PR O M ..................................................................................................................... 83
Câu hỏi và bài tập chương 4 ................................................................................................................................... 87

C hư ơng 5. M ẠCH LOGIC T ổ H Ợ P .....................................................................................................................88


5.1. Mạch giải m ã (D ecoder)................................................................................................................................88
5.2. Giai ma B C D /7 se g .........................................................................................................................................93
5.3. Mạch m ã hóa - E n c o d e r............................................................................................................................102
5.4. Mạch đổi m ã .................................................................... -..........................................................................107
5.5. Mạch chọn đ ư ờ ng và phân đ ư ờ n g .......................................................................................................... 109
5.6. Các m ạch th u ật toán số học và logic....................................................................................................... 116
5.7. Mạch p h á t và kiểm ư a tính c h ẵ n / lẻ ....................................................................................................... 125
Bài tập chương 5 .......................................................................................................................................................128

C hư ơng 6. M ẠCH LOGIC D Ã Y ......................................................................................................................... 129


6.1. Khái niệm c h ung về các Flip F lo p .......................................................................................................... 129
6.2. S-R Flip Flop ........................ ......... *............................................................................................................130
6.3. J-K Flip F lo p ................................................................................................................................................. 131
6.4. D -F lip F lop.................................................................................................................................................... 135
6.5. T -F lip F lo p .....................................................................................................................................................136
6.6. Các vi m ạch Flip F lo p ................................................................................................................................. 136
6.7. ứ n g d ụ n g flip flo p ....................................................................................................................................... 137
6.8. Tổng q u an về m ạch logic d ã y ...................................................................................................................138
6.9. Các phương p h á p m ô tả m ạch logic d ã y ............................................................................................... 140
6.10. Tổng h ợ p m ạch logic dãy từ các Flip Flop (FF)............................................................................... 142
6.11. Thanh ghi —th an h ghi d ịc h ..................................................................................................................... 145
6.12. ứ n g d ụ n g th an h ghi d ịc h ........................................................................................................................ 148
6.13. Khái n iệm c h ung v ề bộ đ ế m ...................................................................................................................151
6.14. Bộ đếm không đ ổ n g bộ nhị p h â n n bit, m ođul N =! 2n.................................................................... 152
6.15. Bộ đếm đ ồ n g b ộ n h ị p h ân n b i t ............................................................................................................. 154
6.16. M ạch đ ếm v ò n g (Shift Ring C o u n te r).................................................................................................. 158
Bài tập chương 6 ........................................................................................................................................................160

Chương 7. BỘ N H Ớ B Á N D Ẫ N ...................................................................................................................... 162


7.1. Khái n iệm ........................................................................................................................................................162
7.2. Bộ n h ớ RO M ................................................................................... ............ ; 163
7.3. Bộ n h ớ R A M .................................................................................................................................................. 168
7.4. M ột số bộ n h ớ k h á c ..................................................................................................................................... 175
7.5. ứ n g d ụ n g của các bộ n h ớ .......................................................................................................................... 177
C âu hỏi và bải tập chương 7 ..................................................................................................................................179

Chương 8. T ổ N G H Ợ P HỆ LO G IC D Ã Y Đ Ồ N G BỘ T Ừ C Á C V I M Ạ C H M SI V À L S I......................... 180


8.1. Lựa chọn các p h ầ n tử cho th iết k ế các m ạch logic d ã y ......................................................................180
8.2. Thiết k ế m ạch d ãy d ù n g R O M ..................................................................................................................181
8.3. Thiết k ế m ạch d ãy d ù n g P L A /P A L ........................................................................................................183

266
8.4. Thiết k ế m ạch logic dãy dựa trên bộ đ ế m .......................................................................................... 183
8.5. Thiết k ế mạch d ãy sử dụng PLD có thanh g h i ..................................................................................189
Bài tập chương 8 ....................................................................................................................................................193

C hương 9. CÁC M ẠCH TẠO XƯNG.............................................................................................................. 194


9.1. Mạch p h át xung đ ơ n ............................................................................................................................... 194
9.2. Mạch đa hài phiếm định d ù n g N O R /N A N D ...................................................................................196
9.3. Vi mạch tạo xung CD4047BC và 7415123.........................................................................................‘197
9.4. Vi mạch đ ịn h thời 555 (Timer 555).......................................................................................................201
9.5. Mạch tạo xung vuông d ù n g tinh thê’ thạch a n h ................................................................................ 204
9.6. Vòng khóa pha PLL................................................................................................................................. 205
Bài tập chương 9 ................................................................................................................................................... 208

C hương 10. BIẾN Đ ổ i TƯƠNG T ự - SỐ (ADC) VÀ BIẾN Đ ổ i SỐ - TƯƠNG T ự (D A C)...............209


10.1. Tổng q u an về ADC và D A C ............................................................................................................... 209
10.2. Mạch biến đổi sô —tương tự kiểu lưới đ iện trở R -2R ....................................................................209
10.3. ứ n g d ụ n g của D A C ................................................................................................................................211
10.4. Bộ biến đổi ADC (Analog to Digital C onverter - A D C )...............................................................214
10.5. Các phương p h áp biên đổi tương tự —s ố ......................................................................................... 215
10.6. ứ n g d ụ n g của A D C ............................................................................................................................... 219
Câu hỏi và bài tập chương 1 0 ............................................................................................................................ 221

C hương 11. KHÁI NIỆM VỀ MÁY VI TÍNH VÀ CÁC HỆ VI x ử L Ý ..................................................... 222


11.1. Cấu trúc p h ần cứng của máy tín h ......................................................................................................222
11.2. Các bộ p h ận chính của máy tín h ........................................................................................................ 223
11.3. H oạt đ ộ n g thực hiện chương trình trong m áy vi tín h ................................................................... 226
11.4. Tổ chức bộ n h ớ của m áy vi tín h ......................................................................................................... 228
11.5. Các cổng vào r a .......................................................................................................................................230
11.6. Trao đổi thông tin giữa CPU và thiết bị ngoại v i ............................................................................232
11.7. Lập trình cho các hệ vi xử l ý ................................................................................................................234
11.8. Vi điều k h iể n ........................................................................................................................................... 236
11.9. Bộ xử lý tín hiệu số (DSP).....................................................................................................................238
Câu hỏi ôn tập chương 1 1 ................................................................................................................................... 241

C hương 12. THIẾT KỂ M ẠCH ĐIỆN T Ử s ố BANG MÁY TÍNH VÀ P L D ............................................242


12.1. Mạch logic khả trình đơn giản (SPLD)............................................................................................. 242
12.2. Mạch logic khả trình phức h ợ p —CPLD........................................................................................... 248
12.3. FPG A ...................... ... .................. ............................................ .......................................... 250
12.4. Công cụ thiết k ế ...................................................................................................................................... 256
12.5. Q uy trình thiết k ế ................................................................................................................................... 257
12.6. N gôn n g ữ VHDL và m ột s ố ví d ụ ứng d ụ n g ...................................................................................259
Câu hỏi ôn tập chương 1 2 ...................................................................................................................................263

Tài liệu tham k h ảo .................................................................................................................................................264


Mục lụ c ....................................................................................................................................................................265

267
Chịu trách nhiệmxuất bàn:
Chủ tịch Hội đồng Thành viên M ẠC VÃN THIỆN
Tổng Giám đốc kiêm Tổng biên tập GS.TS. v ũ V Ă N HỪNG

Tổchức bảntlìáo vàchịu trách nhiệmnội dung:


Phó Tổng biên tập PHAN DOÃN THOẠI
Giám đốc Công ty C P Sách Đ H - DN N G Ô THỊ TH A N H BÌNH

Biên tậpnội dung vàsửa bàn in:


DUƠNG VÃN BẰNG

Trình bày bìa:


BÍCH LA

Thiết kếsách và chếbản:


PHẠM ĐÌNH PHONG

C ô n g ty C P S á ch Đ ạ i họ c - D ạ y ngh ề, N h à x u ấ t b ả n G iá o d ụ c V iệ t N a m
g iữ q u y ề n c ô n g b ố tá c ph ẩ m .

ĐIỆN TỬ SỐ

Mà số: 7K750v5-DAI

In 5 0 0 bản (Q Đ in s ố : 40 ), k h ổ 19 X 27 cm .

Đ ơ n vị in : In tại C ô n g ty C P V ă n h ó a H à Nội.

2 4 0 M in h K h a i, Q u ậ n H ai B à T rư n g , T P H à Nội.

C ơ s ở in : K h u c ô n g n g h iệ p Đ ìn h B ả n g . T ừ S ơ n , B ắ c N in h .

S ố Đ K X B : 122 6 - 2 0 1 5 /C X B IP H /1 0 - 6 7 0 /G D .

S ố Q Đ X B : 2 7 9 3 /Q Đ -G D n g à y 05 th á n g 06 n ăm 2015.

In x o n g và n ộ p lư u c h iể u th á n g 06 n ăm 2015.

You might also like