میکرو لایب

مثالی در رابطه با فلیپ فلاپها

با استفاده از فلیپ فلاپ ها شمارنده ای طراحی کنید که از صفر تا هفت را شمارش کند و پس از بازگشت به صفر متوقف شود.

نکته اجباری در طراحی که باید رعایت شود: کلاک فلیپ فلاپها غیر هم زمان در نظر گرفته شود

حل:

در این مثال ما می توانیم از فلیپ فلاپ D یا فلیپ فلاپ T استفاده کنیم

بنابراین ما از فلیپ فلاپ D استفاده خواهیم کرد که شما بعد از آموزش به عنوان تمرین باید بتوانید همین مثال را با فلیپ فلاپ T انجام دهید

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

خوب همانطور که می دانیم فلیپ فلاپ D تنها یک ورودی دارد

با اعمال پالس به clock فلیپ فلاپ ، مقدار ورودی در خروجی Q قرار می گیرد مقدار خروجی Q هر چه باشد خروجی Q نات برعکس مقدار Q خواهد بود

توجه کنید که خروجی فیلیپ فلاپ در لحظه ی بالا رونده پالس ساعت تغییر می کند بنابراین هر پالس ساعت تنها می تواند یک بار خروجی را تغییر دهد

برای اینکه بتوانیم مدار مثال رو رسم کنیم ابتدا باید بتوانیم کاری کنیم که با اعمال هر پالس خروجی به طور متناوب تغییر کند ، یعنی با اعمال پالس اولی خروجی Q برابر با یک شود و با اعمال مجدد پالس خروجی Q دوباره صفر گردد و این وضعیت با اعمال پالس های بیشتر همینطور تغییر پیدا کند

اگر  ورودی فیلیپ فلاپ D را با یک منطقی مقدار دهی کنید با اعمال پالس اول خروجی Q برابر با یک خواهد شد و با اعمال پالس دوم خروجی تغییر نخواهد کرد بنابراین برای ایجاد تداوم تغییر در خروجی به نظر می رسد که با وصل کردن Q نات به ورودی این مشکل برطرف خواهد شد.

برای اینکه بتوانیم خواسته مثال را انجام دهیم یعنی بتوانیم از صفر تا هفت شمارش کنیم ما نیاز به سه فلیپ فلاپ خواهیم داشت اما در ادامه مثال از ما خواسته که با رسیدن مجدد به صفر شمارش متوقف شود پس بنابراین به یک فلیپ فلاپ هم نیاز خواهیم داشت که این بخش از مثال را هم انجام دهیم که جمعا ما نیاز به چهار فلیپ فلاپ خواهیم داشت

هر چهار فلیپ فلاپ را همانطور که در بالا گفته شد طوری میبندیم که خروجی آنها به طور متداوم با اعمال پالس بتواند تغییر کند

با توجه به اینکه تغییر خروجی تنها با اعمال پالس مثبت انجام می گیرد اگر کلاک فلیپ فلاپ دومی را به خروجی Q نات فلیپ فلاپ اولی وصل کنیم زمانی که خروجی Q نات اولی برابر با یک شد یک پالس مثبت به کلاک فلیپ فلاپ دومی اعمال می شود و در نتیجه خروجی فلیپ فلاپ دوم تغییر خواهد کرد

بیایید با اعمال پالس به کلاک فیلیپ فلاپ اولی عملکرد دو فلیپ فلاپ را به صورت ذهنی با هم بررسی کنیم

زمانی که هیچ پالسی به فلیپ فلاپ اولی اعمال نشود خروجی Q هر دو فلیپ فلاپ صفر خواهد بود با اعمال اولین پالس خروجی Q فلیپ فلاپ اولی برابر با یک و در نتیجه خروجی Q نات هم برابر با صفر خواهد شد از انجایی که کلاک فلیپ فلاپ دوم به Q نات فلیپ فلاپ اولی وصل شده بنابراین مقدار صفر در پایه کلاک قرار میگیرد با اعمال پالس دوم مجددا خروجی Q فیلیپ فلاپ اولی تغییر حالت داده و به صفر تغییر می کند و خروجی Q نات هم یک خواهد شد که به عنوان پالس کلاک فلیپ فلاپ دومی در نظر گرفته شده است بنابراین در این حالت مقدار خروجی فلیپ فلاپ دومی هم تغییر حالت خواهد داد و خروجی Q فلیپ فلاپ دومی به یک منطقی تغییر خواهد کرد با اعمال پالس سوم مجددا فلیپ فلاپ اولی تغییر حالت خواهد داد و فلیپ فلاپ دومی همچنان بدون تغییر باقی خواهد ماند

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

بنابراین مقدار ۰ تا ۳ به صورت باینری در خروجی Q فلیپ فلاپ اول و دوم ظاهر خواهد شد

اگر به همین صورت از فلیپ فلاپ های بیشتری استفاده کنیم می توانیم مقدار شمارش را افزایش دهیم

بنابراین چون مثال در اینجا گفته نیاز به شمارش ۰ تا ۷ داریم با توجه با اینکه مقدار باینری ۷ برابر با ۱۱۱ می باشد و چون هر فلیپ فلاپ تنها می تواند یک بیت را در خود ذخیره کند در نهایت با توجه به مقدار باینری ۷ ما نیاز به سه فلیپ فلاپ برای شمارش مقدار ۰ تا ۷ را خواهیم داشت

برای اینکه مقدار شمارش را تنها برای یک بار محدود کنیم نیاز به فلیپ فلاپ چهارمی هم داریم که وقتی خروجی Q فلیپ فلاپ چهارم برابر با یک شد بفهمیم که شمارش تمام شده و به کمک گیت های ترکیبی نگذاریم که دیگر شمارش مجددا انجام گیرد

زمانی که شمارش مساوی و کمتر از هفت باشد مقدار خروجی Q نات فلیپ فلاپ چهارم همچنان یک خواهد بود و مقدار بزرگتر از ۷ خروجی Q نات فلیپ فلاپ چهارم را برابر با صفر خواهد کرد بنابرین با AND کردن خروجی Q نات با پالس ورودی ورودی فلیپ فلاپ اول مقدار شمارش بعد از اتمام متوقف خواهد شد

و در نهایت نقشه کامل به صورت زیر خواهد بود:

به عناون تمرین شما می توانید همین مثال را با استفاده از فلیپ فلاپ T انجام دهید.

دیدگاه‌ها (0)

*
*

question