Upload
phan-thanh-quyet
View
209
Download
13
Embed Size (px)
Citation preview
1
KĨ THUẬT SỐ
Ngày nay các thiết bị số, tự động đang thay thế và lấn át các thiết bị tương tự, chẳng hạn như radio, trước đây, người sử dụng phải dùng tay vặn và chỉnh các nút trên radio để dò đài, còn các thiết bị mới hiện nay, các thao tác đó được thay thế chỉ bằng một hoặc hai nút nhấn rất dễ sử dụng. Các thông tin dưới dạng số dễ dàng được xử lí và lưu trữ, mặt khác thông tin được truyền đi có khả năng chống nhiễu rất cao.
1.1.GIỚI THIỆU CHUNG VỀ HỆ THỐNG SỐ VÀ QUI UỚC CỦA HỆ THỐNG SỐ
1.1.1 Hệ thống tương tự (Analog System)
Là thiết bị thao tác các đại lượng vật lý được biểu diễn dưới dạng tương tự. Trong
hệ thống tương tự các đại lượng có thể thay đổi trong một khoảng giá trị liên tục.
Một vài hệ thống tương tự thường gặp như: bộ khuếch đại âm tần, thiết bị thu
phát băng từ,…Tín hiệu tương tự được minh hoạ bằng hình 1.1
Hình 1.1
1.1.2 Hệ thống số (digital system)
Là tập hợp các thiết bị được thiết kế để thao tác thông tin logic hay đại lương vật
lý được biểu diển dưới dạng số, tức là những đại lượng chỉ có giá trị rời rạc. Đây
thường là các hệ thống điện tử nhưng đôi khi cũng có hệ thống từ, cơ hay khí nén.
Một vài hệ thống kỹ thuật số ta thường gặp là: máy vi tính, máy tính tay, thiết bị
nghe nhìn số và hệ thống điện thoại. Tín hiệu số được minh họa như hình 1.2
Hình 1.2
2
Mạch số có nhiều ưu điểm hơn so với mạch tương tự do đó mạch số ngày càng có
nhiều ứng dụng trong ngành điện tử, cũng như trong hầu hết các lĩnh vực khác.
Một số ưu điểm của kỹ thuật số:
- Thiết bị số dễ thiết kế hơn
- Thông tin được lưu trữ và truy cập dễ dàng và nhanh chóng
- Tính chính xác và độ tin cậy cao
- Có thể lập trình hệ thống hoạt động của hệ thống kỹ thuật số.
- Mạch số ít bị ảnh hưởng bởi nhiễu, có khả năng tự lọc nhiễu,tự phát hện sai và
sửa sai.
- Nhiều mạch số có thể được tích hợp trên một chíp IC.
- Độ chính xác và độ phân giải cao.
Nhược điểm của kỹ thuật số
Hầu hết các đại lượng vật lý có bản chất tương tự, và chính những đại lượng này
thường là đầu vào và đầu ra được một hệ thống theo dõi, xử lý và điều khiển. Như
vậy muốn sử dụng kỹ thuật số khi làm việc với đầu vào và đầu ra dạng tương tự ta
phải thực hiện sự chuyển đổi từ dạng tương tự sang dạng số, sau đó xử lý thông
tin số từ ngõ vào và chuyển ngược lại từ dạng số đã xử lý sang dạng tương tự, đây
là một nhược điểm lớn của kỹ thuật số.
Để sử dụng được hệ thồng kỹ thuật số đối với đầu vào và đầu ra là dạng tương
tự ta cần thực hiện các bước sau đây:
Biến đổi thông tin đầu vào dạng tương tự thành dạng số
Xử lý thông tin số
Biến đổi đầu ra dạng số về lại dạng tương tự
Để hiểu được quá trình chuyển đổi đó ta xem ví dụ minh họa hình 1.3 sau:
3
Theo sơ đồ khối ở hình 1.3 thì nhiệt độ dưới dạng tương tự được đo, sau đó giá trị
đo được sẽ được chuyển sang đại lượng số bằng hệ thống biến đổi tương tự sang
số (Analog to Digital Converter – ADC). Đại lượng số này được xử lý qua một mạch
số. Đầu ra số được đưa đến bộ biến đổi số sang tương tự (Digital to Analog
Converter – DAC), cuối cùng đầu ra tương tự được đưa vào bộ điều khiển để tiến
hành điều chỉnh nhiệt độ.
Một nhược điểm khác của hệ thống số đó là giá thành cao, ví dụ như truyền hình
số sẽ tốn kém hơn truyền hình tương tự.
1.1.3 Hệ thập phân
Trong các hệ thống số thì hệ thập phân gần gũi nhất vì nó được ta sử dụng hằng
ngày. Khi hiểu các đặc điểm của nó sẽ giúp hiểu hơn những hệ thống số khác.
Hệ thập phân – hay còn gọi là hệ cơ số 10. Bao gồm 10 chữ số (ký hiệu) đó là 0, 1,
2, 3, 4, 5, 6, 7, 8, 9.
Hệ thập phân là một hệ thống theo vị trí vì trong đó giá trị của một chữ số phụ
thuộc vào vị trí của nó. Để hiểu rõ điều này ta xét ví dụ sau: xét số thập phân 345.
Ta biết rằng chữ số 3 biểu thị 3 trăm, 4 biểu thị 4 chục, 5 là 5 đơn vị. Xét về bản
chất, 3 mang giá trị lớn nhất trong ba chữ số, được gọi là chữ số có nghĩa lớn nhất
(MSD). Chữ số 5 mang giá trị nhỏ nhất, gọi là chữ số có nghĩa nhỏ nhất (LSD).
Để diển tả một số thập phân lẻ người ta dùng dấu chấm thập phân để chia phần
nguyên và phần phân số.
Ý nghĩa của một số thập phân được mô tả như sau:
4
Ví dụ 1: Số 435.568
435.568 = 4x102 + 3x101 + 5x100 + 5x10-1 + 6x10-2 + 8x10-3
Tóm lại, một số thập phân; nhị phân hay thập lục đều là là tổng của các tích giữa
các giá trị của mỗi chữ số với giá trị vị trí (còn gọi là trọng số) của nó.
1.1.4 Hệ nhị phân
Trong hệ thống nhị phân (binary system) chỉ có hai giá trị số là 0 và 1. Nhưng có
thể biểu diễn bất kỳ đại lượng nào mà hệ thập phân và hệ các hệ thống số khác có
thể biểu diễn được, tuy nhiên phải dùng nhiều số nhị phân để biểu diễn đại lượng
nhất định.
Tất cả các phát biểu về hệ thập phân đều có thể áp dụng được cho hệ nhị phân. Hệ
nhị phân cũng là hệ thống số theo vị trí. Mỗi nhị phân đều có giá trị riêng, tức
trọng số, là luỹ thừa của 2. Để biểu diễn một số nhị phân lẽ ta cũng dùng dấu
chấm thập phân để phân cánh phần nguyên và phần lẻ.
Ý nghĩa của một số nhị phân được mô tả như sau:
5
Để tìm giá trị thập phân tương đương ta chỉ việc tính tổng các tích giữa mỗi số (0
hay 1) với trọng số của nó.
Ví dụ2 :
1100.1012 = (1x 23) + (1x 22) + (0x21) + (0x20) + (1x2-1) + (0x2-2) + (1x 2-3 )
= 8 + 4 + 0 + 0 + 0.5 + 0 + 0.125
= 12.125
CÁCH GỌI NHỊ PHÂN
Một con số trong số nhị phân được gọi 1 bit (Binary Digital). Bit đầu (hàng tận
cùng bên trái) có giá trị cao nhất được gọi là MSB (Most Significant Bit – bit có
nghĩa lớn nhất), bit cuối (hàng tận cùng bên phải) có giá trị nhỏ nhất và được gọi
LSB (Least Significant Bit – bit có nghĩa nhỏ nhất).
Số nhị phân có 8 bit được gọi là 1 byte, số nhị phân có 4 bit gọi là nipple. Một
nhóm các bit nhị phân được gọi một word (từ) khi số đó có 16 bit, số 32 bit gọi là
doubleword, 64 bit gọi là quadword.
Lũy thừa của 210 = 1024 được gọi tắt là 1K (đọc K hay kilo), trong ngôn ngữ nhị
phân 1k là 1024 chứ không phải là 1000. Những giá trị lớn hơn tiếp theo như:
211 = 21 . 2 10 = 2K
6
212 = 22 . 210 = 4K
220 = 210 . 210 = 1K . 1K = 1M (Mega)
224 = 24 . 220 = 4. 1M = 4M
230 = 210 . 220 = 1K. 1M = 1G (Giga)
232 = 22 . 230 = 4.1G = 4G
Bảng trị giá của 2n
TÍN HIỆU SỐ VÀ BIỂU ĐỒ THỜI GIAN
7
Biểu đồ thời gian dùng để biểu diễn sự thay đổi theo thời gian của tín hiệu số, đặc
biệt là biểu diễn hai hay nhiều tín hiệu số trong cùng một mạch điện hay một hệ
thống.
CÁCH ĐẾM NHỊ PHÂN
Cách đếm một số nhị phân được trình bày theo bảng sau
Nếu sử dụng N bit có thể đếm được 2N số độc lập nhau
8
Ví dụ 3:
2 bit ta đếm được 22 = 4 số ( 002 đến 112 )
4 bit ta đếm được 24 = 16 số ( 00002 đến 11112 )
Ở bước đếm cuối cùng, tất cả các bit đều ở trạng thái 1 và bằng 2N – 1 tong hệ thập
phân.
Ví dụ: sử dụng 4 bit, bước đếm cuối cùng là 11112 = 24 – 1 = 1510
1.1.5 Hệ thống số bát phân (Octal Number System)
Hệ bát phân có cơ số 8 nghĩa là có 8 ký số : 0, 1, 2, 3, 4, 5, 6, 7, mỗi ký số của số
bát phân có giá trị bất ký từ 0 đến 7. Mỗi vị trí ký số của hệ bát phân có trọng số
như sau:
1.1.6 Hệ thống số thập lục phân (Hexadecimal Number System)
Hệ thống số thập lục phân sử dụng cơ số 16, nghĩa là có 16 ký số. Hệ thập lục
phân dùng các ký số từ 0 đến 9 cộng thêm 6 chữ A, B, C, D, E, F. Mỗi một ký số
thập lục phân biểu diễn một nhóm 4 ký số nhị phân.
Ý nghĩa của hệ thống số thập lục phân được mô tả bằng bảng sau:
Mối quan hệ giữa các hệ thống thập lục phân, thập phân và nhị phân được trình
bày bằng bảng sau:
9
CÁCH ĐẾM SỐ THẬP LỤC PHÂN: khi đếm số thập lục phân, mỗi vị trí được tăng dần
1 đơn vị từ 0 cho đến F. khi đếm đến giá trị F, vòng đếm lại trở về 0 và vị trí ký số
kế tiếp tăng lên 1. Trình tự đếm được minh họa như dưới đây:0, 1, 2, 3, 4, 5, 6, 7,
8, 9, A, B, C, D, E, F, 10, 11, 12, 13,...,1A, 1B,...,20, 21,..,26, 27, 28, 29, 2A, 2B, 2D,
2E, 2F,..., 40, 41, 42 …., 6F8, 6F9, 6FA, 6FB, 6FC, 6FD, 6FE, 6FF,700,….
1.2 MÃ SỐ
1.2.1 Mã BCD
Trực tiếp liên quan đến mạch số (bao gồm các hệ thống sử dụng số) là các số nhị
phân nên mọi thông tin dữ liệu dù là số lượng, các chữ , các dấu, các mệnh lệnh
sau cùng cũng phải ở dạng nhị phân thì mạch số mới hiểu ra và xử lý được. Do đó
phải có quy định cách thức mà các số nhị phân được dùng để biểu thị các dữ liệu
khác nhau, kết quả là có nhiều mã số (gọi tắt là mã) được dùng. Trước tiên mã số
thập phân thông dụng nhất là mã BCD ( Binary Coded Decimal: mã số thập phân
được mã hóa theo nhị phân ). Sự chuyển đổi thập phân sang BCD và ngược lại gọi
là mã hoá và sự lặp mã.
1.2.1.1 Chuyển đổi thập phân sang BCD và ngược lại
10
Người ta biểu thị các số thập phân từ 0 đến 9 bởi số nhị phân 4 bit có giá trị như
bảng dưới đây.
Chúng ta nên chú ý rằng: mã BCD phải được viết đủ 4 bit và sự tương ứng chỉ được
áp dụng cho số thập phân từ 0 đến 9, nên số nhị phân từ 1010 (= 1010) đến 1111
(= 1510) của số nhị phân 4 bit không phải là mã BCD.
Khi chuyển đổi qua lại giữa thập phân và BCD ta làm như ví dụ minh họa sau đây:
Ví dụ 1: Ðổi 48910 sang mã BCD
Ví dụ 2: Đổi 53710 sang mã BCD
Ví dụ 23: Đổi 00110100100101012 (BCD) sang số thập phân
11
1.2.1.2 So sánh BCD và số nhị phân
Điều quan trọng là phải nhận ra rằng BCD không phải là hệ thống số như hệ thống
số thập phân, nhị phân, bát phân và thập lục phân. Thật ra, BCD là hệ thập phân
với từng ký số được mã hóa thành giá trị nhị phân tương đương. Cũng phải hiểu
rằng một số BCD không phải là số nhị phân quy ước. Mã nhị phân quy ước biểu
diễn số thập phân hoàn chỉnh ở dạng nhị phân; Còn mã BCD chỉ chuyển đổi từng
ký số thập phân sang số nhị phân tương ứng.
Mã BCD cần nhiều bit hơn để biểu diễn các số thập phân nhiều ký số (2 ký số trở
lên. Điều này là do mã BCD không sử dụng tất cả các nhóm 4 bit có thể có, vì vậy
có phần kém hiệu quả hơn.
Ưu điểm của mã BCD là dể dàng chuyển đổi từ thập phân sang nhị phân và ngược
lại. Chỉ cần nhớ các nhóm mã 4 bit ứng với các ký số thập phân từ 0 đến 9.
Phối hợp các hệ thống số
Các hệ thống số đã trình bày có mối tương quan như bảng sau đây:
1.2.1.3 CỘNG BCD
Khi tổng nhỏ hơn hoặc bằng 9 thì ta thực hiện phép cộng BCD như cộng nhị phân
bình thường.
Ví dụ: xét phép cộng 6 và 2, dùng mã BCD biểu diễn mối ký số
12
một ví dụ khác, cộng 45 với 33
Tổng lớn hơn 9
ta xét phép cộng 5 và 8 ở dạng BCD:
Tổng của phép cộng ở trên là 1101 không tồn tại trong mã BCD. Điều này xảy ra
do tổng của hai ký số vượt quá 9. Trong trường hợp này ta phải hiệu chỉnh bằng
cách cộng thêm 6 (0110) vào nhằm tính đến việc bỏ qua 6 nhóm mã không hợp lệ.
Ví dụ:
Một ví dụ khác:
13
1.2.2 Mã ASCII
Mã chữ số được sử dụng rộng rãi nhất hiện nay là mã ASCII (American Standard
Code for Information Interchange). Mã ASCII là mã 7 bit, nên có 27 = 128 nhóm
mã, đủ để biểu thị tất cả ký tự của một bàn phím chuẩn cũng như các chức năng
điều khiển. Bảng dưới đây minh họa một phần danh sách mã ASCII.
Ký tự Mã ASCII 7 bit Bát phân Thập phân
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
100 0001`
100 0010
100 0011
100 0100
100 0101
100 0110
100 0111
100 1000
100 1001
100 1010
100 1011
100 1100
100 1101
100 1110
100 1111
101 0000
101 0001
101
102
103
104
105
106
107
110
111
112
113
114
115
116
117
120
121
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
51
14
R
S
T
U
V
W
X
Y
Z
0
1
2
3
4
5
6
7
8
9
<ký tự riêng>
.
(
+
$
*
)
_
/
,
=
<RETURN>
101 0010
101 0011
101 0100
101 0101
101 0110
101 0111
101 1000
101 1001
101 1010
011 0000
011 0001
011 0010
011 0011
011 0100
011 0101
011 0110
011 0111
011 1000
011 1001
010 0000
010 1110
010 1000
010 1011
010 0100
010 1010
010 1001
010 1101
010 1111
010 1100
010 1101
000 1101
122
123
124
125
126
127
130
131
132
060
061
062
063
064
065
066
067
070
071
040
056
050
053
044
052
051
055
057
054
075
015
52
53
54
55
56
57
58
59
5A
30
31
32
33
34
35
36
37
30
39
20
2E
28
2B
24
2A
29
2D
2F
2C
2D
0D
15
<LINEFEED> 000 1010 012 0A
1.2.3 MÃ THỪA 3 (Excess – 3 code)
Bảng dưới đây cho biết mã số thừa 3 ứng với số thập phân từ 0 đến 9. Để chuyển
đổi số thập phân sang mã thứa 3 trước tiên ta thêm 3 vào số thập phân đó rồi
chuyển sang nhị phân bình thường.
Ví dụ:
210 2 + 3 = 510 = 0101
510 5 + 3 = 810 = 1000
Do cách viết số thập phân ra mã thừa 3 tương tự như cách viết số thập phân ra mã
BCD đã nói ở trước, nên người ta có thể hiểu mã thừa 3 là một dạng của mã BCD.
Để dể phân biệt mã BCD đã nói đến ở phần trước được gọi là mã BCD 8421.
1.2.4 MÃ GRAY
Bảng dưới đây trình bày mã số Gray cùng với mã số nhị phân và thập phân từ 0
đến 15. Mã Gray được chọn sao cho chỉ thay đổi một vị trí bit giữa hai mã kế nhau.
16
1.2.5 THÊM BIT CHẴN LẺ ĐỂ PHÁT HIỆN SAI
Tín hiệu biểu thị số nhị phân truyền từ mạch này sang mạch khác, và nhất là
truyền đi xa bị méo dạng và nhiễm nhiễu khiến số nhị phân nhận được có thể sai
so với số cần truyền. Để khắc phục hiện tượng này người ta thêm vào mã ASCII 7
bit một bit chẳn lẻ (Parity bit) ở vị trí có nghĩa cao nhất (bên trái) để có dữ liệu 8
bit (1 bit chẵn lẻ, 7 bit dữ liệu gốc). Ở cách dùng lẻ (Odd parity) thì bit parity thay
đổi để làm cho tổng số bít 1 trong byte là lẻ. Ví dụ:
Ở cách dùng chẵn (Even parity) thì bit parity thay đổi để cho tổng số bit 1 trong
byte là chẵn. Ví dụ:
17
Bằng các thuật toán, các mạch số sẽ đếm tổng số bit cùng loại trong byte nhận
được để xử lý, nếu dữ liệu xử lý không khớp với qui ước về bit chẵn lẻ, số đó sẽ
được mạch nhận biết là số bị sai.
1.3 CHUYỂN ĐỔI GIỮA CÁC HỆ THỐNG SỐ
1.3.1 ĐỔI TỪ NHỊ PHÂN SANG THẬP PHÂN
Mỗi ký số nhị phân (bit) có một trọng số dựa trên vị trí của nó. Bất kỳ số nhị phân
nào cũng đều có thể đổi thành số thập phân tương đương bằng cách cộng các
trọng số tại những vị trí có bit 1.
Để hiểu rõ hơn ta xét một vài ví dụ sau đây:
1.3.2 ĐỔI TỪ THẬP PHÂN SANG NHỊ PHÂN
Có hai cách chuyển đổi một số thập phân sang nhị phân tương đương.
Phương pháp thứ nhất là cách đi ngược lại quá trình đổi nhị phân sang thập
phân, đó là : số thập phân được trình bày dưới dạng tổng các lũy thừa của 2, sau
đó ghi các kí số 0 và 1 vào vị trí bit tương ứng.
18
Cách thứ hai giúp chuyển đổi từ số thập phân nguyên sang nhị phân là dùng
phương pháp lặp lại phép chia cho 2. Ví dụ, với một số thập phân 27 ta thực hiện
phép chia số này cho 2 và ghi lại số dư sau mỗi lần chia cho đến khi thu được
thương số bằng 0, và kết quả nhị phân hình thành bằng cách viết số dư đầu tiên là
LSB và số dư cuối cùng là MSB.
19
Quá trình chuyển đổi bằng phương pháp này được minh họa bằng lưu đồ sau đây:
20
Lưu đồ trên biểu diển phương pháp lặp lại phép chia để chuyển đổi số nguyên
thập phân sang nhị phân. Phương pháp này cũng được sử dụng để chuyển đổi số
nguyên thập phân sang bất ký hệ thống số nào khác.
1.3.3 ĐỔI TỪ BÁT PHÂN SANG THẬP PHÂN
Ta dể dàng đổi số bát phân sang thập phân tương đương bằng cách nhân từng ký
số bát phân với trọng số của nó, rồi cộng kết quả với nhau.
Ví dụ 7: Đổi số bát phân 4708 thành số thập phân
4758 = 4x(82) + 7x(81) + 5x(80)
= 4x64 + 7x8 + 5x1
= 31710
Ví dụ 8: Đổi số bát phân 34.6 thành số thập phân
34.68 = 3x(81) + 4x(80) + 6x(8-1)
= 24 + 4 + 0.75
= 28.7510
21
1.3.4 ĐỔI TỪ THẬP PHÂN SANG BÁT PHÂN
Có thể dùng phương pháp lặp lại phép chia để đổi một số nguyên thập phân sang
bát phân tương đương, với số chia là 8.
Ví dụ 9: Đổi số thập phân 36510 thành số bát phân tương đương
Chú ý một điều là: số dư đầu tiên là số có giá trị nhỏ nhất (LSB) của số bát phân,
số dư cuối cùng là số có giá trị lớn nhất (MSB) của số bát phân.
1.3.5 ĐỔI TỪ BÁT PHÂN SANG NHỊ PHÂN
Phép đổi từ bát phân sang nhị phân đuợc thực hiện bằng cách đổi từng ký số bát
phân sang số nhị phân 3 bit tương đương. Tám ký số bát phân được đổi như bảng
sau đây:
Ví dụ 10:
Đổi số 3468 sang nhị phân
Như vậy số bát phân 3468 tương đương với số nhị phân 0111001102
Đổi số 324710 sang nhị phân
22
Như vậy số bát phân 32478 tương đương với số nhị phân: 0110101001112
1.3.6 ĐỔI TỪ NHỊ PHÂN SANG BÁT PHÂN
Đổi từ số nguyên nhị phân sang bát phân được thực hiêïn ngược lại với quá trình
đổi từ bát phân sang nhị phân. Các bit của số nhị phân được nhóm thành từng
nhóm 3 bit, bắt đầu từ LSB. Sau đó mỗi nhóm được đổi sang số bát phân tương
đương.
Ví dụ 11: đổi số nhị phân 1001101102 thành số bát phân
Như vậy số nhị phân 1001101102 tương đương với số bát phân 4668
khi không đủ 3 bit cho nhóm còn lại, trường hợp này ta sẽ thêm một hoặc
hai bit 0 vào bên trái MSB của số nhị phân để đủ cho nhóm sau cùng.
Ví dụ 14: đổi số 110111012 thành số bát phân
Cách đếm trong hệ bát phân: trong hệ bát phân ký số lớn nhất là 7 vì vậy trong
cách đếm bát phân, vị trí ký số tăng từ 0 đến 7, tiếp đó ta lặp lại từ 0 cho đến
vòng kế tiếp và tăng vị trí ký số lên 1.
23
Như vậy với N vị trí số bát phân thì ta có thể đếm từ 0 đến 8N – 1, tổng cộng có 8N
số đếm khác nhau. Ví dụ: với 4 vị trí ký số bát phân ta có thể đếm từ 00008 đến
77778.
1.3.7 ĐỔI TỪ THẬP LỤC PHÂN SANG THẬP PHÂN
Một số thập lục phân có thể được đổi thành số thập phân tương đương dựa vào dữ
liệu mỗi vị trí ký số thập lục phân có trọng số là lũy thừa 16. LSD có trọng số là
160, ký số thập lục phân ở vị trí tiếp theo có số mũ tăng lên. Quá trình chuyển đổi
như sau:
Ví dụ ta đổi một số thập lục phân 45616 sang số thập phân tương đương ta làm như
sau:
45616 = 4x162 + 5x161 + 6x160
= 4x256 + 5x16 + 6x1
= 1024 + 80 + 6
= 111010
Một ví dụ khác đổi số thập lục phân 4BE16 thành số thập phân tương đương
4BE16 = 4x162 + 11x161 + 14x160
= 1024 + 176 + 14
= 121410
Chú ý, trong ví dụ thứ 2 thay 11 vào B và 14 vào E khi đổi sang thập phân.
Theo cách chuyển đổi như 2 ví dụ trên thì ta có thể đổi bất kỳ một số thập lục
phân sang thập phân tương đương.
1.3.8 ĐỔI TỪ THẬP PHÂN SANG THẬP LỤC PHÂN
24
Tương tự như cách đổi từ thập phân sang nhị phân hay bát thân, khi đổi từ thập
phân sang thập lục phân ta cũng dùng cách lặp lại phép chia cho 16 và lấy số dư
như trước.
Ví dụ 15: đổi số 76510 thành số thập lục phân.
Ta thực hiện phép chia, ta được:
Ví dụ 16: Đổi 72410 thành số thập lục phân
Chúng ta nên nhớ rằng bất kỳ một số dư nào trong phép chia lớn hơn 9 đều được
biểu diễn bởi các chữ từ A đến F khi đổi sang số thập lục phân.
1.3.9 ĐỔI TỪ THẬP LỤC PHÂN SANG NHỊ PHÂN
Cách đổi từ số thập lục phân sang số nhị phân cũng giống như đổi từ bát phân
sang nhị phân, nghĩa là mỗi ký số thập lục phân được đổi sang giá trị nhị phân 4
bit tương đương.
Ví dụ17: Đổi số 8D216
25
1.3.10 ĐỔI TỪ NHỊ PHÂN SANG THẬP LỤC PHÂN
Để đổi từ số nhị phân sang thập lục phân ta làm ngược lại cách đổi từ thập lục
phân sang nhị phân. Nghĩa là ta nhóm thành từng nhóm 4 bit, mỗi nhóm được đổi
sang ký số thập lục phân tương đương. Số 0 có thể được thêm vào để hoàn chỉnh 4
bit cuối cùng.
Ví dụ18: Đổi số 110011011012 thành số thập lục phân
Ví dụ 19: Đổi số 10101001112 thành số thập lục phân
TÓM TẮT CÁC PHÉP CHUYỂN ĐỔI GIỮA CÁC HỆ THỐNG SỐ:
Khi thực hiện phép biến đổi từ hệ nhị phân (hoặc bát phân hay thập lục phân),
ta lấy tổng trọng số của từng vị trí ký số.
Khi đổi từ hệ thập phân sang hệ nhị phân (bát phân hay thập lục phân), ta áp
dụng phương pháp lặp lại phép chia cho 2 (8 hay 16) và kết hợp các số dư.
Khi đổi từ số nhị phân sang bát phân (hay thập lục phân), ta nhóm các bit thành
từng nhóm 3 (hoặc 4) bit và đổi từng nhóm này sang ký số bát phân (hay thập lục
phân) tương đương.
26
Khi đổi từ số bát phân (hay thập lục phân) sang nhị phân, ta đổi mỗi ký tự thành
số nhị phân 3 (hoặc 4) bit tương đương.
Khi đổi từ số bát phân sang thập lục phân (hay ngược lại), ta đổi sang nhị phân
trước, sau đó đổi sang hệ thống số mong muốn.
1.4 TÍNH TOÁN VỚI HỆ THỐNG SỐ
1.4.1 .CỘNG SỐ HEX (THẬP LỤC PHÂN)
Phép cộng số hex được thực hiện giống như cộng thập phân. Sau đây là cách
thức để cộng số hex:
Cộng hai ký số hex trong hệ thập phân, tính nhẫm giá trị thập phân tương đương
cho những ký số lớn hơn 9
Nếu tổng nhỏ hơn hoặc bằng 15, có thể biểu diễn trực tiếp ở dạng ký số hex
Nếu tổng lớn hơn hoặc bằng 16, trừ 16 và nhớ 1 đến vị trí ký số kế tiếp.
Sau đây là một số ví dụ cộng các số hex minh họa
Ở ví dụ 1 ta cộng các LSD (7 và 4) cho ra 11, là B ở hệ hex. Không có số nhớ, cộng
5 và 3 cho ra 8.
Ở ví dụ 2 ta bắt đầu cộng 8 và A, tính nhẫm A ra giá trị thập phân là 10 . Do đó
tổng là 18, số này lớn hơn 16 nên ta trừ cho 16 được 2, viết số 2 và nhớ 1 sang vị
trí kế tiếp. Cộng số nhớ cho 4 và 3 ta được tổng là 8.
Ở ví dụ 3 tổng của C và D xem như 12 + 13 = 2510, số này lớn hơn 16 nên ta trừ
cho 16 còn 9, và nhớ 1 sang vị trí kế tiếp. Cộng số nhớ này với B và 3 ta được 1510
đổi sang số hex là F , nhớ 1 sang vị trí kế tiếp. Cộng số nhớ này với 4 và 4 ta được
9, và kết quả cuối cùng là 9F9.
1.4.2 CỘNG NHỊ PHÂN
Phép cộng hai số nhị phân được tiến hành giống như cộng số thập phân. Các bước
của phép cộng nhị phân được áp dụng cho số nhị phân. Tuy nhiên, chỉ có bốn
trường hợp có thể xảy ra trong phép cộng hai số nhị phân (bit) tại vị trí bất kỳ. Đó
là:
27
Dưới đây là một vài ví dụ về cộng hai số nhị phân (số thập phân tương đương
trong dấu ngoặc):
Phép cộng là phép toán số học quan trọng nhất trong hệ thống kỹ thuật số. Như
ta sẽ thấy, các phép trừ, nhân và chia được thực hiện ở hầu hết máy vi tính và máy
tính bấm tay hiện đại nhất thực ra chỉ dùng phép cộng làm phép toán cơ bản của
chúng.
1.4.3 TRỪ NHỊ PHÂN
Trong phép trừ nếu số trừ nhỏ hơn số trừ, cụ thể là khi 0 trừ 1, thì phải mượn 1 ở
hàng cao kế và là 2 ở ở hàng đang trừ và số mượn này phải trả lại cho hàng cao kế
tương tự như phép trừ của hai số thập phân.
Ví dụ 1: trường hợp trừ hai số nhị phân 1 bit
Ví dụ 2: Trừ hai số nhị phân nhiều bit
28
1.4.4 BIỂU DIỄN CÁC SỐ CÓ DẤU
Do đa số máy tính xử lý cả số âm lẫn số dương nên cần có dấu hiệu nào đó để biểu
thị dấu của số ( + hay - ). Thường thì người ta thêm vào một bit phụ gọi là bit dấu.
Thông thường chấp nhận bit 0 là bit dấu biểu thị số dương, bit 1 là bit dấu biểu thị
số âm.
Dạng bù 1
Để có bù 1 của số nhị phân, ta thay mỗi bit 0 thành bit 1 và mỗi bit 1 thành bit 0.
Nói cách khác, ta thay đỗi mỗi bit trong số nhị phân đã cho thành bit bù (đảo)
tương ứng.
Ví dụ :
Dạng bù 2
Bù 2 của một số nhị phân được hình thành bằng cách lấy bù 1 của số và cộng 1
vào vị trí nhỏ nhất.
Ví dụ 3: Tìm dạng bù 2 của số 1101012 = 5310
Ví dụ 4:
Biểu diễn số có dấu bằng bù 2
Bù 2 biểu diễn những số có dấu theo cách sau đây:
29
Nếu là số dương, thì trị tuyệt đối được biểu diễn theo dạng nhị phân thực sự của
nó, và bit dấu là 0 được đặt vào trước MSB.
Nếu là số âm, trị tuyệt đối được biểu diễn ở dạng bù 2, và bit dấu là 1 được đặt
trước MSB.
Ví dụ minh họa:
Các phép tính trong bù 2 tương tự như phép tính số nhị phân bình thường.
1.4.5 NHÂN NHỊ PHÂN
Phép nhân số nhị phân được thực hiện tương tự như nhân số thập phân. Quá trình
thật ra đơn giản hơn vì ký số của số nhân chỉ là 0 và 1, vì vậy ta chỉ nhân cho 0
hay 1.
Ví dụ:
1.4.6 CHIA SỐ NHỊ PHÂN
30
Phép chia một số nhị phân (số bị chia) cho một số khác (số chia) được thực hiện
giống như phép chia số thập phân. Tiến trình thức tế còn đơn giản hơn do khi kiểm
tra xem có bao nhiêu lần số chia “ đi vào” số bị chia, chỉ có hai khả năng đó là 0
và 1. Quá trình chia được minh họa bằng ví dụ sau:
Trong ví dụ đầu tiên ta có 10012 chia cho 112, tương đương 910 chia cho 310
Thương số là 00112 = 310. Trong ví dụ thứ 2, 10102 chia cho 1002 tức là 1010 chia
cho 410 kết quả là 0010.12 = 2.510
Phép chia số có dấu được thực hiện như phép nhân. Số âm được biến thành số
dương bằng phép bù, sau đó mới thực hiện phép chia. Nếu số bị chia và số chia có
dấu ngược nhau, thương số đổi sang số âm bằng cách lấy bù 2 nó và gán bit dấu là
1. Nếu số bị chia và số chia cùng dấu, thương số sẽ là số dương và được gán bit
dấu là 0.
Bài 2:ĐẠI SỐ BOOLE VÀ ỨNG DỤNG
Trang 1
2.1 THIẾT KẾ BIỂU THỨC LOGIC
2.1.1 CÁC PHÉP TOÁN Ở ĐẠI SỐ BOOLE
Bởi vì các đại lượng chỉ có hai trạng thái nên đại số Boole rất khác đại số thường
và dễ tính toán hơn. Ở đại số Boole không có phân số, số thập phân, số ảo, số
phức, căn số… mà chỉ thực hiện chủ yếu 3 phép tính toán cơ bản sau:
Phép OR
Phép AND
Phép phủ định NOT
Các phép tính trên khi áp dụng cho logic 0 và 1:
31
2.1.2 THIẾT LẬP BIỂU THỨC LOGIC
Lập hàm logic cho từng cổng ta đã biết cho bất cứ kết nối nào của các cổng. Từ
biểu thức biết được ta có thể tính logic ra tương ứng với mỗt tổ hợp logic vào, và
lập bảng sự thật của các ngõ vào (biến số) và ngõ ra (hàm). Để tính logic ra tương
ứng với một tổ hợp logic và ta thường là tính thẳng trên mạch.
Ví dụ:
Ví dụ với mạch trên với 4 ngõ vào nên ta có tổng cộng 16 tổ hợp vào nên ta phải
tính 16 trạng thái ra khác nhau mới lập được bảng sự thật (Truth Table).
2.1.3 THỰC HIỆN MẠCH TỪ BIỂU THỨC LOGIC
Ngược lại với viết biểu thức từ mạch là thực hiện mạch từ biểu thức logic. Ví dụ
cho biểu thức logic cho là: nhìn vào biểu thức ta thấy ngõ ra là
OR của 3 số hạng nên ta thực hiện mỗi số hạng Y trước. Với số hạng đầu ta dùng
AND, số hạng thứ 2 ta ĐẢO C sau đó AND với B, số hạng thứ 3 ta cũng thực hiện
tương tự , sau cùng ta OR 3 ba số hạng lại.
32
2.2 CÁC ĐỊNH LÝ ĐẠI SỐ BOOLE
Một biến số
Giao hoán
Phối hợp
Phân phối
33
Một số đẳng thức hữu dụng
Định lý De Morgan
Các định lý của đại số Boole được chứng minh hay kiểm chứng bằng nhiều cách.
Các cách chứng minh hay kiểm chứng này tương đối đơn giản, người đọc có thể tự
chứng minh hay kiểm chứng.
Ví dụ 1: Thiết kế mạch dùng hai cổng logic thỏa bảng sự thật sau đây
Giải: Vì ngõ ra bằng 0 chỉ một trường hợp nên ta viết hệ thức logic ở trường hợp
này. Y= 0 khi A= 0 VÀ B = 1 nên . Để có Y ta đảo , nên . Mạch
thực hiện cổng NOT để tạo ra A đảo, tiếp theo là cổng NAND của và B (hình
1.30a)
34
Mặt khác ta có thể dựa vào bảng sự thật dể viết hàm logic cho Y và kết quả là:
sử dụng các định lý của đại số Boole ta biến đổi và được kết quả
cuối cùng là (hình 1.30b).
Ví dụ 2: Chứng tỏ .
Giải:
Vận dụng các công thức ta dể dang biến đổi được:
Một cách chứng minh khác là ta có thể dùng bảng sự thật để chứng minh biểu thức
trên.
2.3 SỰ CHUYỂN ĐỔI GIỮA CÁC LOẠI CỔNG LOGIC
Các cổng logic có thể chuyển dổi qua lại lẫn nhau từ cổng này thành cổng khác. Để
thuận tiện cho việc thiết kế mạch logic nên phải chuyển đổi giữa các cổng với
nhau, chủ yếu là chuyển đổi AND thành OR và ngược lại, chuyển đổi AND – OR
thành NAND – NAND. Đa số các bài toán thiết kế logic đều yêu cầu sử dụng cổng
NAND(việc chế tạo cổng NAND đơn giản hơn các cổng khác). Để thuận lợi cho việc
chuyển đổi cần phải nắm vững các định lý của đại số Boole và đặc biệt là định lý
De Morgan.
Sau đây là một số chuyển đổi giữa các cổng với nhau:
35
36
2.4 ÁP DỤNG CÁC ĐỊNH LÝ ĐẠI SỐ BOOLE ĐỂ RÚT GỌN BIỂU THỨC LOGIC
Các định lý Boole giúp đơn giản các biểu thức logic. Việc đơn giản là cần thiết để
mạch thiết kế thực hiện đơn giản và kinh tế hơn. Rút gọn biểu thức là vận dụng
các định lý từ hàm một biến cho đến hàm nhiều biến và những đẳng thức hữu
dụng. Đặt biệt là hai định lý De Morgan giúp ích cho rất nhiều trong việc rút gọn
biểu thức logic và cũng là công cụ chính để chuyển đổi các dạng mạch. Để việc rút
gọn biểu thức logic và chuyển đổi mạch dể dàng cần phải nắm vững các định lý
của đại số Boole và phải thông thạo chuyển đổi giữa các cổng logic.
Ví dụ 3: Rút gọn các biểu thức sau:
Ví dụ 4: Đơn giản hàm
Giải:
37
Ngoài việc rút gọn biểu thức logic bằng đại số boole, còn sử dụng đại số boole để
đơn giản mạch logic. Để đơn giản mạch logic ta làm các bước sau:
- Từ mạch logic xác định biểu thức cho ngõ ra của mạch
- Sau khi xác định được hàm ngõ ra, tiến hành rút gọn biểu thức bằng cách dùng
các định lý của đại số boole, đặc biệt là sử dụng định lý De Morgan.
- Sau khi được biểu thức mới, chúng ta có được mạch logic mới tương đương với
mạch logic đã cho.
Ví dụ 5: Đơn giản mạch ở hình 1.32 (a)
Giải:
Trước tiên ta viết biểu thức logic cho ngõ ra:
Rút gọn biểu thức ta được:
38
Từ biểu thức vừa rút gọn được ta thành lập được mạch logic mới như hình 1.32b.
Bài 2:ĐẠI SỐ BOOLE VÀ ỨNG DỤNG
Trang 2
2.5 THIẾT KẾ LOGIC TỔ HỢP
Khi làm một bài toán thiết kế logic tổ hợp ta cần thực hiện đúng các bước sau đây:
Bước 1: Dựa vào yêu cầu của bài toán đặt ra, chúng ta đặt các biến cho ngõ vào
và các hàm của ngõ ra tương ứng.
Bước 2: Thiết lập bảng sự thật cho ngõ ra và ngõ vào theo yêu cầu của bài toán
Bước 3: Từ bảng sự thật viết ra biểu thức mô tả sự liên hệ logic giữa ngõ ra và
các ngõ vào.
Có hai cách viết biểu thức logic cho ngõ ra, hoặc cho trường hợp logic ra bằng 1,
hoặc cho trường hợp logic bằng 0 (hai trường hợp này là tương đương nhau).
Cách viết biểu thức thường ở dạng tổng-các-tích và tích-các-tổng.
Bước 4: Áp dụng các định lý của đại số boole để rút gọn biểu thức logic ngõ ra.
Sau đó chuyển sang dạng logic khác để thuận lợi hơn cho việc thực hiện mạch
logic.
Bước 5: Từ biểu thức logic rút gọn được ta chuyển sang mạch logic tương ứng.
Ví dụ 6:
Một ngôi nhà có 3 công tắc, người chủ nhà muốn bóng đèn sáng khi cả 3 công tắc
đều hở, hoặc khi công tắc 1 và 2 đóng còn công tắc thứ 3 hở. Hãy thiết kế mạch
logic thực hiện sao cho:
a. Số cổng là ít nhất.
b. Chỉ dùng một cổng NAND 2 ngõ vào.
Giải:
Bước 1:
Gọi 3 công tắc lần lượt là A, B, C. Bóng đèn là Y.
39
Trạng thái công tắc đóng là logic 1, hở là 0. Trạng thái đèn sáng là logic 1 và tắt là
0.
Bước 2:
Từ yêu cầu bài toán ta có bảng sự thật:
Bước 3: Từ bảng sự thật,ta viết biểu thức ngõ ra theo trường hợp logic 1 vì ngõ ra
ở logic 1 xuất hiện ít nhất, như vậy biểu thức tính toán sẽ đơn giản hơn nhiều.
Biểu thức logic ngõ ra
Nếu không rút gọn biểu thức logic ta thực hiện mạch logic thì số cổng logic sử
dụng sẽ rất nhiều hình 1.33 (b).
Bước 4: Rút gọn biểu thức logic:
Đến đây thì ta thấy rằng biểu thức logic đã gọn và số cổng logic sử dụng là ít nhất.
Bước 5: Mạch logic tương ứng của biểu thức: hình 1.33 a
40
b. biến đổi mạch logic chỉ sử dụng một loại cổng NAND 2 ngõ vào.
Xuất phát từ biểu thức ban đầu, ta sử dụng định lý De Morgan để biến đổi.
Lấy đảo của Y ta được:
Không khai triển vì đã là một cổng NAND. Biểu thức còn ở dạng tổng nên ta
đảo một lần nữa, ta được:
Đến đây ta thấy rằng thừa số trong ngoặc chưa NAND được với C nên ta cần đảo
hai lần nữa để được kết quả tất cả đều là cổng NAND 2 ngõ vào:
Từ biểu thức trên ta có sơ đồ mạch logic hình 1.34
41
2.6 Ý NGHĨA CỦA KÝ HIỆU LOGIC.
Mạch logic (mạch số) nhận dữ liệu ở các ngõ vào và xuất dữ liệu ở ngõ ra. Dữ liệu
là tín hiệu nhị phân chỉ gồm hai mức: mức cao (logic 1) hoặc mức thấp (logic 0). Để
thuận lợi cho việc thiết kế mạch logic.
Khi không có vòng tròn nhỏ ở đường vào hay đường ra trên ký hiệu mạch logic,
đường đó gọi là kích hoạt (tích cực) ở mức cao (active-HIGH). Còn nếu có vòng tròn
nhỏ ở đường vào hay đường ra, đường đó gọi là kích hoạt ở mức thấp (active-
LOW). Sự có mặt hay vắng mặt của vòng tròn sẽ quyết định trạng thái kích hoạt ở
mức cao/kích hoạt ở mức thấp của đầu ra hay đầu vào, nó cũng được dùng để giải
thích hoạt động của mạch.
Sau đây là minh họa bằng cổng NAND (hình 1.35).
42
Trên ký hiệu này (hình 1.35 (a)) có vòng tròn ở đầu ra, nhưng không có vòng tròn
ở đầu vào. Vì vậy đầu ra tích cực ở mức thấp và đầu vào kích hoạt ở mức cao.
Trên ký hiệu hình 1.35 (b) có đầu ra kích hoạt ở mức cao và các đầu vào kích hoạt
ở mức thấp.
Vì sao chúng ta phải tìm hiểu ý nghĩa của ký hiệu logic? Lý do là chúng ta sẽ sử
dụng ký hiệu thay thế này để biểu vẽ và phân tích logic theo dạng tác động kích
hoạt và cách thay thế ký hiệu logic như sau:
Để có ký hiệu thay thế cho một cổng logic, ta hãy lấy ký hiệu chuẩn rồi thay đổi ký
hiệu đại số của nó (OR thành AND, hoặc AND thành OR ), và đổi vòng tròn trên cả
hai đầu vào lẫn đầu ra.
Để giải thích hoạt động của một cổng logic, ta cần chú ý trạng thái logic nào, 0
hay 1, là trạng thái kích hoạt của đầu vào và đầu ra.
Ví du 7:
Cho ngõ ra của mạch như hình 1.36 a, vẽ lại mạch để mô tả ngõ ra tác động ở mức
thấp.
Giải: Vì ngõ ra tác động mức thấp nên thêm vòng tròn phủ định. Do đó đổi OR
thành AND với các vòng tròn phủ định ở ngõ vào. Theo quy luật ta thêm vòng tròn
phủ định cho ngõ ra của cổng OR và NAND còn cổng NOT thì không vì đã có vòng
tròn phủ định. Tiếp theo chuyển đổi cổng OR và NAND để đảm bảo logic (hình 1.36
b).
Bài 3:VI MẠCH SỐ HỌ TTLTrang 1
Trước khi đi vào cấu trúc của mạch TTL cơ bản, xét một số mạch điện cũng có khả
năng thực hiện chức năng logic như các cổng logic trong vi mạch TTL:
43
Mạch ở hình 1.46 hoạt động như một cổng AND. Thật vậy, chỉ khi cả hai đầu A và B
đều nối với nguồn, tức là để mức cao, thì cả hai diode sẽ ngắt, do đó áp đầu ra Y
sẽ phải ở mức cao. Ngược lại, khi có bất cứ một đầu vào nào ở thấp thì sẽ có diode
dẫn, áp trên diode còn 0,6 hay 0,7V do đó ngõ ra Y sẽ ở mức thấp.
Tiếp theo là một mạch thực hiện chức năng của một cổng logic bằng cách sử dụng
trạng thái ngắt dẫn của transistor (hình 1.47).
Hai ngõ vào là A và B, ngõ ra là Y.
Phân cực từ hai đầu A, B để Q hoạt động ở trạng thái ngắt và dẫn bão hoà
Cho A = 0, B = 0 Q ngắt, Y = 1
A = 0, B = 1 Q dẫn bão hoà, Y = 0
A = 1, B = 0 Q dẫn bão hoà, Y = 0
A = 1, B = 1 Q dẫn bão hoà, Y = 0
Có thể tóm tắt lại hoạt động của mạch qua bảng dưới đây
44
Nghiệm lại thấy mạch thực hiện chức năng như một cổng logic NOR
Vì có cấu tạo ở ngõ vào là điện trở, ngõ ra là transistor nên mạch NOR trên được
xếp vào dạng mạch RTL
Với hình trên, nếu mạch chỉ có một ngõ vào A thì khi này sẽ có cổng NOT, còn khi
thêm một tầng transistor trước ngõ ra thì sẽ có cổng OR
Bây giờ để có cổng logic loại DTL, ta thay hai R bằng hai diode ở ngõ vào (hình
1.48)
Khi A ở thấp, B ở thấp hay cả 2 ở thấp thì diode dẫn làm transistor ngắt do đó ngõ
ra Y ở cao.
Khi A và B ở cao thì cả hai diode ngắt => Q dẫn => y ra ở thấp
Rõ ràng đây là 1 cổng NAND dạng DTL (diode ở đầu vào và transistor ở đầu ra)
Các mạch RTL, DTL ở trên đều có khả năng thực hiện chức năng logic nhưng chỉ
được sử dụng ở dạng đơn lẻ không được tích hợp thành IC chuyên dùng bởi vì
ngoài chức năng logic cần phải đảm bảo người ta còn quan tâm tới các yếu tố khác
như :
Tốc độ chuyển mạch (mạch chuyển mạch nhanh và hoạt động được ở tần số cao
không).
Tổn hao năng lượng khi mạch hoạt động (mạch nóng, tiêu tán mất năng lượng
dưới dạng nhiệt).
Khả năng giao tiếp và thúc tải, thúc mạch khác.
Khả năng chống các loại nhiễu không mong muốn xâm nhập vào mạch, làm sai
mức logic.
Chính vì thế mạch TTL đã ra đời, thay thế cho các mạch loại RTL, DTL. Mạch TTL
ngoài transistor ngõ ra như ở các mạch trước thì nó còn sử dụng cả các transistor
đầu vào, thêm một số cách nối đặc biệt khác, nhờ đó đã đảm bảo được nhiều yếu
tố đã đề ra. Hình 1.49 là cấu trúc của một mạch logic TTL cơ bản :
45
Mạch này hoạt động như một cổng NAND.
Hai ngõ vào là A và B được đặt ở cực phát của transistor Q1 (đây là transistor có
nhiều cực phát có cấu trúc mạch tương đương như hình bên )
Hai diode mắc ngược từ 2 ngõ vào xuống mass dùng để giới hạn xung âm ngõ vào,
nếu có, giúp bảo vệ các mối nối BE của Q1
Ngõ ra của cổng NAND được lấy ra ở giữa 2 transistor Q3 và Q4, sau diode D0
Q4 và D0 được thêm vào để hạn dòng cho Q3 khi nó dẫn bão hoà đồng thời giảm
mất mát năng lượng toả ra trên R4 (trường hợp không có Q4,D0) khi Q3 dẫn.
Điận áp cấp cho mạch này cũng như các mạch TTL khác thường luôn chuẩn là 5V
Mạch hoạt động như sau :
Khi A ở thấp, B ở thấp hay cả A và B ở thấp Q1 dẫn điện; phân cực mạch để áp sụt
trên Q1 nhỏ sao cho Q2 không đủ dẫn; kéo theo Q3 ngắt.
Như vậy nếu có tải ở ngoài thì dòng sẽ đi qua Q4, D0 ra tải xuống mass. Dòng này
gọi là dòng ra mức cao kí hiệu là IOH
Giả sử tải là một điện trở 3k9 thì dòng là:
Khi cả A và B đều ở cao, nên không thể có dòng ra A và B được, dòng từ nguồn Vcc
sẽ qua R1, mối nối BC của Q1 thúc vào cực B làm Q2 dẫn bão hòa.
46
Nếu mắc tải từ nguồn Vcc tới ngõ ra Y thì dòng sẽ đổ qua tải, qua Q3 làm nó dẫn
bão hoà luôn. Ngõ ra sẽ ở mức thấp vì áp ra chính là áp VCE của Q3 khoảng 0,2
đến 0,5V tuỳ dòng qua tải. Khi này ta có dòng ra mức thấp kí hiệu là IOL. Sở dĩ gọi
là dòng ra vì dòng sinh ra khi cổng logic ở mức thấp (mặc dù dòng này là dòng
chảy vào trong cổng logic)
Ví dụ nếu tải là 470 ohm thì dòng IOL khi này là:
Vậy mạch logic ở trên có chức năng hoạt động như 1 cổng NAND 2 ngõ vào
Nếu để hở hai ngõ vào A và B thì Q1 vẫn ngắt, Q2 vẫn dẫn, kéo theo Q3 dẫn khi có
tải ngoài tức là ngõ ra Y vẫn ở cao, do đó giống như trường hợp ngõ A và B nối lên
mức cao.
Nếu A và B nối chung với nhau hay Q1 chỉ có 1 cực phát thì mạch NAND chuyển
thành mạch NOT
Việc sắp xếp thứ tự Rc, Q4, D0, Q3 thành hình cột giống như hình cột chạm-totem
pole-hình tổ vật của người Mĩ da đỏ nên dạng mạch này được gọi là mạch logic ngõ
ra cột chạm, cấu trúc của các loại cổng logic khác như and, or, exor cũng giống
như vậy. Tuy vậy ta cũng sẽ gặp các mạch logic có ngõ ra kiểu khác như mạch ngõ
ra cực thu để hở, ngõ ra ba trạng thái. Những mạch này ta sẽ tìm hiểu ở phần sau.
Riêng đối với mạch loại này, khi ngõ ra chuyển tiếp trạng thái từ thấp lên cao có
thể xảy ra trường hợp cả Q3 và Q4 cùng dẫn (Q3 chưa kịp tắt). Điều này làm cho
dòng bị hút từ nguồn lớn hơn hẳn và có thể làm sụt áp nguồn trong vài ns. Vấn đề
này ta cũng sẽ nói kỹ hơn ở bài sử dụng cổng logic.
Mạch ngõ ra cột chạm thuộc loại mạch ra kéo lên tích cực (active pull up) tức là
ngõ ra được cấp nguồn thông qua Q4 (linh kiện điện tử tích cực). Còn các mạch
khác như RTL, DTL ngõ ra được cấp điện thông qua R (linh kiện điện tử thụ động)
Để tăng tốc độ chuyển mạch cao hơn hẳn loại trên, một số cải tiến mới và công
nghệ mới đã được thêm vào
Diode thường được được thay thế bởi diode schottky. Cấu trúc lớp tiếp xúc loại
này là Si_Al (chất bán dẫn loại p). Áp ngưỡng chỉ còn 0,35V. Kí hiệu của diode như
47
Tiếp đến, transistor được mắc thêm diode schottky giữa cực nền và cực thu như
hình. kí hiệu của transistor sẽ như hình trên.
Khi này thay vì dẫn bão hoà, transistor sẽ chỉ dẫn gần bão hoà do diode đã dẫn ở
khoảng 0,3V rồi. Điều này có nghĩa là transistor sẽ chuyển mạch nhanh hơn.
QUY MÔ TÍCH HỢP
Các mạch cổng logic như trên được tích hợp lại thành một mạch tổ hợp bán dẫn rất
rất nhỏ và được đặt vào giữa một vỏ bọc, có dây kim loại nối ra ngoài các chân.
Thường thì với mạch cổng nand như ở trên sẽ có bốn mạch như thế được tích hợp
trong một vỏ bọc, chúng thuộc loại tích hợp cỡ nhỏ: small scale integration (SSI),
một số IC đặc biệt có số cổng lớn hơn một chút hay quy mô phức tạp hơn nên
thuộc loại tích hợp cỡ vừa: medium scale integration (MSI). Khi nằm trong IC tích
hợp, sự sắp xếp mạch và các chân ra vào cho loại cổng chuẩn này (ví dụ với loại
cổng nand) sẽ là:
48
Có nhiều mạch khác sẽ tích hợp nhiều cổng hơn và tất nhiên thành phần chính của
những mạch này sẽ là các transistor và quy mô tích hợp có thể từ hàng trăm đến
hàng trăm triệu transistor trên một phiến bán dẫn, chỉ được đặt trong một vỏ bọc
không lớn quá vài xen ti mét vuông. Chẳng hạn
Các mạch chuyển đổi mã, dồn tách kênh, mạch logic và số học mà chúng ta sẽ tìm
hiểu ở phần sau thuộc loại tích hợp cỡ vừa, một số là loại tích hợp cỡ lớn : large
scale integration (LSI) vì cấu trúc mạch gồm khoảng từ 12 đến 100 cổng cơ bản
(MSI) hay 100 đến 1000 cổng cơ bản (LSI)
Các mạch nhớ, vi điều khiển, vi xử lí, lập trình có thể tích hợp từ hàng ngàn đến
hàng triệu cổng logic trong nó và được xếp vào loại tích hợp cỡ rất lớn (VLSI) siêu
lớn (ULSI).
49
Bài4: VI MẠCH SỐ HỌ CMOSCông nghệ MOS (Metal Oxide Semiconductor-kim loại oxit bán dẫn)
có tên gọi xuất xứ từ cấu trúc MOS cơ bản của một điện cực nằm
trên lớp oxit cách nhiệt, dưới lớp oxit là đế bán dẫn. Transistor trong
công nghệ MOS là transistor hiệu ứng trường, gọi là MOSFET (metal
oxide silicon field effect transistor). Có nghĩa điện trường ở phía
điện cực kim loại của lớp oxit cách nhiệt có ảnh hưởng đến điện trở
của đế. Phần nhiều IC số MOS được thiết kế hết bằng MOSFET,
không cần đến linh kiện nào khác.
Ưu điểm chính của MOSFET là dễ chế tạo, phí tổn thấp, cỡ nhỏ, tiêu
hao rất ít điện năng. Kĩ thuật làm IC MOS chỉ rắc rối bằng 1/3 kĩ
thuật làm IC lưỡng cực (TTL, ECL,...). Thêm vào đó, thiết bị MOS
chiếm ít chỗ trên chip hơn so với BJT, thông thường, mỗi MOSFET chỉ
cần 1 mi li vuông diện tích chip, trong khi BJT đòi hỏi khoảng 50 mi li
vuông. Quan trọng hơn, IC số MOS thường không dùng các thành
phần điện trở trong IC, vốn chiếm quá nhiều diện tích chip trong IC
lưỡng cực. Vì vậy, IC MOS có thể dung nạp nhiều phần tử mạch trên
1 chip đơn hơn so với IC lưỡng cực. Bằng chứng là ta sẽ thấy MOS
dùng nhiều trong vi mạch tích hợp cỡ LSI, VLSI hơn hẳn TTL. Mật độ
tích hợp cao của IC MOS làm chúng đặc biết thích hợp cho các IC
phức tạp, như chip vi xử lí và chip nhớ. Sửa đổi trong công nghệ IC
MOS đã cho ra những thiết bị nhanh hơn 74, 74LS của TTL, với đặc
điểm điều khiển dòng gần như nhau. Do vậy, thiết bị MOS đặc biệt là
CMOS đã đã được sử dụng khá rộng rãi trong mạch MSI mặc dù tốc
độ có thua các IC TTL cao cấp và dễ bị hư hỏng do bị tĩnh điện.
Mạch số dùng MOSFET được chia thành 3 nhóm là:
- PMOS dùng MOSFET kênh P
- NMOS dùng MOSFET kênh N tăng cường
- CMOS (MOS bù) dùng cả 2 thiết bị kênh P và kênh N
50
Các IC số PMOS và NMOS có mật độ đóng gói lớn hơn (nhiều
transistor trong 1 chip hơn) và do đó kinh tế hơn CMOS. NMOS có
mật độ đóng gói gần gấp đôi PMOS. Ngoài ra, NMOS cũng nhanh gần
gấp 2 lần PMOS, nhờ dữ kiện các điện tử tự do là những hạt tải dòng
trong NMOS, còn các lỗ trống (điện tích dương chuyển động chậm
hơn) là hạt tải dòng cho PMOS. CMOS rắc rối nhất và có mật độ đóng
gói thấp nhất trong các họ MOS, nhưng nó có điểm mạnh là tốc độ
cao hơn và công suất tiêu thụ thấp hơn. IC NMOS và CMOS được
dùng rộng rãi trong lĩnh vực kĩ thuật số, nhưng IC PMOS không còn
góp mặt trong các thiết kế mới nữa. Tuy nhiên MOSFET kênh P vẫn
rất quan trọng bởi vì chúng được dùng trong mạch CMOS.
Trước khi đi vào công nghệ CMOS ta hãy tìm hiểu qua về NMOS.
Cũng cần phải biết rằng PMOS tương ứng cũng giống hệt NMOS, chỉ
khác ở chiều điện áp.
Hình 1.64 là cấu tạo của 1 cổng NOT loại NMOS cơ bản
Mạch gồm 2 MOSFET: Q2 làm chuyển mạch còn Q1 làm tải cố định và
luôn dẫn, điện trở của Q1 khoảng 100 k
Ngõ vào mạch đặt ở cực G của Q2, còn ngõ ra lấy ở điểm chung của
cực S Q1 và cực D Q2. Nguồn phân cực cho mạch giả sử dùng 5V.
51
Khi Vin = 5 V, ngõ vào mức cao kích cho Q2 dẫn, trở trên Q2 còn
khoảng 1K cầu phân áp giữa RQ1 và RQ2 cho phép áp ra còn khoảng
0,05V tức là ngõ ra ở mức thấp
Khi Vin = 0V, ngõ vào ở mức thấp, Q2 ngắt, trở trên nó khá lớn
khoảng 1010 ohm. Cầu phân áp RQ1 và RQ2 sẽ đặt áp ngõ ra xấp xỉ
nguồn, tức là ngõ ra ở mức cao.
Vậy mạch hoạt động như một cổng NOT. Cổng NOT được xem là
mạch cơ bản nhất của công nghệ MOS. Nếu ta thêm Q3 mắc nối tiếp
và giống với Q2 thì sẽ được cổng NAND. Nếu ta mắc Q3 song song và
giống với Q2 thì sẽ được cổng NOR. Cổng AND và cổng OR được tạo
ra bằng cách thêm cổng NOT ở ngõ ra của cổng NAND và cổng NOR
vừa được tạo ra.
Như đã nói ở trước, NMOS không phải để tạo ra các cổng mà thường
dùng để xây dựng mạch tổ hợp, mạch tuần tự quy mô thường cỡ MSI
trở lên, nhưng tất cả những mạch đó về cơ bản vẫn chỉ là tổ hợp của
các mạch cổng logic được kể ra ở đây.
Một số đặc điểm của NMOS :
Tốc độ chuyển mạch: chậm hơn so với loại TTL do điện trở đầu vào
khá cao đồng thời bị ảnh hưởng bởi tải dung tính mà nó thúc
Giới hạn nhiễu khoảng 1,5V với nguồn 5V và sẽ tăng tỉ lệ khi nguồn
cấp tăng. Như vậy là tính kháng nhiễu kém hơn TTL
Hệ số tải: về lí thuyết là rất lớn do trở đầu vào của mạch rất lớn,
tuy nhiên, nếu tần số hoạt động càng cao (trên 100KHz) thì điện
dung sinh ra có thể làm suy giảm thời gian chuyển mạch kéo theo
giảm khả năng giao tiếp tải. So với TTL thì NMOS vẫn có hệ số tải
cao hơn hẳn trung bình là 50 cổng cùng loại.
Công suất tiêu tán: Đây là ưu điểm nổi bật của logic MOS. Thật
vậy, chẳng hạn với cổng NOT ở trên khi đầu vào thấp RQ1 = 100k, RQ2
= 1010ohm nên dòng tiêu thụ I = V/R = 0,5nA => P =U.I = 2,5nW
52
Khi đầu vào cao RQ1 = 100k, RQ2 1k nên dòng tiêu thụ I = V/R =
50uA 0,25mW
Vậy công suất trung bình chỉ cao hơn 0,1 mW một chút, so với TTL
thì nó quá nhỏ.
Chính nhờ ưu điểm này mà CMOS có thể tích hợp cỡ LSI và VLSI, nơi
mà nhiều cổng, nhiều flip flop, nhiều mạch khác được tích hợp trong
một chíp mà không sinh ra nhiệt lớn làm hỏng chip.
Cũng cần lưu ý là logic MOS do đều được xây dựng từ các transistor
MOSFET nên rất nhạy tĩnh điện, ở phần sau ta sẽ đề cập chi tiết đến
vấn đề này.
CMOS
2.1 Cấu tạo
CMOS (Complementary MOS) có cấu tạo kết hợp cả PMOS và NMOS
trong cùng 1 mạch nhờ đó tận dụng được các thế mạnh của cả 2 loại,
nói chung là nhanh hơn đồng thời mất mát năng lượng còn thấp hơn
so với khi dùng rời từng loại một. Cấu tạo cơ bản nhất của CMOS
cũng là một cổng NOT gồm một transistor NMOS và một transistor
PMOS như hình 1.65
53
Hoạt động của mạch cũng tương tự như ở NMOS
Khi ngõ vào (nối chung cực cổng 2 transistor) ở cao thì chỉ có Q1 dẫn
mạnh do đó áp ra lấy từ điểm chung của 2 cực máng của 2 transistor
sẽ xấp xỉ 0V nên ngõ ra ở thấp.
Khi ngõ vào ở thấp Q1 sẽ ngắt còn Q2 dẫn mạnh, áp ra xấp xỉ nguồn,
tức ngõ ra ở mức cao.
Để ý là khác với cổng NOT của NMOS, ở đây 2 transistor không dẫn
cùng một lúc nên không có dòng điện từ nguồn đổ qua 2 transistor
xuống mass nhờ đó công suất tiêu tán gần như bằng 0. Tuy nhiên
khi 2 transistor đang chuyển mạch và khi có tải thì sẽ có dòng điện
chảy qua một hay cả 2 transistor nên khi này công suất tiêu tán lại
tăng lên.
Trên nguyên tắc cổng đảo, cũng giống như trước bằng cách mắc
song song hay nối tiếp thêm transistor ta có thể thực hiện được các
cổng logic khác (hình 1.66). Chẳng hạn mắc chồng 2 NMOS và mắc
song song 2 PMOS ta được cổng NAND. Còn khi mắc chồng 2 PMOS
và mắc song song 2 NMOS ta được cổng NOR.
2.2 Phân loại
54
Có nhiều loại IC logic CMOS với cách đóng vỏ (package) và chân ra
giống như các IC loại TTL. Các IC có quy mô tích hợp nhỏ SSI vỏ DIP
(dual inline package): với hai hàng chân thẳng hàng 14 hay 16 được
dùng phổ biến.
CMOS cũ họ 4000, 4500
Hãng RCA của Mỹ đã cho ra đời loại CMOS đầu tiên lấy tên CD4000A.
Về sau RCA có cải tiến để cho ra loạt CD4000B có thêm tầng đệm ra,
sau này hãng lại bổ sung thêm loạt CD4500, CD4700.
Hãng Motorola (Mỹ) sau đó cũng cho ra loạt CMOS MC14000,
MC14000B, MC14500 tương thích với sản phẩm cũ của RCA.
Đặc điểm chung của loạt này là :
Điện áp nguồn cung cấp từ 3V đến 18V mà thường nhất là từ 5
đến 15 V.
Chúng có công suất tiêu hao nhỏ
Riêng loại 4000B do có thêm tầng đệm ra nên dòng ra lớn hơn,
kháng nhiễu tốt hơn mà tốc độ cũng nhanh hơn loại 4000A
trước đó.
Tuy nhiên các loại trên về tốc độ thì tỏ ra khá chậm chạp và
dòng cũng nhỏ hơn nhiều so với các loại TTL và CMOS khác.
Chính vì vậy chúng không được sử dụng rộng rãi ở các thiết kế
hiện đại.
Loại 74CXX
Đây là loại CMOS được sản xuất ra để tương thích với các loại TTL về
nhiều mặt như chức năng, chân ra nhưng khoản nguồn nuôi thì rộng
hơn. Các đặc tính của loại này tốt hơn loại CMOS trước đó một chút
tuy nhiên nó lại ít được sử dụng do đã có nhiều loại CMOS sau đó
thay thế loại CMOS tốc độ cao 74HCXX và 74HCTXX. Đây là 2 loại
CMOS được phát triển từ 74CXX.
55
74HCXX có dòng ra lớn và tốc độ nhanh hơn hẳn 74CXX, tốc độ của
nó tương đương với loại 74LSXX, nhưng công suất tiêu tán thì thấp
hơn. Nguồn cho nó là từ 2V đến 6V.
Còn 74HCTXX chính là 74HCXX nhưng tương thích với TTL nhiều hơn
như nguồn vào gần giống TTL : 4,5V đến 5,5V. Do đó 74HCTXX có
thể thay thế trực tiếp cho 74LSXX và giao tiếp với các loại TTL rất
bình thường.
Ngày nay 74HC và 74HCT trở thành loại CMOS hay dùng nhất mà lại
có thể thay thế trực tiếp cho loại TTL thông dụng.
Loại CMOS tiên tiến 74AC, 74ACT
Loại này được chế tạo ra có nhiều cải tiến cũng giống như bên TTL,
nó sẽ hơn hẳn các loại trước đó nhưng việc sử dụng còn hạn chế
cũng vẫn ở lí do giá thành còn cao.
Chẳng hạn cấu trúc mạch và chân ra được sắp xếp hợp lí giúp giảm
những ảnh hưởng giữa các đường tín hiệu vào ra do đó chân ra của 2
loại này khác với chân ra của TTL.
Kháng nhiễu, trì hoãn truyền, tốc độ đồng hồ tối đa đều hơn hẳn loại
74HC, 74HCT.
Kí hiệu của chúng hơi khác một chút như 74AC11004 là tương ứng
với 74HC04. 74ACT11293 là tương ứng với 74HCT293.
Loại CMOS tốc độ cao FACT
Đây là sản phẩm của hãng Fairchild, loại này có tính năng trội hơn
các sản phẩm tương ứng đã có.
Loại CMOS tốc độ cao tiên tiến 74AHC, 74AHCT
Đây là sản phẩm mới đã có những cải tiến từ loại 74HC và 74HCT,
chúng tận dụng được cả 2 ưu điểm lớn nhất của TTL là tốc độ cao và
của CMOS là tiêu tán thấp do đó có thể thay thế trực tiếp cho 74HC
và 74HCT.
56
Bảng sau cho phép so sánh công suất tiêu tán và trì hoãn truyền của
các loại TTL và CMOS ở nguồn cấp điện 5V.
Ngoài các loại trên công nghệ CMOS cũng phát triển một số loại mới
gồm:
BiCMOS
Đây là sản phẩm kết hợp công nghệ lưỡng cực TTL với công nghệ
CMOS nhờ đó tận dụng được cả 2 ưu điểm của 2 cộng nghệ là tốc độ
nhanh và công suất tiêu tán thấp. Nó giảm được 75% công suất tiêu
tán so với loại 74F trong lúc vẫn giữ được tốc độ và đặc điểm điều
khiển tương đương. Nó cũng có chân ra tương thích với TTL và hoạt
động ở áp nguồn 5V. Tuy nhiên Bi CMOS thường chỉ được tích hợp ở
quy mô vừa và lớn dùng nhiều trong giao diện vi xử lí và bộ nhớ, như
mạch chốt, bộ đệm, bộ điều khiển hay bộ thu phát.
Loại CMOS điện thế thấp
Đây là loại CMOS khá đặc biết có áp nguồn giảm xuống chỉ còn
khoảng 3V. Khi áp giảm sẽ kéo theo giảm công suất tiêu tán bên
trong mạch nhờ đó mật độ tích hợp của mạch tăng lên, rồi tốc độ
chuyển mạch cũng tăng lên điều này rất cần thiết trong các bộ vi xử
lí bộ nhớ ... với quy mô tích hợp VLSI. Cũng có khá nhiều loại CMOS
57
áp thấp, và đây là xu hướng của mai sau, ở đây chỉ nói qua về một số
loại của hãng Texas Instruments
74LV (low voltage) : là loạt CMOS điện thế thấp tương ứng với
các vi mạch số SSI và MSI của các công nghệ khác. Nó chỉ hoạt động
được với các vi mạch 3,3V khác
74LVC (low voltage CMOS ) : gồm rất nhiều mạch SSI và MSI
như loạt 74. Nó có thể nhận mức 5V ở các ngõ vào nên có thể dùng
để chuyển đổi các hệ thống dùng 5V sang dùng 3,3V khác. Nếu giữ
dòng điện ở ngõ ra đủ thấp để điện thế ngõ ra nằm trong 1 giới hạn
cho phép, nó cũng có thể giao tiếp với các ngõ vào TTL 5V. Tuy
nhiên áp vào cao của các CMOS 5V như 74HC hay 74AHC khiến
chúng không thể điều khiển từ các vi mạch LVC
74ALVC (advanced low voltage CMOS ) : là loạt CMOS điện thế
thấp, chủ yếu để dùng cho các mạch giao diện bus hoạt động ở 3,3V
74LVT (low voltage BiCMOS) : giống như 74LVC có thể hoạt
động ở logic 5V và có thể dùng như mạch số chuyển mức 5V sang 3V
Bảng sau so sánh một số đặc tính của các loại CMOS áp thấp
CMOS cực máng hở, CMOS ra 3 trạng thái và CMOS nảy schmitt
trigger
Tương tự như bên TTL, các cổng CMOS cũng có các loại ra hở mảng,
ra 3 trạng thái và nảy schmitt trigger, vì có nhiều loại CMOS được
sản xuất để tương thích và thay thế cho loại TTL tương ứng.
58
CMOS racực máng hở
Do dùng MOSFET nên ngõ ra không phải là cực thu mà là cực máng
Ở hình 1.67 trrình bày hai cổng NOT CMOS thường có ngõ ra nối
chung với nhau
Nếu 2 đầu vào ở cao thì 2P ngắt, 2N dẫn ngõ ra mức cao bình
thường.
Nếu 2 đầu vào ở thấp thì 2P dẫn, 2N ngắt ngõ ra mức thấp bình
thường.
Nhưng nếu ngõ vào cổng 1 ở thấp còn ngõ vào cổng 2 ở cao thì P1
dẫn N1 ngắt, P2 ngắt N2 dẫn áp ngõ ra sẽ là nửa áp nguồn Vdd. Áp
này rơi vào vùng bất định không thể dùng kích các tải được hơn nữa
với áp Vdd mà cao, dòng dẫn cao có thể làm tiêu 2 transistor của
cổng.
Vậy cách để cực D ra hở là hợp trong trường hợp này. Trong cấu trúc
mạch sẽ không còn MOSFET kênh P nữa, còn MOSFET kênh N sẽ để
hở cực máng D. Ta có thể nối các ngõ ra theo kiểu nối AND hay OR
59
và tất nhiên là cũng phải cần điện trở kéo lên để tạo mức logic cao,
giá trị của R kéo lên tính giống như bên mạch loại TTL.
CMOS ra 3 trạng thái
Tương tự mạch bên TTL, mạch có thêm ngõ điều khiển G (hay C).
G ở cao 2 cổng nand nối, nên Y = A, ta có cổng đệm không đảo
G ở thấp ngõ ra của 2 cổng nand lên cao làm PMOS và NMOS cùng
ngưng dẫn và đây là trạng thái thứ 3 hay còn gọi là trạng thái trở
kháng cao (high Z), lúc bấy giờ từ ngõ ra Y nhìn ngược vào mạch thì
mạch như không có (điện trở ngõ ra Y lên nguồn và xuống mass đều
rất lớn).
Ngõ G cũng có thể tác động ở mức thấp
Kí hiệu logic của mạch
Cổng nảy schmitt trigger tương tự nảy schmitt trigger bên mạch TTL
Cổng truyền dẫn CMOS (transmission gate :TG)
Đây là loại cổng logic mà bên công nghệ lưỡng cực không có; cổng truyền dẫn
hoạt động như một công tắc đóng mở (số) để cho phép dữ liệu (dạng số) truyền
qua lại theo cả 2 chiều.
Trước hết là cấu tạo của cổng truyền NMOS
60
Tín hiệu truyền có thể là tương tự hay số miễn nằm trong khoảng 0 đến Vdd.
Nhưng ở đây để dẽ minh hoạ ta giả sử lấy nguồn cấp là 10V, áp ngưỡng của NMOS
sẽ là 2V
Khi ngõ vào ở thấp, tụ sẽ không được nạp nên tất nhiên ngõ ra cũng là mức thấp
Khi ngõ vào ở cao mà đường khiển G vẫn ở thấp thì ngõ ra cũng vẫn ở thấp
Khi ngõ vào ở cao và G ở cao => NMOS dẫn với áp ngưỡng 2V nên tụ nạp đầy đến
8V thì NMOS ngắt, ngõ ra có thể hiểu là mức cao, do đó tín hiệu đã được truyền từ
trái sang phải
Khi này mà ngõ vào xuống mức thấp thì tụ sẽ xả qua NMOS do đó ngõ ra lên cao
trở lại tức là dữ liệu đã truyền từ phải sang trái
Tuy nhiên ta có nhận xét là, khi bị truyền như vậy dữ liệu đã giảm biên độ đi mất
2V. Với mạch số có thể vẫn hiểu là mức cao mức thấp, còn với mạch tương tự thì
như vậy là mất mát năng lượng nhiều rồi, và nó còn bị ảnh hướng nặng hơn khi
nhiều cổng truyền mắc nối tiếp nhau.
Cổng truyền CMOS :
Hình 1.70 cho thấy cấu trúc của 1 cổng truyền CMOS cơ bản dùng 1 NMOS và
1PMOS mắc song song, cũng với những giả sử như ở trên bạn sẽ thấy CMOS khắc
phục được điểm dở của NMOS và chính nó đã được sử dụng rộng rãi ngày nay.
61
Khi G ở thấp, không cho phép truyền.
Khi G ở cao, nếu ngõ vào ở thấp ngõ ra không có gì thay đổi.
Còn nếu ngõ vào ở cao thì cả 2 transistor đều dẫn dữ liệu truyền tù trái sang phải
nạp cho tụ, ngõ ra ở mức cao nhưng có 1 điểm khác ở đây là khi tụ nạp đến 8V thì
NMOS ngắt trong khi PMOS vẫn dẫn mạnh làm tụ nạp đủ 10V.
Khi ngõ ra đang ở 10V, ngõ G vẫn ở cao mà ngõ vào xuống thấp thì tụ sẽ xả ngược
trở lại qua 2 transistor làm ngõ vào lên cao trở lại.
Các kí hiệu cho cổng truyền như hình
2.3 Đặc tính kỹ thuật
Công suất tiêu tán
62
Khi mạch CMOS ở trạng thái tĩnh (không chuyển mạch) thì công suất
tiêu tán PD của mạch rất nhỏ. Có thể thấy điều này khi phân tích
mạch mạch cổng nand hay nor ở trước. Với nguồn 5V, PD của mỗi
cổng chỉ khoảng 2,5nW.
Tuy nhiên PD sẽ gia tăng đáng kể khi cổng CMOS phải chuyển mạch
nhanh. Chẳng hạn tần số chuyển mạch là 100KHz thì PD là 10 nW,
còn f=1MHz thì PD= 0,1mW. Đến tần số cỡ 2 hay 3 MHz là PD của
CMOS đã tương đương với PD của 74LS bên TTL, tức là mất dần đi ưu
thế của mình.
Lý do có điều này là vì khi chuyển mạch cả 2 transistor đều dẫn
khiến dòng bị hút mạnh để cấp cho phụ tải là các điện dung (sinh ra
các xung nhọn làm biên độ của dòng bị đẩy lên có khi cỡ 5mA và thời
gian tồn tại khoảng 20 đến 30 ns). Tần số chuyển mạch càng lớn thì
sinh ra nhiều xung nhọn làm I càng tăng kéo theo P tăng theo. P ở
đây chính là công suất động lưu trữ ở điện dung tải. Điện dung ở đây
bao gồm các điện dung đầu vào kết hợp của bất kỳ tải nào đang
được kích thích và điện dung đầu ra riêng của thiết bị.
Tốc độ chuyển mạch (tần số chuyển mạch)
Cũng giống như các mạch TTL, mạch CMOS cũng phải có trì hoãn
truyền để thực hiện chuyển mạch. Nếu trì hoãn này làm tPH bằng
nửa chu kì tín hiệu vào thì dạng song vuông sẽ trở thành xung tam
giác khiến mạch có thể mất tác dụng logic
63
Tuy nhiên tốc độ chuyển mạch của CMOS thì nhanh hơn hẳn loại TTL
do điện trở đầu ra thấp ở mỗi trạng thái. Tốc độ chuyển mạch sẽ
tăng lên khi tăng nguồn nhưng điều này cũng sẽ làm tăng công suất
tiêu tán, ngoài ra nó cũng còn ảnh hưởng bởi tải điện dung.
Giới hạn tốc độ chuyển mạch cho phép làm nên tần số chuyển mạch
tối đa được tính dựa trên tPH.
Bảng sau cho phép so sánh fmax của một số loại cổng nand loại TTL
với CMOS
Trong việc sử dụng các IC logic CMOS ta phải biết nhiều đặc tính và
giới hạn của chúng. Các đặc tính thông dụng như áp nuôi, số toả ra,
khả năng dòng ra,... thường dễ vận dụng. Tất cả các IC logic đều
dùng được ở nguồn nuôi 5V. Số toả ra với cùng loại logic ít nhất là
gần chục trong lúc thường chì cần vài. Tuy nhiên đôi khi có nghi ngờ
hay sử dụng ở trường hợp áp cấp Vmax, fmax, tải thuần dung thuần
cảm... hay giao tiếp giữa các IC khác loại, khác áp nguồn, nói chung
là các trường hợp đặc biệt. thì ta phải tham khảo tài liệu ở data
sheet hay data book. Cũng như ở bên TTL, một số đặc tính chính của
CMOS được nói đến ở đây là:
Áp nguồn nuôi ký hiệu là Vdd (khác với bên TTL ký hiệu là Vcc) rất
khác nhau do đó cần rất cẩn thận với nó, có thể dùng nguồn 5V là
tốt nhất. Bảng sau đưa ra các khoảng áp nguồn cho từng loại CMOS.
64
Điện áp vào và ra của các loại CMOS
Cũng giống như bên TTL về kí hiệu, tên gọi nhưng ở bên CMOS có
phức tạp hơn do nguồn nuôi cho các loại IC thì khác nhau, ta chỉ có
thể rút ra tương đối ở điều kiện nguồn Vdd = 5V. Hình và bảng ở
dưới nêu ra các thông số áp ra và vào. Riêng loại 74HCT là CMOS tốc
độ cao tương thích với TTL nên thông số cũng giống như bên TTL.
Dòng điện ngõ vào và ngõ ra
bảng so sánh dòng vào ra của một số loại CMOS với một số loại TTL
65
Nói chung ta quan tâm đến dòng ra nhiều hơn vì đó là dòng ra max
cho phép mà vẫn đảm bảo các mức logic ra đúng như ở phần trên.
Còn các áp ra cũng chỉ quan tâm khi tính đến việc giao tiếp cổng
khác loại khác áp nuôi.
Hệ số tải
Dòng ra của các CMOS khá lớn trong lúc điện trở vào của các CMOS
lại rất lớn (thường khoảng 1012 ohm) tức dòng vào rất rất nhỏ nên
số toả ra rất lớn. Nhưng mỗi cổng CMOS có điện dung ngõ vào
thường cũng khoảng 5pF nên khi có nhiều cổng tải mắc song song
số điện dung tăng lên làm tốc độ chuyển mạch chậm lại khiến số toả
ra ở tần số thấp (dưới 1MHz) là vài chục, còn ở tần số cao số tạo ra
giảm chỉ còn dưới 10.
Tính kháng nhiễu
Về đặc tính chuyển (trạng thái) nói chung các loại CMOS đều chuyển
trạng thái khá dứt khoát trừ loại 4000A bởi vì chúng có tầng đệm ở
trước ngõ ra
Về giới hạn nhiễu nói chung là tốt hơn các loại TTL. Tốt nhất là loại
4000A,B. Giới hạn nhiễu sẽ còn tốt hơn nếu ta tăng nguồn nuôi lớn
hơn 5V, tuy nhiên lúc này tổn hao cũng vì thế tăng theo. Cách tính lề
nhiễu mức cao và mức thấp vẫn như trước, tức là:
VNH = VOH(min) – VIH(min)
VNL = VIL(max) – VIH(max)
CÁC IC CỔNG LOGIC
Có rất nhiều IC loại CMOS có mã số và chức năng logic tương tự như
các IC TTL chẳng hạn bên TTL IC 4 cổng nand 2 ngõ vào là 7400,
66
74LS00, 74AS00,... thì bên CMOS cũng tương tự có 74C00,
74HC/HCT00, 74AC11000,... Tuy nhiên không phải tất cả bên TTL có
thì bên CMOS cũng có. CMOS cũng còn có những loại riêng, chẳng
hạn với cổng nảy schmitt trigger ngoài 74HC/HCT14 gồm 6 cổng đảo,
74HC/HCT132 gồm 4 cổng nand 2 ngõ vào còn có 4014, 4534 cũng
gồm 6 cổng đảo, 4093 cũng gồm 4 cổng nand 2 ngõ vào; hay 4066 là
cổng truyền 2 chiều số tương tự vv...
Hình 1.74 là sơ đồ chân ra của một số cổng logic loại 4000 cũng hay
dùng
Bài 5:SỬ DỤNG CỔNG LOGIC
67
1.1 Chống xung nhọn cho nguồn cấp
Hãy trở lại xem xét cấu trúc của một cổng logic loại cột chạm như
hình 1.75. Ngõ ra Y giả sử đang đổi trạng thái từ thấp lên cao do đó
Q3 sẽ chuyển trạng thái từ ngắt dẫn đang dẫn bão hoà còn Q4 thì từ
dẫn bão hoà sang ngưng dẫn. Q4 sẽ cần một khoảng thời gian vài
chục ns để ngưng chế độ dẫn bão hoà trước đó, trong thời gian này
Q3 cũng dẫn luôn như thế dòng nguồn cấp tăng lên vài mA. Giả sử
trong 1 hệ thống mạch đang sử dụng nhiều cổng logic đang chuyển
trạng thái như vậy thì rõ ràng nguồn cấp phải lớn hơn nữa, nó kéo
theo áp nguồn có thể bị giảm xuống trong chốc lát, hơn nữa điện
cảm phân tán trên đường tiếp điện có thể còn làm giảm nguồn hơn
nữa (điện cảm kí sinh). Do nguồn thay đổi dẫn đến phát sinh dòng
cảm ứng L(di/dt).
Hình 1.75 Minh họa cách chống xung nhọn của 1 cổng logic loại cột
chạm
Như vậy nguồn bị biến động nhiều vừa bị sụt giảm thất thường vừa
có xung nhọn cảm ứng dẫn đến trạng thái logic của mạch bị sai.
Hoạt động chuyển mạch nhiều thì tần số phát sinh xung nhọn càng
68
lớn. Để khắc phục hiện tượng này có thể mắc tụ ceramic 0,01 uF tới
0,1 uF có điện cảm thấp ở ngay tại ngõ vào cấp điện cho IC xuống
mass để nó lọc bớt xung nhọn sinh ra. Ngoài ra có thể dùng thêm tụ
tốt như tantan, mylar ... vài uF tới vài chục uF ở đầu mỗi nguồn cấp
cho khối mạch để ổn định áp nguồn.
1.2 Giải quyết ngõ vào không dùng
Ta đã được biết đến cấu trúc của nhiều cổng logic loại TTL có nhiều
ngõ vào khi không dùng thì tương đương với nối lên nguồn vì cả 2
trường hợp nối nền phát của transistor, ngõ vào đều không dẫn. Tuy
nhiên một ngõ vào nối như vậy dẽ tiếp nhận các nhiễu điện từ bên
ngoài hoặc như với cổng TTL dù ngõ không dùng để trống thì
transistor trong mạch vẫn được phân cực do đó sẽ tiêu tốn năng
lượng vô ích mà lại có thể làm nóng cổng logic vì vậy ta nên nối lên
cao hay xuống mass tuỳ loại cổng.
Giải quyết các ngõ vào không dùng cổng and, nand
Nối lên Vcc hay qua 1 điện trở 1-10K nhằm giới hạn dòng điện ngược
vào transistor nhất là khi có xung nhọn trên đường cấp như đã nói ở
phần trên khi đó biểu thức logic ngõ ra cổng and (minh hoạ như hình
1.76) sẽ là AB = AB không có gì thay đổi.
Nối ngõ vào không dùng tới một ngõ vào nào đó có dùng (chập
chung 2 ngõ vào lại với nhau). Cách nối này sẽ làm tăng điện dung
ngõ vào do đó với tần số cao sẽ sinh ra trở kháng lớn rút bớt dòng từ
cổng. Cách này không nên dùng với họ 74, 74LS,ALS, 74F.
Hình 1.76 Cách nối ngõ vào không dùng
Giải quyết các ngõ vào không dùng cổng or, nor
69
Thay vì nối ngõ không dùng lên Vcc ta nối nó xuống mass qua R khoảng dưới 1K, ngõ này
luôn ở mức thấp. Khi đó với cổng OR : 0 + A + B = A + B, ngõ không dùng đã không ảnh
hưởng tới hoạt động logic của cổng.
Cũng có thể nối ngõ không dùng chung với ngõ có dùng (chập chung
2 ngõ vào lại với nhau) giống như với cổng and.
1.3 Tránh tĩnh điện cho cổng CMOS
Các mạch cổng CMOS được cấu tạo bởi các transistor MOSFET, chúng
có lớp cách điện SiO2 rất mỏng (khoảng 10 um) giữa cực cổng G và
kênh dẫn nối thoát D và nguồn. Ngõ vào của mạch CMOS gồm điện
dung vài pF mắc song song với điện trở rất lớn nên khi có tính điện
tác động vào chẳng hạn do tay người chạm vào chân IC thì dòng tĩnh
điện sẽ xả theo ngõ này vào tạo nên áp cao hàng ngàn volt đánh
thủng lớp cách điện mỏng manh. Một mạch bảo vệ thường được
thêm vào nó có diode để ghim mức điện áp dương và âm đặt vào lớp
cách điện này khi xảy ra xả tĩnh điện. Thực tế do điều kiện nhiệt đới
nóng ẩm ở nước ta, IC cũng ít khi bị hư hỏng nhưng nếu được cũng
nên để ý đến một số biện pháp đảm bảo sau khi dùng cổng CMOS :
- Không để IC nơi ẩm ướt, cất giữ bằng cách cất vào xốp cách điện
hay đặt trong bao giấy nhôm
- Nên cắm luôn IC vào mạch khi dùng không nên chạm tay vào chân
IC, nếu đụng nên đeo vòng dẫn điện để xả tĩnh điện từ người xuống
mass. Để tránh trường hợp giật điện thì vòng nên có điện trở hàng
Mega ohm cách li khỏi mass.
- Nếu dùng mỏ hàn thì tốt hơn nối đất đầu mỏ hàn
- Khi IC đang dùng trong mạch không nên đụng chạm hay lấy nó ra
khỏi mạch.
- Đảm bảo nguồn nuôi IC nằm trong khoảng cho phép.
- Các ngõ vào không dùng phải nối mass hay Vdd qua điện trở.
Bài 6:GIAO TIẾP TTL VÀ CMOS
70
2.1 Giao tiếp giữa các cổng logic với nhau
2.1.1 Giữa TTL với TTL
Do cùng loại nên chúng đương nhiên có thể mắc nối trực tiếp với nhau. Dòng trung
bình để đảm bảo mức điện áp vào, ra ở mức cao hay thấp cho phép thì:
IOH = 400uA còn IIH = 40uA khi ra mức cao
IOL = 16mA còn IIL = 16mA khi ra mức thấp
Như vậy 1 cổng TTL có thể thúc được khoảng dưới 10 cổng logic cùng loại. Ở đây
chỉ xét tính tương đối do TTL có nhiều loại nên khả năng thúc tải (tính số toả ra)
cũng khác nhau như loại ALS có thể thúc được tới 20 cổng 74ALS khác. Để biết
chính xác hơn có thể dựa vào thông số của dòng vào và ra của IC trong số tay tra
cứu IC để tính toán
2.1.2 Giữa TTL với CMOS họ 74HC, 74HCT
Ở mức thấp TTL có thể thúc được CMOS do VOLmax(TTL)< VILmax(CMOS) và
IOLmax(TTL) > IILmax(CMOS)
Ở mức cao TTL không thể thúc được CMOS do áp mức cao của TTL có khi chỉ còn
2,5 V trong khi CMOS chỉ chấp nhận áp mức cao không dưới 3,5V. nếu nối mạch thì
hoạt động có thể sai logic.
Có 1 cách để khắc phục là dùng điện trở kéo lên ở ngõ ra của cổng TTL. Khi đó,
qua điện trở R này, dòng từ nguồn sẽ nâng dòng vào CMOS nhờ đó áp ra mức cao
TTL sẽ không quá thấp, CMOS sẽ hiểu được.
Chẳng hạn một cổng 74LS01 có IOLmax = 8mA, VOLmax = 0,3V thúc một cổng
74HC00 có VIHmin = 3,5V, IIHmin = 1uA.
Khi 74LS01 ở mức thấp 0,3V thì nó sẽ nhận dòng hết mức là 8mA được cấp thông
qua điện trở kéo lên (trong khi dòng IIHmin chỉ có dưới 1uA rất nhỏ), thế thì sẽ phải
cần điện trở kéo lên có giá trị nhỏ nhất Rmin.
Còn khi ở mức cao 3,5V 74LS01 nhận dòng 100uA và 74HC00 nhận dòng 1uA. Vậy
khi này điện trở kéo lên sẽ phải có giá trị max để hạn lại dòng cho 2 cổng
Khi Rmax thì công suất tiêu tán max sẽ nhỏ nhất
Tụ C = 15pF được thêm vào để khi đang ở mức thấp 0,3V mà chuyển lên mức cao
thì tụ sẽ nạp cho áp lên 3,5V để CMOS “hiểu”
71
Hình 1.77 Giao tiếp giữa TTL với CMOS
2.1.3 TTL thúc CMOS có áp nguồn cao hơn 5V
Cũng giống như ở trường hợp trên, nếu ra mức thấp thì TTL có thể thúc trực tiếp
CMOS nhưng nếu ra mức cao VOH(TTL) chỉ có 2,7V đến 5V thì chắc chắn không thể
thúc được CMOS vì khoảng áp này rơi vào vùng bất định của ngõ vào CMOS. Ta
cũng phải dùng điện trở kéo lên, có thể dùng TTL ngõ ra cực thu để hở cho trường
hợp này.
2.1.4 Giao tiếp CMOS-CMOS
Với cùng điện thế cấp, một cổng CMOS có thể thúc cho rất nhiều cổng cùng loại
CMOS vì dòng cấp khoảng 0,5 đến 5mA trong khi dòng nhận rất nhỏ (dưới 1uA)
Tuy nhiên nếu tần số hoạt động càng cao thì khả năng thúc tải sẽ càng giảm đi (có
khi chỉ còn dưới 10 cổng). Lý do là ở tần số cao, các điện dung ngõ vào của các
cổng tải sẽ làm tăng công suất tiêu tán và trì hoãn truyền của mạch.
2.1.5 CMOS thúc TTL
Khi thúc tải ở mức cao thường VOH(CMOS) > VIH(TTL) còn dòng nhận IIH(TTL) chỉ vài
chục uA nên CMOS có thể thúc nhiều tải TTL.
Khi thúc TTL ở mức thấp thì rất phức tạp tuỳ loại.
CMOS cũ (4000) không thúc được TTL.
CMOS mới (74HC) thì có thể, số cổng thúc được tuỳ thuộc VOL(CMOS) > VIL(TTL)
và dòng tổng ngõ ra (CMOS) phải lớn hơn tổng các dòng ngõ vào IIL của các tải
TTL.
Như vậy, việc giao tiếp các cổng với nhau cũng rất đa dạng tuỳ thuộc yêu cầu
người sử dụng. Một vấn đề khác cũng cần phải quan tâm là các IC giao tiếp nhau
chung nguồn cấp hay giao tiếp cùng khoảng mức áp sẽ đảm bảo hoạt động hơn. Vì
vậy có một số IC đã được sản xuất để phục vụ cho việc chuyển mức điện áp giao
tiếp giữa CMOS với TTL hay CMOS 4000 với CMOS 74HC.
2.2 Giao tiếp giữa cổng logic với các thiết bị điện
2.2.1 Giao tiếp với công tắc cơ khí
72
Các công tắc thường sử dụng để đóng mở nguồn cấp tạo trạng thái logic cho cổng
nhưng do làm dạng tiếp xúc cơ khí nên khi đóng mở sẽ sinh ra hiện tượng dội.
Hình 1.78 Giao tiếp với công tắc cơ khí
Với điện gia dụng như đèn quạt thì hiện tượng dội này không ảnh hưởng gì cả vì
dội xảy ra rất ngắn chỉ khoảng vài ms, đèn quạt không kịp sáng tắt hay quay dừng
hoặc nếu có đi thì mắt cũng không thể thấy được. Nhưng với các vi mạch điện tử,
rất nhạy với những thay đổi rất nhỏ và rất nhanh như vậy. Hiện tượng dội nảy sinh
là do khi ta đóng công tắc thì thật ra là đóng mở nhiều lần rồi mới đóng hẳn hay
khi mở công tắc thì thực ra cũng là công tắc cũng bị hở và đóng nhiều lần trước
khi hở hẳn.
Bạn có thể kiểm tra hiện tượng dội này của công tắc với mạch đếm bố trí như hình
1.78.
Ở đây dùng cổng schmitt trigger CMOS để chuyển mạch tín hiệu tạo bởi công tắc.
Do khi nhấn công tắc, gây ra dội, công tắc chuyển qua lại giữa mass và Vcc đưa vào
cổng logic, Schmitt trigger rất nhạy khi áp vào lớn hơn hay nhỏ hơn áp ngưỡng
của nó thì lập tức áp ra sẽ là mức cao hay mức thấp, mức này cung cấp cho mạch
đếm và mạch hiển thị nếu được nối từ mạch đếm sẽ cho số đếm là số lần dội ở
công tắc.
Hiện tượng này chỉ xảy ra vài chục ms nhưng với mạch logic đôi khi cũng là “nguy
hiểm” rồi. Để chống dội ta có thể sử dụng phần cứng hay phần mềm. Chẳng hạn ở
bàn phím máy tính đều là các công tắc cơ khí, 1 phần mềm trong máy sẽ dò đọc
công tắc đó chuyển tiếp trong một khoảng thời gian ngắn khoảng 20ms, nếu thực
sự công tắc được nhấn thì mức logic mới ấn ổn định sau khoảng thời gian dội ấy và
phần mềm mới chấp nhận được trạng thái của công tắc. Còn ở đây trình bày cách
chống dội bằng tụ và mạch chốt.
Chống dội dùng tụ lọc đầu vào
Tụ C giá trị khoảng 0,01us được nối ở ngõ vào của cổng logic như hình vẽ. Khi
nhấn công tắc, tụ C nạp qua công tắc vào tụ. Tới khi công tắc nhả ra, có hiện
73
tượng dội tụ sẽ xả qua R xuống mass. Thời hằng xả là 100k x 0,01uF = 1ms lớn
hơn chu kì dội tối đa của công tắc chỉ vài trăm ns. Do đó khi này cổng logic chưa
chuyển mạch, tới khi áp xả trên tụ giảm xuống tới dưới mức ngưỡng của cổng logic
thì trạng thái logic ngõ ra mới lật lại (hình 1.79).
Hình 1.79 Cách chống dội dùng tụ lọc
Cổng logic NOT được dùng có thể là loại TTL thường hay Schitt trigger
Chống dội dùng mạch chốt
Mạch chốt cơ bản dùng 2 cổng nand mỗi cổng 2 ngõ vào có hồi tiếp chéo được kết
hợp với 2 điện trở kéo lên mắc ở ngõ vào để tạo thành mạch chống dội từ công tắc
Khi công tắc bật lên vị trí 1 (như hình 1.80) ngõ vào NAND1 ở mức 0 do đó ngõ ra
Q' = 1
Hình 1.81 Cách chống dội dùng mạch chốt
Q' = 1 đưa về ngõ vào NAND2, đồng thời ngõ vào còn lại ở mức 1 đó nối qua R2 lên
Vcc nên ra Q= 0, Q= 0 đưa về ngõ vào nand1 khi này nếu dội có xảy ra đi chăng
74
nữa làm cho ngõ vào từ công tắc từ 1 xuống 0 thì do = 0 nên ngõ ra nand1 luôn là
1.
Như vậy chứng tỏ rằng Q và không hề bị ảnh hưởng bởi công tắc bị dội. Trạng thái
của nó chỉ chuyển mạch dứt khoát một lần khi công tắc được nhấn qua a và chỉ lật
lại trạng thái khi công tắc được nhấn qua 2.
một dạng khác cũng có thể chống dội được thể hiện như hình 1.82:
Hình 1.82 Chống dội dùng cổng NOT
Bật công tắc sang mass, ngõ ra I2 ở mức 0 đưa về qua R ngõ vào I1 nên vẫn làm I2
ra ở 0 cho dù công tắc có bị dội lên xuống nhiều lần. Do đó ngõ ra I3 luôn ở mức 1
Ngược lại nhấn công tắc qua Vcc, ngõ ra I2 mức 1 đưa về ngõ vào I1 mức 1 lại vẫn
làm I2 ra mức 1 bất chấp công tắc bị dội, kết quả ra I3 luôn ở mức 0
Cổng logic được sử dụng trong mạch chốt ở trên có thể là loại TTL hay CMOS
thường hay schmitt trigger đều được cả như cổng NOT 4069, 4040; cổng NAND
7400, 4011, 74132,…
2.2.2 Giao tiếp với tải nhỏ
Tải hiện nay được sử dụng rất phong phú, nó có thể là R hay có tính cảm kháng,
tải tuyến tính hay phi tuyến, tải ở áp thấp, dòng thấp hay là cao, xoay chiều hay
một chiều. Các cổng logic được chế tạo ra có thể giao tiếp với hầu hết các loại tải
nhưng các cổng đều có dòng thấp, áp thấp thì chúng thúc tải như thế nào? Tải có
ảnh hưởng gì trở lại cổng logic không?
Phần này sẽ trình bày một số khả năng của cổng logic khi giao tiếp với các loại tải
khác nhau :
Led đơn rất hay được sử dụng để hiển thị ở các vi mạch điện tử, áp rơi trên nó dưới
2V, dòng qua khoảng vài mA do đó nhiều cổng logic loại TTL và CMOS 74HC/HCT
có thể thúc trực tiếp led đơn
Tuy nhiên loại CMOS 4000, 14000 thì không thể do dòng vào ra mức cao và thấp
đều rất nhỏ (dưới 1uA, và dưới 0,5mA) mặc dù chúng có thể hoạt động và cho áp
lớn hơn loại 2 loại kia
Mạch giao tiếp với led như hình 1.83 :
75
Hình 1.83 Giao tiếp với LED
R là điện trở giới hạn dòng cho led, cũng tuỳ loại cổng logic được sử dụng mà R
cũng khác nhau thường chọn dưới 330 ohm (điện áp Vcc =5VDC) tuỳ theo việc lựa
chọn độ sáng của led.
Ngoài led ra các cổng logic cũng có thể thúc trực tiếp các loại tải nhỏ khác như loa
gốm áp điện (loa thạch anh) có dòng và áp hoạt động đều nhỏ, đây là loại loa có
khả năng phát ra tần số cao. Mạch thúc cho loa gốm như hình 1.84 dưới đây
Hình 1.84 Cổng logic thúc loa
Lưu ý là loa gốm là tải có tính cảm kháng, khi cổng chuyển mạch có thể sinh dòng
cảm ứng điện thế cao gây nguy hiểm cho transistor bên trong cổng vì vậy cần 1
diode mắc ngược với loa gốm để bảo vệ cổng.
2.2.3 Giao tiếp với tải lớn
Do không đủ dòng áp để cổng logic thúc cho tải, mặt khác những thay đổi ở tải
như khi ngắt dẫn độ ngột, khi khởi động… đều có thể gây ra áp lớn, dòng lớn đổ về
vượt quá sức chịu đựng của tải nên cần có các phần trung gian giao tiếp, nó có thể
là transistor, thyristor, triac hay opto coupler tuy theo mạch. Hãy xét một số
trường hợp cụ thể :
a. Tải cần dòng lớn:
Do dòng lớn vượt quá khả năng của cổng nên có thể dùng thêm transistor khuếch
đại lên, khi tác động mức thấp dùng transistor pnp còn khi tác động mức cao nên
dùng transistor loại npn
76
Hình 1.85 Giao tiếp với tải cần dòng lớn
Khi này cần tính toán các điện trở phân cực cho mạch
Giả sử tải cần dòng 100mA. Khi transistor dẫn bão hoà βs= 25
Vậy tính dòng IB = IC/25 = 4mA R1 = (Vcc - VBE - VCE)/IB ≈ 1K
R2 được thêm vào để giảm dòng rỉ khi transistor ngưng dẫn, R2 khoảng 10K
Trường hợp tải cần dòng lớn hơn nữa ta có thể dùng transistor ghép Darlington để
tăng dòng ra
b. Tải cần áp lớn
Khác với trường hợp tải cần dòng lớn, không thể dùng transistor làm tầng đệm vì
cất cổng logic cấu tạo bởi các transistor bên trong rất nhạy, áp ngược chịu đựng
của chúng không lớn lắm nên với áp tải lớn có thể làm chết chúng thậm chí làm
chết luôn cả transistor đệm ở bên ngoài. Giải pháp trong trường hợp này là phải
dùng thêm 1 transistor khác làm nhiệm vụ cách li áp cao từ tải với cổng logic,
cũng có thể dùng cổng đệm thúc chịu áp cao như 7407
77
Hình 1.86 Giao tiếp với tải cần áp lớn
Ở hình trên transistor cách li điện thế Q1 hoạt động ở cùng điện thế như mạch TTL
còn transistor thúc Q2 hoạt động ở điện áp theo yêu cầu của tải. Ở mức thấp Q1
dẫn để dòng vào Q2 làm nó dẫn và động cơ sẽ chạy. Trong mạch R1, R3 phân cực
cho Q1, Q3 và quyết định dòng ra tải, còn R2, R4 dùng để giảm dòng rỉ, diode D để
bảo vệ transistor Q2 không bị quá dV/dt... Còn với cổng CMOS tác động mức thấp
và cả mức cao khi thúc tải thì cũng tương tự. Transistor darlington được thay thế
(như hình 1.86) nếu thấy cần phải dòng lớn cho tải.
Riêng với cổng TTL tác động mức cao thì có thể không cần transistor cách li cũng
được nếu đủ dòng cho tải (do phân cực nghịch tiếp giáp BC). Tuy nhiên phải lưu ý
rằng điện áp phân cực nghịch không được vượt quá giới hạn điện áp chịu đựng của
mối nối BE (thông thường khoảng 60VDC).
c. Tải hoạt động ở áp xoay chiều
Áp xoay chiều ở đây là áp lưới 220V/50Hz hay dùng, với giá trị lớn như vậy nên cần
cách li cổng logic với tải, một số linh kiện hay dùng để cách li là thyristor, triac, rờ
le, ghép nối quang (opto coupler). Ở đây trình bày cách dùng thyristor và opto
coupler. Cách dùng rờ le cũng giống như ở phần trước, với hai đầu cuộn dây rờ le ở
bên transistor thúc còn chuyển mạch nằm bên tải.
Dùng triac:
Transistor dùng đệm đủ dòng cho triac, các điện trở phân cực và mắc thêm để
giảm dòng rỉ tính toán giống như trước. Triac được dùng cần quan tâm đến dòng
thuận tối đa và điện áp nghịch đỉnh luôn nằm dưới giá trị định mức
78
Hình 1.87 Giao tiếp với tải hoạt động ở điện áp xoay chiều
Dùng kết nối quang:
Cách này cách li hoàn toàn giữa mạch áp thấp và áp cao nhờ 1 opto couple như
hình vẽ. Cổng logic tác động ở mức thấp làm opto dẫn kéo theo SCR được kích để
mở tải. Áp 20VDC nuôi opto được chỉnh lưu từ nguồn xoay chiều, và ổn áp bởi
diode zener. Mạch tác động mức cao cũng tương tự.
Hình 1.88 Giao tiếp dùng kết nối quang
CHƯƠNG 2
BÀI 1:MẠCH CHUYỂN ĐỔI MÃ
Trang 1
Mã hóa và giải mã là như thế nào?
Mã hóa và giải mã không có gì xa lạ và là tất yếu trong đời sống chúng ta. Nó được
dùng để dễ nhớ, dễ đặt, dễ làm,…là quy ước chung cũng có thể phổ biến cũng có
thể bí mật. Chẳng hạn dùng chữ để đặt tên cho 1 con đường, cho 1con người; dùng
số trong mã số sinh viên, trong thi đấu thể thao; quy ước đèn xanh, đỏ, vàng
tương ứng là cho phép đi,đứng, dừng trong giao thông; rồi viết bức thư sử dụng
chữ viết tắt, kí hiệu riêng để giữ bí mật hay phức tạp hơn là phải mã hoá các thông
tin dùng trong tình báo, vv…
79
Thông tin đã được mã hoá rồi thì khi dũng cũng phải giải mã nó và ta chỉ giải được
khi chấp nhận, thực hiện theo đúng những quy ước, điều kiện có liên quan chặt
chẽ tới mã hoá. Trong mạch số, tất nhiên thông tin cũng phải được mã hoá hay
giải mã ở dạng số.Trong những mục này, ta sẽ xem xét cụ thể cách thức, cấu trúc,
ứng dụng của mã hoá giải mã số như thế nào.
Trong các hệ thống số kể cả viễn thông, máy tính; các đường điều khiển tuỳ chọn
hay dữ liệu được truyền đi hay xử lí đều phải ở dạng số hệ 2 chỉ gồm 1 và 0; có
nhiều đường tín hiệu chỉ có 1 bit như đường điều khiển mở nguồn cho mạch ở mức
1; rồi có nhiều đường địa chỉ nhiều bit chẳng hạn 110100 để CPU xác định địa chỉ
trong bộ nhớ; rồi dữ liệu dạng hex gửi xuống máy in cho in ra kí tự. Tất cả các tổ
hợp bit đó được gọi là các mã số (code) hay mã. Và mạch tạo ra các mã số gọi là
mạch mã hoá (lập mã: encoder).
1.1 MÃ HOÁ 8 ĐƯỜNG SANG 3 ĐƯỜNG
Mạch mã hoá 8 đường sang 3 đường còn
gọi là mã hoá bát phân sang nhị phân
(có 8 ngõ vào chuyển thành 3 ngõ ra
dạng số nhị phân 3 bit. Trong bất cứ lúc
nào cũng chỉ có 1 ngõ vào ở mức tích cực
tương ứng với chỉ một tổ hợp mã số 3
ngõ ra; tức là mỗi 1 ngõ vào sẽ cho ra 1
mã số 3 bit khác nhau. Với 8 ngõ vào (I0
đến I7) thì sẽ có 8 tổ hợp ngõ ra nên chỉ
cần 3 ngõ ra (Y2, Y1, Y0).
Hình 2.1.1 Khối mã hoá 8 sang 3
Bảng trạng thái mạch mã hoá 8 sang 3
80
Từ bảng trên, ta có :
Y0 = I1 + I3 + I5 + I7
Y1 = I2 + I3 + I6 + I7
Y2 = I4 + I5 + I6 +I7
Dựa vào 3 biểu thức trên ta có thể vẽ được mạch logic như hình dưới đây :
Hình 2.1.2 Cấu trúc mạch mã hoá 8 sang 3
1.2 MẠCH MÃ HOÁ 10 ĐƯỜNG SANG 4 ĐƯỜNG
Xét mạch hình 2.1.3
Mạch gồm bàn phím 10 phím nhấn từ SW0 đến SW9. Các phím thường hở để các
đường I0 đến I9 ở thấp do có điện trở khoảng nối xuống mass. Trong 1 thời điểm
chỉ có 1 phím được nhấn để đường đó lên cao, các đường khác đều ở thấp. Khi 1
phím nào đó được nhấn thì sẽ tạo ra 1 mã nhị phân tương ứng và sẽ làm sáng led
nào nối với bit 1 của mã số ra đó. Mã này có thể được bộ giải mã sang led 7 đoạn
để hiển thị.
81
Ví dụ khi nhấn phím SW2 mã sẽ tạo ra là 0010 và led hiển thị số 2. Như vậy mạch
đã sử dụng 1 bộ mã hoá 10 đường sang 4 đường hay còn gọi là mạch chuyển đổi
mã thập phân sang BCD.
Hình 2.1.3 Mạch mã hoá 10 sang 4 và đèn led hiển thị
Rõ ràng với 10 ngõ vào, 4 ngõ ra; đây là 1 bài toán thiết kế mạch logic tổ hợp đơn
giản sử dụng các cổng nand như hình dưới đây :
Hình 2.1.4 Cấu trúc mạch mã hoá 10 sang 4
Và đây là bảng sự thật của mạch mã hoá 10 đường sang 4 đường
82
Trong thực tế hệ thống số cần sử dụng rất nhiều loại mã khác nhau như mã
hex,nạp cho vi điều khiển, mã ASCII mã hoá từ bàn phím máy tính dạng in kí tự rồi
đến các mã phức tạp khác dùng cho truyền số liệu trên mạng máy tính, dùng
trong viễn thông, quân sự. Tất cả chúng đều tuân theo quy trình chuyển đổi bởi 1
bộ mã hoá tương đương.
1.3 MẠCH MÃ HOÁ ƯU TIÊN
Với mạch mã hoá được cấu tạo bởi các cổng logic như ở hình trên ta có nhận xét
rằng trong trường hợp nhiều phím được nhấn cùng 1 lúc thì sẽ không thể biết
được mã số sẽ ra là bao nhiêu. Do đó để đảm bảo rằng khi 2 hay nhiều phím hơn
được nhấn, mã số ra chỉ tương ứng với ngõ vào có số cao nhất được nhấn, người ta
đã sử dụng mạch mã hoá ưu tiên. Rõ ràng trong cấu tạo logic sẽ phải thêm 1 số
cổng logic phức tạp hơn, IC 74LS147 là mạch mã hoá ưu tiên 10 đường sang 4
đường, nó đã được tích hợp sẵn tất cả các cổng logic trong nó. Kí hiệu khối của
74LS147 như hình 2.1.5 ở bên dưới:
Hình 2.1.5 IC74LS147
Bảng sự thật của 74LS147
83
Nhìn vào bảng sự thật ta thấy thứ tự ưu tiên giảm từ ngõ vào 9 xuống ngõ vào 0.
Chẳng hạn khi ngõ vào 9 đang là 0 thì bất chấp các ngõ khác (X) số BCD ra vẫn là
1001 (qua cổng đảo nữa). Chỉ khi ngõ vào 9 ở mức 1 (mức không tích cực) thì các
ngõ vào khác mới có thể được chấp nhận, cụ thể là ngõ vào 8 sẽ ưu tiên trước nếu
nó ở mức thấp.
Với mạch mã hoá ưu tiên 8 đường sang 3 đường, cũng có IC tương ứng là 74LS148.
BÀI 1:MẠCH CHUYỂN ĐỔI MÃ
Trang 2
MẠCH GIẢI MÃ
Mạch giải mã là mạch có chức năng ngược lại với mạch mã hoá tức là nếu có 1 mã
số áp vào ngõ vào thì tương ứng sẽ có 1 ngõ ra được tác động, mã ngõ vào thường
ít hơn mã ngõ ra. Tất nhiên ngõ vào cho phép phải được bật lên cho chức năng giải
mã. Mạch giải mã được ứng dụng chính trong ghép kênh dữ liệu, hiển thị led 7
đoạn, giải mã địa chỉ bộ nhớ. Hình dưới là sơ đồ khối của mạch giải mã
2.1 Giải mã 3 sang 8
Mạch giải mã 3 đường sang 8 đường bao gồm 3 ngõ vào tạo nên 8 tổ hợp trạng
thái, ứng với mỗi tổ hợp trạng thái được áp vào sẽ có 1 ngõ ra được tác động.
84
Hình 2.1.6 Khối giải mã 3 sang
8
Bảng sự thật mạch giải mã 3 sang 8
Từ bảng sự thật ta có thể vẽ được sơ đồ mạch logic của mạch giải mã trên
Hình 2.1.7 Cấu trúc mạch giải mã 3 sang 8
Rút gọn hàm logic sử dụng mạch giải mã :
Nhiều hàm logic có ngõ ra là tổ hợp của nhiều ngõ vào có thể được xây dựng từ
mạch giải mã kết hợp với một số cổng logic ở ngõ ra(mạch giải mã chính là 1 mạch
tổ hợp nhiều cổng logic cỡ MSI). Mạch giải mã đặc biệt hiệu quả hơn so với việc sử
dụng các cổng logic rời trong trường hợp có nhiều tổ hợp ngõ ra.
Ví dụ sau thực hiện mạch cộng 3 số X, Y, Z cho tổng là S và số nhớ là C thực hiện
bằng mạch giải mã :
Giả sử mạch cộng thực hiện chức năng logic như bảng sau :
85
Từ bảng cho phép ta xác định được các
tổ hợp logic ngõ vào để S rồi C ở mức cao
S(x, y, z) = (1,2,4,7)
C(x, y, z) = (3,5,6,7)
Như vậy sẽ cần 1 cổng OR để nối chung
các tổ hợp logic thứ 1, 2, 4, 7 để đưa ra
ngõ S
Tương tự ngõ ra C cũng cần 1 cổng OR với ngõ vào là tổ hợp logic thứ 2, 5, 6, 7
Vậy mạch giải mã thực hiện bảng logic trên sẽ được mắc như sau :
Hình 2.1.11 Ứng dụng mạch giải mã làm mạch cộng
2.2 Mạch giải mã BCD sang thập phân
Hình 2.1.3 diễn tả cho hoạt động của mạch mã hoá nếu phím 2 được nhấn, đường
A2 sẽ có mức cao, mã số ra là 0010. Bây giờ ta có mã số áp ngõ vào giải mã là
0010 thì ngõ ra thứ 2 tương ứng sẽ được tác động (giả sử nối tới 1 đèn led thì sẽ
làm nó sáng).
74LS42 là IC làm nhiệm vụ giải mã 4 đường sang 10
đường. Cấu tạo logic và bảng hoạt động của nó sẽ
minh hoạ rõ hơn cho mạch giải mã này :
Hình 2.1.8 Kí hiệu khối của 74LS42
X Y Z S C
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
0
0
0
1
0
1
1
1
86
Hình 2.1.9 Cấu trúc mạch của 74LS42, giải mã 4 sang 10
Bảng sự thật của 74LS42
Để ý là vì có 4 ngõ vào nên sẽ có 16 trạng thái
logic ngõ ra. Ở đây chỉ sử dụng 10 trạng thái logic
đầu, 6 trạng thái sau không dùng. Với mạch giải
mã 4 sang 16 thì sẽ tận dụng hết số trạng thái ra.
Một điểm nữa là các ngõ ra của 7442 tác động ở
mức thấp
Về nguyên tắc ta có thể mã hoá từ n đường sang
m đường và ngược lại giải mã từ m đường sang n
đường, chức năng giữa mã hoá và giải mã không
rõ rệt lắm, chúng đều làm nhiệm vụ chuyển đổi từ
mã này sang mã khác (những mạch ở trên đều nói
đến mã hệ 2, thực ra còn nhiều loại mã khác). Cũng chỉ có một số chúng được tích
hợp sẵn trong IC như 7441, 7442 là giải mã BCD sang thập phân, 7443 là giải mã
thừa 3 sang thập phân, …
Nhiều mạch giải mã còn có thêm mạch chịu dòng hay thế cao hơn mạch logic TTL
thông thường nên còn gọi là mạch giải mã thúc
Mạch sau minh hoạ cách kết hợp mạch đếm sẽ học ở chương sau với mạch giải mã
để cung cấp các hoạt động định thời và định thứ tự, IC giải mã thúc 7445 được
dùng vì tải là động cơ có áp lớn dòng lớn ngoài sức cung cấp của các IC giải mã
thường
87
Hình 2.1.10 Ứng dụng 74LS45
Hình trên cho thấy, mạch đếm tạo ra 16 tổ hợp trạng thái cho mạch mã hoá. Phải
4 chu kì xung ck thì Q3 mới xuống thấp, cho phép động cơ được cấp nguồn; còn
đèn được mở chỉ sau 8 chu kì xung ck. Thời gian mở của tải là 1 chu kì xung ck. Ta
có thể điều chỉnh thời gian này từ mạch dao động tạo xung ck. Về nguyên tắc hoạt
động của mạch đếm 74LS90 ta sẽ tìm hiểu ở chương sau.
2.3 Giải mã BCD sang led 7 đoạn
Một dạng mạch giải mã khác rất hay sử dụng trong hiển thị led 7 đoạn đó là mạch
giải mã BCD sang led 7 đoạn. Mạch này phức tạp hơn nhiều so với mạch giải mã
BCD sang thập phân đã nói ở phần trước bởi vì mạch khi này phải cho ra tổ hợp có
nhiều ngõ ra lên cao xuống thấp hơn (tuỳ loại đèn led anode chung hay cathode
chung) để làm các đoạn led cần thiết sáng tạo nên các số hay kí tự.
Led 7 đoạn
Trước hết hãy xem qua cấu trúc và loại đèn led 7 đoạn của một số đèn được cấu
tạo bởi 7 đoạn led có chung anode (AC) hay cathode (KC); được sắp xếp hình số 8
vuông (như hình trên) ngoài ra còn có 1 led con được đặt làm dấu phẩy thập phân
cho số hiện thị; nó được điều khiển riêng biệt không qua mạch giải mã. Các chân
ra của led được sắp xếp thành 2 hàng chân ở giữa mỗi hàng chân là A chung hay K
chung. Thứ tự sắp xếp cho 2 loại như trình bày ở dưới đây.
88
Hình 2.1.12 Cấu trúc và chân ra của 1 dạng led 7 đoạn
Hình 2.1.13 Led 7 đoạn loại anode chung và cathod chung
cùng với mạch thúc giải mã
Để đèn led hiển thị 1 số nào thì các thanh led tương ứng phải sáng lên, do đó, các
thanh led đều phải được phân cực bởi các điện trở khoảng 180 đến 390 ohm với
nguồn cấp chuẩn thường là 5V. IC giải mã sẽ có nhiệm vụ nối các chân a, b,.. g của
led xuống mass hay lên nguồn (tuỳ A chung hay K chung)
Khảo sát 74LS47
Với mạch giải mã ở trên ta có thể dùng 74LS47. Đây là IC giải mã đồng thời thúc
trực tiếp led 7 đoạn loại Anode chung luôn vì nó có các ngõ ra cực thu để hở và
khả năng nhận dòng đủ lớn. Sơ đồ chân của IC như sau :
89
Hình 2.1.15 Kí hiệu khối và chân ra 74LS47
Trong đó
A, B, C, D là các ngõ vào mã BCD
RBI là ngõ vào xoá dợn sóng
LT là ngõ thử đèn
BI/RBO là ngõ vào xoá hay ngõ ra xoá rợn
a tới g là các ngõ ra (cực thu để hở)
Hình 2.1.16 Cấu trúc bên trong của 74LS47 và dạng số hiển thị
Hoạt động của IC được tóm tắt theo bảng dưới đây
90
Nhận thấy các ngõ ra mạch giải mã tác động ở mức thấp (0) thì led tương
ứng sáng
Ngoài 10 số từ 0 đến 9 được giải mã, mạch cũng còn giải mã được 6 trạng
thái khác, ở đây không dùng đến (ghi chú 2)
Để hoạt động giải mã xảy ra bình thường thì chân LT và BI/RBO phải ở mức
cao
Muốn thử đèn led để các led đều sáng hết thì kéo chân LT xuống thấp (ghi
chú 5)
Muốn xoá các số (tắt hết led) thì kéo chân BI xuống thấp (ghi chú 3)
Khi cần giải mã nhiều led 7 đoạn ta cũng có thể ghép nhiều tầng IC, muốn xoá số
0 vô nghĩa ở trước thì nối chân RBI của tầng đầu xuống thấp, khi này chân ra RBO
cũng xuống thấp và được nối tới tầng sau nếu muốn xoá tiếp số 0 vô nghĩa của
tầng đó (ghi chú 4). Riêng tầng cuối cũng thì RBI để trống hay để mức cao để vẫn
hiển thị số 0 cuối cùng
Ví dụ : Hãy xem một ứng dụng của mạch giải mã led 7 đoạn :
91
Hình 2.1.14 Ứng dụng mạch giải mã 74LS47
Mạch dao động tạo ra xung kích cho mạch đếm, ta có thể điều chỉnh chu kì
xung để mạch đếm nhanh hay chậm
Mạch đếm tạo ra mã số đếm BCD một cách tự động đưa tới mạch giải mã có
thể là cho đếm lên hay đếm xuống
Mạch giải mã sẽ giải mã BCD sang led 7 đoạn để hiển thị số đếm thập phân
Bây giờ ta có thể thay mạch dao động bằng 1 bộ cảm biến chẳng hạn dùng bộ thu
phát led đặt ở cửa vào nếu mỗi lần có 1 người vào thì bộ cảm biến sẽ tạo 1 xung
kích kích cho mạch đếm. Lưu ý rằng IC 7490 là IC đếm chia 10 không đồng bộ mà
ta sẽ học ở chương sau
Như vậy với ứng dụng này ta đã có hệ thống đếm số người vào cổng cũng có thể
đếm sản phẩm qua băng truyền,… tất nhiên chỉ hạn chế ở số người vào nhiều nhất
là 9.
Khi này hình trên được trình bày ở dạng mạch cụ thể như sau :
Hình 2.1.17 Minh hoạ ứng dụng 74LS47 trong mạch hiển thị led 7 đoạn
Ta cũng có thể dùng nhiều IC giải mã thúc 74LS47 để giải mã thúc nhiều led 7
đoạn.Về cấu trúc logic và các thông số của IC, có thể xem thêm trong phần
datasheet.
Những IC giải mã thúc led 7 đoạn khác
Ngoài 74LS47 ra còn có một số IC cũng làm chức năng giải mã thúc led 7 đoạn
được kể ra ở đây :
92
Một số IC còn có khả năng tổng hợp mạch đếm, chốt và giả mã thúc trong cùng 1
vỏ như 74142, 74143, 74144 thậm chỉ bao gồm cả led trong đó như HP5082,
TIL308.
IC giải mã thúc loại CMOS
Họ CMOS cũng có các IC giải mã thúc led 7 đoạn tương ứng, ở đây giới thiệu qua
về 4511
4511 có khả năng thúc, giải mã và
chốt dữ liệu cùng 1 lúc. Các ngõ ra
như đã thấy ở trên đều tác động mức
cao nên 4511 dùng cho giải mã led 7
đoạn loại K chung. Các chân BI, LT
cũng có chức năng tương tự như bên
74LS47. Đặc biệt chân LE cho phép
chốt dữ liệu lại khi nó ở cao. Vì cấu
trúc có sẵn mạch thúc 8421 trong nó
nên 4511 còn có thể thức trực tiếp
thúc hay thúc được tải lớn hơn như
đèn khí nóng sáng, tinh thể lỏng,
huỳnh quang chân khôngHình 2.1.18 Kí hiệu khối và chân ra của 4511
… Những ứng dụng chính của nó là mạch thúc hiển thị trong các bộ đếm, đồng hồ
DVM…, thúc hiển thị tính toán máy tính, thúc giải mã trong các bộ định thời, đồng
hồ khác nhau
Bảng hoạt động của 4511 như dưới đây, chi tiết về nó bạn có thể xem trong phần
datasheet.
93
BÀI 2: MẠCH ĐA HỢP & GIẢI ĐA HỢP
Trang 1
Làm sao để 8 người ở 1 đầu nói và nghe được 8 người ở đầu bên kia cùng một lúc?.
Ta không thể dùng 8 đường dây để kết nối cho 8 đường tín hiệu được vì tốn kém,
bị nhiễu giữa các đường dây hay suy giảm tín hiệu trên đường dây đặc biệt khi
khoảng cách truyền xa lên hay có nhiều hơn số đường cần truyền (16, 32, 100,…).
Có 1 cách là ghép các đường tín hiệu lại với nhau để giảm bớt số đường truyền và
rõ ràng bên nhận được cũng phải tách đường nhận được trở lại 8 đường tín hiệu
ban đầu nhưng để không lẫn lộn giữa các đường tín hiệu ghép lại thì cần phải đặt
cho mỗi đường một mã riêng. Mạch điện tử thực hiện chức năng ghép nhiều đường
lại với nhau được gọi là mạch dồn kênh còn mạch điện tử sẽ tách đường nhận được
ra nhiều đường tín hiệu ban đầu được gọi là mạch tách kênh. Mạch dồn kênh và
tách kênh ngày nay được sử dụng rất rộng rãi trong nhiều lĩnh vực hiện đại liên
quan trực tiếp tới điện tử như ghép tách kênh điện thoại, kênh truyền hình, truyền
dữ liệu nối tiếp, mạng truyền internet,… Với tần số hoạt động được của các IC
mạch số hàng Mhz trở lên nên cho phép ghép truyền được rất nhiều đường tín
94
hiệu và dữ liệu đi coi như là đồng thời. Phần này ta sẽ tìm hiểu về các mạch dồn
kênh, tách kênh dùng IC số và những ứng dụng liên quan.
Mạch dồn kênh là gì?
Mạch dồn kênh hay còn gọi là mạch ghép kênh, đa hợp (Multiplexer-MUX) là 1
dạng mạch tổ hợp cho phép chọn 1 trong nhiều đường ngõ vào song song (các
kênh vào) để đưa tới 1 ngõ ra (gọi là kênh truyền nối tiếp). Việc chọn đường nào
trong các đường ngõ vào do các ngõ chọn quyết định. Ta thấy MUX hoạt động như
1 công tắc nhiều vị trí được điều khiển bởi mã số. Mã số này là dạng số nhị phân,
tuỳ tổ hợp số nhị phân này mà ở bất kì thời điểm nào chỉ có 1 ngõ vào được chọn
và cho phép đưa tới ngõ ra.
Các mạch dồn kênh thường gặp là 2 sang 1, 4 sang 1, 8 sang 1, …Nói chung là từ
2n sang 1. Mục dưới sẽ nói đến mạch dồn kênh 4 sang 1
1.1 Mạch dồn kênh 4 sang 1
Hình 2.2.1 Mạch dồn kênh 4 sang 1 và bảng hoạt động
Mạch trên có 2 ngõ điều khiển chọn là S0 và S1 nên chúng tạo ra 4 trạng thái
logic. Mỗi một trạng thái tại một thời điểm sẽ cho phép 1 ngõ vào I nào đó qua để
truyền tới ngõ ra Y. Như vậy tổng quát nếu có 2n ngõ vào song song thì phải cần n
ngõ điều khiển chọn.
Cũng nói thêm rằng, ngoài những ngõ như ở trên, mạch thường còn có thêm ngõ G
: được gọi là ngõ vào cho phép (enable) hay xung đánh dấu (strobe). Mạch tổ hợp
có thể có 1 hay nhiều ngõ vào cho phép và nó có thể tác động mức cao hay mức
thấp. Như mạch dồn kênh ở trên, nếu có thêm 1 ngõ cho phép G tác động ở mức
thấp, tức là chỉ khi G = 0 thì hoạt động dồn kênh mới diễn ra còn khi G = 1 thì bất
chấp các ngõ vào song song và các ngõ chọn, ngõ ra vẫn giữ cố định mức thấp (có
thể mức cao tuỳ dạng mạch)
Như vậy khi G = 0
S1S0 = 00, dữ liệu ở I0 sẽ đưa ra ở Y
95
S1S0 = 01, dữ liệu ở I1 sẽ đưa ra ở Y
S1S0 = 10, dữ liệu ở I2 sẽ đưa ra ở Y
S1S0 = 11, dữ liệu ở I3 sẽ đưa ra ở Y
do đó biểu thức logic của mạch khi có thêm ngõ G là
Y =G.S1S0I0 + G.S1SI1 + G.S1S0I2 + G.S1S0I3
Ta có thể kiểm chứng lại biểu thức trên bằng cách : từ bảng trạng thái ở trên, viết
biểu thức logic rồi rút gọn (có thể dùng phương pháp rút gọn dùng bìa Kạc nô.
Và sau đó bạn có thể xây dựng mạch dồn kênh trên bằng các cổng logic. Cấu tạo
logíc của mạch như sau : (lưu ý là trên hình không xét đến chân cho phép G)
Nhận thấy rằng tổ hợp 4 cổng NOT để đưa 2 đường điều khiển chọn S0, S1 vào các
cồng AND chính là 1 mạch mã hoá 2 sang 4, các ngõ ra mạch mã hoá như là xung
mở cổng AND cho 1 trong các đường I ra ngoài. Vậy mạch trên cũng có thể vẽ lại
như sau :
Hình 2.2.2 Cấu trúc mạch dồn kênh 4 sang 1 Hình 2.2.3 Dồn kênh 4 sang 1 từ giải
mã 2 sang 4
1.2 Một số IC dồn kênh hay dùng
96
Hình 2.2.4 Kí hiệu khối của một số IC dồn kênh hay dùng
74LS151 có 8 ngõ vào dữ liệu, 1 ngõ vào cho phép G tác động ở mức
thấp, 3 ngõ vào chọn C B A, ngõ ra Y còn có ngõ đảo của nó : Y. Khi G ở
mức thấp nó cho phép hoạt động ghép kênh mã chọn CBA sẽ quyết định
1 trong 8 đường dữ liệu được đưa ra ngõ Y. Ngược lại khi G ở mức cao,
mạch không được phép nên Y = 0 bất chấp các ngõ chọn và ngõ vào dữ
liệu.
74LS153 gồm 2 bộ ghép kênh 4:1 có 2 ngõ vào chọn chung BA mỗi bộ có
ngõ cho phép riêng, ngõ vào và ngõ ra riêng. Tương tự chỉ khi G ở mức 0
ngõ Y mới giống 1 trong các ngõ vào tuỳ mã chọn.
74LS157 gồm 4 bộ ghép kênh 2:1 có chung ngõ vào cho phép G tác động
ở mức thấp, chung ngõ chọn A. Ngõ vào dữ liệu 1I0, 1I1 có ngõ ra tương
ứng là 1Y, ngõ vào dữ liệu 2I0, 2I1 có ngõ ra tương ứng là 2Y, … Khi G ở
thấp và A ở thấp sẽ cho dữ liệu vào ở ngõ nI0 ra ở nY (n = 1,2,3,4) còn khi
A ở cao sẽ cho dữ liệu vào ở nI1 ra ở nY. Khi G = 1 thì Y = 0
Chẳng hạn với 74LS153, kí hiệu khối, chân ra, bảng trạng thái và cấu tạo logic
được minh hoạ ở những hình dưới, với những IC khác cũng tương tự, bạn có thể tìm
thấy trong tờ dữ liệu ở phần phụ lục
Hình 2.2.5 Kí hiệu khối và chân ra của 74LS153
Bảng sự thật của 74LS53
97
Hình 2.2.6 Cấu tạo bên trong của 74LS153
1.3 Ứng dụng
a) Mở rộng kênh ghép
Các mạch ghép kênh ít ngõ vào có thể được kết hợp với nhau để tạo mạch ghép
kênh nhiều ngõ vào. Ví dụ để tạo mạch ghép kênh 16:1 ta có thể dùng IC 74LS150
hoặc các IC tương tự, nhưng có 1 cách khác là ghép 2 IC 74LS151
Sơ đồ ghép như sau :
98
Hình 2.2.7 Hai cách mở rộng kênh ghép 16 sang 1 từ IC74LS151
(74LS151 là IC dồn kênh 8 sang 1)
b) Chuyển đổi song song sang nối tiếp :
Các dữ liệu nhị phân nhiều bit, chẳng hạn mã ASCII, word,... thường được xử lí
song song, tứ là tất cả chúng được làm 1 lúc. Trong máy tính, dữ liệu được di
chuyển từ nơi này đến nơi khác cùng 1 lúc trên các đường dẫn điện song song gọi
là các bus. Khi dữ liệu được truyền đi qua khoảng cách dài chẳng hạn hàng chục
mét thì cách truyền song song không còn thích hợp vì tốn nhiều đường dây, rồi
nhiễu, .... Lúc này mạch dồn kênh có thể dùng như mạch chuyển đổi song song
sang nối tiếp tương tự như mạch ghi dịch mà ta đã xét ở phần trước.
Cách nối
99
Hình 2.2.8 Chuyển đổi dữ liệu truyền từ song song sang nối tiếp
Mạch ở hình trên cho phép truyền dữ liệu 16 bit trên đường truyền nối tiếp thông
qua IC dồn kênh 74LS150. Tất nhiên cần 1 mạch đếm để tạo mã số nhị phân 4 bit
cho 4 ngõ chọn của mạch dồn kênh (chẳng hạn 74LS93). Mạch đếm hoạt động
khiến mã chọn thay đổi từ 0000 rồi 0001, rồi đến 1111 và lại vòng trở lại 0000
đếm lên tiếp khiến dữ liệu vào song song được chuyển đổi liên tiếp sang nối tiếp.
Cũng cần phải có một mạch dao động để tạo xung kích cho mạch đếm, nếu tần số
dao động tạo xung kích cho mạch đếm rất lớn thì dữ liệu được luân chuyển nhanh,
và với tốc độ lớn như vậy với cảm nhận của con người thì dữ liệu dường như được
truyền đồng thời. Nguyên lí này được áp dụng cho ghép kênh điện thoại và nhiều
ứng dụng khtransistor
c) Dùng dồn kênh để thiết kế tổ hợp :
Các mạch dồn kênh với hoạt động logic như đã xét ở trước ngoài cách dùng để
ghép nhiều đường ngõ vào còn có thể dùng để thiết kế mạch tổ hợp đôi khi rất dễ
dàng vì :
Không cần phải đơn giản biểu thức nhiều
Thường dùng ít IC
Dễ thiết kế
Bài toán thiết kế mạch tổ hợp như bảng dưới đây cho thấy rõ hơn điều này
Ví dụ : Thiết kế mạch tổ hợp thoả bảng sự thật sau
100
Từ bảng sự thật ta có biểu thức logic là
:
Y=ABC+ABC+ABC+ABC
Đây là biễu thức thuộc dạng tổng của
các tích. Như cách thiết kế ở trước ta
sẽ sử dụng các cổng logic gồm 3 cổng
NOT, 4 cổng NAND, 1 cổng OR, còn nếu
chuyển sang dùng toàn cổng NAND
không thì phải cần tới 3 cổng NAND 2
ngõ vào, 4 cổng NAND 3 ngõ vào và 1
cổng NAND 4 ngõ vào chưa kể là phải
đơn giản biểu thức nếu có thể trước
khi thực hiện.
Bây giờ ta sẽ sử dụng IC
dồn kênh 8 sang 1. 3
ngõ vào A, B, C sẽ được
nối tới 3 ngõ chọn của
IC, căn cứ vào thứ tự tổ
hợp trong bảng nếu Y là
0 thì sẽ phải nối ngõ vào
ghép kênh tương ứng
xuống mass, còn nếu Y
là 1 thì nối ngõ vào
ghép kênh tương ứng
lên nguồn (có thể qua R
giá trị 1K). Hình 2.2.9 sẽ
minh hoạ cho cách nối
trên và nếu bạn kiểm
tra lại sẽ thấy mạch
hoàn toàn thoả điều
kiện đề ra của bài toán.
101
Hình 2.2.9 Thiết kế tổ hợp dùng mạch dồn kênh
BÀI 2: MẠCH ĐA HỢP & GIẢI ĐA HỢP
Trang 2
MẠCH TÁCH KÊNH
Mạch tách kênh là gì?
Bộ chuyển mạch phân kênh hay còn gọi là tách kênh, giải đa hợp (demultiplexer)
có chức năng ngược lại với mạch dồn kênh tức là : tách kênh truyền thành 1 trong
các kênh dữ liệu song song tuỳ vào mã chọn ngõ vào. Có thể xem mạch tách kênh
giống như 1 công tắc cơ khí được điều khiển chuyển mạch bởi mã số. Tuỳ theo mã
số được áp vào ngõ chọn mà dữ liệu từ 1 đường sẽ được đưa ra đường nào trong số
các đường song song.
Các mạch tách kênh thường gặp là 1 sang 2, 1 sang 4, 1 sang 8, ...Nói chung từ 1
đường có thể đưa ra 2n đường, và số đường để chọn sẽ phải là n. Mục dưới sẽ nói
đến mạch tách kênh 1 sang 4
2.1 Mạch tách kênh 1 sang 4
102
Hình 2.2.9 Mạch tách kênh 1 sang 4
Mạch tách kênh từ 1 đường sang 4 đường nên số ngõ chọn phải là 2
Khi ngõ cho phép G ở mức 1 thì nó cấm không cho phép dữ liệu vào được truyền ra
ở bất kì ngõ nào nên tất cả các ngõ ra đều ở mức 0
Như vậy khi G = 0 BA = 00 dữ liệu S được đưa ra ngõ Y0, nếu S = 0 thì Y0 cũng
bằng 0 và nếu S = 1 thì Y0 cũng bằng 1,tức là S được đưa tới Y0; các ngõ khác
không đổi
Tương tự với các tổ hợp BA khác thì lần lượt ra ở S sẽ là Y1, Y2, Y3
Biểu thức logic của
các ngõ ra sẽ là :
Y0 = G.B.A.S
Y1 = G.B.A.S
Y2 = G.B.A.S
Y3 = G.B.A.S
Từ đây có thể dùng
cổng logic để thiết kế
mạch tách kênh
Hình 2.2.10 Cấu trúc
của mạch tách kênh 1
sang 4
Ví dụ : Khảo sát IC 74LS155
Hình 2.2.12 Kí hiệu khối và chân ra của 74LS155
103
Trong cấu trúc của nó gồm 2 bộ tách kênh 1 sang 4, chúng có 2 ngõ chọn A0A1
chung, ngõ cho phép cũng có thể chung khi nối chân 2 nối với chân 15). Một lưu ý
khác là bộ tách kênh đầu có ngõ ra đảo so với ngõ vào (dữ liệu vào chân 1 không
đảo) còn bộ tách kênh thứ 2 thì ngõ vào và ngõ ra như nhau khi được tác động
( dữ liệu vào chân 14 đảo).
Cấu trúc logic của mạch không khác gì so với mạch đã xét ở trên ngoài trừ mạch
có thêm ngõ cho phép
Bảng sự thật của 74LS155
Mạch tách kênh hoạt động như mạch giải mã
Nhiều mạch tách kênh còn có chức năng như 1 mạch giải mã. Thật vậy,vào dữ liệu
S không được dùng như 1 ngõ vào dữ liệu nối tiếp mà lại dùng như ngõ vào cho
phép còn các ngõ vào chọn CBA khi này lại được dùng như các ngõ vào dữ liệu và
các ngõ ra vẫn giữ nguyên chức năng thì mạch đa hợp lại hoạt động như 1 mạch
giải mã.
Tuỳ thuộc mã dữ liệu áp vào ngõ C B A mà một trong các ngõ ra sẽ lên cao hay
xuống thấp tuỳ cấu trúc mạch. Như vậy mạch tách kênh 1:4 như ở trên đã trở
thành mạch giải mã 2 sang 4 . Thực tế ngoài ngõ S khi này trở thành ngõ cho phép
giải mã, mạch trên sẽ phải cần một số ngõ điều khiển khác để cho phép mạch hoạt
động giải mã hay tách kênh; còn cấu tạo logic của chúng hoàn toàn tương thích
nhau. Hình sau cho phép dùng mạch tách kênh 1 sang 4 để giải mã 2 sang 4
104
Hình 2.2.13 Mạch tách kênh hoạt động như mạch giải mã
Tương tự ta cũng có các loại mạch khác như vừa tách kênh 1:8 vừa giải mã 3:8,
tách kênh 1:16/giải mã 4:16…
2.2 Một số IC giải mã tách kênh hay dùng
Khảo sát IC tách kênh/giải mã tiêu biểu 74LS138
74LS138 là IC MSI giải mã 3 đường sang 8 đường hay tách kênh 1 đường
sang 8 đường thường dùng và có hoạt động logic tiêu biểu, nó còn thường
được dùng như mạch giải mã địa chỉ trong các mạch điều khiển và trong
máy tính.
Sơ đồ chân và kí hiệu logic như hình dưới đây :
Hình 2.2.14 Kí hiệu khối và chân ra của 74LS138
Trong đó
o A0, A1, A2 là 3 đường địa chỉ ngõ vào
o E1, E2 là các ngõ vào cho phép (tác động mức thấp)
o E3 là ngõ vào cho phép tác động mức cao
o O0 đến O7 là 8 ngõ ra (tác động ở mức thấp )
105
Hình 2.2.15 Cấu trúc bên trong 74LS138
Hoạt động giải mã như sau :
Đưa dữ liệu nhị phân 3bit vào ở C, B, A(LSB), lấy dữ liệu ra ở các ngõ O0 đến
O7; ngõ cho phép E2 và E3 đặt mức thấp, ngõ cho phép E1 đặt ở mức cao.
Chẳng hạn khi CBA là 001 thì ngõ O1 xuống thấp còn các ngõ ra khác đều ở
cao.
Hoạt động tách kênh :
Dữ liệu vào nối tiếp vào ngõ E2, hay E3 (với ngõ còn lại đặt ở thấp). Đặt G =
1 để cho phép tách kênh. Như vậy dữ liệu ra song song vẫn lấy ra ở các ngõ
O0 đến O7. Chẳng hạn nếu mã chọn là 001thì dữ liệu nối tiếp S sẽ ra ở ngõ
O1 và không bị đảo.
Mở rộng đường giải mã : 74LS138 dùng thêm 1 cổng đảo còn cho phép giải
mã địa chỉ từ 5 sang 32 đường (đủ dùng trong giải mã địa chỉ của máy vi
tính). Hình ghép nối như sau :
106
Hình 2.2.16 Ghép 4 IC 74LS138 để có mạch giải mã 5 đường sang 32 đường
Các IC giải mã tách kênh khác :
o Ngoài 74LS155 và 74LS138 được nói đến ở trên ra còn một số IC cũng có
chức năng giải mã/tách kênh được kể ra ở đây là
o 74139/LS139 gồm 2 bộ giải mã 2 sang 4 hay 2 bộ tách kênh 1 sang 4, chúng
có ngõ cho phép (tác động mức thấp) và ngõ chọn riêng
o 74154/LS154 bộ giải mã 4 sang 16 đường hay tách kênh 1 sang 16 đường
o 74159/LS159 giống như 74154 nhưng có ngõ ra cực thu để hở
o 74155/LS155 như đã khảo sát ở trên : gồm 2 bộ giải mã 2 sang 4 hay 2 bộ
tách kênh 1 sang 4. Đặc biệt 74155 còn có thể hoạt động như 1 bộ giải mã 3
sang 8 hay tách kênh 1 sang 8 khi nối chung ngõ cho phép với ngõ vào dữ
liệu nối tiếp và nối chung 2 ngõ chọn lại với nhau.
o 74156/LS156 giống như 74155 nhưng có ngõ ra cực thu để hở.
o Công nghệ CMOS cũng có các IC giải mã/tách kênh tương ứng như bên TTL
chẳng hạn có 74HC/HCT138,...Hơn thế nữa nhiều IC họ CMOS còn cho phép
truyền cả dữ liệu số lẫn dữ liệu tương tự. Một số IC được kể ra ở đây là
o 74HC/HCT4051 dồn/tách kênh tương tự số 1 sang 8 và ngược lại
o 74HC/HCT4052 dồn/tách kênh tương tự số 1 sang 4 và ngược lại
o 74HC/HCT4053 dồn/tách kênh tương tự số 1 sang 2 và ngược lại
Khảo sát IC 4051
107
o Khi dồn kênh dữ liệu vào chân COM OUT/IN, ra ở 3 kênh CHANNEL I/O từ 0
đến 7.
o Ngược lại, khi tách kênh thì dữ liệu song song vào các chân CHANNEL I/O 0
đến 7 và ra ở chân COM OUT/IN;
o 3 ngõ chọn là A, B, C.
o Chân INH (inhibit) cho phép dữ liệu được phép truyền ra.
o Hoạt động của IC được tóm tắt như bảng sau :
Hình 2.2.17 Chân ra 4051
o Cấu trúc logic mạch khá phức tạp như hình dưới đây
Hình 2.2.18 Cấu trúc mạch của 4051
108
BÀI 3: MẠCH SO SÁNH
Ngày nay chúng ta đã rất quen thuộc với máy vi tính, đó là 1 hệ thống vi xử lí
hoàn hảo. Trong cấu trúc của VXL có 1 thành phần rất quan trọng là ALU
(Arithmetic logic unit : bộ logic và số học). Nó có thể tính toán hàng ngàn, triệu
phép tính trong 1s. Cấu tạo nên VXL lại gồm các mạch đếm, thanh ghi, cổng logic
và cả các mạch so sánh cộng trừ nhân chia số học gọi là các mạch làm toán. Không
những thế các mạch làm toán còn được sử dụng trong điện tử nói chung kể cả điều
khiển tự động, truyển dữ liệu chẳng hạn như khi thu nhận dữ liệu từ bên ngoài thì
cần phải có mạch tính toán, so sánh để cho tín hiệu phản hồi.
Phần này sẽ tìm hiểu về các mạch làm toán cơ bản và giới thiệu qua về ALU. Đây
không chỉ là kiến thức cần biết khi học mạch số mà còn là nền tảng để có thể tiếp
cận lĩnh vực máy tính và VXL mà ta sẽ gặp khi học hay tìm hiểu các môn VXL, vi
điều khiển, cấu trúc máy tính, truyền số liệu...
1. Mạch so sánh
Trước hết hãy xem 1 ví dụ của việc cần thiết phải dùng mạch so sánh : đó là việc
điều khiển nhiệt độ của 1 lò nhiệt như hình dưới đây :
1 bộ cảm biến sẽ chuyển đổi tình trạng nhiệt độ của lò thành tín hiệu điện tương
ứng với 1 nhiệt độ xác định. Bộ so sánh làm nhiệm vụ so sánh tín hiệu vừa đưa về
với tín hiệu đã cài đặt.Tuỳ theo tín hiệu ngõ ra, sẽ ra quyết định để cơ cấu chấp
hành gia tăng, giảm, hay giữ nguyên nhiệt độ thậm chí có thể kết hợp để báo
động hiển thị về tình trạng của lò.
109
Hình 2.3.1 Hệ thống điều khiển nhiệt độ lò
Để đơn giản, giả sử tín hiệu đưa về là A, chỉ có 2 mức logic là cao và thấp (tín hiệu
số 1 bit). Tín hiệu đem so sánh là B (tín hiệu cài đặt)
Sẽ có 3 trường hợp xảy ra cho ngõ ra :
A > B khi A = 1 và B = 0
A < B khi A = 0 và B = 1
A = B khi A = 1 = B hay A = 0 = B
Từ đây xây dựng bảng sự thật cho 3 trường hợp ngõ ra từ tổ hợp trạng thái 2 ngõ
vào ra như sau :
Bảng 2.3.1 So sánh 2 số 1 bit
Nhận thấy
Trường hợp A = B là ngõ ra của 1 cổng EXNOR 2 ngõ vào A và B
110
Trường hợp A < B là ngõ ra của 1 cổng AND 2 ngõ vào A v
Trường hợp A > B là ngõ ra của 1 cổng AND 2 ngõ vàoĠ và B
Đây được gọi là mạch so sánh độ lớn 1 bit. Cấu trúc mạch sẽ như sau :
Hình 2.2.2 Khối so sánh 1 bit Hình 2.2.3 Mạch so sánh 1 bit
Bây giờ dạng tín hiệu vào mạch so sánh không phải chỉ có mức cao hay mức thấp
(1 bit) mà là một chuỗi các xung vuông thì mạch khi này phải là mạch so sánh độ
lớn nhiều bít.
Hình thức so sánh của mạch 4 bit cũng giống như mạch 1 bit và rõ ràng là phải so
sánh bit MSB trước rồi mới lùi dần.
7485/LS85 là 1 IC tiêu biểu có chứa mạch so sánh 4 bit
Kí hiệu khối của IC như hình, còn sơ đồ chân có thể xem trong phần datasheet
Hình 2.3.4 Mạch so sánh độ lớn 4 bit
74LS85
111
Bảng 2.3.2 Bảng sự thật của 74LS85
Nhìn vào bảng sự thật của IC ta có thể thấy được hoạt động của mạch
Ở 8 trường hợp đầu mạch so sánh bình thường, lần lượt so sánh từ bít cao trước.
Khi tất cả các bit của 2 ngõ vào đều bằng nhau thì phải xét đến logic của các ngõ
vào nối chồng (được dùng khi ghép chồng nhiều IC để có số bit so sánh lớn hơn).
Logic ở các ngõ vào này thực ra là của các ngõ ra tầng so sánh các bit thấp (nếu
có). Trường hợp ngõ vào nối chồng nào lên cao thì ngõ ra tương ứng cũng lên
cao.Trường hợp các bít trước không so sánh được thì các ngõ ra sau cùng đều
thấp. Trường hợp không có tín hiệu ngõ vào nối chồng thì tức là dữ liệu ngõ vào A
và B khác nhau nên ngõ ra A < B và A> B đểu ở mức cao. Vậy để mạch so sánh
đúng 4 bit thì nên nối ngõ nối chống A = B ở mức cao
Hình sau đây cho cách hiểu dễ hơn với các ngõ vào nối chồng khi ghép 2 IC
74LS85.
112
Hình 2.3.5 Nối chồng 2 IC 74LS85 để có
mạch so sánh độ lớn 8 bit
Ví dụ sau ứng dụng mạch so sánh vào trò chơi đơn giản :
Người chơi sẽ nhấn nút SW trong chốc lát để tạo một số xung kích từ mạch dao
động; khi đó mạch đếm sẽ cho mã số B3B2B1B0 ngẫu nhiên. Một mã số được cài
sẵn (chẳng hạn dùng công tắc tạo mức logic cho A3A2A1A0 là 0110) sẽ so sánh với
số đếm ngẫu nhiên vừa vào. Nếu chúng bằng nhau đèn vàng sẽ sáng, nếu A > B
đèn đỏ sáng, còn khi A < B thì đèn xanh sáng. Như vậy có thể đặt ra quy định là
đèn vàng sáng thì người chơi thắng chẳng hạn. Mạch dao động có thể dùng IC 555
hay dùng cổng logic như ở chương trước cũng được.
Hình 2.3.6 Ứng dụng trò chơi đơn giản dùng mạch so sánh 74LS85
BÀI 4: PHÉP TÍNH SỐ HỌC
113
MẠCH CỘNG
2.1 Mạch cộng nửa
Gọi A là số được cộng
B là số cộng
S là tổng của A và B
C là số nhớ ra từ phép cộng
Trước hết để đơn giản, xét mạch cộng nhị phân 1 bit
Với tổ hợp 4 trạng thái logic của A và B thì trạng thái logic ngõ ra S và C như sau:
Hình 2.3.7 Cộng nửa
Rút gọn biểu thức logic ta có
S = AB + AB
C = AB
Nhận thấy S là ngõ ra của cổng EXOR 2 ngõ vào A và B; còn C là ngõ ra của cổng
AND
Từ đây vẽ được cấu trúc logic của mạch
Hình 2.3.8 Mạch cộng nửa
Đây là mạch cộng nửa hay cộng chưa đủ (haft adder : HA) vì chưa có số nhớ ban
đầu của phép cộng trước đó.
114
2.2 Mạch cộng đủ
Bây giờ giả sử mạch đã thực hiện phép cộng lần đầu rồi nên được tổng là S0 và số
nhớ C0, nếu tiếp tục cộng lần 2 khi trạng thái logic của A và B thay đổi thì S không
chỉ là tổng của A và B mà gồm cả C0 trước đó. Khi này ta có mạch cộng đủ: full
adder (FA)
Hình 2.3.9 Cộng đủ
Rút gọn biểu thức ta được
S = C0 Å (A Å B)
C = AB + (A Å B)
Cấu trúc của mạch logic sẽ là :
Hình 2.3.10 Mạch cộng đủ
Nhận thấy rằng : FA thực ra bao gồm trong nó 2 HA và cổng OR ở ngõ ra cho số
nhớ C
Cả 2 mạch HA và FA ở trên mới chỉ làm phép cộng 1 bit
2.3 cộng nhiều bit
115
Cộng song song
Bây giờ nếu 2 số cộng có nhiều bit hơn thì cách cộng cũng sẽ tương tự : trước hết
cộng 2 bit LSB để cho bit tổng (LSB). Số nhớ được đưa tới để cộng chung với 2 bit
kế tiếp bit LSB để cho bit tổng ở hàng kế tiếp cho đến phép cộng cuối cùng giữa 2
bit MSB để được bit tổng ở hàng đó, số nhớ khi này trở thành bit LSB của tổng
Hình sau sẽ minh hoạ rõ ràng hơn mạch cộng nhiều bit (4 bit)
Hình 2.3.11 Cộng 4 bit
Đây là một mạch cộng song song vì các hàng được cộng cùng một lúc tuy nhiên
như cấu trúc mạch ở trên thì các bit ra của tổng không phải là đồng thời bởi vì các
phép cộng ở các bit cao thì chậm hơn do phải chờ bit nhớ ở phép cộng trước đưa
tới. Tức là đã có trì hoãn làm giảm tính đồng bộ của mạch. Nếu thêm vào mạch cho
phép cung cấp sẵn các bit nhớ để phục vụ cho các phép cộng ở các hàng được
cùng lúc thì sẽ khắc phục được điểm này. Với công nghệ tích hợp cao, việc thêm
mạch cung cấp sẵn các bit nhớ trở nên dễ dàng hơn khi đó mạch trở thành mạch
cộng có số nhớ nhìn trước.
Một số IC làm phép cộng toàn phần được kể ra ở đây là
7480 (1bit), 7482 (2bit), 7483/LS83/283 (4bit)
Ví dụ : xét qua IC 74LS83
Hình 2.3.12 Kí hiệu khối và chân ra 74LS83
Trong đó 2 số 4 bit vào là A4A3A2A1 và B4B3B2B1
116
Số nhớ ban đầu là C0
Vậy tổng ra sẽ là C4S4S3S2S1, với C4 là số nhớ của phép cộng
Ta cũng có thể nối chồng IC cộng lại với nhau để cho số bit gấp đôi. Khi đó bit MSB
(C4) của tầng đầu được nối tới ngõ vào nhớ ban đầu (C0) của tầng sau.
Hình 2.3.13 Mạch logic của 74LS83
Bảng sự thật của mạch cộng 4 bit 74LS83
Cộng nối tiếp
Ngoài cách cộng song song như đã thấy ở trên, còn một dạng mạch cộng số nhiều
bit nữa gọi là mạch cộng nối tiếp. Khi này 2 bit LSB của các số được cộng trước, bit
LSB của tầng được đưa ra 1 ghi dịch còn số nhớ sẽ quay trở về cộng chung với 2
bit kế tiếp bit LSB và cứ vậy cho đến 2 bit cuối cùng được cộng. Mạch ghi dịch ngõ
ra dịch chuyển sang phải qua mỗi lần cộng sẽ cho ra kết quả cộng số nhớ cuối
cùng trở thành bit MSB của tổng ra. Rõ ràng mạch thực hiện phép tính chậm hơn
117
so với cộng song song, nó cũng cần 1 xung nhịp để giữ cho các mạch làm việc
động bộ
Hình 2.3.14 Mạch cộng 4 bit nối tiếp
MẠCH TRỪ
3.1 Mạch trừ nửa và trừ đủ
Cũng gồm 2 loại mạch trừ nửa hay chưa đủ : haft subtractor (HS) và trừ đủ hay
còn gọi là trừ bán phần : full subtractor (FS) (khi này cần bit mượn Bi trước tham
gia vào phép tính)
Phép trừ thực ra là phép cộng với số âm. Để có số âm của 1 số ta lấy bù 1 của số
đó, còn khi thực hiện mạch thì đó là cổng đảo
Hình 2.3.15 là mạch trừ HS và bên cạnh là bảng trạng thái
Hình 2.3.15 Mạch trừ nửa, bảng trạng thái và mạch logic
Còn hình 2.3.17 là mạch trừ FS cùng bảng trạng thái hoạt động ở bên cạnh
118
hình 2.3.17 Mạch trừ đủ
Về cấu trúc mạch trừ cũng tương tự mạch cộng chỉ khác là số bị trừ B cần phải qua
cổng đảo khi thực hiện AND với số trừ A để cho số mượn R. Mạch trừ FS cũng gồm
2 mạch trừ HS và cổng OR ở ngõ ra cho số mượn B0
Hình 2.3.18 Mạch trừ hết
3.2 Mạch trừ nhiều bit
Với mạch trừ nhị phân nhiều bit, cũng có thể thực hiện song song các mạch cộng
FS từng bit nhưng các bit của số bị trừ cần được đảo, số nhớ của tầng cuối cần
đem về bit nhớ ban đầu của tầng đầu. Hình minh hoạ cho mạch trừ nhị phân 4 bit
119
Hình 2.3.19a Mạch trừ 4 bit song
song Hình 2.3.19b Trừ 4 bit nối tiếp
3.3 Mạch cộng trừ kết hợp
Bây giờ nếu thêm vào một số cổng
logic cần thiết ta đã có 1 mạch có
thể cộng hay trừ tuỳ theo ngõ vào
điều khiển CT
Khi CT = 0, các cổng EXOR có 1 ngõ
ở thấp nên cho số B qua không bị
đảo, tức là mạch thực hiện phép
cộng
Khi CT = 1, các cổng EXOR có 1 ngõ
ở cao nên hoạt động như 1 cổng
NOT, số B bị đảo, khi này mạch thực
hiện phép cộng A + (-B) tức là phép
trừ.
Co3 là bit LSB của tổng được vòng
trở lại (qua cổng AND) về Ci0; sẽ cho
phép cộng nhiều bit. Hình 2.3.21 Mạch cộng trừ dùng bù 1
120
Ngoài cách dùng bù 1, ta cũng có
thể dùng bù 2 (lấy bù 1 rồi cộng
thêm 1) để thực hiện phép toán trừ
nhị phân kể cả số có dấu. Cách này
được sử dụng phổ biến ở VXL và máy
tính.
Hình 2.3.22 là mạch cộng trừ 2 số 4
bit dùng bù 2. Để ý là mạch khá
giống như nó ở cách dùng bù 1
nhưng bit nhớ ra cuối cùng không
cần đem về tầng đầu. Tổng hay hiệu
ra ở dạng bù 2, muốn lấy đúng kết
quả thì phải chuyển trở lại.
Khi đó mạch cộng trừ nhị phân 4 bit
dùng bù 2 sẽ như sau :Hình 2.3.22 Mạch cộng trừ dùng bù 2
CỘNG TRỪ BCD4.1 Cộng 2 số BCD
Số BCD thực ra cũng là số nhị phân n bit nhưng chỉ có 10
tổ hợp trạng thái từ 0000 đến 1001 (biểu thị số thập
phân tương ứng là từ 0 đến 9) nên cách cộng cũng tương
tự như cổng số nhị phân nhiều bit. Tuy nhiên khi tổng
vượt quá 1001 thì tức là tổng đó không còn là số BCD
nữa, do đó ta phải cộng tổng với 0110 (số 610) để cho
tổng mới là số BCD đồng thời số nhớ chính là hàng cao hơn của tổng.
Ví dụ như cộng 2 số BCD sau:
121
Hình 2.3.23 Mạch cộng 2 số BCD 1 bit
2 số cần cộng là A3A2A1A0 và B3B2B1B0 cho tổng là C3S4S3S2S1 (C3 là hàng
chục nếu có).
Nếu tổng đầu vượt quá 9 ( từ 10 đến 18) thì các cổng logic sẽ cho phép xác định
hàng chục đồng thời tổng này phải được cộng thêm 6 ở tầng 74LS83 thứ 2 để cho
tổng cuối cùng ở dạng BCD.
Nếu tổng không vượt quá 9 (vẫn là số BCD) thì tổng hàng chục không có nên
74LS83 thứ 2 sẽ cộng tổng này với 0, tổng ra không có gì thay đổi.
Ta có thể ghép nhiều mạch cộng ở trên để có mạch cộng 2 số BCD nhiều bit, khi đó
chỉ việc nối ngõ ra hàng chục của tầng đầu tới ngõ vào số nhớ Ci của tầng sau là
được.
4.2 Trừ 2 số BCD
Với phép trừ BCD, ta phải lấy bù 9 của số trừ rồi mới làm phép cộng lại với số bị
trừ. Lấy bù 9 của 1 số tức là lấy 9 trừ đi số đó. Ở chương 1 có nói rõ hơn về phép
trừ BCD
Ví dụ về phép trừ BCD : 9 – 5 và 2 – 6
122
Hình 2.3.24 Mạch trừ 2 số BCD 1 bit
MẠCH NHÂN CHIA5.1 Mạch nhân 2 số nhị phân
Về nguyên lí, đó là phép cộng nhiều lần. Cách nhân 2 số nhị phân xin xem lại
chương 1. Mạch ở hình 2.3.25 minh hoạ cho mạch nhân 2 số nhị phân 4 bit A và B.
Mạch gồm ghi dịch 4 bit để chứa số được nhận A, ghi dịch 5 bit để chứa số nhân B,
ghi dịch 6 bit để chứa kết quả nhân (còn gọi là bộ tích luỹ : accumulator). 5 cổng
And sẽ tạo tích từng phần của các cặp bit và 6 bộ cộng toàn phần để tạo tích cuối
và số nhớ tương ứng.
123
Hình 2.3.25 Cấu trúc 1 mạch nhân 2 số nhị phân
Ví dụ về phép nhân 2 số A = 1101và B = 1011:
Số nhân (A): 1101 (1310)
Số bị nhân B : 1011 (1110)
Tích 1101
từng 1101
phần 0000
1101
Tích cuối : 10001111 (14310)
5.2 Mạch chia 2 số nhị phân
Còn với mạch chia 2 số nhị phân, nguyên tắc là trừ liên tiếp để cho kết quả, bạn có
thể xem thêm ở phần mạch chia nhị phân chương 1, hình mạch khá phức tạp nên
không được trình bày ở đây.
BỘ LOGIC VÀ SỐ HỌC
124
ALU là thành phần quan trọng của CPU trong máy
tính, nó có thể thực hiện nhiều phép tính số học
và logic dựa trên dữ liệu thường bao gồm phép
cộng, trừ, and,or, exor, dịch chuyển, tăng giảm
dần và cả phép nhân, chia. Ngoài ra cũng có một
số ALU sản xuất ở dạng IC rời, tất nhiên chúng
không thể làm đầy đủ các chức năng như ALU
trong VXL. Sau đây, ta hãy xem qua 2 ALU rời hay
dùng.
6.1 ALU 74LS181
A0 – A3 : dữ liệu nhị phân 4 bit vào (A =
A3A2A1A0)
B0 – B3 : dữ liệu nhị phân 4 bit vào (B= B3B2B1B0)
CYN : số nhớ ban đầu vào (tác động ở mức thấp)
S0 – S3 : Mã số chọn (S = S3S2S1S0) để chọn chức năng của ALU.
M điều khiển kiểu (chế độ) hoạt động logic (M =1) hay số học (M = 0).
Q0 – Q3 : dữ liệu nhị phân 4 bit ra tác động ở thấp (Q = Q3Q2Q1Q0).
CYN + 4 số nhớ ra (tác động thấp). Ở phép trừ nó chỉ dấu của kết quả :
o Logic 0 chỉ kết quả dương.
o Logic 1 chỉ kết quả âm ở dạng số bù 2.
Ngõ số nhớ vào Cn và ngõ số nhớ ra CYN+4 cho phép nối chồng nhiều IC
74LS181.
A = B : logic 1 ở ngõ vào này chỉ A = B, logic 0 chỉ A ≠ B.
G (carry generate output) và P (carry propagate input) : hai ngõ này được
dùng khi nối chồng các IC 74LS181.
Hoạt động logic của 74181 được trình bày ở bảng chức năng dưới đây
Hình 2.3.26 Khối ALU 74LS181
125
6.2 ALU 74LS382
ALU 74LS/HC382 cũng là loại 4 bit nhưng có 3 ngõ chọn chức năng nên có ít chức
năng logic số học hơn 74LS181. Nó cũng có ngõ vào số nhớ CN, ngõ ra số nhớ CYN+1
như 74LS181 nhưng có thêm ngõ ra chỉ báo tràn overflow trong lúc không có một
số ngõ ra khác như 74LS181. Khi dùng số có dấu ngõ overflow sẽ lên 1 khi phép
cộng hay trừ tạo số vượt quá số có dấu 4 bit. Ngõ số nhớ vào và số nhớ ra cũng
còn dùng để nối chồng nhiều IC 74382.
126
Hình 2.3.27 Kí hiệu khối ALU 74LS382 và bảng hoạt động
BÀI 5: MẠCH PHÁT VÀ KIỂM TRA TÍNH CHẴN LẺ
Dữ liệu dạng số khi được lưu trữ, xử lí hay truyền từ máy này qua máy khác có thể
bị lỗi. Như khi truyền dữ liệu đi xa qua môi trường điện thoại, dây cáp, không gian
có thể bị ảnh hưởng bởi nhiệt độ, nhiễu đường dây, điện từ… hay do lâu ngày các
bộ xử lí, bộ chuyển đổi có một sai sót nhỏ sẽ làm thay đổi dữ liệu.
Ví dụ : trong 1 khối dữ liệu có chữ A mã ASCII là 1000001 sẽ bị sai thành
100000 ,bit sai có thể là bất cứ 1 bít nào khác. Mặc dù xác suất làm sai chỉ 1 bít
trong cả khối dữ liệu là rất nhỏ ( trung bình khoảng 100000 bit mới có 1 bit sai)
nhưng trong nhiều trường hợp đòi hỏi phải thật chính xác hay giảm hết mức những
sai sót nhỏ này. Có nhiều mạch có thể phát hiện sai và sửa lỗi, bạn sẽ gặp lại nội
dung này kĩ hơn trong môn “Truyền số liệu”, ở đây xin nói tới mạch tạo kiểm
parity.
Có 2 dạng mạch chính là parity chẵn và parity lẻ. Cả 2 đều được sử dụng.
Với parity chẵn : dữ liệu trước khi truyền đi sẽ được đếm tổng số bit
o Nếu tổng chẵn, bit parity 0 được thêm vào trước mỗi khối dữ liệu
truyền.
o Nếu tổng lẻ thì bit parity 1 được thêm vào (để nó chẵn)
Ở đầu nhận dữ liệu, mạch sẽ kiểm tra từng khối dữ liệu nhận được xem có
tổng số bit là chẵn hay không. Nếu không thì tức là đã có 1 bit nào đó trong
khối dữ liệu bị sai. Ngược lại là mạch truyền đúng
Với parity lẻ thì ngược lại khối dữ liệu phải được làm lẻ trước khi truyền.
Ví dụ : Truyền 1 khối dữ liệu 4 bit 1101 có sử dụng mạch tạo kiểm parity để rò sai
được minh hoạ như hình dưới đây :
127
Hình 2.3.28 Mạch tạo kiểm Parity
Giả sử mạch parity chẵn được dùng. Nhận thấy rằng tổng số bit truyền là 3 (lẻ)
nên bit parity 1 được thêm vào cho chẵn. Như vậy, dữ liệu truyền đi sẽ có 5 bit là
11101
Mạch tạo parity trên sử dụng 3 cổng XNOR để kiểm tra số bit chẵn hay lẻ, còn bên
nhận mạch kiểm parity dùng 4 cổng XNOR để rò sai, nếu dữ liệu truyền đúng thì ra
Q = 0, nếu truyền sai thì ra Q = 1. Khi này, mạch nhận có thể truyền về tín hiệu
báo truyền sai cho máy gửi để nó truyền lại khối dữ liệu bị lỗi này.
Nhận thấy rằng nếu khối dữ liệu truyền bị sai tới 2 bit (xác suất này là rất rất nhỏ)
hay bit parity truyền sai thì mạch parity mất tác dụng.
Các mạch xử lí điều khiển hay truyền dữ liệu thường có sẵn khối tạo kiểm và thậm
chỉ có thể sửa lỗi luôn. Còn khi dùng mạch rời thì IC 74180 và họ của nó là thông
dụng nhất
Hình 2.3.29 Kí hiệu khối 74180 và bảng hoạt động
Đây là IC tạo kiểm 8 bit từ D0 đến D7, bit parity có thể dùng là chẵn hay lẻ. 2 ngõ
ra là EVEN (lẻ ra) và ODD (chẵn ra). 2 ngõ PE (lẻ vào) và PO (chẵn vào) dùng trong
trường hợp cần nối chồng nhiều IC để có mạch tạo kiểm nhiều bit hơn. Cách nối sẽ
là đưa từ ngõ ra chẵn và ngõ ra lẻ tới ngõ vào chẵn và vào lẻ. 2 ngõ vào lẻ và vào
chẵn cũng như 2 ngõ ra lẻ và ra chẵn phải không được bằng nhau khi kiểm parity.
Khi ngõ vào parity nào không dùng thì phải nối mức thấp.
Hình dưới đây là cách sử dụng 74180 làm mạch kiểm parity lẻ cho 9 bit dữ liệu vào
(gồm cả bit parity).
128
Hình 2.3.30 Mạch kiểm Parity 9 bit dùng 74180
1 IC phát kiểm 8 bit chẵn lẻ khác cũng hay được dùng là 74LS280
CHƯƠNG3
Bài 1: Các khái niệm cơ bản
Chương trước đã đề cập đến các mạch tổ hợp từ các cổng logic đơn giản đến các
mạch tích hợp MSI phức tạp hơn như mạch chuyển đổi mã, dồn kênh, tách kênh.
Chúng có một đặc điểm là ngõ ra sẽ thay đổi trạng thái theo trạng thái ngõ vào
mà không kể tới các trạng thái trước đó của nó, nghĩa là chúng không có tính nhớ.
Đơn giản như mạch trên hình 3.1.1, nếu A = 1 thì Y = 0
Hình 3.1.1 Cổng NOT
Ở chương này, ta sẽ nói đến một loại lớn khác của mạch số, đó là mạch tuần tự.
Khác với mạch tổ hợp, trạng thái ngõ ra của mạch tuần tự tuỳ thuộc không những
vào các trạng thái ngõ vào mà còn vào cả 2 trạng thái trước đó của ngõ ra. Không
những thế, trạng thái ngõ ra sẽ không thay đổi ngay khi ngõ vào thay đổi mà lại
còn phải đợi đến khi có xung lệnh gọi là xung đồng hồ (clock). Như vậy mạch tuần
tự vừa có tính nhớ vừa có tính đồng bộ.
Cả mạch tổ hợp và tuần tự đều được sử dụng nhiều trong các hệ thống số. Một hệ
tuần tự có thể biểu diễn một cách tổng quát như sau:
129
Hình 3.1.2 Hệ tuần tự
Phần tổ hợp sẽ nhận tín hiệu logic từ đầu vào bên ngoài và từ đầu ra của các phần
tử nhớ, nó tính toán dựa vào các đầu vào này để cho ra các đầu ra khác nhau,
trong đó một phần được đem sang khối các phần tử nhớ để cất giữ đi; đầu ra của
phần tử nhớ có thể đưa ra ngoài hay đưa điều khiển phần tổ hợp. Phần điều khiển
sẽ cho phép phần nhớ và tổ hợp hoạt động theo một số yêu cầu đề ra.
Như vậy, các đầu ra của hệ thống số vừa phụ thuộc vào các đầu vào vừa liên quan
đến thông tin đã lưu trữ bên trong của phần tử nhớ. Phần tử nhớ có thể là một
mạch logic nhưng có khi chỉ là một đường nối phản hồi từ ngõ ra về ngõ vào.
1.1 Mạch chốt cổng Nand
Hãy xem cấu tạo của mạch dưới đây :
Hình 3.1.3 Mạch chốt cổng Nand
Mạch gồm 2 cổng logic
Nand mắc chéo nhau, có
2 ngõ vào là S (set : có
nghĩa là đặt) và R (reset
: có nghĩa là đặt lại). 2
ngõ ra kí hiệu là Q (đầu
ra bình thường) và Q
(đầu ra đảo, tức là có
trạng thái logic ngược
lại với Q)
o Hoạt động của mạch như thế nào?
o Khi thiết lập mạch chốt đặt S = 0, R = 1
Do S = 0 nên Q = 1 bất chấp ngõ còn lại
130
o Vậy ngõ ra ổn định sẽ là Q = 1 và Q = 0
o Khi xoá mạch chốt S = 1 và R = 0
Do R = 0 nên Q = 1 bất chấp ngõ còn lại
o Vậy ngõ ra ổn định sẽ là Q = 0 và Q = 1
Vì lí do đối xứng nên hoạt động thiết lập và xoá mạch chốt ngược
nhau.
o Khi để ngõ vào thường nghỉ S= 1 R=1
Rõ ràng chưa thể biết ngõ ra Q và Q như thế nào
Hãy xét đến trạng thái trước đó:
o Vì vậy khi S=1 R=1 trạng thái ra không thay đổi tức là trước đó
như thế nào thì sau vẫn vậy (Qo và Qo)
o Khi thiết lập và xoá cùng lúc S=0, R=0
Rõ ràng khi nãy cả 2 cổng NAND đều có mức vào là 0 nên mức ra là 1,
đây là điều kiện không mong muốn vì đã quy ước Q và có trạng thái
logic ngược nhau. Hơn nữa khi S, R trở lại mức cao(1) thì sẽ không thể
dự đoán Q và Q thay đổi; vì vậy trạng thái này không được sử dụng
còn gọi là trạng thái cấm.
Như vậy, mạch có 2 trạng thái ra ổn định là 0 và 1; mạch có thể nhận tín hiệu số
vào (trong trường hợp đơn giản này chỉ là 0 và 1) và đưa được nó ra, và từ đây khả
năng nhớ (lưu trữ dữ liệu), đồng bộ, và một số điểm khác cũng có thể được thực
hiện được. Ta sẽ tìm hiểu kĩ hơn ở những mạch sau đó. Mạch hoạt động như ở trên
được coi là 1 mạch chốt, 1dạng mạch tuần tự cơ bản nhất.
1.2 Mạch chốt là gì?
Như tên gọi của nó, mạch có thể cài lại, giữ lại trạng thái logic ngõ vào
Hình 3.1.4 Kí hiệu khối chốt SR và bảng hoạt động
1.3 Chốt cổng NOR
131
Mạch chốt như trên có
thể thay thế 2 cổng nand
bằng 2 cổng NOR nguyên
lí hoạt động cũng tương
tự nhưng ngõ vào S, R tác
động ở mức cao
Hình 3.1.6 Chốt cổng NOR
Hình 3.1.7 Dạng sóng minh hoạ và bảng hoạt động của mạch chốt cổng NOR
Thấy rằng các mạch tuần tự dù là mạch chốt đã khảo sát ở trên hay các mạch cao
hơn thì đều được cấu tạo bởi cổng logic cơ bản. Mặc dù tự thân cồng logic không
thể lưu trữ được dữ liệu nhưng khi biết kết hợp với nhau theo một cách thức cho
phép tuỳ theo mức độ phức tạp, quy mô kết hợp mà sẽ có mạch chốt, mạch lật, ghi
dịch hay hơn nữa là các bộ nhớ, xử lý.
1.4 Ứng dụng của mạch chốt :
Mạch chốt như tên gọi của nó được sử dụng nhiều trong các hệ thống số cần chốt
hay đệm dữ liệu trước khi được xử lý điều khiển hay truyền nhận. Ngoài ra nó còn
được sử dụng làm mạch chống dội và mạch tạo dạng sóng vuông.
a. Mạch chống dội :
o Hiện tượng dội do các thiết bị cơ khí gây nên khi đóng ngắt chuyển
mạch điện tử. Mạch chốt có thể được dùng để chống dội như đã thấy
ở chương 1
o Mạch minh hoạ
132
Hình 3.1.8 Chốt NAND chống dội
b. Mạch tạo dao động sóng vuông
Một mạch chốt cơ bản kết hợp với một số linh kiện R , C để tạo nên mạch
dao động sóng vuông do ngõ ra lật trạng thái qua lại giữa mức 1 và 0. Mạch
thiết lập và xoá tự động theo thời hằng nạp xả của tụ C và trở R.
o Tần số dao động tính theo giá trị R, C là
f = ½(R+R3)C
o Mạch minh hoạ
Hình 3.1.9 Ứng dụng chốt tạo dao động sóng vuông
1.5 Chốt NAND khi có xung đồng hồ
Như đã nói đến ở phần trước, các mạch tuần tự còn có một đặc tính nữa là tính
đồng bộ mà mạch chốt chưa thể hiện. Trong hệ thống mạch logic, các mạch phải
thay đổi trạng thái có trật tự hay đồng bộ nhau thì mới có thể khống chế các trạng
thái ra theo các thời điểm chọn trước. Lúc này người ta sử dụng chân Ck
(clock_đồng hồ: vì thông thường tín hiệu trên chân này có sóng dạng điện áp như
tín hiệu của đồng hồ) minh hoạ qua hình sau
133
o Mạch chốt được thêm vào 2 cổng nand ở trước cùng với 1 ngõ điều khiển ck
Hình 3.1.10 Chốt NAND có thêm xung
đồng hồ
Bảng sự thật của chốt
Nand khi có thêm ck
Hoạt động của mạch có thể giải thích theo bảng sự thật:
o Mạch vừa nêu còn có một tên rất thông dụng: đó là flip flop (viết tắt là FF).
Cụ thể ở đây là mạch FF RS. Các FF có 4 dạng kích hoạt từ chân Ck: kích
hoạt theo mức cao, mức thấp; cạnh lên, cạnh xuống (tại thời điểm xung Ck
có mức hoặc cạnh tương thích thì FF mới được phép chuyển trạng thái).
Do đó trong các sổ tay tra cứu IC số, các trạng thái kích hoạt này được ký hiệu như
sau
134
Bài 2.1: Flip-flop và các vi mạch điển hình
Trang 1
2.1 Tổng quan về flip flop (FF)
FF là mạch có khả năng lật lại trạng thái ngõ ra tuỳ theo sự tác động thích hợp của
ngõ vào, điều này có ý nghĩa quan trọng trong việc lưu trữ dữ liệu trong mạch và
xuất dữ liệu ra khi cần.
Có nhiều loại flip flop khác nhau, chúng được sử dụng rộng rãi trong nhiều ứng
dụng. Các mạch FF thường được kí hiệu như sau
Hình 3.1.11 Ký hiệu FF
Nếu các ngõ vào sẽ quyết định ngõ ra là cái gì thì ngõ đồng hồ ck lại chỉ ra rằng
khi nào mới có sự thay đổi đó. Chân Ck có thể tác động mức thấp hay mức cao tuỳ
vào cấu trúc bên trong của từng IC FF, do đó với một IC FF cố định thì chỉ có một
kiểu tác động và chỉ một mà thối, ví dụ với IC 74112 chỉ có một cách tác động là
xung Ck tác động theo cạnh xuống.
2.2 Các loại FF
Hình 2.1.13 Kí hiệu khối của 4 loại FF nảy bởi cạnh lên Ck
a) FF SR (mạch lật lại đặt)
135
Hình 3.1.14 Dạng sóng minh hoạ cho FF RS
FF RS nảy cạnh lên khi đó sẽ kí hiệu hình tam giác ở sơ đồ khối và dấu mũi tên lên
trong bảng trạng thái.
FF RS nảy bằng cạnh xuống tương tự và có khí hiệu thêm hình tròn nhỏ hay gạch
đầu Ck để chỉ cạnh xuống ở ký hiệu khối và vẽ dấu mũi tên xuống ở bảng trạng
thái.
b) FF JK
FF JK bổ sung thêm trạng thái cho FF RS ( tránh trạng thái cấm)
Hình 3.1.15 Dạng sóng minh hoạ cho FF JK
Nhận thấy đầu vào J, K điều khiển trạng thái ngõ ra theo đúng như cách mà S R đã
làm trừ 1 điểm là khi J = K = 1 thì trạng thái cấm được chuyển thành trạng thái
ngược lại ( với J = K = 0 ). Nó còn gọi là chế độ lật của hoạt động.
Từ dạng sóng có thể thấy rằng ngõ ra FF không bị ảnh hưởng bởi sườn xuống của
xung ck các đầu vào J K cũng không có tác động trừ khi xảy ra tác động lên của Ck
FF JK có thể tạo thành từ FF SR có thêm 2 đầu and có ngõ ra đưa về như hình :
136
Hình 3.1.16 FF JK từ FF SR
Còn cấu tạo bên trong của FF JK kích bằng cạnh sườn sẽ như sau :
Hình 3.1.17 Cấu trúc mạch của FF JK
c) FF T
Khi nối chung 2 ngõ vào JK như hình dưới thì sẽ được FF T : chỉ có một ngõ vào T,
ngõ ra sẽ bị lật lại trạng thái ban đầu khi ngõ T tác động và mỗi khi có cạnh sườn
lên hay xuống của xung ck.
Kí hiệu khối và bảng trạng thái của FF T như sau :
=>
Hình 3.1.18 Kí hiệu khối của FF T
137
Hình 3.1.19 Dạng sóng minh hoạ cho hoạt động của FF T
FF T được sử dụng chính để tạo mạch đếm chia 2. Khi T nối lên mức 1 (Vcc) hay để
trống, xung kích lần lượt đưa vào ngõ Ck. Nhận thấy ngõ ra Q sẽ lật trạng thái mỗi
lần ck xuống hay lên. Tần số xung ngõ ra Q chỉ còn bằng một nửa tần số ngõ vào
ck nếu đưa Q này tới các tầng FF sau nữa thì lần lượt tần số f sẽ lại được chia đôi.
Đây là nguyên lí chính của mạch đếm sẽ được xét đến ở phần sau.
Hình 3.1.19a FF T dùng làm mạch chia tần
d) FF D
Khi nối ngõ vào của FF RS hay JK như hình thì sẽ được FF D : chỉ có 1 ngõ vào gọi
là ngõ vào data(dữ liệu) hay delay(trì hoãn). Hoạt động của FF D rất đơn giản :
ngõ ra sẽ theo ngõ vào mỗi khi xung Ck tác động cạnh lên hay xuống.
=>
Hình 3.1.20 Kí hiệu khối
138
Hình 3.1.21 Dạng sóng minh hoạ cho hoạt động của FF D
FF D thường là nơi để chuyển dữ liệu từ ngõ vào D đến ngõ ra Q cung cấp cho
mạch sau như mạch cộng, ghi dịch… nên hơn nữa ngõ vào D phải chờ một khoảng
thời gian khi xung ck kích thì mới đưa ra ngõ ra Q, do đó FF D còn được xem như
mạch trì hoãn, ngõ D còn gọi là delay.
e) Mạch chốt D
Các FF nảy bằng mức đều có thể trở thành mạch chốt khi chân ck cho ở mức tác
động luôn. Thông dụng nhất là chốt D. Mạch được tạo bởi FF D khi thay ngõ vào
đồng bộ bởi ngõ vào cho phép (enable : E) tác động ở mức cao.
Cấu tạo kí hiệu và bảng trạng thái như những hình sau :
Hình 3.1.22 Kí hiệu khối và bảng sự thật của chốt D
139
Hình 3.1.23 Cấu tạo chốt D
2.3 Flip flop khi có thêm ngõ vào trực tiếp
Như thấy các FF đã xem xét ở trên khi cấp điện sẽ
có thể xây dựng ngay trạng thái của ngõ ra vì nó
còn tuỳ thuộc vào cấu trúc của mạch và các yếu tố
ngẫu nhiên khác. Vì lí do này 2 ngõ vào mới được
thêm vào để xác định chính xác trạng thái logic ra
lúc cấp điện (mở nguồn) hay bất cứ lúc nào muốn,
nó hoàn toàn độc lập với trạng thái logic ở các ngõ
vào đồng bộ J, K, R, S, D, T và kể cả xung đồng hồ
ck, tứcl à chúng giành quyền ưu tiên trước hết
quyết định ngõ ra. Chúng được gọi là ngõ vào trực tiếp (ngõ vào không đồng bộ)
và đặt tên là Preset (Pr) có nghĩa là đặt trước và Clear (Cl) có nghĩa là xoá
Cần phải để ý rằng không được phép đặt chân Pr = Cl = 0 vì khi đó Q = Q' =1 trạng
thái cấm. Chân Pr, Cl khi này không có tác dụng gì, không xác định được trạng thái
ra. Do đó, nhiều mạch FF chỉ có 1 ngõ Clear để xoá mạch khi cần mà không có ngõ
Pr; có FF thì lại không có cả 2 ngõ này.
Về cấu trúc bên trong của FF khi này, 2 ngõ Pr và Cl sẽ được đưa vào tầng trung
gian của các FF, như trong cấu tạo của IC 74LS76.
Bài 2.2: Ứng dụng của chốt và FF
Trang 2
3.1 Mạch phát hiện tuần tự các dữ liệu.
Với 2 tín hiệu vào cùng một lúc A và B, để xác định tín hiệu nào vào trước,
tín hiệu nào vào sau (chẳng hạn ai bấm chuông trước), ta có thể dùng FF JK
(cổng NAND không thể xác định được). Mạch trên minh hoạ cho hoạt động
của mạch
Hình 3.124 Kí hiệu FF SR có
thêm ngõ Pr và Cl
140
Hình 3.1.27 Mạch phát hiện tuần tự dữ liệu A và B
FF JK có ngõ K để ở thấp, xoá mạch để ngõ ra Q ở thấp. Bây giờ nếu A đưa
tới ngõ J mà vào trước, thì khi B vào sau ở ngõ ck sẽ làm Q lên cao. Ngược
lại, nếu A vào sau, thì khi B vào trước (ngõ J khi này vẫn ở thấp) sẽ vẫn để
ngõ ra Q ở thấp
3.2 Mạch báo động khi tia sáng bị cắt
Hình minh hoạ
Hình 3.1.28 Mạch báo động khi tia sang bị cắt
Hoạt động :
o Bình thường công tắc SW hở để ngõ R của chốt SR ở cao. Chùm tia
sáng đến transistor quang làm điện trở giữa cực B và E của nó giảm
(tuỳ thuộc cường độ ánh sáng rọi vào). Do S, R đang ở cao nên ngõ ra
của chốt vẫn giữ nguyên trạng thái trước đó (được xác định lúc mở
điện hay các yếu tố khác).
o Để xác định trạng thái ban đầu ta đóng SW trong chốc lát cho ngõ R ở
thấp. FF đang ở chế độ reset, do đó ngõ ra Q ở thấp. Khi thiết lập lại
141
ngõ ra thì cần phải ngắt mạch báo động ra(tránh báo động giả). Khi
thiết lập xong mới nối lại mạch, R lúc này đã ở cao, ngõ ra Q ở thấp
o Khi tia sáng bị cắt, transistor quang có thể dẫn yếu hẳn hay ngắt
luôn do đó ngõ S ở thấp (do nối qua trở 47K), chốt ở chế độ đặt, do đó
ngõ ra Q lên cao kích thích mạch báo động hoạt động (chẳng hạn loa
đèn, khi này cũng cần thêm phần giao tiếp tải như đã nói đến ở bài sử
dụng cổng logic của chương 1)
o Nếu tia sáng chỉ bị cắt trong chốc lát thôi (chẳng hạn do có người đi
ngang qua) tức là ngõ S xuống thấp trong chốc lát rồi lên trở lại thì
ngõ ra Q vẫn ở cao tức mạch vẫn báo động kéo dài. Muốn tắt mạch
báo động đi ta đóng SW lại để R xuống thấp. Chốt ở chế độ đặt lại
nên ra Q ở 0 mạch báo động ngắt.
o Phần mạch phát quang có thể bị kích hoạt bới tiếp điểm sờ chạm ở
cửa (báo động đột nhập), cảm biến dò mực nước, nhiệt độ (báo động
quá nhiệt, quá mực nước cho phép)
3.3 Chia tần
Để 1 FF JK ở chế độ chờ lật (J = K = 1). Nếu xung vuông tần số f được
đưa tới chân Ck của FF này thì ở mỗi cạnh lên của xung Ck, ngõ ra Q
sẽ lật trạng thái và phải chờ đến cạnh xuống ck tiếp theo thì Q mới
lật trở lại. Như vậy dạng sóng ngõ ra cũng là 1 xung vuông với tần số
chỉ còn một nửa của sóng vào ngõ ck. Ta nói rằng tín hiệu đã được
chia đôi tần số. Nếu mắc thêm 1 FF thứ 2 lấy xung ck từ ngõ ra Q của
FF thứ 1 thì tương tự sóng ra sẽ có tần số còn 1 nửa của sóng ra ở
tầng FF đầu hay bằng ¼ tần số của sóng đưa vào FF thứ nhất
142
Hình 3.1.29 Chia tần
Với cách mắc FF như trên, nếu có n FF thì tần số của sóng ra cuối
cùng sẽ chỉ còn là 1/2n. Thực ra, cách nối FF JK như trên chính là FF T.
3.4 Lưu trữ dữ liệu song song
Trong các hệ thống số, dữ liệu (số, mã hay các dạng thông tin khác) thường
được lưu trữ thành một nhóm các bit (mã ASCII là nhóm 7 bit, số BCD là nhóm 4
bit…). Do đó các FF được mắc thích hợp sẽ cho phép dữ liệu được lưu trữ và xử lí
đồng thời trên các đường song song. Cách mắc các FF được minh hoạ như hình
dưới:
Hình 3.1.30 Lưu trữ dữ liệu song
song ( 3bit)
Mỗi nhóm dữ liệu 3 bit được đưa
tới ngõ vào của 2 FF D. Xung
đồng hồ sẽ làm cho cả 3 FF hoạt
động đồng bộ và chỉ khi ck lên
cao, dữ liệu mới được đưa ra
ngoài. Như vậy khi ck chưa tác
động cạnh lên thì dữ liệu 3 bit đã
được lưu trữ trong 3 FF D. Một
nhóm các FF D mắc theo cách này
sẽ tạo thành thanh ghi dịch cho
phép lưu trữ dữ liệu song song,
mà ta sẽ tìm hiểu kĩ hơn ở phần
sau.
143
3.5 Đếm
Một ứng dụng rất quan trọng khác của FF
là đếm. Đếm là khả năng nhớ được số xung
đầu vào, nó là một thao tác cơ bản quan
trọng và được sử dụng rộng rãi, từ các thiết
bị đo chỉ thị số đến các máy tính điện tử số
loại lớn, gần như tất cả các hệ thống số
hiện đại đều cũng thấy có mặt nó.
Cách mắc 2 FF JK như hình bên cho phép
đếm từ 1 đến 3 (dạng mã nhị phân). Thực
ra hoạt động của mạch đếm cũng tương tự
như chia tần đã nói ở trên. Dạng sóng ở
ngõ ra sẽ đặt trở lại sau mỗi 4 chu kì xung
kích ck đầu vào. Hình 3.1.31 Ứng dụng FF làm mạch
đếm
BÀI 3: THANH GHI
1. Giới thiệu
Ở phần trước ta đã được biết đến các loại FF. Chúng đều có thể lưu trữ (nhớ 1 bit)
và chỉ khi có xung đồng bộ thì bit đó mới truyền tới ngõ ra (đảo hay không đảo).
Bây giờ nếu ta mắc nhiều FF nối tiếp lại với nhau thì sẽ nhớ được nhiều bit. Các
ngõ ra sẽ phần hoạt động theo xung nhịp ck. Có thể lấy ngõ ra ở từng tầng FF (gọi
là các ngõ ra song song) hay ở tầng cuối (ngõ ra nối tiếp). Như vậy mạch có thể
ghi lại dữ liệu (nhớ) và dịch chuyển nó (truyền) nên mạch được gọi là ghi dịch. Ghi
dịch cũng có rất nhiều ứng dụng đặc biệt trong máy tính, như chính cái tên của
nó: lưu trữ dữ liệu và dịch chuyển dữ liệu chỉ là ứng dụng nổi bật nhất
2. Cấu tạo
Ghi dịch có thể được xây dựng từ các FF khác nhau và cách mắc cũng khác nhau
nhưng thường dùng FF D, chúng được tích hợp sẵn trong 1 IC gồm nhiều FF (tạo
nên ghi dịch n bit). Hãy xem cấu tạo của 1 ghi dịch cơ bản 4 bit dùng FF D
144
Hình 3.2.1 Ghi dịch 4 bit cơ bản
3. Hoạt động
Thanh ghi, trước hết được xoá (áp xung CLEAR) để đặt các ngõ ra về 0. Dữ liệu cần
dịch chuyển được đưa vào ngõ D của tầng FF đầu tiên (FF0). Ở mỗi xung kích lên
của đồng hồ ck, sẽ có 1 bit được dịch chuyển từ trái sang phải, nối tiếp từ tầng
này qua tầng khác và đưa ra ở ngõ Q của tầng sau cùng (FF3). Giả sử dữ liệu đưa
vào là 1001, sau 4 xung ck thì ta lấy ra bit LSB, sau 7 xung ck ta lấy ra bit MSB.
Nếu tiếp tục có xung ck và không đưa thêm dữ liệu vào thì ngõ ra chỉ còn là 0 (các
FF đã reset : đặt lại về 0 hết. Do đó ta phải “hứng” hay ghim dữ liệu lại. Một cách
làm là sử dụng 2 cổng AND, 1 cổng OR và 1 cổng NOT như hình dưới đây.
Hình 3.2.2 Cho phép chốt dữ liệu trước khi dịch ra ngoài
Dữ liệu được đưa vào thanh ghi khi đường điều khiển R/W control ở mức cao
(Write). Dữ liệu chỉ được đưa ra ngoài khi đường điều khiển ở mức thấp (Read).
145
CÁC LOẠI THANH GHI DỊCH
Có nhiều cách chia loại thanh ghi dịch (SR)
- Theo số tầng FF (số bit) : SR có cấu tạo bởi bao nhiêu FF mắc nối tiếp thì có bấy
nhiêu bit (ra song song). Ta có SR 4 bit, 5 bit, 8 bit, 16 bit …
Có thể có SR nhiều bit hơn bằng cách mắc nhiều SR với nhau hay dùng công nghệ
CMOS (các máy tính sử dụng SR nhiều bit)
- Theo cách ghi dịch có
SISO vào nối tiếp ra nối tiếp
SIPO vào nối tiếp ra song song
PISO vào song song ra nối tiếp
PIPO vào song song ra song song
- Theo chiều dịch có SR trái, phải, hay cả 2 chiều
- Theo mạch ra có loại thường và 3 trạng thái
Loại vào nối tiếp ra song song và ra nối tiếp
Loại vừa khảo sát ở mục 1 thuộc loại ghi dịch vào nối tiếp ra nối tiếp. Đây cũng là
cấu trúc của mạch ghi dịch vào nối tiếp ra song song. Dữ liệu sẽ được lấy ra ở 4
ngõ Q của 4 tầng FF, vì chung nhịp đồng hồ nên dữ liệu cũng được lấy ra cùng lúc.
Hình 3.2.3 Mạch ghi dịch vào nối tiếp ra song song
Bảng dưới đây cho thấy làm như thế nào dữ liệu được đưa tới ngõ ra 4 tầng FF
Loại được nạp song song (vào song song) ra nối tiếp và song song
146
Bây giờ muốn đưa dữ liệu vào song song (còn gọi là nạp song song) ta có thể tận
dụng ngõ vào không đồng bộ Pr và Cl của các FF để nạp dữ liệu cùng một lúc vào
các FF. Như vậy có thể dùng thêm 2 cổng nand và một cổng not cho mỗi tầng.
Mạch mắc như sau
H3.2.4a Mạch ghi dịch nạp song song
Mạch hoạt động bình thường khi nạp song song ở thấp như đã nói. Khi nạp song
song WRITE = 1 cho phép nạp
ABCD được đưa vào Pr và Cl đặt và xoá để Q0 = A, Q1 = B, … Xung ck và ngõ vào
nổi tiếp không có tác dụng (vì sử dụng ngõ không đồng bộ Pr và Cl)
Một cách khác không sử dụng chân Pr và Cl được minh hoạ như hình dưới đây.Các
cổng nand được thêm vào để nạp các bit thấp D1, D2, D3. Ngõ WRITE/SHIFT dùng
để cho phép nạp (ở mức thấp) và cho phép dịch (ở mức cao). Dữ liệu nạp và dịch
vẫn được thực hiện đồng bộ như các mạch trước.
147
H3.2.4b Mạch ghi dịch nạp song song ra nối tiếp
Với mạch hình 3.2.4b ngõ ra dữ liệu là nối tiếp, ta cũng có thể lấy ra dữ liệu song
song như ở hình 3.2.5, Cấu trúc mạch không khác so với ở trên. Dữ liệu được đưa
vào cùng lúc và cũng lấy ra cùng lúc (mạch như là tầng đệm và hoạt động khi có
xung ck tác động lên.
Hình 3.2.5 Mạch ghi dịch vào song song ra song song
Ghi dịch 2 chiều
Như đã thấy, các mạch ghi dịch nói ở những phần trên đều đưa dữ liệu ra bên phải
nên chúng thuộc loại ghi dịch phải. Để có thể dịch chuyển dữ liệu ngược trở lại
(dịch trái) ta chỉ việc cho dữ liệu vào ngõ D của tầng cuối cùng, ngõ ra Q được đưa
tới tầng kế tiếp, …. Dữ liệu lấy ra ở tầng đầu.
Để dịch chuyển cả 2 chiều, có thể nối mạch như hình dưới đây :
148
Hình 3.2.6 Mạch ghi dịch cho phép dịch chuyển cả 2 chiều
Với mạch trên, các cổng NAND và đường cho phép dịch chuyển dữ liệu trái hay
phải. Bảng dưới đây minh hoạ cho mạch trên : dữ liệu sẽ dịch phải 4 lần rồi dịch
trái 4 lần. Để ý là thứ tự 4 bit ra bị đảo ngược lại so với chúng ở trên.
MỘT SỐ IC GHI DỊCHNhận thấy rằng các ghi dịch mô tả ở trên đều dùng các FF rời, rồi phải thêm nhiều
cổng logic phụ để tạo các loại SR khác nhau. Trong thực tế ghi dịch được tích hợp
sẵn các FF và đã nối sẵn nhiều đường mạch bên trong; người sử dụng chỉ còn phải
làm một số đường nối bên ngoài điều khiển các ngõ cho phép thôi. Các SR cũng
được tích hợp sẵn các chức năng như vừa có thể dịch trái dịch phải vừa vào nối
tiếp vừa nạp song song. Ở đây là một số ghi dịch hay được dùng :
Liệt kê
7494 : 4bit vào song song, nối tiếp; ra nối tiếp
7495/LS95 : 4 bit, vào song song/nối tiếp; ra song song; dịch chuyển trái phải
7495/LS96 : 5 bit, vào nối tiếp/song song; ra song song nối tiếp
74164/LS164 : 8 bit vào song song ra nối tiếp
74165/LS765 : 8 bit, vào song song/nối tiếp; ra nối tiếp bổ túc
74166/LS166 : 8 bit; vào song song/nối tiếp; ra nối tiếp; có thể nạp đồng bộ
74194/LS194 : 4 bit vào song song/nối tiếp; ra song song; nạp đồng bộ dịch
chuyển trái phải
149
74195/LS195 : 4 bit, vào song/nối tiếp; ra song song; tầng đầu vào ở JK
74295/LS295 : như 74194/LS194 nhưng ra 3 trạng thái
74395/LS295 : 4 bit vào song song; ra song song 3 trạng thái
74LS671/672 : 4 bit có thêm chốt
74LS673/674 : 16 bit
Khảo sát ghi dịch tiêu biểu 74/74LS95
Hình 3.2.7 Sơ đồ chân ra 74LS95
Hình 3.2.8 Cấu trúc bên trong ghi dịch 74LS95
Sơ đồ cấu tạo và bảng hoạt động của IC như hình trên. Các chế độ hoạt động của
nó như sau :
Nạp nối tiếp
Đưa dữ liệu vào tầng đầu Q0
Đặt điều khiển chọn ở mức thấp
Khi có ck1 hay ck2 thì dữ liệu sẽ lần lượt nạp vào ghi dịch và sẽ được đưa tới
các tầng sau
Nạp song song
150
Dữ liệu vào ở 4 ngõ ABCD
Đưa điều khiển kiểu lên cao
Khi có ck1 hay ck2 thì dữ liệu sẽ được nạp vào đồng thời các tầng của ghi
dịch ở cạnh lên đầu của xung ck.
ỨNG DỤNG
Thanh ghi dịch đóng vai trò cực kì quan trọng trong việc lưu trữ, tính toán số học
và logic. Chẳng hạn trong các bộ vi xử lí, máy tính đều có cấu tạo các thanh ghi
dịch; trong vi điều khiển (8051) cũng có các ghi dịch làm nhiều chức năng hay như
trong nhân chia, ALU đã xét ở chương 2 ghi dịch cũng đã được đề cập đến. Ở đây
không đi vào chi tiết mà chỉ nói khái quát ngắn gọn về ứng dụng của chúng.
1. Lưu trữ và dịch chuyển dữ liệu
Đây là ứng dụng cơ bản và phổ biến nhất của chúng. Ghi dịch n bit sẽ cho phép lưu
trữ được n bit dữ liệu một thời gian mà chừng nào mạch còn được cấp điện. Hay
nói cách khác dữ liệu khi dịch chuyển đã được trì hoãn một khoảng thời gian, nó
tuỳ thuộc vào :
- Số bit có thể ghi dịch (số tầng FF cấu tạo nên ghi dịch)
- Tần số xung đồng hồ
2. Tạo kí tự hay tạo dạng song điều khiển
Ta có thể nạp vào ghi dịch, theo cách nạp nối tiếp hay song song, một mã nhị
phân của một chữ nào đó (A, B, ...) hay một dạng sóng nào đó. Sau đó nếu ta nối
ngõ ra nối tiếp của ghi dịch vòng trở lại ngõ vào nối tiếp thì khi có xung ck các bit
sẽ dịch chuyển vòng quanh theo tốc độ của đồng hồ. Cách này có thể điều khiển
sáng tắt của các đèn (sắp xếp trên vòng tròn hay cách nào khác) Như mô phỏng
sau là dạng sáng tắt của đèn led. Với tải cổng suất thì cần mạch giao tiếp công
suất như thêm trans, rờ le, SCR,... đã nói ở chương 1 cũng sẽ được dùng. Cũng có
thể tạo ra dạng sóng tín hiệu tuần hoàn cho mục đích thử mạch bằng cách này. Ta
có thể thay đổi dạng sóng bằng cách thay đổi mã số nhị phân nạp cho ghi dịch, và
thay đổi tần số xung kích ck được cấp từ mạch dao động ngoài từ 0 đến 200MHz
tuỳ loại mạch ghi dịch.
151
Hình 3.2.10 Tạo dạng sóng điều khiển bởi ghi dịch
3. Chuyển đổi dữ liệu nối tiếp sang song song và ngược lại
Các máy tính hay các bộ vi xử lí khi giao tiếp với nhau hay với các thiết bị ngoài
thường trao đổi dữ liệu dạng nối tiếp khi giữa chúng có một khoảng cách khá xa.
Ngoài cách dùng các bộ dồn kênh tách kênh ở 2 đầu truyền mà ta đã nói ở chương
2 thì ghi dịch cũng có thể được dùng. Các ghi dịch chuyển song song sang nối tiếp
sẽ thay thế cho mạch dồn kênh và các ghi dịch chuyển nối tiếp sang song song sẽ
thay thế cho mạch tách kênh. Bên cạnh ghi dịch, cũng cần phải có các mạch khác
để đồng bộ, chống nhiễu, rò sai… nhằm thực hiện quá trình truyền nối tiếp hiệu
quả.
hình 3.2.11 Truyền dữ liệu nối tiếp
4. Bus truyền dữ liệu
Bây giờ liệu với 8 đường dữ liệu song song vừa nhận được từ tách kênh đó (còn gọi
là 1 byte), ta có thể dùng chung cho nhiều mạch được không? Sở dĩ có yêu cầu đó
là vì trong máy vi tính có rất nhiều mạch liên kết với nhau bởi các đường dữ liệu
địa chỉ gồm nhiều bit dữ liệu 8, 16, 32… mà ta đã biết đến nó với cái tên là bus.
152
Vậy bus chính là các đường dữ liệu dùng chung cho nhiều mạch (chẳng hạn bus
giữa các vi xử lí, các chíp nhớ bán dẫn, các bộ chuyển đổi tương tự và số,…
Chỉ có một đường bus mà lại dùng chung cho nhiều mạch, do đó để tránh tranh
chấp giữa các mạch thì cần phải có một bộ phận điều khiển quyết định cho phép
mạch nào được thông với bus, các mạch khác bị cắt khỏi bus. Vậy ở đây thanh ghi
hay các bộ đệm 3 trạng thái được dùng
Hình dưới minh hoạ cho đường bus 8 bit nối giữa vi xử lí với bộ đếm 8 bit, bàn
phím, và bộ 8 nút nhấn
Giả sử rằng cả thiết bị đều cần giao tiếp với vi xử lí, nhưng chỉ có một đường
truyền nếu tất cả đồng loạt đưa lên thì có thể bị ảnh hưởng lẫn nhau giữa các dữ
liệu, và thông tin nhận được là không chính xác. Do đó ở đây vi xử lí sẽ quyết định:
chẳng hạn nó đặt ngõ OE1 cho phép bộ đếm cho mạch đếm đưa dữ liệu lên bus
còn chân OE2 và OE3 ngưng làm dữ liệu từ bàn phím và nút nhấn bị ngắt (chờ) tức
ngõ ra các bộ đệm hay thanh ghi 3 trạng thái ở trạng thái tổng trở cao. Tương tự
khi vi xử lí cần giao tiếp với các mạch khác. Với tốc độ xử lí hàng trăm hàng ngàn
MHz thì việc dữ liệu phải chờ là không đáng kể do đó giữa các thiết bị giao tiếp với
nhau rất nhanh và dường như đồng thời.
153
BÀI 4: MẠCH ĐẾM KHÔNG ĐỒNG BỘ
Trong những phần trước ta đã được biết đến 2 loại mạch tuần tự cơ bản là mạch
lật và mạch ghi dịch; và cũng biết rằng nhiều FF nối lại với nhau có thể hoạt động
như một mạch đếm hay thanh ghi (nhớ nhiều bit). Nhưng đó mới chỉ là những
mạch nhớ cơ bản, phần này sẽ đề cập đến chi tiết hơn cấu tạo, hoạt động và nhiều
ứng dụng của nhiều mạch đếm khác nhau. Phần lớn chúng ở dạng mạch tích hợp.
Hệ thống số ngày nay sử dụng khá nhiều loại mạch đếm, có thể dùng để đếm
xung, đếm sản phẩm, đếm làm đồng hồ, định thời gian … và rõ ràng chúng là các
mạch logic nên chính xác và dễ dàng thiết kế hơn nhiều so với các loại mạch tương
tự.
1.1 Đếm không đồng bộ theo hệ nhị phân (chia 2)
Mạch đếm lên
Hình dưới đây trình bày một mạch đếm gồm 4 FF T mắc nối tiếp. Các ngõ vào T
(hay J=K) của cả 4 tầng FF đều để trống hay nối lên +Vcc. Xung cần đếm được đưa
vào ngõ ck tác động cạnh xuống của tầng FF đầu tiên (nó có thể là một chuỗi xung
vuông có chu kì không cố định)
Các ngõ ra Q lần lượt được nối tới ngõ vào đếm ck của tầng sau nó (nếu có). Chúng
được đặt tên là Q0 (LSB), Q1, Q2, Q3 (MSB)
Hình 3.3.1 Bộ đếm nhị phân 4 bit không đồng bộ cơ bản
154
Hình 3.3.2 Giản đồ thời gian xung của ngõ vào và các ngõ ra bộ đếm :
Mạch sẽ đếm như thế nào?
Mạch đếm thường hoạt động ở trạng thái ban đầu là 0000 do đó một xung tác
động mức thấp sẽ được áp vào ngõ Cl của các tầng FF để đặt trạng thái ngõ ra là
0000.
Khi xung đếm ck tác động cạnh xuống đầu tiên thì Q0 lật trạng thái tức là Q0 = 1. Ở
cạnh xuống thứ 2 của xung ck, Q0 lại lật trạng thái một lần nữa, tức là Q0 = 0. Như
vậy cứ sau mỗi lần tác động của ck Q0 lại lật trạng thái một lần, sau 2 lần ck tác
động, Q0 lặp lại trạng thái ban đầu, do đó nếu xung ck có chu kì là T và tần số là f
thì xung ngõ ra Q0 sẽ có chu kì là 2T và tần số còn 1/2f. Như vậy xung đếm ck đã
được chia đôi tần số sau 1 tầng FF.
Do Q0 lại trở thành ngõ vào xung đếm của FF thứ 2 (FF B) nên tương tự tần như
vậy fQ1 bằng một nửa fQ0. Với 4 tầng FF thì
fQ3 = 1/2fQ2 = 1/4fQ1 = 1/8fQ0 = 1/16f
Như vậy với 4 FF ta có 16 trạng thái logic ngõ ra từ 0000(010) ở xung đếm đầu tiên
đến 1111 (1510) ở xung đếm thứ 16, tức là trị thập phân ra bằng số xung đếm vào
và vì vậy đây là mạch đếm nhị phân 4 bit (có 4 tầng FF, tần số được chia đổi sau
mỗi tầng) hay mạch đếm chia 16
155
Mạch được xếp vào loại mạch đếm lên vì khi số xung đếm vào tăng thì số thập
phân ra tương ứng cũng tăng. Nhưng để ý rằng chỉ có 16 trạng thái ra nên ở xung
đếm ck thứ 16 mạch được tự động xoá về 0 để đếm lại. Muốn có nhiều trạng thái
ra hơn thì phải nối thêm tầng FF. Tổng quát với hoạt động như trên nếu có n FF thì
sẽ tạo ra 2n trạng thái ngõ ra. Số trạng thái ngõ ra hay số lượng số đếm khác nhau
còn được gọi là Modulus (viết tắt : Mod) do đó, mạch đếm trình bày ở trên còn gọi
là mạch đếm mod 16
Bảng sự thật của mạch đếm nhị phân 4 bit như sau :
Số
xung
vào
Mã số ra sau khi
có xung vào
Trị thập
phân ra
Q3 Q2 Q1 Q0
Xoá
1
2
3
4
5
6
7
8
9
10
11
12
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
2
3
4
5
6
7
8
9
10
11
12
156
13
14
15
16
17
1
1
1
0
0
1
1
1
0
0
0
1
1
0
0
1
0
1
0
1
13
14
15
0
1
Nhìn vào giản đồ xung và bảng trạng thái hoạt động của mạch đếm này ta thấy
rằng không phải lúc nào các trạng thái logic các ngõ ra đều thay đổi theo nhịp
xung đếm ck đầu vào nên ở đây chỉ là mạch đếm không đồng bộ.
Giải mã mạch đếm
Với bộ đếm như trên thì có thể làm được gì ?
Chắc chắn là nó có nhiều ứng dụng rồi, hãy xét qua một số ví dụ sau :
Ở phần mạch giải mã để hiển thị led 7 đoạn, mạch đếm đã được ứng dụng để tạo
số đếm cho mạch giải mã từ 0000(0) đến 1010(910)
Còn đây là 1 ứng dụng đơn giản khác : yêu cầu được đặt ra là phải biết được mạch
đếm đến một số nào đó (chẳng hạn 5) rồi hiển thị ra led.
Bạn đọc có thể dễ dàng nghĩ ngay đến việc sử dụng cổng logic để tạo trạng thái
ngõ ra làm sáng led từ tổ hợp trạng thái logic ngõ vào khi mạch đếm đến 5. Cách
mắc sẽ như sau :
157
Hình 3.3.3 Giải mã mạch đếm để hiển thị ra led
Vậy là ta đã có một trò chơi điện tử đơn giản theo kiểu may mắn. Cho bộ đếm hoạt
động, người chơi sẽ nhấn một nút vào một thời điểm bất kì để ngưng cấp xung
đếm ck, mạch đếm sẽ dừng lại ở con số đang đếm đến. Nếu số này làm đèn led
sáng thì người chơi sẽ thắng.
Tất nhiên để hoàn chỉnh ta cần phải có một mạch dao động để cấp xung ck cho
mạch đếm chạy (bạn có thể tạo mạch dao động từ cổng logic hay mạch chốt kết
hợp với linh kiện thụ động R, C như đã nói ở phần trước).
Một ứng dụng đơn giản khác là dùng mạch đếm này để tạo khoảng xung vuông
điều khiển tải (chẳng hạn động cơ chạy hay mở van xả) trong khoảng thời gian 3s
đếm từ số 7 đến số 10
Giải pháp để giải bài toán trên là sẽ dùng cổng logic để tạo mạch giải mã số
0111(710) để kích ngõ ra lên cao rồi giải mã số 1010(1010) để kích ngõ ra xuống
thấp trở lại. Hai đường giải mã này được đưa vào ngõ Pr và Cl của mạch chốt để
đặt ngõ ra lên mức cao khi Pr và xoá nó khi Cl. Mạch thực hiện kết nối như sau :
158
Hình 3.3.4 Giải mã mạch đếm điều khiển tải
Trong đó NAND1 sẽ giải mã số 7 còn Nand2 sẽ giải mã cho số 10. Ở số đếm thứ 7
của mạch đếm ngõ ra Nand1 xuống thấp preset mạch chốt đặt Q lên cao. Đến khi
đếm tới 10 thì ngõ ra nand2 khi này xuống thấp (tất nhiên Nand1 đã trở lại cao
rồi) thực hiện xoá ngõ ra Q làm Q xuống thấp. Khi mạch đếm đến 7 trở lại thì
khoảng xung vuông lại xuất hiện. Nó có tính chu kỳ. Thời gian tồn tại xung vuông
được quyết định bởi tần số (chu kì) mạch dao động cấp cho xung ck của mạch
đếm, nếu Tck = 1s thì T = 3s. Do đó ta có thể thay đổi f mạch dao động để thay
đổi khoảng thời gian điều khiển tải.
Bây giờ bạn hãy thiết kế bộ trò chơi đó chỉ cần dùng 3 FF T (tạo 8 trạng thái ra).
Khi người chơi nhấn dừng mạch đếm ở số 5 hay số 10 thì đèn led sẽ sáng.
Mạch đếm xuống
Ở trước là mạch đếm lên lần lượt chia 2 tần số, số hệ 10 ra tương ứng là từ 0 đến
15. Cũng có khi cần mạch đếm xuống từ 15 xuống 0 chẳng hạn, cách nối mạch sẽ
như thế nào?
Hình dưới trình bày cấu trúc mạch đếm xuống nhị phân 4 bit. Ngõ ra Q lần lượt của
tầng trước sẽ được nối đến ngõ vào ck của tầng sau đó. Xung đếm ck vẫn tác động
ở mức thấp
Hình 3.3.5 Mạch đếm xuống 4 bit không đồng bộ
Các ngõ ra và cách thức xoá mạch, đưa xung vào giống như ở trước. Ngõ ra Q của
tầng FF đầu dổi trạng thái ở đổi cạnh xuống của xung vào các ngõ ra khác đổi
trạng thái ở cạnh xuống của ngõ ra Q', tức là cạnh lên của ngõ ra Q0 của FF kề
trước. Dạng sóng ở ngõ vào và các ngõ ra cùng với mức logic sau mỗi xung vào và
159
kết quả số đếm được trình bày như hình dưới đây. Để ý rằng sau xung ck đầu tiên
thì mạch se đếm ngay lên số đếm cao nhất là 15 rồi dần dần xuống 14, … cho tới 0
tổng cộng sau 15 xung ck và tới xung ck thứ 16 mạch sẽ tự động xoá về 15 để đếm
xuống trở lại.
Hình dưới đây trình bày cả 2 dạng sóng của mạch đếm lên và xuống bạn có thể so
sánh chúng để thấy rõ hơn nguyên lí của sự đếm lên và đếm xuống.
hình 3.3.6 So sánh dạng sóng đếm lên và đếm xuống
Hãy nối dây 4 FF T để tạo ra mạch đếm lên, mạch đếm xuống chia 16, có ngõ ck
tác động mức cao.
Hãy thay FF T bằng FF JK và thiết kế tương tự
Thêm một bước nữa là cũng với từng ấy FF ta sẽ thiết kế mạch để có thể đếm lên
đếm xuống đều được.
160
Nhận thấy mạch đếm lên hay xuống là do nối từ ngõ raĠ của tầng trước tới ngõ
vào ck của tầng sau do đó ở đây sẽ phải dùng một cổng OR cho 2 ngõ vào. Việc
đếm lên xuống được quyết định bởi một ngõ điều khiển chọn chế độ lên hay
xuống. Cấu trúc của mạch sẽ được thiết kế như sau :
Hình 3.3.7 Mạch đếm lên hay xuống
Muốn có cả hai dạng sóng đếm lên và đếm xuống như hình ta có thể lấy ra cùng
lúc từ các ngõ đảo và không đảo của các tầng FF giống như hình sau :
Hình 3.3.8 Mạch đếm lấy ra dạng sóng đếm lên và đếm xuống
Mạch đếm tự dừng
Các mạch đếm ở trước tự động quay vòng (đếm lên hết 15 rồi reset để trở lại đếm
từ đầu hay đếm xuống đến 0 thì reset trở lại đếm từ 15 xuống) nếu tiếp tục cấp
xung Ck cho mạch đếm. Bây giờ có một yêu cầu là mạch sẽ phải dừng đếm ở một
con số nào đó định trước (chẳng hạn 10). Để thực hiện nó ta phải tìm cách dừng FF
đầu tiên. Một cách mà chúng ta đã dùng ở phần “trò chơi may mắn” đó là ngưng
cấp xung ck vào; nếu muốn mạch tự động làm, có thể dùng cổng logic tổ hợp để
161
khống chế ngõ vào T (chung) của tầng đầu, các ngõ vào cổng logic sẽ là các mã số
đếm của số đang đếm tới mà muốn dừng. Hình dưới đây trình bày cách thực hiện:
Hình 3.3.9 Mạch đếm tự dừng ở số đếm 10
1.2 Mạch đếm không đồng bộ không theo hệ nhị phân (chia 2)
Với mạch đếm dùng n FF mắc nối tiếp thì số mod (số trạng thái logic ra) là 2n, và
mạch sẽ đếm từ 0 đến 2n – 1 (4 FF đếm tới 16 trạng thái). Trong nhiều trường hợp ta
cần mạch đếm có số mod không theo 2n, chẳng hạn đếm mod 10 (còn gọi là mạch
đếm thập giai hay mạch đếm chia 10) rất hay dùng để hiển thị kết quả đếm ở
dạng hệ 10, hay ví dụ khác là trong đồng hồ số cần mạch đếm chia 6 và chia 12 để
hiển thị giờ và phút hay bất kì mạch đếm chia mod n nào.Thường thì trong mạch
đếm lên số đếm tăng theo thứ tự liên tục từ 0 đền 2n – 1 rồi quay về 0 để đếm trở
lại. Nhưng cũng có thể không tăng theo thứ tự hay thứ tự nhưng không liên tục
miễn là đủ số trạng thái n.
Trở lại mạch đếm tự dừng ở hình trên : khi đếm tới một số định sẵn (số 10) mạch
sẽ tự dừng, vậy ta có thể cho mạch tiếp tục chạy để đếm trở lại bằng cách đưa ngõ
đó tới chân clear thay vì đưa tới chân J, K.
Hình mạch đếm mod 10 được nối như sau :
162
Hình 3.3.10 Mạch đếm mod 10
Cần để ý là ở xung đếm ck thứ 10 khi số đếm vừa lên 10 thì các trạng thái logic
ngõ ra được đưa về khống chế ngõ Cl ngay do đó có thể thấy là số 10 không kịp
hiện ra đã phải chuyển về 0. Thực tế thì do thời gian trì hoãn giữa các cổng logic
khoảng vài ns nên vẫn có số đếm 10 trong khoảng thời gian này, ta chỉ quan tâm
tới ảnh hưởng này khi cần đòi hỏi mạch hoạt động với độ chính xác cao như trong
máy vi tính chẳng hạn.
Ảnh hưởng của trì hoãn được thể hiện rõ hơn qua giản đồ xung sau
Hình 3.3.11 Trì hoãn truyền của mạch đếm không đồng bộ mod 10
Thực tế thì cách thiết kế mạch đếm không theo hệ nhị phân lợi dụng ngõ clear như
ở trên không được dùng do:
+ Các ngõ ra do được nối với tải khác nhau ảnh hưởng đến ngõ đưa về, rồi trì hoãn
truyền qua các cổng logic nữa sẽ phát sinh xung nhọn, các tầng FF sẽ không được
xoá đồng thời
163
+ Hơn nữa ngõ clear không còn được tự do để xoá mạch lúc mong muốn.
Do vậy có một cách tạo mạch đếm trên là nghiên cứu sự liên hệ giữa các trạng thái
ở các ngõ ra rồi thử nối chúng với các ngõ vào J, K của tầng nào đó cho tới khi thoả
bảng trạng thái. Hãy xem cách nối như thế nào:
Trước hết hãy nhìn vào giản đồ xung của mạch đếm mod 16. Tới số đếm thứ 10 thì
mạch phải reset trở lại.
- Ngõ ra Q0 không thay đổi gì dù có được xoá hay không vì nó theo xung ck
- Ngõ ra Q1 tới đó phải giữ nguyên trạng thái trong 2 chu kì của xung ck nữa do đó
ngõ J, K phải ở mức 0 trong khoảng thời gian này, ta có thể nối từ chân Q3 về J1,
K1 vì lúc này Q3 đang ở mức 0 (nó cũng lên 1 sau khi bị xoá)
- Ngõ ra Q2 tới lúc xoá vẫn ở 0 nên không cần thay đổi gì tầng FF 2
- Ngõ ra Q3 khi xoá phải trở lại mức 0 ban đầu, lúc này Q1 ở cao, Q2 ở thấp đồng
thời Q0 đang đi xuống, do đó có thể nối Q0 tới ngõ ck của FF 3 và nối cổng and từ
Q1 và Q2
Kết quả nối mạch như sau:
hình 3.3.12 Mạch đếm mod 10
Cuối cùng kiểm tra lại thấy thoả hoạt động. Nhưng cách này xem ra “khá rắc rối
và như là đoán mò”. Thực ra nó lại rất hay, nó có một phương pháp thiết kế rất
đúng và bài bản ta sẽ gặp lại ở phần thiết kế mạch đếm đồng bộ ở phần sau.
164
Có rất nhiều IC đếm không đồng bộ cả họ TTL và CMOS. Ở đây chỉ giới thiệu một
số IC hay dùng :
74LS293
Cấu tạo gồm 4 FF JK với các đầu ra Q0 (LSB), Q1, Q2, Q3(MSB), Q0 để riêng biệt
cho phép mạch hoạt động linh hoạt. Các đầu vào J, K đều được nối mức cao ở bên
trong.
Mạch có tới 2 đầu vào xung nhịp CP (clock pulse) cũng chính là xung ck mà ta đã
biết) cho tầng 0 và tầng 1 để dễ thiết kế nhiều ứng dụng.
Hai ngõ vào không đồng bộ MR1 và MR2 (master reset) nếu cùng tác động mức
cao thì sẽ hoạt động như chân clear để xoá mạch.
Sơ đồ logic và sơ đồ khối của IC như sau :
Hình 3.3.13a Kí hiệu khối và chân ra của 74LS293
165
Hình 3.3.13b Cấu trúc mạch của 74LS293
74LS293 là IC đếm không đồng bộ nhiều kiểu bit ra tuỳ cách mắc dây.
Đếm mod 16 :
Xung nhịp vào sẽ vào chân CP0; chân CP1 nối tới ngõ ra Q0; MR1, MR2 nối chung
xuống mass để mạch xoá tự động
Hình 3.3.13c 74LS293 đếm mod 16
Đếm mod 10
Xung nhịp vẫn vào chân CP0; chân CP1 nối tới Q0 để cho đủ số trạng thái lên đến
10, khi đếm đến 10 Q1, Q3 lên mức cao nên được nối về MR1 và MR2 để xoá mạch
Hình 3.3.13d 74LS293 đếm mod 10
Đếm mod 14
CP0, CP1 vẫn nối dây như cũ khi đếm tới 14 thì Q3Q2Q1Q0 là 1110 do đó phải nối
Q3 tới MR1, Q2, Q1 tới MR2 qua cổng nand.
166
Hình 3.3.13e 74LS293 đếm mod 14
74LS90, 74LS92, 74LS93
3 IC trên cùng các loạt của nó (LS, HC, …) cũng rất hay dùng. Sơ đồ mạch và sơ đồ
chân như hình. Cũng giống như 74LS293 tầng FF đầu khá độc lập để dùng linh
hoạt hơn, muốn đếm đầy đủ số trạng thái của IC thì cần phải nối ngõ ra Q0 tới ngõ
vào B; hai ngõ reset thường nối AND đề xoá mạch đếm khi đưa lên cao. Khi đếm
lên thì cần phải cho 1 trong 2 ngõ này lên cao trong chốc lát (khoảng vài mươi ns)
rồi đưa xuống thấp trở lại. Riêng 74LS90 có thêm 2 ngõ reset 9 (R9(0) và R9(1)).
Bình thường một trong hai hoặc cả 2 ngõ này được giữ ở thấp, muốn ngõ ra có số
đếm là 9 thì phải đưa cả 2 ngõ lên cao.Như vậy ta có thể dùng 74LS93 để làm
mạch đếm mod 10, mod 12 hay mod 16 giống như 74LS293 ở trên. Cách mắc dây
bạn có thể dễ dàng làm được.
Hình 3.3.14a Chân ra IC đếm 74LS90 74LS92 74LS93
167
Hình 3.3.14b kí hiệu khối của 74LS90 74LS92 74LS93
Còn khi cần số mod lớn ta có thể dùng 4020 (mod 16384 tức 14 tầng FF) hay 4040
(mod 4096 tức 12 tầng FF). Do dùng nhiều tầng FF và lại thuộc loại CMOS cũ nên
tần số hoạt động khá giới hạn chỉ khoảng 2MHz.
BÀI 5: MẠCH ĐẾM ĐỒNG BỘ
Ở phần trước ta đã biết rằng những mạch đếm không đồng bộ khi có nhiều tầng FF
sẽ tích luỹ nhiều trì hoãn truyền của mỗi tầng làm cho nó lớn hơn cả chu kì đếm
xung khiến toàn mạch có thể hoạt động sai logic nhất là khi hoạt động ở tần số
cao. Như ở mạch đếm bốn bit chia 2 đã nói ở trước : khi số đếm tăng từ 1110 lên
1111 chỉ cần chờ ngõ ra của FF 0 thay đổi nên chỉ mất 1tD. Khi số đếm tăng từ
1011 lên 1100 đòi hỏi ba FF chuyển mạch liên tiếp nên sẽ phải mất 3tD. Trường
hợp nữa khi số đếm tự động reset về 0000 thì cả 4 FF đều chuyển trạng thái do đó
trì hoãn truyền sẽ là 4tD. Có thể khắc phục những giới hạn này bằng việc sử dụng
bộ đếm đồng bộ hay còn gọi là bộ đếm song song bởi vì tất cả các tầng đều được
kích bởi cùng một xung nhịp Ck đầu vào. Khi đó các FF chuyển mạch cùng một lúc
khiến thời gian trì hoãn của mạch đếm bằng trì hoãn truyền của một FF bất kể số
tầng. Để đảm bảo hoạt động đúng, một số cổng logic được thêm vào để khống chế
ngõ vào J, K (T). Trước hết là mạch đếm chia 16.
2.1 Đếm lên chia 16
Nối dây như thế nào ...?
168
Hình 3.3.16 Mạch đếm lên đồng bộ mod 16
Bảng trạng thái và dạng sóng đếm lên của mạch đếm đồng bộ hoàn toàn giống
như ở mạch đếm không đồng bộ do đó ta sẽ dựa vào chúng để xác định xem mạch
hoạt động như thế nào.
Cũng cần lưu ý là ở đây ta xây dựng mạch đếm lên mod 16 với 4 FF JK có xung Ck
tác động cạnh xuống. Ta cũng có thể làm mạch tương tư, với xung ck tác động
cạnh lên hay sử dụng FF T thay cho FF JK.
Để mạch đếm đúng, ở mỗi xung kích ck tác động cạnh xuống, chỉ có FF nào dự
kiến sẽ lật trạng thái mới phải để T = 1(J, K được nối chung với nhau và được coi
như là ngõ chung T). Nhìn vào bảng trạng thái hoạt động của bộ đếm lên ta sẽ
thấy được cần phải kết nối như thế nào
- Ngõ ra Q0 sẽ thay đổi trạng thái theo cạnh xuống của xung kích ck do đó ngõ T0
được để trống (mức cao).
- Ngõ ra Q1 đổi trạng thái khi có xung kích xuống Q0 do đó Q0 được đưa thẳng vào
ngõ T1
- Ngõ ra Q2 đổi trạng thái khi đếm đến số 4, 8, 12, 0, lúc này thì Q0 và Q1 đều
xuống thấp; vậy ngõ vào T2 sẽ là And của hai ngõ vào này
169
- Ngõ ra Q3 đảo trạng thái khi số đếm là 8 và 0 khi này Q0, Q1, Q2 đều tác dụng
cạnh xuống, vậy ngõ vào T3 sẽ là And của 2 ngõ vào này
Vậy mỗi FF đều phải có đầu vào T được nối sao cho chúng ở mức cao chỉ khi nào
đầu ra của các FF trước nó ở mức cao.
T0 = 1
T1 = Q0
T2 = Q1.Q2
T3 = Q0.Q1.Q2
và từ đây mạch được kết nối với hai cổng And được thêm vào
Hình 3.3.17 Mạch đếm lên đồng bộ mod 16
Trì hoãn truyền của mạch đếm sẽ bằng trì hoãn truyền qua một FF cộng với trì
hoãn truyền qua các cổng and. Với mạch đếm đã khảo sát ở trên số tầng là n = 4,
số cổng and phải dùng thêm là n – 2 = 2 nhưng thời gian cũng chỉ trì hoãn trên
một cổng and thôi nên trì hoãn truyền tổng cộng là :
tD = tD(FF) + tD(and)
Do trì hoãn truyền của cổng and thì nhỏ hơn nhiều so với trì hoãn truyền của FF
nên thời gian này nhỏ hơn so với thời gian tương ứng của mạch đếm không đồng
bộ. Điều này còn có ích hơn khi trong mạch có rất nhiều tầng FF và mạch phải
hoạt động ở tần số cao. Đây là điểm nổi bật của nó so với mạch đếm không đồng
bộ nhưng rõ ràng nó sẽ phải có cấu tạo phức tạp hơn
Ví dụ :
Hãy xem tần số hoạt động lớn nhất của mạch trên (fmax) khi tD(FF) = 50ns, tD(and)
= 20ns và so sánh nó với fmax của mạch đếm không đồng bộ cùng số bit
170
Ta có trì hoãn truyền tổng cộng của mạch là tD = 50 + 20 = 70(ns). Chu kì xung
nhịp ck đầu vào Tck phải lớn hơn 70 ns này do đó
fmax = 1/70ns = 14,3MHz
Bây giờ với bộ đếm mod 16 không đồng bộ
fmax = ¼.50ns = 5MHz
Như vậy rõ ràng bộ đếm song song hoạt động được ở tần số cao hơn hẳn
Bây giờ giả sử cần làm mạch mod 32 từ mod 16, thì ta sẽ phải mắc thêm 1 tầng FF
thứ 5. Trì hoãn truyền của đếm song song sẽ vẫn là 70ns suy ra fmax = 14,3MHz.
Còn với bộ đếm không đồng bộ thì do có thêm 1 tầng nên fmax = 1/5.50ns = 4MHz,
tần số này bị giảm hẳn đi.
2.2 Đếm đồng bộ lên xuống
Ở hình 3.3.17 ở trên là mạch đếm đồng bộ lên, ta có thể xây dựng mạch đếm đồng
bộ xuống giống như cách đã làm với mạch đếm không đồng bộ tức là dùng các đầu
ra đảo của FF để điều khiển các đầu vào T của tầng kế tiếp. Như vậy với mạch đếm
xuống mod 16 thì đầu ra Q sẽ được nối tới T1, T2, T3 và bộ đếm sẽ đếm xuống từ
15, 14, 13,… rồi về 0 để reset trở lại 15.
Bây giờ thêm 1 ngõ điều khiển chế độ đếm giống như bên mạch đếm lên xuống
không đồng bộ ta đã có mạch đếm lên xuống đồng bộ. K = 1(up) đếm lên, K =
0(down) đếm xuống. Mạch được xây dựng như hình sau (lưu ý xung ck tác động
cạnh lên)
Hình 3.3.18 Mạch đếm đồng bộ lên hay xuống
2.3 Đếm đồng bộ không theo hệ nhị phân
Để thiết kế mạch đếm mod m bất kì từ mạch đếm mod 2n (m <= 2n) ta có thể dùng
ngõ clear để xoá mạch khi đếm đến số m, cách khác là nhìn vào giản đồ xung để
171
thử nghiệm việc nối các đầu vào J, K. Ở đây ta sẽ xét đến mạch đếm mod 10 hay
dùng
Ngoài xung ck được đưa vào tất cả 4 tầng FF thì cần phải giải quyết các ngõ J, K
Để ý là khi mạch đếm đến số 10 thì Q0 = 0 và Q2 = 0 không đổi trạng thái khi
reset về 0 nên FF 0 và FF 2 được kích bình thường như đã nói.
Còn với FF 1, Q1 đổi trạng thái khi Q0 ở cao đồng thời Q1 phải được giữ luôn mức
thấp ở số đếm thứ 10, khi này có thể tận dụng đang ở cao cho tới khi reset, vậy J1
= K1 = Q0.
Sau cùng với FF 3 Q3 sẽ được reset về 0 khi cả 3 Q0Q1Q2 đều về 0. Vậy J3 = K3 =
Q0Q1Q2
Kiểm tra lại thấy rằng mạch đúng là hoạt động đếm chia 10. Bạn có thể xem phần
thiết kế mạch đếm đồng bộ ở sau để hiểu rõ cách nối mạch, còn đây là cấu trúc
mạch mô tả:
Hình 3.3.19 Mạch đếm mod 10 đồng bộ
2.4 Đếm đặt trước số đếm
Nhiều bộ đếm song song ở dạng IC tích hợp được thiết kế để có khả năng nạp
trước số cần đếm thay vì 0 như ta thường thấy. Số đặt trước là bất kì trong những
số có thể ra của mạch và mạch có thể đếm lên hay đếm xuống 1 cách đồng bộ hay
không đồng bộ từ số này.Việc này giống như là nạp song song ở ghi dịch vậy,
bằng cách tận dụng ngõ Cl và Pr (ngõ không đồng bộ độc lập với ck). Cấu trúc
mạch với 3 tầng FF được minh hoạ như hình và hoạt động nạp được thực hiện như
sau:
172
hình 3.3.20 Mạch đếm đặt trước 3 bit
Giả sử mạch đang đếm hay dừng ở 1 số đếm nào đó
Đưa sẵn số đếm có trạng thái cần nạp vào ngõ A B C
Đặt một xung mức thấp vào đầu LD (parallel load), xung này sẽ cho phép trạng
thái logic ABC qua cổng Nand để đưa vào 3 tầng FF qua 3 ngõ Pr hay Cl (tuỳ thuộc
bit mức thấp hay cao). Kết quả là Q0 = A, Q1 = B, Q2 = C
Khi LD lên cao trở lại, lúc này nếu có xung nhịp Ck thì mạch sẽ tiếp tục đếm từ số
vừa nạp (trước đó ck và các ngõ T không có tác dụng).
2.5 Một số IC đếm đồng bộ
Nhóm 74LS160/161/162/163
Cả 4 IC đều có cùng kiểu chân và các ngõ vào ra tương tự nhau; có xung ck nảy ở
cạnh xuống do trong cấu tạo có thêm mạch đệm sau ngõ đồng bộ; có khả năng
nạp song song; preset đồng bộ; có thể nối chồng nhiều IC để có số mod lớn hơn
nhiều do có
- LS160, LS161 là IC đếm chia 10 còn LS161 và LS163 là đếm chia 16
- LS160 và LS161 có chân xoá Cl không đồng bộ còn LS161, LS163 có chân xoá Cl
đồng bộ
Nhóm 74190, 74191
74LS190 là mạch đếm chia 10 còn 74LS191 là mạch đếm chia 16. Chúng có kiểu
chân ra như nhau và chức năng cũng như nhau
173
- Chân EnG (enable gate) là ngõ vào cho phép tác động ở thấp; chân U/D là ngõ
cho phép đếm lên hay xuống (thấp)
- Chân RC (ripple clock) xung rợn sẽ xuống thấp khi đếm hết số; được dùng cho
việc nối tầng và xác định tần số của xung max/min khi nối tới chân LD (load) của
tầng sau.
Cách nối tầng như sau : chân RC của tầng trước nối tới chân ck của tầng sau, khi
này tuy mỗi mạch là đếm đồng bộ nhưng toàn mạch là đếm bất đồng bộ. Cách
khác là chân RC của tầng trước nối tới chân EnG của tầng sau, xung ck dùng đồng
bộ tới các tầng.
Nhóm 74LS192, LS193
LS192 là mạch đếm chia 10 còn LS193 là mạch đếm chia 16
Cả 2 loại đều cấu trúc chân như nhau và đều có khả năng đếm lên hay xuống
Khi đếm lên xung ck được đưa vào chân CKU còn khi đếm xuống xung ck được đưa
vào chân CKD
Khi đếm lên hết số chân Carry xuống thấp, khi đếm xuống hết số chân Borrow
xuồng thấp. 2 chân này dùng khi cần nối tầng nhiều IC
Đặc biệt mạch có thể đặt trước số đếm ban đầu ở các chân ABCD và chân LD
xuống thấp để cho phép nạp số ban đầu.
Nhóm 74HC/HCT4518 và 74HC/HCT4520
Đây là 2 IC đếm đồng bộ họ CMOS dùng FF D về hoạt động cũng tương tự như
những IC kể trên nhưng vì cấu tạo cơ bản từ các cổng logic CMOS nên tần số hoạt
động thấp hơn so với những IC cùng loại bù lại tiêu tán công suất thấp.
4518 là IC đếm chia 10 còn 4520 là IC đếm chia 16
Cấu trúc chân và đặc tính của chúng như nhau
Chân nhận xung ck và chân cho phép E có thể chuyển đổi chức năng cho nhau do
đó mạch có thể tác động cạnh xuống hay cạnh lên
Mạch cũng cho phép nối tầng nhiều IC khi nối Q3 của tầng trước tới ngõ E của tầng
sau.
BÀI 6: MẠCH ĐẾM VÒNG
3.1 Đếm vòng
Mạch đếm vòng có cấu trúc cơ bản là thanh ghi dịch với ngõ ra tầng sau cùng được
đưa về ngõ vào tầng đầu. Hình dưới là mạch đếm vòng 4 bit dùng FF D.
174
Hình 3.3.22 Mạch đếm vòng 4 bit
Nhưng để ý rằng, khi mới bật nguồn cho mạch đếm chạy, ta không biết bit 1 nằm
ở ngõ ra của tầng nào. Do đó, cần phải xác lập dữ liệu dịch chuyển ban đầu cho bộ
đếm. Ta có thể dùng ngõ Pr và Cl để làm, như là đã từng dùng để đặt số đếm cho
các mạch đếm khác đã nói ở trước, giả sử trạng thái ban đầu là 1000 vậy ta có thể
reset tầng FF 3 để đặt Q3 mức 1, các tầng khác thì xoá bằng clear. Có thể dùng
mạch tạo xung để nạp dữ liệu ban đầu như sau :
Hình 3.3.23 Mạch nạp số ban đầu cho mạch đếm vòng
Giả sử ban đầu chỉ cho D0 = 1, các ngõ vào tầng FF khác là 0. Bây giờ cấp xung ck
đồng bộ khi ck lên cao, dữ liệu 1000 được dịch sang phải 1 tầng do đó Q0 = 1, các
ngõ ra khác là 0. Tiếp tục cho ck xuống thấp lần nữa, Q1 sẽ lên 1, các ngõ ra khác
là 0. Như vậy sau 4 nhịp xung ck thì Q3 lên 1 và đưa về làm D0 = 1. mạch đã thực
hiện xong 1 chu trình. Trạng thái các ngõ ra của mạch như hình sau:
175
Hình 3.3.24 Dạng sóng minh hoạ mạch đếm vòng
Hình trên cho thấy rằng, dạng sóng các ngõ ra là sóng vuông, dịch vòng quanh,
chu kì như nhau nhưng lệch nhau đúng 1 chu kì xung vào Ck. Số đếm ra là 1, 2, 4,
8 không phải là số xung vào (như bảng trạng thái đếm phía dưới)
Với 4 số đếm ra từ 4 tầng FF ta có
mạch đếm mod 4. Chỉ 4 trạng thái
ra trong tổng số 16 trạng thái có
thể, điều này làm giảm hiệu quả sử
dụng của mạch đếm vòng. Nhưng
nó cũng có ưu điểm nổi bật so với
mạch đếm chia hệ 2 là không cần
mạch giải mã trong cấu trúc mạch
(vì thường trong trạng thái của số
đếm ra chỉ có 1 bit 1) .
3.2 Đếm Johnson (đếm vòng xoắn)
Hình 3.3.25 Mạch đếm vòng xoắn
Mạch đếm Johnson có một chút thay đổi
so với đếm vòng ở chỗ ngõ ra đảo tầng
cuối được đưa về ngõ vào tầng đầu. Hoạt
động của mạch cũng giải thích tương tự.
Với n tầng FF thì đếm vòng xoắn cho ra 2n
số đếm do đó nó còn được coi là mạch
đếm mod 2n (đếm nhị phân cho phép đếm
với chu kỳ đếm đến 2n). Như vậy ở trên là
mạch đếm vòng xoắn 4 bit. Bảng bên cho
thấy 8 trạng thái ngõ ra và hình dưới sẽ
minh hoạ cho số đếm.
176
Ta có thể nạp trạng thái ban đầu cho mạch là 1000 bằng cách sử dụng ngõ Pr và
Cl giống như ở trên. Dạng sóng các ngõ ra cũng giống như trên, hơn thế nữa, nó
còn đối xứng giữa mức thấp với mức cao trong từng chu kì
Hình 3.3.26 Dạng sóng mạch đếm vòng xoắn
BÀI 7: THIẾT KẾ MẠCH ĐẾM
Tuy thiết kế không phải là nội dung chính mà tài liệu phải đề cập như ở đây sẽ nêu
một vài bài toán thiết kế điển hình giúp sinh viên có thể hiểu sâu hơn về mạch
logic tuần tự.
Trở lại hình 3.3.19 đấy là mạch đếm đồng bộ chia 10 (MOD 10). Người ta đã dùng
mạch đếm mod 16 kết hợp với một số cổng logic để tạo việc reset khi ngõ ra hiển
thị số 10. Quá trình đếm chỉ diễn ra theo thứ tự trong các trạng thái từ 0 đến 9,
như vậy mạch đến với chu kỳ đếm là 10.
Có thể thiết kế mạch đếm theo cách khác với cách ở trên theo dạng lập bảng trạng
thái kết hợp với bìa Karnaugh. Cách này rất rõ ràng trình tự, nó có thể thiết kế với
số mod bất kì, dạng FF tuỳ ý, đếm lên hay đếm xuống cũng được, thậm chí số đếm
không theo trình tự gì cả. Minh hoạ việc thiết kế qua ví dụ sau.
BÀI TOÁN 1:
Ví dụ thiết kế mạch đếm lên đồng bộ mod 8 dùng FF JK minh hoạ như hình sau:
177
hình 3.3.27 giản đồ mạch đếm lên mod 8
Trước hết hãy cùng tìm hiểu về sự chuyển tiếp trạng thái ở ngõ ra Q:
Giả sử ngõ ra Q đang ở 0, bây giờ ta muốn khi có xung ck thì Q lên 1. Dựa vào
bảng trạng thái của FF JK thì J = 1, K = 0 hay J = 1, K = 1 (trường hợp Qn+1 = 1 với
Qn chính là Q đang ở 0 trước đó). Tóm lại khi Q từ 0 chuyển lên 1 thì cần J = 1, K =
X (X bằng 0 hay 1). Lý luận tương tự thì :
Q từ 1 chuyển về 0 cần J = X, K = 1
Q từ 0 giữ nguyên là 0 cần J = 0, K = X
Q từ 1 giữ nguyên là 1 cần J = X, K = 0
Cả bốn trường hợp chuyển trạng thái của Q được tóm tắt như bảng dưới đây (được
gọi là bảng trạng thái kích ngõ vào của FF JK ) :
Giống như vầy, bạn có thể lập được bảng trạng thái kích ngõ vào của các FF SR, FF
D, FF T
178
Sau khi đã nắm vững quy tắc chuyển trạng thái của FF ở trên ta mới bắt đầu đi
vào bài toán ở ví dụ trên :
Do mạch đếm có tất cả 8 trạng thái ngõ ra nên ta cần 3 FF, chọn FF JK. Có thể tóm
lượt nội dung cần thiết kế qua mạch logic sau:
Nhiệm vụ của bài toán là tìm ra mạch logic X để mạch trên thoả mãn các yếu tố:
- Mạch có số đếm từ 000 đến 111 nên Qn+1 sẽ là 001 đến 000 (111 reset về 000)
- Từ trạng thái ra dựa vào bảng trạng thái kích ngõ vào ở phần trên ta có thể xác
định được logic cần thiết ở ngõ vào J, K của 3 tầng FF để khi có xung kích ck thì
chuyển lên trạng thái tiếp theo.
Với các ngõ vào của X là các ngõ ra của các FF và các ngõ ra của X lại là các ngõ
vào kích của các FF, ta có bảng chuyển trạng thái của X khi đếm:
Bây giờ, lập bìa K với Q0, Q1, Q2 là các biến ngõ vào trong khi các ngõ J, K của 3
tầng FF lại trở thành ngõ ra. Bìa K cho 6 ngõ ra như sau :
179
Từ đây, rút gọn biểu thức ta được các hàm logic diễn tả mạch logic X:
J0 = K0 = 1
J1 = K1 = Q0
J2 = K2 = Q0Q1
Nối mạch X vừa tìm được vào mạch trên cụ thể: hai ngõ vào J, K của mỗi FF được
nối chung với nhau (thành ngõ vào T), FF 0 có ngõ T nối lên cao, FF1 có ngõ vào T
nối đến ngõ ra Q0 còn FF 2 có ngõ vào T là ngõ ra cổng And mà 2 ngõ vào là Q0 và
Q1. Kết quả cuối cùng là mạch đếm như hình sau
Hình 3.3.28 mạch đếm mod 8
BÀI TOÁN 2:
Thiết kế mạch đếm lên/xuống mod 4 dùng FF JK để điều khiển động cơ bước.
180
Trên thực tế, người ta đã chế tạo được các vi mạch đếm rất đa dạng và có thể đáp
ứng được một cách khá đầy đủ các nhu cầu thực tiễn và làm việc rất ổn định. Do
đó, việc thiết kế mạch đếm sẽ chỉ mang yếu tố củng cố kiến thức về FF nếu như
không có các ứng dụng như ví dụ sau: Thiết kế mạch điều khiển tốc độ và đảo
chiều quay động cơ bước.
* Tìm hiểu động cơ bước (step motor)
Động cơ bước là động cơ quay từng bước thay vì chuyển động liên tục. Các cuộn
dây cảm trong động cơ sẽ cần được cấp dòng và ngắt dòng theo một trình tự cụ
thể để hình thành nên bước quay; và tín hiệu điều khiển dạng số điều khiển đóng
cắt dòng điện trong các cuộn dây của động cơ. Động cơ bước rất thông dụng và
được sử dụng trong nhiều lĩnh vực đặc biệt đòi hỏi điều khiển chính xác như đầu
đọc ghi ở đĩa từ, điều khiển đầu in ở máy in, trong tay máy, người máy (có công
suất bé) …
Hình 3.3.29 Động cơ bước
Hình trên là sơ đồ một động cơ bước đặc trưng với 4 cuộn dây từ tính. Để cho
chính xác, cuộn 1 và 2 phải luôn ở trạng thái ngược nhau (tức là cuộn 1 được cấp
điện thì cuộn 2 ngắt và ngược lại như vậy ta có thể nối tới 2 đầu ra Q vào của một
FF JK. Tương tự với cuộn 3 và 4 cũng phải ngược trạng thái như giữa cuộn 1 và 2.
Để đảo chiều quay người ta dùng một ngõ điều khiển chọn chiều quay cho động cơ
và kí hiệu là C. Ngõ C độc lập với việc chuyển trạng thái hiện tại và kế tiếp của các
ngõ ra.
* Thiết kế mạch điều khiển
Như vậy có thể tóm lượt bài toán như sau:
181
Tín hiệu điều khiển tốc độ là fx và đảo chiều quay là C, khi thay đổi hai tín hiệu này
mạch sẽ thay đổi tốc độ và chiều quay tương ứng. Dùng 2 FF JK để thiết kế mạch
đếm lên/xuống tương ứng với đảo chiều quay nhớ vào mạch giải mã 4555/4556
(lựa chọn một trong hai IC này tuỳ thuộc vào mạch đệm lái các cuộn dây động cơ
bước). Như vậy mạch đếm cần thiết kế có thể tóm lược như sau:
Lập bảng trạng thái logic với QA = A và QB = B và C là ngõ vào chọn chiều quay,
tính toán tương tự như bài táon trước ta có:
182
Từ bảng trạng thái logic, bìa K được vẽ và biểu thức logic được rút gọn là: JA = C.B
+ C
KA = C + C.B
JB = C + C.A
KB = CA + C
* Kết quả
Cuối cùng ta có cấu trúc mạch với đầy đủ các ngõ vào ra
183
Hình 3.3.30 Giản đồ đếm cho động cơ bước
Hình 3.3.31 Mạch đếm dùng trong hệ điều khiển động cơ bước
BÀI 8: ỨNG DỤNG MẠCH ĐẾM
Mạch đếm chia 2 hay không chia 2 ( đếm chia 10, đếm chia 6, đếm chia cho 12),
không đồng bộ hay đồng bộ, được ứng dụng rộng rãi ở nhiều lĩnh vực. Ỡ các ứng
dụng như vậy mạch đếm được dùng kết hợp với nhiều loại mạch khác như dao
động, so sánh , giải mã,.. Phần này chỉ nêu một số loại mạch ứng dụng chính của
mạch đếm và để được đơn giản, chúng sẽ được trình bày ở dạng sở đồ khối. Hơn
nữa, ngày nay có nhiều IC tích hợp quy mô lớn hay rất lớn (LSI, VLSI) kết hợp
nhiều chức năng khiến mạch trở nên đơn giản hơn, nhưng ở đây chỉ dùng các IC rời
vì dễ trình bày nguyên lí.
5.1 Đếm nhiều hàng hay chia tần số liên tiếp
184
Khi đếm số lượng để hiển thị ra số thập phân thường phải dùng nhiều mạch đếm
chia 10, chẳng hạn 7490. Mạch đếm đầu tiên nơi có xung đếm vào là hàng đơn vị,
mạch đếm tiếp theo là hàng chục, tiếp theo nữa là hàng trăm. Ta cũng có thể nói
mạch đếm có nhiều số, số có giá trị thấp nhất là LSD và số có giá trị cao nhất là
MSD. Ví dụ để đếm từ 0 lên đến 999 thì cần 3 mạch đếm mắc nối tiếp. Với số đếm
tối đa là 999 thì tuỳ theo dấu thập phân nằm ở đâu mà có các trị số 999, 99.9,
9.99, .. Số đếm ở các mạch đếm được đưa vào khối hiển thị gồm mạch giải mã và
các đèn hiển thị (xem chừng 9). Ở mạch hình khi mạch đếm 7490 thứ 1 đã đếm
đầy tức đạt đến số đếm 1001 = 910, thì nếu có thêm một xung vào nữa mạch đếm
sẽ tự động reset về 0 tức ngõ ra QD của nó sẽ từ 1 xuống 0 tạo cạnh xuống đến
ngõ vào CLKB của mạch đếm 7490 thứ làm ngõ ra của mạch đếm này là 0001 = 1.
Số đếm lúc bây giờ của 2 mạch đếm là 1010. Tiếp tục như thế mạch đếm lên 11 …
19 rồi 20 , 21 ….29, 30, 31…
Hình 3.3.32 Mạch đếm 2 hàng
Các chân IC đếm, sự nối mạch và các xung vào phải được thực hiện đồng bộ mạch
mới hoạt động. Ngoài ra, còn phải sắp xếp ngõ xoá để xoá mạch khi cần. Ở hình vẽ
là một cách như vậy : khi mới mở điện tụ chưa nạp điện nên ngõ xoá ở cao để xoá
các mạch 5đếm, sau thời gian ngắn (vài us), tụ nạp gần đủ điện khiến ngõ xoá
xuống thấp cho phép các mạch đêm đêm lên, mỗi khi cần xoá mạch thì ấn nút để
đưa ngõ xoá lên cao trong chốc lát.
185
Mặt khác mạch đếm cơ bản là mạch chia tần nên trong nhiều ứng dụng mạch
5đếm được dùng như mạch 5chia tần. Ví dụ với hai mạch đếm thập giải mắc nối
tiếp như hình trên thì tần số ngõ ra ở QD của 7490 thứ 2 là 1/100 tần số của xung
vào. Dùng các ngõ ra khác thay vì QD hay dùng các IC đếm không phải thập giai
(như 7493, 7492…) ta sẽ có sự chia tần mong muốn.
<về đầu trang>
5.2 Mạch đếm sự kiện
Các IC đếm thường được coi là trung tâm của các mạch đếm biến cố hay sự kiện
chẳng hạn đếm số xe vào bãi, số người đi qua cửa, số sản phẩm đi trên băng
truyền được đóng gói. Hình dưới minh hoạ cho một mạch đếm như vậy
Ta sẽ phải cần mạch phát hiện hay cảm biến để chuyển đổi những thay đổi của các
hiện tượng trên thành xung điện kích cho mạch đếm. Nếu cần, có thể thêm mạch
lọc nhiễu, khuếch đại và chuyển đổi để phù hợp với ngõ vào IC đếm
Khi nhận được xung kích vào chân ck, IC đếm sẽ đếm lên ,tuỳ theo giới hạn số
xung vào mà ta có thể nối chồng thêm nhiều IC đếm để cho số đếm lớn hơn.
Mạch giải mã và hiển thị như đã biết sẽ cho phép biết được số người đã đi vào
cổng
Giả sử yêu cầu đề ra là chỉ cho phép 99 người vào, như vậy cũng cần thêm 1 mạch
báo tràn để khi số người vượt quá số đếm của mạch (mạch sẽ reset) thì led sẽ
sáng và như hình vẽ ta có thể lấy mức tín hiệu tràn này để điều khiển mở nguồn
cho 1động cơ để đóng cửa lại. Ơ đây thiết kế tới số đếm là 99 bạn cũng có thể
thiết kế số đếm tuỳ ý, khi này phải dùng các mạch đếm phù hợp, các cổng logic
thêm vào cho phép báo tràn ở một số tuỳ ý (thiết kế tổ hợp ngõ ra)
186
Hình 3.3.33 Hình minh hoạ mạch đếm sự kiện
<về đầu trang>
5.3 Mạch đếm tần
Máy đếm sự kiện (đếm tích luỹ) ở trên có thể được thêm một số mạch điện để trở
thành máy đếm tần số (frequency counter). Máy đếm tần số đầy đủ khá phức tạp.
Ở đây chỉ trình bày nguyên lí của máy đếm tần số đơn giản. Hình dưới là sơ đồ
khối mà phần trung tâm gần giống như máy đếm sự kiện
187
Hình 3.3.34 Các khối mạch đếm tần
Trước tiên là mạch dao động, ví dụ dao động cổng logic mà ta đã được biết, và
chia tần số xuống để có tín hiệu TTL đối xứng ở tần số 0,5Hz. Đây là tín hiệu điều
khiển có chu kỳ là 2s với thời gian ở cao là 1w và ở thấp là 1s.
Ở đầu chu kỳ tín hiệu xung mở cổng(từ mạch dao động chia tần) lên cao mở cổng
And cho xung vào khối đếm (sau khi đã được xử lí như khuếch đại, lọc, nắn dạng ở
mạch giao tiếp) và mạch đếm đếm lên sau đúng 1s xung mở cổng xuống thấp
ngăn không cho xung vào khối đếm. Đồng thời khi xung mở cổng vừa xuống thấp
mạch tạo xung chốt sẽ tạo xung hướng dương hẹp để chốt số đếm của khối đếm
vào khối chốt (khối chốt cơ bản là các FF D), ở đây số đếm được lưu giữ cho đến
khi số đếm mới được chốt vào.
Số đếm đã chốt được giải mã và hiển thị. Vì cổng And chỉ mở đúng 1s nên nếu có n
xung vào thì số đếm là n và tần số là n Hz. Do đó mạch ở hình trên cho phép đo
tần số từ 0 Hz lên đến 9999 Hz. Trên tần số 9999 Hz (từ số xung vào khối đêm
trong 1s lớn hơn 999 xung) đèn báo tràn sẽ sáng (hoặc một cách báo tràn nào
khác ví dụ như nhảy toàn một số hay hiện lên số 1 ở hàng cao nhất tức MSD).
Khi xung mở cổng từ cao xuống thấp và số đếm được chốt vào như nói ở trên thì
cạnh xuống của xung mở cổng qua mạch dao động đa hài đơn ổn để cho xung ra
188
có cạnh xuống trì hoãn một thời gian ngắn so với cạnh xuống của xung vào, cạnh
cuống của xung ra đến mạch tạo xung reset để phát ra xung reset thích hợp cho
các mạch đếm và mạch báo tràn.
Sau đó xung mở cổng lại lên cao và xung vào được đếm trong đúng 1s . , sau đúng
1 s xung mở cổng xuống thấp và số đếm lần 2 được chốt vào. Trong suốt thời gian
xuống thấp và ở cao trở lại, tổng cộng 2s, máy vẫn hiển thị số đếm lấn 1. Khi số
đếm lần 2 được chốt vào máy sẽ hiển thị số đếm lần 2 mà có thể giống hay khác
trước. Mạch tiếp tục hoạt động theo chu kì ở trên.
5.4 Đồng hồ số :
Phần này trình bày về đồng hồ số dạng linh kiện rời. Thực ra giờ đây mạch dạng
này không còn được sử dụng nữa vì công nghệ tích hợp đã cho phép tạo ra các
đồng hồ số nhỏ gọn đỡ tốn điện, nhiều chức năng hay có thể dùng vi điều khiển vi
xử lí để lập trình cho đồng hồ số. Tuy nhiên đồng hồ số dạng này cho phép người
học hiểu được nguyên lí và biết được ứng dụng thực tế của mạch đếm nên vẫn
được nêu ra ở đây.
Sơ đố khối của mạch như hình dưới đây :
Hình 3.3.35 Khối đồng hồ số (kiểu cũ)
Nguồn dao động tần số 1 Hz cung cấp cho ngõ kích ck được lấy từ mạch dao động
thạch anh kết hợp cổng logic (nếu muốn chính xác), lấy từ dao động 555 (nếu
189
muốn tương đối chính xác) hay lấy từ lưới điện xoay chiều 220V/50Hz chia áp, lọc,
nắn dạng và chia tần cũng được.
Tần số 1Hz kích cho mạch đếm 7490 cho phép hiển thị hàng giây ở led 7 đoạn
cùng lúc chia 10 ở ngõ ra QD cung cấp xung cho mạch đếm sau, tức là tần số chia
còn 0,1Hz
Tương tự tần số 0,1Hz kích cho 7492 đếm để hiển thị hàng chục giây ở led 7 đoạn,
động thời chia 6 ở ngõ ra để tạo xung kích cho hàng phút
Cứ vậy cách chia và hiển thị ở trên cho phép chia tần số tới 1/giờ và hiển thị tới
hàng giờ.
Để hiển thị hàng chục giờ (chỉ là 0 hay 1) thì cần dùng 1 FF JK là đủ (đếm mod 2
dùng 1 nửa IC 74LS73) : khi QD của 7490 kế trước từ cao xuồng thấp (sau khi đã
đếm đủ 9) thì sẽ tạo xung kích cho FF JK này làm nó lật trạng thái ngõ ra, tức là Q
lên cao làm sáng số 1. Khi ngõ ra Q0, Q1 của 7490 và ngõ ra Q của nửa 74LS73
đầu (FF JK đầu) đều lên 1 thì khi này đồng hồ chỉ báo 12 giờ 59 phút 69 giây cộng
1 giây và ngõ ra của cổng Nand xuống thấp xoá FF và xoá mạch đếm 7490 kế đó.
Hai hiển thị gắn với 2 mạch này quay về 0. Để hiển thị chữ AM, FM ta dùng FF JK
thứ 2 của 74LS73 : khi Q của FF JK đầu xuống thấp thì Q của FF JK thứ 2 lên cao,
mức này cho phép hiển thị chữ AM, còn khi Q của FF JK đầu xuống thấp một lần
nữa thì khi nàyĠ của FF JK thứ 2 sẽ lên cao tức là chữ PM được thấy còn chữ AM
mất. Hiển thị AM/PM đơn giản chỉ là cấp mức áp cao để phân cực cho led hình
AM/PM không phải dùng mạch giải mã như ở các hàng trước.
Chương 4 BỘ NHỚ BÁN DẪN
Vi mạch nhớ đóng một vai trò hết sức quan trọng trong điện tử số, đặc biệt là trong cấu trúc của máy vi tính. Đây là nơi lưu trữ thông tin giúp máy tính xử lý tình huống thực tế theo chương trình định trước. Chương này trình bày các vấn đề sau:
Bài 1: Các khái niệm cơ bảnBài 2: Cấu trúc bộ nhớ bán dẫnBài 3: Nguyên lý làm việcBài 4: Phân loại bộ nhớ bán dẫnBài 5: Giới thiệu vi mạch điển hìnhBài 6: Mở rộng dung lượng bộ nhớBài 7: Các mạch ứng dụng
BÀI 1: CÁC KHÁI NIỆM CƠ BẢN VỀ BỘ NHỚ BÁN DẪN
190
Trên thực tế có rất nhiều dạng bộ nhớ, cụ thể như:
- Bộ nhớ cơ khí: hệ thống công tắc hình trống/cam…
- Bộ nhớ từ: đĩa cứng, đĩa mềm, băng từ …
- Bộ nhớ quang: đĩa CD ROM, băng giấy đục lỗ …
…
So với các bộ nhớ trên, bộ nhớ bán dẫn có một số ưu điểm như tốc độ xử lý,
kích thước nhỏ gọn, dễ dàng trong điều khiển việc truy xuất dữ liệu... Trong thực
tế khi sử dụng bộ nhớ bán dẫn, người ta thường lưu ý các thông số sau:
Hình 4.1: Bộ nhớ bán dẫn
Các BUS là một tập hợp các dây dẫn được sử dụng để mang tín hiệu đi trao đổi
thông tin giữa các thiết bị trong hệ vi xử lý. Điển hình một máy tính 8 bit có các
thanh ghi với độ rộng 8 bit và 8 đường trong 1 BUS dữ liệu. Một máy tính 16 bit có
các thanh ghi 16 bit, BUS dữ liệu có 16 đường … Có thể dùng hình ảnh đường giao
thông để minh hoạ các BUS (Hình 4.2): trên đường giao thông có nhiều địa điểm
như A, B, C, D … Nếu chỉ dùng dây điện để nối (nối cứng) ta phải tốn rất nhiều
đường dây để liên kết giữa các địa điểm lại với nhau nhưng khi đi trên đường, lái
xe dù không thông thạo vùng này cứ đi dọc xa lộ là có thể tìm đến địa điểm cần
đến. Rõ ràng với một BUS ta có thể liên kết nhiều thiết bị trong hệ vi xử lý lại với
nhau (mỗi thiết bị có thể xem như một địa điểm trên đường giao thông còn xe
mang thông tin trao đổi giữa các thiết bị trong hệ thống).
191
Hình 4.2: Minh hoạ BUS thông qua hình ảnh đường giao thông.
Dựa vào tính chất thông tin tải trên Bus, người ta phân làm ba loại chính:
o Tuyến địa chỉ: đây là bus 1 chiều, được sử dụng để xác định địa chỉ của vùng
nhớ trong bộ nhớ bán dẫn, nơi mà bộ nhớ chọn để truy xuất dữ liệu.
o Tuyến điều khiển: đây là bus 1 chiều nhưng hình vẽ tổng quan thì xem như
hai chiều. Tuyến này xác định việc đọc hay viết dữ liệu trên bộ nhớ bán dẫn.
Cụ thể, dữ liệu được viết vào vùng nhớ được chọn hay từ đó xuất đi. Ngoài
ra, cho phép bộ nhớ ngưng làm việc (treo: không dùng đến) cũng do tín
hiệu trên tuyến điều khiển này quyết định.
o Tuyến dữ liệu: đây là bus 1 chiều với ROM và là 2 chiều với các bộ nhớ khác,
được sử dụng để mang dữ liệu từ vùng nhớ được chọn bởi tuyến địa chỉ
trong bộ nhớ đến các thiết bị khác như CPU, ROM, RAM và các cổng
nhập/xuất (I/O) trong hệ thống.
Thời gian truy xuất (Access Time) là thời gian cần thiết để thực hiện hoạt động
đọc, nghĩa là thời gian từ lúc bộ nhớ nhận được địa chỉ mới ở đầu vào cho đến khi
dữ liệu đã sẵn sàng cho đầu ra. Ký hiệu at hay tACC.
Dung lượng (Capacity): Nói lên số bit tối đa có khả năng lưu trữ trong bộ nhớ. Ví
dụ có một bộ nhớ lưu trữ được 2048 từ 8 bit. Như vậy bộ nhớ có dung lượng của bộ
nhớ là 2048 x 8, trong đó đại lượng thứ nhất (2048) là tổng số từ, và đại lượng thứ
hai (8) là số bit trong mỗi từ (kích cỡ từ). Số từ trong bộ nhớ thường là bội số của
1024.
Đơn vị chuyển đổi như sau:
1 byte = 8 bit
192
1Kbyte = 210 = 1024 bit
1Mbyte = 2020 = 1,048,576 bit
1Gbyte = 230 = 1,073,741,824 bit
Ô nhớ (Memory Cell): là phần tử, linh kiện điện tử có khả năng lưu trữ một bit
đơn (1 hay 0). Ví dụ như flip – flop (FF), tụ tích điện, một vết trên băng từ.
Từ nhớ (Memory Word): là một nhóm bit trong bộ nhớ biểu diễn các chỉ thị hay
dữ liệu thuộc loại nào đó. Ví dụ như thanh ghi gồm 8 Flip-Flop có thể xem như là
bộ nhớ có khả năng nhớ 1 từ mã 8 bit. Kích cỡ từ trong một hệ thống điện tử số
thường biến thiên trong khoảng 4 đến 64 bit.
1.2 TỔ CHỨC BỘ NHỚ BÁN DẪN
1.2.1 Hoạt động của bộ nhớ
Để minh hoạ việc truy xuất dữ liệu trong bộ nhớ bán dẫn, có thể mượn hình
ảnh tủ đựng hồ sơ trong các công sở (hình 4.3 a). Mỗi một hộc tủ trong tủ hồ sơ
được đánh số theo nguyên tắc như sau: chữ số đầu tiên (đánh theo hệ 16) của hộc
là con số chỉ thứ tự hàng của hộc này; chữ số đầu thứ hai (cũng đánh theo hệ 16)
của hộc là con số chỉ thứ tự cột của hộc này. Do đó mỗi một hộc tủ đều có một mã
địa chỉ được ghi dưới dạng mã 16 riêng, chỉ ra vị trí của hộc trên tủ hồ sơ. Giả sử
khi muốn đưa một hồ sơ mới (dữ liệu) vào hộc tủ có mã số là 03, ta chỉ việc trùng
phùng từ hàng 0 với cột 3 là gặp hộc tủ này. Việc ghi hay nạp dữ liệu là tuỳ vào
tuyến điều khiển.
Khi số hộc tủ không đủ để giữ số hồ sơ cần lưu trữ, người ta mua thêm một
tủ cùng loại với tủ cũ và việc đánh số địa chỉ tương tự như cũ. Lúc này việc đánh
số phân biệt giữa 2 tủ giống như lập mã vùng trong thuê bao điện thoại: có thể
xem tủ thứ nhất là vùng 1 và tủ mới mua là vùng 2 (hình 4.3 b). Khi cần liên hệ dữ
liệu trong cùng một vùng thì không cần sử dụng mã vùng (giống như gọi điện
thoại nội hạt), chỉ khi liên hệ giữa hai vùng khác nhau lúc này mới sử dụng đến mã
vùng (giống như gọi điện thoại liên tỉnh). Nghĩa là hồ sơ khi trao đổi trong cùng
một tủ, ta không cần sử dụng thêm một số nào trong mã địa chỉ nhưng muốn
chuyển hồ sơ từ tủ này sang tủ kia bắt buộc phải sử dụng thêm một con số nữa
trong mã địa chỉ (tương tự như mã vùng khi gọi điện thoại). Cụ thể, tủ cũ thêm số
0 vào bên trái của mã địa chỉ còn tủ mới thêm số 1 vào bên trái của mã địa chỉ.
193
Như vậy 001; 011; 034; 075… là các địa chỉ của các hộc trong tủ cũ và 101; 111;
134; 175 là các địa chỉ của các hộc trong tủ mới (cùng vị trí vật lý nhưng khác tủ).
(a)
(b)
Hình 4.3: Hình ảnh minh hoạ việc truy xuất dữ liệu trong bộ nhớ bán dẫn
Minh hoạ việc đánh số trên qua hình 4.4. Bên trái là một số điện thoại thật,
tương ứng với bên phải là cách đánh số địa chỉ trong bộ nhớ bán dẫn theo mã
hexa.
194
Hình 4.4: Minh hoạ việc đánh số trên vùng địa chỉ của bộ nhớ bán dẫn.
Hình 4.5 minh hoạ một bộ nhớ RAM trong chương trình mô phỏng SMS
32v23 (trình bày ở chương 4) trình bày nội dung và cách đánh địa chỉ cho từng ô
nhớ chứa nội dung như cách thức ở tủ hồ sơ vừa nêu ở trên.
Hình 4.5: Bộ nhớ RAM trong chương trình mô phỏng SMS 32v23
Cho ví dụ đơn giản minh hoạ về nguyên tắc hoạt động của bộ nhớ bán dẫn:
khi bạn muốn gởi một lá thư cho bạn mình đang sống ở Pháp, bạn phải ghi địa chỉ
của bạn mình vào bì thư: đó chính là thông tin trên tuyến địa chỉ, xác định nơi mà
lá thư của bạn sẽ đến; viết vào thư những thông tin mà mình muốn gởi rồi cho vào
bì thư dán lại: đó là thông tin trên tuyến dữ liệu; đến bưu điện để xác nhận việc
mình sẽ gởi lá thư đó sang Pháp theo địa chỉ ghi trên bì thư: đó là thông tin yêu
cầu đặt trên tuyến điều khiển. Như vậy việc trao đổi thông tin trên bộ nhớ bán dẫn
cũng tương tự như việc trao đổi thư từ theo dạng truyền thống mà thôi! Sự phối
hợp nhịp nhàng giữa 3 tuyến sẽ giúp bộ nhớ hoàn thành tốt công việc của mình:
lưu trữ và trao đổi thông tin.
195
Hình 4.6 minh hoạ sơ đồ khối tiêu biểu cho một ROM, gồm có đầu vào địa
chỉ, đầu vào điều khiển và đầu ra dữ liệu.
Giả sử ROM đã được lập trình với dữ liệu minh hoạ như ở hình 4.7. Có thể có
16 từ dữ liệu (nhóm 8 bit) riêng biệt được ghi vào 16 địa chỉ khác nhau dưới dạng
nhị phân.
HOẠT ĐỘNG ĐỌC
Để đọc một từ dữ liệu từ ROM, ta phải làm như sau: áp đầu vào địa chỉ thích
hợp, sau đó kích hoạt đầu vào điều khiển.
Hình 4.6: Sơ đồ minh hoạ 3 tuyến: dữ liệu, địa chỉ, điều khiển
196
Hình 4.7: Bảng dữ liệu tương ứng với các địa chỉ trong ROM
Ví dụ muốn đọc dữ liệu tại địa chỉ 0111 của ROM (hình 4.5) ta phải đưa
A3A2A1A0 = 0111 vào các chân địa chỉ, sau đó áp dụng trạng thái thấp choCS .
Đầu vào địa chỉ được giải mã bên trong ROM để chọn được dữ liệu đúng là
11101101. Giá trị này sẽ xuất hiện tại đầu ra D7 đến D0.
BÀI 2: CẤU TRÚC BỘ NHỚ BÁN DẪN
BỘ NHỚ ROM
Bộ nhớ chỉ đọc được (ROM) là một dạng của bộ nhớ bán dẫn mà nó được thiết kế
giữ cho dữ liệu không thay đổi. Khi hoạt động dữ liệu mới không thể viết vào ROM
được mà chỉ có thể đọc được.
ROM được sử dụng để lưu trữ dữ liệu và tin tức. Nó không làm thay đổi dữ liệu
trong suốt quá trình hoạt động của hệ thống. ROM chủ yếu thực hiện chức năng
đọc là chính.
2.1 SƠ ĐỒ KHỐI CỦA ROM
Hình 4.5 minh họa sơ đồ khối tiêu biểu cho một ROM, gồm có đầu vào địa chỉ, đầu
vào điều khiển và đầu ra dữ liệu.
197
Giả sử ROM đã được lập trình với dữ liệu minh họa như ở hình 4.6. 16 từ dữ liệu
khác nhau được ghi vào 16 địa chỉ khác nhau dưới dạng nhị phân. Người ta còn sử
dụng số thập lục phân để biểu diễn dữ liệu đã lập trình (hình 4.7).
198
HOẠT ĐỘNG ĐỌC
Để đọc một từ dữ liệu từ ROM, ta phải làm như sau: áp đầu vào địa chỉ thích hợp,
sau đó kích hoạt đầu vào điều khiển.
Ví dụ muốn đọc dữ liệu tại địa chỉ 0111 của ROM (hình 4.5) ta phải áp A3A2A1A0 =
0111 cho đầu vào địa chỉ, sau đó áp dụng trạng thái thấp cho .
Đầu vào địa chỉ được giải mã bên trong ROM để chọn được dữ liệu đúng là
11101101. giá trị này sẽ xuất hiện tại đầu ra D7 đến D0.
<Về trang đầu>
2.2 CẤU TRÚC CỦA ROM
Cấu trúc bên trong của ROM rất phức tạp. Hình 4.8 là sơ đồ đơn giản mô tả cấu
trúc bên trong của một ROM có dung lượng 16x8. Gồm có 4 phần cơ bản: mảng
thanh ghi, bộ giải mã hàng, bộ giải mã cột, bộ đệm đầu ra.
Mảng thanh ghi (Resister array) lưu trữ dữ liệu được lập trình vào ROM. Mỗi
thanh ghi gồm một ô nhớ bằng số kích thước từ. Trong trường hợp này mỗi thanh
ghi chứa một từ 8 bit. Các thanh ghi được sắp xếp theo ma trận vuông, các thanh
ghi ở đây là thanh ghi “ chết ”, không ghi thêm được.
199
Vị trí của từng thanh ghi được định rõ qua số hàng và số cột cụ thể. 8 đầu ra dữ
liệu của mỗi thanh ghi được nối vào một đường dữ liệu bên trong chạy qua toàn
200
mạch. Mối thang ghi có hai đầu vào cho phép. Cả hai phải ở mức cao thì dữ liệu ở
thanh ghi mới được phép đưa vào dường truyền.
Bộ giải mã địa chỉ
Mã địa chỉ A3A2A1A0 quyết định thanh ghi nào trong dãy được phép đặt từ dữ liệu 8
bit của nó vào đường truyền. Ở đây dùng 2 bộ giải mã: bộ giải mã chọn hàng (chọn
1 trong 4) và chọn cột. Thanh ghi giao giữa hàng và cột được chọn bởi đầu vào địa
chỉ sẽ là thanh ghi được kích hoạt (cho phép).
Ví dụ: Địa chỉ vào là 1101 thì thanh ghi nào xuất dữ liệu.
Với A3A2 = 11, bộ giải mã cột sẽ kích hoạt đường chọn cột số 3
Với A1A0 = 01, bộ giải mã hàng sẽ kích hoạt đường chọn hàng số 1
Như vậy kết quả là cả hai đầu vào cho phép thanh ghi số 13 sẽ ở mức cao và dữ
liệu của thanh ghi này sẽ được đưa vào đường truyền dữ liệu.
Bộ đệm đầu ra
Thường sử dụng mạch đệm 3 trạng thái, điều khiển bằng chân . Khi ở mức
thấp, bộ đệm đầu ra chuyển dữ liệu này ra ngoài. Khi ở mức cao, bộ đệm đầu ra
sẽ ở trạng thái trở kháng cao. D7 đến D0 thả nổi.
2.3 THÔNG SỐ THỜI GIAN CỦA ROM
Sẽ có một khoảng thời gian trễ do truyền từ khi yêu cầu được đưa vào qua đầu vào
của ROM đến khi dữ liệu xuất hiện ở đầu ra trong hoạt động đọc. Thời gian này gọi
là thời gian truy xuất (tACC). Thời gian truy xuất được biểu diễn ở dạng sóng trong
hình 4.9.
201
Dạng sóng phía trên biểu diễn đầu vào địa chỉ; dạng sóng ở giữa là một tích cực
ở mức thấp; dạng sóng dưới cùng biểu diễn đầu ra của dữ liệu.
Một thông số thời gian khác cũng quan trọng đó là thời gian cho phép ra tOE. Đó là
thời gian trễ giữa đầu vào và đầu ra dữ liệu hợp lệ.
tACC ( TTL) : 30 – 90ns.
tACC ( NMOS) : 200 – 900ns.
tACC ( CMOS) : 20 – 60ns
tOE (TTL) : ROM 10 - 20ns
tOE ( NMOS) : ROM 25 - 100ns
tOE ( CMOS) : ROM 10 – 20ns
BỘ NHỚ RAM
RAM: Random Access Memory – bộ nhớ truy xuất bất kỳ còn gọi là bộ nhớ đọc viết
(RWM: read write memory). Nghĩa là mọi địa chỉ nhớ đều cho phép dể dàng truy
cập như nhau. Trong máy tính RAM được dùng như bộ nhớ tạm hay bộ nhớ nháp.
Ưu điểm chính của RAM đọc hay viết dữ liệu lưu trữ ở RAM bất cứ lúc nào.
Nhược điểm của RAM: do RAM là một dạng bộ nhớ bốc hơi nên khi mất điện dữ liệu
sẽ bị xóa do đó cần nguồn nuôi pin – accu dự phòng (back up batterry).
202
Tương tự như ROM, RAM bao gồm một số thanh ghi, mỗi thanh ghi lưu trữ một từ
dữ liệu và có địa chỉ không trùng lập. RAM thường có dung lượng 1K, 4K, 8K, 64K,
128K, 256K và 1024K với kích thước từ 1, 4 hay 8 bit (có thể mở rộng thêm).
Hình 4.16 minh họa cấu trúc của đơn giản của một RAM lưu trữ 64 từ 4 bit (bộ nhớ
64x4). Số từ này có địa chỉ trong khoảng từ 0 đến 6310. Để chọn 1 trong 64 địa chỉ
để đọc hay ghi, một mã địa chỉ nhị phân sẽ được đưa vào mạch giải mã. Vì 64=26
nên bộ giải mã cần mã vào 6 bit.
Hoạt động đọc (Read Operation)
203
Mã địa chỉ nhận được từ chọn thanh ghi để đọc hoặc viết. Để đọc thanh ghi được
chọn thì đầu vào đọc ghi ( ) phải là logic 1. Ngoài ra đầu vào chip select
phải ở mức logic 0. Sự kết hợp giữa = 1 và = 0 sẽ cho phép bộ đệm đầu ra,
sao cho nội dung của thanh ghi được chọn xuất hiện ở bốn đầu ra dữ liệu.
= 1 cũng cấm bộ đệm đầu vào nên đầu vào dữ liệu không tác động đến bộ
nhớ suốt hoạt động đọc.
Hoạt động ghi (Write Operation)
Để viết một từ 4 bit mới vào thanh ghi được chọn, khi đó cần phải có = 0 và
= 0. Tổ hợp này cho phép bộ đệm đầu vào, vì vậy từ 4 bit đã đặt vào dữ liệu sẽ
được nạp vào thanh ghi đã chọn. = 0 cũng cấm bộ đệm đầu ra. Bộ đệm đầu ra
là bộ đệm 3 trạng thái nên đầu ra dữ liệu sẽ ở trạng thái Hi-Z trong hoạt động ghi.
Hoạt động ghi sẽ xóa bỏ từ nào đã được lưu trữ tại địa chỉ đó.
Chọn chip (Chip Select)
Hầu hết các chip nhớ đều có một hay nhiều đầu vào CS dùng để cho phép toàn
chip hoặc cấm nó hoàn toàn. Trong chế độ cấm, tất cả đầu vào và ra dữ liệu đều bị
vô hiệu hóa (Hi-Z), chính vì vậy không hoạt động ghi đọc nào có thể xảy ra. Ngoài
tên gọi CHỌN CHIP các nhà sản xuất còn gọi là CHIP ENABLE (CE). Khi đầu vào CS
hay CE ở trạng thái tích cực thì chip nhớ đã được chọn còn ngược lại thì không
được chọn. Tác dụng của chân CS hay CE là dùng để mở rộng bộ nhớ khi kết hợp
nhiều chip nhớ với nhau.
Các chân vào ra chung (Common Input Output)
Để hạn chế số chân trong một IC, các nhà sản xuất thường kết hợp các chức năng
nhập/xuất dữ liệu, dựa vào chân vào/ra (I/O). Đầu vào điều khiển các chân
vào/ra này.
Trong hoạt động đọc, chân I/O đóng vai trò như đầu ra dữ liệu, tái tạo nội dung
của ô nhớ được chọn. Trong hoạt động ghi, chân I/O là đầu vào dữ liệu, dữ liệu cần
ghi được đưa vào đây.
204
BÀI 3: NGUYÊN LÝ LÀM VIỆC
3.1 HOẠT ĐỘNG CỦA BỘ NHỚ.
Mặc dù mỗi loại bộ nhớ đều có hoạt động nội tại khác nhau, nhưng tất cả bộ nhớ
đều có chung một số nguyên tắc hoạt động cơ bản. Mỗi bộ nhớ cần thực hiện các
chức năng sau:
Chọn đúng địa chỉ vùng nhớ cần đọc hay viết.
Chọn đúng hoạt động đọc hay viết.
Cung cấp dữ liệu nhập vào để lưu trữ trong bộ nhớ suốt hoạt động ghi.
Cho phép (hoặc không cho phép) bộ nhớ đáp ứng (hay không đáp ứng) các đầu
vào địa chỉ hay lệnh đọc ghi.
Lưu trữ dữ liệu xuất ra từ bộ nhớ suốt hoạt động đọc.
Hình 4.1 mô tả một bộ nhớ cơ bản 32x4 lưu trữ 32 từ 4 bit.
Vì mỗi từ ở đây là 4 bit nên có 4 đường dữ liệu vào từ I0 đến I3 và 4 đường dữ liệu
ra từ O0 đến O3. Các ngõ vào địa chỉ A0 đến A4 và các ngõ điều khiển đọc/ghi.
Ngõ vào các địa chỉ:
Vì bộ nhớ chứa 32 từ nên có 32 vị trí lưu trữ khác nhau và có 32 địa chỉ khác nhau
biến thiên 00000 đến 11111 ( từ 010 đến 3110). Hình 4.2 cho thấy cách bố trí các vị
trí ô nhớ và địa chỉ.
205
Vì ở đây có 5 đầu vào địa chỉ A0 đến A4 nên để truy cập một trong những vị trí
trong bộ nhớ cho các hoạt động đọc hay ghi thì mã địa chỉ 5 bit của vị trí cụ thể
được cấp cho đầu vào địa chỉ. Như vậy, với bộ nhớ có dung lượng 2N từ đòi hỏi N
đầu vào địa chỉ.
Ngõ vào
Đầu vào chi phối hoạt động nào sẽ xảy ra trong bộ nhớ: đọc (R) hay ghi (W).
Hoạt động đọc xảy ra khi = 1 ( R ở mức cao)
Hoạt động viết xảy ra khi = 0 ( W ở mức thấp)
Hình 4.3 minh họa đơn giản hoạt động đọc và ghi
206
Cho phép bộ nhớ (Memory Enable)
Cho phép hay không cho phép các ngõ vào, ra của bộ nhớ hoạt động.
Ngoài tên ME còn có một số tên khác như cho phép chip (CE) hay chọn lựa chip
(CS).
Đầu vào này tích cực ở mức cao, nghĩa là cho phép bộ nhớ hoạt động bình thường
khi nó đang ở mức cao. Nếu đầu vào này ở mức thấp thì nó không cho phép bộ nhớ
hoạt động.
Ví dụ 1:
Trình bày trạng thái tại mỗi đầu vào, ra khi dữ liệu 1110 được ghi vào địa chỉ
01101.
Giải :
Đầu vào địa chỉ: 01101
Đầu vào dữ liệu: 1110
: thấp
Đầu vào cho phép bộ nhớ: cao
Đầu ra dữ liệu: xxxx (không sử dụng)
Ví dụ 2: Một bộ nhớ có dung lượng 4Kx8. Hỏi
a. Có bao nhiêu đầu vào dữ liệu và đầu ra dữ liệu?
b. Có bao nhiêu đường địa chỉ?
207
c. Dung lượng của nó tính theo byte?
Giải
a. Bởi vì dung lượng 4Kx8 nên có 8 đầu vào, 8 đầu ra, kích cỡ từ là 8 bit.
b. Bộ nhớ lưu trữ 4K= 4x1024 = 4096 từ. Vì vậy có 4096 địa chỉ nhớ. Vì 4096 = 212
nên cần có mã địa chỉ 12 bit để định rõ một trong 4096 địa chỉ, cần 12 đường địa
chỉ.
c. Một byte = 8 bit nên bộ nhớ này có dung lượng 4096 bit.
3.2 CÁCH NỐI KẾT GIỮA CPU VÀ BỘ NHỚ.
Hầu hết các máy tính hiện đại ngày nay bộ nhớ chính luôn giao tiếp với CPU. Bộ
nhớ chính của máy tính cấu thành từ các IC ROM và RAM. Các IC náy giao tiếp với
CPU thông qua ba nhóm đường truyền (bus) địa chỉ, đường (bus) dữ liệu và đượng
( bus) điều khiển.
Hình 4.4 minh họa cách kết nối các nhóm truyền (bus) nối từ IC của bộ nhớ chính
với CPU.
Hoạt động ghi
CPU gởi vào đường địa chỉ (address bus) địa chỉ vùng nhớ muốn làm việc.
CPU đặt dữ liệu cần lưu lên các đường truyền của bus dữ liệu.
CPU kích hoạt các đường tín hiệu điều khiển thích hợp cho hoạt động ghi vào bộ
nhớ.
Các IC nhớ giải mã địa chỉ nhị phân nhằm xác định đâu là vị trí được chọn cho
hoạt động lưu trữ.
Dữ liệu trên bus dữ liệu được truyền đến vị trí nhớ đã chọn.
Hoạt động đọc
208
Bất cứ khi nào CPU muốn đọc dữ liệu tại một vị trí nhớ cụ thể đều phải diễn ra các
buớc sau:
CPU cấp địa chỉ nhị phân của vị trí nhớ chứa dữ liệu cần truy xuất. Nó đặt địa chỉ
này lên đường truyền của bus địa chỉ.
CPU kích hoạt các đường truyền tín hiệu điều khiển thích hợp cho hoạt động đọc
bộ nhớ.
Vi mạch nhớ giải mã địa chỉ nhị phân nhằm xác định đâu là vị trí nhớ được chọn
cho hoạt động đọc.
Vi mạch nhớ đặt đặt dữ liệu từ vị trí nhớ được chọn vào các đường truyền dữ liệu,
từ đó dữ liệu được chuyển đến CPU.
Qua hai hoạt động ghi và đọc ta thấy được chức năng của các đường bus như sau:
Bus địa chỉ: Đây là bus một chiều mang kết quả xuất địa chỉ nhị phân từ CPU
đến IC nhớ để chọn một vị trí nhớ.
Bus dữ liệu: Đây là bus hai chiều, chuyển tải dữ liệu qua lại giữa CPU và bộ nhớ.
Bus điều khiển: Bus này truyền tín hiệu điều khiển từ CPU đến các IC nhớ.
BÀI 4: PHÂN LOẠI BỘ NHỚ BÁN DẪN
CÁC LOẠI ROM
4.1 ROM LẬP TRÌNH BẰNG MẶT NẠ (Mask Programed ROM)
Với ROM được lập trình bằng mặt nạ, nhà sản xuất đã ghi (lập trình) các vị trí nhớ
của nó theo yêu cầu của khách hàng. Một phím âm bản, gọi là mặt nạ được sử
dụng để kiểm soát các mối nối điện trên chip.
Vì mặt nạ rắt đắt nên loại ROM này không được mang lại hiệu quả kinh tế. Nhược
điểm của loại ROM này là nó không cho phép lập trình lại, vì vậy nó là dạng ROM
đúng nghĩa. Tuy nhiên ROM được lập trình bằng mặt nạ vẫn chỉ là phương pháp
tiết kiệm nhất khi cần trang bị số lượng lớn ROM cùng loại.
Hình 4.10 trình bày cấu trúc của một MROM TTL nhỏ, gồm 16 ô nhớ được sắp xếp
thành 4 hàng x 4 cột. Mỗi ô là một transistor lưỡng cực được kết nối theo cực C
chung. Giãi mã 1 sang 4 đường được sử dụng để giải mã địa chỉ ngõ vào A1A0 khi
chọn thanh ghi hàng để đọc dữ liệu. Mạch giải mã ở trạng thái cao cung cấp cho
phép giải mã hàng của ngõ vào cực B cho giá trị của ô nhớ.
209
Ví dụ : Một MROM được đùng để lưu trữ bảng giá trị các hàm toán học: y = x2 + 3,
với x là ngõ vào, y là ngõ ra.
Ta có bảng giá trị sau:
Số x biểu thị qua giá trị A1A0.
Khi x = A1A0 = 102 = 210 suy ra y = 22+ 3 = 710 = 01112
4.2 ROM CHO PHÉP LẬP TRÌNH (Programmable ROM – PROM)
PROM có cấu tạo như ROM nhưng có hai đặc điểm khác biệt, đó là:
Tất cả các tế bào nhớ đều có diode hay transistor lưỡng cực hay transistor MOS,
tùy theo công nghệ chế tạo.
Phần tử bán dẫn được nối với cầu chì tích hợp. Cầu chì đứt rồi không thể nối lại
được do đó ta chỉ có thể lập trình PROM một lần thôi.
210
Muốn đổi từ bit 1 sang bit 0 người ta dùng một xung điện có biên độ và độ rộng
xung thích hợp (cho biết bởi nhà sản xuất) giữa đường từ và đường bit tương ứng
để làm đứt cầu chì.
Hình 4.11 minh họa hoạt động lập trình của một PROM
4.3 ROM CHO PHÉP LẬP TRÌNH GHI XOÁ ĐƯỢC (Erasable PROM – EPROM)
PROM chỉ lập trình được một lần vì cầu chì đứt không thể nối lại được từ bên
ngoài. Nên khi nạp chương trình sai hay muốn đổi chương trình thì ta phải dùng
một PROM mới. Do đó nguời ta đã chế tạo ra loại EPROM cho phép người sử dụng
có thể lập trình và xóa được.
Cách nạp như sau
Đặt mức điện áp đặt biệt (từ 25V – 50V tùy loại) vào ngõ vào (+Vpp) và cần một
thời gian (50ns cho một vùng nhớ) do đó thời gian nạp một EPROM mất vài phút.
Ô nhớ trong EPROM là những transistor MOS với cổng logic silic thả nổi. Ở trạng
thái bình thường mọi transistor đều tắt và mỗi ô nhớ lưu trữ logic 1. Xung điện áp
sẽ đẩy các electron năng lượng cao vào khu vực cổng thả nổi và chúng vẩn còn kẹt
trong lúc xung điện đã kết thúc, do không có đường phóng điện. Vì vậy transistor
cứ tiếp tục mở ngay khi ngắt điện với thiết bị và ô nhớ lúc này lưu trữ logic 0.
Khi một ô nhớ của EPROM được lập trình thì có thể xóa nó bằng cách chiếu tia
cực tím (UV) qua một của sổ trên vỏ chip. Tia UV tạo một dòng quang điện từ cổng
thả nổi trở về chân đế bằng silic, qua đó nó xóa đi các điện tích lưu trữ, tắt
transitor và phục hồi ô nhớ về trạng thái logic 1. Quá trình xóa này thường cần từ
15 đến 20 phút.
Nhược điểm của EPROM:
Phải tháo EPROM ra khỏi mạch mới để xóa rồi mới nạp trình được.
Khi cần xóa hay thay đổi một từ cũng không thể nạp chồng lên từ đó mà phải xóa
hết và nạp lại từ đầu.
211
4.4 ROM CHO PHÉP LẬP TRÌNH VÀ XÓA ĐƯỢC BẰNG ĐIỆN (Electrically Erasable
PROM – EEPROM)
Khuyết điểm của EPROM được khắc phục với sự ra đời của EEPROM. EEPROM giữ
lại cấu trúc cổng thả nổi của EPROM, nhưng có thêm một lớp oxit rất mỏng phía
trên cực máng của ô nhớ MOSFET. Sự bổ xung này hình thành nên đặc điểm chính
của EEPROM đó là khả năng xóa bằng điện.
Nguyên lý căn bản của EEPROM cũng giống như EPROM dùng cấu trúc tha nổi. Nhờ
thêm vào một lớp oxide mỏng gần cực thoát của tế bào MOSFET, khi áp điện cao
(21V) giữ cực G và D với một lượng điện tích có thể len vào cổng nổi lưu trữ tại đó
ngay cả khi ngưng cung cấp điện tích khỏi cổng nổi và xóa ô nhớ. Do cơ chế truyền
điện tích này chỉ đòi hỏi dòng điện rất thấp nên việc xóa và lập trình EEPROM có
thể thực hiện ngay trong mạch (không cần nguồn UV và máy lập trình PROM đặc
biệt).
Ưu điểm của EEPROM
Có khả năng nạp từng từ riêng lẽ (không giống như EPROM phải nạp cả IC).
Xóa rất nhanh (10ms trên mạch ) so với 30 phút phơi ánh sáng UV.
Nạp rất nhanh (10ms so với 50ms của EPROM).
Đặc tính nạp - xóa trên mạch
EEPROM cần có nguồn 5V(Vcc) và 21V : lấy từ 5V qua bộ chuyển đổi DC-DC.
Mạch khống chế xung 10ns để tạo cho quá trình nạp và xóa.
ỨNG DỤNG CỦA ROM
Lưu trữ chương trình chạy máy tính
Lưu trữ chương trình chởi động máy (boottrap memory).
Hoạt động như mạch tổ hợp, ROM đảm nhiệm chức năng như PLA (programmable
logic array – chuổi hàm logic)
Bảng dữ liệu: chứa các dữ liệu cần tham khảo chẳng hạn như bảng chuyển đổi
mã, bảng các giá trị lượng giác. Bộ tạo ký tự như tạo các ký mã ASCII.
Mạch tạo dạng sóng (function generator) là một mạch tạo các dạng sóng như
hình sine, sóng răng cưa, sóng tam giác, sóng vuông.
CÁC LOẠI RAM
5.1 RAM TĨNH (Static RAM) là RAM có thể lưu trữ dữ liệu đến khi nào chip vẩn còn
được cấp điện. Ngày nay RAM lưỡng cực tĩnh được chế tạo theo công nghệ TTL,
212
công nghệ ECL đã đạt đến dung lượng nhớ hơn 16Kbit, thời gian truy xuất dưới
10ns và công suất tiêu thụ dưới 0,1mW/bit và công nghệ NMOS, CMOS, HMOS,
MIXMOS, XMOS với dung lượng 256Kb, thờigian truy xuất thấp đến 15ns. Bảng
dưới đây là một số thông số của các loại RAM tĩnh theo các công nghệ chế tạo
khác nhau.
Từ bảng thông số trên cho thấy:
ECL có thời gian truy xuất ngắn nhất
ECL, TTL có dung lượng nhỏ hơn CMOS, NMOS
CMOS, NMOS có công suất thấp hơn ECL, TTL. ECL có công suất cao nhất
5.1.1 Giản đồ thời gian của SRAM
Các IC RAM thường được dùng làm bộ nhớ trong máy tính. Chip nhớ giao diện với
CPU phải đủ nhanh mới đáp ứng được các lệnh đọc và ghi của CPU. Không phải tất
cả các loại RAM đều có đặc điểm thời gian như nhau.
Hình 4.17 biểu diễn sơ đồ thời gian cho một chu kỳ đọc và chu kỳ ghi hoàn chỉnh
của một chip SRAM điển hình.
213
Hình 4.17 Sơ đồ thời gian tiêu biểu của SRAM
5.1.2 Chu kỳ đọc
Dạng sóng ở hình 4.17a minh họa hành vi của đầu vào địa chỉ , đầu vào trong
chu kỳ đọc của bộ nhớ.
Chu kỳ đọc bắt đầu tại thời điểm t0. Trước thời điểm này, đầu vào địa chỉ có thể là
bất kỳ địa chỉ nào có sẵn trên bus địa chỉ từ hoạt động ngay trước đó. Vì đầu vào
của RAM không tích cực nên nó sẽ không đáp ứng địa chỉ cũ. Tại thời điểm t0 CPU
214
cung cấp địa chỉ mới cho đầu vào của RAM, đây chính là địa chỉ của vị trí nhớ cần
đọc. Sau thời gian ổn định tín hiệu địa chỉ, đường được kích hoạt. RAM đáp ứng
bằng cách thay đặt dữ liệu từ vị trí nhớ có địa chỉ xác định vào đường ra dữ liệu tại
thời điểm t1. tACC là thời gian truy cập của RAM. tCO là thời gian cần thiết để đầu
vào của RAM đi từ mức Hi-Z đến mức dữ liệu hợp lệ một khi tích cực.
Tại thời điểm t2, trở về mức cao, và đầu ra của RAM trở về trạng thái Hi-Z sau
khoảng thời gian tOD. Vậy dữ liệu của RAM sẽ ở trên bus dữ liệu trong khoảng thời
gian từ t1 đến t3.
Thời gian của một chu kỳ hoàn chỉnh là tRC, kéo dài từ t0 đến t4 khi CPU thay đổi
đầu vào địa chỉ mới cho chu kỳ đọc/ghi khác diễn ra tiếp theo.
5.1.3 Chu kỳ ghi
Hình 4.17b biểu diễn hoạt động của tín hiệu cho một chu kỳ ghi bắt đầu khi CPU
cung cấp địa chỉ mới cho RAM tại thời điểm t1. CPU đưa và xuống thấp sau khi
chờ qua khoảng thời gian tAS, thời gian thiết lập địa chỉ, cho phép bộ giải mã địa
chỉ của RAM có đủ thời gian để đáp ứng địa chỉ mới. và bị giữ ở mức thấp trong
khoảng thời gian tW gọi là thời gian ghi. tDS gọi là thời gian thiết lập dữ liệu còn tDH
gọi là thời gian duy trì dữ liệu.
Trong thời gian ghi, tại thời điểm t1, CPU cung cấp dữ liệu hợp lệ cho bus dữ liệu
để ghi vào RAM. Dữ liệu này phải được duy trì tại đầu vào của RAM ít nhất một
khoảng thời gian tDH sau khi và không còn tích cực tại thời điểm t2. Tương tự,
đầu vào địa chỉ phải tiếp tục ổn định trong khoảng thời gian duy trì địa chỉ, tức
sau thời điểm t2. nếu không thỏa bất kỳ điều kiện nào về thời gian thiết lập và thời
gian duy trì thì hoạt động ghi xảy ra sẽ không đáng tin cậy.
Thời gian của một chu kỳ ghi hoàn chỉnh tWC kéo dài từ t0 đến t4 khi CPU đổi sang
địa chỉ mới cho chu kỳ đọc/ghi tiếp theo.
5.2. RAM ĐỘNG (DRAM)
Ram động có tế bào nhớ là một FF. RAM động dùng kỹ thuật MOS để lưu trữ các
bit 0 hay 1 trong các điện dung bẩm sinh giữa cửa và lớp nền cảu transistor MOS.
Dữ liệu này lưu trữ ở tụ này không được duy trì lâu vì sự rỉ của tụ cũng như của các
transistor MOS chung quanh nên cần được làm tươi (refresh) trong khoảng vào
mili giây (nếu không tụ xả điện sẽ mất dữ liệu).
Sự làm tươi tụ cần phải có bộ điều khiển (Dynamic Memory Controller) bên ngoài
và trên cùng vi mạch. Và đây cũng là nhược điểm của RAM động so với RAM tĩnh.
Nhưng ngược lại RAM tĩnh cũng có nhiều ưu điểm như: dung lượng nhớ, tốc độ,
215
công suất tiêu thụ, giá thành hạ. Ngày nay RAM động được chế tạo theo công
nghệ như NMOS, CMOS, CHMOS, XMOS với dung lượng nhớ trên Megabit, thời gian
thâm nhập dưới 100ns và công suất tiêu tán rất nhỏ.
Bảng dưới đây cho biết một vài thông số so sánh giữa RAM tĩnh và RAM động
5.2.1 Cấu trúc và hoạt động của DRAM.
Cấu trúc bên trong của DRAM có thể hình dung như một mảng ô nhớ bit đơn, được
minh họa như hình 4.18. Ở đây, 16384 ô nhớ được sắp xếp thành ma trận 128
x128. Mỗi ô nhớ chiếm một vị trí riêng biệt trong hàng và cột thuộc phạm vi ma
trận.
Có 14 đầu địa chỉ để chọn 1 trong 16384 ô nhớ (214 = 16384); những bit địa chỉ
thấp từ A0 đến A6 chọn hàng, còn những bit địa chỉ cao từ A7 đến A13 chọn cột. Mỗi
địa chỉ 14 bit chọn ô nhớ riêng biệt để đọc ra hay ghi vào.
216
Hình 4.19 là ký hiệu một ô nhớ động và mạch tương ứng của nó. Dựa vào sơ đồ
đơn giản này ta có thể hiểu được cách đọc hay ghi dữ liệu vào DRAM.
Các chuyển mạch từ SW1 đến SW4 thực chất là các transistor MOSFET được điều
khiển bằng các đầu ra khác nhau của bộ giải mã địa chỉ và bằng tín hiệu tuy
nhiên ở đây tụ điện mới là ô nhớ đích thực.
Khi ghi dữ liệu thì công tắc SW1 và SW2 đóng lại trong khi công tắc SW3 và SW4
vẫn mở, nối dữ liệu nhập vào tụ C. logic 1 tại đầu vào dữ liệu tích điện cho tụ C
217
còn logic 0 thì xả điện cho tụ C. Vì luôn có sự rò điện qua các chuyển mạch đóng
nên tụ C bị mất điện dần.
Để đọc dữ liệu tại ô nhớ thì chuyển mạch SW2, SW3 và SW4 đóng lại còn SW1 vẫn
mở nối điện thế lưu trữ với bộ khuếch đại. Bộ khuếch đại sẽ so sánh điện thế này
với giá trị tham khảo nào đó để quyết định là logic 1 hay logic 0, rồi đưa ra giá trị
0V hay 5V cho đầu ra dữ liệu. Đầu ra này lại được nối với tụ qua SW2 và SW4 nên
tụ điện sẽ được làm tươi. Như vậy bit dữ liệu trong ô nhớ được làm tươi mỗi khi nó
được đọc.
5.2.2 Dồn kênh địa chỉ - Address Multiplexing (ghép địa chỉ)
Hiện nay các nhà sản xuất đã sản xuất ra nhiều loại DRAM với dung lượng khá lớn.
Với các loại DRAM có dung lượng lớn thì đòi hỏi phải có nhiều chân vào địa chỉ nếu
yêu cầu một chân riêng biệt. Để khắc phục yếu điểm này các nhà sản xuất đã sử
dụng phương pháp ghép kênh địa chỉ. Bằng cách này mỗi chân vào địa chỉ có thể
dung nạp hai bit địa chỉ khác nhau, tiết kiệm được số chân giúp giảm đáng kể kích
cở của vỏ IC.
Hình 4.20 trình bày bộ nhớ có dung lượng từ 16K và trước đó cần 14 đường địa chỉ
bus tới trực tiếp từ CPU đến bộ nhớ.
218
Hình 4.21 minh họa địa chỉ CPU dùng mạch Multiplex để đưa địa chỉ từ CPU tới
DRAM. Ta thấy chỉ có 7 đường địa chỉ ngõ vào đến DRAM, nghĩa là 14 đường địa
chỉ từ bus địa chỉ CPU được đưa vào mạch Multiplexer sẽ truyền 7 bit địa chỉ tại
thời điểm nào đó tới ngõ vào địa chỉ ô nhớ. Khi MUX = 0 thì truyền A0 – A6 đến
DRAM, khi MUX = 1 thì truyền A7 – A13 đến DRAM.
219
Giản đồ thời gian của tín hiệu MUX
Thời gian của tín hiệu MUX phải đồng bộ với tín hiệu và . MUX phải ở mức
thấp khi bị kích xuống mức thấp, sao cho các đường địa chỉ A7 – A13 từ CPU sẽ
đến được đầu vào địa chỉ DRAM. Tương tự MUX phải ở mức cao khi bị kích
xuống thấp, sao cho A0 - A6 từ CPU sẽ có mặt tại đầu vào của DRAM.
Hình 4.22 minh hoạ thời gian của tín hiệu MUX.
220
Hình 4.23 cho thấy cấu trúc của một DRAM 16Kx1 sau khi đã dùng MUX
5.2.3. Chu kỳ đọc/ghi của DRAM
221
Chu trình đọc/ghi của DRAM phức tạp hơn nhiều so với SRAM bởi vì cần có bộ định
thời để khống chế làm tươi và bộ điều khiển bộ đệm của thanh ghi, bộ đa hợp
hàng cột thông qua hai chân và .
Chu kỳ đọc DRAM
Hình 4.24 biểu diễn hoạt động tiêu biểu của tín hiệu trong suốt hoạt động đọc.
Giả sử đang ở mức cao trong suốt hoạt động đọc. Sau đây là phần mô tả từng
bước hoạt động xảy ra tại những thời điểm trong sơ đồ tín hiệu.
t0 : MUX bị đưa xuống mức thấp để áp các bit địa chỉ hàng ( A0 – A6) vào đầu vào
địa chỉ của DRAM.
t1 : bị đưa xuống mức thấp để nạp địa chỉ hàng vào DRAM
t2 : MUX lên mức cao để đặt địa chỉ cột (A7 – A13 ) tại các đầu vào địa chỉ của
DRAM.
t3: xuống thấp để nạp địa chỉ cột vào DRAM.
t4 : DRAM đáp ứng lại bằng cách đặt dữ liệu hợp lệ từ vào ô nhớ được chọn lên
đường dữ liệu ra.
t5 : MUX, , và đường dữ liệu ra trở về trạng thái ban đầu.
Chu kỳ ghi của DRAM
222
Hình 4.25 biểu diễn hoạt động tiêu biểu của tín hiệu trong hoạt động ghi vào
DRAM.
Quá trình ghi được mô tả như sau:
t0 : MUX ở mức thấp để đặt các bit địa chỉ hàng ( A0 – A6) vào đầu vào địa chỉ của
DRAM.
t1 : = NGT nạp địa chỉ hàng vào DRAM
t2 : MUX lên mức cao để đặt địa chỉ cột (A7 – A13) tại các đầu vào địa chỉ của
DRAM.
t3: = NGT để nạp địa chỉ cột vào DRAM.
t4 : Dữ liệu cần ghi được đạt lên đường dữ liệu vào.
t5 : bị kích xuống thấp để ghi dữ liệu vào ô nhớ được chọn.
t6 : Dữ liệu vào bị loại bỏ khỏi đường dữ liệu vào.
t7 : MUX, , và đường dữ liệu vào trở về trạng thái ban đầu.
5.2.4. Làm tươi DRAM
223
Việc làm tươi DRAM phải được xảy ra mỗi 2ms để duy trì dữ liệu. Mỗi một trong
256 hàng phải được kích bởi chân . có thể ở mức cao trong trình tự làm
tươi để giảm công suất tiêu thụ. Dù đọc hay viết vào một tế bào nào của một hàng
đều phải làm tươi toàn bộ hàng đó. Để làm tươi DRAM cần phải có bộ đếm làm tươi
DRAM (Refresh Controler).
Phương pháp là tươi phổ biến nhất là làm tươi chỉ với , thực hiện bằng việc lựa
chọn một địa chỉ hàng với trong khi và vẩn ở mức cao.
Click vào mục dưới để xem các vi mạch nhớ điển hình
BÀI 5: GIỚI THIỆU VI MẠCH SỐ ĐIỂN HÌNH
5.1 CHIP EPROM M2732A
Hiện nay trên thị trường có nhiều loại EPROM với dung lượng và thời gian truy
xuất khác nhau. IC 2732A là loại EPROM NOMS nhỏ có dung lượng 4Kx8 hoạt động
với nguồn điện +5V trong suốt tiến trình vận hành bình thường. Hình 4.12 minh
họa sơ đồ chân và các chế độ hoạt động của IC này. IC M2732A có 12 đầu vài địa
chỉ và 8 đầu ra dữ liệu. Hai đầu vào điều khiển là và . là đầu vào cho
phép của chip, được sử dụng để đặt thiết bị vào chế độ có đợi khi năng lượng tiêu
thụ giảm. Chân là đầu vào hai mục đích, có chức năng phụ thuộc vào chế độ
hoạt động của thiết bị. cho phép đầu ra và được sử dụng để kiểm soát vùng
đệm đầu ra dữ liệu của thiết bị, sao cho có thể nối thiết bị này với bus dữ liệu của
bộ vi xử lý mà không xảy ra chanh chấp bus. Vpp là điện thế lập trình đặt biệt bắt
buộc phải có trong suốt giai đoạn lập trình.
224
225
Hình 4.12 (a) Kí hiệu logic của EPROM M2732A; (b) Sơ đồ chân; (c) Vỏ EPROM với
cửa sổ tia tử ngoại; (d) Chế độ hoạt động của EPROM M2732A
5.2 Chip EPROM M27C64A
IC EPROM M27C62A là loại EPROM có dung lượng lớn 8Kx8 và thời gian truy xuất là
150ns. Đây là loại EPROM đang phổ biến trên thị trường, có hai dạng vỏ khác nhau
để người dùng có thể chọn lựa tuỳ theo nhu cầu. Hình 4.13 minh họa ký hiệu logic
và chức năng của các chân EPROM M27C64A.
Chế độ hoạt động của EPROM M27C64A như bảng hình 4.14
226
227
5.3 IC SRAM MCM6264C
Một loại IC SRAM thực tế hiện dàn có mặt trên thị trường là MCM6264C CMOS
8Kx8 với chu kỳ đọc và chu kỳ ghi là 12ns, công suất tiêu thụ ở chế độ standby chỉ
là 100mW. Sơ đồ chân và hình dạng của IC này được minh họa trong hình 4.28.
Cấu trúc bên trong của IC SRAM như hình 4.29. Ở đây có 13 đầu vào địa chỉ và 8
đường vào/ra dữ liệu. 4 đầu vào điều khiển quyết định chế độ vận hành của thiết
bị, theo như bảng các chế độ hoạt động hình 4.30.
228
229
Đầu vào cũng chính là đầu vào . ở mức thấp cho phép ghi dữ liệu vào
RAM, với điều kiện RAM này được chọn cả hai đầu vào E đều tích cực. ở mức cao
sẽ cho phép hoạt động đọc, miễn là linh kiện phải được chọn và bộ đệm đầu ra
được kích hoạt bằng = LOW. Khi không được chọn linh kiện này sẽ trở vào chế
độ năng lượng thấp, và không có đầu vào nào có hiệu lực.
5.4 IC DRAM TMS44100
Hiện năng trên thị trường đang có mặt IC DRAM TMS44100 4Mx1 của hãng Texas
Intruments. Sơ đồ chân và chức năng của các chân được minh họa ở hình 4.31.
230
Hình 4.32 là sơ đồ cấu trúc bên trong của IC DRAM TMS44100.
Một mảng ô nhớ sắp xếp thành 2048 hàng x 2048 cột. Bộ giải mã địa chỉ, do mỗi
lần chỉ chọn một hàng nên có thể xem đây như là bộ giải mã 1 trong 2048. Do các
đường địa chỉ được dồn kênh nên toàn bộ 22 bit địa chỉ không thể xuất hiện cùng
một lúc. Một điều lưu ý là, ở đây chỉ có 11 đường địa chỉ và chúng phải đi đến cả
thanh ghi địa chỉ hàng lẫn thanh ghi địa chỉ cột. Mỗi thanh ghi địa chỉ chứa một
nửa địa chỉ 22 bit. Thanh ghi hàng lưu trữ nửa trên, thanh ghi cột lưu trữ nửa dưới.
Hai đầu vào xung chọn (strobe) rất quan trọng chi phối thời điểm thông tin địa chỉ
231
được chốt lại. Đầu vào chọn địa chỉ hàng đếm nhịp thanh ghi địa chỉ hàng 11
bit. Đầu vào chọn địa chỉ cột đếm nhịp thanh ghi địa chỉ cột 11 bit.
Một địa chỉ 22 bit được áp vào DRAM này qua 2 buớc, sử dụng và . Ban
đầu cả lẩn đều ở mức cao (hình 4.33 minh họa thời gian).Tại thời điểm t0,
địa chỉ hàng 11 bit (A11 đến A22) được áp vào đầu vào địa chỉ. Sau thời gian cho
phép tRS cần thiết để đặt thanh ghi địa chỉ hàng, đầu vào bị đẩy xuống thấp
tại thời điểm t1. NGT (chuyển trạng thái trên sườn xuống của tín hiệu) nạp địa chỉ
hàng vào thanh ghi địa chỉ hàng sao cho từ A11 đến A21 lúc này xuất hiện tại đầu
vào bộ giải mã hàng. ở mức thấp còn cho phép bộ giải mã hàng, hầu có thể
giải mã địa chỉ hàng và chọn được 1 hàng trong mảng.
Tại tời điểm t2, địa chỉ cột 11 bit (từ A0 đến A10) được áp vào đầu vào địa chỉ. Tại
thời điểm t3 đầu vào xuống thấp để nạp địa chỉ cột vào thanh ghi địa chỉ cột,
vậy là có thể tiến hành hoạt động đọc hay ghi trên ô nhớ đó như trong RAM tĩnh.
BÀI 6: MỞ RỘNG DUNG LƯỢNG BỘ NHỚ BÁN DẪN
Trong thực tế nhiều ứng dụng một chip nhớ không thể đáp ứng được, do đó việc
mở rộng bộ nhớ và tăng kích cở từ là một vấn đề hết sức cần thiết.
6.1 TĂNG KÍCH CỠ TỪ
232
Giả sử chúng ta cần một bộ nhớ có thể lưu trữ được 16 từ 4 bit, nhưng thực tế ta
chỉ có các chip RAM 16x4 với các đường vào/ra (I/O) chung. Để giải quyết vấn đề
này ta có thể kết hợp hai chip 16x4 lại với nhau để tạo thành một bộ nhớ mong
muốn. Hình 4.26 minh họa cách kết hợp này.
Bởi vì mỗi chip chỉ có thể lưu trữ 16 từ 4 bit nên ta có thể xem như đang sử dụng
mỗi chip để lưu trữ phân nữa từ. Có nghĩa là RAM-0 chứa 4 bit cao của từng từ
trong số 16 từ, và RAM-1 chứa 4 bit thấp của từng từ trong số 16 từ. Một từ có đủ
8 bit có mặt tại các đầu ra của RAM nối với bus dữ liệu.
233
Như vậy thì bất cứ từ nào trong số 16 từ cũng được chọn bằng cách đưa mã địa chỉ
tương ứng vào 4 đường của bus địa chỉ. Điều này có nghĩa là, một khi được đặt lên
bus địa chỉ, mã địa chỉ sẽ được áp vào cả hai chip, sao cho mỗi chip được truy xuất
cùng vị trí đồng thời. Khi có địa chỉ được chọn, ta có thể đọc hoặc ghi tại địa chỉ
này dưới sự điều khiển của đường và đường chung.
Để đọc thì phải ở mức cao, còn ở mức thấp. Điều này làm các đường I/O
của RAM hoạt động như đầu ra. RAM-0 đặt từ 4 bit được chọn của nó lên 4 đường
trên của bus dữ liệu, RAM -1 đặt từ 4 bit được chọn của nó lên 4 đường dưới của
bus dữ liệu. Lúc này bus dữ liệu đã chứa từ 8 bit hoàn chỉnh được chọn.
Để ghi thì ở mức thấp và cũng ở mức thấp, làm cho các đường I/O của
RAM hoạt động như đầu vào. Từ 8 bit cần ghi được đặt lên bus dữ liệu, 4 bit cao sẽ
được ghi vào vị trí đã chọn của RAM-0 và 4 bit thấp sẽ được ghi vào vị trí đã chọn
của RAM-0.
6.2 MỞ RỘNG DUNG LƯỢNG
Giả sử ta cần mộ bộ nhớ có dung lượng chưa 32 từ 4 bit mà trong tay ta chỉ có các
chip 16x4. Để tạo ra bộ nhớ có dung lượng 32x4 ta sẽ kết hợp 2 chip 16x4. Cách
kết hợp được minh họa như hình 4.27.
234
Mỗi RAM được dùng để lưu trữ 16 từ 4 bit. 4 chân vào ra dữ liệu (I/O) của mỗi RAM
được nối chung một bus dữ liệu 4 đường. Tại một thời điểm chỉ cho phép chọn một
chip RAM để không nảy sinh vấn đề tranh chấp bus.
Vì tổng dung lượng của mô-đun nhớ này là 32x4 nên phải có 32 địa chỉ khác nhau,
đòi hỏi đến 5 đường địa chỉ. Đường địa chỉ AB4 cùng để chọn một trong hai RAM
(qua đầu vào ) được đọc ra hay ghi vào. 4 đường địa chỉ còn lại dùng để xác
định một trong 16 vị trí ô nhớ của chip RAM được chọn.
BÀI 7: CÁC MẠCH ỨNG DỤNG
1. Đèn quảng cáo
235
Một ứng dụng rất phổ dụng của bộ nhớ bán dẫn trong thực tế. Mạch điện cụ
thể trình bày trên hình 4.34. Mạch điện gồm ba khối chính:
- Vi mạch 555 tạo nên mạch dao động tạo xung, cung cấp xung nhịp cho hệ
thống.
- Vi mạch 4040 giữ chức năng giải mã địa chỉ, tạo địa chỉ gọi dữ liệu từ EPROM
2764 xuất ra điều khiển đèn.
- Vi mạch nhớ 2764 được nạp sẵn chương trình và chạy ở chế độ đọc dữ liệu.
Mỗi địa chỉ đưa vào các chân từ A0 đến A11 sẽ có một dữ liệu 8 bit xuất ra
theo chương trình định trước nạp trong EPROM.
2. Đèn giao thông
236
Nguyên lý làm việc giống như ở ứng dụng đèn quảng cáo nhưng có thêm mạch
chọn vùng nhớ khi đọc dữ liệu cho EPROM 2764. Cụ thể như sau:
- Trong vùng nhớ từ 00000B đến 00111B, EPROM 2764 lưu trữ chương trình điều
khiển đèn giao thông ở chế độ ưu tiên 1 (ví dụ đường A ưu tiên hơn đường
B). Lúc này chọn SW1=0 và SW2=0, tương ứng A3=0, A4=0. Vi mạch 4555
thúc LED1 sáng, hiển thị chế độ làm việc ưu tiên 1 cho mạch điều khiển đèn.
- Trong vùng nhớ từ 01000B đến 01111B, EPROM 2764 lưu trữ chương trình điều
khiển đèn giao thông ở chế độ ưu tiên 2 (ví dụ đường B ưu tiên hơn đường
A). Lúc này chọn SW1=0 và SW2=1, tương ứng A3=1 A4=0. Vi mạch 4555
thúc LED2 sáng, hiển thị chế độ làm việc ưu tiên 2 cho mạch điều khiển đèn.
- Trong vùng nhớ từ 10000B đến 10111B, EPROM 2764 lưu trữ chương trình điều
khiển đèn giao thông ở chế độ đồng quyền (đường A và đường B đồng cấp
ưu tiên). Lúc này chọn SW1=1 và SW2=0, tương ứng A3=0, A4=1. Vi mạch
4555 thúc LED3 sáng, hiển thị chế độ làm việc đồng quyền cho mạch điều
khiển đèn.
237
- Trong vùng nhớ từ 11000B đến 11111B, EPROM 2764 lưu trữ chương trình điều
khiển đèn giao thông ở chế độ về khuya (chỉ có đèn vàng nhấp nháy). Lúc
này chọn SW1=1 và SW2=1, tương ứng A3=1, A4=1. Vi mạch 4555 thúc LED4
sáng, hiển thị chế độ làm việc về khuya cho mạch điều khiển đèn.
Chương trình nạp trong mạch này chỉ mang tính giới thiệu nguyên lý làm
việc của EPROM. Để có thể mở rộng thêm các chương trình điều khiển đèn giao
thông, cần thiết phải mở rộng thêm số vùng nhớ cũng như số địa chỉ trong một
vùng nhớ, giúp mạch điện có thể ứng dụng được trong thực tiễn.
Chương 5 MẠCH KHUYẾTCH ĐẠI THUẬT TOÁN
Đây là một vi mạch tương tự. Mạch khuếch đại thuật toán (Op-Amps) có một ứng dụng rất rộng rãi trong kỹ thuật điện tử hiện đại. Có thể nói không ngoa rằng: "Nếu học vi mạch mà chưa biết Op-Amps coi như chưa học vi mạch!". Nội dung chương này được trình bày dưới các đề mục sau:
Bài 1: Khái niệm cơ bảnBài 2: Cấu tạo - Nguyên lý làm việcBài 3: Phản hồi & ổn định chế độ làm việcBài 4: Các mạch cơ bảnBài 5: Phân tích mạch sử dụng Op-AmpsBài 6: Các mạch ứng dụng
BÀI 1: CÁC KHÁI NIỆM CƠ BẢN VỀ
MẠCH KHUẾCH ĐẠI THUẬT TOÁN
1. Giới thiệu
Mạch khuếch đại thuật toán (Operational Amplifier: Op-Amps) có ký hiệu như hình
sau:
238
Đây là một vi mạch tương tự rất thông dụng do trong Op-Amps được tích hợp một
số ưu điểm sau:
- Hai ngõ vào đảo và không đảo cho phép Op-Amps khuếch đại được nguồn tín
hiệu có tính đối xứng (các nguồn phát tín hiệu biến thiên chậm như nhiệt độ, ánh
sáng, độ ẩm, mực chất lỏng, phản ứng hoá-điện, dòng điện sinh học ... thường là
nguồn có tính đối xứng)
- Ngõ ra chỉ khuếch đại sự sai lệch giữa hai tín hiệu ngõ vào nên Op-Amps có độ
miễn nhiễu rất cao vì khi tín hiệu nhiễu đến hai ngõ vào cùng lúc sẽ không thể
xuất hiện ở ngõ ra. Cũng vì lý do này Op-Amps có khả năng khuếch đại tín hiệu có
tần số rất thấp, xem như tín hiệu một chiều.
- Hệ số khuếch đại của Op-Amps rất lớn do đó cho phép Op-Amps khuếch đại cả
những tín hiệu với biên độ chỉ vài chục mico Volt.
- Do các mạch khuếch đại vi sai trong Op-Amps được chế tạo trên cùng một phiến
do đó độ ổn định nhiệt rất cao.
- Điện áp phân cực ngõ vào và ngõ ra bằng không khi không có tín hiệu, do đó dễ
dàng trong việc chuẩn hoá khi lắp ghép giữa các khối (module hoá).
- Tổng trở ngõ vào của Op-Amps rất lớn, cho phép mạch khuếch đại những nguồn
tín hiệu có công suất bé.
- Tổng trở ngõ ra thấp, cho phép Op-Amps cung cấp dòng tốt cho phụ tải.
- Băng thông rất rộng, cho phép Op-Amps làm việc tốt với nhiều dạng nguồn tín
hiệu khác nhau
. . .
239
Tuy nhiên cũng như các vi mạch khác, Op-Amps không thể làm việc ổn định khi
làm việc với tần số và công suất cao.
Sơ đồ chân và hình dạng một op-amps điển hình
2. Op-Amps lý tưởng - Op-Amps thực tế
Để đơn giản trong việc tính toán trên op-amps, có thể tính toán trên op-amps lý
tưởng sau đó thực hiện bổ chính các thông số trong mạch. Để có được một cái nhìn
tổng quan giữa op-amps thực tế và op-amps lý tưởng, có thể so sánh một vài
thông số giữa op-amps lý tưởng và op-amp thông dụng (general purpose) như
bảng sau
(*) Trên thực tế có những op-amps được chế tạo với mục đích chuyên dụng (trong
kỹ thuật hàng không vũ trụ, quân sự, y tế, công nghiệp ...), các đặc tính của nó rất
gần với đặc tính của op-amps lý tưởng. Ở đây chỉ so sánh với loại phổ dụng giá
thành thấp chất lượng cũng không cao.
3. Hệ số nén tín hiệu kiểu chung (CMRR: Common Mode Rejection Ratio)
240
Do op-amps có ngõ vào là mạch khuếch đại vi sai nên có một chỉ số rất quan trọng
khi đánh giá chất lượng của mạch khuếch đại vi sai cũng dùng được cho op-amps:
đó là hệ số CMRR. Giá trị CMRR càng cao mạch có tính triệt nhiễu đồng pha càng
tốt. Thông số này được định nghĩa như sau:
Với Avd là hệ số khuếch đại vi sai và AvCM à hệ số khuếch đại common mode.
Kết hợp với các công thức khi tính trong mạch khuếch đại vi sai, ta có:
Từ công thức này ta thấy: RE càng lớn càng tốt cho việc triệt nhiễu đồng pha
nhưng làm như vậy lại làm giảm hệ số khuếch đại áp của mạch. Do đó để được lợi
đôi đường người ta sử dụng nguồn dòng thay thế cho RE.
BÀI 2: CẤU TẠO - NGUYÊN LÝ LÀM VIỆC
1. Cấu tạo
Op-Amps lý tưởng có cấu tạo như hình vẽ
241
- Khối 1: Đây là tầng khuếch đại vi sai (Differential Amplifier), nhiệm vụ khuếch
đại độ sai lệch tín hiệu giữa hai ngõ vào v+ và v-. Nó hội đủ các ưu điểm của mạch
khuếch đại vi sai như: độ miễn nhiễu cao; khuếch đại được tín hiệu biến thiên
chậm; tổng trở ngõ vào lớn ...
- Khối 2: Tầng khuếch đại trung gian, bao gồm nhiều tầng khuếch đại vi sai mắc
nối tiếp nhau tạo nên một mạch khuếch đại có hệ số khuếch đại rất lớn, nhằm
tăng độ nhay cho Op-Amps. Trong tẩng này còn có tầng dịch mức DC để đặt mức
phân cực DC ở ngõ ra.
- Khối 3: Đây là tầng khuếch đại đệm, tần này nhằm tăng dòng cung cấp ra tải,
giảm tổng trở ngõ ra giúp Op-Amps phối hợp dễ dàng với nhiều dạng tải khác
nhau.
Op-Amps thực tế vẫn có một số khác biệt so với Op-Amps lý tưởng. Nhưng để dễ
dàng trong việc tính toán trên Op-Amps người ta thường tính trên Op-Amps lý
tưởng, sau đó dùng các biện pháp bổ chính (bù) giúp Op-Amps thực tế tiệm cận
với Op-Amps lý tưởng. Do đó để thuận tiện cho việc trình bày nội dung trong
chương này có thể hiểu Op-Amps nói chung là Op-Amps lý tưởng sau đó sẽ thực
hiện việc bổ chính sau.
2. Nguyên lý làm việc
Dựa vào ký hiệu của Op-Amps ta có đáp ứng tín hiệu ngõ ra Vo theo các cách đưa
tín hiệu ngõ vào như sau:
242
- Đưa tín hiệu vào ngõ vào đảo, ngõ vào không đảo nối mass: Vout = Av0.V+
- Đưa tín hiệu vào ngõ vào không đảo, ngõ vào đảo nối mass: Vout = Av0.V-
- Đưa tín hiệu vào đổng thời trên hai ngõ vào (tín hiệu vào vi sai so với mass): Vout
= Av0.(V+-V-) = Av0.(ΔVin)
Để việc khảo sát mang tính tổng quan, xét trường hợp tín hiệu vào vi sai so với
mass (lúc này chỉ cần cho một trong hai ngõ vào nối mass ta sẽ có hai trường hợp
kia). Op-Amps có đặc tính truyền đạt như hình sau
Trên đặc tính thể hiện rõ 3 vùng:
- Vùng khuếch đại tuyến tính: trong vùng này điện áp ngõ ra Vo tỉ lệ với tín hiệu
ngõ vào theo quan hệ tuyến tính. Nếu sử dụng mạch khuếch đại điện áp vòng hở
(Open Loop) thì vùng này chỉ nằm trong một khoảng rất bé.
- Vùng bão hoà dương: bất chấp tín hiệu ngõ vào ngõ ra luôn ở +Vcc.
- Vùng bão hoà âm: bất chấp tín hiệu ngõ vào ngõ ra luôn ở -Vcc.
Trong thực tế, người ta rất ít khi sử dụng Op-Amps làm việc ở trạng thái vòng hở
vì tuy hệ số khuếch đại áp Av0 rất lớn nhưng tầm điện áp ngõ vào mà Op-Amps
khuếch đại tuyến tính là quá bé (khoảng vài chục đến vài trăm micro Volt). Chỉ cần
một tín hiệu nhiễu nhỏ hay bị trôi theo nhiệt độ cũng đủ làm điện áp ngõ ra ở ±Vcc.
Do đó mạch khuếch đại vòng hở thường chỉ dùng trong các mạch tạo xung, dao
động. Muốn làm việc ở chế độ khuếch đại tuyến tính người ta phải thực hiện việc
243
phản hồi âm nhằm giảm hệ số khuếch đại vòng hở Av0 xuống một mức thích hợp.
Lúc này vùng làm việc tuyến tính của Op-Amps sẽ rộng ra, Op-Amps làm việc
trong chế độ này gọi là trạng thái vòng kín (Close Loop).
3. Nguồn cung cấp
Op-Amps không phải lúc nào cũng đòi hỏi phải cung cấp một nguồn ổn áp đối xứng
±15VDC, nó có thể làm việc với một nguồn không đối xứng có giá trị thấp hơn (ví
dụ như +12VDC và -3VDC) hay thậm chí với một nguồn đơn +12VDC. Tuy nhiên
việc thay đổi về cấu trúc nguồn cung cấp cũng làm thay đổi một số tính chất ảnh
hưởng đến tính đối xứng của nguồn như Op-amps sẽ không lấy điện áp tham chiếu
(reference) là mass mà chọn như hình sau:
Mặc dù nguồn đơn có ưu điểm là đơn giản trong việc cung cấp nguồn cho op-amps
nhưng trên thực tế rất nhiều mạch op-amps được sử dụng nguồn đôi đối xứng.
4. Phân cực cho op-amps làm việc với tín hiệu ac
Cũng như mạch khuếch đại nối tầng RC, các op-amps dùng trong khuếch đại tín
hiệu ac cần có tụ liên lạc để tránh ảnh hưởng của thành phần dc giữa các tầng
khuếch đại. Dưới đây là sơ đồ một mạch khuếch đại âm tần có độ lợi 40dB Sử dụng
nguồn đơn.
244
5. Mạch so sánh và Schmitt Trigger
Hai dạng mạch này có một điểm chung là được phân cực để làm việc ở vùng bão
hoà. Tuy nhiên giữa chúng vẫn có những điểm khác biệt.
a. Mạch so sánh
Mạch so sánh tận dụng tối đa hệ số khuếch đại vòng hở trong op-amps (tối thiểu
khoảng 100 000 lần) và được chế tạo thành những vi mạch chuyên dụng
(comparators) như LM339, LM306, LM311, LM393, NE527, TLC372 ... Các VI MẠCH
NÀY ĐƯỢC THIẾT KẾ ĐỂ ĐÁP ỨNG RẤT NHANH THEO SỰ THAY ĐỔI CỦA TÍN HIỆU
VÀO (Slew rate khoảng vài ngàn volt/microsecond). Tuy nhiên với đáp ứng cực
nhanh như vậy đôi lúc dẫn đến những phiền toái, ví dụ trong mạch điện sau
245
Rõ ràng tín hiệu ngõ ra bị dao động mỗi khi chuyển trạng thái, điều này rất nguy
hiểm cho các mạch phía sau. Để khắc phụ nhược điểm trên người ta sử dụng mạch
Schmitt Trigger.
b. Mạch Schmitt Trigger
Mạch Schmitt Trigger là mạch so sánh có phản hồi như hình sau
246
Lúc này do vin so sánh với tín hiệu ngõ vào v+ là điện thế trên mạch phân áp R4-R2,
nên theo sự biến thiên giữa hai mức điện áp của vout, mạch Schmitt Trigger cũng
có hai ngưỡng so sánh là VH và VL.
Qua hình trên ta nhận thấy, mạch Schmitt Trigger là mạch so sánh vin theo hai
ngưỡng VH và VL. Khi điện áp vin vượt qua VH thì giá trị của vout là 0V và khi vin thấp
hơn VL thì vout sẽ ở +Vcc (nghĩa là có sự đảo pha). Để minh hoạ trực quan cho dạng
mạch này người ta thường sử dụng ký hiệu
Mạch Schmitt Trigger còn có một dạng ký hiệu khác ngược chiều với ký hiệu trên
khi ta thay đổi cực tính ngõ vào vin, lúc này vin và vout sẽ đồng pha.
BÀI 3: PHẢN HỒI VÀ ỔN ĐỊNH CHẾ ĐỘ LÀM VIỆC
1. Phản hồi
Như đã trình bày trong phần nguyên lý làm việc, khi dùng mạch khuếch đại vòng
hở chỉ cần trôi nhiệt, nguồn cung cấp không ổn định, hay nhiễu biên độ điện áp
ngõ vào rất bé cũng đủ đưa ngõ ra ở trạng thái bão hoà. Minh họa qua mạch điện
sau
247
Với ±Vcc=±15 VDC, chì cần V+−V- khoảng 1 miliVolt cũng đủ đưa Vo ở bão hoà
(vùng làm việc phi tuyến). Điều này dẫn đến mạch khuếch đại sai dạng: bất ổn. Để
giảm thiểu sự bất ổn này người ta thực hiện phản hồi.
Thông thường, OP-AMP sử dụng phản hồi theo 2 dạng:
§ - Phản hồi dương§ - Phản hồi âm
•
• Thoạt nhìn có vẻ phản hồi dương là tốt (làm tăng độ lợi), nhưng thật ra
phản hồi âm mới thật sự làm hệ thống ổn định.
Ví dụ, ngay sau khi dùng xong một món có nhiều đường làm cho nồng độ đường
trong máu sẽ tăng lên. Để xử lý hiện tượng này người ta tiêm vào máu một liều
INSULIN kích thích sự tích tụ đường trong máu làm nồng độ đường trong máu giảm
xuống. Hiện tượng này gọi là phản hồi âmphản hồi âm?
Như vậy nhờ vào phản hồi âm ta có thể lựa chọn được hệ số khuếch đại của mạch
thông qua việc hiệu chỉnh các giá trị điện trở xung quanh Op-Amps. Tuỳ vào tính
chất mạch, người ta sẽ chỉnh định lại các thông số của các linh kiện để đưa Op-
248
Amps vào vùng làm việc tương ứng. Điều này tương tự như khi phân cực
transistor.
2. Bổ chính điện áp lệch
a. Điện áp lệch không
Trong Op-Amps lý tưởng khi ΔVin=0 thì Vout=0. Nhưng với Op-Amps thực tế thì
không được như vậy. Do các linh kiện bện trong mạch không hoàn toàn đối xứng,
ảnh hưởng lớn nhất trong op-amps đó là mạch khuếch đại vi sai ở ngõ vào nên lúc
này ngõ ra vẫn xuất hiện một điện áp khác 0, gọi là điện áp lệch không ngõ ra
Voffset (output offset voltage).
b. Bổ chính điện áp lệch không
Để điều chỉnh lại điện áp ngõ ra giống như Op-Amps lý tưởng, người ta đặt một
điện áp nhỏ giữa hai ngõ vào sao cho khi ΔVin=0 thì Vout=0.
Đối với một số vi mạch có sẵn chân hai chân đưa ra để hiệu chỉnh (thường là Null
hay Offset) cho phép mắc thêm vào một biến trở để hiệu chỉnh điện áp lệch ngõ
vào. Minh hoạ trên hình sau
249
Với các vi mạch không có hai chân trên, ta có thể mắc thêm mạch chỉnh bên ngoài
như hình
R1 phải lớn hơn nhiều lần so với R2 nhằm tránh sự phân dòng qua R1.
3. Bổ chính dòng lệch
a. Dòng phân cực ngõ vào và dòng lệch không
Trong Op-Amps lý tưởng, do tổng trở ngõ vào vô cùng lớn do đó dòng phân cực
ngõ vào bằng 0. Nhưng với Op-Amps thực tế thì không được như vậy, dòng điện
ngõ vào vẫn tồn tại khá nhỏ (hàng trăm nA). Mặt khác do các linh kiện bện trong
mạch không hoàn toàn đối xứng nên giá trị hai dòng này cũng không bằng nhau
và lượng chênh lệch giữa chúng được gọi là dòng chênh lệch ngõ vào (input offset
current). Minh hoạ qua hình sau
250
Hình a Hình b
Hình a trình bày áp lệch ngõ ra do Iib- gây ra và hình b đưa thêm dòng Iib
+ nhằm bù
lại áp lệch 0 do Iib- gây ra.
b. Biện pháp bổ chính
Khi lắp vào đầu vào không đảo một điện trở R, dòng phân cực Iib+ tạo ra một sụt áp
là VR=R.Iib+ . Chọn R sao cho điện áp này bù được áp lệch ngõ ra do Iib
- gây ra. Tính
toán theo điều kiện Iib- = Iib
+, ta được:
R = RF // Rin
4. Bổ chính common Mode
Với op-amps lý tưởng điện áp common mode (Vcm) bằng không do mạch chỉ khuếch
đại sự sai lệch giữa hai tín hiệu ngõ vào. Nhưng op-amps thực tế thì không như
vậy, ta có thể kiểm tra điện áp common mode qua mạch điện sau
Với nguồn Vin có biên độ 1VAC, thay đổi tần số nguồn theo tần số làm việc của
mạch khuếch đại. Do hệ số nén tín hiệu kiểu chung (CMRR) ổn định ở 80 đến 100
251
dB, nên với biên độ tín hiệu ngõ ra (chính là Vcm) < 10μV là đạt. Với Op-Amps
thực tế điện áp này luôn hiện hữu và không phải là hằng khi tần số làm việc thay
đổi trong khoảng rộng. Để giảm thiểu giá trị Vcm có thể thực hiện theo nhiều
cách, cách đơn giản thực hiện như hình sau
Giá trị của RCM1 và RCM2 phải đủ lớn để không ánh hưởng bởi tổng trở vào của
Op-Amps. Với một số op-amps chuyên dụng, người ta trang bị thêm các mạch triệt
giảm common mode ngay bên trong vi mạch, ví dụ với vi mạch LH0026 có thể mắc
thêm mạch triệt giảm common mode như sau
Ở đây nguồn vCM được chọn có biên độ là 1V và tần số nằm trong vùng tần số làm
việc của mạch khuếch đại, sau khi cấp nguổn chỉnh lại giá trị của R3 sao cho vout =
0V là được.
Ngoài ra còn có một số phương thức triệt giảm common mode khác triệt bỏ điện
áp này ngay từ nguồn tín hiệu vào minh hoạ qua hình
252
Sử dụng hai cuộn dây cảm ứng cùng thông số và mắc hỗ cảm với nhau như hình c.
Dòng tín hiệu (không đồng pha) có thể qua dễ dàng (do XL=L.ω rất nhỏ) minh hoạ
trên hình a, nhưng khi tín hiệu C.M đi qua sẽ bị dòng cảm ứng của chính nó trừ
khử hình b.
Cách lắp cuộn dây triệt giảm C.M và đặc tuyến triệt giảm như hình sau
Các dạng cuộn dây C.M được chế tạo để triệt giảm C.M hiện có trên thị trường
253
5. Bổ chính tần số
a. Đặc tính biên độ - tần số
Trong thực tế, khi khuếch đại tín hiệu xoay chiều độ lợi A sẽ tỉ lệ nghịch với tần số
tín hiệu cần khuếch đại, minh họa các đặc tuyến biên tần của các op-amps 741,
748, 739 khi khuếch đại vòng hở như hình sau
Điều này có nghĩa op-amps không khuếch đại được khi tần số nguồn tín hiệu ở ngõ
vào quá cao. Điều này có thể lý giải dễ dàng do điện dung ký sinh của các
transistor và các điện trở trong mạch tạo thành các mạch lọc thông thấp, minh
hoạ qua hình
254
Ở đây xét một op-amps lý tưởng có ngõ vào là một mạch khuếch đại vi sai (KĐVS)
có hệ số khuếch đại A=A0 (hệ số khuếch đại vòng hở); Các khâu +1 và mạch RC
đặc trưng cho điện trở và điện dung tạp tán của mạch (các khâu +1 đặc trưng cho
khâu ghép điện không phụ thuộc vào tần số và có hệ số truyền đạt bằng 1). Từ
đây có thể tính được hệ số khuếch đại:
Với fα1 , fα2 , fα3 là tần số tới hạn của 3 khâu lọc thông thấp.
Từ công thức này có thể thấy khi tần số tăng thì góc lệch pha giữa ngõ ra và ngõ
vào sẽ tăng theo, khi góc lệch pha này đạt đến 180 độ thì có thể xảy ra hiện tượng
dao động (nếu thoả thêm điều kiện về biên độ). Như vậy mạch khuếch đại sử dụng
op-amps sẽ dạo động khi tần số nguồn tín hiệu vào đạt đến một giá trị tần số nào
đó mạch bất ổn.
b. Các biện pháp bù đặc tuyến tần số (bù pha)
Độ dự trữ về biên độ và pha càng lớn thì hệ thống càng ổn định. Nhưng do hai
thông số này liên quan chặc chẽ với nhau nên trong thực tế chỉ cần xét một trong
hai tham số là đủ. Thông thường người ta sử dụng hệ số dự trữ về pha.
255
Với bộ khuếch đại có mạch hồi tiếp âm không phụ thuộc tần số nghĩa là mạch hồi
tiếp không gây ra một góc lệch pha nào, thì độ dự trữ chỉ cần 45 độ là đủ. Nhưng
khi mạch hồi tiếp không phải là thuần trở, nghĩa là có làm lệch pha thì yêu cầu dự
trữ về pha phải lớn hơn (thậm chí có khi người ta chọn đến 90 độ).
Về nguyên tắc, bù tần số hay còn gọi là bù pha thực chất là làm thay đổi đặc tính
tần số của hệ số khuếch đại vòng kín sao cho |Av|=|A0.Afeedback|<1 trước khi góc lệch
pha φ = −180 độ. Để thực hiện được điều này, có thể thay đổi A0 gọi là bù trong hay
Afeedback gọi là bù ngoài còn thay đổi cả A0 và Afeedback gọi là bù hổn hợp. Thông
thường người ta cho bù trong vì khi thay đổi A0 sẽ ít ảnh hưởng đến hàm truyền
chung của mạch khuếch đại có hồi tiếp.
Các mạch bù có thể mắc ở ngõ ra, ngõ vào hay giữa các tầng khuếch đại op-amps
như hình
Tuỳ vào đặc tuyến truyền đạt của các mạch bù người ta tạo ra nhiều dạng mạch
bù khác nhau, các mạch bù có tính chất chung là làm giảm độ dốc của đặc tính
biên độ theo tần số của hệ số khuếch đại xung quanh tần số cắt fc, nghĩa là giảm
góc lệch pha tại thời điểm có khả năng xảy ra dao động (|A0.Afeedback|=1). Cụ thể các
dạng mạch bù là
BÀI 4: CÁC MẠCH CƠ BẢN
256
Do giáo trình chỉ đặt nặng phần ứng dụng, do đó ở đây chỉ trình bày nguyên lý làm việc và công thức quan hệ giữa ngõ ra với ngõ vào.
1. Mạch khuếch đại đảo
Tín hiệu ngõ ra đảo pha so với tín hiệu ngõ vào
2. Mạch khuếch đại không đảo
Tín hiệu ngõ ra cùng pha so với tín hiệu ngõ vào
3. Mạch theo điện áp
Mạch này không khuếch đại điện áp, chỉ khuếch đại dòng
257
4. Mạch cộng đảo
Tín hiệu ngõ ra là tổng giữa các thành phần ngõ vào nhưng trái dấu.
5. Mạch khuếch đại vi sai (mạch trừ)
Mạch chỉ khuếch đại khi giữa hai tín hiệu ngõ vào có sự sai lệch về điện áp.
6. Mạch tích phân
Tín hiệu ngõ ra là tích phân tín hiệu ngõ vào.
258
7. Mạch vi phân
Tín hiệu ngõ ra là vi phân tín hiệu ngõ vào
8. Mạch tạo hàm mũ
9. Mạch tạo hàm logarith
259
BÀI 5: PHÂN TÍCH SỬ DỤNG OP-AMPS
1. Phương pháp phân tích
Phân tích và thiết kế là hai quá trình thuận nghịch, khi nắm vững phương pháp
phân tích sẽ hỗ trợ rất nhiều cho quá trình thiết kế. Để phân tích một mạch điện
sử dụng Op-Amps lý tưởng, đầu tiên thay thế Op-Amps lý tưởng bởi sơ đồ tương
đương
Sau đó tuần tự thực hiện ba bước sau:
- Viết phương trình Kirchhoff cho đầu vào V+.
- Viết phương trình Kirchhoff cho đầu vào V-.
- Cho V+=V-, ta tìm được mối quan hệ giữa Vin và Vo.
2. Các bài toán điển hình
a. Bài toán 1: Phân tích mạch điện sau
260
- Viết phương trình Kirchhoff cho đầu vào V+.
v+=0
- Viết phương trình Kirchhoff cho đầu vào V-.
0
in
in
F
out
R
vv
R
vv
- Cho v+=v- ® v+=v-= 0, ta tìm được mối quan hệ giữa vin và vout: vout = −RF/Rin .vin
b. Bài toán 2: Phân tích mạch điện sau
- Viết phương trình Kirchhoff cho đầu vào V+.
v+=0
- Viết phương trình Kirchhoff cho đầu vào V-.
- Cho v+=v- ® v+=v-= 0, ta tìm được mối quan hệ giữa Vin và Vout.
261
BÀI 6: CÁC MẠCH ỨNG DỤNG
Phạm vi ứng dụng của Op-Amps rất phong phú, ở đây chỉ nêu một số ứng dụng
mang tính minh hoạ nguyên lý làm việc của Op-Amps.
1. Mạch so sánh cửa sổ
Đây là mạch điện ứng dụng trong việc cảnh báo quá nhiệt hay thiếu nhiệt
của môi trường cần theo dõi. Mạch làm việc theo nguyên lý so sánh cửa sổ, một
nguyên lý rất thông dụng trong các thiết bị công nghiệp. Minh hoạ qua hình.
Khi muốn khống chế nhiệt độ lò ở 40oC, người ta tiến hành như sau: từ nhiệt
độ môi trường đang là 27oC, bắt đầu cấp nhiệt cho lò (điểm A). Nhiệt độ lò tăng
dần vượt qua 36oC (điểm B), rồi qua 40oC mạch vẫn tiếp tục cấp nhiệt cho đến khi
nhiệt độ của lò đến 44oC (điểm C), lò mới cắt điện trở gia nhiệt. Nhiệt độ lò bắt
đầu giảm dần từ 44oC (điểm D). Giảm qua 40oC vẫn tiếp tục giảm. Cho đến 36oC
(điểm E) thì lại tiếp tục cấp nhiệt cho lò (điểm B) nhiệt độ lò tăng dần lên.
Sơ đồ nguyên lý mạch báo nhiệt
Rõ ràng để giữ nhiệt độ lò nằm trong khoảng 40oC, người ta cấp nhiệt cho lò
theo chu trình B, C, D, E rồi trở lại B: hình dạng như một cửa sổ nên có tên là mạch
262
so sánh cửa sổ (window comparator). Nguyên lý so sánh này được ứng dụng rất
rộng rãi trong công nghiệp, dân dụng, quân sự, y tế... Tóm tắt nguyên lý làm việc
như sau:
Điện trở nhiệt PTR phối hợp với R1 và R2 tạo ra Vs là một hàm biến thiên theo nhiệt
độ môi trường đặt PTR. Cụ thể có thể tính Vs:
Rõ ràng Vs = f(To) là một hàm của nhiệt độ. Do đó, đo Vs chính là đo nhiệt
độ. Cụ thể các giá trị điện trở trong mạch được cân chỉnh để 2 OP-AMPS làm việc
như sau :
* Khi thiếu nhiệt:
Lúc này VS < VA < VB, đầu vào v+ của op-amps II nhỏ hơn đầu vào v- nên ngõ
ra op-amps II xuống thấp, LED 2 sáng. Trong khi đó đầu vào v+ của op-amps I lớn
hơn đầu vào v- nên ngõ ra op-amps I lên cao, LED 1 tắt.
* Khi đủ nhiệt:
Lúc này VA < VS < VB, đầu vào v+ của op-amps II lớn hơn đầu vào v- nên ngõ
ra op-amps II lên cao, LED 2 tắt. Trong khi đó đầu vào v+ của op-amps I lớn hơn
đầu vào v- nên ngõ ra op-amps I lên cao, LED 1 tắt.
* Khi quá nhiệt:
Lúc này VA < VB < VS, đầu vào v+ của op-amps II lớn hơn đầu vào v- nên ngõ
ra op-amps II lên cao, LED 2 tắt. Trong khi đó đầu vào v+ của op-amps I nhỏ hơn
đầu vào v- nên ngõ ra op-amps I xuống thấp, LED 1 sáng.
Rõ ràng chỉ cần nhìn vào độ sáng tối của 2 LED, ta có thể nhận biết được
nhiệt độ của môi trường cần cảnh báo nhiệt độ. Để mạch cảnh báo hiệu quả hơn có
thể thêm vào một mạch dao động, mạch này giúp khi có sự cố các LED sẽ không
sáng liên tục mà nhấp nháy.
2. Mạch chỉnh lưu chính xác
Trong thực tế, đôi lúc người ta cần mạch chỉnh lưu có điện áp ngõ ra như hình vẽ
trong điều kiện lý tưởng, nhưng trên thực tế dù diode được phân cực thuận và dẫn
dòng thì vẫn có một sụt áp đáng kể trên diode (chỉnh lưu cầu sụt áp này là 2VD).
Điều này dẫn đến sự méo dạng điện áp ngõ ra như hình vẽ.
263
Để khắc phục nhược điểm này, người ta sử dụng mạch chỉnh lưu chính xác sử dụng
Op-Amps như hình vẽ
Do dòng điện hai ngõ vào của Op-Amps bằng không nên trong chu kỳ phân cực
thuận của diode (chu kỳ chỉnh lưu) Vin=Vout, vì vậy sóng dạng điện áp ngõ ra bộ
chỉnh lưu như sóng dạng bộ chỉnh lưu lý tưởng.
3. Mạch lọc
Mạch lọc thụ động có ưu điểm là rất đơn giản, tuy nhiên hệ số truyền đạt nhỏ do
bị tổn hao trên RC, phụ thuộc nhiều vào tải, khó phối hợp tổng trở với các mạch
ghép. Muốn hạn chế độ suy giảm thì phải lắp nhiều mắt lọc liên tiếp, lúc này tần
số cắt của bộ lọc sẽ khác với các tần số cắt của các mắt lọc. Cách khắc phục nhược
điểm trên đó là sử dụng các mạch lọc tích cực. Cụ thể là đưa mắt lọc RC vào đường
264
hồi tiếp của Op-Amps để tăng hệ số truyền đạt, tăng hệ số phẩm chất, đồng thời
làm giảm ảnh hưởng của tải bằng cách dùng tầng đệm để phối hợp trở kháng.
Cũng như mạch lọc thụ động, có thể phân mạch lọc tích cực theo tần số làm việc
như: mạch lọc thông thấp, mạch lọc thông cao, mạch lọc dãy. Ở đây giới thiệu một
mạch lọc tích cực lọc thông thấp: mạch lọc mà tần số thấp được truyền qua
nguyên vẹn, cò tần số cao bị suy giảm và chậm pha với tín hiệu vào.
Có thể dùng công thức để tính toán và thành lập biểu đồ Bode về biên - tần của
mạch lọc trên như hình
Các nhận xét về mạch lọc thống thấp:
- Tại tần số cắt fc có độ lệch pha là -45o; biên độ điện áp ra giảm gần 3 dB.
- Tại tần số thấp f << fc: biên độ |A| = 1 ≈ 0dB
- Tại tần số cao f >> fc: biên độ |A| = 1/ωRC, hệ số khuếch đại tỉ lệ nghịch với tần
số theo quan hệ: tần số tăng 10 lần thì hệ số khuếch đại giảm 10 lần tức là giảm
20dB/decade hay 6dB/octave.
4. Nguồn dòng công suất lớn
Trong thực tế đôi khi nguồn dòng cung cấp năng lượng ra tải sẽ tốt hơn nguồn áp
ví dụ như khi nạp bình ắc qui, nếu sử dụng nguồn dòng bình sẽ lâu hư hơn nhiều
lần so với nạp bằng nguồn áp; đặc biệt khi nguồn áp cung cấp thường xuyên có
265
giá trị bất ổn định (như lấy điện từ năng lượng mặt trời, sức gió ...). Những lúc như
vậy ta có thể sử dụng nguồn dòng trình bày trên hình sau:
Có thể tăng thêm dòng cho mạch điện trên khi thay Q2 bằng các transistor
darlington (transistor được lắp ghép sẵn dạng darlington bên trong linh kiện).
Nhưng lúc này R1 cũng phải giảm theo một cách tương ứng.
5. Nguồn ổn áp
Hiện nay, ổn áp DC sử dụng vi mạch chuyên dụng đã đạt đến độ ổn định rất cao,
tuy nhiên muốn chế tạo một bộ ổn áp sử dụng Op-Amps có độ ổn định tương đối
tốt cũng không phải là điều khó! Có thể thực hiện theo mạch sau:
266
Khi chỉnh định tỉ số giữa R2 và R3 thay đổi hệ số khuếch đại vòng kín của mạch sẽ
làm thay đổi được điện áp ngõ ra ở mức ổn định mới. Với dòng tải tối đa là 1A
trong khi điện áp ngõ vào biến thiên trong một dãy điện áp rộng, bộ nguồn này
chắc chắn sử dụng được khá nhiều việc trong lĩnh vực điện tử vi mạch.
Chương 6 CÁC BỘ CHUYỂN ĐỔI ADC/DAC
Trong tự nhiên đa phần các nguồn tín hiệu thường là dạng tương tự (Analog) để hệ thống số có thể xử lý được các tín hiệu này cần thiết phải chuyển đổi chúng sang tín hiệu số (ADC). Sau khi tính toán, xử lý xong cần thiết phải chuyển đổi các tín hiệu này từ tín hiệu số về lại tương tự (DAC). Chương 5 sẽ giới thiệu các kỹ thuật chuyển đổi này cùng với các chip thông dụng hiện có trên thị trường. Nội dung chương 5 gồm:
BÀI 1.1: BỘ CHUYỂN ĐỔI SỐ - TƯƠNG TỰ-DAC
Trang 1
Trong kỹ thuật số, ta thấy đại lượng số có giá trị xác định là một trong hai khả
năng là 0 hoặc 1, cao hay thấp, đúng hoặc sai, vv… Trong thực tế chúng ta thấy
rằng một đại lượng số (chẳng hạn mức điện thế) thực ra có thể có một giá trị bất
kỳ nằm trong khoảng xác định và ta định rõ các giá trị trong phạm vi xác định sẽ
có chung giá trị dạng số.
Ví dụ: Với logic TTL ta có: Từ 0V đến 0,8V là mức logic 0, từ 2V đến 5V là mức logic
1
Như vậy thì bất kỳ mức điện thế nào nằm trong khoảng 0 – 0,8V đều mang giá trị
số là logic 0, còn mọi điện thế nằm trong khoảng 2 – 5V đều được gán giá trị số là
1.
Ngược lại trong kỹ thuật tương tự, đại lượng tương tự có thể lấy giá trị bất kỳ
trong một khoảng giá trị liên tục. Và điều quan trọng hơn nữa là giá trị chính xác
của đại lượng tương tự là là yếu tố quan trọng.
Hầu hết trong tự nhiên đều là các đại lượng tương tự như nhiệt độ, áp suất, cường
độ ánh sáng, … Do đó muốn xử lý trong một hệ thống kỹ thuật số, ta phải chuyển
đổi sang dạng đại lượng số mới có thể xử lý và điều khiển các hệ thống được. Và
ngược lại có những hệ thống tương tự cần được điều khiển chúng ta cũng phải
chuyển đổi từ số sang tương tự. Trong phần này chúng ta sẽ tìm hiểu về quá trình
chuyển đổi từ số sang tương tự -DAC (Digital to Analog Converter).
267
Chuyển đổi số sang tương tự là tiến trình lấy một giá trị được biểu diễn dưới dạng
mã số ( digital code ) và chuyển đổi nó thành mức điện thế hoặc dòng điện tỉ lệ với
giá trị số. Hình 5.1 minh họa sơ đồ khối của một bộ chuyển đổi DAC.
1.1 ÐỘ PHÂN GIẢI
Độ phân giải (resolution) của bộ biến đổi DAC được định nghĩa là thay đổi nhỏ nhất có thể xảy ra ở đầu ra
tương tự bởi kết qua của một thay đổi ở đầu vào số.
Độ phân giải của DAC phụ thuộc vào số bit, do đó các nhà chế tạo thường ấn định độ phân giải của DAC ở
dạng số bit. DAC 10 bit có độ phân giải tinh hơn DAC 8 bit. DAC có càng nhiều bit thì độ phân giải càng tinh
hơn.
Độ phân giải luôn bằng trọng số của LSB. Còn gọi là kích thước bậc thang (step size), vì đó là khoảng thay
đổi của Vout khi giá trị của đầu vào số thay đổi từ bước này sang bước khác.
268
Dạng sóng bậc thang (hình 5.2) có 16 mức với 16 thạng thái đầu vào nhưng chỉ có 15 bậc giữa mức 0 và mức
cực đại. Với DAC có N bit thì tổng số mức khác nhau sẽ là 2N, và tổng số bậc sẽ là 2N – 1.
Do đó độ phân giải bằng với hệ số tỷ lệ trong mối quan hệ giữa đầu vào và đầu ra của DAC.
Đầu ra tương tự = K x đầu vào số
Với K là mức điện thế (hoặc cường độ dòng điện) ở mỗi bậc.
Như vậy ta có công thức tính độ phân giải như sau:
Với là đầu ra cực đại ( đầy thang )
N là số bit
Nếu tính theo phần trăm ta có công thức như sau:
Ví dụ như hình 5.1 ta có
Ví dụ 1: Một ADC 10 bit có kích thước bậc thang = 10mV. Hãy xác định điện thế đầu ra cực đại ( đầy thang )
và tỷ lệ % độ phân giải.
269
Giải:
DAC có 10 bit nên ta có
Số bậc là 210 – 1 = 1023 bậc
Với mỗi bậc là 10mV nên đầu ra cực đại sẽ là 10mVx1023 = 10.23V
Từ ví dụ trên cho thấy tỷ lệ phần trăm độ phân giải giảm đi khi số bit đầu vào tăng lên. Do đó ta còn tính
được % độ phân giải theo công thức:
Với mã đầu vào nhị phân N bit ta có tổng số bậc là 2N – 1 bậc.
1.2 ĐỘ CHÍNH XÁC
Có nhiều cách đánh giá độ chính xác. Hai cách thông dụng nhất là sai số toàn thang (full scale error) và sai số
tuyến tính (linearity error) thường được biểu biễn ở dạng phần trăm đầu ra cực đại (đầy thang) của bộ
chuyển đổi.
Sai số toàn thang là khoảng lệch tối đa ở đầu ra DAC so với giá trị dự kiến (lý tưởng), được biểu diễn ở dạng
phần trăm.
Sai số tuyến tính là khoảng lệch tối đa ở kích thước bậc thang so với kích thước bậc thang lý tưởng.
Điều quan trọng của một DAC là độ chính xác và độ phân giải phải tương thích với nhau.
1.3 SAI SỐ LỆCH
Theo lý tưởng thì đầu ra của DAC sẽ là 0V khi tất cả đầu vào nhị phân toàn là bit 0. Tuy nhiên trên thực tế
thì mức điện thế ra cho trường hợp này sẽ rất nhỏ, gọi là sai số lệch ( offset error). Sai số này nếu không điều
chỉnh thì sẽ được cộng vào đầu ra DAC dự kiến trong tất cả các trường hợp.
Nhiều DAC có tính năng điều chỉnh sai số lệch ở bên ngoài, sẽ cho phép chúng ta
triệt tiêu độ lệch này bằng cách áp mọi bit 0 ở đầu vào DAC và theo dõi đầu ra. Khi
đó ta điều chỉnh chiết áp điều chỉnh độ lệch cho đến khi nào đầu ra bằng 0V.
1.4 THỜI GIAN ỔN ĐỊNH
Thời gian ổn định (settling time) là thời gian cần thiết để đầu ra DAC đi từ zero đến bậc thang cao nhất khi
đầu vào nhị phân biến thiên từ chuỗi bit toàn 0 đến chuổi bit toàn là 1. Thực tế thời gian ổn định là thời gian
để đầu vào DAC ổn định trong phạm vi ±1/2 kích thước bậc thang (độ phân giải) của giá trị cuối cùng.
Ví dụ: Một DAC có độ phân giải 10mV thì thời gian ổn định được đo là thời gian đầu ra cần có để ổn định
trong phạm vi 5mV của giá trị đầy thang.
270
Thời gian ổn định có giá trị biến thiên trong khoảng 50ns đến 10ns. DAC với đầu ra dòng có thời gian ổn định
ngắn hơn thời gian ổn định của DAC có đầu ra điện thế.
1.5 TRẠNG THÁI ĐƠN ĐIỆU
DAC có tính chất đơn điệu ( monotonic) nếu đầu ra của nó tăng khi đầu vào nhị phân tăng dần từ giá trị này
lên giá trị kế tiếp. Nói cách khác là đầu ra bậc thang sẽ không có bậc đi xuống khi đầu vào nhị phân tăng dần
từ zero đến đầy thang.
Tỉ số phụ thuộc dòng:
DAC chất lượng cao yêu cầu sự ảnh hưởng của biến thiên điện áp nguồn đối với điện áp đầu ra vô cùng nhỏ.
Tỉ số phụ thuộc nguồn là tỉ số biến thiên mức điện áp đầu ra với biến thiên điện áp nguồn gây ra nó.
Ngoài các thông số trên chúng ta cần phải quan tâm đên các thông số khác của một DAC khi sử dụng như:
các mức logic cao, thấp, điện trở, điện dung, của đầu vào; dải rộng, điện trở, điện dung của đầu ra; hệ số
nhiệt, …
2.1 DAC dùng điện trở có trọng số nhị phân và bộ khuếch đại cộng.
Hình 5.3 là sơ đồ mạch của một mạch DAC 4 bit dùng điện trở và bộ khuếch đại
đảo. Bốn đầu vào A, B, C, D có giá trị giả định lần lượt là 0V và 5V.
Bộ khuếch đại thuật toán (Operational Amplifier – Op Amp) được dùng làm bộ cộng
đảo cho tổng trọng số của bốn mức điện thế vào. Ta thấy các điện trở đầu vào
giảm dần 1/2 lần điện trở trước nó. Nghĩa là đầu vào D (MSB) có RIN = 1k, vì vậy bộ
khuếch đại cộng chuyển ngay mức điện thế tại D đi mà không làm suy giảm (vì Rf
= 1k). Đầu vào C có R = 2k, suy giảm đi 1/2, tương tự đầu vào B suy giảm 1/4 và
đầu vào A giảm 1/8. Do đó đầu ra bộ khuếch đại được tính bởi biểu thức:
271
dấu âm (-) biểu thị bộ khuếch đại cộng ở đây là khuếch đại cộng đảo. Dấu âm này
chúng ta không cần quan tâm.
Như vậy ngõ ra của bộ khuếch đại cộng là mức điện thế tương tự, biểu thị tổng
trọng số của các đầu vào. Dựa vào biểu thức (4) ta tính được các mức điện áp ra
tương ứng với các tổ hợp của các ngõ vào (bảng 5.1).
Bảng 5.1 Đầu ra ứng với điều kiện các đầu vào thích hợp ở 0V hoặc 5V.
Độ phân giải của mạch DAC hình 5.2 bằng với trọng số của LSB, nghĩa là bằng x 5V
= 0.625V. Nhìn vào bảng 5.1 ta thấy đầu ra tương tự tăng 0.625V khi số nhị phân
ở đầu vào tăng lên một bậc.
Ví dụ 2:
a. Xác định trọng số của mỗi bit đầu vào ở hình 5.2
b. Thay đổi Rf thành 500W.Xác định đầu ra cực đại đầy thang.
Giải:
a. MSB chuyển đi với mức khuếch đại = 1 nên trọng số của nó ở đầu ra là 5V.
Tương tự như vậy ta tính được các trọng số của các bit đầu vào như sau:
272
MSB # 5V
MSB thứ 2 # 2.5V (giảm đi 1/2)
MSB thứ 3 # 1.25V (giảm đi 1/4)
MSB thứ 4 (LSB) # 0.625V (giảm đi 1/8)
b. Nếu Rf = 500W giảm theo thừa số 2, nên mỗi trọng số đầu vào sẽ nhỏ hơn 2
lần so với giá trị tính ở trên. Do đó đầu ra cực đại ( đầy thang) sẽ giảm theo
cùng thừa số, còn lại: -9.375/2 = -4.6875V
2.2 DAC R/2R ladder
Mạch DAC ta vừa khảo sát sử dụng điện trở có trọng số nhị phân tạo trọng số thích hợp cho từng bit vào.
Tuy nhiên có nhiều hạn chế trong thực tế. Hạn chế lớn nhất đó là khoảng cách chênh lệch đáng kể ở giá trị
điện trở giữa LSB và MSB, nhất là trong các DAC có độ phân giải cao (nhiều bit). Ví dụ nếu điện trở MSB =
1k trong DAC 12 bit, thì điện trở LSB sẽ có giá trị trên 2M. Điều này rất khó cho việc chế tạo các IC có độ
biến thiên rộng về điện trở để có thể duy trì tỷ lệ chính xác.
Để khắc phục được nhược điểm này, người ta đã tìm ra một mạch DAC đáp ứng
được yêu cầu đó là mạch DAC mạng R/2R ladder. Các điện trở trong mạch này chỉ
biến thiên trong khoảng từ 2 đến 1. Hình 5.4 là một mạch DAC R/2R ladder cơ bản.
Từ hình 5.4 ta thấy được cách sắp xếp các điện trở chỉ có hai giá trị được sử dụng
là R và 2R. Dòng IOUT phụ thuộc vào vị trí của 4 chuyển mạch, đầu vào nhị phân
B0B1B2B3 chi phối trạng thái của các chuyển mạch này. Dòng ra IOUT được phép chạy
273
qua bộ biến đổi dòng thành điện (Op-Amp) để biến dòng thành điện thế ra VOUT.
Điện thế ngõ ra VOUT được tính theo công thức:
Với B là giá trị đầu vào nhị phân, biến thiên từ 0000 (0) đến 1111(15)
Ví dụ 3: Giả sử VREF = 5V của DAC ở hình 5.4. Tính độ phân giải và đầu ra cực đại của DAC này?
Giải
Độ phân giải bằng với trọng số của LSB, ta xác định trọng số LSB bằng cách gán B
= 00012 = 1. Theo công thức (5), ta có:
Đầu ra cực đại xác định được khi B = 11112 = 1510. Áp dụng công thức (5) ta có:
2.3 DAC với đầu ra dòng
Trong các thiết bị kỹ thuật số đôi lúc cũng đòi hỏi quá trình điều khiển bằng dòng điện. Do đó người ta đã tạo
ra các DAC với ngõ ra dòng để đáp ứng yêu cầu đó. Hình 5.5 là một DAC với ngõ ra dòng tương tự tỷ lệ với
đầu vào nhị phân. Mạch DAC này 4 bit, có 4 đường dẫn dòng song song mỗi đường có một chuyển mạch điều
khiển. Trạng thái của mỗi chuyển mạch bị chi phối bởi mức logic đầu vào nhị phân.
274
Dòng chảy qua mỗi đường là do mức điện thế quy chiếu VREF và giá trị điện trở trong đường dẫn quyết định.
Giá trị điện trở có trọng số theo cơ số 2, nên cường độ dòng điện cũng có trọng số theo hệ số 2 và tổng cường
độ dòng điện ra IOUT sẽ là tổng các dòng của các nhánh.
DAC với đầu dòng ra có thể chuyển thành DAC có đầu ra điện thế bằng cách dùng
bộ khuếch đại thuật toán (Op-Amp) như hình 5.6.
275
Ở hình trên IOUT ra từ DAC phải nối đến đầu vào “ – ” của bộ khuếch đại thuật toán. Hồi tiếp âm của bộ
khuếch đại thuật toán buộc dòng IOUT phải chạy qua RF và tạo điện áp ngõ ra VOUT và được tính theo công
thức:
Do đó VOUT sẽ là mức điện thế tương tự, tỷ lệ với đầu vào nhị phân của DAC.
2.4 DAC điện trở hình T
Hình 5.7 là sơ đồ DAC điện trở hình T 4 bit. Trong sơ đồ có hai loại điện trở là R và
2R được mắc thành 4 cực hình T nối dây chuyền. Các S3, S2, S1, S0 là các chuyển
mạch điện tử. Mạch DAC này dùng bộ khuếch đại thuật toán (Op-Amp) khuếch đại
đảo. VREF là điện áp chuẩn làm tham khảo. B3, B2, B1, B0 là mã nhị phân 4 bit. Vo là
điện áp tương tự ngõ ra. Ta thấy các chuyển mạch chịu sự điểu khiển của số nhị
phân tương ứng với các công tắc: khi Bi = 1 thì công tắc Si đóng vào VREF, kho Bi =
0 thì Si nối đất.
Nguyên lý làm việc của DAC này cũng đơn giản. Người đọc có thể giải thích được hoạt
động của mạch dựa trên hình vẽ và những kiến thức đã học. Chúng ta chỉ cần cho lần lượt
các bit Bi bằng logic 1 và 0 ta sẽ tính được VOUT sau đó dùng nguyên xếp chồng ta sẽ tính
được điện áp ra:
276
Biểu thức (7) chứng tỏ rằng biên độ điện áp tương tự đầu ra tỉ lệ thuận với giá trị tín hiệu
số đầu vào. Chúng ta có thể thấy rằng đối với DAC điện trở hình T N bit thì điện áp tương
tự đầu ra VOUT sẽ là:
Sai Số Chuyển Đổi
Đối với mạch DAC điện trở hình T thì sai số chuyển đổi do các nguyên nhân sau:
K Sai lệch điện áp chuẩn tham chiếu VREF .
Từ công thức (8) ta có thể tính sai số chuyển đổi DA do riêng sai số lệch điện áp chuẩn
tham chiếu VREF gây ra như sau:
Biểu thức trên cho thấy sai số của điện áp tương tự DVOUT tỉ lệ với sai lệch DVREF và tỉ lệ
thuận với giá trị tín hiệu số đầu vào.
K Sự trôi điểm 0 của khuếch đại thuật toán.
Sự trôi điểm 0 của bộ khuếch đại thuật toán ảnh hưởng như nhau đối với mọi giá trị tín
hiệu số được biến đổi. Sai số DVOUT do trôi điểm 0 không phụ thuộc giá trị tín hiệu số.
K Điện áp rơi trên điện trở tiếp xúc của tiếp điểm chuyển mạch.
Các chuyển mạch không phải là lý tưởng, thực tế điện áp rơi khi nối thông của mạch điện
chuyển mạch không thể tuyệt đối bằng 0. Vậy điện áp rơi này đóng vai trò tín hiệu sai số
đưa đến đầu vào mạng điện trở hình T.
K Sai số của điện trở .
Sai số điện trở cũng gây ra sai số phi tuyến. Sai số của các điện trở không như nhau, tác
động gây sai số chuyển đổi DA của những điện trở khác nhau về vị trí là khác nhau.
Tốc độ chuyển đổi:
DAC điện trở hình T công tác song song (các bit tín hiệu số đầu vào được đưa vào song
song) nên có tốc độ chuyển đổi cao. Thời gian cần thiết cho một lần chuyển đổi gồm hai gai
đoạn: thời gian trể truyền đạt của bit tín hiệu vào xa nhất đến bộ khuếch đại thuật toán và
thời gian cần thiết để bộ khuếch đại thuật toán ổn định tín hiệu ra.
277
BÀI 1.2: CÁC DẠNG MẠCH DAC
Trang 2
Có nhiều phương pháp và sơ đồ mạch giúp tạo DAC vận hành như đã giới thiệu. Sau đây là một số dạng
mạch DAC cơ bản sẽ giúp chúng ta hiểu rõ và sâu hơn về quá trình chuyển đổi từ số sang tương tự.
2.1 DAC dùng điện trở có trọng số nhị phân và bộ khuếch đại cộng.
Hình 5.3 là sơ đồ mạch của một mạch DAC 4 bit dùng điện trở và bộ khuếch đại đảo. Bốn đầu vào A, B, C, D
có giá trị giả định lần lượt là 0V và 5V.
Bộ khuếch đại thuật toán (Operational Amplifier – Op Amp) được dùng làm bộ cộng
đảo cho tổng trọng số của bốn mức điện thế vào. Ta thấy các điện trở đầu vào
giảm dần 1/2 lần điện trở trước nó. Nghĩa là đầu vào D (MSB) có RIN = 1k, vì vậy bộ
khuếch đại cộng chuyển ngay mức điện thế tại D đi mà không làm suy giảm (vì Rf
= 1k). Đầu vào C có R = 2k, suy giảm đi 1/2, tương tự đầu vào B suy giảm 1/4 và
đầu vào A giảm 1/8. Do đó đầu ra bộ khuếch đại được tính bởi biểu thức:
dấu âm (-) biểu thị bộ khuếch đại cộng ở đây là khuếch đại cộng đảo. Dấu âm này chúng ta
không cần quan tâm.
278
Như vậy ngõ ra của bộ khuếch đại cộng là mức điện thế tương tự, biểu thị tổng trọng số
của các đầu vào. Dựa vào biểu thức (4) ta tính được các mức điện áp ra tương ứng với các
tổ hợp của các ngõ vào (bảng 5.1).
Bảng 5.1 Đầu ra ứng với điều kiện các đầu vào thích hợp ở 0V hoặc 5V.
Độ phân giải của mạch DAC hình 5.2 bằng với trọng số của LSB, nghĩa là bằng x 5V
= 0.625V. Nhìn vào bảng 5.1 ta thấy đầu ra tương tự tăng 0.625V khi số nhị phân
ở đầu vào tăng lên một bậc.
Ví dụ 2:
a. Xác định trọng số của mỗi bit đầu vào ở hình 5.2
b. Thay đổi Rf thành 500W.Xác định đầu ra cực đại đầy thang.
Giải:
a. MSB chuyển đi với mức khuếch đại = 1 nên trọng số của nó ở đầu ra là 5V. Tương tự như vậy ta tính
được các trọng số của các bit đầu vào như sau:
MSB # 5V
MSB thứ 2 # 2.5V (giảm đi 1/2)
MSB thứ 3 # 1.25V (giảm đi 1/4)
MSB thứ 4 (LSB) # 0.625V (giảm đi 1/8)
279
b. Nếu Rf = 500W giảm theo thừa số 2, nên mỗi trọng số đầu vào sẽ nhỏ hơn 2 lần so với giá trị tính ở
trên. Do đó đầu ra cực đại ( đầy thang) sẽ giảm theo cùng thừa số, còn lại: -9.375/2 = -4.6875V
2.2 DAC R/2R ladder
Mạch DAC ta vừa khảo sát sử dụng điện trở có trọng số nhị phân tạo trọng số thích hợp
cho từng bit vào. Tuy nhiên có nhiều hạn chế trong thực tế. Hạn chế lớn nhất đó là khoảng
cách chênh lệch đáng kể ở giá trị điện trở giữa LSB và MSB, nhất là trong các DAC có độ
phân giải cao (nhiều bit). Ví dụ nếu điện trở MSB = 1k trong DAC 12 bit, thì điện trở LSB
sẽ có giá trị trên 2M. Điều này rất khó cho việc chế tạo các IC có độ biến thiên rộng về điện
trở để có thể duy trì tỷ lệ chính xác.
Để khắc phục được nhược điểm này, người ta đã tìm ra một mạch DAC đáp ứng
được yêu cầu đó là mạch DAC mạng R/2R ladder. Các điện trở trong mạch này chỉ
biến thiên trong khoảng từ 2 đến 1. Hình 5.4 là một mạch DAC R/2R ladder cơ bản.
Từ hình 5.4 ta thấy được cách sắp xếp các điện trở chỉ có hai giá trị được sử dụng
là R và 2R. Dòng IOUT phụ thuộc vào vị trí của 4 chuyển mạch, đầu vào nhị phân
B0B1B2B3 chi phối trạng thái của các chuyển mạch này. Dòng ra IOUT được phép chạy
qua bộ biến đổi dòng thành điện (Op Amp) để biến dòng thành điện thế ra VOUT.
Điện thế ngõ ra VOUT được tính theo công thức:
280
Với B là giá trị đầu vào nhị phân, biến thiên từ 0000 (0) đến 1111(15)
Ví dụ 3: Giả sử VREF = 5V của DAC ở hình 5.4. Tính độ phân giải và đầu ra cực đại của DAC này?
Giải
Độ phân giải bằng với trọng số của LSB, ta xác định trọng số LSB bằng cách gán B
= 00012 = 1. Theo công thức (5), ta có:
Đầu ra cực đại xác định được khi B = 11112 = 1510. Áp dụng công thức (5) ta có:
2.3 DAC với đầu ra dòng
Trong các thiết bị kỹ thuật số đôi lúc cũng đòi hỏi quá trình điều khiển bằng dòng điện. Do đó người ta đã tạo
ra các DAC với ngõ ra dòng để đáp ứng yêu cầu đó. Hình 5.5 là một DAC với ngõ ra dòng tương tự tỷ lệ với
đầu vào nhị phân. Mạch DAC này 4 bit, có 4 đường dẫn dòng song song mỗi đường có một chuyển mạch điều
khiển. Trạng thái của mỗi chuyển mạch bị chi phối bởi mức logic đầu vào nhị phân.
281
Dòng chảy qua mỗi đường là do mức điện thế quy chiếu VREF và giá trị điện trở trong đường dẫn quyết định.
Giá trị điện trở có trọng số theo cơ số 2, nên cường độ dòng điện cũng có trọng số theo hệ số 2 và tổng cường
độ dòng điện ra IOUT sẽ là tổng các dòng của các nhánh.
DAC với đầu dòng ra có thể chuyển thành DAC có đầu ra điện thế bằng cách dùng
bộ khuếch đại thuật toán (Op Amp) như hình 5.6.
Ở hình trên IOUT ra từ DAC phải nối đến đầu vào “ – ” của bộ khuếch đại thuật toán. Hồi tiếp âm của bộ
khuếch đại thuật toán buộc dòng IOUT phải chạy qua RF và tạo điện áp ngõ ra VOUT và được tính theo công
thức:
<p class="MsoNormal"
BÀI 2.1: CHUYỂN ĐỔI TƯƠNG TỰ - SỐ
ADC
Trang 1
1.1 Sơ đồ khối
Bộ chuyển đổi tương tự sang số – ADC (Analog to Digital Converter) lấy mức điện
282
thế vào tương tự sau đó một thời gian sẽ sinh ra mã đầu ra dạng số biểu diễn đầu
vào tương tự. Tiến trình biến đổi A/D thường phức tạp và mất nhiều thời gian hơn
tiến trình chuyển đổi D/A. Do đó có nhiều phương pháp khác nhau để chuyển đổi
từ tương tự sang số. Hình vẽ 5.16 là sơ đồ khối của một lớp ADC đơn giản.
Hoạt động cơ bản của lớp ADC thuộc loại này như sau:
Xung lệnh START khởi đôïng sự hoạt động của hêï thống.
Xung Clock quyết định bộ điều khiển liên tục chỉnh sửa số nhị phân lưu trong
thanh ghi.
Số nhị phân trong thanh ghi được DAC chuyển đổi thành mức điện thế tương tự
VAX.
Bộ so sánh so sánh VAX với đầu vào trương tự VA. Nếu VAX < VA đầu ra của bộ so
sánh lên mức cao. Nếu VAX > VA ít nhất bằng một khoảng VT (điện thế ngưỡng),
đầu dra của bộ so sánh sẽ xuống mức thấp và ngừng tiến trình biến đổi số nhị
phân ở thanh ghi. Tại thời điểm này VAX xấp xỉ VA. giá dtrị nhị phân ở thanh ghi là
đại lượng số tương đương VAX và cũng là đại lượng số tương đương VA, trong giới
hạn độ phân giải và độ chính xác của hệ thống.
Logic điều khiển kích hoạt tín hiệu ECO khi chu kỳ chuyển đổi kết thúc.
Tiến trình này có thể có nhiều thay dổi đối với một số loại ADC khác, chủ yếu là
283
sự khác nhau ở cách thức bộ điều khiển sửa đổi số nhị phân trong thanh ghi.
1.2 Các chỉ tiêu kỹ thuật chủ yếu của ADC
Độ phân giải
Độ phân gải của một ADC biểu thị bằng số bit của tín hiệu số đầu ra. Số lượng bit nhiều
sai số lượng tử càng nhỏ, độ chính xác càng cao.
Dải động, điện trở đầu vào.
Mức logic của tín hiệu số đầu ra và khả năng chịu tải (nối vào đầu vào).
Độ chính xác tương đối
Nếu lý tưởng hóa thì tất cả các điểm chuyển đổiphải nằm trên một đường thẳng. Độ chính
xác tương đối là sai dsố của các điểm chuyển đổi thực tế so với đặc tuyến chuyển đổi lý
tưởng. Ngoài ra còn yêu cầu ADC không bị mất bit trong toàn bộ phạm vi công tác.
Tốc độ chuyển đổi
Tốc độ chuyển đổi được xác định thời gian bởi thời gian cần thiết hoàn thành một lần
chuyển đổi A/D. Thời gian này tính từ khi xuất hiện tín hiệu điều khiển chuyển đổi đến
khi tín hiệu số đầu ra đã ổn định.
Hệ số nhiệt độ
Hệ số nhiệt độ là biến thiên tương đối tín hiệu số đầu ra khi nhiệt độ biến đổi 10C trong
phạm vi nhiệt độ công tác cho ph ép với điều kiện mức tương tự đầu vào không đổi.
Tỉ số phụ thuộc công suất
Giả sử điện áp tương tự đầu vào không đổi, nếu nguồn cung cấp cho ADC biến thiên mà
ảnh hưởng đến tín hiệu số đầu ra càng lớn thì tỉ số phụ thuộc nguồn càng lớn.
Công suất tiêu hao.
1.3 Các bước chuyển đổi AD
Quá trình chuyển đổi A/D nhìn chung được thực hiện qua 4 bước cơ bản, đó là: lấy mẫu;
nhớ mẫu; lượng tử hóa và mã hóa. Các bước đó luôn luôn kết hợp với nhau trong một quá
trình thống nhất.
1.3.1 Định lý lấy mẫu
Đối với tín hiệu tương tự VI thì tín hiệu lấy mẫu VS sau quá trình lấy mẫu có thể khôi phục
284
trở lại VI một cách trung thực nếu điều kiện sau đây thỏa mản:
fS ³ 2fImax (10)
Trong đó fS : tần số lấy mẫu
fImax : là giới hạn trên của giải tần số tương tự
Hình 5.17 biểu diển cách lấy mẫu tín hiệu tương tự đầu vào. Nếu biểu thức (10) được thỏa
mản thì ta có thể dùng bộ tụ lọc thông thấp để khôi phục VI từ VS.
Vì mỗi lần chuyển đổi điện áp lấy mẫu thành tín hiệu số tương ứng đều cần có một thời
gian nhất định nên phải nhớ mẫu trong một khoảng thời gian cần thiết sau mỗi lần lấy
mẫu. Điện áp tương tự đầu vào được thực hiện chuyển đổi A/D trên thực tế là giá trị VI
đại diện, giá trị này là kết quả của mỗi lần lấy mẫu.
1.3.2 Lượng tử hóa và mã hóa
Tín hiệu số không những rời rạc trong thời gian mà còn không liên tục trong biến đổi giá
trị. Một giá trị bất kỳ của tín hiệu số đều phải biểu thị bằng bội số nguyên lần giá trị đơn
vị nào đó, giá trị này là nhỏ nhất được chọn. Nghĩa là nếu dùng tín hiệu số biểu thị điện áp
lấy mẫu thì phải bắt điện áp lấy mẫu hóa thành bội số nguyên lần giá trị đơn vị. Quá trình
285
này gọi là lượng tử hóa. Đơn vị được chọn theo qui định này gọi là đơn vị lượng tử, kí hiệu
D. Như vậy giá trị bit 1 của LSB tín hiệu số bằng D. Việc dùng mã nhị phân biểu thị giá trị
tín hiệu số là mã hóa. Mã nhị phân có được sau quá trình trên chính là tín hiệu đầu ra của
chuyên đổi A/D.
1.3.3 Mạch lấy mẫu và nhớ mẫu
Khi nối trực tiếp điện thế tương tự với đầu vào của ADC, tiến trình biến đổi có thể bị tác
động ngược nếu điện thế tương tự thay đổi trong tiến trình biến đổi. Ta có thể cải thiện
tính ổn định của tiến trình chuyển đổi bằng cách sử dụng mạch lấy mẫu và nhớ mẫu để
ghi nhớ điện thế tương tự không đổi trong khi chu kỳ chuyển đổi diễn ra. Hình 5.18 là một
sơ đồ của mạch lấy mẫu và nhớ mẫu.
<p class="MsoNormal" ali
BÀI 3: GIỚI THIỆU CÁC VI MẠCH ĐIỂN HÌNH
Hiện nay trên thị trường có nhiều loại IC có chức năng chuyển đổi từ số sacng
tương tự. Ở đây chỉ giới thiệu 2 loại IC thông dụng, các loại khác bạn đọc có thể
tham khảo trong Datasheet hay trên Internet.
3.1 IC AD7524
IC AD7524 ( IC CMOS) là IC chuyên dụng dùng để chuyển đổi từ số sang tương tự.
AD7524 là bộ chuyển đổi D/A 8 bit, dùng mạng R/2R ladder. Có sơ đồ bên trong
như hình 5.8.
286
AD7524 có đầu vào 8 bit, có thể bị chốt trong dưới sự điều khiển của đầu vào
CHỌN CHIP và đầu vào ghi khi cả hai đầu vào điều khiển này đều ở mức
thấp, thì 8 đầu vào dữ liệu D7 – D0 sinh ra dòng tương tự OUT1 và OUT2 (thường
OUT2 nối đất).
Nếu một trong hai đầu vào điều khiển lên cao thì lúc này dữ liệu vào bị chốt lại và
đầu ra tương tự duy trì tại mức ứng với dữ liệu số bị chốt đó. Những thay đổi kế
tiếp ở đầu vào sẽ không tác động đến ngõ ra tương tự OUT1 ở trạng thái chốt này.
Các thông số của IC được liệt kê ở bảng 5.2
Bảng 5.2 Các thông số của IC DA7524
287
Quan hệ ngõ vào và ngõ ra tương ứng được trình bày ở bảng 5.3
Bảng 5.3 Quan hệ ngõ vào và ngõ ra
Ứng dụng của IC AD7524 thường dùng giao tiếp với các vi xử lý và vi điều khiển để chuyển đổi tín hiệu số
sang tương tự nhằm điều khiển các đối tượng cần điều khiển. Sau đây là một số ứng dụng của IC AD7524
giao tiếp với các IC khác.
288
289
3.2 IC DAC0830
DAC 0830 là IC thuộc họ CMOS. Là bộ chuyển đổi D/A 8 bit dùng mạng R/2R ladder.
Có thể giao tiếp trực tiếp với các vi xử lý để mở rộng hoạt động chuyển đổi D/A.
Sơ đồ chân và cấu trúc bên trong của DAC0830
290
Hoạt động của các chân
( CHIP SELECT) là chân chọn hoạt động ở mức thấp. Được kết hợp với chân
ITL để có thể viết dữ liệu.
ITL (INPUT LACTH ENABLE) là chân cho phép chốt ngõ vào, hoạt động ở mức cao.
ITL kết hợp với để cho phép viết.
(WRITE) hoạt động ở mức thấp. Được sử dụng để nạp các bit dữ liệu ngõ vào
chốt. Dữ liệu được chốt khi ở mức cao. Để chốt được dữ liệu vào thì và phải ở
mức thấp trong khi đó ITL phải ở mức cao.
(WRITE) tác động ở mức thấp. Chân này kết hợp với chân cho phép dữ liệu chốt ở ngõ vào
mạch chốt được truyền tới thanh nghi DAC trong IC.
(TRANSFER CONTROL SIGNAL) tác động ở mức thấp. Cho phép được viết.
DI0 – DI7 là các ngõ vào số trong đó DI0 là LSB còn DI7 là MSB.
IOUT1 ngõ ra dòng DAC1. Có trị số cực đại khi tất cả các bit vào đều bằng 1, còn
bằng 0 khi tất cả các bit vào đều bằng 0.
IOUT2 ngõ ra dòng DAC2. Nếu IOUT1 tăng từ 0 cho đến cực đại thì IOUT2 sẽ giảm từ cực
đại về 0 để sao cho IOUT1 + IOUT2 = hằng số.
Rfb điện trở hồi tiếp nằm trong IC. Luôn được sử dụng để hồi tiếp cho Op Amp
mắc ở ngoài.
Vref ngõ vào điện áp tham chiếu từ -10 đến +10V.
VCC điện áp nguồn cấp cho IC hoạt động từ 5 đến 15V.
GND (mass) chung cho IOUT1 và IOUT2.
Sau đây là một số ứng dụng của DAC0830 chuyển đổi từ số sang tương tự.
Điều khiển volume bằng số
291
Điều khiển máy phát sóng bằng số
292
Bộ Điều khiển dòng bằng số
293
DAC8030 có thể điều khiển được dòng ra thay đổi theo dữ liệu số vào. Dòng ra
thay đổi từ 4mA (khi D = 0) đến 19.9mA (khi D = 255).
Mạch điện trên sử dụng cho các mức điện áp vào khác nhau từ 16V đến 55V.
P2 thay đổi giá trị dòng
BÀI 4: CÁC MẠCH ỨNG DỤNG
1. Điều chỉnh và ổn định vị trí của một vật
Khi yêu cầu mạch điều khiển đòi hỏi khống chế một vật dịch chuyển và cố định ở
một mức không đổi có thể thực hiện mạch điều khiển theo sơ đồ trên hình sau
294
Khi đặt một giá trị số nhị phân vào ngõ vào DAC, điện áp ngõ ra Va tác động mạch
Op-Amps điều khiển động cơ servo M đưa vật cần điều khiển đến một vị trí đặt
trước (vị trí này được xác lập khi Va = Vp). Như vậy tuỳ vào giá trị của số nhị phân,
vật cần điều khiển sẽ dịch chuyển trong chiều dài từ 0 đến 100mm. Vì một lý do
nào đó làm cho vật cần điều khiển lệch khỏi vị trí cân bằng (Va ≠ Vp) ví dụ như
antenna bị gió thổi lệch khỏi vị trí cân bằng ... sẽ làm thay đổi điện áp Vp so với
mass (do biến trở thay đổi vị trí), điều này sẽ tác động vào Op-Amps thay đổi điện
áp trên động cơ servo M, tác động dưa vật cần điều khiển về vị trí cân bằng.
2. Mạch khởi động êm (Ramp-Start)
Trong mạch điều khiển hệ truyền động có động cơ sử dụng kỹ thuật số, người ta
thường sử dụng các bộ khởi động êm giúp hệ thống tránh được các xung đột biến
cơ học giúp động không bị xoắn gãy trục hay hư hỏng các chi tiết cơ khí cũng như
điện từ khác. Mạch này có sơ đồ khối về nguyên lý làm việc như hình sau:
295
Khi hệ nhận được tín hiệu "START" từ mạch điều khiển, mạch đếm nhận xung clock
và bắt đầu đếm lên, cùng lúc này ngõ ra Op-Amps là tín hiệu EOC (End-Of-
Conversion) đang ở mức cao. Theo nhịp đếm lên của mạch đếm, DAC chuyển đổi
các số nhị phân theo giá trị lớn dần như dạng sóng điện áp VAX trên hình vẽ. Tín
hiệu này điều khiển hệ thống khởi động êm cho đến khi VA = VAX thì tín hiệu ngõ ra
Op-Amps EOC sẽ về 0 dẫn đến kết thúc quá trình khởi động êm do cổng AND 3 ngõ
vào hoạt động như một khoá điện tử.
Rõ ràng, thay vì đột biến từ 0 đến VA, tín hiệu điện áp VAX tăng dần theo từng nấc
nhỏ. Khoảng cách giữa 2 nấc chính là độ phân giải của DAC.
3. Mạch phát xung chỉnh được tần số và sóng dạng điện áp
Nguyên lý làm việc của mạch này tương tự như mạch điều khiển đèn quảng cáo
trong chương vi mạch nhớ nhưng thay vì các ngõ ra điều khiển đèn thì ở đây các
tín hiệu này đưa vào DAC 0808. Khi thay đổi chương trình xuất ra từ vi mạch nhớ
ta sẽ thay đổi được sóng dạng điện áp phát ra vout.
296
Nếu muốn tín hiệu ngõ ra là sóng vuông, chỉ cần nạp trình vào EPROM như sau:
Như vậy chỉ cần tính toán lại các mức điện áp tương ứng với các ngõ vào tín hiệu
số lấy từ chương trình trong EPROM, ta có thể tạo ra bất kỳ sóng dạng điện áp nào
ở ngõ ra. Khi muốn thay đổi tần số của sóng dạng điện áp vout, ta chỉ việc thay đổi
tần số của mạch phát xung dùng vi mạch 555. Do đó, tần số của điện áp vout được
chỉnh trong một khoảng rộng và trơn.