مدار فلیپ فلاپ SR کلاک دار (آموزش جامع)

فلیپفلاپ SR کلاکدار یکی از بنیادیترین مدارهای منطقی ترتیبی در الکترونیک دیجیتال است. برخلاف لچهای سادهی SR، مدار فلیپفلاپ SR کلاکدار از یک سیگنال کلاک برای کنترل زمان تغییر وضعیت استفاده میکند، که آن را به بخش ضروری سیستمهای دیجیتال همزمان (Synchronous) تبدیل میسازد. در این راهنمای جامع، جدول درستی (Truth Table)، دیاگرام مدار با استفاده از گیتهای NAND و NOR، نحوهی عملکرد و کاربردهای عملی این مدار در الکترونیک مدرن بررسی میشود.
چه در حال یادگیری دربارهی فلیپفلاپها باشید، چه در حال طراحی مدارهای ترتیبی یا عیبیابی سیستمهای حافظه، درک نحوهی عملکرد فلیپفلاپ SR کلاکدار برای تسلط بر طراحی منطق همزمان ضروری است. در این مطلب، پیادهسازیهای حساس به لبهی مثبت (Positive Edge Triggered) و حساس به سطح (Level Triggered) را بررسی میکنیم، تفاوت طراحی با گیتهای NAND و NOR را مقایسه کرده و نمونههایی از کاربردهای واقعی را نشان میدهیم که در آنها کنترل دقیق زمانبندی اهمیت دارد.
فلیپفلاپ SR کلاکدار چیست؟ (Clocked RS Flip Flop)
فلیپفلاپ SR کلاکدار که با نام فلیپفلاپ RS کلاکدار یا فلیپفلاپ SR دروازهدار (Gated SR Flip Flop) نیز شناخته میشود، یک مدار منطقی ترتیبی همزمان است که ترکیبی از عملکرد لچ SR پایه و کنترل زمانی توسط سیگنال کلاک را ارائه میدهد. این ورودی کلاک مانند ضربان قلب مدار عمل کرده و تضمین میکند که هر تغییر در بیتهای ذخیرهشده فقط در طول پالسهای مشخصی از کلاک اتفاق بیفتد. این ویژگی باعث میشود همزمانسازی بین چندین فلیپفلاپ بسیار آسانتر از لچهای معمولی باشد.

برای درک بهتر مدارهای منطقی ترتیبی، میتوانید به راهنمای جامع ما دربارهی فلیپفلاپ در الکترونیک دیجیتال (Flip-Flop in Digital Electronics: Types, Truth Table, Logic Circuit, and Practical Demonstration) مراجعه کنید.
فلیپفلاپ SR (Set-Reset) کلاکدار یا فلیپفلاپ RS کلاکدار نسخهی پیشرفتهای از لچ SR یا RS است که برای کنترل بهتر زمانبندی در سیستمهای دیجیتال، همزمانسازی با کلاک را اضافه میکند. این مدار در مجموع سه ورودی دارد:
- Set (S)
- Reset (R)
- Clock (CLK)
در اینجا، فلیپفلاپ در لبهی بالا رونده یا پایین روندهی پالس کلاک واکنش نشان میدهد؛ برخلاف لچ که به طور پیوسته عمل میکند.
در جدول درستی زیر، خروجی (یعنی دادهی ذخیرهشده) تنها زمانی تغییر میکند که سیگنال کلاک فعال باشد. در غیر این صورت، حتی اگر S یا R فعال باشند، داده بدون تغییر باقی میماند. این رفتار وابسته به کلاک باعث میشود مدار همزمان و بسیار قابل اعتماد برای کاربردهای منطقی ترتیبی باشد.
جدول درستی و نماد فلیپفلاپ SR کلاک دار
جدول درستی فلیپفلاپ SR کلاکدار برای درک نحوهی واکنش مدار به ترکیبهای مختلف ورودی بسیار مهم است. در این جدول، تمام حالتهای ممکن ورودیهای Set (S)، Reset (R) و Clock (CLK) و خروجیهای Q و Q̅ نمایش داده میشوند.
تحلیل جدول درستی:
- زمانی که کلاک در حالت LOW باشد، مقدار S و R اهمیتی ندارد — خروجی ثابت میماند و تغییری رخ نمیدهد تا زمانی که کلاک HIGH شود.
- زمانی که کلاک HIGH و هر دو ورودی Set و Reset LOW باشند، خروجی بدون تغییر باقی میماند.
- زمانی که کلاک HIGH، Set = HIGH و Reset = LOW باشد، خروجی Q برابر HIGH و Q̅ برابر LOW میشود (شرط Set).
- زمانی که کلاک HIGH، Set = LOW و Reset = HIGH باشد، خروجی Q برابر LOW و Q̅ برابر HIGH میشود (شرط Reset).
- اگر کلاک HIGH و هر دو ورودی Set و Reset HIGH باشند، خروجی نامعتبر یا غیرقابل پیشبینی است (وضعیت ممنوع).
فلیپ فلاپ SR کلاک دار با گیت NAND
یکی از رایجترین روشهای پیادهسازی، استفاده از گیتهای NAND است. در این روش، فلیپفلاپ SR کلاکدار با افزودن دو گیت NAND به مدار لچ SR پایه (که معمولاً از گیتهای NOR ساخته میشود) طراحی میگردد.

در مدار فلیپفلاپ SR (یا RS) مبتنی بر گیت NAND، اجزای زیر وجود دارند:
- یک لچ SR پایه ساختهشده از گیتهای NAND
- مجموعهای دیگر از گیتهای NAND که به عنوان کلیدهای کنترلشده توسط کلاک عمل میکنند و ورودیهای S و R را مدیریت میکنند.
اگر خواستی بخش بعدی مقاله رو بفرستی، ترجمهاش رو به همین سبک ادامه میدم تا متن کامل و یکدست SEO-friendly تحویل بگیری.
نحوه عملکرد فلیپ فلاپ SR کلاک دار با گیت NAND
زمانی که مقدار پالس کلاک برابر با 0 باشد، خروجی هر دو گیت AND در مدار در وضعیت LOW قرار میگیرد. در نتیجه ورودیهای S و R غیرفعال میشوند و فلیپفلاپ صرفنظر از تغییرات روی ورودیها، حالت قبلی خود را حفظ میکند.
فلیپفلاپ SR بر پایه ترکیب منطقی گیتها کار میکند. اگر مسیر سیگنال را در مدار دنبال کنید، متوجه میشوید خروجیها چگونه تغییر میکنند. در شبیهسازی مدار فلیپفلاپ SR کلاکدار با گیتهای NAND در نرم افزار Proteus، میتوان رفتار واقعی آن را مشاهده کرد.
در حالتی که هر دو ورودی Set و Reset برابر LOW باشند، خروجی بدون تغییر باقی میماند و مدار حالت قبلی خود را «به یاد میسپارد». البته ممکن است در شبیهسازی نرمافزاری و سختافزار واقعی تفاوتهای جزئی دیده شود.

- وقتی Set برابر HIGH و Reset برابر LOW باشد، خروجی Q در وضعیت HIGH و خروجی Q̅ در وضعیت LOW قرار میگیرد؛ این حالت Set نام دارد.
- وقتی Reset برابر HIGH و Set برابر LOW باشد، خروجی Q در وضعیت LOW و Q̅ در وضعیت HIGH قرار میگیرد؛ این حالت Reset نام دارد.
در صورتی که هر دو ورودی Set و Reset برابر HIGH باشند، خروجی مدار نامعتبر یا غیرقابل پیشبینی خواهد بود. این وضعیت باعث ایجاد Race Condition شده و ناپایداری در مدار ایجاد میکند، بنابراین باید از آن اجتناب کرد.
مهمترین مزیت این طراحی، کنترل زمانی دقیق (Timing Control) است. فلیپفلاپ SR میتواند برای همزمانسازی سیگنالهای داده بین دو مدار دیجیتال استفاده شود تا هر دو در یک سیکل کلاک مشترک عمل کنند. این ویژگی در سیستمهای مخابراتی و پردازشی که انتقال داده باید در لحظهی خاصی انجام شود، بسیار کاربردی است.
فلیپ فلاپ SR کلاک دار با گیت NOR
در نسخهی مبتنی بر گیت NOR، از ترکیب گیتهای NOR و AND برای کنترل کلاک استفاده میشود. در این طراحی، دو گیت AND به مدار لچ SR پایه (ساختهشده از گیتهای NOR) افزوده میشوند تا فلیپفلاپ SR کلاکدار تشکیل شود.

مدار معمولاً شامل بخشهای زیر است:
- دو گیت AND که ورودیهای S، R و Clock را دریافت میکنند.
- یک لچ SR پایه ساختهشده از گیتهای NOR.
- گیتهای AND که به عنوان کلیدهای کنترلشده با کلاک عمل میکنند.
وقتی پالس کلاک به وضعیت HIGH برود (در فلیپفلاپهای حساس به لبهی مثبت)، گیتهای AND اجازه میدهند سیگنالهای Set (S) و Reset (R) به درون لچ SR منتقل شوند. از آن نقطه به بعد، مدار مانند یک لچ SR معمولی رفتار میکند:
- اگر S = HIGH و R = LOW → خروجی Q = HIGH.
- اگر S = LOW و R = HIGH → خروجی Q = LOW.
- اگر هر دو S و R برابر LOW باشند → خروجی ثابت میماند و حالت قبلی را حفظ میکند.
- اگر هر دو S و R برابر HIGH باشند → خروجی نامعتبر است (وضعیت ممنوع).
در شبیهسازی انجامشده با Proteus، عملکرد فلیپفلاپ SR کلاکدار با گیت NOR به خوبی نمایش داده شده و نحوهی تغییر حالت آن در لحظهی فعال شدن کلاک قابل مشاهده است.

مزایای کلیدی فلیپ فلاپ های SR
فلیپفلاپهای SR نسبت به لچهای SR ساده، کنترل زمانی بسیار بهتری دارند. نسخهی دروازهدار (Gated) یا کلاکدار فقط زمانی وضعیت خروجی را تغییر میدهد که سیگنال فعالکننده (کلاک) به همراه ورودیهای معتبر وجود داشته باشد. این ویژگی از تغییر حالت ناخواسته جلوگیری کرده و مشکلات زمانی مدارهای Asynchronous را از بین میبرد.
برخی از مزیتهای مهم عبارتند از:
- بیشتر فلیپفلاپهای SR کلاکدار حساس به لبهی مثبت هستند، یعنی فقط هنگام بالا رفتن لبهی سیگنال کلاک عمل میکنند.
- عملکرد همزمان باعث حذف نویز و ناهماهنگیهای زمانی میشود.
- تغییر حالت کنترلشده از بروز پدیدههای Race و Glitch جلوگیری میکند.
- دارای حافظهی یکبیتی (1-bit memory) برای ذخیرهی حالت است.
- سیستم زمانبندی دقیق از طریق تحریک لبهی کلاک فراهم میشود.
- مصونیت در برابر نویز (Noise Immunity) از تحریکهای اشتباه جلوگیری میکند.
کاربرد های فلیپ فلاپ SR کلاک دار
فلیپفلاپهای SR کلاکدار در سیستمهای دیجیتالی که نیاز به عملکرد همزمان دارند بهطور گسترده استفاده میشوند، از جمله در:
- همزمانسازی دادهها بین بلوکهای مختلف مدار
- رجیسترهای حافظه در میکروکنترلرها و پردازندهها
- ماشینهای حالت (State Machines) که کنترل زمانی دقیق دارند
- مدارهای شمارنده (Counter Circuits) و سیستمهای منطقی ترتیبی
- سیستمهای کنترلی که نیازمند هماهنگی زمانی دقیق هستند
سوالات متداول فلیپفلاپ SR کلاک دار
1. تفاوت بین فلیپفلاپ SR کلاکدار و لچ SR چیست؟
فلیپفلاپ SR کلاکدار دارای یک سیگنال کلاک است که مشخص میکند تغییر وضعیت در چه زمانی میتواند رخ دهد، در حالی که لچ SR بلافاصله نسبت به تغییر ورودی واکنش نشان میدهد. در سیستمهای دیجیتال، از سیگنال کلاک برای همزمانسازی رویدادها استفاده میشود تا از تغییر حالتهای ناخواسته جلوگیری گردد.
2. چرا حالت S=1 و R=1 در فلیپفلاپ SR کلاکدار ممنوع است؟
زمانی که هر دو ورودی Set و Reset همزمان در وضعیت HIGH قرار گیرند، هر دو خروجی تلاش میکنند در وضعیت LOW باشند. این امر باعث بهوجود آمدن حالت نامعین یا نوسانی (Oscillation) میشود که ممکن است منجر به رفتار غیرقابل پیشبینی یا حتی آسیب به مدار گردد.
3. تحریک لبهی کلاک (Clock Edge Triggering) در فلیپفلاپ SR چگونه انجام میشود؟
در تحریک لبهی بالا رونده یا پایین روندهی کلاک، فلیپفلاپ تنها در لحظهی تغییر لبهی کلاک واکنش نشان میدهد. این روش امکان کنترل دقیق زمان تغییر وضعیت را فراهم کرده و از بروز چندین تغییر حالت در طول یک پالس کلاک جلوگیری میکند.
4. چگونه میتوان از نقض زمان تنظیم و نگهداری (Setup & Hold Time Violation) در فلیپفلاپ SR جلوگیری کرد؟
ورودیهای Set و Reset باید قبل از لبهی کلاک پایدار شوند (زمان تنظیم) و پس از لبهی کلاک نیز برای مدت کوتاهی پایدار بمانند (زمان نگهداری). برای رعایت این موضوع باید از تحلیل زمانی (Timing Analysis) استفاده کرده و در صورت نیاز، از بافرها برای تنظیم تاخیرها بهره برد.
5. تاخیر انتشار (Propagation Delay) در فلیپفلاپ SR کلاکدار چیست؟
تاخیر انتشار، مدت زمانی است که از لحظهی تحریک لبهی کلاک تا تغییر خروجی طول میکشد. معمولاً این مقدار بین 5 تا 20 نانوثانیه است، که بسته به فناوری ساخت مدار متفاوت میباشد. این تاخیر در محاسبات فرکانس کاری و تحلیل زمانبندی سیستمهای دیجیتال در نظر گرفته میشود.
6. آیا فلیپفلاپ SR کلاکدار بدون سیگنال کلاک خارجی میتواند کار کند؟
خیر. فلیپفلاپ SR کلاکدار برای عملکرد صحیح به سیگنال کلاک خارجی نیاز دارد. در صورت نبود سیگنال کلاک، مدار مانند یک لچ معمولی عمل میکند و ورودیها همیشه فعال باقی میمانند، که این امر باعث از بین رفتن مزیت همزمانسازی (Synchronization) میشود.









