ตัวนับวงแหวนในลอจิกดิจิตอล

ปลดล็อกตรรกะวงกลม! Ring Counters เป็นการลงทะเบียนกะอเนกประสงค์ที่หมุนเวียนข้อมูล ซึ่งเป็นพื้นฐานในการสร้างลําดับในการออกแบบดิจิทัล

ตัวนับวงแหวนในลอจิกดิจิตอล

ตัวนับวงแหวนเป็นแอปพลิเคชั่นทั่วไปของการลงทะเบียนการแปล ตัวนับวงแหวนเกือบจะเหมือนกับตัวนับการแปล ข้อแตกต่างเพียงอย่างเดียวคือเอาต์พุตของฟลิปฟล็อปตัวสุดท้ายเชื่อมต่อกับอินพุตของฟลิปฟล็อปตัวแรกในกรณีของตัวนับลูป แต่ในกรณีของการลงทะเบียนการแปลจะถือว่าเป็นเอาต์พุต ยกเว้นประเด็นนี้ปัจจัยอื่น ๆ ทั้งหมดเหมือนกัน.

เคาน์เตอร์แหวน

นี่คือเคาน์เตอร์ดิจิตอลประเภทหนึ่งที่ใช้ในวงจรไฟฟ้าซึ่งมักจะทําด้วยฟลิปฟล็อป มันทํางานโดยการเลื่อนหมายเลข 1 ผ่านชุดรองเท้าแตะทีละอันในลูป เรียกว่าตัวนับรอบเพราะหมายเลข 1 จะกลับไปที่จุดเริ่มต้นเมื่อถึงจุดสิ้นสุด ก่อตัวเป็นวัฏจักร.

จํานวนสถานะในตัวนับวงแหวน = จํานวนฟลิปฟล็อปที่ใช้

คุณสมบัติหลักของเครื่องนับแหวน

  • บิตเดียว '1': มีเพียงหนึ่งบิตในตัวนับเท่านั้นที่ตั้งค่าเป็น 1 ในเวลาใดก็ตาม.
  • พฤติกรรมแบบวงกลม: รูปแบบบิตเป็นไปตามพฤติกรรมแบบวงกลมและทําซ้ําหลังจากจํานวนขั้นตอนคงที่.
  • ไม่มีการรีเซ็ต: ตัวนับเสียงกริ่งจะไม่รีเซ็ตเป็น 0 โดยอัตโนมัติ แต่จะเริ่มต้นในสถานะที่กําหนดไว้แล้วหมุนเวียนต่อไป.

การทํางานของตัวนับวงแหวน

  • โดยทั่วไปแล้วตัวนับแหวนจะสร้างขึ้นโดยใช้รองเท้าแตะ (รองเท้าแตะ D, T หรือ JK).
  • ประกอบด้วย n ฟลิปฟล็อป โดยที่ n คือจํานวนสถานะในเคาน์เตอร์ จํานวนรองเท้าแตะเป็นตัวกําหนดจํานวนสถานะที่ไม่ซ้ํากันที่ตัวนับจะหมุนเวียนผ่าน.
  • หนึ่งบิตในตัวนับถูกตั้งค่าเป็น 1 และบิตที่เหลือจะถูกตั้งค่าเป็น 0 ในแต่ละรอบนาฬิกา 1 บิตจะเลื่อนผ่านรองเท้าแตะและรูปแบบจะทําซ้ํา.
  • เอาต์พุตของฟลิปฟล็อปตัวสุดท้ายจะถูกป้อนกลับไปยังฟลิปฟล็อปตัวแรก ก่อตัวเป็นลูป จึงเป็นที่มาของชื่อ Ring Counter.

ตัวอย่างของตัวนับวงแหวน 4 บิต

มาดู Ring Counter 4 บิตกัน:

  1. สถานะเริ่มต้น: 1000 (ฟลิปฟล็อปแรกถูกตั้งค่าเป็น 1 และฟลิปฟล็อปอื่นๆ ถูกตั้งค่าเป็น 0).
  2. รอบนาฬิกา 1 : บิต '1' จะสลับไปยังฟลิปฟล็อปถัดไป เพื่อสร้างสถานะ 0100.
  3. รอบนาฬิกา 2 : บิต '1' จะสลับไปยังฟลิปฟล็อปถัดไป 0010.
  4. รอบนาฬิกา 3 : บิต '1' จะสลับไปยังฟลิปฟล็อปถัดไป เพื่อสร้างสถานะ 0001.
  5. รอบนาฬิกา 4 : บิต '1' จะเลื่อนกลับไปที่ฟลิปฟล็อปแรกและทําซ้ํารอบ ส่งผลให้เกิดสถานะ 1000.

ลําดับสถานะ:

1000→ 0100→ 0010→ 0001→ 1000.

ดังนั้นในการออกแบบเคาน์เตอร์วงแหวน 4 บิตเราต้องมีรองเท้าแตะ 4 ชิ้นตามการออกแบบด้านล่าง:

เคาน์เตอร์แหวน

ส่วนประกอบและสัญญาณ

  • การแทนที่อินพุต (ORI)):
  • ORI ใช้เพื่อแทนที่ฟังก์ชันปกติของรองเท้าแตะ ในกรณีนี้ Preset (PR) และ Clear (CLR) จะใช้เป็น ORI.
  • ที่ตั้งไว้ล่วงหน้า (PR): เมื่อสัญญาณ PR เป็น 0 เอาต์พุตของฟลิปฟล็อป (Q) จะถูกตั้งค่าเป็น 1 นี่คือสัญญาณที่ทํางานในระดับต่ํา.
  • ล้าง (CLR): เมื่อสัญญาณ CLR เป็น 0 เอาต์พุตของฟลิปฟล็อป (Q) จะถูกตั้งค่าเป็น 0 นี่เป็นสัญญาณของกิจกรรมต่ํา.
  • ที่ตั้งไว้ล่วงหน้า (PR) = 0, Q = 1 :
  • เมื่อ PR เป็น 0 เอาต์พุตของฟลิปฟล็อปจะถูกบังคับให้เป็น 1 โดยไม่คํานึงถึงอินพุตหรือสัญญาณนาฬิกาอื่นๆ.
  • ล้าง (CLR) = 0, Q = 0:
  • เมื่อ CLR เป็น 0 เอาต์พุตของฟลิปฟล็อปจะถูกบังคับให้เขียน 0 ทับอินพุตอื่น ๆ.
  • สัญญาณที่ตั้งไว้ล่วงหน้า (PR) และชัดเจน (CLR) ใช้เพื่อควบคุมสถานะของรองเท้าแตะ.
  • อินพุต ORI ของฟลิปฟล็อปแต่ละตัวเชื่อมต่อกับพรีเซ็ต (PR) สําหรับ FF-0 (ฟลิปฟล็อปตัวแรก) และกับ Clear (CLR) สําหรับ FF-1, FF-2 และ FF-3 (ฟลิปฟล็อปอื่นๆ).
    • ที่ FF-0 เมื่อ PR=0 เอาต์พุต Q=1 จะถูกสร้างขึ้น และสิ่งนี้จะสร้างสถานะเริ่มต้นของตัวนับ.
    • ในฟลิปฟล็อปอื่นๆ (FF-1, FF-2, FF-3) CLR = 0 บังคับให้เอาต์พุต Q = 0 ที่ฟลิปฟล็อปเหล่านี้.
  • การตั้งค่านี้สร้าง Pre-set 1 ที่ FF-0 และรองเท้าแตะอื่นๆ ถือ 0 "1" ที่ FF-0 นี้จะแพร่กระจายผ่านรองเท้าแตะเป็นวงกลม เพื่อสร้างลําดับลักษณะเฉพาะของ Ring Counter.

ค่าที่ตั้งไว้ล่วงหน้า 1 ค่านี้สร้างขึ้นโดยการตั้งค่า ORI ให้ต่ําและนาฬิกาบอกเวลา (CLK) จะไม่สนใจ จากนั้น ORI จะถูกตั้งค่าเป็นสูงและสัญญาณนาฬิกาต่ําจะถูกนําไปใช้เมื่อเปิดใช้งานนาฬิกา (CLK) ที่ด้านลบ จากนั้นในแต่ละพัลส์ค่าที่ตั้งไว้ล่วงหน้า 1 จะถูกเลื่อนไปยังฟลิปฟล็อปถัดไปและสร้างลูป ด้วยวิธีนี้ จึงเป็นไปได้ที่จะออกแบบตัวนับวงแหวน 4 บิตโดยใช้ Flip-flop D สี่ตัว.

ประเภทของเคาน์เตอร์แหวน:

Ring Counter มีสองประเภท:

เคาน์เตอร์แหวนตรง

เรียกอีกอย่างว่าเคาน์เตอร์หนึ่งร้อน ในเคาน์เตอร์นี้ เอาต์พุตของฟลิปฟล็อปตัวสุดท้ายจะเชื่อมต่อกับอินพุตของฟลิปฟล็อปตัวแรก ประเด็นหลักของตัวนับนี้คือมันหมุนบิตเดียว (หรือไม่มี) รอบวงแหวน ที่นี่ เราใช้ Preset (PR) สําหรับฟลิปฟล็อปตัวแรก และ Clock (CLK) สําหรับฟลิปฟล็อปสามตัวสุดท้าย.

เคาน์เตอร์แหวนตรง

ตัวนับบิด

เรียกอีกอย่างว่าเคาน์เตอร์วงแหวนหางแบบสลับ เคาน์เตอร์วงแหวนเดินทาง หรือเคาน์เตอร์จอห์นสัน มันเชื่อมต่อออฟเซ็ตของเอาต์พุตของรีจิสเตอร์การแปลล่าสุดกับอินพุตของรีจิสเตอร์แรกและหมุนสตรีม 1 ตามด้วย 0 รอบวงแหวน ที่นี่เราใช้นาฬิกา (CLK) สําหรับรองเท้าแตะทั้งหมด ใน Twist Counter จํานวนสถานะ = 2 X จํานวนฟลิปฟล็อป.

ตัวนับบิด

ข้อดีของเคาน์เตอร์แหวน

  • ความเรียบง่าย: ออกแบบง่าย โดยเฉพาะอย่างยิ่งสําหรับการใช้งานขนาดเล็ก.
  • ใช้ทรัพยากรน้อยลง: คุณไม่จําเป็นต้องมีส่วนประกอบมากนักเมื่อเทียบกับเคาน์เตอร์อื่นๆ.
  • เอาต์พุตที่คาดการณ์ได้: จะพบชุดสถานะเดียวกันในลําดับเดียวกันเสมอ.
  • ง่ายต่อการถอดรหัส: แต่ละสถานะแยกจากกันและถอดรหัสได้ง่าย เนื่องจากใช้การเข้ารหัสแบบ one-hot โดยมีเอาต์พุตเพียงรายการเดียวในระดับสูงในแต่ละครั้ง.
  • เอาต์พุตที่ปราศจากความผิดพลาด: เนื่องจากมีฟลิปฟล็อปเพียงตัวเดียวที่ใช้งานในแต่ละครั้ง โอกาสที่เอาต์พุตจะทํางานผิดปกติจึงลดลง ทําให้มีความน่าเชื่อถือมากขึ้นในบางการใช้งาน.

ข้อเสียของเคาน์เตอร์แหวน

  • สถานะจํากัด: คุณสามารถเรียกดูหมายเลขสถานะได้โดยใช้หมายเลขฟลิปฟล็อปในเคาน์เตอร์เท่านั้น ดังนั้นสําหรับตัวนับ 4 บิต คุณสามารถมีสถานะที่ไม่ซ้ํากันได้เพียงสี่สถานะเท่านั้น.
  • ไม่เหมาะสําหรับรูปแบบที่ซับซ้อน: ไม่เหมาะหากคุณต้องการตัวนับที่นับในรูปแบบสุ่มหรือไม่ใช่ไบนารี เนื่องจากถูกจํากัดไว้ที่รูปแบบวงกลมเมื่อเปลี่ยนค่า 1 ผ่านรองเท้าแตะ.
  • คันโยกเริ่มต้น: ตัวนับรอบต้องเริ่มต้นอย่างถูกต้อง (โดยปกติจะมีฟลิปฟล็อปเพียงตัวเดียวที่ตั้งค่าเป็น 1) ก่อนเริ่มการทํางาน มิฉะนั้นอาจติดอยู่ในสถานะไม่ถูกต้อง.
  • ต้นทุนฮาร์ดแวร์ที่เพิ่มขึ้น: เมื่อคุณเพิ่มรองเท้าแตะเพื่อเพิ่มจํานวนสถานะ ฮาร์ดแวร์ที่จําเป็นก็จะเพิ่มขึ้นด้วย ซึ่งอาจทําให้การออกแบบยุ่งยากสําหรับข้อกําหนดของรัฐขนาดใหญ่.

การประยุกต์ใช้ตัวนับแหวน

ตัวนับรอบจะใช้เมื่อคุณต้องการให้ระบบผ่านชุดสถานะที่เฉพาะเจาะจงและทําซ้ํา ตัวอย่าง:

  • การสร้างสตริง: มีประโยชน์เมื่อคุณต้องการลําดับที่คาดเดาได้ เช่น ในระบบควบคุมอย่างง่ายหรือวงจรเวลา.
  • ระบบควบคุม: ตัวนับวงแหวนเหมาะอย่างยิ่งสําหรับอุปกรณ์ต่างๆ เช่น มัลติเพล็กเซอร์หรือวงจรเข้ารหัส ซึ่งลําดับการทํางานต้องเป็นไปตามรอบที่กําหนด.
  • การออกแบบที่เรียบง่าย: ตัวนับวงแหวนนั้นง่ายต่อการออกแบบและเข้าใจ เนื่องจากแต่ละรัฐมีฟลิปฟล็อปเพียงชุดเดียวเป็น 1 ทําให้การดีบักและการวิเคราะห์เป็นเรื่องง่าย.
  • Finite State Machine (FSM): ใช้ในระบบที่เคลื่อนที่ผ่านชุดของสถานะที่รู้จักในลูป เช่น ตู้จําหน่ายสินค้าอัตโนมัติหรือตัวควบคุมลิฟต์.
  • แอปพลิเคชันตามการลงทะเบียนการกระจัด: ตัวนับตักเป็นการลงทะเบียนการกระจัดประเภทพิเศษ ดังนั้นจึงใช้ในสถานที่ที่จําเป็นต้องใช้การลงทะเบียนการกระจัดเพื่อย้ายข้อมูล.

ตัวนับวงแหวนในลอจิกดิจิตอล

ปลดล็อกตรรกะวงกลม! Ring Counters เป็นการลงทะเบียนกะอเนกประสงค์ที่หมุนเวียนข้อมูล ซึ่งเป็นพื้นฐานในการสร้างลําดับในการออกแบบดิจิทัล

นักเขียนบทความ
by 
นักเขียนบทความ
ตัวนับวงแหวนในลอจิกดิจิตอล

ตัวนับวงแหวนในลอจิกดิจิตอล

ปลดล็อกตรรกะวงกลม! Ring Counters เป็นการลงทะเบียนกะอเนกประสงค์ที่หมุนเวียนข้อมูล ซึ่งเป็นพื้นฐานในการสร้างลําดับในการออกแบบดิจิทัล

ตัวนับวงแหวนเป็นแอปพลิเคชั่นทั่วไปของการลงทะเบียนการแปล ตัวนับวงแหวนเกือบจะเหมือนกับตัวนับการแปล ข้อแตกต่างเพียงอย่างเดียวคือเอาต์พุตของฟลิปฟล็อปตัวสุดท้ายเชื่อมต่อกับอินพุตของฟลิปฟล็อปตัวแรกในกรณีของตัวนับลูป แต่ในกรณีของการลงทะเบียนการแปลจะถือว่าเป็นเอาต์พุต ยกเว้นประเด็นนี้ปัจจัยอื่น ๆ ทั้งหมดเหมือนกัน.

เคาน์เตอร์แหวน

นี่คือเคาน์เตอร์ดิจิตอลประเภทหนึ่งที่ใช้ในวงจรไฟฟ้าซึ่งมักจะทําด้วยฟลิปฟล็อป มันทํางานโดยการเลื่อนหมายเลข 1 ผ่านชุดรองเท้าแตะทีละอันในลูป เรียกว่าตัวนับรอบเพราะหมายเลข 1 จะกลับไปที่จุดเริ่มต้นเมื่อถึงจุดสิ้นสุด ก่อตัวเป็นวัฏจักร.

จํานวนสถานะในตัวนับวงแหวน = จํานวนฟลิปฟล็อปที่ใช้

คุณสมบัติหลักของเครื่องนับแหวน

  • บิตเดียว '1': มีเพียงหนึ่งบิตในตัวนับเท่านั้นที่ตั้งค่าเป็น 1 ในเวลาใดก็ตาม.
  • พฤติกรรมแบบวงกลม: รูปแบบบิตเป็นไปตามพฤติกรรมแบบวงกลมและทําซ้ําหลังจากจํานวนขั้นตอนคงที่.
  • ไม่มีการรีเซ็ต: ตัวนับเสียงกริ่งจะไม่รีเซ็ตเป็น 0 โดยอัตโนมัติ แต่จะเริ่มต้นในสถานะที่กําหนดไว้แล้วหมุนเวียนต่อไป.

การทํางานของตัวนับวงแหวน

  • โดยทั่วไปแล้วตัวนับแหวนจะสร้างขึ้นโดยใช้รองเท้าแตะ (รองเท้าแตะ D, T หรือ JK).
  • ประกอบด้วย n ฟลิปฟล็อป โดยที่ n คือจํานวนสถานะในเคาน์เตอร์ จํานวนรองเท้าแตะเป็นตัวกําหนดจํานวนสถานะที่ไม่ซ้ํากันที่ตัวนับจะหมุนเวียนผ่าน.
  • หนึ่งบิตในตัวนับถูกตั้งค่าเป็น 1 และบิตที่เหลือจะถูกตั้งค่าเป็น 0 ในแต่ละรอบนาฬิกา 1 บิตจะเลื่อนผ่านรองเท้าแตะและรูปแบบจะทําซ้ํา.
  • เอาต์พุตของฟลิปฟล็อปตัวสุดท้ายจะถูกป้อนกลับไปยังฟลิปฟล็อปตัวแรก ก่อตัวเป็นลูป จึงเป็นที่มาของชื่อ Ring Counter.

ตัวอย่างของตัวนับวงแหวน 4 บิต

มาดู Ring Counter 4 บิตกัน:

  1. สถานะเริ่มต้น: 1000 (ฟลิปฟล็อปแรกถูกตั้งค่าเป็น 1 และฟลิปฟล็อปอื่นๆ ถูกตั้งค่าเป็น 0).
  2. รอบนาฬิกา 1 : บิต '1' จะสลับไปยังฟลิปฟล็อปถัดไป เพื่อสร้างสถานะ 0100.
  3. รอบนาฬิกา 2 : บิต '1' จะสลับไปยังฟลิปฟล็อปถัดไป 0010.
  4. รอบนาฬิกา 3 : บิต '1' จะสลับไปยังฟลิปฟล็อปถัดไป เพื่อสร้างสถานะ 0001.
  5. รอบนาฬิกา 4 : บิต '1' จะเลื่อนกลับไปที่ฟลิปฟล็อปแรกและทําซ้ํารอบ ส่งผลให้เกิดสถานะ 1000.

ลําดับสถานะ:

1000→ 0100→ 0010→ 0001→ 1000.

ดังนั้นในการออกแบบเคาน์เตอร์วงแหวน 4 บิตเราต้องมีรองเท้าแตะ 4 ชิ้นตามการออกแบบด้านล่าง:

เคาน์เตอร์แหวน

ส่วนประกอบและสัญญาณ

  • การแทนที่อินพุต (ORI)):
  • ORI ใช้เพื่อแทนที่ฟังก์ชันปกติของรองเท้าแตะ ในกรณีนี้ Preset (PR) และ Clear (CLR) จะใช้เป็น ORI.
  • ที่ตั้งไว้ล่วงหน้า (PR): เมื่อสัญญาณ PR เป็น 0 เอาต์พุตของฟลิปฟล็อป (Q) จะถูกตั้งค่าเป็น 1 นี่คือสัญญาณที่ทํางานในระดับต่ํา.
  • ล้าง (CLR): เมื่อสัญญาณ CLR เป็น 0 เอาต์พุตของฟลิปฟล็อป (Q) จะถูกตั้งค่าเป็น 0 นี่เป็นสัญญาณของกิจกรรมต่ํา.
  • ที่ตั้งไว้ล่วงหน้า (PR) = 0, Q = 1 :
  • เมื่อ PR เป็น 0 เอาต์พุตของฟลิปฟล็อปจะถูกบังคับให้เป็น 1 โดยไม่คํานึงถึงอินพุตหรือสัญญาณนาฬิกาอื่นๆ.
  • ล้าง (CLR) = 0, Q = 0:
  • เมื่อ CLR เป็น 0 เอาต์พุตของฟลิปฟล็อปจะถูกบังคับให้เขียน 0 ทับอินพุตอื่น ๆ.
  • สัญญาณที่ตั้งไว้ล่วงหน้า (PR) และชัดเจน (CLR) ใช้เพื่อควบคุมสถานะของรองเท้าแตะ.
  • อินพุต ORI ของฟลิปฟล็อปแต่ละตัวเชื่อมต่อกับพรีเซ็ต (PR) สําหรับ FF-0 (ฟลิปฟล็อปตัวแรก) และกับ Clear (CLR) สําหรับ FF-1, FF-2 และ FF-3 (ฟลิปฟล็อปอื่นๆ).
    • ที่ FF-0 เมื่อ PR=0 เอาต์พุต Q=1 จะถูกสร้างขึ้น และสิ่งนี้จะสร้างสถานะเริ่มต้นของตัวนับ.
    • ในฟลิปฟล็อปอื่นๆ (FF-1, FF-2, FF-3) CLR = 0 บังคับให้เอาต์พุต Q = 0 ที่ฟลิปฟล็อปเหล่านี้.
  • การตั้งค่านี้สร้าง Pre-set 1 ที่ FF-0 และรองเท้าแตะอื่นๆ ถือ 0 "1" ที่ FF-0 นี้จะแพร่กระจายผ่านรองเท้าแตะเป็นวงกลม เพื่อสร้างลําดับลักษณะเฉพาะของ Ring Counter.

ค่าที่ตั้งไว้ล่วงหน้า 1 ค่านี้สร้างขึ้นโดยการตั้งค่า ORI ให้ต่ําและนาฬิกาบอกเวลา (CLK) จะไม่สนใจ จากนั้น ORI จะถูกตั้งค่าเป็นสูงและสัญญาณนาฬิกาต่ําจะถูกนําไปใช้เมื่อเปิดใช้งานนาฬิกา (CLK) ที่ด้านลบ จากนั้นในแต่ละพัลส์ค่าที่ตั้งไว้ล่วงหน้า 1 จะถูกเลื่อนไปยังฟลิปฟล็อปถัดไปและสร้างลูป ด้วยวิธีนี้ จึงเป็นไปได้ที่จะออกแบบตัวนับวงแหวน 4 บิตโดยใช้ Flip-flop D สี่ตัว.

ประเภทของเคาน์เตอร์แหวน:

Ring Counter มีสองประเภท:

เคาน์เตอร์แหวนตรง

เรียกอีกอย่างว่าเคาน์เตอร์หนึ่งร้อน ในเคาน์เตอร์นี้ เอาต์พุตของฟลิปฟล็อปตัวสุดท้ายจะเชื่อมต่อกับอินพุตของฟลิปฟล็อปตัวแรก ประเด็นหลักของตัวนับนี้คือมันหมุนบิตเดียว (หรือไม่มี) รอบวงแหวน ที่นี่ เราใช้ Preset (PR) สําหรับฟลิปฟล็อปตัวแรก และ Clock (CLK) สําหรับฟลิปฟล็อปสามตัวสุดท้าย.

เคาน์เตอร์แหวนตรง

ตัวนับบิด

เรียกอีกอย่างว่าเคาน์เตอร์วงแหวนหางแบบสลับ เคาน์เตอร์วงแหวนเดินทาง หรือเคาน์เตอร์จอห์นสัน มันเชื่อมต่อออฟเซ็ตของเอาต์พุตของรีจิสเตอร์การแปลล่าสุดกับอินพุตของรีจิสเตอร์แรกและหมุนสตรีม 1 ตามด้วย 0 รอบวงแหวน ที่นี่เราใช้นาฬิกา (CLK) สําหรับรองเท้าแตะทั้งหมด ใน Twist Counter จํานวนสถานะ = 2 X จํานวนฟลิปฟล็อป.

ตัวนับบิด

ข้อดีของเคาน์เตอร์แหวน

  • ความเรียบง่าย: ออกแบบง่าย โดยเฉพาะอย่างยิ่งสําหรับการใช้งานขนาดเล็ก.
  • ใช้ทรัพยากรน้อยลง: คุณไม่จําเป็นต้องมีส่วนประกอบมากนักเมื่อเทียบกับเคาน์เตอร์อื่นๆ.
  • เอาต์พุตที่คาดการณ์ได้: จะพบชุดสถานะเดียวกันในลําดับเดียวกันเสมอ.
  • ง่ายต่อการถอดรหัส: แต่ละสถานะแยกจากกันและถอดรหัสได้ง่าย เนื่องจากใช้การเข้ารหัสแบบ one-hot โดยมีเอาต์พุตเพียงรายการเดียวในระดับสูงในแต่ละครั้ง.
  • เอาต์พุตที่ปราศจากความผิดพลาด: เนื่องจากมีฟลิปฟล็อปเพียงตัวเดียวที่ใช้งานในแต่ละครั้ง โอกาสที่เอาต์พุตจะทํางานผิดปกติจึงลดลง ทําให้มีความน่าเชื่อถือมากขึ้นในบางการใช้งาน.

ข้อเสียของเคาน์เตอร์แหวน

  • สถานะจํากัด: คุณสามารถเรียกดูหมายเลขสถานะได้โดยใช้หมายเลขฟลิปฟล็อปในเคาน์เตอร์เท่านั้น ดังนั้นสําหรับตัวนับ 4 บิต คุณสามารถมีสถานะที่ไม่ซ้ํากันได้เพียงสี่สถานะเท่านั้น.
  • ไม่เหมาะสําหรับรูปแบบที่ซับซ้อน: ไม่เหมาะหากคุณต้องการตัวนับที่นับในรูปแบบสุ่มหรือไม่ใช่ไบนารี เนื่องจากถูกจํากัดไว้ที่รูปแบบวงกลมเมื่อเปลี่ยนค่า 1 ผ่านรองเท้าแตะ.
  • คันโยกเริ่มต้น: ตัวนับรอบต้องเริ่มต้นอย่างถูกต้อง (โดยปกติจะมีฟลิปฟล็อปเพียงตัวเดียวที่ตั้งค่าเป็น 1) ก่อนเริ่มการทํางาน มิฉะนั้นอาจติดอยู่ในสถานะไม่ถูกต้อง.
  • ต้นทุนฮาร์ดแวร์ที่เพิ่มขึ้น: เมื่อคุณเพิ่มรองเท้าแตะเพื่อเพิ่มจํานวนสถานะ ฮาร์ดแวร์ที่จําเป็นก็จะเพิ่มขึ้นด้วย ซึ่งอาจทําให้การออกแบบยุ่งยากสําหรับข้อกําหนดของรัฐขนาดใหญ่.

การประยุกต์ใช้ตัวนับแหวน

ตัวนับรอบจะใช้เมื่อคุณต้องการให้ระบบผ่านชุดสถานะที่เฉพาะเจาะจงและทําซ้ํา ตัวอย่าง:

  • การสร้างสตริง: มีประโยชน์เมื่อคุณต้องการลําดับที่คาดเดาได้ เช่น ในระบบควบคุมอย่างง่ายหรือวงจรเวลา.
  • ระบบควบคุม: ตัวนับวงแหวนเหมาะอย่างยิ่งสําหรับอุปกรณ์ต่างๆ เช่น มัลติเพล็กเซอร์หรือวงจรเข้ารหัส ซึ่งลําดับการทํางานต้องเป็นไปตามรอบที่กําหนด.
  • การออกแบบที่เรียบง่าย: ตัวนับวงแหวนนั้นง่ายต่อการออกแบบและเข้าใจ เนื่องจากแต่ละรัฐมีฟลิปฟล็อปเพียงชุดเดียวเป็น 1 ทําให้การดีบักและการวิเคราะห์เป็นเรื่องง่าย.
  • Finite State Machine (FSM): ใช้ในระบบที่เคลื่อนที่ผ่านชุดของสถานะที่รู้จักในลูป เช่น ตู้จําหน่ายสินค้าอัตโนมัติหรือตัวควบคุมลิฟต์.
  • แอปพลิเคชันตามการลงทะเบียนการกระจัด: ตัวนับตักเป็นการลงทะเบียนการกระจัดประเภทพิเศษ ดังนั้นจึงใช้ในสถานที่ที่จําเป็นต้องใช้การลงทะเบียนการกระจัดเพื่อย้ายข้อมูล.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

ตัวนับวงแหวนในลอจิกดิจิตอล

ตัวนับวงแหวนในลอจิกดิจิตอล

ปลดล็อกตรรกะวงกลม! Ring Counters เป็นการลงทะเบียนกะอเนกประสงค์ที่หมุนเวียนข้อมูล ซึ่งเป็นพื้นฐานในการสร้างลําดับในการออกแบบดิจิทัล

Lorem ipsum dolor amet consectetur adipiscing elit tortor massa arcu non.

ตัวนับวงแหวนเป็นแอปพลิเคชั่นทั่วไปของการลงทะเบียนการแปล ตัวนับวงแหวนเกือบจะเหมือนกับตัวนับการแปล ข้อแตกต่างเพียงอย่างเดียวคือเอาต์พุตของฟลิปฟล็อปตัวสุดท้ายเชื่อมต่อกับอินพุตของฟลิปฟล็อปตัวแรกในกรณีของตัวนับลูป แต่ในกรณีของการลงทะเบียนการแปลจะถือว่าเป็นเอาต์พุต ยกเว้นประเด็นนี้ปัจจัยอื่น ๆ ทั้งหมดเหมือนกัน.

เคาน์เตอร์แหวน

นี่คือเคาน์เตอร์ดิจิตอลประเภทหนึ่งที่ใช้ในวงจรไฟฟ้าซึ่งมักจะทําด้วยฟลิปฟล็อป มันทํางานโดยการเลื่อนหมายเลข 1 ผ่านชุดรองเท้าแตะทีละอันในลูป เรียกว่าตัวนับรอบเพราะหมายเลข 1 จะกลับไปที่จุดเริ่มต้นเมื่อถึงจุดสิ้นสุด ก่อตัวเป็นวัฏจักร.

จํานวนสถานะในตัวนับวงแหวน = จํานวนฟลิปฟล็อปที่ใช้

คุณสมบัติหลักของเครื่องนับแหวน

  • บิตเดียว '1': มีเพียงหนึ่งบิตในตัวนับเท่านั้นที่ตั้งค่าเป็น 1 ในเวลาใดก็ตาม.
  • พฤติกรรมแบบวงกลม: รูปแบบบิตเป็นไปตามพฤติกรรมแบบวงกลมและทําซ้ําหลังจากจํานวนขั้นตอนคงที่.
  • ไม่มีการรีเซ็ต: ตัวนับเสียงกริ่งจะไม่รีเซ็ตเป็น 0 โดยอัตโนมัติ แต่จะเริ่มต้นในสถานะที่กําหนดไว้แล้วหมุนเวียนต่อไป.

การทํางานของตัวนับวงแหวน

  • โดยทั่วไปแล้วตัวนับแหวนจะสร้างขึ้นโดยใช้รองเท้าแตะ (รองเท้าแตะ D, T หรือ JK).
  • ประกอบด้วย n ฟลิปฟล็อป โดยที่ n คือจํานวนสถานะในเคาน์เตอร์ จํานวนรองเท้าแตะเป็นตัวกําหนดจํานวนสถานะที่ไม่ซ้ํากันที่ตัวนับจะหมุนเวียนผ่าน.
  • หนึ่งบิตในตัวนับถูกตั้งค่าเป็น 1 และบิตที่เหลือจะถูกตั้งค่าเป็น 0 ในแต่ละรอบนาฬิกา 1 บิตจะเลื่อนผ่านรองเท้าแตะและรูปแบบจะทําซ้ํา.
  • เอาต์พุตของฟลิปฟล็อปตัวสุดท้ายจะถูกป้อนกลับไปยังฟลิปฟล็อปตัวแรก ก่อตัวเป็นลูป จึงเป็นที่มาของชื่อ Ring Counter.

ตัวอย่างของตัวนับวงแหวน 4 บิต

มาดู Ring Counter 4 บิตกัน:

  1. สถานะเริ่มต้น: 1000 (ฟลิปฟล็อปแรกถูกตั้งค่าเป็น 1 และฟลิปฟล็อปอื่นๆ ถูกตั้งค่าเป็น 0).
  2. รอบนาฬิกา 1 : บิต '1' จะสลับไปยังฟลิปฟล็อปถัดไป เพื่อสร้างสถานะ 0100.
  3. รอบนาฬิกา 2 : บิต '1' จะสลับไปยังฟลิปฟล็อปถัดไป 0010.
  4. รอบนาฬิกา 3 : บิต '1' จะสลับไปยังฟลิปฟล็อปถัดไป เพื่อสร้างสถานะ 0001.
  5. รอบนาฬิกา 4 : บิต '1' จะเลื่อนกลับไปที่ฟลิปฟล็อปแรกและทําซ้ํารอบ ส่งผลให้เกิดสถานะ 1000.

ลําดับสถานะ:

1000→ 0100→ 0010→ 0001→ 1000.

ดังนั้นในการออกแบบเคาน์เตอร์วงแหวน 4 บิตเราต้องมีรองเท้าแตะ 4 ชิ้นตามการออกแบบด้านล่าง:

เคาน์เตอร์แหวน

ส่วนประกอบและสัญญาณ

  • การแทนที่อินพุต (ORI)):
  • ORI ใช้เพื่อแทนที่ฟังก์ชันปกติของรองเท้าแตะ ในกรณีนี้ Preset (PR) และ Clear (CLR) จะใช้เป็น ORI.
  • ที่ตั้งไว้ล่วงหน้า (PR): เมื่อสัญญาณ PR เป็น 0 เอาต์พุตของฟลิปฟล็อป (Q) จะถูกตั้งค่าเป็น 1 นี่คือสัญญาณที่ทํางานในระดับต่ํา.
  • ล้าง (CLR): เมื่อสัญญาณ CLR เป็น 0 เอาต์พุตของฟลิปฟล็อป (Q) จะถูกตั้งค่าเป็น 0 นี่เป็นสัญญาณของกิจกรรมต่ํา.
  • ที่ตั้งไว้ล่วงหน้า (PR) = 0, Q = 1 :
  • เมื่อ PR เป็น 0 เอาต์พุตของฟลิปฟล็อปจะถูกบังคับให้เป็น 1 โดยไม่คํานึงถึงอินพุตหรือสัญญาณนาฬิกาอื่นๆ.
  • ล้าง (CLR) = 0, Q = 0:
  • เมื่อ CLR เป็น 0 เอาต์พุตของฟลิปฟล็อปจะถูกบังคับให้เขียน 0 ทับอินพุตอื่น ๆ.
  • สัญญาณที่ตั้งไว้ล่วงหน้า (PR) และชัดเจน (CLR) ใช้เพื่อควบคุมสถานะของรองเท้าแตะ.
  • อินพุต ORI ของฟลิปฟล็อปแต่ละตัวเชื่อมต่อกับพรีเซ็ต (PR) สําหรับ FF-0 (ฟลิปฟล็อปตัวแรก) และกับ Clear (CLR) สําหรับ FF-1, FF-2 และ FF-3 (ฟลิปฟล็อปอื่นๆ).
    • ที่ FF-0 เมื่อ PR=0 เอาต์พุต Q=1 จะถูกสร้างขึ้น และสิ่งนี้จะสร้างสถานะเริ่มต้นของตัวนับ.
    • ในฟลิปฟล็อปอื่นๆ (FF-1, FF-2, FF-3) CLR = 0 บังคับให้เอาต์พุต Q = 0 ที่ฟลิปฟล็อปเหล่านี้.
  • การตั้งค่านี้สร้าง Pre-set 1 ที่ FF-0 และรองเท้าแตะอื่นๆ ถือ 0 "1" ที่ FF-0 นี้จะแพร่กระจายผ่านรองเท้าแตะเป็นวงกลม เพื่อสร้างลําดับลักษณะเฉพาะของ Ring Counter.

ค่าที่ตั้งไว้ล่วงหน้า 1 ค่านี้สร้างขึ้นโดยการตั้งค่า ORI ให้ต่ําและนาฬิกาบอกเวลา (CLK) จะไม่สนใจ จากนั้น ORI จะถูกตั้งค่าเป็นสูงและสัญญาณนาฬิกาต่ําจะถูกนําไปใช้เมื่อเปิดใช้งานนาฬิกา (CLK) ที่ด้านลบ จากนั้นในแต่ละพัลส์ค่าที่ตั้งไว้ล่วงหน้า 1 จะถูกเลื่อนไปยังฟลิปฟล็อปถัดไปและสร้างลูป ด้วยวิธีนี้ จึงเป็นไปได้ที่จะออกแบบตัวนับวงแหวน 4 บิตโดยใช้ Flip-flop D สี่ตัว.

ประเภทของเคาน์เตอร์แหวน:

Ring Counter มีสองประเภท:

เคาน์เตอร์แหวนตรง

เรียกอีกอย่างว่าเคาน์เตอร์หนึ่งร้อน ในเคาน์เตอร์นี้ เอาต์พุตของฟลิปฟล็อปตัวสุดท้ายจะเชื่อมต่อกับอินพุตของฟลิปฟล็อปตัวแรก ประเด็นหลักของตัวนับนี้คือมันหมุนบิตเดียว (หรือไม่มี) รอบวงแหวน ที่นี่ เราใช้ Preset (PR) สําหรับฟลิปฟล็อปตัวแรก และ Clock (CLK) สําหรับฟลิปฟล็อปสามตัวสุดท้าย.

เคาน์เตอร์แหวนตรง

ตัวนับบิด

เรียกอีกอย่างว่าเคาน์เตอร์วงแหวนหางแบบสลับ เคาน์เตอร์วงแหวนเดินทาง หรือเคาน์เตอร์จอห์นสัน มันเชื่อมต่อออฟเซ็ตของเอาต์พุตของรีจิสเตอร์การแปลล่าสุดกับอินพุตของรีจิสเตอร์แรกและหมุนสตรีม 1 ตามด้วย 0 รอบวงแหวน ที่นี่เราใช้นาฬิกา (CLK) สําหรับรองเท้าแตะทั้งหมด ใน Twist Counter จํานวนสถานะ = 2 X จํานวนฟลิปฟล็อป.

ตัวนับบิด

ข้อดีของเคาน์เตอร์แหวน

  • ความเรียบง่าย: ออกแบบง่าย โดยเฉพาะอย่างยิ่งสําหรับการใช้งานขนาดเล็ก.
  • ใช้ทรัพยากรน้อยลง: คุณไม่จําเป็นต้องมีส่วนประกอบมากนักเมื่อเทียบกับเคาน์เตอร์อื่นๆ.
  • เอาต์พุตที่คาดการณ์ได้: จะพบชุดสถานะเดียวกันในลําดับเดียวกันเสมอ.
  • ง่ายต่อการถอดรหัส: แต่ละสถานะแยกจากกันและถอดรหัสได้ง่าย เนื่องจากใช้การเข้ารหัสแบบ one-hot โดยมีเอาต์พุตเพียงรายการเดียวในระดับสูงในแต่ละครั้ง.
  • เอาต์พุตที่ปราศจากความผิดพลาด: เนื่องจากมีฟลิปฟล็อปเพียงตัวเดียวที่ใช้งานในแต่ละครั้ง โอกาสที่เอาต์พุตจะทํางานผิดปกติจึงลดลง ทําให้มีความน่าเชื่อถือมากขึ้นในบางการใช้งาน.

ข้อเสียของเคาน์เตอร์แหวน

  • สถานะจํากัด: คุณสามารถเรียกดูหมายเลขสถานะได้โดยใช้หมายเลขฟลิปฟล็อปในเคาน์เตอร์เท่านั้น ดังนั้นสําหรับตัวนับ 4 บิต คุณสามารถมีสถานะที่ไม่ซ้ํากันได้เพียงสี่สถานะเท่านั้น.
  • ไม่เหมาะสําหรับรูปแบบที่ซับซ้อน: ไม่เหมาะหากคุณต้องการตัวนับที่นับในรูปแบบสุ่มหรือไม่ใช่ไบนารี เนื่องจากถูกจํากัดไว้ที่รูปแบบวงกลมเมื่อเปลี่ยนค่า 1 ผ่านรองเท้าแตะ.
  • คันโยกเริ่มต้น: ตัวนับรอบต้องเริ่มต้นอย่างถูกต้อง (โดยปกติจะมีฟลิปฟล็อปเพียงตัวเดียวที่ตั้งค่าเป็น 1) ก่อนเริ่มการทํางาน มิฉะนั้นอาจติดอยู่ในสถานะไม่ถูกต้อง.
  • ต้นทุนฮาร์ดแวร์ที่เพิ่มขึ้น: เมื่อคุณเพิ่มรองเท้าแตะเพื่อเพิ่มจํานวนสถานะ ฮาร์ดแวร์ที่จําเป็นก็จะเพิ่มขึ้นด้วย ซึ่งอาจทําให้การออกแบบยุ่งยากสําหรับข้อกําหนดของรัฐขนาดใหญ่.

การประยุกต์ใช้ตัวนับแหวน

ตัวนับรอบจะใช้เมื่อคุณต้องการให้ระบบผ่านชุดสถานะที่เฉพาะเจาะจงและทําซ้ํา ตัวอย่าง:

  • การสร้างสตริง: มีประโยชน์เมื่อคุณต้องการลําดับที่คาดเดาได้ เช่น ในระบบควบคุมอย่างง่ายหรือวงจรเวลา.
  • ระบบควบคุม: ตัวนับวงแหวนเหมาะอย่างยิ่งสําหรับอุปกรณ์ต่างๆ เช่น มัลติเพล็กเซอร์หรือวงจรเข้ารหัส ซึ่งลําดับการทํางานต้องเป็นไปตามรอบที่กําหนด.
  • การออกแบบที่เรียบง่าย: ตัวนับวงแหวนนั้นง่ายต่อการออกแบบและเข้าใจ เนื่องจากแต่ละรัฐมีฟลิปฟล็อปเพียงชุดเดียวเป็น 1 ทําให้การดีบักและการวิเคราะห์เป็นเรื่องง่าย.
  • Finite State Machine (FSM): ใช้ในระบบที่เคลื่อนที่ผ่านชุดของสถานะที่รู้จักในลูป เช่น ตู้จําหน่ายสินค้าอัตโนมัติหรือตัวควบคุมลิฟต์.
  • แอปพลิเคชันตามการลงทะเบียนการกระจัด: ตัวนับตักเป็นการลงทะเบียนการกระจัดประเภทพิเศษ ดังนั้นจึงใช้ในสถานที่ที่จําเป็นต้องใช้การลงทะเบียนการกระจัดเพื่อย้ายข้อมูล.