Counter ของ โมดูลซีเควนเชียลลอจิก

วงจรนับแบบไม่เข้าจังหวะ (Asynchronous Counter )

ใช้ J-K Flip Flop มาเรียงต่อกัน (Flip flop 1 ตัว แทนเลขฐานสองได้ 1 บิท) ขึ้นอยู่กับสถานะเอาต์พุตของ Flip flop ตัวก่อนหน้านี้ โดย Flip flop ตัวแรกจะส่งสัญญาณจาก Q ไปกระตุ้นที่ Clk ของ Flip flop ตัวที่สอง และ Flip flop และตัวที่สองจะส่งสัญญาณไปกระตุ้นที่ Clk ของ Flip flop ตัวที่สามไปเรื่อย ๆ ตามลำดับ การทำงานของวงจรมีลักษณะเป็นระลอก เรียกว่า วงจรนับแบบ Ripple Counter

วงจรนับเลขฐานสอง (Binary Counter)ตัวอย่างวงจรข้างล่างนี้เรียกว่า วงจรนับเลขฐานสองแบบไม่เข้าจังหวะ ใช้ J-K Flip flop และ Flip flop ทุกตัวต่อในอยู่ในสถานะ Toggle คือ ให้ J และ K เป็น "1" เพื่อเตรียมพร้อมที่จะให้ Flip flop เปลี่ยนสถานะเอาต์พุต เมื่อมีคล็อก (Clock) ชนิดขอบขาลง (Negative edge-triggering) เข้ามาที่ Clk ของ Flip flop แต่ละตัว ให้พิจารณาการทำงานจากตารางความจริงและไดอะแกรมของเวลาModulus Counter (MOD-Number Counter)เป็นการนับตามค่าที่กำหนด คือ สร้างวงจรนับให้สามารถกำหนดค่าที่นับได้ เช่น ให้นับตั้งแต่ 0 - 9 แล้วเวียนกลับมาเริ่มต้นที่ 0 อีก หรืออาจจะกำหนดให้นับถึงเลขใดเลขหนึ่งแล้วเวียนกลับมาเริ่มต้นใหม่ เมื่อนับถึงค่าที่กำหนดวงจรจะ Reset ตัวเองให้เริ่มต้นใหม่ โดยค่าสูงสุดที่กำหนดให้นับเรียกว่า MOD number จึงเรียกวงจรนับว่า MOD-3 คือ จงจรจะ Reset ค่าเมื่อนับถึง 3 การ Reset ค่าจะใช้ ขา CLR หรือ เป็นขา Asynchronous ร่วมกับลอจิกเกตทำการ Reset เอาต์พุตของ Flip flopวงจรนับสิบ (decade BCD Counter)เราสามารถเรียกอีกอย่างได้ว่า ดีเคดเคาน์เตอร์ (Decade counter) หรือ บีซีดีเคาน์เตอร์ (BCD counter) หรือ วงจรนับชนิดมอดสิบ (MOD-10) ซึ่งเป็นวงจรนับเลขฐานสองขนาด 4 bit จาก 0000 ถึง 1001 (0-9 เลขฐานสิบ) lสามารถออกแบบโดยใช้ลอจิกเกต ควบคุมการนับ โดยไม่ต้องใช้ขา CLR หรือ ออกแบบโดยใช้ลอจิกเกต ควบคุมการนับ โดยต้องใช้ขา CLR ก็ได้วงจรนับแบบนับขึ้น – ลง (Asynchronous Up/Down Counter)ที่ผ่านมาเป็นวงจรนับแบบนับขึ้น (Count Up) เราสามารถดัดแปลงวงจรให้นับลง (Count Down) โดยการต่อเอาต์พุต ของ Flip flop ให้แสดงงผลแทน Q หรือต่อเอาต์พุต ของ Flip flop ไปกระตุ้น Flip flop ตัวต่อไปให้เปลี่ยนสถานะ สัญญาณที่เกิดขึ้นจึงตรงกันข้าม ทำให้นับลง การออกแบบให้วงจรสามารถนับขึ้นและนับลง ทำได้โดยการสับเปลี่ยนสวิทช์วงจรไปมาระหว่าง Q และ ให้ส่งสัญญาณ Clock ไปกระตุ้น Flip flop ตัวถัดไป ถ้าต้องการนับขึ้นต้องนำสาย Enable ต่อลงกราวด์ ให้มีค่าลอจิกเป็น "0" จะได้ว่า AND เกต อยู่ในสถานะ Enable พร้อมที่จะให้สัญญาณ (Clock) จาก Q ผ่านได้ทุกขณะ ส่วนการนับลงก็ทำกลับกันโดยให้ค่าลอจิกเป็น "1"

ข้อเสียของ Asynchronous Counter คือใช้ได้ดีเฉพาะที่ความถี่ต่ำๆ เนื่องจากปัญหาความล่าช้าของสัญญาณเอาต์พุตหรือเกิดเวลาหน่วงในการส่งข้อมูลจากอินพุตไปยังเอาต์พุต ของ Flip flop แต่ละตัว ถ้าผลรวมของเวลาที่หน่วงของ Flip flop ทุกตัวค่าน้อยกว่าเวลาที่เกิดสัญญาณ Clock ในหนึ่งลูกคลื่น ก็จะไม่เกิดปัญหาในการนับ

วงจรนับแบบเข้าจังหวะ (Synchronous Counter )

การทำงานของวงจรนับที่ความถี่สูงๆ จำเป็นที่จะต้องให้ Flip flop ได้รับสัญญาณกระตุ้นพร้อมๆ กันเพื่อหลีกเลี่ยงปัญหาที่เกิดจากการหน่วงเวลาของ Flip flop เรียกวงจรนับชนิดนี้ว่า วงจรนับแบบเข้าจังหวะ (Synchronous Counter) รูปด้านล่างนี้เป็นวงจรนับแบบเข้าจังหวะ (Synchronous Counter) 4 บิท โดยใช้ J-K Flip flop ขา Clk ทุกตัวต่อรวมกัน และต่อเข้าสัญญาณ Clock

วงจรนับขึ้นลงแบบได้จังหวะ ( Synchronous up/down counter)เป็นวงจรนับเลขไบนารี่ที่สามารถนับขึ้น(Count Up) หรือนับลง(Count Down)ได้ ขา Clock ต่อเข้ากับ Clock ทุกตัวของ Flip flop นำเอาเอาต์พุต Q หรือ Q ANDกับ Up/ Down และต่อเข้าขา J และ K ของ Flip flop ตัวถัดไป การนับขึ้นหรือนับลงควบคุมได้ที่ขา Up/ Down ถ้าเป็นโลจิก“1” ให้วงจรนับทำการนับขึ้น โลจิก “0”ให้วงจรนับทำการนับลง

ข้อเสียของ synchronous Counter คือ โครงสร้างในการออกแบบทำให้การนำ JK Flip-flop มาต่อเป็นวงจรทำได้ค่อนข้างยาก เพราะ JK Flip-flopทุกตัวต้องเริ่มนับพร้อมกัน และต้องการเอาต์พุตในแต่ละขาของ JK Flip-flop ที่แต่ต่างกันไปตามรูปแบบวงจรนับที่ต้องการ ดังนั้นจึงมีการนำวงจรชนิดนี้ไปใช้งานน้อย