«مالتیپلکسر» (Multiplexer) نوعی مدار منطقی ترکیبی است که به منظور تخصیص یکی از چندین خط ورودی به تنها یک خط خروجی مشترک طراحی شده است. اینکه کدام ورودی در خروجی قرار بگیرد، توسط یک منطق کنترلی مشخص میشود.
روشی که در آن چند سیگنال آنالوگ یا دیجیتال را از طریق تنها یک خط انتقال مشترک و در زمانها یا سرعتهای مختلف ارسال میکنند Multiplexing نامیده میشود؛ و وسیلهای که این کار را انجام میدهد مالتیپلکسر (Multiplexer) نام دارد.
در واقع مالتیپلکسر و یا به اختصار MUX، یک مدار منطقی ترکیبی است که به گونهای طراحی شده تا یکی از خطوط ورودی را به یک خط خروجی مشترک سوئیچ کند. انتخاب سیگنال ورودی با استفاده از یک سیگنال کنترلی صورت میگیرد. هر مالتیپلکسر را میتوان به صورت یک سوئیچ چرخان چندموقعیته و سریع فرض کرد، که در هر لحظه یکی از ورودیها (کانالها) را به خروجی وصل میکند.
برای سوئیچ دادههای باینری و دیجیتالی مالتیپلکسرها را با استفاده از گیتهای منطقی سریع و به صورت یک مدار دیجیتالی طراحی میکنند. اما مالتیپلکسرهای آنالوگی نیز وجود دارند که با استفاده از ترانزیستورها، ماسفتها (MOSFET) یا رلهها ساخته میشوند و یکی از ولتاژها یا جریانهای ورودی را به خروجی سوئیچ میکنند.
شکل زیر سادهترین و پایهایترین نوع مالتیپلکسر را نشان میدهد که از یک سوئیچ چرخان یکطرفه ساخته شده است.
از آنجایی که هر ورقهی سوئیچ چرخان از وِیفِر (wafer) (ورقهی بسیار نازکی از جنس نیمههادی) ساخته شده است، به «سوئیچ ویفر» (wafer switch) نیز معروف است. سوئیچ چرخان قطعهای مکانیکی است که در آن ورودی با چرخش یک محور انتخاب میشود. به عبارت دیگر، سوئیچ چرخان یک کلید دستی است که تکتک دادهها و خطوط سیگنال را میتوان به راحتی و تنها با ON و OFF کردن ورودیها انتخاب کرد؛ اما برای انتخاب دادهی ورودی به صورت اتوماتیک، از یک قطعهی دیجیتالی استفاده میشود.
در الکترونیک دیجیتال به دلیل قابلیت انتخاب خط ورودی در مالتیپلکسرها، به آنها «انتخابگر داده» یا «دیتا سلکتور» (data selector) نیز میگویند. اینگونه مالتیپلکسرها برخلاف سلکتورهای مکانیکی که از سوئیچهای مرسوم و رلهها ساخته میشوند، از کنار هم قرار دادن چند سوئیچ آنالوگ در یک پکیج IC به وجود میآیند.
در طراحی دیجیتال برای کاهش تعداد گیتهای منطقی به کار رفته و یا انتقال چند سیگنال دیجیتالی مختلف از تنها یک باس داده، از مالتیپلکسرها استفاده میشود. به عنوان مثال با یک مالتیپلکسر ۸ کاناله میتوان ۸ سیگنال ورودی مختلف را به تنها یک خروجی سوئیچ کرد.
به طور کلی، انتخاب هر خط ورودی در مالتیپلکسر از طریق چند ورودی جداگانه که به آنها «خطوط کنترلی» گفته میشود صورت میگیرد. بر اساس وضعیت باینری ورودیهای کنترلی که ممکن است HIGH یا LOW باشند، دادهی ورودی متناسب مستقیماً به خروجی وصل میشود. به طور معمول هر مالتیپلکسر ۲n خط ورودی داده و n خط ورودی کنترلی دارد.
به این نکته توجه داشته باشید که مالتیپلکسرها کاملاً با انکودرها (Encoder) متفاوتند. در انکودرها یک دادهی ورودی n بیتی به چند خروجی سوئیچ میشود. مقدار قرار گرفته در خطوط خروجی بیانگر معادل BCD پایهی ورودی فعال است.
همانگونه که در شکل زیر نشان داده شده، میتوان با استفاده از چند گیت NAND ساده یک مالتیپلکسر با دو خط ورودی و یک خط خروجی (مالتیپلکسر ۲ به ۱) ساخت.
در این مالتیپلکسر ۲ به ۱ ورودی A به گونهای به گیتهای NAND استاندارد متصل شده که مشخص میکند کدام ورودی (I۰ یا I۱) در خروجی Q قرار میگیرد.
با توجه به جدول صحت بالا واضح است که هرگاه پایهی ورودی A صفر منطقی یا LOW است، مقدار ورودی I۱ از طریق گیتهای NAND در خروجی مالتیپلکسر قرار گرفته و ورودی I۰ مسدود میشود. در عین حال هرگاه انتخابگر دادهی A یک منطقی یا HIGH است، عملی عکس قبل اتفاق میافتد؛ یعنی مقدار I۰ در خروجی Q قرار گرفته و I۱ مسدود میشود.
لذا میتوانیم با قرار دادن ۰ منطقی یا ۱ منطقی در پایهی A، ورودی مناسب (I۰ یا I۱) را انتخاب کنیم. این مدار شبیه یک سوئیچ «یک قطب و دو فک متحرک» (SPDT) عمل میکند.
از آنجایی که تنها یک خط کنترلی داریم، لذا با استفاده از A تنها میتوانیم ۲۱ ورودی را سوئیچ کنیم؛ که در این مثال مالتیپلکسر ۲ به ۱ یکی از دو ورودی تک بیتی را به یک خروجی مشترک متصل میکند. عبارت بولی زیر این مسئله را بهتر نشان میدهد:
Q = A.I۰.I۱ + A.I۰.I۱ + A.I۰.I۱ + A.I۰.I۱
این عبارت برای یک مالتیپلکسر با دو ورودی به صورت زیر ساده میشود:
Q = A.I۱ + A.I۰
به همین منوال میتوان تعداد پایههای ورودی را افزایش داد و به وسیلهی مالتیپلکسرهای ۲ به ۱، مالتیپلکسرهای بزرگتری ایجاد کرد. برای ساخت یک مالتیپلکسر با چهار ورودی به دو خط انتخاب داده نیاز است (۲۲=۴). پایههای ورودی I۰، I۱، I۲ و I۳ نام داشته و A و B نیز خطوط انتخاب داده هستند. شکل زیر یک مالتیپلکسر ۴ به ۱ را نشان میدهد.
در مالتیپلکسر بالا پایههای ورودی A تا D وجود داشته و a و b نیز خطوط انتخاب داده هستند. عبارت بولی توصیفکنندهی خروجی این مالتیپلکسر به شکل زیر است:
Q = abA + abB + abC + abD
در مثال بالا، در هر لحظه از زمان فقط یکی از چهار سوئیچ آنالوگ بسته است و در نتیجه تنها یکی از خطوط ورودی A تا D به تک خروجی Q متصل میشود. کد ورودی آدرسدهی که بر روی خطوط a و b قرار میگیرد تعیین میکند که کدام سوئیچ بسته باشد؛ لذا مثلاً برای قرار دادن ورودی B در خروجی Q، باید آدرس باینری ورودی به صورت a=1 و b=0 باشد.
انتخاب داده از طریق مالتیپلکسر را میتوان به عنوان یک تابع و به شکل زیر نشان داد:
با افزایش تعداد خطوط کنترلی مالتیپلکسر (n) ورودیهای بیشتری را میتوان سوئیچ کرد (۲n)؛ اما کماکان هر ترکیب ممکن از خطوط کنترلی تنها یکی از ورودیها را به خروجی متصل میکند.
اگر بخواهیم عبارت بولی گفته شده را تنها با استفاده از گیتهای منطقی پیادهسازی کنیم، به حداقل هفت گیت منطقی AND، OR و NOT احتیاج داریم. شکل زیر نحوهی چگونگی این کار را انجام میدهد.
نمادی که برای نشان دادن مالتیپلکسر در دیاگرامهای منطقی استفاده میشود به شکل زیر است:
مالتیپلکسرها انواع مختلفی دارند و تنها یک نوع آنها برای سوئیچ کردن تعدادی ورودی متفاوت به یک خروجی مشترک به کار میرود. دستهای از مالتیپلکسرها نیز هستند که ورودیها را به چندین خروجی سوئیچ میکنند و به صورت مالتیپلکسرهای ۴ به ۲، ۸ به ۳ یا حتی ۱۶ به ۴ موجودند. مثال زیر نحوهی عملکرد یک مالتیپلکسر ۴ به ۲ را نشان میدهد.
در این مثال ساده تنها ۴ خط ورودی وجود داشته و این ۴ ورودی مالتیپلکسر به ۲ خط خروجی سوئیچ میشوند؛ اما ترکیبهای بزرگتری را نیز میتوان ساخت. میتوان از این مالتیپلکسر ۴ به ۲ برای سوئیچ سیگنالهای صوتی در پیش تقویتکنندههای استریو یا میکسرها استفاده کرد.
در کنار ارسال دادههای موازی به شکل سریال و از طریق تنها یک خط انتقال، یکی دیگر از کاربردهای مالتیپلکسرهای چند کاناله در دستگاههای صوتی دیجیتال مانند میکسرهاست. در «میکسر» (mixer) امکان کنترل «بهرهی» (Gain) یک تقویتکنندهی آنالوگ به صورت دیجیتالی وجود دارد.
در این مثال بهرهی ولتاژ آپامپ معکوسکننده به نسبت مقاومت ورودی (Rin) و مقاومت فیدبک (Rƒ) بستگی دارد.
همانگونه که در شکل بالا نشان داده شده است، یک سوئیچ SPST چهار کاناله بهگونهای تنظیم شده که همانند یک مالتیپلکسر ۴ به ۱ عمل میکند. در این سوئیچ مقاومتهایی به صورت سری با مقاومت ورودی قرار داده شده که با انتخاب هر مقاومت فیدبک متفاوت، بهرهی آپامپ نیز متفاوت خواهد بود. ترکیب این مقاومتها بهرهی کلی تقویتکننده (Av) را مشخص میکند. لذا به راحتی میتوان بهرهی تقویتکننده را به صورت دیجیتالی و تنها با انتخاب مقاومت مناسب تنظیم کرد.
گاهی اوقات به مالتیپلکسرهای دیجیتال «انتخابگر داده» (Data Selector) نیز گفته میشود؛ چرا که این مالتیپلکسرها نوع دادهی ارسالی به خط خروجی را انتخاب میکنند و از طرفی در مخابرات و مدارات سوئیچینگ شبکه با سرعت بالا مانند LAN و Ethernet بسیار پرکاربردند.
در برخی از IC های مالتیپلکسر یک بافر معکوسکننده (گیت NOT) به خروجی وصل شده تا در یکی از ترمینالها، خروجی با منطق مثبت (۱ منطقی یا HIGH) و در ترمینال دیگر خروجی با منطق منفی (۰ منطقی یا LOW) ایجاد شود.
همانطور که در بالا مشاهده شد، امکان ساخت مدارهای مالتیپلکسر ساده با استفاده از گیتهای AND و OR استاندارد وجود دارد، اما مرسومترین مالتیپلکسرها یا انتخابگرهای داده به صورت بستهبندی شده و در قالب IC عرضه میشوند. مانند TTL 74LS151 که یک مالتیپلکسر ۸ به ۱ است و یا TTL 74LS153 که دارای دو مالتیپلکسر ۴ به ۱ است. با اتصال «آبشاری» (cascade) دو یا چند مالتیپلکسر کوچک، تعداد ورودیهای بیشتری را میتوان پشتیبانی کرده و در نتیجه مالتیپلکسر بزرگتری ساخت.
همانگونه که دیدیم، مالتیپلکسرها مدارهای سوئیچینگی هستند که مطابق خطوط انتخاب، سیگنالی را از خود عبور داده و در خروجی قرار میدهند. از آنجایی که مالتیپلکسرها یک نوع مدار ترکیبی به شمار میروند، «حافظه» ندارند و در نتیجه مسیر فیدبکی از خروجی به ورودی وجود ندارد. مالتیپلکسر جزء قطعات الکترونیکی پرکاربرد است و در مسیریابی سیگنال (signal routing)، ارتباطات داده و کنترل باس داده (data bus control) به کار میرود.
میتوان با استفادهی همزمان مالتیپلکسر و دیمالتیپلکسر، دادههای موازی را به صورت سریال و از طریق تنها یک لینک داده مانند کابل فیبر نوری یا خط تلفن ارسال کرد؛ و در انتهای خط انتقال دوباره این داده را به دادههای موازی تبدیل کرد. مزیت استفاده از این روش برای انتقال داده، به کار بردن تنها یک خط دادهی سریال به جای چندین خط دادهی موازی است. در نتیجه، گاهی اوقات به مالتیپلکسرها، «انتخابگر داده» (data selector) نیز گفته میشود.
در سوئیچینگ سیگنالهای آنالوگ، دیجیتال و حتی ویدئویی از مالتیپلکسر استفاده میشود. اما باید توجه داشت لازم است که جریان سوئیچینگ هر کانال در مدارهای آنالوگ توان بالا، کمتر از 10mA تا 20mA باشد تا تلفات گرمایی کاهش یابد.
در قسمت بعدی از مجموعه آموزشهای منطق ترکیبی، نگاهی به دیمالتیپلکسرها خواهیم داشت، که در واقع وظیفهای عکس مالتیپلکسرها بر عهده دارند. هر دیمالتیپلکسر تنها یک خط ورودی داشته و بر اساس خطوط کنترلی، ورودی را به یکی از چندین خط خروجی ارجاع میدهد.