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

۴۹۶۵ بازدید
آخرین به‌روزرسانی: ۲۴ اردیبهشت ۱۴۰۲
زمان مطالعه: ۱۱ دقیقه
بافر منطقی چیست؟ — به زبان ساده

بافر منطقی دیجیتال (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 درست باشد.

خروجی یک بافر منطقی دیجیتال تنها زمانی در سطح یک منطقی قرار دارد که ورودی آن نیز در حالت یک منطقی باشد، در غیر این صورت ورودی دارای منطق صفر است. نماد مداری یک بافر منطقی تک ورودی در شکل زیر نشان داده شده است.

نماد مداری بافر دیجیتالی تک ورودی
نماد مداری بافر دیجیتالی تک ورودی

جدول درستی این گیت منطقی به صورت زیر است.

QA
00
11

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

ساخت بافر دیجیتالی با اتصال دو گیت NOT
ساخت بافر دیجیتالی با اتصال دو گیت NOT

حال ممکن است این سوال پیش بیاید که اگر خروجی دقیقا با سیگنال ورودی برابر است، آن‌گاه مزیت استفاده از یک بافر منطقی دیجیتال در چیست؟ چرا از یک گیت، که هیچ عملیات منطقی را مانند گیت‌های 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
نماد مداری بافر سه حالته Active-HIGH

جدول درستی بافر سه حالته غیر معکوس‌کننده Active-HIGH نیز در زیر نشان داده شده است.

خروجیورودیEnable
Hi-Z00
Hi-Z10
001
111

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

بافر سه حالته معکوس‌کننده Active-HIGH
بافر سه حالته معکوس‌کننده Active-HIGH

جدول درستی بافر سه حالته معکوس‌کننده Active-HIGH در زیر آورده شده است.

خروجیورودیEnable
Hi-Z00
Hi-Z10
101
011

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

نماد مداری بافر سه حالته Active-low
نماد مداری بافر سه حالته Active-low

جدول درستی این گیت در زیر آورده شده است.

خروجیورودیEnable
000
110
Hi-Z01
Hi-Z11

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

بافر سه حالته معکوس‌کننده Active-low
بافر سه حالته معکوس‌کننده Active-low

جدول درستی این نوع بافر در زیر آورده شده است.

خروجیورودیEnable
100
010
Hi-Z01
Hi-Z11

کنترل بافر سه حالته

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

بافر سه حالته، در مدارات الکترونیکی و میکروپروسسوری فراوانی مورد استفاده قرار می‌گیرد؛ زیرا به چندین گیت منطقی اجازه می‌دهد تا به یک سیم یا ترمینال متصل شوند، بدون این که خطری ایجاد شود و یا منجر به از دست رفتن داده‌ها شود. به عنوان مثال فرض کنید که یک خط یا باس داده به تعدادی حافظه، لوازم جانبی (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 دیده می‌شود.

بافر دیجیتال 74LS07
بافر دیجیتال 74LS07

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

بافر سه حالته هشت تایی 74LS244
بافر سه حالته هشت تایی 74LS244

متداول‌ترین آی‌سی‌های بافر دیجیتال و بافر سه حالته TTL و CMOS به صورت زیر هستند.

TTL

  • بافر غیر معکوس‌کننده شش تایی 74LS07
  • بافر/درایور شش تایی 74LS17
  • بافر/درایور خط هشت تایی 74LS244
  • بافر دو جهته هشت تایی 74LS245

CMOS

  • بافر غیر معکوس‌کننده شش تایی CD4050
  • بافر سه حالته شش تایی CD4503
  • بافر سه حالته هشت تایی HEF40244

اگر علاقه‌مند به یادگیری مباحث مشابه مطلب بالا هستید، آموزش‌هایی که در ادامه آمده‌اند نیز به شما پیشنهاد می‌شوند.

^^

بر اساس رای ۱۴ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
Electronics Tutorials
۳ دیدگاه برای «بافر منطقی چیست؟ — به زبان ساده»

سلام خدمت شما بسیار جامع وکامل بود .باتشکر فراوان…

روان و کامل بود ، تشکر می کنم از وقتی که برای ارائه این مطلب صرف کردید .

با عرض سلام و تشکر ویژه از خانم مهندس آقایی این مطلب بسیار بسیار مفید بود .

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *