تبلیغات
علم و فناوری - درباره فلیپ فلاپ و شیفت رجیستر ها
دوشنبه 11 آبان 1388

درباره فلیپ فلاپ و شیفت رجیستر ها

   نوشته شده توسط: کامبیز دهزاد    

 

در الکترونیک و کامپیوتر، فلیپ فلاپ یک نوع مدار دیجیتال است که می تواند به عنوان یک بیت حافظه عمل کند. یک فلیپ فلاپ می تواند شامل دو سیگنال ورودی، صفر یا یک در پایه ورودی باشد. ضمنا یک فلیپ فلاپ دارای یک پایه زمانی(clock) و یک خروجی(out put) و دو پایه set و reset می باشد.
بعضی از فلیپ فلاپ ها شامل یک پایه clear می باشند که خروجی را دوباره راه اندازی(reset)می کنند. (در واقع فیلیپ فلاپ ها یکی از انواع مدارات مجتمع Ic هستند که برای کار به اتصالات تغذیه و زمین نیاز دارند.)

به ادامه مطلب مراجعه کنید

تغییرات پالسهای ورودی که منظور همان صفر و یک دیجیتال می باشند، بهمراه پایه clock سبب تغییرات در خروجی می شوند. (عملا هر تغییری در وضعیت خروجی، به طور همزمان وابسته به تغییرات پالس در پایهclock است. مشخصات آیسی های فلیپ فلاپ ها مثلا پایه های ورودی، خروجی و بقیه پایه ها توسط کارخانه های سازنده در دفترچه هایی تحت عنوان دیتاشیت(data sheet) قرار می گیرند.)
فلیپ فلاپ ها انواع متفاوتی دارند که این انواع مختلف عبارتند از:

  • فلیپ فلاپ SR
  • فلیپ فلاپ JK
  • فلیپ فلاپ T
  • فلیپ فلاپ D

فلیپ فلاپ SR


 

فلیپ فلاپ SR یک المان فیزیکی است که می تواند به عنوان یک عنصر تاخیر دهنده به کار گرفته شود. این المان فیزیکی دارای دو ورودی به نام های R و S می باشد و دو خروجی دارد که یکی متمم دیگری است.
طرز کاراین فلیپ فلاپ در جدول صحت به این شکل است که وقتی عملکرد مدار را بررسی می کنیم اگر S=1 و R=0 باشد، اصطلاحا می گویند مدار set است یعنی خروجی آن 1 شده است. اگر پس از آن S=0 شود، مدار در وضعیت set باقی می ماند ولی اگر R=1 شود اصطلاحا می گویند مدار Reset شده است یعنی خروجی در این لحظه صفر است، و اگر در این لحظه R=0 شود مدار در حالت Reset باقی می ماند. بنابراین R=0 و S=0 در خروجی نشان می دهد که کدامیک از S یا R آخرین بار برابر 1 بوده است. یعنی مدار آخرین وضعیت غیر صفر ورودی را به خاطر سپرده است. مطابق جدول کارنو اگر R و S همزمان در حالت 1 قرار گیرند مدار در حالت نامشخص خواهد بود. به این خاطر مدارهای دارای فلیپ فلاپ SR را طوری طراحی می کنند که هیچ گاه ورودی های S و R همزمان برابر 1 نشود.
این مورد محدودیتی برای فلیپ فلاپ SR است، که در فلیپ فلاپ JK این نقص برطرف شده است.

فلیپ فلاپ JK

این عنصر تاخیر دهنده دارای دو ورودی به نام J و K می باشد و دو خروجی آن یکی متمم دیگری است و در آن محدودیت فلیپ فلاپ SR را رفع کرده اند و دو ورودی J=1 و 1=K برای این مدار قابل قبول است.
در این فلیپ فلاپ همانند نوع SR ورودی تمام صفر یعنی J=0 و K=0 تاثیری در حالت خروجی فلیپ فلاپ ندارد و همان حالت قبلی حفظ می شود. ولی اگر J=1 و 1=K باشد یک ورودی قابل قبول است که باعث تغییر حالت در مقدار خروجی می شود.

فلیپ فلاپ T


 

این عنصر تاخیر دهنده دارای یک ورودی به نام T است و دو خروجی به صورت Y و متمم آن دارد.
چنانچه T=1 شود باعث تغییر در خروجی می شود یعنی اگر خروجی صفر باشد مقدار آن یک می شود و برعکس اگر خروجی یک باشد مقدار آن صفر می شود. این فلیپ فلاپ را به این خاطر فلیپ فلاپ جهشی نیز می نامند.
فلیپ فلاپ T همانند فلیپ فلاپ JK است که دو ورودی آن از یک متغیر مقدار می گیرد یعنی یا هر دو J و K مقدار صفر و یا هر دو مقدار یک دارند. به این ترتیب در مواقعی یک است، ایجاد جهش می کند.


D فلیپ فلاپ


 


این مدار تاخیر دهنده شبیه به یک عنصر تاخیر دهنده ساعت عمل می کند به این ترتیب که هر ورودی به آن می دهیم در یک فاصله زمانی مشخصی بعدا همان ورودی را به صورت خروجی دریافت می کنیم.
از این رو این فلیپ فلاپ را فلیپ فلاپ تاخیر (Delay) می نامند. این فلیپ فلاپ یک ورودی به نام D دارد.


خلاصه رفتار انواع فلیپ فلاپ

جدول زیر به طور خلاصه رفتار انواع فلیپ فلاپ را نشان میدهد .

ستون ها به ترتیب ، نام فلیپ فلاپ ، سمبل ، جدول مشخصه ، معادله مشخصه و جدول تحریک فلیپ فلاپ را نشان می دهد .


 


شیفت رجیستر

شیفت رجیسترها نوعی از مدارات منطقی ترتیبی هستند كه اطلاعات دیجیتال را ذخیره می كنند. شیفت رجیسترها مجموعه ای از یك سری فلیپ فلاپ  هستند كه به صورت یك زنجیره به یکدیگر متصل می گردند . خروجی هر FF به عنوان ورودی FF بعدی است. همه FF ها از كلاك مشترك استفاده می كنند و به طور همزمان SET یا RESET می شوند. كاربرد اصلی شیفت رجیسترها در تاخیرهای زمانی ، تركیب دیتای دیجتال منطقی و تبدیل دیتای سریال به پارالل و برعكس هست.

شیفت رجیسترها انواع مختلفی دارند .

  1. SISO : ورودی و خروجی به صورت سریال
  2. SIPO : ورودی سریال و خروجی به صورت موازی
  3. PISO  : ورودی به سورت موازی و خروجی به شکل سریال
  4. PIPO : ورودی و خروجی به شکل موازی
  5. Bidirectional‌ : شیفت رجیسترهای دو طرفه
  6. Shift Register Counters : شمارنده های شیفت رجیستری

SISO : ورودی و خروجی به صورت سریال

یک شیفت رجیستر ساده چهار بیتی از چهار فلیپ فلاپ به شکل زیر ساخته می شود . عملکرد مدار را در شکل زیر می توانید مشاهده کنید . رجیستری که در ابتدا صفر می شود ، رجیسترهای بعدی را در خروجی به نوبت و با ارسال کلاک پاک خواهد کرد . ورودی دیتا به FF0 وارد می شود . در طی هر بار پالس کلاک ، یک بیت از چپ به راست منتقل می شود . فرض کنید یک کلمه 4 بیتی 1001 به عنوان ورودی وارد می شود. با هر بار کلاک هر بیت از دیتا از FF0 تا FF3 منتقل خواهد شد .

 


در حقیقت برای بدست آوردن دیتا در خروجی ، باید آن را به صورت سریال شیفت دهیم . این می تواند به دو صورت مخرب و غیر مخرب انجام شود . در حالت باز خوانی مخرب ، دیتای اصلی از دست می روند و در انتهای سیکل خواندن ، همه فلیپ فلاپ ها صفر می گردند .


به منظور اجتناب از گم شدن دیتا ، می توان از یک ترکیب بازخوانی غیر مخرب استفاده کرد . این کار با اضافه کردن دو گیت AND و یک گیت OR و یک گیت NOT به سیستم امکان پذیر است . ساختار مدار فوق به صورت زیر است :


دیتا هنگامی که خط کنترل ، 1‌است بارگذاری می شود ( در حالت نوشتن ) . در صورتی که خط کنترل صفر شود ، دیتا به خروجی شیفت پیدا می کند . تصویر متحرک زیر را برای درک بیشترببینید : 


SIPO : ورودی سریال و خروجی به صورت موازی

برای این نوع شیفت رجیستر ، بیت های دیتا به طور سریال با روشی یکسان مطابق حالت قبل وارد می شوند . تفاوت تنها در روش قرار گرفتن دیتا در خروجی است . هر بار که دیتا ذخیره می شود ، هر بیت در خط خروجی مختص به خود ظاهر می گردد و همه بیت ها در یک زمان در دسترس هستند . یک ساختار از شیفت رجیستر 4 بیتی با ورودی سریال و خروجی موازی به صورت زیر است :


 

در تصویر متحرک زیر می توانید چگونگی انتقال عدد 1001 را به خروجی های Q مشاهده کنید .

 

از میان آی سی های مجود ، 74164   و 74595 ‌رایج ترین شیفت رجیسترهای SIPO هشت بیتی هستند .


PISO : ورودی به سورت موازی و خروجی به شکل سریال

شکل زیر شمای یک شیفت رجیستر چهار بیتی با ورودی موازی و خروجی سریال را نشان می دهد . مدار شامل فلیپ فلاپ های نوع D و گیت های منطقی NAND برای وارد کردن دیتا ( نوشتن ) می باشد.


D0, D1, D2, D3 ‌ ورودی های موازی هستند. به طوری که D0‌پر ارزشترین و D3‌ک ارزشترین بیت می باشند . برای نوشتن دیتا در ورودی خط کنترل باید در حالت صفر قرار گرفته و دیتا در ورودی قرار گیرد . دیتا زمانی می تواند شیفت پیدا کند که خط کنترل 1 شود ( رفتن به حالت شیفت ) . در این حالت زجیستر مطابق تصویر زیر دیتا را با توجه به کلاک به خروجی منتقل می کند

PIPO : ورودی و خروجی به شکل موازی

برای شیفت رجیسترهای با ورودی و خروجی موازی ، همه بیت های دیتا فورا با یک کلاک در خروجی ظاهر می شوند. شکل زیر ساختار این نوع شیفت رجیستر را که شامل فلیپ فلاپ های نوع D است نشان می دهد:



Dها ورودی های موازی هستند و Qها خروجی های معادل آنها می باشند . با هر بار کلاک بیت های موجود در هر یک از Dها در خروجی معادل Q ظاهر می شوند .


Bidirectional‌ : شیفت رجیسترهای دو طرفه

شیفت رجیسترهایی که تاکنون بررسی شده اند تنها به سمت راست شیفت داده می شوند . هر عملیات شیفت به راست تاثیری معادل تقسیم بر 2 باینری است . اگر عملیات برعکس شود ( شیفت به چپ ) ، تاثیری معادل ضرب در 2 خواهد داشت . با یک ترکیب مناسب گیت های منطقی ، یک شیفت رجیستر می تواند در دو جهت عمل کند .
یک شیفت رجیستر دوطرفه با قابل معکوس شدن می تواند دیتا را به سمت راست یا چپ شیفت دهد . شکل زیر یک شیفت رجیستر دو طرفه با فلیپ فلاپ نوع D‌ را نشان می دهد :

 


در شکل گیت های NAND به شکل گیت OR بسته شده اند . این گیت ها جهت شیفت را توسط خط کنترل مشخص می کنند .
تصویر زیر یک عدد را ابتدا 4 بار به سمت راست و سپس 4 بار به سمت چپ شیفت می دهد . توجه کنید که چهار بیت خروجی با چهار بیت ورودی یکسان نخواهد بود . در واقع آنها معکوس یکدیگرند .


 

Shift Register Counters : شمارنده های شیفت رجیستری

همانطور که از نام این نوع شیفت رجیستر مشخص است ، عملکردی به منظور شمارش را خواهند داشت . دو نوع شمارنده شیفت رجیستری رایج ، شمارنده زنگ (Ring Counter) و شمارنده جانسون (Johnson Counter)‌هستند . این رجیسترها به عنوان شمارنده نام گذاری می گردند زیرا آنها وضعیت های ترتیبی خاصی را نمایش می دهند .

شمارنده های زنگ


به طور کلی شمارنده زنگ یک شیفت رجیستر چرخشی است که پرارزش ترین بیت خروجی آن به کم ارزش ترین بیت ورودی متصل می شود . در ادامه ساختار یک شمارنده زنگ 4 بیتی را توسط فلیپ فلاپ های D ملاحظه می کنید . خروجی هر مرحله با یک لبه مثبت کلاک به مرحله بعد شیفت پیدا می کند . اگر سیگنال CLEAR در حالت 1‌ باشد ، همه فلیپ فلاپ ها به جز FF0 صفر خواهند شد . FF0 نیز یک می شود .


از آنجایی که شمارش ترتیبی ، 4 وضعیت مجزا دارد، شمارنده می تواند به عنوان یک شمارنده باقیمانده-4 مورد بررسی قرار گیرد . وجود تنها 4 حالت از 16 حالت ممکن ، شمارنده های زنگ را در کاربردهای معمول ناکارآمد می کند . اما مزیت اصلی یک شمارنده زنگ صرف نظر از شمارش باینری ، خود رمزگشایی آن است . هیچ مدار رمزگشای جتنبی برای تشخیص وضعیتی که شمارنده در آن است نیاز نیست .


 

شمارنده جانسون

جانسون یک شمارنده زنگ با استانداردی متفاوت است که با یک خروجی معکوس در آخرین وضعیت خروجی به اولین وضعیت ورودی متصل می گردد . این شمارنده ها به عنوان شمارنده های زنگ دوگانه شناخته می شوند. یک شمارنده جانسون با n وضعیت ، یک شمارش به طول 2n را انجام می دهد . بنابراین آن می تواند یک شمارنده باقیمانده-2n باشد . در شکل یک شمارنده جانسون چهار بیتی را مشاهده می کنید . وضعیت ترتیب برای شمارنده مطابق جدول و تصویر متحرک زیر قابل درک است .

undefined
به علاوه ، اشکال ظاهری این شمارنده آن است که ماکزیمم وضعیت قابل استفاده به طور کامل مورد استفاده نیست . تنها 8 حالت از 16 حالت ممکن استفاده می گردد .
توجه کنید که برای هر دو شمارنده زنگ و جانسون باید در ابتدا یک وضعیت مجاز را اعمال کنید . زیرا آنها در زیر مجموعه اعداد قابل دسترس خود کار می کنند.

منبع : ویکی پدیا


سه شنبه 5 آذر 1392 12:14 ق.ظ
بی ادب ؛ مطالب مفید بود
سه شنبه 5 آذر 1392 12:14 ق.ظ
بی ادب ؛ مطالب مفید بود
محمدیاسین سیرت
سه شنبه 28 آبان 1392 09:54 ق.ظ
ممنونم ازهمکاری تون!!!!!!!!!!!!!!!!!!!!!!
سید حسین
یکشنبه 17 شهریور 1392 11:11 ب.ظ
ممنون از سایت خوبتون
به تو چه
سه شنبه 3 بهمن 1391 11:33 ق.ظ
کسکش یه چیز میذاری بذار قیه هم ازش استفاده کنن.
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر