อ่าน 4 นาที
ตัวนับวงแหวน
ตัวนับแบบวงแหวน ( Ring counter) เป็น ตัวนับ ชนิดหนึ่งที่ประกอบด้วย ฟลิปฟลอป ที่เชื่อมต่อเข้ากับ รีจิสเตอร์แบบเลื่อน (Shift register )...
ตัวนับวงแหวน
ตัวนับแบบวงแหวน ( Ring counter) เป็น ตัวนับชนิดหนึ่งที่ประกอบด้วยฟลิปฟลอปที่เชื่อมต่อเข้ากับรีจิสเตอร์แบบเลื่อน (Shift register ) โดยเอาต์พุตของฟลิปฟลอปตัวสุดท้ายจะถูกป้อนเข้าสู่อินพุตของฟลิปฟลอปตัวแรก ทำให้เกิดโครงสร้างแบบ "วงกลม" หรือ "วงแหวน"
เครื่องนับวงแหวนมีสองประเภท:
- ตัวนับแบบวงแหวนตรงหรือที่เรียกว่าตัวนับแบบวันฮอตจะเชื่อมต่อเอาต์พุตของรีจิสเตอร์เลื่อนตัวสุดท้ายเข้ากับอินพุตของรีจิสเตอร์เลื่อนตัวแรก และหมุนเวียนบิตหนึ่ง (หรือศูนย์) เพียงบิตเดียวไปรอบวงแหวน
- ตัวนับจอห์นสันหรือเรียกอีกอย่างว่าตัวนับวงแหวนบิดเกลียววงแหวนหางสวิตช์[ 1 ]ตัวนับวงแหวนเดิน[ 1 ]หรือตัวนับโม เบียส จะเชื่อมต่อเอาต์พุตที่เสริมกันของรีจิสเตอร์เลื่อนตัวสุดท้ายเข้ากับอินพุตของรี จิสเตอร์ตัวแรก และหมุนเวียนกระแสของเลขหนึ่งตามด้วยเลขศูนย์ไปรอบวงแหวน
ลำดับตัวนับวงแหวนสี่บิต
| เคาน์เตอร์วงแหวนตรง | จอห์นสันโต้กลับ | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| สถานะ | คิว0 | ไตรมาสที่ 1 | ไตรมาสที่ 2 | ไตรมาสที่ 3 | สถานะ | คิว0 | ไตรมาสที่ 1 | ไตรมาสที่ 2 | ไตรมาสที่ 3 | |
| 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | |
| 2 | 0 | 0 | 1 | 0 | 2 | 1 | 1 | 0 | 0 | |
| 3 | 0 | 0 | 0 | 1 | 3 | 1 | 1 | 1 | 0 | |
| 0 | 1 | 0 | 0 | 0 | 4 | 1 | 1 | 1 | 1 | |
| 1 | 0 | 1 | 0 | 0 | 5 | 0 | 1 | 1 | 1 | |
| 2 | 0 | 0 | 1 | 0 | 6 | 0 | 0 | 1 | 1 | |
| 3 | 0 | 0 | 0 | 1 | 7 | 0 | 0 | 0 | 1 | |
| 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
คุณสมบัติ
ตัวนับแบบวงแหวนมักใช้เป็นตัวเรียงลำดับสถานะในเครื่องสถานะจำกัด ขนาดใหญ่ ต่างจากตัวนับแบบไบนารีซึ่งความล่าช้าในการส่งสัญญาณจะเพิ่มขึ้นตามจำนวนบิตที่เพิ่มขึ้น ความล่าช้าในการส่งสัญญาณภายในตัวนับแบบวงแหวนจะคงที่โดยไม่ขึ้นอยู่กับจำนวนบิต ทำให้สามารถทำงานที่ความถี่สัญญาณนาฬิกาที่สูงขึ้นได้
ตัวนับแบบวงแหวนมีค่าโมดูลัส เล็ก กว่าตัวนับแบบไบนารีตัวนับแบบไบนารีมีสถานะ 2 <sup>N </sup> สถานะ โดยที่ Nคือจำนวนฟลิปฟลอป ในทางตรงกันข้าม ตัวนับแบบวงแหวนตรงมี สถานะ N <sup> N</sup> สถานะ และตัวนับแบบจอห์นสันมีสถานะ 2 <sup>N </sup> สถานะ นี่อาจเป็นข้อพิจารณาที่สำคัญในการใช้งานฮาร์ดแวร์ที่รีจิสเตอร์มีราคาแพงกว่าตรรกะแบบผสม หรือในทางกลับกัน
ตัวนับจอห์นสันสามารถเริ่มต้นตัวเองจากสถานะศูนย์ทั้งหมดได้ โดยจะสร้างรหัสเกรย์ซึ่งสถานะที่อยู่ติดกันจะแตกต่างกันเพียงบิตเดียว (กล่าวคือ มีระยะแฮมมิงเท่ากับ 1) ซึ่งอาจมีประโยชน์หากรูปแบบบิตจะถูกสุ่มตัวอย่างแบบอะซิงโครนัส[ 2 ]
โดยทั่วไปจะใช้ตัวนับแบบวงแหวนตรงเมื่อ ต้องการการแสดงสถานะตัวนับ แบบ one-hotเช่นในตัวควบคุมลำดับบางตัว ตัวนับแบบสองทิศทางอาจถูกสร้างขึ้นโดยการเพิ่มมัลติเพล็กเซอร์ที่อินพุตของฟลิปฟลอปแต่ละตัว เพื่อเลือกเอาต์พุตของเพื่อนบ้านด้านซ้ายหรือขวา[ 3 ]โดยแลกกับความล่าช้าในการแพร่กระจายที่เพิ่มขึ้น
แผนภาพตรรกะ
ตัวนับแบบวงแหวนตรงเป็นรีจิสเตอร์เลื่อนแบบวงกลม ดังแสดงในตัวอย่างด้านล่าง รูปแบบ one-hot เริ่มต้น จะถูกสร้างขึ้นโดยการตั้งค่าฟลิปฟลอปหนึ่งตัวและล้างฟลิปฟลอปอื่นๆ ทั้งหมดเมื่อรีเซ็ต หรืออีกทางหนึ่ง ตัวนับสามารถทำให้เริ่มต้นตัวเองได้โดยการ AND ค่าผกผันของเอาต์พุตฟลิปฟลอปทั้งหมด ยกเว้นตัวสุดท้าย เพื่อให้ค่า 1 ถูกนำไปใช้กับอินพุตฟลิปฟลอปตัวแรกเมื่อไม่มีค่า 1 ในขั้นตอนใดๆ ยกเว้นขั้นตอนสุดท้าย[ 4 ]
ตัวนับจอห์นสัน (Johnson counter) ซึ่งตั้งชื่อตามโรเบิร์ต รอยซ์ จอห์นสัน (Robert Royce Johnson) เป็นรีจิสเตอร์เลื่อนแบบวงกลม (circular shift register) ที่เอาต์พุตสุดท้ายจะกลับค่า ดังแสดงในตัวนับจอห์นสัน 4 บิตนี้:
ประวัติศาสตร์
ก่อนยุคของการคำนวณแบบดิจิทัล ตัวนับแบบวงแหวนถูกใช้ในเครื่องนับไกเกอร์เป็นตัวแบ่งความถี่ล่วงหน้าเพื่อลดอัตราการเกิดเหตุการณ์ (ของการสลายตัวของกัมมันตรังสีเป็นอนุภาคอัลฟาและเบตา) ให้มีความถี่ที่จัดการได้ง่ายขึ้น[ 5 ]ตัวนับแบบวงแหวนห้าสถานะถูกใช้ร่วมกับตัวแบ่งความถี่แบบหารด้วยสองเพื่อสร้างตัวแบ่งความถี่แบบทศวรรษ (กำลังของสิบ) ก่อนปี 1940 เช่นที่พัฒนาโดยCE Wynn-Williams [ 5 ] การใช้งานตัวนับแบบวงแหวนในยุคแรกอื่นๆ ได้แก่ ตัวนับการเกิดรูปแบบในการวิเคราะห์รหัส (เช่นในเครื่องถอดรหัส Heath Robinsonและคอมพิวเตอร์ Colossus ) [ 6 ]และเป็นตัวสะสมการนับสำหรับเลขคณิตทศนิยมในคอมพิวเตอร์และเครื่องคิดเลข โดยใช้การแสดงแบบbi-quinary (เช่นใน Colossus) หรือแบบ ten-state one-hot (เช่นในENIAC )
วงแหวนนับรุ่นแรกๆ ใช้เพียงองค์ประกอบแอคทีฟเพียงตัวเดียว (หลอดสุญญากาศ วาล์ว หรือทรานซิสเตอร์) ต่อขั้น โดยอาศัยการป้อนกลับทั่วโลกเพื่อระงับสถานะอื่นๆ นอกเหนือจากสถานะวันฮอต ตัวอย่างเช่น ในการยื่นจดสิทธิบัตรในปี 1941 ของRobert E. Mummaแห่งบริษัทNational Cash Register [ 7 ] Wilcox P. Overbeckได้คิดค้นเวอร์ชันที่ใช้แอโนดหลายตัวในหลอดสุญญากาศตัวเดียว[ 8 ] [ 9 ]เพื่อเป็นการยกย่องผลงานของเขา วงแหวนนับบางครั้งจึงเรียกว่าวงแหวนโอเวอร์เบ็ค
ENIAC ใช้เลขคณิตทศนิยมโดยอิงจากตัวนับวงแหวนร้อนสิบสถานะ งานของ Mumma ที่NCRและ Overbeck ที่MITเป็นหนึ่งในงานก่อนหน้าที่สำนักงานสิทธิบัตรตรวจสอบ ซึ่งทำให้สิทธิบัตรของJ. Presper EckertและJohn Mauchlyสำหรับเทคโนโลยี ENIAC เป็น โมฆะ [ 10 ]
ในช่วงทศวรรษ 1950 เคาน์เตอร์แบบวงแหวนที่มีฟลิปฟลอปแบบสองหลอดหรือไตรโอดคู่ต่อสเตจเริ่มปรากฏขึ้น[ 11 ]
โรเบิร์ต รอยซ์ จอห์นสัน ได้พัฒนาตัวนับแบบรีจิสเตอร์เลื่อนหลายแบบโดยมีเป้าหมายเพื่อสร้างสถานะจำนวนต่างๆ ด้วยตรรกะป้อนกลับที่ง่ายที่สุดเท่าที่จะเป็นไปได้ และยื่นขอสิทธิบัตรในปี พ.ศ. 2496 [ 12 ]ตัวนับจอห์นสันเป็นตัวนับที่ง่ายที่สุดในบรรดาตัวนับเหล่านี้
แอปพลิเคชัน
ตัวนับแบบวงแหวนตรงมักใช้เพื่อสร้างสัญญาณวันฮอตที่ช่วยให้สามารถดำเนินการเฉพาะในแต่ละสถานะของวงจรควบคุมแบบวนรอบได้ รหัสวันฮอตยังสามารถถอดรหัสได้จากตัวนับจอห์นสัน โดยใช้เกตหนึ่งตัวสำหรับแต่ละสถานะ[ 13 ]
ตัวนับจอห์นสันมักใช้เพื่อสร้างวงจรที่มีจำนวนสถานะเป็นเลขคู่ ซึ่งเข้ารหัสโดยตรงเป็นรหัสเกรย์และสามารถสุ่มตัวอย่างแบบอะซิงโครนัสได้โดยไม่ทำให้เกิดความผิดพลาด[ 14 ]รหัสจอห์นสัน 2 บิตและรหัสเกรย์ 2 บิตเหมือนกัน ในขณะที่สำหรับ 3 บิตขึ้นไป รหัสเกรย์และรหัสจอห์นสันจะแตกต่างกัน ในกรณี 5 บิต รหัสของตัวนับจอห์นสันจะเหมือนกับรหัส Libaw–Craig สำหรับตัวเลขทศนิยม จาก "ตัวแปลงสัญญาณดิจิทัลแบบเพลาที่เข้ารหัสทศนิยมแบบไม่นับ" [ 15 ] [ 16 ]
ตัวนับจอห์นสันและตัวต้านทานจำนวนเล็กน้อยสามารถสร้างการประมาณคลื่นไซน์ที่ปราศจากความผิดพลาดซึ่งมีความถี่เอาต์พุตที่กำหนดโดยความถี่นาฬิกาของตัวนับเท่านั้น[ 17 ]
|
|
|
|
|
|
|
|
ดูเพิ่มเติม
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ตัวนับวงแหวน
ตัวนับแบบวงแหวน ( Ring counter) เป็น ตัวนับ ชนิดหนึ่งที่ประกอบด้วย ฟลิปฟลอป ที่เชื่อมต่อเข้ากับ รีจิสเตอร์แบบเลื่อน (Shift register )...
ลำดับตัวนับวงแหวนสี่บิต
เคาน์เตอร์วงแหวนตรง จอห์นสันโต้กลับ สถานะ คิว0 ไตรมาสที่ 1 ไตรมาสที่ 2 ไตรมาสที่ 3 สถานะ คิว0 ไตรมาสที่ 1 ไตรมาสที่ 2 ไตรมาสที่ 3 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 2 0 0 1 0 2 1 1 0 0 3 0 0 0 1 3 1 1 1 0 0 1 0 0 0 4 1 1 1 1 1 0 1 0 0 5 0 1 1 1 2 0 0 1 0...
คุณสมบัติ
ตัวนับแบบวงแหวนมักใช้เป็นตัวเรียงลำดับสถานะใน เครื่องสถานะจำกัด ขนาดใหญ่ ต่างจากตัวนับแบบไบนารีซึ่งความล่าช้าในการส่งสัญญาณจะเพิ่มขึ้นตามจำนวนบิตที่เพิ่มขึ้น ความล่าช้าในการส่งสัญญาณภายในตัวนับแบบวงแหวนจะคงที่โดยไม่ขึ้นอยู่กับจำนวนบิต...
แผนภาพตรรกะ
ตัวนับแบบวงแหวนตรงเป็นรีจิสเตอร์เลื่อนแบบวงกลม ดังแสดงในตัวอย่างด้านล่าง รูปแบบ one-hot เริ่มต้น จะถูกสร้างขึ้นโดยการตั้งค่าฟลิปฟลอปหนึ่งตัวและล้างฟลิปฟลอปอื่นๆ ทั้งหมดเมื่อรีเซ็ต หรืออีกทางหนึ่ง ตัวนับสามารถทำให้เริ่มต้นตัวเองได้โดยการ AND...