Professional Documents
Culture Documents
Đ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
Đ 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:
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 .
C Á C T Á C G IẢ
3
(( ^ ( t t M t t y J
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.
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.
6
H H
^Hmax
^Hrnin
^Lmax
min
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 đó.
Q = A a B a C a ... = A . B . C . . .
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
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.
độ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 ;
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 .
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 .B + A .B .C .D (do định lý d)
= A (B + C .D ) (do định lý k)
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.
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 ).
Q * (A ,B ,C ) = Q (A ,B ,C )
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 2: Q ‘ = A.B.C +A .B .C
= (Ã + 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)
= Ã.B.C + A .c
Bước 3: Q = Q* = Ã .B .C + A.C
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)
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.
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
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
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.
đ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
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
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.
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)
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:
ỉ r= r~ Y i L « ỉ r = p > £ . :
c . — a-------y ABC c . — l— y c —i — / A + B + c c *— I------------------- '
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 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.
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.
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.
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 .
» 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
- 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.
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ã.
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
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:
0 01000001 A
1 01001101 M
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.
i I
N = Ễ a kR k + I akR k (1.6)
k=0 k = -l
Phần ng uy ên Phần lẻ
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 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.
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ố
Mã
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
Ư 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
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ụ:
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ụ:
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ụ:
-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.
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.
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.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ự.
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
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ẽ
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
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.
- 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
+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
+ 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
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!
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 Ị Ị Ị Ị ! ' Ị
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
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)
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
a) _n_n_ b)
_n_n_
:3 D c
-TU T. JU T-
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_
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:
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:
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
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.
GND GND
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.
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).
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à:
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).
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.
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.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 ã ...
40
Bảng 2. ?. Một sổ 1C họ TTL
Ký hiệu Số lượng và chức nảng mạch
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
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 .
- 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
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.
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 Ị
-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).
- 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à:
- 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
Điện áp ra:
Điện áp vào:
U,H (V) 2 2 2 2 2 2
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.
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
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.
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
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.
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)
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.
- 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ụ:
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.
Nhóm CD4000 Nhóm 74HC Mạch chức nâng chứa trong chip
4016
Ị 4 khóa analog (khóa 2 chiéu)
4066
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
liHgh (nA) 1 1 1 1 1
liUh ( mA) -1 -1 -1 -1 -1
cn
CD
8 8
o
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.
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
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.
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.
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 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.
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.
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.
- 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).
a) b) c)
a) b)
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 .
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)
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
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ệ 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.
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.
toàn phần 2 0 1 0 0
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:
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:
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)
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.
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 ) (° )
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
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ó:
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
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
70
l ’1 ì 0 0
l1 \ 0 0
(1
1 1
roi
0 0 0
3.6.1. Khái niệm về mạch có rủi ro (hazard) Bảng 3.4. Bảng Các nõ
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.
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)]
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).
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:
76
(€ J u ổ ổ n ỹ 4
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").
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)
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.
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.
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ã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:
Ỹ + 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
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.
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
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 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 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.
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
- 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.
- 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
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)
- 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.
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.
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„.
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
Ư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.
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
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.
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
- 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
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
IC HEF 4511B
97
Bàng 5.4. Bảng chân lý của VI mạch 4511.
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 _
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.
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.
101
B áng 5.5. Bàng mă trạng thái hoạt động của mạch
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
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.
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:
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,:
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:
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.
- 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.
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
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
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.
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
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.
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.
1
Di ----------------►
1 n m Do
MUX w A 1
EN EN ----------------►
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.
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.
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,.
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
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.
- 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
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
^ - í 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
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.
Ú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 ).
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
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à:
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.
03
ỷ
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
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
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
ỵ
A,------ A
B,------- B 1
C i------- Ci„ c °'“
b)
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
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
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.
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’
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.
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,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).
74LS280
a) b)
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
rĩ
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):
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.7. Thực hiện các hàm logic tổ hợp sau bàng vi mạch M U X 8
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.
128
6
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.
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.
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ộ.
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;
Để' 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)
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ô
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.
- 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.
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.
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
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.
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).
Tia
hồng ;
ngoại
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).
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.
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.
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 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
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.
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
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
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
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)
Để 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.
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)
Vào Ra
nối tiếp — I nối titiếp
Ban đầu õ p .
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
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
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
r
V
DI
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).
1 0 1 1 1 0 0 1 1 0 ]7 Ịọ f 0 0
ti
CK (Clock)
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ồ.
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ớ
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.
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.
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 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.
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.
- 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„ '
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
7493 74xx92
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.
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
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.
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.
- Đầ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);
'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.
I t't ì
Qd Qa
tttt
Qd Qa
tttt
Qd c
RCE
>CK >CK >CK
74190 74190 74190
En y w ~ Load
Xung>
đếm
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)
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.
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'.
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
D Qo D Qi
c_rưirLruTLn_
>c c
a)
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.
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
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.
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
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.
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 ,—
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.
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.
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.
Read(đọc) L L +5 +5 Dm
stanby (chờ) H X +5 +5 High z (cao trờ)
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
b)
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
-Ỉ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
E (Chọn chip)
V T
b) _
w (Cho phép viết) i
_____ r ~
T W(D)—
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
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)
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.
Đị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
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.
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.
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ỉ
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.
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.
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ý.
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
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.
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.
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
- 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.
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.
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
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
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.
Đầu vào X
Ý nghĩa Trạng thái Đầu ra Y
0 1
Reset so S1 S2 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
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
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
: Ị '
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.
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 .
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
\ ặ 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
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.
193
c(?ỉiĩửĩiuỵ 9
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.
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:
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ự.
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.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,
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
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.
__ ì 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.
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)
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
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 .
R e xt/
C ext C ext
Vcc 1 1 Q1 Q2 CLR2 B2
116 115 13 12
nCLR
Ạ CLR'-
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.
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.
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
' 7 V
1 8
2 7
LO
LO
3
LO 6
4 5
201
Báng 9.4. Chức nâng các chân IC5
TRIG (2) Kích khởi (tích cực tháp) TH(6) Ngưỡng (Threshold)
R(4) Reset, xóa (tích cực tháp) c- V (5) Diện áp điéu khiển
X X L L Thống
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.
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)
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.
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.
Vss Zener
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.
— = — - > 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,.
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.
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ì?
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
208
(ứ ầ i ứ M y J0
BIẾN ĐỔI TƯƠNG T ự - s ố rADC) VÀ
BIẾN ĐỔI SỐ - TƯƠNG T ự (DAC)
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
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.
Hình 10.4. AD7524: a) Sơ đổ chân; b) Nối AD7524 để tạo thành DAC 8 bit.
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.
Trong đó: Rv thay dổi theo số nhị phân N theo quan hệ (1 0.2).
R2
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
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.
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
-Q
000
II
<
o
o
0 0
b)
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,
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’
2°
Hình 10.112) ADC kiểu biến đổi song song; b) Bảng mô tả hoạt động của ADC.
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
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ệ:
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
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%
-tc -
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
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
10 OUTPUT ENABLE (OE) Tín hiệu điểu khiển mở đệm ra 3 trạng thái để đọc dữ liệu
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
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).
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.
221
(€ h' ư < ĩ/y ư ý J J
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ý.
B u s đ ịa c h ỉ
B u s d ữ liệ u
B u s đ iề u k h iể n
- 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.
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.
í ĩ ĩ
đổ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
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
bô
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
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.
226
Hình 11.6. Trình tự thực hiện các lệnh của chương trình.
Đ ể 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).
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íộ
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 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.
- Đế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.
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ớ.
c= > 0
PA7-PA0
C 4=>0
PC3-PC0
PB7-PB0
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ó.
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.
233
Bus địa chỉ
Bus dữ liệu
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ó.
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.
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.
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.
Address/Data
Hình 11.16. Cấu trúc hoàn chỉnh cùa một 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.
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.
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:
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.
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
241
(€/ưửJyưf J'2
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.
- 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
245
INPUT LINES
OUTPUT
LOGiC
OUTPUT
LOGiC
OUTPUT
LOGiC
OUTPUT
LOGiC
OUTPUT
LOGiC
OUTPUT
LOGiC
OUTPUT
LOGiC
OUTPUT
LOGiC
-{>
XO R
246
LINE S
16
CLK
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.
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.
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
b)
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.
a) b)
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.
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ử
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
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).
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.
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.
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.
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.
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).
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 ;
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 ;
Đ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 .
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.
263
TÀI LIỆU THAM KHẢO
3. Wakerly. J. K 1999. Digital Design: Principles & Practic es. Third Edition, Printice Hall.
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.
264
MỤC LỤC
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
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
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.