بافر منطقی چیست؟ — به زبان ساده
بافر منطقی دیجیتال (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 به صورت زیر است.
سلام خدمت شما بسیار جامع وکامل بود .باتشکر فراوان…
روان و کامل بود ، تشکر می کنم از وقتی که برای ارائه این مطلب صرف کردید .
با عرض سلام و تشکر ویژه از خانم مهندس آقایی این مطلب بسیار بسیار مفید بود .