بافر منطقی چیست؟ – به زبان ساده


بافر منطقی دیجیتال (Digital Buffer) و بافرهای سه حالته (Tri-state Buffer) در یک مدار دیجیتالی منجر به ایجاد تقویت جریان جهت درایو (Drive) بار متصل به خروجی میشوند. در این مطلب قصد داریم به بررسی گیت بافر منطقی بپردازیم و اصول کاری آن را مورد بررسی قرار دهیم.
در مطالب قبلی مجله فرادرس، به بررسی گیتهای منطقی NOT یا گیت اینورتر پرداختیم. حالت خروجی در یک گیت NOT، معکوس (Inverse) یا مکمل (Complement) حالت سیگنال ورودی است. بنابراین، اگر سیگنال ورودی به گیت NOT در حالت HIGH قرار داشته باشد، سیگنال خروجی از این گیت در حالت LOW قرار دارد. به عبارت دیگر، گیت NOT حالت سیگنال خروجی را عکس میکند و به همین دلیل به آن گیت اینورتر نیز میگویند.
اما در مدارات الکترونیکی دیجیتال، گاهی نیاز داریم که گیتهای منطقی را فقط از یکدیگر ایزوله (Isolate) کنیم و یا آنها را به بارهای بزرگی مانند رلهها، سلونوئیدها و یا لامپها درایو و یا کلیدزنی کنیم و از اینورتر استفاده نکنیم. نوعی از گیتهای منطقی ورودی سیگنال که امکان انجام چنین کاری را در اختیار کاربر قرار میدهند، گیتهای بافر دیجیتال نام دارند.
بر خلاف گیتهای تک ورودی-تک خروجی NOT مانند آیسی TTL 7404، که در آنها سیگنال خروجی گیت، مکمل سیگنال ورودی است، گیت بافر دیجیتالی عمل معکوسسازی انجام نمیدهد. در حالت کلی این گیت فاقد توانایی تصمیمگیری (مانند آنچه در گیتهای منطقی با تعداد دو ورودی یا بیشتر انجام میگیرد.) است. اما در عوض بافر دیجیتالی خروجی دیجیتالی را تولید میکند که دقیقا بر سیگنال دریافتی در ورودی خود منطبق است. به عبارت دیگر میتوان گفت که بافر دیجیتال هیچ تغییری در ورودی خود ایجاد نمیکند و سیگنال خروجی دقیقا با سیگنال ورودی برابر است.
گیت بافر دیجیتال، یک گیت خود-توان (Idempotent) است و قوانین خود-توانی بولی بر روی ورودی انجام میگیرد. زمانی که یک ورودی به این گیت دیجیتالی وارد شود، هیچ تغییری بر روی این ورودی ایجاد نمیشود. بنابراین بافر دیجیتالی، یک گیت غیر معکوسکننده (Non-Inverting) در نظر گرفته میشود و عبارت بولی مربوط به این گیت به صورت است. حال میتوان عملیات منطقی یک بافر دیجیتالی تک ورودی را به صورت زیر تعریف کرد:
خروجی Q تنها زمانی درست است که ورودی A درست باشد.
خروجی یک بافر منطقی دیجیتال تنها زمانی در سطح یک منطقی قرار دارد که ورودی آن نیز در حالت یک منطقی باشد، در غیر این صورت ورودی دارای منطق صفر است. نماد مداری یک بافر منطقی تک ورودی در شکل زیر نشان داده شده است.

جدول درستی این گیت منطقی به صورت زیر است.
Q | A |
0 | 0 |
1 | 1 |
یک بافر منطقی را میتوان از اتصال دو گیت NOT به صورت شکل زیر ایجاد کرد. گیت اول، سیگنال A را معکوس میکند و گیت دوم با معکوس کردن مجدد سیگنال خروجی از گیت قبل، آن را به حالت اولیه خود باز میگرداند. در واقع این عمل از طریق دو بار معکوس کردن سیگنال ورودی انجام میگیرد.

حال ممکن است این سوال پیش بیاید که اگر خروجی دقیقا با سیگنال ورودی برابر است، آنگاه مزیت استفاده از یک بافر منطقی دیجیتال در چیست؟ چرا از یک گیت، که هیچ عملیات منطقی را مانند گیتهای AND یا OR انجام نمیدهد، استفاده میکنیم و چرا به جای آن فقط یک قطعه سیم برای اتصال دو نقطه مدار قرار نمیدهیم؟ بافرهای دیجیتال در مدارات الکترونیکی دیجیتال کاربردهای فراوانی دارند که از آن جمله میتوان به ایجاد تقویتکنندگی دیجیتال اشاره کرد. بافرهای دیجیتال منجر به ایجاد ایزولاسیون بین سایر گیتها و طبقات مختلف مدار از یکدیگر میشوند، به این معنی که از اثرگذاری امپدانس ورودی یک مدار در امپدانس مدار دیگر جلوگیری میکنند. همچنین یک بافر دیجیتال میتواند برای درایو بارهای با جریان بالا مانند کلیدهای ترانزیستوری مورد استفاده قرار گیرد؛ زیرا توانایی درایو خروجی آنها عموما بسیار بالاتر از ملزومات سیگنال ورودی است. به عبارت دیگر، بافرها می توانند برای اهداف تقویتکنندگی توان یک سیگنال دیجیتال مورد استفاده قرار گیرند و به همین دلیل است که گفته میشود این گیتها دارای ظرفیت خروجی (Fan-Out) بالایی هستند.
پارامتر ظرفیت خروجی یک بافر و یا در حالت کلی هر گیت منطقی، برابر با توانایی درایو خروجی و یا قابلیت جریان خروجی یک آیسی منطقی است که منجر به ایجاد تقویت توان بزرگتر برای سیگنال ورودی میشود. گاهی ممکن است لازم باشد که بیشتر از یک گیت منطقی به خروجی یک گیت دیگر متصل شود و یا احتیاج به کلیدزنی (Switch) یک بار جریان بالا مانند LED باشد، در این مواقع بافرهای دیجیتالی به سادگی امکان انجام چنین عملیاتی را فراهم میآورند. مثالی از ظرفیت خروجی یک بافر دیجیتال در شکل زیر نشان داده شده است.

در حالت کلی، خروجی یک گیت بافر منطقی به ورودی گیت منطقی دیگری متصل میشود. هر ورودی به مقدار معینی جریان از خروجی گیت قبلی، برای تغییر حالت نیاز دارد. بنابراین اتصال هر گیت اضافه، به بار خروجی گیت میافزاید. با این تواصیف، ظرفیت خروجی یک بافر منطقی برابر با تعداد بارهای موازی است که میتوانند به صورت همزمان توسط یک گیت منطقی بافر دیجیتالی درایو شوند. یک بافر دیجیتال میتواند مانند یک منبع جریان عمل کند و نرخ ظرفیت خروجی بالایی داشته باشد و حتی میتواند تا 20 گیت منطقی از یک خانواده را در خروجی خود درایو کند.
اگر یک بافر منطقی نرخ ظرفیت خروجی بالایی داشته باشد (منبع جریان)، لازم است دارای نرخ ظرفیت ورودی (Fan-In) بالایی (چاه جریان) نیز باشد. اما در این صورت تاخیر انتشاری (Propagation Delay) گیت هم به دلیل این که تابعی از ظرفیت ورودی است، به شدت افزایش مییابد. بنابراین در عمل نباید از بافرهای دیجیتال با ظرفیت ورودی بیشتر از 4 استفاده کرد.
بنابراین برای شمار ورودیها و خروجیهای یک بافر منطقی که میتوانند به یکدیگر متصل شوند، محدودیت خاصی وجود دارد و در کاربردهایی که لازم است گیتها را از یکدیگر دکوپله (Decouple) کنیم، میتوانیم از گیتهای سه حالته بافر منطقی یا درایور خروجی سه حالته استفاده کنیم.
بافر منطقی سه حالته
همانند بافرهای دیجیتال استاندارد که در بالا توضیح داده شد، نوع دیگری از بافرهای منطقی وجود دارند که میتوان در صورت لزوم خروجی آنها را به صورت الکترونیکی از خروجی مداری قطع کرد. این نوع بافرهای دیجیتال با عنوان بافرهای سه حالته (Tri-state Buffer) شناخته میشوند.
بافر منطقی سه حالته را میتوان به عنوان یک کلید کنترل خروجی در نظر گرفت که خروجیهای آن میتوانند به صورت الکترونیکی و با استفاده از یک سیگنال ورودی کنترلی خارجی (سیگنال Enable) خاموش و یا روشن شوند. این سیگنال کنترلی میتواند دارای دو منطق صفر و یا یک باشد. اما به دلایلی که در زیر به بیان آن میپردازیم، یک بافر سه حالته را تشکیل میدهد.
در این بافر منطقی، در یک حالت به خروجی اجازه داده میشود که در مد نرمال عمل کند و خروجی مدنظر را تولید کند، اما در حالت دیگر خروجی به صورت کامل قطع میشود. بنابراین یک بافر دیجیتالی دارای دو ورودی است، یک ورودی برای دادهها و ورودی دیگر متعلق به سیگنال کنترلی یا Enable. معادل کلیدی یک بافر سه حالته در شکل زیر نشان داده شده است.

زمانی که بافر منطقی در حالت سوم قرار داشته باشد، منجر به قطع شدن خروجی و ایجاد شرایط مدار باز شدن خروجی میشود. در این شرایط خروجی نه حالت HIGH دارد و نه LOW، بلکه امپدانس بسیار بالایی دارد که اصطلاحا به آن High-Z یا Hi-Z میگویند. بنابراین این ادوات دارای دو حالت ورودی منطقی صفر و یک هستند، اما می توانند سه حالت متفاوت خروجی را ایجاد کنند: صفر منطقی، یک منطقی، و High-Z. به همین دلیل به این ادوات بافر سه حالته گفته میشود.
به این نکته توجه کنید که حالت سوم برابر با منطق صفر یا یک نیست، بلکه یک حالت با امپدانس بسیار بالا است که در آن خروجی بافر از بقیه مدار به صورت الکتریکی قطع میشود. در نتیجه هیچ جریانی از منبع تغذیه کشیده نمیشود.
چهار نوع کلی بافر منطقی سه حالته وجود دارد. یک نوع از این بافرهای سه حالته، بافرهای Active-HIGH هستند که در آنها سیگنال خروجی توسط یک سیگنال کنترلی Active-HIGH فعال یا غیرفعال میشود و یک خروجی معکوس شده یا غیر معکوسشده تولید میشود. نوع دیگر این بافرها، بافرهای Active-LOW هستند که در آنها خروجی توسط یک سیگنال Active-LOW کنترل میشود و یک خروجی معکوسشده و یا غیر معکوسشده را تولید میکند. نماد مداری بافر سه حالته غیر معکوسکننده Active-HIGH مانند شکل زیر است.

جدول درستی بافر سه حالته غیر معکوسکننده Active-HIGH نیز در زیر نشان داده شده است.
خروجی | ورودی | Enable |
Hi-Z | 0 | 0 |
Hi-Z | 1 | 0 |
0 | 0 | 1 |
1 | 1 | 1 |
خروجی یک بافر سه حالته معکوسکننده Active-HIGH مانند 74LS240، زمانی فعال میشود که یک پالس کنترلی سطح یک منطقی به پایه Enable آن اعمال شود. در این حالت دادهها از ورودی به خروجی منتقل میشوند، اما معکوس شده و یک خروجی مکمل ورودی تولید میکنند. زمانی که سیگنال کنترلی Enable در حالت low یا سطح صفر منطقی قرار داشته باشد، خروجی بافر غیرفعال میشود و در شرایط Hi-Z قرار میگیرد. نماد مداری بافر منطقی سه حالته معکوسکننده Active-HIGH به صورت زیر است.

جدول درستی بافر سه حالته معکوسکننده Active-HIGH در زیر آورده شده است.
خروجی | ورودی | Enable |
Hi-Z | 0 | 0 |
Hi-Z | 1 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
یک بافر سه حالته Active-Low عملکردی برعکس گیتهای بالا دارد. این بافر زمانی فعال میشود که یک سیگنال با سطح صفر منطقی به پایه Enable آن اعمال شود. دادهها از ورودی بافر به خروجی آن منتقل میشوند. اما اگر سطح منطقی سیگنال کنترلی سطح یک باشد، آنگاه خروجی بافر غیرفعال میشود و شرایط امپدانس بالا Hi-Z در خروجی ظاهر میشود. نماد مداری بافر سه حالته Active-Low به صورت زیر است.

جدول درستی این گیت در زیر آورده شده است.
خروجی | ورودی | Enable |
0 | 0 | 0 |
1 | 1 | 0 |
Hi-Z | 0 | 1 |
Hi-Z | 1 | 1 |
در یک بافر سه حالته معکوسکننده Active-Low، خروجی زمانی فعال یا غیرفعال میشود که یک سیگنال سطح صفر منطقی به پایه کنترلی اعمال شود. زمانی که بافر با اعمال یک سیگنال سطح صفر فعال شود، خروجی آن، مکمل ورودی اعمالی به بافر میشود. زمانی که پالس کنترلی اعمالی به بافر در سطح منطقی یک باشد، خروجی بافر غیرفعال میشود و به حالت امپدانس بالا میرود. نماد مداری بافر سه حالته معکوسکننده Active-Low به صورت زیر است.

جدول درستی این نوع بافر در زیر آورده شده است.
خروجی | ورودی | Enable |
1 | 0 | 0 |
0 | 1 | 0 |
Hi-Z | 0 | 1 |
Hi-Z | 1 | 1 |
کنترل بافر سه حالته
تا این قسمت متوجه شدیم که یک بافر میتواند منجر به تقویت جریان در یک مدار دیجیتال شود و همچنین میتواند به منظور معکوس کردن ورودی به کار گرفته شود. همچنین دیدیم که بافرهای دیجیتال در انواع سه حالته نیز وجود دارند که این امکان را فراهم میآورند که خروجی به صورت موثری قطع شود و شرایط امپدانس بالا، که معادل با مدار باز است، فراهم شود.
بافر سه حالته، در مدارات الکترونیکی و میکروپروسسوری فراوانی مورد استفاده قرار میگیرد؛ زیرا به چندین گیت منطقی اجازه میدهد تا به یک سیم یا ترمینال متصل شوند، بدون این که خطری ایجاد شود و یا منجر به از دست رفتن دادهها شود. به عنوان مثال فرض کنید که یک خط یا باس داده به تعدادی حافظه، لوازم جانبی (Peripherals) و CPU و پورتهای ورودی و خروجی (I/O) متصل است. هر کدام از این ادوات قادر به دریافت و یا ارسال داده به دیگری از طریق این خط داده به صورت همزمان هستند. این روش منجر به مشکلی در تبادل داده میشود که به پدیده مجادله یا contention مشهور است. مشکل contention زمانی اتفاق میافتد که چند وسیله به یکدیگر متصل شوند و بعضی از آنها بخواهند که خروجی خود را به حالت HIGH و بعضی به حالت LOW درایو کنند. اگر این ادوات در یک زمان بخواهند که داده ارسال و یا دریافت کنند، ممکن است منجر به ایجاد مدار اتصال کوتاه شود. در واقع اگر یکی از ادوات به باس، سطح یک منطقی (ولتاژ تغذیه) را بفرستد، اما وسیله دیگری در سطح صفر منطقی یا زمین تنظیم شود، اتصال کوتاه به وجود میآید و مدار آسیب دیده و منجر به از دست رفتن دادهها میشود.
دادههای دیجیتالی در طول خط داده یا گذرگاه داده به صورت سریال یا موازی ارسال میشوند. در انتقال سریال، یک بیت در هر زمان ارسال میشود. البته امکان دارد هشت و یا تعداد بیشتر سیم وجود داشته باشد و در نتیجه دادهها به صورت موازی منتقل شوند. مثلا باس داده در یک میکروپروسسور که به چندین بافر سه حالته اجازه میدهد که بدون آسیب و یا از دست رفتن دادهها به گذرگاه داده متصل شوند. نمایی از این روش انتقال داده در تصویر زیر نشان داده شده است.

بنابراین میتوان از یک بافر دیجیتالی سه حالته برای ایزوله کردن ادوات و مدارها از یکدیگر و نیز از گذرگاه داده استفاده کرد. اگر خروجی چند بافر سه حالته به صورت الکتریکی به یکدیگر متصل شده باشند، از دیکودرها (Decoder) برای تنظیم و کنترل استفاده میشود تا در هر زمان فقط یکی از بافرهای سه حالته فعال باشد و بقیه بافرها در حالت امپدانس بالا باشند. مثالی از بافرهای سه حالته در شکل زیر دیده میشود که به یک گذرگاه داده چهار سیمی متصل شدهاند.

این مثال ساده نشان میدهد که چگونه یک دیکودر باینری میتواند برای کنترل تعدادی از بافرهای سه حالته هم به صورت منفرد و هم به صورت جمعی مورد استفاده قرار گیرد. دیکودر میتواند خروجی مناسب را متناظر با ورودی باینری انتخاب کند و فقط به یکی از مجموعه دادهها اجازه دهد تا منطق صفر و یا منطق یک خروجی را به گذرگاه داده منتقل کنند. در این زمان، سایر بافرهای سه حالته متصل به گذرگاه داده از طریق قرار گرفتن در حالت امپدانس بالا، غیرفعال میشوند. بنابراین مثلا دادههای موجود در مجموعه داده A فقط زمانی میتوانند به گذرگاه عمومی منتقل شوند که یک سیگنال فعالسازی HIGH به پایه Enable بافرهای سه حالته متناظر اعمال شود. در تمام زمانهای دیگر، بافر امپدانس بسیار بالایی را از خود نشان میدهد و به صورت موثری از گذرگاه داده ایزوله میشود.
به صورت مشابه، مجموعه دادههای B فقط زمانی به گذرگاه داده ارسال میشوند که سیگنال فعالسازی به پایه EN B اعمال شود. مثال بسیار خوبی از اتصال چند بافر سه حالته به یکدیگر برای کنترل مجموعه دادهها، آیسی بافر TTL 74244 Octal است.
همچنین ممکن است که بافرهای سه حالته را به صورت پشت به پشت به یکدیگر متصل کرد. در این حالت، مداری تولید میشود که بافر دو جهته (Bi-directional Buffer) نام دارد. در این مدار یک بافر Active-High به صورت موازی اما معکوس به یک بافر Active-Low دیگر متصل میشود. در این نوع بافر، ورودی کنترلی Enable بیشتر شبیه یک سیگنال کنترلی جهتدار عمل میکند و این امکان را فراهم میکند که هم دادهها را به یک سیم انتقال داده واحد منتقل کرد و هم از آن دادهها را خواند. در این کاربردها، بافرهای دیجیتال سه حالته با توانایی کلیدزنی دو جهته مانند آیسی TTL 74245 مورد استفاده قرار میگیرند.
همانطور که گفتیم یک بافر سه حالته، وسیلهای غیر معکوسکننده (Non-Inverting) است و خروجی را تولید میکند که دقیقا با مقدار ورودی برابر است. این خروجی فقط زمانی تولید میشود که سیگنال کنترلی اعمالی به پایه Enable دارای مقدار HIGH باشد، در غیر این صورت خروجی بافر به وضعیت امپدانس بالا تغییر مییابد. خروجیهای سه حالته در بسیاری از مدارت مجتمع (Integrated Circuits) و سیستمهای دیجیتال مورد استفاده قرار میگیرند و کاربرد آنها محدود به بافرهای سه حالته نیست.
هم بافرهای دیجیتال و هم بافرهای سه حالته به جای گیتهای منطقی معمولی میتوانند مورد استفاده قرار گیرند تا تقویت جریان مناسب را برای درایو بارهای بزرگ (مانند رلهها، لامپها و ترانزیستورهای قدرت) فراهم کنند. به علاوه یک بافر میتواند منجر به ایجاد ایزولاسیون الکتریکی بین دو و یا تعداد بیشتری مدار شود.
همانطور که در قسمتهای قبل توضیح دادیم، اگر چند وسیله سه حالته به یکدیگر متصل شوند، میتوانند یک گذرگاه داده تشکیل دهند. در این شرایط تا زمانی که در هر لحظه فقط یکی از ادوات فعال باشند، مشکلی وجود نخواهد داشت. گذرگاههای سه حالته به چندین وسیله دیجیتالی اجازه میدهند که از یک خط، هم داده بخوانند و هم به آن داده منتقل کنند. این کار با استفاده از سیگنالهای I/O و کدگشایی آدرسها امکان پذیر است.
بافرهای سه حالته در فرم مجتمع مانند دو تایی (Quad)، شش تایی (Hex) و هشت تایی (Octal) و در هر دو فرم تک جهته و دو جهته وجود دارند. متداولترین نوع این آیسیها TTL 74240 و TTL 74244 و TTL 74245 هستند. در شکل زیر نمایی از مدار داخلی بافر دیجیتال 74LS07 دیده میشود.

در شکل زیر نمایی از آیسی بافر سه حالته هشت تایی TTL 74244 نشان داده شده است.

متداولترین آیسیهای بافر دیجیتال و بافر سه حالته TTL و CMOS به صورت زیر هستند.
TTL
- بافر غیر معکوسکننده شش تایی 74LS07
- بافر/درایور شش تایی 74LS17
- بافر/درایور خط هشت تایی 74LS244
- بافر دو جهته هشت تایی 74LS245
CMOS
- بافر غیر معکوسکننده شش تایی CD4050
- بافر سه حالته شش تایی CD4503
- بافر سه حالته هشت تایی HEF40244
اگر علاقهمند به یادگیری مباحث مشابه مطلب بالا هستید، آموزشهایی که در ادامه آمدهاند نیز به شما پیشنهاد میشوند.
- مجموعه آموزشهای مهندسی الکترونیک
- آموزش مدارهای منطقی (طراحی دیجیتال)
- مجموعه آموزشهای نرمافزارهای مهندسی برق و الکترونیک
- آموزش مدار منطقی (مرور – تست کنکور ارشد)
- منطق دیجیتال — از صفر تا صد
- آموزش سیستمهای باینری — مجموعه مقالات جامع وبلاگ فرادرس
- فلیپ فلاپ JK — از صفر تا صد
^^
سلام خدمت شما بسیار جامع وکامل بود .باتشکر فراوان…
روان و کامل بود ، تشکر می کنم از وقتی که برای ارائه این مطلب صرف کردید .
با عرض سلام و تشکر ویژه از خانم مهندس آقایی این مطلب بسیار بسیار مفید بود .