«فرستنده گیرنده» (transceiver) برای اتصال دستگاههای جانبی مختلف به یک «باس» (bus) ارتباطی مشترک استفاده میشود. در فرستنده گیرنده برای اشتراکگذاری داده در دو جهت، از بافرهای سه حالته که به صورت متوالی متصل شدهاند استفاده میشود.
فرستنده گیرنده را میتوان برای کنترل دوجهتهی (ورودی یا خروجی) دستگاههای آنالوگ یا دیجیتال از طریق یک باس دادهی مشترک به کار برد. برخلاف بافرها، فرستنده گیرندهها قطعاتی دو جهته هستند که عبور داده را از دو طرف میسر میکنند.
کلمهی Transceiver از ادغام دو کلمهی trans-mitter به معنای فرستنده و re-ceiver به معنای گیرنده به وجود آمده است (Transceiver .(transmitter/receiver ها به عنوان قطعات send/receive یا driver/receiver نیز شناخته میشوند.
همانگونه که میدانیم بافرها توانایی تصمیمگیری و عبور اطلاعات در جهت معکوس را ندارند، برخلاف گیتهای منطقی دیجیتال که دو یا چند ورودی داشته و تصمیمگیری میکنند. در عوض خروجی بافرها دقیقاً همانند ورودیشان است. بدین ترتیب بافر یک قطعهی غیرمعکوسکننده است که عبارت بولی توصیفکنندهی آن برابرست با: Q = A
در شکل بالا یک بافر دیجیتال نشان داده شده است. این بافرها قطعاتی یک جهته هستند؛ بدین معنی که تنها در یک جهت (از ورودی A به خروجی Q) اجازهی عبور سیگنال را میدهند.
بدین ترتیب هرگاه ورودی A 1 باشد، خروجی Q نیز ۱ خواهد بود. از طرف دیگر هرگاه ورودی A 0 باشد، خروجی Q نیز صفر خواهد بود. آیسی CMOS ۷۴HC4050 یک بافر هگز است که بر اساس منطق مثبت کار میکند.
بافرها را میتوان برای ایزولاسیون و جداسازی گیتها و طبقههای مدار از یکدیگر استفاده کرد. با این کار از تأثیرگذاری امپدانس یا عملکرد یک مدار بر امپدانس یا عملکرد مدار دیگر جلوگیری میشود. از طرفی بافرها به عنوان درایور یا راهانداز نیز برای بارهای جریان بالا مثل سوئیچهای ترانزیستوری کاربرد دارند؛ چرا که توانایی راهاندازی خروجی یا «فَنآوت» (fan-out) آنها بسیار بیشتر از مقدار سیگنال ورودیشان است. به عنوان مثال TTL ۷۴LS07 یک بافر/راهانداز هگز است که خروجیهایی از جنس open collector و ولتاژ بالا (۳۰ ولت) دارد.
همانگونگه که در شکل زیر نشان داده شده است، بافر دیجیتالی غیرمعکوسکننده را میتوان به وسیلهی یک گیت AND، یک گیت OR یا ترکیب سری دو گیت NOT ساخت.
یکی از معایب بافر دیجیتالی تک ورودی این است که همواره سطح منطقی خروجی Q با سطح منطقی سطح منطقی ورودی برابر است، و لذا ورودی همواره بر مدار یا قطعهی متصل به خروجی تأثیر میگذارد. یکی از روشهای غلبه بر این موضوع، تبدیل بافر بررسی شده به یک «بافر سه حالته» (Tri-state Buffer) است.
بافر سه حالته، بافری است که در آن میتوان مسیر سیگنال منطقی از ورودی به خروجی را کنترل کرد. بافر سه حالته یک قطعهی ترکیبی است که خروجی آن را میتوان به صورت الکترونیکی و از طریق یک پایهی کنترل یا فعالساز (EN) خارجی، ON و OFF کرد. به خاطر این ویژگی از بافرهای سه حالته در سیستمهای مبتنی بر باس استفاده میشود.
همانگونه که از نام بافر سه حالته برداشت میشود، خروجی Q میتواند سه مقدار مختلف داشته باشد. این مقادیر عبارتند از ۰ منطقی، ۱ منطقی و «امپدانس بالا» (high impedance) یا High-Z که به معنی مدار باز بوده و با ۰ یا ۱ منطقی فرق دارد.
سیگنال کنترل یا فعالساز بافرها ممکن است ۰ یا ۱ باشد، از طرفی خروجی بافرها نیز میتواند نسبت به ورودی معکوس یا غیرمعکوس باشد. دو نمونه از پرکاربردترین آیسیهای بافر سه حالته عبارتند از TTL 74LS125 و TTL 74LS126.
با توجه به نکات گفته شده، دریافتیم که بافر سه حالته یک ورودی داده (A) و یک ورودی کنترل یا فعالساز (EN) دارد.
نماد بافر سه حالته شباهت بسیار زیادی با نماد بافرهای استاندارد دارد، با این تفاوت که یک پایهی بیشتر برای نمایش ورودی کنترلی قرار گرفته است. هرگاه ورودی فعالساز ۱ باشد (برای منطق مثبت)، به عنوان یک بافر معمولی عمل کرده و مقدار سیگنال ورودی A را (چه ۱ باشد و چه ۰) در خروجی Q قرار میدهد.
اما اگر ورودی فعالساز ۰ باشد، بافر سه حالته به وضعیت سوم سوئیچ شده و خروجی OFF یا مدار باز میشود. این وضعیت سوم با ۰ منطقی (low) و ۱ منطقی (high) متفاوت است؛ به این وضعیت «های امپدانس» یا High-Z گفته میشود که به اختصار آن را Hi-Z نیز میگویند.
همانگونه که دیدیم ورودیهای بافر سه حالته تنها میتوانند ۰ یا ۱ باشند؛ در حالی که خروجی ممکن است یکی از سه حالت ۰، ۱ یا Hi-Z باشد. باز هم تأکید میکنیم که وضعیت سوم با ۰ یا ۱ منطقی برابر نیست. وضعیت Hi-Z را میتوان همانند قطع بودن الکتریکی خروجی در نظر گرفت.
به طور کلی برای یک بافر سه حالته با منطق مثبت داریم:
با توجه به حرفهای گفته شده جدول درستی یک بافر سه حالته را میتوان به صورت زیر جمعبندی کرد.
بافرهای سه حالته به شکل آیسی ساخته میشوند که این آیسیها ممکن است ۴ (quad)، ۸ (hex)، یا ۱۶ (octal) بافر را در درون خود جای دهند. به عنوان مثال TTL 74LS244 یک بافر سه حالتهی اُکتال است که دیاگرام آن در شکل زیر نشان داده شده است.
توجه داشته باشید که ۸ بافر سه حالته در دو گروه ۴ تایی قرار گرفتهاند. گروه اول (A1 تا A4) با استفاده از پایهی CA کنترل شده و گروه دوم (A5 تا A8) با استفاده از پایهی CB کنترل میشوند. در صورت نیاز به سوئیچ کردن بارهای ترانزیستوری، ۷۴LS244 توانایی جریاندهی بالایی دارد.
اما کاربردهای بافر سه حالته چیستند؟ بافرهای سه حالته این امکان را به ما میدهند که از میان چندین قطعه که به یک باس مشترک متصل شدهاند، بافر متصل به یک قطعهی دلخواه را فعال کرده و خروجی سایر بافرها را Hi-Z کنیم. برای درک بهتر این موضوع به مدار زیر توجه کنید.
خروجی هر یک از بافرهای سه حالته به یک سیم باس مشترک متصل شده و ورودیهای فعالساز آنها به یک دیکدر باینری وصل شدهاند. وجود دیکدر باعث میشود در هر لحظه از زمان با توحه به سیگنال فعالساز، تنها یک بافر سه حالته فعال باشد. با این کار اطلاعات بافر فعال مستقیاً بر روی باس مشترک قرار گرفته و خروجی سایرافر بافرها قطع گشته و هایامپدانس میشوند. اینکه کدام بافر به باس مشترک متصل باشد، به مقدار باینری قرار گرفته در ورودیهای انتخاب دیکدر بستگی دارد.
ممکن است متوجه شده باشید که باس مشترک اشاره شده همانند یک مالتیپلکسر ۴ به ۱ عمل میکند؛ یعنی با استفاده از دو خط انتخاب (که به ورودی دیکدر داده شده)، یکی از چهار بافر فعال شده و بر روی باس قرار میگیرد. پس یکی از راههای ساخت مدارهای مالتیپلکسر استفاده از بافرهای سه حالته است.
با اتصال پایهی EN به Vcc+ یا زمین (با توجه به منطق مثبت یا منفی بودن بافر سه حالته)، بافر سه حالته به یک بافر دیجیتالی معمولی تبدیل میشود. در واقع با این کار همواره خروجی فعال است و سیگنال ورودی A مستقیماً به خروجی Q منتقل میشود.
تا بدین جای کار با نحوهی استفاده از بافرهای سه حالته برای ارسال اطلاعات به صورت یک جهته آشنا شدهایم. حال میخواهیم از همین بافرها برای ارسال و دریافت اطلاعات (از دو جهت) استفاده کنیم.
اگر بافرهای سه حالته را به طور «پشت به پشت» (back-to-back) و یا موازی برعکس وصل کنیم، «بافر دو جهته» یا مدار «فرستنده گیرنده» ساخته میشود. با استفاده از یک معکوسکننده، یکی از بافرهای سه حالته به صورت «فعال بالا» و دیگری به صورت «فعال پایین» عمل خواهد کرد. شکل زیر این موضوع را بهتر نشان میدهد.
در اینجا دو بافر سه حالته از A به B، موازی اما برعکس متصل شدهاند. در این نوع اتصال پایهی EN شبیه یک سیگنال کنترلکنندهی جهت عمل میکند، در نتیجه میتوان اطلاعات را در یک ترمینال دادهی یکسان خواند و نوشت.
در این مثال، هرگاه پایهی فعالساز HIGH یا ۱ باشد، اجازهی عبور اطلاعات از A به B از طریق بافر ۱ داده میشود و هرگاه پایهی فعالساز LOW یا ۰ شود، اجازهی عبور اطلاعت از B به A و از طریق بافر ۲ داده میشود.
مثالی که مطرح شد، اساس کار آیسیهایی مثل TTL 74LS245 یا CMOS 74ALS620 را تشکیل میدهد. به اینگونه آیسیها، «باس فرستنده گیرنده» (Bus Transceiver) گفته میشود.
باسهای فرستنده گیرنده، قطعات سه حالته و دو جهتهای هستند که انتقال اطلاعات بین دو نقطه را ممکن میکنند. از مهمترین کاربردهای این باسها میتوان به سیستمهای مبتنی بر باس و کنترل دو جهتهی (ورودی یا خروجی) مدارات واسط اشاره کرد. باسهای فرستنده گیرنده ممکن است معکوسکننده مثل TTL 74LS242 یا غیر معکوسکننده مثل TTL 74LS243 باشند.
به عنوان مثال میتوان از یک فرستنده گیرندهی ۸ خطی مثل TTL 74LS245 به عنوان واسط میان قطعات ورودی/خروجی و یک باس دادهی ۸ بیتی استفاده کرد. آیسی TTL 74LS245 رایجترین باس فرستنده گیرنده است که هم برای ارسال و هم برای دریافت اطلاعات کاربرد دارد.
آیسی TTL 74LS245 یک باس فرستنده گیرندهی اُکتال است که برای ارتباط دوجهتهی آسنکرون بین دستگاههای ورودی/خروجی یا دو باس داده طراحی شده است. آیسی فرستنده گیرنده با توجه به مقدار منطقی ورودی کنترل جهت (DIR) (پایهی شماره ۱)، اجازهی عبور اطلاعات از ترمینال A به B یا برعکس را صادر میکند.
به عنوان مثال، اگر مقدار ورودی کنترل جهت HIGH باشد، اطلاعات از ترمینال A به ترمینال B عبور میکنند؛ اما اگر ورودی کنترل جهت LOW باشد، اطلاعات در جهت عکس و از ترمینال B به ترمینال A عبور خواهند کرد. با HIGH کردن پایهی ۱۹ که پایهی فعالساز تراشه یا ورودی CE) chip-enable) است، میتوان قطعه را غیرفعال کرده و در نتیجه ترمینالها و باسهای دادهی متصل به آیسی از یکدیگر ایزوله و جدا کرد.