Counter & Shift register
counter
counter หรือ วงจรนับ เกิดจากการนำเอาฟลิปฟล็อปที่ต่อกันเป็นวงจรมานับจำนวนคล๊อก (Clock) หรือพัลซ์ (Pulse) ที่ป้อนเข้าทางอินพุต หรือบางที่อาจเรียกว่าวงจรหารความถี่ หลักการทำงาน ของวงจรส่วนใหญ่จะเป็นวงจรการนับแบบเลขฐานสอง วงจรนับสามารถแบ่งออกเป็น 2 แบบใหญ่ๆ คือ
- วงจรการนับแบบไม่เข้าจังหวะ (Asynchronous Counter หรือ Ripple Counter)
- วงจรการนับแบบเข้าจังหวะ (Synchronous Counter หรือ Parallel Counter)
วงจรการนับแบบไม่เข้าจังหวะ (Asynchronous Counter)
ในการต่อแบบAsynchronousนั้นส่วนใหญ่จะใช้ J-K Flip Flop มาต่อเรียงกัน สถานะเอาต์พุตของ ฟลิปฟลอปแต่ละตัว ขึ้นอยู่กับสถานะเอาต์พุตของฟลิปฟลอปตัวก่อนหน้า คือ ฟลิปฟลอปตัวแรกจะส่งสัญญาณ (Pulse ) จาก Q ไปกระตุ้น (Trigger) ที่ Clk ของฟลิปฟลอปตัวที่สอง และฟลิปฟลอปตัวที่สองจะส่งสัญญาณไปกระตุ้น (Trigger) ที่ Clk ของฟลิปฟลอปตัวที่สาม ไปเรื่อย ๆ ตามขั้นตอนการทำงานของวงจรแบบนี้มีลักษณะไหลเป็นระลอก จึงทำให้มีชื่ออีกอย่างหนึ่งว่า วงจรนับแบบริบเปิล (Ripple Counter)
*วงจรนับแบบไม่เข้าจังหวะ (Asynchronous Counter) ที่ได้ศึกษามาแล้วนั้นใช้ได้ดีกับความถี่ต่ำๆ เนื่องจากปัญหาความล่าช้าของสัญญาณเอาต์พุตหรือเกิดเวลาหน่วงในการส่งข้อมูลจากอินพุตไปยังเอาต์พุต ของฟลิปฟลอปแต่ละตัว
ข้อดีข้อเสียของ วงจรการนับแบบไม่เข้าจังหวะ (Asynchronous Counter)
ข้อดีสามารถที่จะสร้างขึ้นได้ง่ายและ ประหยัด
ข้อเสียความเร็วในการทำงานอยู่ในของเขตที่จำกัด เพราะว่าฟลิปฟลอปแต่ละตัวจะ รับสัญญาณกระตุ้นจากเอาท์พุตของ ฟลิปฟลอปตัวที่อยู่ก่อนหน้าทำให้เกิดการรอ สัญญาณเกิดขึ้น เนื่องจากมีช่วงการหน่วงเวลาภายในตัวไอซี เมื่อใช้งานจริงอาจทำให้ผลลัพธ์ ผิดพลาดได้
วงจรการนับแบบเข้าจังหวะ (Synchronous Counter)
การทำงานของวงจรนับที่ความถี่สูงๆ จำเป็นที่จะต้องให้ฟลิปฟลอปหลายๆตัวต่อกัน ได้รับสัญญาณกระตุ้นไปพร้อมๆ กัน เพื่อหลีกเลี่ยงปัญหาที่เกิดจากการหน่วงเวลาของฟลิปฟลอป เป็นวงจรนับที่เอาต์พุตของฟลิบฟลอป ที่เปลี่ยนแปลงพร้อมๆกันตามสัญญาณคล๊อก(Clock) วงจรนับชนิดนี้เรียกว่า วงจรนับแบบเข้าจังหวะ (Synchronous Counter)
Synchronous up Counter
A1 จะเปลี่ยนเมื่อ A0 = "1"
A2 จะเปลี่ยนเมื่อ A1,A0 = "1"
A3 จะเปลี่ยนเมื่อ A2,A1,A0 = "1"
Synchronous up Counter
การทำงาน จะคล้ายกับ Synchronous up Counter แต่การต่อวงจรจะต่างกันเล็กน้อยดังรูปด้านล่าง
A1 จะเปลี่ยนเมื่อ A0 = "1" A2 จะเปลี่ยนเมื่อ A1,A0 = "1"
A3 จะเปลี่ยนเมื่อ A2,A1,A0 = "1"
shift register
ลักษณะของการต่อวงจร shift register โดยใช้ IC 74HC166
รีจิสเตอร์เป็นวงจรที่ใช้ในการเก็บค่าทางไบนารี่ใช้ในการเก็บค่าในระหว่างการประมวลผลโดยใช้flip-flop1ตัวสำหรับการจำข้อมูล1บิต โดยค่าที่ถูกใส่เข้ามา1 บิต ก็ตะถูกเก็บไว้ที่ขา เอาท์พุต
การนำข้อมูลเข้าไปเก็บ และ การนำข้อมูลออก ของ register ทำได้โดย
–แบบอนุกรม (serial) เป็นการนำข้อมูลที่รีจิสเตอร์สามารถรองรับได้ เข้า หรือออก ครั้งละ 1 บิต
–แบบขนาน (Parallel) เป็นการนำข้อมูลทั้งหมด (ทุกบิต) ที่รีจิสเตอร์สามารถรองรับได้ เข้า หรือออก พร้อมกันครั้งเดียวทุกบิต
ชนิดของ register
เราแบ่งชนิดของรีจิสเตอร์ตามการนำข้อมูลเข้า/ออกได้เป็น
2 ชนิด
–ชิพรีจิสเตอร์ (Shift Register) หรือ
รีจิสเตอร์แบบอนุกรม
(Serial
Register)–ทรานสเฟอร์รีจิสเตอร์ (Transfer Register) หรือ รีจิสเตอร์แบบขนาน (Parallel Register)
โหมดการทำงานของ shift register
Serial in to Parallel - out (SIPO)
เป็นรีจิสเตอร์ที่มีการนำเข้าแบบอนุกรม (บิตขวาสุดก่อน) และการนำข้อมูลออกไปใช้แบบขนาน (นำออกจากเอาท์พุตของ flip-flop ทุกตัว)ในการทำงานนั้น เมื่อมีการนำอินพุตทุกบิตเข้าไป ค่าบิตที่นำเข้าไปจะปรากฎที่เอาท์พุตในทันทีทุกบิตพร้อมกัน
Parallel in to Serial - out(PISO)
รีจิสเตอร์นี้
ข้อมูลที่ป้อนที่อินพุตจะทำการใส่ทุกบิตในเวลาเดียวกันแทนการใส่ตามกันไปทีละบิต
ส่วนเอาท์พุตจะออกมาทีละบิตแบบใน
serial
out อื่น
ๆ
– ถ้าขา SHIFT/LOAD = 0 G1
ถึง
G3 จะทำงาน
ค่าอินพุตจะถูกนำเข้าไปในรีจิสเตอร์แบบขนาน– ถ้าขา SHIFT/LOAD = 1 G4 ถึง G6 จะทำงาน ค่าเอาต์พุตจะ Shift ไปทางขวาทีละบิต
ภาพตัวอย่างแสดง output
ภาพตัวอย่างแสดง output
Parallel in to Parallrl - out(PIPO)
เป็นรีจิสเตอร์ที่มีการนำเข้าแบบ Parallel และการนำข้อมูลออกไปใช้ Paralel เช่นกัน(นำออกจาก
เอาท์พุตของ flip-flop พร้อมกันทุกตัว)*แถม* Ring counter
เป็น counter ที่ใช้ flip-flop 1 ตัวสำหรับการแสดงค่าสถานะในลำดับของวงจร วงจรจะไม่ต้องมีเกตช่วยในการถอดรหัสเลยถ้าเป็น ring counter ขนาด 10 bit วงจรก็จะมีเอาท์พุตที่แทนค่าในเลขฐานสิบได้เลย
10 bit ring counter ที่มีค่า 1010000000
ตารางแสดงสถานะการทำงานเมื่อจ่าย clock
ไม่มีความคิดเห็น:
แสดงความคิดเห็น