SIPO শিফট রেজিস্টার কি: সার্কিট, ওয়ার্কিং, ট্রুথ টেবিল এবং এর অ্যাপ্লিকেশন

সমস্যাগুলি দূর করার জন্য আমাদের উপকরণটি ব্যবহার করে দেখুন





সাধারণত, একটি রেজিস্টারকে বাইনারি ডেটা সঞ্চয় করার জন্য ব্যবহৃত একটি ডিভাইস হিসাবে সংজ্ঞায়িত করা যেতে পারে তবে আপনি যদি একাধিক ডেটা বিট সংরক্ষণ করতে চান তবে ফ্লিপ ফ্লপগুলির একটি সেট ব্যবহার করা হয় যা সিরিজে সংযুক্ত থাকে। রেজিস্টারে সংরক্ষিত ডেটা সিএলকে ডাল সরবরাহ করে ডান দিকে বা বাম দিকে শিফট রেজিস্টার ব্যবহার করে স্থানান্তর করা যেতে পারে। স্থানান্তর নিবন্ধন এর একটি দল ফ্লিপ ফ্লপ একাধিক বিট ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। একইভাবে, n-বিট সহ একটি শিফট রেজিস্টার তৈরি করা যেতে পারে n ফ্লিপ-ফ্লপগুলিকে সংযুক্ত করে যেখানে প্রতিটি ফ্লিপ-ফ্লপ কেবল একটি একক ডেটা বিট সংরক্ষণ করে। একবার রেজিস্টার বিটগুলিকে ডানদিকে স্থানান্তরিত করলে এটি ডান শিফট রেজিস্টার যেখানে এটি বাম দিকে স্থানান্তরিত হয় তবে এটি একটি বাম শিফট রেজিস্টার হিসাবে পরিচিত। এই নিবন্ধটি শিফট রেজিস্টারের একটি ওভারভিউ নিয়ে আলোচনা করেছে যথা সমান্তরাল আউট শিফট রেজিস্টারে সিরিয়াল বা SIPO শিফট রেজিস্টার .


SIPO Shift Register কি?

শিফট রেজিস্টার যা সিরিয়াল ইনপুট সমান্তরাল আউটপুট অনুমতি দেয় SIPO শিফট রেজিস্টার নামে পরিচিত। SIPO রেজিস্টারে, SIPO শব্দটি সিরিয়াল ইনপুট সমান্তরাল আউটপুটকে বোঝায়। এই ধরনের শিফট রেজিস্টারে ইনপুট ডেটা বিট বাই সিরিয়ালি দেওয়া হয়। প্রতিটি ঘড়ির নাড়ির জন্য, সমস্ত FF এ ইনপুট ডেটা একটি একক অবস্থান দ্বারা স্থানান্তরিত করা যেতে পারে। প্রতিটি ফ্লিপ-ফ্লপে o/p সমান্তরালভাবে পাওয়া যেতে পারে।



বর্তনী চিত্র

দ্য SISO শিফট রেজিস্টার সার্কিট ডায়াগ্রাম নীচে দেখানো হয়. এই সার্কিটটি 4 ডি ফ্লিপ-ফ্লপ দিয়ে তৈরি করা যেতে পারে যা ডায়াগ্রামে দেখানো হিসাবে সংযুক্ত যেখানে CLR সিগন্যাল অতিরিক্ত CLK সিগন্যালে সমস্ত FFs কে দেওয়া হয় অথবা তাদের রিসেট করুন। উপরের সার্কিটে, প্রথম FF আউটপুট দ্বিতীয় FFs ইনপুট দেওয়া হয়। এই চারটি ডি ফ্লিপ-ফ্লপ একে অপরের সাথে ক্রমিকভাবে সংযুক্ত কারণ প্রতিটি ফ্লিপ-ফ্লপকে একই CLK সংকেত দেওয়া হয়।

  SIPO শিফট রেজিস্টার ডায়াগ্রাম
SIPO শিফট রেজিস্টার ডায়াগ্রাম

SIPO শিফট রেজিস্টারের কাজ

SIPO শিফট রেজিস্টারের কাজ হল; যে এটি বাম দিকের প্রথম ফ্লিপ ফ্লপ থেকে সিরিয়াল ডেটা ইনপুট নেয় এবং একটি সমান্তরাল ডেটা আউটপুট তৈরি করে। 4-বিট SIPO শিফট রেজিস্টার সার্কিট নীচে দেখানো হয়েছে। এই শিফট রেজিস্টারের কাজ হল, প্রথমে FF1 থেকে FF4 পর্যন্ত সার্কিট থেকে সমস্ত ফ্লিপ ফ্লপ রিসেট করতে হবে যাতে QA থেকে QD-এর মতো FF-এর সমস্ত আউটপুট লজিক জিরো লেভেলে থাকবে তাই কোনো সমান্তরাল ডেটা আউটপুট নেই।



SIPO শিফট রেজিস্টারের নির্মাণ উপরে দেখানো হয়েছে। ডায়াগ্রামে, প্রথম ফ্লিপ ফ্লপ আউটপুট 'QA' দ্বিতীয় ফ্লিপ ফ্লপ ইনপুট 'DB'-এর সাথে সংযুক্ত। দ্বিতীয় ফ্লিপ ফ্লপ আউটপুট 'QB' তৃতীয় ফ্লিপ ফ্লপ ইনপুট DC এর সাথে সংযুক্ত, এবং তৃতীয় ফ্লিপ ফ্লপ আউটপুট 'QC' চতুর্থ ফ্লিপ ফ্লপ ইনপুট 'DD'-এর সাথে সংযুক্ত। এখানে, QA, QB, QC এবং QD হল ডেটা আউটপুট।

প্রাথমিকভাবে, সমস্ত আউটপুট শূন্য হয়ে যাবে তাই CLK পালস ছাড়াই; সমস্ত ডেটা শূন্য হয়ে যাবে। 1101-এর মতো একটি 4-বিট ডেটা ইনপুট উদাহরণ নেওয়া যাক। যদি আমরা প্রথম ফ্লিপ ফ্লপ-এ প্রথম ঘড়ির পালস '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 শিফট রেজিস্টার ট্রুথ টেবিল

SIPO শিফট রেজিস্টারের সত্যতা সারণী নীচে দেখানো হয়েছে।

  SIPO শিফট রেজিস্টার ট্রুথ টেবিল
SIPO শিফট রেজিস্টার ট্রুথ টেবিল

টাইমিং ডায়াগ্রাম

দ্য SIPO শিফট রেজিস্টারের টাইমিং ডায়াগ্রাম নীচে দেখানো হয়.

  টাইমিং ডায়াগ্রাম
টাইমিং ডায়াগ্রাম

এখানে আমরা একটি ইতিবাচক প্রান্ত CLK i/p সংকেত ব্যবহার করছি। প্রথম ঘড়ির স্পন্দনে ইনপুট ডেটা QA = '1' হয়ে যায় এবং QB, QC এবং QD এর মতো অন্যান্য সমস্ত মান '0' হয়ে যায়। সুতরাং আউটপুট '1000' হয়ে যাবে। দ্বিতীয় ঘড়ির পালসে, আউটপুট হবে '0101'। তৃতীয় ঘড়ির পালসে আউটপুট হবে '1010' এবং চতুর্থ ঘড়ির পালসে, আউটপুট '1101' হয়ে যাবে।

SIPO শিফট রেজিস্টার ভেরিলগ কোড

এসআইপিও শিফট রেজিস্টারের ভেরিলগ কোড নিচে দেখানো হয়েছে।

মডিউল sipomod (clk, ক্লিয়ার, si, po);
ইনপুট clk, si, ক্লিয়ার;
আউটপুট [3:0] po;
reg [3:0] tmp;
reg [3:0] po;
সর্বদা @(পোজেজ ক্লক)
শুরু
যদি (পরিষ্কার)
tmp <= 4’b0000;
অন্য
tmp <= tmp << 1;
tmp[0] <= হ্যাঁ;
po = tmp;
শেষ
endmodule

74HC595 IC SIPO শিফট রেজিস্টার সার্কিট এবং এর কাজ

একটি 74HC595 IC সমান্তরাল আউট শিফট রেজিস্টারে একটি 8-বিট সিরিয়াল, তাই এটি সিরিয়ালভাবে ইনপুট ব্যবহার করে এবং সমান্তরাল আউটপুট প্রদান করে। এই আইসিটিতে 16-পিন রয়েছে এবং এটি SOIC, DIP, TSSOP এবং SSOP-এর মতো বিভিন্ন প্যাকেজে উপলব্ধ।

74HC595 এর পিন কনফিগারেশন নীচে দেখানো হয়েছে যেখানে প্রতিটি পিন নীচে আলোচনা করা হয়েছে।

পিন 1 থেকে 7 এবং 15 (QB থেকে QH এবং QA): এগুলি হল ও/পি পিন যা 7-সেগমেন্ট ডিসপ্লে এবং এলইডিগুলির মতো আউটপুট ডিভাইসগুলিকে সংযুক্ত করতে ব্যবহৃত হয়।

Pin8 (GND): এই GND পিনটি কেবল পাওয়ার সাপ্লাই ও মাইক্রোকন্ট্রোলারের GND পিনের সাথে সংযুক্ত।

Pin9 (QH): এই পিনটি একটি ভিন্ন IC-এর SER পিনের সাথে সংযোগ করতে এবং উভয় IC-কে একই CLK সংকেত দিতে ব্যবহৃত হয় যাতে তারা 16-আউটপুট সহ একটি একক IC-এর মতো কাজ করে।

Pin16 (Vcc): এই পিনটি মাইক্রোকন্ট্রোলারের সাথে সংযোগ করতে ব্যবহৃত হয় অন্যথায় পাওয়ার সাপ্লাই কারণ এটি একটি 5V লজিক স্তরের IC।

পিন14 (BE): এটি সিরিয়াল i/p পিন যেখানে ডেটা এই পিন জুড়ে সিরিয়ালভাবে প্রবেশ করা হয়।

Pin11 (SRCLK): এটি Shift Register CLK পিন যা Shift Register-এর জন্য CLK-এর মতো কাজ করে কারণ এই পিন জুড়ে CLK সংকেত দেওয়া হয়।

Pin12 (RCLK): এটি হল রেজিস্টার CLK পিন যা এই আইসিগুলির সাথে সংযুক্ত ডিভাইসগুলিতে o/ps পর্যবেক্ষণ করতে ব্যবহৃত হয়।

Pin10 (SRCLR): এটি শিফট রেজিস্টার সিএলআর পিন। এই পিনটি প্রধানত ব্যবহৃত হয় যখন আমাদের রেজিস্টারের স্টোরেজ পরিষ্কার করার প্রয়োজন হয়।

Pin13 (OE): এটি o/p সক্ষম পিন। একবার এই পিনটি HIGH এ সেট করা হলে শিফট রেজিস্টারটি একটি উচ্চ প্রতিবন্ধক অবস্থায় সেট করা হয় এবং o/ps প্রেরণ করা হয় না। যদি আমরা এই পিনটি কম সেট করি, আমরা o/ps পেতে পারি।

74HC595 IC  কাজ করছে

LEDs নিয়ন্ত্রণের জন্য 74HC595 IC এর সার্কিট ডায়াগ্রাম নীচে দেখানো হয়েছে। 11, 12 এবং 14 পিনের মতো আরডুইনোর সাথে শিফট রেজিস্টারের 3-পিন সংযুক্ত করা প্রয়োজন। সমস্ত আটটি এলইডি এই শিফ্ট রেজিস্টার আইসি-তে সহজভাবে সংযুক্ত থাকবে।

এই সার্কিটটি ডিজাইন করার জন্য প্রয়োজনীয় উপাদানগুলির মধ্যে প্রধানত একটি 74HC595 Shift Register IC, Arduino UNO, 5V পাওয়ার সাপ্লাই, ব্রেডবোর্ড, 8 LEDs, 1KΩ প্রতিরোধক - 8 এবং সংযোগকারী তারগুলি অন্তর্ভুক্ত রয়েছে৷

  74HC595 IC শিফট রেজিস্টার সার্কিট ডায়াগ্রাম
74HC595 IC শিফট রেজিস্টার সার্কিট ডায়াগ্রাম

প্রথমে, শিফট রেজিস্টারের সিরিয়াল i/p পিনকে Arduino Uno-এর পিন-4-এর সাথে সংযোগ করতে হবে। এর পরে, CLK এবং ল্যাচ পিন যেমন IC-এর 11 এবং 12 পিনগুলি যথাক্রমে Arduino Uno-এর 5 এবং 6 পিনের সাথে সংযুক্ত করুন। IC-এর 8-o/p পিনের সাথে 1KΩ কারেন্ট সীমিত প্রতিরোধক ব্যবহার করে LEDগুলি সংযুক্ত করা হয়। আরডুইনো থেকে 5V সরবরাহ করার আগে একটি পৃথক 5V পাওয়ার সাপ্লাই 74HC595 IC এর জন্য সাধারণ GND সহ Arduino-এর জন্য ব্যবহার করা হয়।

কোড

একটি সিরিজে 8টি এলইডি চালু করার সহজ কোডটি নীচে দেখানো হয়েছে।

int latchPin = 5;
int clkPin = 6;
int dataPin = 4;
বাইট LED = 0;
অকার্যকর সেটআপ()
{
Serial.begin(9600);
পিনমোড (ল্যাচপিন, আউটপুট);
পিনমোড (ডেটাপিন, আউটপুট);
পিনমোড (clkPin, আউটপুট);
}
অকার্যকর লুপ()
{
int i=0;
LED = 0;
shiftLED();
বিলম্ব (500);
জন্য (i = 0; i <8; i++)
{
bitSet(LED, i);
Serial.println(LED);
shiftLED();
বিলম্ব (500);
}
}
অকার্যকর স্থানান্তর এলইডি()
{
ডিজিটাল রাইট (ল্যাচপিন, কম);
শিফটআউট (ডেটাপিন, ক্লকপিন, MSBFIRST, LED);
ডিজিটাল রাইট (ল্যাচপিন, উচ্চ);
}

এই শিফট রেজিস্টার সার্কিটের কাজ হল, প্রথমে 8টি LED বন্ধ করা হবে কারণ বাইট ভেরিয়েবল LED শূন্যতে সেট করা আছে। এখন, 'bitSet' ফাংশন সহ প্রতিটি বিট 1 এ সেট করা হয়েছে এবং 'shiftOut' ফাংশনের সাথে স্থানান্তরিত হয়েছে। একইভাবে, প্রতিটি LED একই সিরিজে চালু করা হবে। আপনি যদি LED বন্ধ করতে চান, তাহলে আপনি 'bitClear' ফাংশনটি ব্যবহার করতে পারেন।

74HC595 Shift Register IC সার্ভার, LED কন্ট্রোল, ইন্ডাস্ট্রিয়াল কন্ট্রোল, ইলেকট্রনিক যন্ত্রপাতি, নেটওয়ার্ক সুইচ ইত্যাদির মতো বিভিন্ন অ্যাপ্লিকেশনে ব্যবহৃত হয়।

অ্যাপ্লিকেশন

দ্য সিরিয়াল ইনপুট সমান্তরাল আউটপুট শিফট রেজিস্টার অ্যাপ্লিকেশন নীচে দেখানো হয়.

  • সাধারণত, শিফট রেজিস্টারটি অস্থায়ী ডেটা সংরক্ষণের জন্য ব্যবহৃত হয়, এটি একটি রিং এবং জনসন হিসাবে ব্যবহৃত হয় রিং কাউন্টার .
  • এগুলি ডেটা স্থানান্তর এবং ম্যানিপুলেশনের জন্য ব্যবহৃত হয়।
  • এই ফ্লিপ ফ্লপগুলি প্রধানত যোগাযোগ লাইনের মধ্যে ব্যবহৃত হয় যেখানে একটি ডেটা লাইনকে অসংখ্য সমান্তরাল লাইনে ডি-মাল্টিপ্লেক্সিং করা প্রয়োজন কারণ এই শিফট রেজিস্টারটি ডেটাকে সিরিয়াল থেকে সমান্তরালে পরিবর্তন করতে ব্যবহৃত হয়।
  • এগুলি ডেটা এনক্রিপশন এবং ডিক্রিপশনের জন্য ব্যবহৃত হয়।
  • এই শিফট রেজিস্টারটি পিএন কোড বা সিউডো নয়েজ সিকোয়েন্স নম্বর তৈরি করার জন্য সিডিএমএ-এর মধ্যে ব্যবহার করা হয়।
  • আমরা আমাদের ডেটা ট্র্যাক করতে তাদের ব্যবহার করতে পারি!
  • SIPO শিফট রেজিস্টার ডেটা রূপান্তরের জন্য বিভিন্ন ডিজিটাল অ্যাপ্লিকেশনে ব্যবহৃত হয়।
  • কখনও কখনও, এই ধরনের শিফট রেজিস্টার সহজভাবে মাইক্রোপ্রসেসরের সাথে সংযুক্ত করা হয় যখন আরও GPIO পিন প্রয়োজন হয়।
  • এই SIPO শিফট রেজিস্টারের ব্যবহারিক প্রয়োগ হল মাইক্রোপ্রসেসরের আউটপুট ডেটা দূরবর্তী প্যানেল নির্দেশককে দেওয়া।

সুতরাং, এটি SIPO এর একটি ওভারভিউ স্থানান্তর নিবন্ধন - সার্কিট, কাজ, সত্য টেবিল, এবং অ্যাপ্লিকেশন সহ টাইমিং ডায়াগ্রাম। সর্বাধিক ব্যবহৃত SIPO শিফট রেজিস্টার উপাদানগুলি হল 74HC595, 74LS164, 74HC164/74164, SN74ALS164A, SN74AHC594, SN74AHC595, এবং CD4094৷ এই রেজিস্টারগুলি ব্যবহারে খুব দ্রুত, ডেটা সিরিয়াল থেকে সমান্তরালে খুব সহজে রূপান্তর করা যায় এবং এর ডিজাইন সহজ। এখানে আপনার জন্য একটি প্রশ্ন, PISO শিফট রেজিস্টার কি?