วงจรนับเป็นวงจรลอจิกเชิงลำดับวงจรหนึ่ง ที่มีความสำคัญในระบบดิจิตอลทำงานโดยหลักการนับจำนวนพัลส์สี่เหลี่ยมที่ป้อนเข้าทางอินพุต
และแสดงผลออกเป็นเลขฐานสองหรือเลขฐาน สิบ อุปกรณ์สำคัญสำรับวงจรนับคือ ฟลิปฟลอป และอาจมีเกตบ้างสำหรับวงจรนับชนิดพิเศษเมื่อ
แบ่งวงจรนับออกตามโครงสร้างของการต่อสัญณาณอินพุตพัลส์ แบ่งได้ 2 ชนิดคือ วงจรนับแบบซิงโครนัสและวงจรนับแบบอะซิงโครนัส
วงจรนับทั้งสองชนิดสามารถออกแบบและสร้างได้โดยใช้ฟลิปฟลอปดังที่กล่าวมาแล้วข้างต้น นอกจากนี้ยังมีผู้ผลิตออกแบบวงจรนับดังกล่าวบรรจุไว้ใน
วงจรรวมชนิดทีทีแอลและซีมอสหลายแบบ เช่น วงจรนับเลขฐานสอง ขนาด 4 บิต วงจรนับ 10วงจรนับเลขฐานสองชนิดนับขึ้นลง และอื่นๆ
เป็นต้น ซึ่งวงจรดังกล่าวเป็นวงจรนับที่ใช้กันอย่างแพร่หลาย จึงควรศึกษาฟังก์ชันการทำงานให้เข้าใจ เพื่อจะนำไปใช้งานได้อย่างมีประสิทธิภาพรวม
ทั้งการออกแบบวงจรนับแบบซิงโครนัสและแบบอะซิงโครนัสด้วย เพื่อจะสามารถออกแบบวงจรนับรูปแบบต่างๆ ได้อย่างถูกต้องและสามารถประยุกต์
ใช้งานได้เป็นอย่างดี
|
17.1 การออกแบบวงจรนับแบบอะซิงโครนัส
17.1.1 วงจรนับขึ้น
คือวงจรนับที่ฟลิปฟลอปแต่ละตัวทำงานเรียงลำดับกัน กล่าวคือ ถ้าวงจรนับนั้นประกอบด้วยฟลิปฟลอป 4 ตัว ฟลิปฟลอปตัวแรกคือ
FF1 ตัวถัดไปคือ FF2 FF3 และ FF4 ตามลำดับดังแสดงในรูปที่ 17.1 (ก) ฟลิปฟลอปตัวแรกคือ FF1 จะได้รับสัญญาณนาฬิกาจากวงจร
ภายนอก ฟลิปฟลอป FF1 นี้เป็นชนิดทำงานด้วยขอบหลังของพัลส์ ดังนั้นจึงทำงานทุกๆ ขอบหลังของพัลส์นาฬิกาตามลำดับพัลส์ที่ 1
พัลส์ที่ 2 และพัลส์ที่ 3 ในทำนองเดียวกัน ฟลิปฟลอป FF2 จะได้รับสัญญาณนาฬิกาที่ออกจาก Q ของ FF1 ดังนั้นฟลิปฟลอป FF2 จึง
ทำงานทุกครั้งที่พัลส์นาฬิกาที่ออกจาก Q ของ FF1 ปรากฏขอบหลังของพัลส์ และฟลิปฟลอป FF3 จะรับสัญญาณพัลส์จาก Q ของ FF2
จึงทำงานทุกครั้งที่ Q ของ FF2 ปรากฏขอบหลังของพัลส์ และฟลิปฟลอป FF4 จะรับสัญญาณพัลส์จาก Q ของ FF3 และทำงานที่ขอบ
หลังของพัลส์ Q จาก FF3 เช่นกัน ฟลิปฟลอปทุกตัวเป็นชนิด เจ-เค ทำงานในโมดท็อกเกิล ดังนั้นต้องควบคุม ให้เจและเคของฟลิปฟลอป
ทุกตัวเป็น “1” เมื่อ สังเกตรูปคลื่นของสัญญาณนาฬิกา และรูปคลื่นพัลส์เอาต์พุต Q ของ FF1 FF2 FF3 และ FF4 ตามลำดับ จะปรากฏ
ดังรูปที่ 17.1 (ก)
|
รูปที่ 17.1 วงจรนับอะซิงโครนัสขนาด 4 บิต (นับขึ้น) และรูปคลื่นพัลส์ของสัญญาณนาฬิกาและเอาต์พุตของฟลิปฟลอปแต่ละตัว
|
วงจรนับอะซิงโครนัสที่ต่อ Q ของฟลิปฟลอปตัวหน้าให้กับอินพุต CLK ของฟลิปฟลอปตัวถัดไปตามลำดับ ดังแสดงในรูปที่ 17.1 (ก) เรียกว่าวงจร
นับขึ้น เมื่อพิจารณาคำถามที่ว่าวงจรนับขึ้นนับได้อย่างไร ให้พิจารณาที่เอาต์พุตฐานสองที่ Q ของฟลิปฟลอปแต่ละตัว ดังตัวอย่างในรูปที่ 17.1 (ข) เมื่อ
พิจารณาเอาต์พุตฐานสองที่ Q ของ FF1 FF2 FF3 และ FF4 โดยให้ฟลิปฟลอปตัวที่รับสัญญาณพัลส์นาฬิกาเป็นบิตที่มีนัยสำคัญต่ำสุด ในรูปที่ 17.1
(ก) คือ FF1 = A, FF2 = B, FF3 = C และ FF4 = D ลำดับการนับจำนวนพัลส์ที่อินพุตของ FF1 จะแสดงที่ Q ทั้ง DCBA รวมเป็นเอาต์พุตฐาน
สอง ขนาด 4 บิด เมื่อมีฟลิปฟลอปในวงจรนับ 4 ตัว จะนับเลขฐานสองได้เท่ากับ 16 (0 ถึง 15)หรือเท่ากับ เมื่อ n คือจำนวนฟลิปฟลอปในวงจร
เมื่อลำดับผลการนับเลขฐานสองของวงจรในรูปที่ 17.1 (ก) จะได้ดังตารางแสดงผลการนับในรูปที่ 17.2
|
รูปที่ 17.2 ตารางแสดงผลการนับขอวงจรนับอะซิงโครนัสนับขึ้นขนาด 4 บิต
|
ในทำนองเดียวกัน เมื่อต่อฟลิปฟลอปที่ทำงานในสถานะท็อกเกิลจำนวน 3 ตัว (3 บิต) ให้นับขึ้นดังแสดงในรูปที่ 17.3 (ก) ผลการนับของ
วงจรที่แสดงเป็นเลขฐานสองที่เอาต์พุตทั้ง 3 บิต (CBA) นั้นจะแสดงในตารางรูปที่ 17.3 (ข)
|
รูปที่ 17.3 แสดงวงจรนับอะซิงโครนัสนับขึ้น 3 บิต และตารางแสดงผลการนับของวงจร
|
รูปที่ 17.3 (ต่อ)
|
จะเห็นว่าวงจรนับอะซิงโครนัส 3 บิต นับได้ 8 ครั้ง (0 - 7) ตามลำดับ เท่ากับ ดังแสดงผลในตารางรูปที่ 17.3 (ข)
และเมื่อนับพัลส์อินพุตพัลส์ที่ 9 เอาต์พุตทั้งสามจะวนกลับไปเลข 0 อีกครั้ง และนับเลข 1 2 3 เพิ่มขึ้นตามลำดับของจำนวนพัลส์อื่นๆ ต่อไป
|
17.1.2 วงจรนับลง
วงจรนับอะซิงโครนัสสามารถนับจำนวนพัลส์ทางอินพุตในลักษณะนับลง หมายถึง วงจรนับที่แสดงผลทางเอาต์พุตฐานสอง
จากเลขลำดับสูงสุดมายังเลขต่ำสุด เช่น วงจรนับลง 3 บิต จะนับเลข ฐานสองจากเลข 7 6 5 4 3 2 10 เป็นต้น การทำให้วงจร
นับอะซิงโครนัสนับลงทำได้โดยนำสัญญาณ เอาต์พุต จากฟลิปฟลอปตัวแรกป้อนเข้าอินพุต CLK ของฟลิปฟลอปลำดับถัดไป
ดังแสดงในรูปที่ 17.4 (ก) เป็นวงจรนับอะซิงโครนัสนับลงขนาด 3 บิต จะเห็นว่าฟลิปฟลอปทั้ง 3 ตัวยังคงทำงานในสถานะ
ท็อกเกิล และตารางแสดงผลการนับของวงจรนับลงขนาด 3 บิต แสดงในรูปที่ 17.4 (ข) และรูปคลื่นพัลส์ที่เอาต์พุตของฟลิปฟลอบ
แต่ละตัวเทียบกับสัญญาณนาฬิกา แสดงในรูปที่ 17.4 (ค)
|
รูปที่ 17.4 แสดงวงจรอะซิงโครนัสนับลงขนาด 3 บิต และตารางแสดงผลการนับและรูปคลื่อนเอาต์พุตของฟลิปฟลอปแต่ละตัว
|
รูปที่ 17.4 (ต่อ)
|
เมื่อต่อฟลิปฟลอปให้เป็นวงจรนับอะซิงโครนัสขนาด 4 บิตนับลง ต้องใช้ฟลิปฟลอปจำนวนn = 4 ตัว คือ จะสามารถ
นับเลขฐานสองได้ 16 ครั้ง เริ่มต้นจากหมายเลข 15 และลดลงครั้งละ 1 ตามจำนวนพัลส์ตามลำดับดังนี้ 15 14 13 12 11 10 9 8 7 6 5 4 3
2 1 0 และจะนับวนกลับ มาตัวเลขเริ่มต้นทุกรอบการนับเมื่อพัลส์อินพุตยังปรากฏเข้าที่อินพุตของฟลิปฟลอปตัวแรกในวงจรลักษณะวงจรนับอะซิง-
โครนัส 4 บิตนับลง แสดงในรูป ที่ 17.5 (ก) และตารางแสดงผลการนับในรูปที่ 17.5 (ข)
|
รูปที่ 17.5 แสดงวงจรนับอะซิงโครนัสนับลง 4 บิต และตารางแสดงผลการนับของวงจร
|
17.1.3 การออกแบบวงจรนับแบบอะซิงโครนัส
วงจรนับอะชิงโครนัสมีชื่อเรียกอีกชื่อหนึ่งว่า วงจรนับแบบริปเปิล (Ripple Counter) ดังนั้นอาจพบวงจรนับดังกล่าวได้ในชื่อทั้งสอง
ที่ได้กล่าวมาแล้ว การออกแบบวงจรนับอะชิงโครนัสเพื่อสร้างวงจรลอจิกเกตที่จะควบคุมผลการนับ หรือจำนวนครั้งของการนับตามตัวเลขที่
กำหนด ซึ่งต้องเข้าใจเกี่ยวกับตัวเลขม็อดหรือตัวเลขมอดูลัส (Modulus Number) ตัวเลขม็อด หมายถึง จำนวนครั้งของการนับ หรือ
จำนวนสถานะของการนับ เช่น วงจรนับอะซิงโครนัสที่นับเลขขนาด 4 บิต อาจเรียกอีกชื่อหนึ่งว่าวงจรนับม็อด 16 (Mod -16 Counter)
เป็นต้น โดยทั่วไปค่าของตัวเลขมอดจะเท่ากับ เมื่อ n = จำนวนตัวของฟลิปฟลอปในวงจรนับ เช่น วงจรนับม็อด 8 (Mod - 8 Counter)
คือวงจรนับที่มีฟลิปฟลอป n = 3 ตัว เป็นต้น สำหรับวงจรนับที่มีตัวเลขม็อดน้อยกว่า 2n สามารถสร้างได้เช่นกัน โดยใช้วงจรเกตมา
ควบคุมการนับดังตัว อย่างต่อไปนี้
|
ตัวอย่างที่ 17.1 จงออกแบบเพื่อสร้างวงจรนับม็อด 6 (Mod – 6 - Counter) ให้นับเลขขึ้นตามลำดับ 0 1 2 3 4 และ 5
วิธีทำ (1) จำนวนฟลิปฟลอป = 3 ตัว เพราะ 23 = 8 จะสร้างวงจรนับม็อด 6 ต้องใช้ฟลิปฟลอป 3 ตัว
(2) การนับม็อด 6 จาก 0 ถึง 5 ต้องใช้วงจรนับอะซิงโครนัส 3 บิต แต่ใช้วงจรเกตควบ คุมผลการนับ
ให้แสดงเฉพาะเลข 0 ถึง 5 เท่านั้น โดยวงจรเกตดังกล่าวจะส่ง เอาต์พุต “L” มาควบคุมขาเคลียร์
ของฟลิปฟลอปทุกตัว เมื่อผลการนับเกินกว่า 5 ดังรูปที่ 17.6
รูปที่ 17.6 แสดงวงจรนับม็อด 6
(3) เขียนตารางความจริงเพื่อหาวงจรเกตที่ให้เอาต์พุต Y ตามเงื่อนไขที่ผู้ออกแบบต้องการ ดังนี้
ตารางความจริงวงจรม็อด 6
(4) จากตารางความจริงลดรูปสมการของวงจรเกต Y ได้ดังนี้
(5) จากสมการ วงจรเกต คือ
ในทำนองเดียวกันสามารถออกแบบวงจรนับตัวเลขม็อดใดๆ ได้โดยใช้วงจรเกตมาควบคุมตัวฟลิปฟลอป แต่ต้องพิจารณาเงื่อนไขของการ
ควบคุมให้ถูกต้อง เนื่องจากขาควบคุมที่ฟลิปฟลอป ชนิด เจ – เค นั้นมี 2 ขาคือ ขาเคลียร์และขาพรีเซต
<< Go To Top
|
17.2 การออกแบบวงจรนับแบบซิงโครนัส
วงจรนับแบบซิงโครนัส คือวงจรนับที่ต่อขาสัญณาณนาฬิกาควบคุมฟลิปฟลอปทุกตัวในวงจรให้ทำงานพร้อมกัน เเต่การควบคุมให้วงจรนับ
แสดงผลการนับเลขใดๆ นั้นขึ้นอยู่กับการออกแบบวงจรควบคุมอินพุต เจ และ เค ของฟลิปฟลอปเเต่ละตัว ดังนั้น วงจรนับแบบซิงโครนัสจึง
สามารถออกแบบให้นับขึ้นหรือนับลงได้ตามที่ผู้ออกแบบต้องการ จำนวนครั้งของการนับสำหรับวงจรนับแบบซิงโครนัสเหมือนกันกับวงจรนับแบบ
อะซิงโครนัส กล่าวคือ เท่ากับ เมื่อ n คือจำนวนฟลิปฟลอปของจำนวนนับ ตัวอย่างเช่น วงจรนับซิงโครนัสที่มีฟลิปฟลอป 3 ตัว สามารถออกแบบ
วงจรให้นับ เลขได้ระหว่าง 0 – 7 โดยกำหนดให้วงจรนับขึ้นหรือนับลงก็ได้ ลักษณะของวงจรนับซิงโครนัสขนาด 3 บิต และวงจรควบคุมอินพุต
เจ และ เค แสดงดังรูปที่ 17.7
|
รูปที่ 17.7 แสดงวงจรนับซิงโครนัสขนาด 3 บิต และวงจรเกตควบคุมอินพุต เจและเค
|
การออกแบบวงจรควบคุมอินพุต เจ และเค ของฟลิปฟลอปแต่ละตัวต้องใช้ตาราง Excitation ประกอบการออกแบบวงจรเกตดังกล่าว
ลักษณะของตาราง Excitation แสดงในรูปที่ 17.8
|
รูปที่ 17.8 แสดงตาราง Excitation
|
สำหรับลำดับขั้นและวิธีการออก แบบวงจรนับซิงโครนัสให้ศึกษาโดยละเอียดจากตัวอย่างที่ 17.2 และ 17.3 ต่อไปนี้
|
ตัวอย่างที่ 17.2 จงออกแบบวงจรนับแบบซิงโครนัส ให้นับเลขได้ตามลำดับดังนี้
วิธีทำ (1) เขียน State Transition Diagram ของลำดับขั้นการนับเลขตามโจทย์ดังต่อไปนี้
(2) ออกแบบวงจรควบคุม และ โดยลำดับผลการนับตามโจทย์กำหนด และหาสภาวะของ J
และ K จากตาราง Excitation ตามลำดับดังนี้
หาสมการ และ โดยนำค่าของ และ มาลดรูปใน KM ได้ดังนี้
(3) ออกแบบวงจรควบคุม JB และ KB ตามลำดับขั้นการนับที่โจทย์กำหนด และหา สภาวะของ J และ K จากตาราง Excitation
ตามลำดับ และหาสมการ JB และ KB โดยนำค่าของ JBและ KB มาลดรูปใน KM ได้ดังนี้
(4) ออกแบบวงจรควบคม และ ตามลำดับขั้นในข้อ (2 ) และนำค่าของ และ ที่ได้มาลดรูปสมการลงใน KM ได้ดังนี้
(5) นำผลของวงจรควบคุมอินพุด J และ K ทั้งหมดมาเขียนภาพของวงจรนับ 0 – 7 แบบซิงโครนัสได้ดังรูปที่ 17.9
รูปที่ 17.9 แสดงวงจรนับ 0 – 7 แบบซิงโครนัส
ตัวอย่างที่ 17.3 จงออกแบบวงจรนับซิงโครนัส ให้นับเลขได้ตาม State Transition Diagram ต่อไปนี้
วิธีทำ (1) จาก State Transition Diagram จะเห็นว่าโจทย์ต้องการให้วงจรซิงโครนัสนับเลขดังนี้
เลข 5 6 และ 7 ไม่ต้องการให้นับ ดังนั้นสภาวะของเลข 5 6 และ 7 ต้องให้แสดงเป็นเลขตัวเริ่มต้น ในที่นี้คือ 0 (ศูนย์)
(2) ใช้วิธีการหาวงจร และ เหมือนกับตัวอย่างที่ 17.2 และนำสมการมาลดรูปโดยใช้ตารางแผนที่
จะได้สมการของวงจรควบคุม และ ดังต่อไปนี้
(3) สเก็ตภาพวงจรนับ 0 – 4 แบบซิงโครนัสได้ดังรูปที่ 17.10
รูปที่ 17.10 แสดงวงจรนับซิงโครนัส นับ 0 – 4
<< Go To Top
|
17.3 การออกแบบวงจรนับที่เป็นวงจรรวม
วงจรรวมที่ทำหน้าที่เป็นวงจรนับมีโครงสร้างภายในหลายแบบ บางชนิดเป็นแบบซิงโครนัส และบางชนิดเป็นแบบอะซิงโครนัส บางชนิด
สามารถนับขึ้นหรือนับลงได้เพียงอย่าง เดียว บางชนิดสามารถควบคุมให้นับขึ้นและนับลงได้ อีกทั้งยังมีที่ใช้งานและคุณลักษณะเฉพาะที่แตกต่าง
กัน เช่น วงจรนับชนิดทีทีแอลเบอร์ 7493 เป็นวงจรนับขึ้นขนาด 4 บิต แบบอะซิงโครนัส หรือเบอร์ 74293เป็น วงจรอะซิงโครนัส 4 บิตเช่นกัน
แต่มีขาควบคุมมาสเตอร์รีเซต หรือวงจรรวมเบอร์ 74192 เป็น วงจรนับอะซิงโครนัสนับขึ้นลงได้ขนาด 4 บิต หรือวงจรรวมเบอร์ 7490 เป็น
วงจรนับ 10 แบบอะซิงโครนัส และวงจรรวมเบอร์ 7492 เป็นวงจรนับ 12 แบบอะซิงโครนัส สำหรับวงจรรวมซีมอสที่นิยมใช้มีหลายเบอร์
เช่น 74HC393 เป็นวงจรนับ 4 บิตแบบอะซิงโครนัส 2 ตัว หรือเบอร์ 74HC193 เป็นวงจรนับซิงโครนัสนับขึ้นลงขนาด 4 บิตที่พรีเซตได้
เป็นต้น
|
17.3.1 วงจรรวมเบอร์ 7493 วงจรนับเลขฐานสองขนาด 4 บิต (4 - bit Binary Counter)
โครงสร้างภายในของวงจรรวม เบอร์ 7493 ประกอบด้วยฟลิปฟลอปชนิด เจ- เค จำนวน 4 ตัว ต่อสัญญาณนาฬิกาเป็นวงจรนับแบบ
อะซิงโครนัส มีอินพุตสัญญาณนาฬิกา 2 อินพุต คือ อินพุตA และอินพุต B เมื่อต้องการต่อวงจรนับ 3 บิต ให้ป้อนสัญญาณนาฬิกาที่อินพุต B
(ฟลิปฟลอป A ไม่ใช้งาน) แต่ถ้าต้องการต่อวงจรนับอะซิงโครนัส 4 บิต ให้ต่อ เข้ากับอินพุต B และป้อนสัญญาณนาฬิกาเข้าที่อินพุต A
ดังรูปที่ 17.11 (ก) วงจรรวมเบอร์ 7493 สามารถควบคุมการรีเซตได้ด้วยแนนด์เกต ซึ่งมีอินพุต 2 ขาคือ และ ดังตารางควบคุม
ในรูปที่ 17.11 (ง) สำหรับการจัดวางขาของวงจรรวม เบอร์ 7493 แสดงในรูปที่ 17.11(ข) และ ตารางความจริงแสดงผลการนับแสดงในรูป
ที่ 17.11 (ค)
|
รูปที่ 17.11 แสดงวงจรรวมเบอร์ 7493
|
การต่อวงจรรวมเบอร์ 7493 ให้นับขึ้น (0 - 7) 3 บิต ต้องควบคุมขาอินพุต และ ขาใดขาหนึ่งให้เป็นลอจิก “L” ดังรูปที่ 17.12
(ก) และการต่อวงจรรวมเบอร์ 7493 ให้นับขึ้น (0 - 15) 4 บิต แสดงดังรูปที่ 17.12 (ข)
รูปที่ 16.2 การต่อวงจรรวมเบอร์ 7493 เป็นวงจรแบบอะซิงโครนัส 3 บิต และ 4 บิต
|
17.3.2 วงจรรวมเบอร์ 7492 วงจรนับ 12 (Divide-by-12 Counter)
วงจรรวมเบอร์ 7492 เป็นวงจรนับ 12 แบบอะซิงโครนัส ประกอบไปด้วยฟลิปฟลอป A เป็นวงจรนับ 2 และฟลิปฟลอป B C และ D ออกแบบ
ให้เป็นวงจรนับ 6 เมื่อต่อ เข้ากับอินพุต B จะทำงานเป็นวงจรนับ 12 โครงสร้างของวงจรรวมเบอร์ 7492 แสดงดังรูปที่ 17.13 (ข) ลักษณะ
การจัดวางขาแสดงในรูปที่ 6.13 (ก) อินพุตควบคุมการนับมี 2 อินพุตคือ และ เป็นแนนด์เกต 2 อินพุต 1 ตัว ควบคุมการนับด้วย
ตารางควบคุมในรูปที่ 17.13 (ง) ตารางแสดงผลการนับ 0-11 (นับ 12) แสดงในรูปที่ 17.13 (ค)
|
รูปที่ 17.13 แสดงวงจรรวมเบอร์ 7492
|
17.3.3 วงจรรวมเบอร์ 7490 วงจรนับ 10 (Decade Counter)
เป็นวงจรนับแบบอะซิงโครนัสที่ออกแบบให้นับเลข (0 - 9) หรือเรียกว่าวงจรนับ 10 โครง สร้างภายในแสดงดังรูปที่ 17.14 (ข)
ฟลิปฟลอบตัว A ทำหน้าที่นับ 2 และฟลิปฟลอปตัว B, C และ D ออกแบบให้เป็นวงจรนับ 5 เมื่อต่ออินพุต B เข้ากับ จะทำให้เป็น
วงจรนับสิบ โดยมีตารางควบคุมการนับดังแสดงในรูปที่ 17.14 (ง) และการจัดวางขาวงจรรวมเบอร์ 7490 แสดงในรูปที่ 17.14 (ก)
จากโครงสร้างภายในมีขาควบคุมการนับและรีเซต 4 ขา คือและ เป็นแนนด์เกต 2 อินพุต จำนวน 2 ตัว
ตารางความจริงแสดงผลการนับแสดงในรูปที่ 17.14 (ค) วงจรนับ 10 ที่ใช้วงจรรวมเบอร์ 7490 นับว่ามีประโยชน์มากเพราะสามารถ
ต่อเป็นวงจรนับ 100 (0 - 99) และวงจรนับ 1000 (0 - 999) หรือวงจรนับเลขฐานสิบอื่นๆ ได้
|
รูปที่ 17.14 แสดงวงจรรวมเบอร์ 7490
|
การต่อวงจรรวมเบอร์ 7490 ให้นับ 10 (0 - 9) แสดงในรูปที่ 17.15 (ก) และการต่อวงจรรวมเบอร์ 7490 ให้นับ 100 (0 - 99)
แสดงในรูปที่ 17.15 (ข) การต่อวงจรรวมเบอร์ 7490 ให้นับ 100 ต้องต่อ ของหลักหน่วยให้เป็นสัญญาณนาฬิกาป้อนเข้าอินพุต A ของ
หลักสิบดังรูปที่ 17.15 (ข) ในทำนองเดียวกัน การต่อ 7490 จำนวน 3 ตัว เพื่อให้นับได้ 0 – 999 ก็ต้องต่อ ของ 7490 ตัวที่ 1 (หลักหน่วย)
เข้ากับอินพุต A ของ 7490 ตัวที่ 2 (หลักสิบ) และต้องต่อ ของ 7490 ตัวที่ 2 เข้ากับอินพุต A ของ 7490 ตัวที่ 3 (หลักร้อย)
|
รูปที่ 17.15 แสดงการต่อวงจรนับ 10 (0 - 9) และวงจรนับ 100 (0 - 99) โดยใช้วงจรรวมเบอร์ 7490
|
17.3.4 วงจรรวมเบอร์ 74193 วงจรนับขึ้น/นับลง ขนาด 4 บิต (4 Bit up/down Counter)
วงจรรวมเบอร์ 74193 เป็นวงจรนับแบบอะซิงโครนัสขนาด 4 บิต สามารถควบคุมให้นับขึ้น (0 - 15) และนับลง (15 - 0) ได้ และมีอินพุต
ข้อมูลขนาด 4 บิต สามารถโหลดข้อมูลเลขฐานสองให้วงจรนับเริ่มนับตามข้อมูลดังกล่าวได้ โครงสร้างของวงจรรวมเบอร์ 74193 แสดงในรูปที่ 17.16
(ก)จะเห็นว่ามีอินพุต 6 ขา คือ เอาต์พุต Carry และเอาต์พุต Borrow และเอาต์พุต และ คือ เอาต์พุตแสดงผลการนับ และมีอินพุต 8
ขา คือ อินพุตเคลียร์ อินพุตโหลด อินพุตข้อมูล 4 บิต (A B C D) อินพุตนับขึ้น และอินพุตนับลง
หน้าที่การทำงานของแต่ละฟังก์ชัน มีรายละเอียดดังนี้
1. อินพุตเคลียร์เป็นอินพุตอะซิงโครนัส ทำงานด้วยลอจิก “H” จะเป็นผลให้เอาต์พุต Q เป็น “0”
2. อินพุตโหลดทำงานด้วยลอจิก “L” เป็นสัญญาณควบคุมการโหลดข้อมูลอินพุตที่อินพุตข้อมูล A ถึง D
3. นับขึ้นเป็นอินพุตที่ป้อนสัญญาณนาฬิกาเพื่อให้วงจรทำการนับขึ้น แต่ต้องเลือกให้นับลงเป็น “H”
4. นับลงเป็นอินพุตที่ป้อนสัญญาณนาฬิกาเพื่อให้วงจรทำการนับลง แต่ต้องเลือกให้นับขึ้นเป็น “H”
5. Carry out จะให้ลอจิก “L” เป็นพัลส์ เมื่อวงจรนับทำการนับขึ้นจนถึงเลข 15 (1111) ปกติจะเป็นลอจิก “H”
6. Borrow out จะให้ลอจิก “L” เป็นพัลส์ เมื่อวงจรนับทำการนับลงจนถึงเลข 0 (0000) ปกติจะเป็นลอจิก “H”
|
รูปที่ 17.16
|
รูปที่ 17.16 (ต่อ)
|
วงจรรวมเบอร์ 74139 สามารถต่อแบบคลาสเคดได้ เช่น ต่อร่วมกัน 3 ตัวจะเป็นวงจรนับขนาด 12 บิต (3 x 4 บิต = 12 บิต) เป็นต้น การต่อวงจร
นับ 12 บิต ด้วย 74193 จำนวน 3 ตัว ให้นับขึ้น แสดงในรูปที่ 17.17 (ก) และการต่อวงจรนับ 12 บิต ด้วย 74193 จำนวน 3 ตัว ให้นับลง แสดงใน
รูปที่ 17.17 (ข)
|
รูปที่ 17.17 การต่อวงจรนับ 12 บิต ด้วยวงจรรวมเบอร์ 74193 แบบนับขึ้นและนับลง
|
17.3.5 วงจรรวมเบอร์ 741 92 วงจรนับ 10 นับขึ้น/นับลง (Decade up/down Counter)
เป็นวงจรรวมทำหน้าที่นับ 10 แบบซิงโครนัส สามารถควบคุมการนับขึ้นและลงได้โดยเลือก ป้อนสัญญาณนาฬิกาที่ขานับขึ้นหรือนับลง
ฟังก์ชันการทำงานต่างๆ เหมือนกับวงจรรวมเบอร์74193 เพียงแต่เมื่อทำการนับขึ้น จะนับได้ตั้งแต่ 0 – 9 และ Carry out จะให้ลอจิก “L”
ออกมา เมื่อนับขึ้นครบรอบถึง 9 ในทำนองเดียวกัน และเมื่อนับลงจะนับได้ตั้งแต่ 9 - 0 เอาต์พุต Borrow out จะให้ลอจิก “L” ออกมาเมื่อนับ
ลงครบรอบถึงเลข 0 โครงสร้างภายในของวงจรรวมเบอร์ 74192 แสดงในรูปที่ 17.18 (ก) เช่นเดียวกับวงจรรวมเบอร์ 74193 สามารถต่อ
แบบคาสเคดได้ เพื่อให้วงจรนับ 10สามารถนับเลขขึ้นหรือนับลงได้หลายๆ หลัก ลักษณะการจัดวางขาวงจรรวมเบอร์ 74192 แสดงในรูปที่
17.18 (ข) และแผนภูมิเวลาแสดงการทำงานของวงจรรวมเบอร์ 74192 แสดงในรูปที่ 17.18 (ค)
|
รูปที่ 17.18 วงจรรวมเบอร์ 74192
รูปที่ 17.18 (ต่อ)
|
17.3.6 การออกแบบวงจรนับที่เป็นวงจรรวม
การออกแบบและสร้างวงจรนับจำนวน n เมื่อ สามารถทำได้โดยใช้ฟลิปฟลอปและออกแบบวงจรเกตมาควบคุมฟลิปฟลอป
ดังกล่าว แต่ถ้าต่อการนับ (n) มีค่ามากๆ การออกแบบวงจรยุ่งยากมากขึ้น เนื่องจากจำนวนตัวของฟลิปฟลอปเท่ากับค่า n จึงนิยมใช้วงจร
นับที่เป็นวงจรรวมมาใช้ในการออกแบบสำหรับวงจรนับที่ต้องการให้นับเรียงลำดับกัน เนื่องจากวงจรรวม เช่น 7490 7492 7493 หรือ
เบอร์อื่นๆ มีอินพุตเคลียร์ที่สามารถควบคุมฟลิปฟลอปในวงจรรวมให้รีเซตค่าเป็นค่าเริ่มต้นที่ศูนย์ได้ โดยผู้ออกแบบต้องมีความเข้าใจ
เงื่อนไขการรีเซตของวงจรรวมดังกล่าว โดยการศึกษาตารางควบคุมการนับและการรีเซต ดังตัวอย่างต่อไปนี้
|
ตัวอย่างที่ 17.4 จงออกแบบวงจรนับ 0 – 86 (Divide-by-87) หรือ ม็อด 87 โดยใช้วงจรรวมเบอร์ 7490 และเกตตามความจำเป็น
วิธีทำ (1) ต้องใช้วงจรนับ 10 (7490) จำนวน 2 ตัว ต่อคาสเคด ดังรูปที่ 17.19 (ก) โดยการควบคุมการรีเซต และ
ให้มีลอจิก X (ตามตารางควบคุมการนับของ 74 90)
(2) ออกแบบให้วงจรนับ 100 ในรูปที่ 17.19 (ก) รีเซตเมื่อเอาต์พุตนับได้ 87 (1000 0111) โดยเมื่อนับ 87 จะต้องมีวงจรเกต
รับผลการนับและจ่ายลอจิก “H” ให้กับขา ควบคุม และ เพราะ 7490 จะรีเซตได้เมื่อ และ = “H”
และ= = “X” ในรูปที่ 17.19 (ข) แนนด์เกตตัวที่ 1 จะถอดรหัสจากบิตต่ำสุดของ 7490 หลักหน่วย เมื่อ ,
= “H” ทำให้ เป็น “H” ทั้ง 2 ตัว และ จะได้รับ “H” มาจาก 7490 หลักสิบ เพราะ = “H” ใน
สภาวะดังกล่าว 7490 ทั้ง 2 ตัว จะรีเซต
(3) รูปคลื่นของ เทียบกับ แสดงดังรูปที่ 17.19 (ค) จะเห็นว่าผลการนับแสดง เพียง 0 -86 เท่านั้น 87 ไม่แสดงผล
เพราะถูกแอนด์เกตทั้ง 2 ตัวรีเซตไปแล้วดังวงจรรูปที่ 17.19 (ข) คือวงจรนับ 87 (0 - 86)
|
รูปที่ 17.19 แสดงวงจรนับที่ออกแบบได้จากตัวอย่างที่ 17.4
|
รูปที่ 17.19 (ต่อ)
|
ตัวอย่างที่ 17.5 จงออกแบบวงจรนับ 148 (0 - 147) นับขึ้น โดยใช้วงจรรวมเบอร์ 74193
วิธีทำ (1) ใช้หลักการนำเกตมาถอดรหัสเมื่อนับได้ 147 และนำเอาต์พุตของเกตนั้นไปเคลียร์วงจรนับ
(2) เลข 147 = 1001 0011 เป็นเลขฐานสอง ขนาด 8 บิต จึงต้องใช้วงจรรวมเบอร์ 74193 = 2 ตัว
(3) ใช้แนนด์เกต 4 อินพุต เบอร์ 7420 นำ และ ของ 74193 ตัว LSB (ตัวรับสัญ-ญาณนาฬิกา) และนำ
และ ของ 74193 ตัว MSB มาถอดรหัสและผ่านนอต เกตเบอร์ 7404 เพื่อนำลอจิก “L” ไปเคลียร์วงจรรวมเบอร์
74193 ดังรูปที่ 17.20
(4) การควบคุม 74193 แต่ละตัวใช้สัญญาณนาฬิกาป้อนที่อินพุตนับขึ้นและนับลงและโหลดเป็นลอจิก “H”
|
รูปที่ 17.20 แสดงวงจรนับ 148 (0 - 147) ที่ออกแบบได้จากตัวอย่างที่ 17.5
|
วงจรนับ วงจรหารความถี่
วงจรนับนั้นใช้หารความถี่ได้ เพราะว่าเอาต์พุตพัลส์ของวงจรนับที่ออกจากฟลิปฟลอปแต่ละตัวจะมีคาบเวลากว้างขึ้นเท่ากับ 2 เท่า เช่น วงจรนับ
ในรูปที่ 17.1 เป็นวงจรนับ 4 บิต ถ้าสัญญาณนาฬิกา (CLK) มีความถี่ 160 Hz ความถี่ของสัญญาณเอาต์พุตฟลิปฟลอป A จะเท่ากับ
และความถี่ของ เอาต์พุตฟลิปฟลอป B เท่ากับ ในทำนองเดียวกัน
และ อาจกล่าวได้ว่า วงจรนับ 16 หรือม็อด 16 (วงจรนับ 4 บิต) จะได้ความถี่เอาต์พุตที่
ฟลิปฟลอปตัวสุดท้าย เท่ากับ ในทำนองเดียวกัน วงจรนับ 32 หรือม็อด 32 เมื่อความถี่สัญญาณนาฬิกาอินพุตเท่ากับ 320 Hz
ความถี่เอาต์พุตตัวสุดท้ายของวงจรม็อด 32 คือ 10 Hz เช่นกัน
|
ตัวอย่างที่ 17.6 ต้องการสร้างสัญญาณนาฬิกาความถี่ 1 Hz จากสัญญาณนาฬิกาความถี่ 10 Hz ที่ กำเนิดจากวงจรรวม 555 โดยใช้วงจรนับตาม
ความเหมาะสม
วิธีทำ
ต้องใช้วงจรนับ 10 หรือม็อด 10
(2) ใช้วงจรรวม 7490 (Decade Counter) ดังรูปที่ 17.21
รูปที่ 17.21
|
ตัวอย่างที่ 17.7 จงใช้วงจรรวมเบอร์ 74LS90 สร้างสัญญาณพัลส์ 10 kHz จากรูปพัลส์สี่เหลี่ยมที่มีความถี่ 1 MHz
วิธีทำ
ต้องใช้วงจรนับ 100 หรือม็อด 100
(2) ใช้วงจรรวม 74LS90 คือวงจรนับ 10 เมื่อต่อร่วมกัน 2 ตัวจะทำให้นับได้ 100 เพราะว่า 10 x10 = 100
(3) วงจรนับ 100 ด้วย 74LS90 แสดงในรูปที่ 17.22
รูปที่ 17.22 วงจรนับ 100 = ม็อด 100
<< Go To Top
|
17.4 การออกแบบวงจรนับด้วย VHDL
จากวงจรนับที่ได้ศึกษามาแล้วเราสามารถที่นำมาออกแบบด้วยภาษา VHDL ดังรูปที่ 17.23
|
----------------------------------------------------
-- VHDL code for n-bit counter
--
-- this is the behavior description of n-bit counter
-- another way can be used is FSM model.
----------------------------------------------------
library ieee ;
Use ieee.std_logic_1164.all;
Use ieee.std_logic_unsigned.all;
----------------------------------------------------
Entity counter is
Generic(n: natural :=2);
Port( clock: in std_logic;
clear: in std_logic;
count: in std_logic;
Q: out std_logic_vector(n-1 downto 0)
);
End counter;
----------------------------------------------------
Architecture behv of counter is
Signal Pre_Q: std_logic_vector(n-1 downto 0);
Begin
-- behavior describe the counter
Process(clock, count, clear)
Begin
if clear = '1' then
Pre_Q <= Pre_Q - Pre_Q;
elsif (clock='1' and clock'event) then
if count = '1' then
Pre_Q <= Pre_Q + 1;
End if;
End if;
End Process;
-- concurrent assignment statement
Q <= Pre_Q;
End behv;
-----------------------------------------------------
|
รูปที่ 17.23 ตัวอย่างการออกแบบวงจรนับด้วยภาษา VHDL
|
ขอบคุณสำหรับข้อมูลที่น่าสนใจมากเลยค่ะ
ตอบลบบาคาร่า