SIPO Shift Register คืออะไร : Circuit, Working, Truth Table & Applications

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





โดยทั่วไป การลงทะเบียนสามารถกำหนดเป็นอุปกรณ์ที่ใช้ในการจัดเก็บข้อมูลไบนารี แต่ถ้าคุณต้องการเก็บข้อมูลหลายบิต ชุดของ Flip flops จะถูกนำมาใช้ซึ่งเชื่อมต่อกันเป็นชุด ข้อมูลที่เก็บไว้ในรีจิสเตอร์สามารถเลื่อนได้โดยใช้รีจิสเตอร์กะที่ด้านขวาหรือด้านซ้ายโดยจัดให้มีพัลส์ CLK ลงทะเบียนกะ เป็นกลุ่มของ รองเท้าแตะ ใช้เพื่อเก็บข้อมูลหลายบิต ในทำนองเดียวกัน shift register กับ n-bits สามารถเกิดขึ้นได้ด้วยการเชื่อมต่อกับ n flip-flop ทุกที่ที่ทุก flip-flop จัดเก็บบิตข้อมูลเพียงบิตเดียว เมื่อรีจิสเตอร์เลื่อนบิตไปทางด้านขวา จะเป็นรีจิสเตอร์กะขวา ในขณะที่ถ้ามันเลื่อนไปทางซ้าย จะเรียกว่ารีจิสเตอร์กะซ้าย บทความนี้กล่าวถึงภาพรวมของการลงทะเบียนกะประเภทใดประเภทหนึ่ง ได้แก่ อนุกรมในการลงทะเบียนกะแบบขนานหรือ SIPO shift register .


SIPO Shift Register คืออะไร

การลงทะเบียนกะซึ่งอนุญาตให้เอาต์พุตแบบขนานอินพุตแบบอนุกรมเรียกว่ารีจิสเตอร์ SIPO shift ในการลงทะเบียน SIPO คำว่า SIPO หมายถึงเอาต์พุตแบบขนานอินพุตแบบอนุกรม ในการลงทะเบียนกะประเภทนี้ ข้อมูลอินพุตจะได้รับทีละบิตตามลำดับ สำหรับพัลส์นาฬิกาแต่ละอัน ข้อมูลอินพุตที่ FF ทั้งหมดสามารถเลื่อนได้ในตำแหน่งเดียว o/p ที่ทุก flip-flop สามารถรับได้แบบขนาน



แผนภูมิวงจรรวม

ดิ ไดอะแกรมวงจรลงทะเบียนกะ SISO แสดงอยู่ด้านล่าง วงจรนี้สามารถสร้างขึ้นด้วยฟลิปฟลอป 4 มิติ ซึ่งเชื่อมต่อตามที่แสดงในแผนภาพที่สัญญาณ CLR ให้เพิ่มเติมกับสัญญาณ CLK ไปยัง FF ทั้งหมดหรือตั้งค่าใหม่ ในวงจรข้างต้น เอาต์พุต FF แรกจะถูกกำหนดให้กับอินพุต FF ตัวที่สอง รองเท้าแตะ D ทั้งสี่นี้เชื่อมต่อกันตามลำดับเนื่องจากสัญญาณ CLK เดียวกันจะถูกส่งไปยังทุก flip-flop

  SIPO Shift Register Diagram
SIPO Shift Register Diagram

การทำงานของ SIPO Shift Register

การทำงานของทะเบียนกะ SIPO คือ; ที่รับอินพุตข้อมูลอนุกรมจากฟลิปฟล็อปแรกของด้านซ้าย และสร้างเอาต์พุตข้อมูลแบบขนาน วงจรลงทะเบียนกะ SIPO 4 บิตแสดงอยู่ด้านล่าง การทำงานของรีจิสเตอร์กะนี้คือ อันดับแรก ฟลิปฟล็อปทั้งหมดจากวงจรจาก FF1 ถึง FF4 ต้องรีเซ็ต เพื่อให้เอาต์พุตทั้งหมดของ FF เช่น QA ถึง QD อยู่ที่ระดับตรรกะศูนย์ ดังนั้นจึงไม่มีเอาต์พุตข้อมูลแบบขนาน



การสร้างทะเบียนกะ SIPO แสดงไว้ด้านบน ในแผนภาพ เอาต์พุตของ flip flop ตัวแรก 'QA' เชื่อมต่อกับอินพุต 'DB' ของ flip flop ตัวที่สอง เอาต์พุตของ flip flop ตัวที่สอง 'QB' เชื่อมต่อกับอินพุต DC ของ flip flop ตัวที่สาม และเอาต์พุตของ flip flop ตัวที่สาม 'QC' เชื่อมต่อกับอินพุต 'DD ของ flip flops ตัวที่สี่ ที่นี่ QA, QB, QC และ QD เป็นเอาต์พุตข้อมูล

เริ่มแรก เอาต์พุตทั้งหมดจะกลายเป็นศูนย์ ดังนั้นหากไม่มีพัลส์ CLK ข้อมูลทั้งหมดจะกลายเป็นศูนย์ มาดูตัวอย่างการป้อนข้อมูลแบบ 4 บิต เช่น 1101 หากเราใช้พัลส์นาฬิกาแรก '1' กับฟลิปฟล็อปแรก ข้อมูลที่จะป้อนลงใน FF และ QA จะกลายเป็น '1' และผลลัพธ์ที่เหลือทั้งหมดเช่น QB , QC และ QD จะกลายเป็นศูนย์ ดังนั้นเอาต์พุตข้อมูลแรกคือ '1000'

หากเราใช้พัลส์นาฬิกาที่สองเป็น '0' กับฟลิปฟล็อปแรก QA จะกลายเป็น '0', QB กลายเป็น '0', QC กลายเป็น '0' และ QD จะกลายเป็น '0' ดังนั้นเอาต์พุตข้อมูลที่สองจะกลายเป็น '0100' เนื่องจากกระบวนการเปลี่ยนที่ถูกต้อง

หากเราใช้พัลส์นาฬิกาที่สามเป็น '1' กับฟลิปฟล็อปแรก QA จะกลายเป็น '1', QB กลายเป็น '0', QC กลายเป็น '1' และ QD กลายเป็น '0' ดังนั้นข้อมูลที่ส่งออกที่สามจะกลายเป็น '1011' เนื่องจากกระบวนการเปลี่ยนขวา
หากเราใช้พัลส์นาฬิกาที่สี่เป็น '1' กับฟลิปฟล็อปแรก QA จะกลายเป็น '1', QB กลายเป็น '1', QC กลายเป็น '0' และ QD จะกลายเป็น '1' ดังนั้นข้อมูลที่ส่งออกที่สามจะกลายเป็น '1101' เนื่องจากกระบวนการเปลี่ยนขวา

SIPO Shift Register ตารางความจริง

ตารางความจริงของการลงทะเบียนกะ SIPO แสดงอยู่ด้านล่าง

  SIPO Shift Register ตารางความจริง
SIPO Shift Register ตารางความจริง

ไดอะแกรมกำหนดเวลา

ดิ แผนภาพเวลาของการลงทะเบียนกะ SIPO แสดงอยู่ด้านล่าง

  ไดอะแกรมกำหนดเวลา
ไดอะแกรมกำหนดเวลา

ที่นี่เราใช้สัญญาณ CLK i/p ขอบบวก ในพัลส์สัญญาณนาฬิกาครั้งแรก ข้อมูลที่ป้อนจะกลายเป็น QA = '1' และค่าอื่นๆ ทั้งหมด เช่น QB, QC และ QD จะกลายเป็น '0' ดังนั้นผลลัพธ์จะกลายเป็น '1000' ในพัลส์นาฬิกาที่สอง เอาต์พุตจะกลายเป็น '0101' ในพัลส์นาฬิกาที่สาม เอาต์พุตจะกลายเป็น '1010' และในพัลส์นาฬิกาที่สี่ เอาต์พุตจะกลายเป็น '1101'

SIPO Shift Register รหัส Verilog

รหัส Verilog สำหรับการลงทะเบียนกะ SIPO แสดงอยู่ด้านล่าง

โมดูล sipomod(clk, clear, si, po);
อินพุต clk, si, ชัดเจน;
เอาท์พุท [3:0] po;
reg [3:0] tmp;
ทะเบียน [3:0] po;
เสมอ @(โพสท่า clk)
เริ่ม
ถ้า (ชัดเจน)
tmp <= 4'b0000;
อื่น
tmp <= tmp << 1;
tmp[0] <= ใช่;
po = tmp;
จบ
โมดูลปลาย

74HC595 IC SIPO Shift Register Circuit และการทำงาน

74HC595 IC เป็นอนุกรม 8 บิตในรีจิสเตอร์ชิฟต์รีจิสเตอร์ขนาน ดังนั้นจึงใช้อินพุตแบบอนุกรมและให้เอาต์พุตแบบขนาน IC นี้ประกอบด้วย 16 พินและมีจำหน่ายในแพ็คเกจต่างๆ เช่น SOIC, DIP, TSSOP & SSOP

การกำหนดค่าพินของ 74HC595 แสดงอยู่ด้านล่างซึ่งแต่ละพินจะกล่าวถึงด้านล่าง

พิน 1 ถึง 7 และ 15 (QB ถึง QH & QA): นี่คือพิน o/p ที่ใช้เชื่อมต่ออุปกรณ์เอาต์พุต เช่น จอภาพ 7 ส่วนและไฟ LED

Pin8 (GND): พิน GND นี้เชื่อมต่อกับพิน GND ของไมโครคอนโทรลเลอร์พาวเวอร์ซัพพลาย

Pin9 (QH): พินนี้ใช้เพื่อเชื่อมต่อกับพิน SER ของ IC อื่น & ให้สัญญาณ CLK เดียวกันกับไอซีทั้งสองเพื่อให้ทำงานเหมือนไอซีตัวเดียวรวมถึง 16 เอาต์พุต

Pin16 (Vcc): พินนี้ใช้เพื่อเชื่อมต่อกับไมโครคอนโทรลเลอร์มิฉะนั้นแหล่งจ่ายไฟเนื่องจากเป็น IC ระดับลอจิก 5V

Pin14 (พ.ศ.): มันคือ Serial i/p Pin ที่ข้อมูลจะถูกป้อนแบบอนุกรมตลอดพินนี้

Pin11 (SRCLK): มันคือ Shift Register CLK Pin ที่ทำงานเหมือน CLK สำหรับ Shift Register เนื่องจากสัญญาณ CLK จะได้รับตลอดทั้งพินนี้

Pin12 (RCLK): เป็นพิน Register CLK ที่ใช้ในการสังเกต o/ps บนอุปกรณ์ที่เชื่อมต่อกับไอซีเหล่านี้

Pin10 (SRCLR): มันคือ Shift Register CLR Pin พินนี้ใช้เป็นหลักเมื่อเราต้องการล้างที่เก็บข้อมูลของรีจิสเตอร์

Pin13 (OE): มันคือ o/p เปิดใช้งานพิน เมื่อตั้งค่าพินนี้เป็น HIGH แล้ว shift register จะถูกตั้งค่าเป็นสภาวะอิมพีแดนซ์สูง & o/ps จะไม่ถูกส่ง ถ้าเราตั้งพินนี้ไว้ที่ต่ำ เราจะได้ o/ps

74HC595 IC  ทำงาน

แผนภาพวงจรของ 74HC595 IC สำหรับควบคุม LED แสดงอยู่ด้านล่าง ต้องใช้ 3 พินของ shift register เพื่อเชื่อมต่อกับ Arduino เช่นพิน 11, 12 และ 14 ไฟ LED ทั้งหมดแปดดวงจะเชื่อมต่อกับ IC shift register นี้

ส่วนประกอบที่จำเป็นในการออกแบบวงจรนี้ส่วนใหญ่ประกอบด้วย 74HC595 Shift Register IC, Arduino UNO, แหล่งจ่ายไฟ 5V, เขียงหั่นขนม, ไฟ LED 8 ดวง, ตัวต้านทาน 1KΩ - 8 และสายเชื่อมต่อ

  74HC595 IC Shift Register แผนภาพวงจร
74HC595 IC Shift Register แผนภาพวงจร

ก่อนอื่น Serial i/p Pin ของ Shift Register จำเป็นต้องเชื่อมต่อกับ Pin-4 ของ Arduino Uno หลังจากนั้น เชื่อมต่อทั้ง CLK และสลักสลัก เช่น พิน 11 และ 12 ของ IC เข้ากับพิน 5 และ 6 ของ Arduino Uno ตามลำดับ ไฟ LED เชื่อมต่อโดยใช้ตัวต้านทานจำกัดกระแส 1KΩ กับพิน 8-o/p ของ IC แหล่งจ่ายไฟ 5V แยกต่างหากใช้สำหรับ 74HC595 IC ที่มี GND ทั่วไปไปยัง Arduino ก่อนที่จะจ่าย 5V จาก Arduino

รหัส

รหัสอย่างง่ายสำหรับการเปิดใช้งานไฟ LED 8 ดวงในซีรีย์ดังแสดงด้านล่าง

int latchPin = 5;
int clkPin = 6;
int dataPin = 4;
ไบต์ LED = 0;
การตั้งค่าเป็นโมฆะ ()
{
Serial.begin(9600);
โหมดพิน (latchPin, OUTPUT);
pinMode (ดาต้าพิน, เอาต์พุต);
pinMode(clkPin, เอาต์พุต);
}
วงเป็นโมฆะ ()
{
int i=0;
LED = 0;
shiftLED();
ล่าช้า (500);
สำหรับ (i = 0; i < 8; i++)
{
bitSet (ไฟ LED, ผม);
Serial.println(LED);
shiftLED();
ล่าช้า (500);
}
}
เป็นโมฆะ shiftLED()
{
digitalWrite (สลัก, ต่ำ);
shiftOut(dataPin, clkPin, MSBFIRST, LED);
digitalWrite (สลัก, สูง);
}

การทำงานของวงจร shift register ในตอนแรกไฟ LED ทั้ง 8 ดวงจะถูกปิดเนื่องจาก LED ตัวแปรไบต์ถูกตั้งค่าเป็นศูนย์ ตอนนี้ ทุกบิตถูกตั้งค่าเป็น 1 ด้วยฟังก์ชัน 'bitSet' และเลื่อนออกด้วยฟังก์ชัน 'shiftOut' ในทำนองเดียวกัน LED ทุกดวงจะถูกเปิดในชุดเดียวกัน หากคุณต้องการปิดไฟ LED คุณสามารถใช้ฟังก์ชัน 'bitClear'

IC ลงทะเบียนกะ 74HC595 ใช้ในแอพพลิเคชั่นต่างๆ เช่น เซิร์ฟเวอร์, การควบคุม LED, การควบคุมอุตสาหกรรม, เครื่องใช้ไฟฟ้า, สวิตช์เครือข่าย ฯลฯ

แอปพลิเคชั่น

ดิ แอปพลิเคชั่นของการลงทะเบียนกะเอาท์พุทแบบขนานอินพุตแบบอนุกรม แสดงอยู่ด้านล่าง

  • โดยทั่วไปแล้ว shift register ใช้สำหรับจัดเก็บข้อมูลชั่วคราว ใช้เป็น ring & Johnson เคาน์เตอร์แหวน .
  • สิ่งเหล่านี้ใช้สำหรับการถ่ายโอนข้อมูลและการจัดการ
  • ฟลิปฟล็อปเหล่านี้ใช้เป็นหลักในสายการสื่อสารทุกที่ที่จำเป็นต้องมีการแยกสายข้อมูลออกเป็นเส้นขนานจำนวนมาก เนื่องจากการลงทะเบียนกะนี้ใช้เพื่อเปลี่ยนข้อมูลจากอนุกรมเป็นขนาน
  • สิ่งเหล่านี้ใช้สำหรับการเข้ารหัสและถอดรหัสข้อมูล
  • การลงทะเบียนกะนี้ใช้ภายใน CDMA เพื่อสร้างรหัส PN หรือ Pseudo Noise Sequence Number
  • เราสามารถใช้พวกมันเพื่อติดตามข้อมูลของเราได้!
  • การลงทะเบียนกะ SIPO ใช้ในแอปพลิเคชันดิจิทัลต่างๆ สำหรับการแปลงข้อมูล
  • บางครั้ง shift register ประเภทนี้เชื่อมต่อกับไมโครโปรเซสเซอร์เพียงครั้งเดียวก็จำเป็นต้องใช้พิน GPIO อีกครั้ง
  • การใช้งานจริงของการลงทะเบียนกะ SIPO นี้คือการให้ข้อมูลเอาต์พุตของไมโครโปรเซสเซอร์ไปยังตัวบ่งชี้ที่แผงควบคุมระยะไกล

ดังนั้น นี่คือภาพรวมของ SIPO ทะเบียนกะ – วงจร การทำงาน ตารางความจริง และไดอะแกรมเวลากับแอปพลิเคชัน ส่วนประกอบการลงทะเบียนกะ SIPO ที่ใช้บ่อยที่สุดคือ 74HC595, 74LS164, 74HC164/74164, SN74ALS164A, SN74AHC594, SN74AHC595 และ CD4094 รีจิสเตอร์เหล่านี้ใช้งานได้เร็วมาก ข้อมูลสามารถแปลงจากอนุกรมเป็นขนานได้ง่ายมาก และการออกแบบก็เรียบง่าย นี่คือคำถามสำหรับคุณ PISO shift register คืออะไร