บทที่ 5 วงจรซีเควนเชียล

รูปภาพที่  5.1 แผนผังบล็อกของวงจรซีเควนเชียล (ก) แบบซิงโครนัส (ข) แบบอะซิงโครนัส


        วงจรโลจิกแบบซีเควนเชียลแบ่งออกเป็น 2แบบ คือซิงโครนัสและอะซิงโคนัส โดยมีแผนผังบล็อกตามรูปที่ 5.1จะเห็นได้ว่าสัญญาณเอาท์พุทจะเกิดจากสัญญาณอินพุทจากภายนอกกับสัญญาณเอาท์พุทเดิมที่ป้อนกลับมาในกรณีของวงจรแบบซิงโครนัสจะมีสัญญาณควบคุม(สัญญาณนาฬิกา) เป็นส่วนควบคุมอุปกรณ์ความจำให้ทำไปพร้อมๆกัน ส่วนวงจรแบบอะซิงโครนัสจะไม่ต้องใช้สัญญาณนาฬิกา



   1. ฟลิปฟลอป (Flip-flop)
       อุปกรณ์ความจำหรืออุปกรณ์ที่สามารถเก็บสถานะทางโลจิกได้ เป็นอุปกรณ์พื้นฐานสำหรับวงจรซีเควนเชียล อุปกรณ์พื้นฐานตัวนี้มีสถานะเพียง 2 สถานะ
ทั่วๆไปเรียกว่า "bistable หรือ Flip Flop"

       1.1 ฟลิปฟลอปแบบ RS (RS Flip-flop)
             ฟลิบฟลอปแบบ RS เป็นฟลิปฟลอปแบบที่ง่ายที่สุด ประกอบด้วยสัญญาณอินพุท R สัญญาณอินพุท S สัญญาณเอาท์พุท Q สัญญาณอินพุท R มีหน้าที่ทำให้เอาท์พุท Q เป็น 0 และสัญญาณอินพุท S มีหน้าที่ทำให้เอาท์พุท Q เป็น 1  ลักษณะของวงจรสร้างได้จากเกต NOR หรือเกต NAND ก็ได้ดัง

รูปภาพที่ 5.2 และ 5.3

            รูปที่ 5.2 (ก) และ (ข) เป็นไดอะแกรมโลจิกหรือวงจรฟลิปฟลอปแบบ RS ที่สร้างจากเกต NOR รูป 5.2 (ค) เป็นสัญลักษณ์ของฟลิปฟลอปแบบ RS 
        การทำงานของวงจรขึ้นอยู่กับสัญาณอินพุท R และ S ถ้าสัญญาณใดสัญญาณหนึ่งเป็นโลจิก 1 สัญญาณนั้นจะเป็นตัวกำหนดค่าเอาท์พุท Q เช่นถ้า S เป็น 1และ R เป็น 0 ก็เป็นการเซ็ต ให้เอาท์พุท Q เป็น 1 แต่ถ้า S เป็น 0 แล้ว R เป็น 1 จะเป็นการรีเซ็ตเอาท์พุท Q ให้เป็น 0 แต่ถ้าเป็น 0 ทั้งคู่ สัญญาณเอาท์พุท Q จะคงเดิมไม่เปลี่ยนแปลง  สภาวะนี้ใช้เป็นสภาวะการจำข้อมูลของอุปกรณ์ใช้สภาวะนี้สำหรับให้อุปกรณ์จดจำข้อมูลเดิมส่วนสภาวะสุดท้ายที่  Rและ S เป็น 1 ทั้งคู่ เป็นสภาวะที่จะไม่นำมาใช้งานเพราะว่าการทำงานของวงจรจะไม่เหมือนกันเมื่อเปลี่ยนเกตที่นำมาสร้างฟลิปฟลอป  ดังนั้นจึงไม่สามารถจะทำนาย
การทำงานของวงจรได้  เงื่อนไขนี้เรียกว่า “Race  condition”  ไดอะแกรมเวลาและตารางการทำงานของวงจรแสดงอยู่ในรูปที่ 5.2 (ง) และ (จ) ตามลำดับ



  รูปภาพที่ 5.2  ฟลิปฟลอปแบบ RS สร้างจากเกต NOR

    สำหรับฟลิปฟลอปแบบ RS ที่สร้างจากเกต NAND ก็มีการทำงานเช่นเดียวกับฟลิปฟลอปแบบ RS ที่สร้างจากเกต NOR แต่แตกต่างกันในสภาวะเก็บข้อมูลกรณีที่ใช้เกต NAND สภาวะที่ข้อมูลไม่เปลี่ยนจะเกิดเมื่ออินพุท R และ S เป็น 1 ทั้งคู่  ส่วนสภาวะ Race จะเกิดเมื่ออินพุทเป็น 0 ทั้งคู่  ตามตารางการทำงานในรูปที่ 5.3 (จ)




  รูปภาพที่ 5.3  ฟลิปฟลอปแบบ RS สร้างจากเกต NAND


ฟลิปฟลอปแบบ RS ชนิดมีสัญญาณนาฬิกาควบคุม
      สัญญาณเอาท์พุท Q ไม่เปลี่ยนแปลงไม่ว่า CLK จะเป็น 0 หรือ 1  เพราะว่าอินพุท R และ S เป็น 0 ทั้งคู่  เมื่อถึงเวลาตำแหน่งที่ 2  S เปลี่ยนจาก 0 ไปเป็น 1 ซึ่งเป็นการทำงานเซ็ตเอาท์พุทแต่ขณะนี้ CLK ยังเป็น 0 อยู่ Q จึงยังไม่เปลี่ยนแปลง  Q จะกลายเป็น 1 เมื่อ CLK เป็น 1  ตรงเวลาตำแหน่งที่ 3 และเช่นเดียวกับเวลาที่ 1 ตรงเวลาที่ 4  R และ S เป็น 0 ทั้งคู่  ฟลิบฟลอปจึงอยู่ในสภาวะเก็บข้อมูล



  รูปภาพที่ 5.4  ฟลิปฟลอปแบบ RS ชนิดมีสัญญาณนาฬิกาควบคุม

2. ฟลิปฟลอปแบบ D (D Flip-flop)
            เพื่อแก้ปัญหาสภาวะ Race ของฟลิปฟลอปแบบ RS เมื่อปรับปรุงวงจรเป็นไปตามรูปที่ 5.5(ก) ทำให้ R และ S ไม่มีโอกาสเป็น 0 พร้อมกันสภาวะ race ก็ไม่เกิดขึ้นการทำงานของวงจร สัญญาณเอาท์พุท Q จะมีค่าเหมือนกับ D ตามตารางการทำงานในรูปที่ 5.5(ข)


       ฟลิปฟลอปแบบ D ชนิดมีสัญญาณนาฬิกาควบคุมในทำนองเดียวกับฟลิปฟลอปแบบ RS เมื่อเพิ่มสัญญาณนาฬิกาควบคุม  ทำให้เอาท์พุท Q ขึ้นอยู่กับอินพุท D แต่สัญญาณนาฬิกา CLK ต้องเป็น 1  ถ้าสัญญาณนาฬิกาเป็น 0 เอาท์พุท Q จะคงค่าเดิมไม่เปลี่ยนแปลงจากไดอะแกรมเวลาในรูปที่ 5.6 (ค)  ตำแหน่งที่ 15 และ 6 สัญญาณนาฬิกาเป็น 1 เมื่อ D เปลี่ยนแปลง Q จะเปลี่ยนตามแต่ในตำแหน่งที่ 3 และ 4 สัญญาณนาฬิกาเป็น 0 สัญญาณ D จะเปลี่ยนไปอย่างไร  Q  ยังคงค่าเดิมตลอดจากการทำงานนี้เขียนเป็นตารางการทำงานได้ตามรูปที่ 5.6 (ง) 

 
  รูปภาพที่ 5.6  ฟลิปฟลอปแบบ D ชนิดมีสัญญาณนาฬิกาควบคุม (ก) วงจร  (ข) สัญลักษณ์

    ฟลิปฟลอปแบบ D ชนิดควบคุมด้วยขอบของสัญญาณนาฬิกาถ้าต้องการให้สัญญาณนาฬิกาควบคุมการทำงานของฟลิปฟลอปแบบ D ในลักษณะที่เมื่อมีสัญญาณนาฬิกามา 1 ไซเคิลจะยอมให้เกิดการเปลี่ยนแปลงของ Q เพียง 1 ครั้ง วงจรฟลิปฟลอปตามรูปที่ 5.7(ก) ไม่สามารถทำได้ ดังจะเห็นได้จากไดอะแกรมเวลาในรูปที่ 5.7(ค) ตามตำแหน่งที่ 5 และ 6




   รูปภาพที่ 5.7 ฟลิปฟลอปแบบ D ชนิดควบคุมด้วยขอบของสัญญาณนาฬิกา (ก) วงจร  (ข) สัญลักษณ์

   การใช้วงจรตามรูปที่ 5.7 (ก) เมื่อเพิ่มวงจร RC เข้าไปในส่วนของสัญญาณนาฬิกา ด้วยคุณสมบัติของวงจร  RC ทำให้สัญญาณนาฬิกาที่มีรูปร่างเป็นพลัซ์กลายเป็นสัญญาณสไปค์ (Spike) ป้อนให้แก่อินพุทของเกต NAND ดังนั้นอินพุทของ NAND จะได้รับโลจิก 1 เพียงชั่วขณะ  ในเวลาที่ CLK เปลี่ยนจากโลจิก 0   ไปเป็น 1 เท่านั้น เพราะว่าช่วงนี้เท่านั้นที่ระดับแรงดันของสไปค์ จะสูงพอที่มีค่าเป็น 1 ส่วนช่วงอื่นระดับแรงดันมีค่าต่ำเป็นโลจิก 0   ดังนั้นในทุกๆ 1ไซเคิลของสัญญาณนาฬิกาจะมีผลทำให้  Q เปลี่ยนแปลงค่าเพียง 1 ครั้งเท่านั้น  การกระตุ้นการทำงานของฟลิปฟลอปแบบนี้เรียกว่า การกระตุ้นด้วยขอบบวก(Positive  Edge)แต่ถ้าเพิ่มเกต NOT เข้าที่ CLK ก่อนเข้าวงจร RC ก็จะเป็นการกระตุ้นด้วยขอบลบ (Negative  Edge)คือช่วงที่สัญญาณเปลี่ยนจากโลจิก 1 ไปเป็น 0  สัญลักษณ์ไดอะแกรมเวลา และตารางการทำงานแสดงอยู่ในรูปที่ 5.7  (ข),(ค) และ (ง) ตามลำดับ


ฟลิปฟลอปแบบ D ชนิดมีสัญญาณควบคุมพรีเซ็ตและเคลียร์ (Preset and Clear)

    วงจรชนิดนี้เพิ่มสัญญาณควบคุมการเซ็ตและการเคลียร์ถ้าสัญญาณ Preset เป็น 0และ Clear เป็น 1 จะท าให้ Q เป็น 1 โดยไม่สนใจว่า D กับ CLK จะเป็นอะไร  ในทำนองเดียวกันถ้า Clear เป็น 0 และ Preset เป็น 1 จะทำให้  Q เป็น 0 โดยไม่สนใจว่า D กับ CLK จะเป็นอะไรเช่นกันแต่ถ้าเป็น 1 ทั้งคู่  Q

จะขึ้นอยู่กับ D



 รูปภาพที่ 5.8  ฟลิปฟลอปแบบ D ชนิดมีสัญญาณควบคุมพรีเซ็ตและเคลียร์ (ก) วงจร (ข) ตารางการทำงานและ (ค) สัญลักษณ์


     และ CLK เหมือนกับฟลิปฟลอปแบบ D ที่ได้กล่าวมาแล้วสรุป Preset เป็นสัญญาณใช้ทำให้ Q เป็น  1 ทันที  และ Clear ก็ใช้ทำให้  Q เป็น 0 ทันที ส่วนใหญ่จะใช้สัญญาณทั้งสองนี้สำหรับการกำหนดค่าเริ่มต้นให้กับฟลิปฟลอปก่อนที่จะทำงานตามปกติและการที่สัญญาณทั้งสองทำงานเมื่อได้รับโลจิก 0 จึงกล่าวได้ว่าสัญญาณ Preset และ Clear ทั้งสองนี้แอคทีฟ 0  ดังแสดงด้วยสัญลักษณ์ในรูป 5.9 (ค)  ข้อควรระวังจะต้องไม่ให้ Preset และ Clear เป็น 0 พร้อมกันเพราะว่าไม่สามารถจะกำหนดได้ว่า Q จะเป็นอะไร 



3. ฟลิปฟลอปแบบ JK (JK Flip-flop)
       ฟลิปฟลอบแบบนี้การทำงานจะขึ้นอยู่กับเอาท์พุท Q อินพุท J K และ ขอบบวกของสัญญาณนาฬิกา CLK ถ้า CLK มีค่าเป็นโลจิก 1 หรือ 0 หรือ ขอบลบค่า Q จงคงค่าเดิมไม่ว่า J และ K จะเป็นอะไรก็ตามแต่ถ้า CLK เป็นขอบบวกการทำงานการทำงานจะขึ้นกับอินพุท J K และค่า Q เดิม  เช่นถ้า J เป็น 1 และ K เป็น 0 จะเซ็ตฟลิปฟลอปทำให้  Q เป็น 1 แต่ถ้า J เป็น 0 และ K เป็น 1 จะเป็นการรีเซ็ตฟลิปฟลอปทำให้ Q เป็น 0  แต่ถ้า J เป็น 0 และ K เป็น 0 ฟลิปฟลอปจะอยู่ในสภาวะจำค่าเดิม  Q ไม่เปลี่ยนและถ้า J เป็น 1 และ K เป็น 1 ฟลิปฟลอปจะอยู่ในสภาวะกลับตัว (Toggle)คือ Q จะเปลี่ยนเป็นค่าตรงข้ามกับค่าเดิม






 รูปภาพที่ 5.9  (ก) วงจรฟลิปฟลอปแบบ JK(ข) ไดอะแกรมเวลา (ค) สัญลักษณ์ (ง) ตารางการทำงาน


       การทำงานที่กล่าวถึงทั้งหมดนี้สามารถตรวจสอบการทำงานได้จากวงจรไดอะแกรมเวลาและตารางการทำงานในรูปภาพที่ 5.9
       อนึ่งการทำงานของฟลิปฟลอปในสภาวะกลับตัว  คือ Q เปลี่ยนเป็นจากค่าเดิมเป็นค่าตรงข้ามนี้ สามารถพิจารณาให้เป็นฟลิปฟลอปอีกแบบหนึ่งได้
เรียกว่า "ฟลิปฟลอปแบบ T  (T  Flip-flop)” ตามรูปภาพที่ 5.10 (ก) เป็นฟลิปฟลอปแบบ T ที่สร้างจาก ฟลิปฟลอปแบบ D และรูปภาพที่ 5.10 (ข) เป็นฟลิปฟลอปแบบ T ที่สร้างจากฟลิปฟลอปแบบ JK สำหรับสัญลักษณ์ของฟลิปฟลอปแบบ T อยู่ในรูปภาพที่ 5.10 (ค)
 

  รูปภาพที่ 5.10  (ก) และ (ข) วงจรฟลิปฟลอปแบบ T(ค) สัญลักษณ์

ในรูปภาพที่ 5.11 แสดงการดัดแปลงฟลิปฟลอปแบบ JK ให้มีการทำงานเหมือนกับฟลิปฟลอปแบบ D
 

 รูปภาพที่ 5.11  วงจรฟลิปฟลอปแบบ D ที่สร้างจากฟลิปฟลอปแบบ JK


ฟลิปฟลอปแบบ JK Master-Slave


 รูปภาพที่ 5.12   (ก) วงจรฟลิปฟลอปแบบ JK Master-Slave(ข) ตารางการทำงานและ (ค) สัญลักษณ์


      จากวงจรในรูปที่ 5.9 (ก) เมื่ออินพุท J และ K เป็น 1ทั้งคู่  การทำงานของวงจรอยู่ในสภาวะกลับตัว  Q จะเปลี่ยนค่าเป็นค่าตรงข้าม (คือจาก 1กลายเป็น 0 หรือจาก 0 กลายเป็น 1) ทุกครั้งที่มีสัญญาณนาฬิกา CLK มากระตุ้น ดังนั้นวงจรในรูปนี้จึงต้องใช้สัญญาณนาฬิกาที่กระตุ้นด้วยขอบไม่ว่าจะเป็นขอบบวกหรือขอบลบก็ตามเพื่อว่าใน 1 ไซเคิลของสัญญาณนาฬิกาจะเกิดการกระตุ้นเพียงครั้งเดียวแต่ถ้าเอาวงจร R C ออกเพื่อให้เป็นการกระตุ้นด้วยระดับโลจิก (1 หรือ 0  ก็ได้) การทำงานจะเกิดอาการที่เรียกว่าสัญญาณวิ่ง (Racing) คือสัญญาณจะเปลี่ยนค่าตลอดเวลาที่สัญญาณนาฬิกาเป็นระดับที่วงจรทำงานได้  

      ดังนั้นเพื่อแก้ปัญหานี้จึงเปลี่ยนแปลงวงจรฟลิปฟลอปแบบ JK เป็นฟลิปฟลอปแบบ JK ชนิด Master-Slave ดังรูปที่ 5.12 (ก)  วงจรแบบนี้การทำงานในแต่ละครั้งต้องใช้สัญญาณครบไซเคิลคือต้องมีทั้งระดับโลจิก 1 และ 0  โดยชุด master ที่มีอินพุทเป็น JK และเอาท์พุทเป็น  RS จะทำงานได้ต้องใช้การกระตุ้นด้วยระดับโลจิก 1 ของ CLK ส่วนชุด slave ที่มีอินพุทเป็น RS และเอาท์พุทเป็น Q จะทำงานได้ต้องใช้การกระตุ้นด้วยระดับโลจิก 0 ของ CLK ดังนั้นถึงแม้ว่าสัญญาณ Q ถูกป้อนกลับไปยังอินพุทด้าน JK ก็จะยังไม่เกิดการทำงานขึ้นเพราะว่าในขณะที่ชุด slave ทำงาน CLK เป็น 0  ต้องรอให้ CLK เป็น 1 ชุด master จึงจะทำงานได้ซึ่งเมื่อถึงตอนนั้นชุด slave ก็จะหยุดทำงานบ้างเมื่อเป็นเช่นนี้ก็ไม่เกิดการวิ่งของสัญญาณขึ้น
       กล่าวโดยสรุปแล้วการทำงานของฟลิปฟลอปส่วนใหญ่ถูกควบคุมด้วยสัญญาณนาฬิกาการกระตุ้นของสัญญาณนาฬิกามี 4 ชนิดคือ กระตุ้นด้วยระดับโลจิก 2 ชนิด 0 กับ 1 และกระตุ้นด้วยขอบ 2 ชนิด ขอบบวกกับขอบลบ  นอกจากนี้ยังมีสัญญาณควบคุมพรีเซ็ตกับเคลียร์เพื่อใช้กำหนดสถานะเริ่มการทำงาน  การกระตุนของสัญญาณทั้งสองนี้มี 2 ชนิดคือ โลจิก 0 และ 1  ตามตัวอย่างสัญลักษณ์ที่แสดงอยู่ในรูปที่ 5.13 นี้


                                         รูปภาพที่ 5.13  สัญลักษณ์ฟลิปฟลอปแบบต่างๆ
                                                                  (ก) สัญญาณนาฬิกากระตุ้นด้วยระดับโลจิก 1
                                                                  (ข) สัญญาณนาฬิกากระตุ้นด้วยระดับโลจิก 0
                                                                  (ค) สัญญาณนาฬิกากระตุ้นด้วยขอบบวก
                                                                  (ง) สัญญาณนาฬิกากระตุ้นด้วยขอบลบ
                                                                  (จ) สัญญาณควบคุมพรีเซ็ตและเคลียร์ทำงานด้วยโลจิก 0
                                                                  (ฉ) สัญญาณควบคุมพรีเซ็ตและเคลียร์ทำงานด้วยโลจิก 1

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

บทที่ 2 ทฤษฏีลอจิกเกต

บทที่ 3 พีชคณิตบูลีน

บทที่ 6 วงจรพัลส์เบื้องต้น