กลับไปหน้าบทความ

อ่าน 4 นาที

ตัวนับวงแหวน

ตัวนับแบบวงแหวน ( Ring counter) เป็น ตัวนับ ชนิดหนึ่งที่ประกอบด้วย ฟลิปฟลอป ที่เชื่อมต่อเข้ากับ รีจิสเตอร์แบบเลื่อน (Shift register )...

ตัวนับวงแหวน

ตัวนับแบบวงแหวน ( Ring counter) เป็น ตัวนับชนิดหนึ่งที่ประกอบด้วยฟลิปฟลอปที่เชื่อมต่อเข้ากับรีจิสเตอร์แบบเลื่อน (Shift register ) โดยเอาต์พุตของฟลิปฟลอปตัวสุดท้ายจะถูกป้อนเข้าสู่อินพุตของฟลิปฟลอปตัวแรก ทำให้เกิดโครงสร้างแบบ "วงกลม" หรือ "วงแหวน"

เครื่องนับวงแหวนมีสองประเภท:

  • ตัวนับแบบวงแหวนตรงหรือที่เรียกว่าตัวนับแบบวันฮอตจะเชื่อมต่อเอาต์พุตของรีจิสเตอร์เลื่อนตัวสุดท้ายเข้ากับอินพุตของรีจิสเตอร์เลื่อนตัวแรก และหมุนเวียนบิตหนึ่ง (หรือศูนย์) เพียงบิตเดียวไปรอบวงแหวน
  • ตัวนับจอห์นสันหรือเรียกอีกอย่างว่าตัวนับวงแหวนบิดเกลียววงแหวนหางสวิตช์[ 1 ]ตัวนับวงแหวนเดิน[ 1 ]หรือตัวนับโม เบียส จะเชื่อมต่อเอาต์พุตที่เสริมกันของรีจิสเตอร์เลื่อนตัวสุดท้ายเข้ากับอินพุตของรี จิสเตอร์ตัวแรก และหมุนเวียนกระแสของเลขหนึ่งตามด้วยเลขศูนย์ไปรอบวงแหวน

ลำดับตัวนับวงแหวนสี่บิต

เคาน์เตอร์วงแหวนตรงจอห์นสันโต้กลับ
สถานะคิว0ไตรมาสที่ 1ไตรมาสที่ 2ไตรมาสที่ 3สถานะคิว0ไตรมาสที่ 1ไตรมาสที่ 2ไตรมาสที่ 3
0 1000   0 0000
1 0100   1 1000
2 0010   2 1100
3 0001   3 1110
01000   4 1111
10100   5 0111
20010   6 0011
30001   7 0001
0 1000   00000

คุณสมบัติ

ตัวนับแบบวงแหวนมักใช้เป็นตัวเรียงลำดับสถานะในเครื่องสถานะจำกัด ขนาดใหญ่ ต่างจากตัวนับแบบไบนารีซึ่งความล่าช้าในการส่งสัญญาณจะเพิ่มขึ้นตามจำนวนบิตที่เพิ่มขึ้น ความล่าช้าในการส่งสัญญาณภายในตัวนับแบบวงแหวนจะคงที่โดยไม่ขึ้นอยู่กับจำนวนบิต ทำให้สามารถทำงานที่ความถี่สัญญาณนาฬิกาที่สูงขึ้นได้

ตัวนับแบบวงแหวนมีค่าโมดูลัส เล็ก กว่าตัวนับแบบไบนารีตัวนับแบบไบนารีมีสถานะ 2 <sup>N </sup> สถานะ โดยที่ Nคือจำนวนฟลิปฟลอป ในทางตรงกันข้าม ตัวนับแบบวงแหวนตรงมี สถานะ N <sup> N</sup> สถานะ และตัวนับแบบจอห์นสันมีสถานะ 2 <sup>N </sup> สถานะ นี่อาจเป็นข้อพิจารณาที่สำคัญในการใช้งานฮาร์ดแวร์ที่รีจิสเตอร์มีราคาแพงกว่าตรรกะแบบผสม หรือในทางกลับกัน

ตัวนับจอห์นสันสามารถเริ่มต้นตัวเองจากสถานะศูนย์ทั้งหมดได้ โดยจะสร้างรหัสเกรย์ซึ่งสถานะที่อยู่ติดกันจะแตกต่างกันเพียงบิตเดียว (กล่าวคือ มีระยะแฮมมิงเท่ากับ 1) ซึ่งอาจมีประโยชน์หากรูปแบบบิตจะถูกสุ่มตัวอย่างแบบอะซิงโครนัส[ 2 ]

โดยทั่วไปจะใช้ตัวนับแบบวงแหวนตรงเมื่อ ต้องการการแสดงสถานะตัวนับ แบบ one-hotเช่นในตัวควบคุมลำดับบางตัว ตัวนับแบบสองทิศทางอาจถูกสร้างขึ้นโดยการเพิ่มมัลติเพล็กเซอร์ที่อินพุตของฟลิปฟลอปแต่ละตัว เพื่อเลือกเอาต์พุตของเพื่อนบ้านด้านซ้ายหรือขวา[ 3 ]โดยแลกกับความล่าช้าในการแพร่กระจายที่เพิ่มขึ้น

แผนภาพตรรกะ

ตัวนับแบบวงแหวนตรงเป็นรีจิสเตอร์เลื่อนแบบวงกลม ดังแสดงในตัวอย่างด้านล่าง รูปแบบ one-hot เริ่มต้น จะถูกสร้างขึ้นโดยการตั้งค่าฟลิปฟลอปหนึ่งตัวและล้างฟลิปฟลอปอื่นๆ ทั้งหมดเมื่อรีเซ็ต หรืออีกทางหนึ่ง ตัวนับสามารถทำให้เริ่มต้นตัวเองได้โดยการ AND ค่าผกผันของเอาต์พุตฟลิปฟลอปทั้งหมด ยกเว้นตัวสุดท้าย เพื่อให้ค่า 1 ถูกนำไปใช้กับอินพุตฟลิปฟลอปตัวแรกเมื่อไม่มีค่า 1 ในขั้นตอนใดๆ ยกเว้นขั้นตอนสุดท้าย[ 4 ​​]

วงจรนับแบบวงแหวน 4 บิต โดยใช้ฟลิปฟลอปชนิด D สี่ตัว แสดงวงจรสัญญาณนาฬิกาแบบซิงโครนัสและสายรีเซ็ต

ตัวนับจอห์นสัน (Johnson counter) ซึ่งตั้งชื่อตามโรเบิร์ต รอยซ์ จอห์นสัน (Robert Royce Johnson) เป็นรีจิสเตอร์เลื่อนแบบวงกลม (circular shift register) ที่เอาต์พุตสุดท้ายจะกลับค่า ดังแสดงในตัวนับจอห์นสัน 4 บิตนี้:

วงจรนับจอห์นสัน 4 บิต โดยใช้ฟลิปฟลอปชนิด D สี่ตัว แสดงวงจรสัญญาณนาฬิกาแบบซิงโครนัสและสายรีเซ็ต

ประวัติศาสตร์

ก่อนยุคของการคำนวณแบบดิจิทัล ตัวนับแบบวงแหวนถูกใช้ในเครื่องนับไกเกอร์เป็นตัวแบ่งความถี่ล่วงหน้าเพื่อลดอัตราการเกิดเหตุการณ์ (ของการสลายตัวของกัมมันตรังสีเป็นอนุภาคอัลฟาและเบตา) ให้มีความถี่ที่จัดการได้ง่ายขึ้น[ 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 ]

ทศนิยม
 
0
1
2
3
4
5
6
7
8
9
1 บิต
1
0
1
0
1
0
1
0
1
0
1
2 บิต
21
00
01
11
10
00
01
11
10
00
01
3 บิต
321
000
001
011
111
110
100
000
001
011
111
จอห์นสัน 4 บิต
4321
0000
0001
0011
0111
1111
1110
1100
1000
0000
0001
ลิบาว-เครก
54321
00000
00001
00011
00111
01111
11111
11110
11100
11000
10000
1-2-1
54321
10001
00001
00011
00010
00110
00100
01100
01000
11000
10000
1 ใน 10
10987654321
0000000001
0000000010
0000000100
0000001000
0000010000
0000100000
0001000000
0010000000
0100000000
1000000000

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Ring_counter&oldid=1357711213#Johnson_counter "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ตัวนับวงแหวน

ตัวนับแบบวงแหวน ( 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...