فلیپ فلاپ نوع D، تغییر داده شده فلیپ فلاپ SR است که در آن از یک معکوسکننده برای جلوگیری از شباهت سطح منطقی ورودیهای S و R استفاده میشود.
یکی از بزرگترین نقاط ضعف مدار دو حالته گیت SR NAND این است که حالت Set=0 و Reset=0 ممنوع میباشد. این حالت باعث میشود که هر دو خروجی در سطح منطقی یک قرار بگیرند و هر کدام از ورودیها که زودتر به منطق یک بازگردد، کنترل را از دست خواهد داد و ورودی که هنوز در منطق صفر است، وضعیت latch را کنترل میکند.
اما برای جلوگیری از این شرایط میتوان یک اینورتر را بین پایههای Set و Reset متصل کرد تا نوع دیگری از فلیپ فلاپ به نام Data Latch یا قفل داده به وجود بیاید. این فلیپ فلاپ به فلیپ فلاپ تاخیری (Delay Flip Flop) و فلیپ فلاپ نوع D نیز معروف میباشد.
فلیپ فلاپ نوع D مهمترین فلیپ فلاپ کلاکدار میباشد که با اضافه کردن یک اینورتر (گیت NOT) بین ورودیهای Set و Reset، پایه S و مکمل یکدیگر خواهند شد. بنابراین وضعیت منطقی این دو پایه هرگز مشابه نخواهد بود که به ما اجازه میدهد عملکرد toggle فلیپ فلاپ را با استفاده از یک ورودی تکی به نام D کنترل کنیم.
سپس این ورودی داده با علامت D مشخص میشود و از آن به عنوان Set داده استفاده میشود. از یک معکوس کننده نیز برای ساخت Reset که مکمل Set میباشد، استفاده خواهد شد. در واقع فلیپ فلاپ نوع D همان فلیپ فلاپ SR است و پایه S=D و R=notD میباشد. برای درک بهتر به شکل زیر نگاه کنید:
مدار فلیپ فلاپ نوع D
به خاطر داریم که یک فلیپ فلاپ ساده SR به دو ورودی نیاز دارد یکی برای Set کردن خروجی و دیگری برای Reset کردن خروجی. با اتصال یک اینورتر (گیت NOT) به فلیپ فلاپ SR، میتوانیم فلیپ فلاپ را با استفاده از یک ورودی Set و Reset کنیم. چرا که در این مدار، ورودیها مکمل یکدیگر میباشند که از اینکه هر دو ورودی در سطح پایین باشد جلوگیری میکند و مدار هرگز وارد شرایط ممنوعه نمیشود.
بنابراین این ورودی تکی ورودی DATA نامیده میشود. اگر این ورودی داده در سطح بالا باقی بماند، فلیپ فلاپ Set خواهد شد و هنگامیکه در سطح پایین میباشد، فلیپ فلاپ وضعیتش را تغییر میدهد و دوباره Reset میشود. به هر حال از آن جایی که خروجی فلیپ فلاپ با اعمال هر پالس به ورودی D تغییر وضعیت میدهد، شرایط بالا بی معنی خواهند گشت که برای اجتناب از این امر از یک ورودی اضافی به نام Clock یا Enable برای ایزولاسیون ورودی داده از مدار قفل فلیپ فلاپ استفاده میشود. در این شرایط، وضعیت ورودی D، تنها زمانی روی خروجی Q کپی میشود که کلاک ورودی فعال است.
فلیپ فلاپ D تا زمانی که ورودی کلاک در وضعیت بالا باشد، صرف نظر از وضعیت ورودی D سطح خروجی را حفظ میکند و هنگامیکه ورودی کلاک به سطح پایین میرود، هر دو ورودیهای Set و Reset در منطق یک باقی میمانند تا تغییر وضعیت ندهد و هر دادهای که در خروجی میباشد را حفظ کند. به عبارتی دیگر، خروجی در منطق یک یا صفر قفل خواهد شد تا سیگنال کلاک دوباره تغییر وضعیت دهد.
جدول وضعیت فلیپ فلاپ نوع D
Clk
|
D
|
Q
|
|
توضیحات
|
---|---|---|---|---|
|
X
|
Q
|
--Q
|
هیچ تغییری در حافظه رخ نمیدهد
|
|
0
|
0
|
1
|
Reset Q » 0
|
|
1
|
1
|
0
|
Set Q » 1
|
** علامتهای فلش در جدول نشاندهندی جهت پالس کلاک میباشند و در نظر گرفتیم که فلیپ فلاپهای نوع D با گوشهی پالس تحریک میشوند **
مستر اسلیو فلیپ فلاپ نوع D
فلیپ فلاپ نوع D میتواند با اضافه کردن یک فلیپ فلاپ SR بهینهسازی شود که این فلیپ فلاپ SR با سیگنال کلاک مکملی که دریافت میکند، فعال میشود و در این شرایط، یک فلیپ فلاپ نوع D مستر- اسلیو به وجود خواهد آمد.
در این حالت، فلیپ فلاپ نوع D مستر-اسلیو، در گوشه بالارونده سیگنال کلاک (از پایین به بالا) مستر حالت ورودی را در D قفل میکند. در حالیکه خروجی غیرفعال شدهاست.
در گوشهی پایین روندهی سیگنال کلاک، اسلیو فعال میشود و در خروجی که از مدار مستر دریافت کرده قفل میشود. سپس خروجی روی گوشه پایین رونده پالس کلاک تحریک میشود. فلیپ فلاپهای نوع D مستر – اسلیو میتوانند به یکدیگر به صورت آبشاری متصل شوند و دارای دو فاز کلاک که مخالف جهت یکدیگر میباشند، باشند. برای درک بهتر به شکل زیر نگاه کنید:
همان طور که در شکل میبینید، در گوشه ی بالارونده پالس کلاک، فلیپ فلاپ مستر، دادهها را از ورودی نوع D بارگزاری میکند. بنابراین مستر در حالت ON قرار دارد. در گوشه پایین رونده پالس کلاک، فلیپ فلاپ slave داده را بارگزاری میکند و در حالت on قرار دارد. بنابراین، همیشه یک فلیپ فلاپ در حالت ON میباشد و دیگری OFF. اما مستر و اسلیو هرگز در حالت یکسان قرار نمیگیرند. بنابراینٍ خروجی Q مقدار D را به خود میگیرد.
آیسیهای فلیپ فلاپ نوع D از هر دو نوع CMOS و TTL در دسترس میباشند که رایج ترین آنها 74LS74 میباشد که یک فلیپ فلاپ نوع D دوتایی است که شامل دو فلیپ فلاپ نوع D دو حالته در داخل یک تراشه میباشد که میتواند به صورت تکی یا حالت مستر-اسلیو مورد استفاده قرار بگیرد.
دیگر IC فلیپ فلاپ نوع D، قطعه ی 74LS174 HEX میباشد که دارای ورودی مستقیم clear میباشد. فلیپ فلاپهای چهارگانه 74LS175 با خروجیهای مکمل و فلیپ فلاپهای هشت گانه نوع D 74LS273 نیز دارای ورودی clear میباشند.
فلیپ فلاپ نوع D دوتایی 74LS74
ICهای رایج فلیپ فلاپ نوع D
پارت نامبر
|
خانواده
|
توضیحات
|
---|---|---|
74LS74
|
LS TTL
|
فلیپ فلاپ دوتایی نوع D با پایه Clear و Present
|
74LS175
|
LS TTL
|
فلیپ فلاپ نوع D چهارتایی با پایه Clear
|
74LS273
|
LS TTL
|
فلیپ فلاپ نوع D هشتتایی با پایه Clear
|
4013B
|
Standard CMOS
|
فلیپ فلاپ نوع D دوتایی
|
40174B
|
Standard CMOS
|
فلیپ فلاپ نوع D شانزدهتایی با مستر Reset
|
تقسیم کننده فرکانسی با فلیپ فلاپ نوع D
یکی از کاربردهای اصلی فلیپ فلاپ نوع D به عنوان تقسیمکننده فرکانس میباشد. اگر خروجی Q روی یک فلیپ فلاپ نوع D به طور مستقیم به ورودی D متصل باشد، المان دارای فیدبک حلقه بسته خواهد شد و پالسهای کلاک متوالی مدار دو حالته را به ازای 2 سیکل کلاک به حالت toggle میبرد.
در مقاله شمارندهها دیدیم که چگونه میتوان از قفل داده به عنوان یک تقسیمکننده باینری یا تقسیمکننده فرکانسی استفاده نمود تا یک مدار شمارنده دودویی به وجود بیاید. در این مدار، فرکانس خروجی نصف فرکانس پالس کلاک میباشد و با قرار دادن یک حلقه فیدبک در مدار فلیپ فلاپ نوع D، نوع دیگری از مدار فلیپ فلاپ به وجود میآید که فلیپ فلاپ نوع T نام دارد. از فلیپ فلاپ نوع T میتوان در شمارندههای دودویی و به صورتی که در شکل زیر نشان داده شده استفاده نمود.
شمارنده دودویی
از شکل موجهای بالا میتوان دریافت که فیدبک خروجی از نقطه Q به ترمینال ورودی D باعث به وجود آمدن خروجیهایی میشود که فرکانسشان نصف فرکانس ورودی میباشد. به عبارتی دیگر، مدار یک جداکننده فرکانسی را به وجود میآورد که فرکانس ورودی را تقسیم بر 2 (یک اکتاو) میکند و Q به ازای 2 سیکل کلاک به سطح منطقی یک میرود.
لچ داده با فلیپ فلاپ نوع D
علاوه بر مدار تقسیمکننده فرکانسی، میتوان از فلیپ فلاپ نوع D به عنوان لچ (Latch) یا قفل داده نیز استفاده نمود. یک لچ داده میتواند به عنوان یک المان برای نگهداری یا به خاطرسپاری دادههای که روی ورودی Data است، مورد استفاده قرار گیرد و بنابراین همانند یک المان حافظه تک بیتی عمل میکند و ICهایی مانند TTL 74LS74 یا CMOS 4042 به صورت چهارگانه برای استفاده به عنوان لچ داده در دسترس میباشند. با اتصال 4 فلیپ فلاپ به یکدیگر، چهار بیت داده قفل میشود. لازم به ذکر است برای نیل به این مقصود، کلاکهای ورودی باید به یکدیگر متصل و همزمان کلاک شوند. در شکل زیر نحوه ساخت یک لچ داده 4 بیتی نشان داده شدهاست:
لچ داده 4 بیتی
لچ دیتای شفاف
لچ داده المان بسیار پرکاربردی است که در الکترونیک و مدارات کامپیوتری به وفور از آن استفاده میشود. این المانها میتوانند طوری طراحی شوند تا امپدانس ورودی خیلی بالا را در هر دو خروجی Q و ’Q داشته باشند تا اثر امپدانس هنگامیکه از این مدارات به عنوان بافر، پورت ورودی/خروجی، درایور باس دو جهته یا درایور نمایشی استفاده میشود، به حداقل برسد.
اما لچ داده معمولا به صورت 4، 8، 16 یا 32 تایی هستند. یکی از IC های قفل یا لچ داده 74LS373 Transparent Latch میباشد. در این قطعه، 8 قفل داده وجود دارد که از فلیپ فلاپهای نوع D شفاف میباشد. به این معنا که هنگامیکه ورودی کلاک (Clk) در سطح بالا میباشد (اما میتواند با سطح پایین نیز فعال شود)، خروجیها در نقطه Q ورودی D را دنبال میکند.
در این پیکربندی قفل باز میباشد. به این معنی که مسیر از ورودی D به خروجی Q شفاف است. چرا که دادهها از این مسیر بدون هیچ وقفه یا مانعی جریان مییابند.
هنگامیکه سیکل کلاک در سطح پایین میباشد، قفل بسته خواهد شد و خروجی در نقطه Q در آخرین مقدار داده که قبل از تغییر سیگنال کلاک وجود داشته قفل میشود. بنابراین دیگر به تغییرات در ورودی D پاسخ نمیدهد.
لچ داده 8 بیتی
خلاصه فلیپ فلاپ نوع D
فلیپ فلاپ نوع D میتواند با استفاده از یک جفت قفل SR که از پشت به یکدیگر متصل شدهاند و اتصال یک گیت NOT بین ورودیهای S و R ساخته شود. مدار پایه فلیپ فلاپ نوع D میتواند با اضافه کردن یک فلیپ فلاپ SR دیگر به خروجی، بهینه سازی شود. این فلیپ فلاپ SR با پالس کلاک فعال میشود تا بک فلیپ فلاپ نوع D مستر-اسلیو به وجود بیاید.
تفاوت بین قفل داده D و فلیپ فلاپ نوع D در این است که قفل داده هیچ سیگنال کلاکی برای تغییر وضعیت ندارد. یک فلیپ فلاپ نوع D المانی است که با گوشه سیگنال تحریک میشود که دادههای ورودی را در گوشه ی بالا یا پایین رودنه سیگنال کلاک به Q انتقال میدهد.
در مقاله ی بعدی اتصال لچهای داده به یکدیگر را مورد بررسی قرار میدهیم و از آن برای ساخت نوع دیگری از مدارهای منطقی ترتیبی به عنوان ثبات شیفت استفاده میکنیم. از ثباتهای شیفت برای تبدیل دادههای موازی به سری و برعکس استفاده میشود.