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ữ... 1
Trang 1Bà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:
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
Trang 21.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ạiVậ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ạiVậ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àoHãy xét đến trạng thái trước đó:
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ữ
Trang 31.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
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
Trang 4o 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ạ
Hình 3.1.8 Chốt NAND chống dội
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
Trang 5Hì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ó
Hoạt động của mạch có thể giải thích theo bảng sự thật:
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
Trang 6Bài 2.1: Flip-flop và các vi mạch
điển hình
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)
Trang 7FF 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 :
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
Trang 8Khi 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
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
=>
Trang 9
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
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
Trang 10Hình 3.124 Kí hiệu FF SR có
thêm ngõ Pr và Cl
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
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.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
Trang 11Hì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 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ì
Trang 12tươ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
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
Trang 133.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
Như đã nói, chỉ có FF JK, FF D và chốt D là được tích hợp, FF RS bị trạng thái cấm nên được thay thế bởi FF JK, FF T được tạo ra dễ dàng khi nối chung 2 ngõ vào FF JK Nếu cần ta cũng
có thể tạo ra các loại trên từ cổng logic rời, tất nhiên các đặc tính không tốt bằng chúng khi tích hợp
Trang 14Hình 3.1.32 Kí hiệu khối và cấu tạo bên trong của 74LS76
Bảng trạng thái hoạt động của 74LS76
• Một số IC khác :
o 7473 : 2 FF JK cấu tạo chủ tớ, ck tác động cạnh lên, có ngõ xoá clear
o 74LS73 : 2 FF JK thường, ck tác động cạnh xuống, có ngõ xoá clear
o 7476 : 2FF JK cấu tạo chủ tớ, ck tác động cạnh lên, có cả preset và clear
o 74112/113/114: 2 FF JK nảy ở cạnh xuống có preset và clear
o 74276/LS276 : 4 FF JK dùng ck riêng và nảy ở cạnh xuống, chân preset và clear lại dùng chung
o 74376/LS376: 4 FF JK dùng ck chung nảy ở cạnh xuống, chỉ có clear chung
4.2 FF D
• 74LS74 là 1 IC chứa 2 FF D trong cùng 1 vỏ, nó có ngõ đồng hồ (CP) tác động cạnh lên được đưa vào tầng chốt đầu; ngõ xoá (CD) và ngõ đặt (SD) tác động cạnh xuống, được đưa vào tầng chốt sau (như hình dưới) Người đọc có thể xem thêm thông tin
ở datasheet của 74LS74
Trang 15Hình 3.1.33 Kí hiệu khối và cấu trúc mạch của 74LS74
Bảng trạng thái hoạt động của 74LS74
Một số IC khác hay dùng
o 7474 : Hai ff D có ck nảy ở cạnh lên, có cả preset và clear
o 74LS175 : 4 FF D có ck chung nảy ở cạnh lên, chỉ có clear dùng chung
o 74LS374 : 8 FF D có ck nảy ở cạnh lên, không có preset hay clear nhưng có ngõ cho phép ra chung Các ngõ ra 3 trạng thái
Hình 3.1.34 Kí hiệu khối và chân ra của chốt D 74LS375
Trang 16Hình 3.1.35 Cấu trúc của 1 mạch chốt trong IC 74LS375
• Một số IC khác hay dùng
o 7475 : 4 chốt D
o 74LS373 : 8 chốt D có ngõ cho phép ra chung, các ngõ ra là loại ra 3 trạng thái
o 74LS256 : 4 chốt D chốt địa chỉ 4 bít song song chung ngõ E và CL
o 74LS259 : 8 chốt D chốt địa chỉ 8 bit song song chung ngõ E và Cl
4.4 FF và chốt CMOS
• Để ý là tất cả các loại FF và chốt kể trên đều thuộc họ TTL và cơ bản có cấu tạo từ các cổng logic TTL đã xem xét ở phần lí thuyết trên Ngoài ra cũng có các loại FF và chốt khác cấu tạo từ cổng logic họ CMOS Chúng thường có cấu tạo chủ tớ và dùng thêm cổng truyền, do đó xung ck cũng thường tác động mức lên hay xuống (ít dùng) thay vì tác động cạnh lên hay xuống
• Cấu tạo và bảng hoạt động của 1 IC chốt CMOS 74HC533 (8 chốt trong suốt đảo ra 3 trạng thái) như hình dưới Người đọc có thể xem thêm thông tin ở phần datasheet 74HC533
Hình 3.1.36 Kí hiệu khối và chân ra của 74HC533
Trong đó :
Trang 17Hoạt động của IC được tóm tắt theo bảng sau, còn cấu trúc mạch bạn có thể xem thêm trong phân datasheet
Trong đó
0* là mức thấp trong lúc đặt trước khi LE chuyển từ cao xuống thấp
1* là mức cao trong lúc đặt trước khi LE chuyển từ cao xuống thấp
• Một số IC CMOS khác là :
o 74HC/HCT75 : 4 chốt trong suốt
o 74HC/HCT259 : chốt định địa chỉ 8 bit
o 74HC/HCT173 : 4 FF D có reset, ra 3 trạng thái ở cạnh lên
o 74HC/HCT377 : 8 FF D có chung đồng hồ và ngõ vào cho phép
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
Trang 18Ghi 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
Hình 3.2.1 Ghi dịch 4 bit cơ bản
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)
Trang 19Có 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
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
Trang 20H3.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
Trang 21Vớ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
Để dịch chuyển cả 2 chiều, có thể nối mạch như hình dưới đây :
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ỊCH
Trang 22Nhậ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ải74195/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
Trang 23Hì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
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)