Bài giảng Thiết kế mạch logic và Analog - Đại học Công nghệ thông tin và truyền thông
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.
2 K 3 Q 4 /Q 5 C 1 J 2 K 3 Q 4 /Q 5 C 1 J 2 K 3 Q 4 /Q 5 C VCC U4 AND2 1 2 3 Q1Q0 Xung vào Q2 Sơ đồ mạch logic bộ lùi đồng bộ 3.4. Bộ đếm không đồng bộ 3.4.1. Bộ đếm tiến Bộ đếm tiến không đồng bộ là bộ đếm mà ta ghép nối tiếp các trigơ với nhau , xung cần đếm được đưa vào một cách tuần tự tại lối vào động bộ ( cửa C ) của 73 Trigơ đầu tiên, đầu ra của trigơ trước được nối với đầu vào đồng bộ C của trigơ tiếp theo cấp cao hơn ( iQ được nối với 1iC ). Hình 3.13: Sơ đồ bộ đếm tiến không đồng bộ - Xung xo¸ ph¶i xuÊt hiÖn tr-íc d·y xung ®Õm ®Ó thiÕt lËp tr¹ng th¸i ban ®Çu Q0 = Q1 = Q2 = Q3 = "0". - §Ó tr¹ng th¸i cña trig¬ bÊt kú chØ lËt khi ®Çu ra Q cña trig¬ cÊp thÊp h¬n kÒ nã chuyÓn ®æi tõ "1" vÒ "0" th× c¸c ®Çu vµo ®iÒu khiÓn cña c¸c trig¬ ph¶i cïng nhËn trÞ "1" (J=K=1). - Qua mçi trig¬ Fi thùc hiÖn chia ®«i tÇn sè cña dÉy xung vµo. - §Ó t¹o ra bé ®Õm cã dung l-îng lín ta cÇn t¨ng sè trig¬ (sè bit) khi ®ã do cã hiÖn t-îng trÔ tÝch luü gi÷a d·y xung vµo vµ d·y xung ra lµm gi¶m kh¶ n¨ng ®Õm nhanh khi sè bÝt t¨ng dÇn, ®é trÔ tÝch luü chung b»ng tæng ®é trÔ do c¸c trig¬ t¹o nªn. §©y còng chÝnh lµ nh-îc ®iÓm chÝnh cña bé ®Õm nhÞ ph©n nèi tiÕp (kh«ng ®ång bé). . 3.4.2. Thiết kế bộ đếm lùi Giản đồ xung của bộ đếm: 74 Hình 3.14: Giản đồ xung bộ đếm lùi Nguyªn lý lµm viÖc t-¬ng tù nh- bé ®Õm nhÞ ph©n thuËn, gi¸ trÞ nhÞ ph©n cña bé ®Õm gi¶m dÇn khi cã xung ®-a tíi, ë bé ®Õm nhÞ ph©n ng-îc nèi tiÕp mµ c¸c trig¬ ®-îc x©y dùng tõ c¸c phÇn tö NAND ng-êi ta thùc hiÖn nèi iQ víi Ci+1 Bảng trạng thái của bộ đếm ngược: Số xung vào Trạng thái trigơ đếm 3F 2F 1F 0F 0 0 0 0 0 1 1 1 1 1 2 1 1 1 0 3 1 1 0 1 75 4 1 1 0 0 5 1 0 1 1 6 1 0 1 0 7 1 0 0 1 8 1 0 0 0 9 0 1 1 1 10 0 1 1 0 11 0 1 0 1 12 0 1 0 0 13 0 0 1 1 14 0 0 1 0 15 0 0 0 1 16 0 0 0 0 Hình 3.15: Bảng trạng thái bộ đếm Hình 3.16: Sơ đồ mạch đếm lùi 3.5. Mạch đếm vòng 3.5.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. 76 0Q 0Q 0D 1D 2D 3D1Q 2Q 3Q 1Q 2Q 3Q SET SET SET SET CLR CLR CLR CLR CLR CLK 0C 1C 2C 3CFF0 FF1 FF2 FF3 Hình 3.23: 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. 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: 0 1 2 3 4 5 6 7 8 0Q 1Q 2Q 3Q CLK Hình 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) 77 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.5.2. Đếm Johnson (đếm vòng xoắn) 0Q 0Q 0D 1D 2D 3D1Q 2Q 3Q 1Q 2Q 3Q SET SET SET SET CLR CLR CLR CLR CLR CLK 0C 1C 2C 3CFF0 FF1 FF2 FF3 Hình 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. 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ì 78 0 1 2 3 4 5 6 7 8 0Q 1Q 2Q 3Q CLK 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 01 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Hình 3.26: Dạng sóng mạch đếm vòng xoắn 3.6. Bộ ghi dịch 3.6.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 Clock đưa đến đầu vào. 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. 3.6.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 0Q 0Q 0D 1D 2D 3D1Q 2Q 3Q 1Q 2Q 3Q SET SET SET SET CLR CLR CLR CLR CLR CLK 0C 1C 2C 3CFF0 FF1 FF2 FF3 Data input Data output 79 Hình 3.27: Ghi dịch 4 bit cơ bản 3.6.2. 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 xung clock, 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 clock thì ta lấy ra bit LSB, sau 7 xung clock ta lấy ra bit MSB. Nếu tiếp tục có xung clock 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 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.28: 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). 3.6.3. Một số bộ ghi dịch thông dụng 3.6.3.1. Bộ 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 clock nên dữ liệu được lấy ra cùng lúc. 0Q 0Q 0D 1D 2D 3D1Q 2Q 3Q 1Q 2Q 3Q SET SET SET SET CLR CLR CLR CLR CLR CLK 0C 1C 2C 3CFF0 FF1 FF2 FF3 Data input 0Q 1Q 2Q 3Q 80 Hình 3.29: 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 3.6.3.2. Bộ ghi dịch vào song song ra nối tiếp 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 F. 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. 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. 81 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: 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. 82 Hình 3.22: Sơ đồ bộ ghi dịch đầu vào nối tiếp Trigơ JK nối kiểu Trigơ D - Khi lÖnh ghi nhËn trÞ "1" th«ng tin nhÞ ph©n D0 D7 ®-îc ghi vµo c¸c trig¬ D (F0 F7), kÕt thóc lÖnh ghi (nhËn trÞ "0") th«ng tin nhÞ ph©n ®-îc l-u tr÷ trong ®ã. Khi cã lÖnh ®äc (G nhËn trÞ "1") c¸c cæng 3 tr¹ng th¸i ®-îc më, th«ng tin nhÞ ph©n ®-îc göi tíi ®Þa chØ cÇn nhËn C¸c thao t¸c ghi - ®äc ®-îc thùc hiÖn ®ång thêi víi c¶ 8 bit th«ng tin. Ngoµi ra ng-êi ta cßn kÕt hîp ph-¬ng ph¸p nèi tiÕp vµ song song trong mét bé ghi dÞch ®Ó sö dông linh ho¹t c¸c -u thÕ cña mçi c¸ch ®ång thêi t¹o kh¶ n¨ng chuyÓn tõ mét d·y th«ng tin nèi tiÕp thµnh d¹ng song song hoÆc ng-îc l¹i. H×nh 4 ®-a ra cÊu tróc mét bé ghi dÞch 4 bit kiÓu nµy, sö dông 4 trig¬ D kÕt hîp víi c¸c cæng logic phô.
File đính kèm:
- bai_giang_thiet_ke_mach_logic_va_analog_dai_hoc_cong_nghe_th.pdf