วันเสาร์ที่ 23 มกราคม พ.ศ. 2553

สัปดาห์ที่ 14 ฟลิป ฟลอป (Flip Flop)

ฟลิป ฟลอป (Flip Flop)
Flip Flop เป็น Multivibrator ชนิด Bistable คือมี Output คงที่อยู่ 2 สภาวะ สำหรับ Output ทั้ง สองเราจะตั้งเงื่อนไขว่า Output หนึ่งจะเป็น Complement ของอีก Output หนึ่ง ในกรณีใด ๆ ก็ตาม หาก Output หนึ่งไม่เป็น Complement ของอีก Output หนึ่งแล้ว เราจะไม่ยอมให้เกิดขึ้น Output ทั้งสองดังกล่าว จะยังคงอยู่ในสภาวะอันใดอันหนึ่ง จนกว่าจะมี Input pulse มากระตุ้นถึงจะทำให้มีการเปลี่ยนแปลงสภาวะไป
เราใช้ Flip Flop กันอย่างกว้างขวางในอุปกรณ์ดิจิตอล ซึ่งในที่นี้เราจะกล่าวเฉพาะ Flip Flop ที่สร้างขึ้นมา จากวงจร Gate เท่านั้น วงจร Flip Flop ที่พบในอุปกรณ์ดิจิตอลนั้นมีหลายแบบด้วยกันดังนี้
- RS Flip Flop
- D Flip Flop
- T Flip Flop
- JK Flip FlopClock pulse
Clock pulse (CK) เป็นสัญญาณ Logic ที่ทำให้ Flip Flop แต่ละตัวมีการเปลี่ยนแปลงสภาวะของ Logic ทาง Output ซึ่งมีรูปคลื่นและส่วนประกอบดังรูปที่ 1(ก)(ข)(ค)




รูปสัญญาณ Clock pulse ทางทฤษฏี(ก)
รูปสัญญาณ Clock pulse ทางปฏิบัติ(ข)



(ค)รูปที่ 1 Clock pulse


รูปที่ 1 เป็นรูปคลื่นของ Clock pulse (CK) ซึ่งเขียนให้เห็นความชันทางด้านที่คลื่นเปลี่ยนสภาวะจาก 0V เป็น +5V หรือที่เรียกว่าขอบขาขึ้น (Leading edge) กับส่วนที่เปลี่ยนจาก +5V เป็น 0V หรือที่เรียกว่าขอบขา ลง (Trailing edge) แต่ในทางเป็นจริงแล้ว ทั้งขอบขาขึ้น และขอบขาลงใช้เวลาสั้นมากเมื่อเทียบกับความกว้างของ pulse ดังนั้นเรามักเห็นเป็นเส้นตั้งฉาก RS Flip Flop
RS Flip Flop จะมี 2 Input คือ Input R และ Input S แล้วมี 2 Output สัญลักษณ์ของ RS Flip Flop แสดงไว้ตามรูปที่ 2




รูปที่ 3 โครงสร้างของ RS Flip Flop ที่สร้างจาก NOR Gate

รูปที่ 2 สัญลักษณ์ของ RS Flip Flop

รูปที่ 4 Truth table ของ RS Flip Flop


การทำงานของ RS Flip Flop
กล่าวคือในสภาวะที่สัญญาณ Clock (CK) เป็น Logic 0 Output ของ RS Flip Flop จะไม่มีการเปลี่ยนสภาวะ แต่ถ้า สัญญาณ Clock (CK) เปลี่ยนจาก Logic 0 เป็น Logic 1 Output ของ RS Flip Flop จะเปลี่ยนสภาวะตาม Truth table ของ RS Flip Flop คือ เมื่อ Input R เป็น Logic 0 และ Input S เป็น Logic 0 Output ไม่เปลี่ยนแปลง ถ้า Input R เป็น Logic 0 และ Input S เป็น Logic 1 Output จะมีค่เป็น Logic 1 ถ้า Input R เป็น Logic 1 และ Input S เป็น Logic 0 Output จะมีค่เป็น Logic 0 แต่ถ้า Input R เป็น 1 และ Input S เป็น 1 Output จะกำหนดไม่ได้
เป็นที่เข้าใจว่า Output จะมีการเปลี่ยนสภาวะตามเงื่อนไข RS Flip Flop เมื่อมีสัญญาณ Clock (CK) เป็น Logic 1 แต่เมื่อสัญญาณ Clock (CK) เป็น Logic 0 เราไม่สามารถเปลี่ยนแปลงสภาวะของ Output ได้เลย แต่ในบางครั้ง เราจำเป็นต้องให้ Output Q เป็น Logic 0 หรือ Logic 1 โดยไม่ต้องรอ สัญญาณ Clock มากระตุ้น ดังนั้นเราจึงเพิ่มขา Clear (CLR) และ Preset (PR) เข้าไป เพื่อที่สามารถกำหนดค่าของ Output Q ได้ โดยการกำหนดดังนี้ ถ้าต้องการให้ Output Q เป็น Logic 1 โดยไม่สนใจว่าสภาวะเดิมเป็นอะไร เราจะให้ขา Preset (PR) เป็น Logic 1 ในทำนองกลับกันถ้าต้องการให้ Output Q เป็น Logic 1 โดยไม่สนใจว่าสภาวะเดิมเป็นอะไร เราจะให้ขา Clear (CLR) เป็น Logic 1 D Flip Flop
D Flip Flop จะมี 1 Input คือ Input D แล้วมี 2 Output สัญลักษณ์ของ D Flip Flop แสดงไว้ตามรูปที่ 5






รูปที่ 5 สัญลักษณ์ของ D Flip Flop

รูปที่ 6 Truth table ของ D Flip Flop

การทำงานของ D Flip Flop
กล่าวคือในสภาวะที่สัญญาณ Clock (CK) เป็น Logic 0 ค่าของ D จเป็น Logic 1หรือ Logic 0 ก็ตาม Output ของ D Flip Flop จะไม่มีการเปลี่ยนสภาวะ คือจะคงสภาวะตัวเดิม แต่ถ้า สัญญาณ Clock (CK) เปลี่ยนจาก Logic 0 เป็น Logic 1 Output ของ D Flip Flop จะเปลี่ยนสภาวะตาม Truth table ของ D Flip Flop คือ เมื่อ Input D เป็น Logic 0 Output จะมีค่าเป็น Logic 0 ถ้า Input D เป็น Logic 1 Output จะมีค่าเป็น Logic 1 T Flip Flop
T Flip Flop จะมี 1 Input คือ Input Clock (CK) แล้วมี 2 Output สัญลักษณ์ของ T Flip Flop แสดงไว้ตามรูปที่ 7



รูปที่ 7 สัญลักษณ์ของ T Flip Flop





รูปที่ 8 Truth table ของ T Flip Flop


การทำงานของ T Flip Flop
ลักษณะการทำงานของ T Flip Flop คือ จะเปลี่ยนสภาวะทุกครั้งที่มี Clock pulse (CK) ป้อนเข้ามาที่ Clock Input เช่น ถ้า Flip Flop อยู่ในสภาวะ Logic 0 เมื่อมี Clock pulse ป้อนเข้ามา มันจะเปลี่ยนสภาวะเป็น Logic 1 และถ้า Clock pulse อันต่อไป ถูกป้อนเข้ามาอีก มันก็จะเปลี่ยนสภาวะจาก Logic 1 เป็น Logic 0 อีก หรืออาจกล่าวได้ว่า เมื่อมี Clock pulse เข้ามาที่ขา T จะทำให้ Output Q เปลี่ยนสภาวะเป็นสภาวะตรงกันข้าม JK Flip Flop
JK Flip Flop จะมี 2 Input คือ Input J และ Input K แล้วมี 2 Output สัญลักษณ์ของ JK Flip Flop แสดงไว้ตามรูปที่ 9






รูปที่ 9 สัญลักษณ์ของ JK Flip Flop

รูปที่ 10 Truth table ของ JK Flip Flop








การทำงานของ JK Flip Flop
ลักษณะการทำงานของ JK Flip Flop มีลักษณะการทำงานเหมือนกับ RS Flip Flop แต่มีคุณลักษณธเพิ่มเติมจาก RS Flip Flop คือสามารถกำหนดสภาวะทาง Logic ของ Output ได้ค่า Input ทั้ง J และ K อยู่ในสภาวะ Logic 1 ทั้งคู่ กล่าวคือในสภาวะที่มีสัญญาณ Clock (CK) Input J เป็น 0 และ Input K เป็น 0 Output จะไม่เปลี่ยนแปลง ถ้า Input J เป็น 0 และ Input K เป็น 1 Output จะเป็น 0 ถ้า Input J เป็น 1 และ Input K เป็น 0 Output จะเป็น 1 แต่ถ้า Input J เป็น 1 และ Input K เป็น 1 Output จะเป็นเปลี่ยนสภาวะเป็นสภาวะตรงกันข้ามของสภาวะเดิม วงจรนับ (Counter)
วงจร Binaly Ripple counter
วงจรนับเป็นการประยุกต์ใช้งานของ Flip Flop โดยถือหลักการว่า Flip Flop 1 ตัว จะเป็นการนับได้ 2 (0 ถึง 1) คือสภาวะหนึ่งอาจจะเป็น 0 เมื่อมีการ Trigger อีกครั้งจะเป็น 1 สลับกันไปเช่นนี้ นั่นคือ Flip Flop 1 ตัว สามารถนับได้ 2 เลข คือ 0 กับ 1 ดังนั้นถ้า Flip Flop 2 ตัว ต่อกัน เช่น มี T Flip Flop 2ตัว โดยที่แต่ละตัวทำงาน เมื่อมีการ Trigger ที่ขอบขาลง ดังแสดงในรูปที่ 11









รูปที่ 11 วงจรนับ 4 โดยใช้ JK Flip Flop 2ตัว

รูปที่ 12 Truth table ของการนับ 4

การทำงานของวงจรนับ 4 โดยใช้ T Flip Flop 2ตัว
จากรูปที่ 12 เป็น JK Flip Flop 2ตัว ต่อในลักษณะขา CK ของตัวหลัง ต่อกับ Q ของตัวหน้า สมมุติว่า ขณะที่ QA และ QB เป็น 0 ทั้งคู่ เมื่อ Clock pulse ที่เข้ามา Clock Input เปลี่ยนระดับจาก 0 เป็น 1 JK Flip Flop ตัวแรก (JKB) ยังไม่มีการเปลี่ยนสภาวะ เพราะเป็นการ Trigger ที่ขอบขาขึ้น จนกระทั่งเมื่อ Clock pulse เปลี่ยนระดับจาก 1 เป็น 0 QB จะเปลี่ยนสภาวะเป็นหนึ่ง ถึงแม้ JKA จะต่ออยู่กับ QB ก็ตาม แต่ Flip Flop ตัวหลังไม่ทำงานเพราะเป็นขอบขาขึ้น ซึ่งมันจะสนใจเฉพาะขอบขาลงเท่านั้น หลังจาก Clock pulse ลูกแรกผ่านไป ขณะนี้ QB เป็น 1 ในขณะที่ QA เป็น 0 คือเลข (01)2 หรือเลข (1)10 นั่นเอง ต่อมาเมื่อ Clock pulse ลูกที่สองผ่านไป QB จะเปลี่ยนจาก 1 เป็น 0 ในขณะที่ Clock pulse เปลี่ยนสภาวะที่ขอบขาลง เมื่อ QB เปลี่ยน สภาวะจาก 1 เป็น 0 QA จะเปลี่ยนสภาวะจาก 0 เป็น 1 บ้าง เพราะ JKA ได้รับการ Trigger ที่ขอบขาลงของ QB นั่นเอง ในขณะที่ QA เป็น 1 และ QB เป็น 0 คือเลข (10)2 หรือ (2)10 เมื่อ Clock pulse ลูกที่สามผ่านไป QB จะเปลี่ยนกลับเป็นสภาวะ 1 ใหม่ แต่ QA ไม่เปลี่ยนแปลงเนื่องจาก TA ได้รับการ Trigger ที่ขอบขาขึ้น ซึ่งก็คือ QA = 1 และ QB = 1 คือเลข(11)2 หรือ (3)10 จนกระทั่ง Clock pulse ลูกที่สี่ผ่านไป QB เปลี่ยนกลับมาเป็นสภาวะ 0 ใหม่ ทำให้ QA เปลี่ยนกลับมาเป็นสภาวะ 0 ด้วย การทำงานจะเห็นได้ชัดจาก ตารางการนับ ในรูปที่ 12
วงจรนับถอยหลัง
วงจรข้างต้นเป็นการนับจำนวนเลขฐานสองของ Input Clock pulse ที่เริ่มจากน้อยไปมาก จนกระทั่งนับเต็มที่ แล้วจึงกลับมาเริ่มต้นนับที่ 0 ใหม่ จงสังเกตุดูว่า ในขณะที่เราสนใจ QA และ QB อยู่นั้น A และ B ก็มีการเปลี่ยนแปลงเช่นกัน ในขณะที่ QA และ QB เป็น (00)2 หรือ (2)10 A และ ก็ต้องเป็น (11)2 หรือ (3)10 ด้วย ถ้า Input Clock pulse ผ่านไป 1 ลูก Output ก็จะเป็น (01)2 หรือ (1)10 ซึ่ง Output Complement ก็จะเป็น (10)2 หรือ (2)10 จะเป็นเช่นนี้ไปเรื่อย ๆ จนกระทั่ง Output เป็น (11)2 Output Complement ก็จะเป็น (00)2 แล้วจึงเริ่มต้นใหม่ นั่นคือ ถ้าต้องการให้เป็นวงจรนับ ถอยหลังก็นำ Output Complement A และ B มาใช้

ไม่มีความคิดเห็น:

แสดงความคิดเห็น