آموزش مبدل سطح ولتاژ لول شیفتر (Level Shifter TXB0104)

TXB0104 یک مبدل سطح ولتاژ دوطرفه ساخت شرکت Texas Instruments است. این تراشه چهار کانال ورودی/خروجی دارد و مجهز به یک پایه فعالسازی خروجی است که امکان قرار دادن خطوط سیگنال در حالت امپدانس بالا را هنگام عدم استفاده فراهم میکند.
TXB0104 با توجه به ولتاژ سمت کم و زیاد، میتواند پهنای باندی بین 20Mbps تا 100Mbps ارائه دهد؛ به همین دلیل برای سیگنالهای سرعت بالا مانند SPI کاملاً مناسب است. برد جانبی SparkFun TXB0104 استفاده از این تراشه قدرتمند را در پروژهها بسیار ساده میکند.
برای درک بهتر عملکرد این تراشه، آشنایی با موضوعات زیر مفید است:
- Serial Peripheral Interface (SPI): پروتکلی رایج برای اتصال میکروکنترلرها به حسگرها، رجیسترهای شیفت و کارتهای SD
- Logic Levels: تفاوت ولتاژهای منطقی 3.3 ولت و 5 ولت و نحوه سازگاری آنها
لول شیفتر چیست؟
لول شیفتر یا مبدل سطح ولتاژ یکی از قطعات کلیدی در سیستمهای دیجیتال است که امکان ارتباط بین دستگاههایی با سطوح ولتاژ متفاوت را فراهم میکند. بسیاری از میکروکنترلرها و سنسورها امروزه با ولتاژهای 1.8 ولت، 3.3 ولت یا 5 ولت کار میکنند و زمانی که دو دستگاه با سطح ولتاژ متفاوت باید با یکدیگر تبادل داده داشته باشند، استفاده از یک Level Shifter تنها راهکار امن و استاندارد است. بدون استفاده از لول شیفتر، خطر آسیب به ورودیهای حساس، ایجاد نویز، از کار افتادن پروتکلهای ارتباطی و کاهش عمر قطعات وجود دارد.
لول شیفترها معمولاً در دو نوع تکجهته و دوطرفه عرضه میشوند. مدلهای تکجهته برای سیگنالهایی مناسب هستند که تنها در یک مسیر ارسال میشوند؛ اما مدلهای دوطرفه مانند TXB0104 زمانی کاربرد دارند که دستگاهها نیاز به تبادل داده در هر دو جهت داشته باشند. این موضوع برای پروتکلهایی مثل I2C، SPI یا UART اهمیت زیادی دارد.
بررسی اجمالی برد TXB0104
برد TXB0104 ساختار سادهای دارد. در دو طرف آن ردیف پین هدر وجود دارد؛ یک ردیف برای سیگنالهای ولتاژ بالا و ردیف دیگر برای سیگنالهای ولتاژ پایین.

پینجامپر فعالسازی خروجی (1) بهصورت پیشفرض بسته است و باعث میشود سیگنالهای هر دو طرف همیشه فعال باشند. کاربر باید مراقب باشد تا شرایط تداخل روی باس ایجاد نشود؛ یعنی سمت ولتاژ بالا و پایین یک سیگنال همزمان مقادیر مخالف را درایو نکنند.
پینهای سمت B (2) برای سیگنالهای ولتاژ بالا هستند. ولتاژ VccB باید همیشه بیشتر از VccA باشد تا از آسیب احتمالی جلوگیری شود. محدوده ولتاژ قابل پشتیبانی برای VccB بین 1.65 تا 5.5 ولت است. اگر پایه OE از سمت ولتاژ بالا درایو میشود، استفاده از یک مقاومت 1 کیلواهم سری توصیه میشود.
پینهای سمت A (3) برای سیگنالهای ولتاژ پایین هستند. ولتاژ VccA باید کمتر از VccB باشد و میتواند در محدوده 1.2 تا 3.6 ولت قرار گیرد.
اتصال ADXL345 به آردوینو با لول شیفتر TXB0104
نمودار اتصال بالا نشان میدهد که چگونه میتوان از برد TXB0104 برای اتصال یک Arduino Uno پنج ولتی به برد شتابسنج ADXL345 که با ولتاژ 3.3 ولت کار میکند استفاده کرد. از آنجا که سطح ولتاژ این دو سیستم متفاوت است، استفاده از یک مبدل سطح ولتاژ ضروری است.

در این اتصال، پایه OE همانطور که پیشفرض است در حالت High باقی میماند؛ زیرا در این کاربرد نیازی به قرار دادن پینها در حالت امپدانس بالا وجود ندارد.
نکته مهم این است که برای استفاده از TXB0104 هیچ تغییری در نرمافزار لازم نیست. این تراشه به صورت خودکار جهت سیگنال را تشخیص میدهد و داده را در مسیر مناسب عبور میدهد.
چرا استفاده از Level Shifter ضروری است؟
علاوه بر محافظت از قطعات، Level Shifter نقش مهمی در حفظ یکپارچگی سیگنال نیز دارد. زمانی که یک سیگنال 3.3 ولت به ورودی 5 ولت اعمال میشود، ممکن است مقدار منطقی High بهدرستی شناسایی نشود و این مشکل به خطاهای ارتباطی منجر شود. با استفاده از یک مبدل سطح ولتاژ مناسب، شکل موج، دامنه ولتاژ و زمانبندی سیگنال حفظ شده و ارتباط دیجیتال با دقت بالا انجام میشود.
در پروژههای IoT و سیستمهای مبتنی بر سنسورها، استفاده از لول شیفتر دیگر یک گزینه نیست بلکه یک الزام است. ترکیب تعداد زیادی سنسور با میکروکنترلرهای کممصرف، نیاز به سازگاری ولتاژ را بیشتر میکند. تراشههایی مانند TXB0104 با پشتیبانی از سرعتهای بالا و عملکرد دوطرفه، یک انتخاب استاندارد و مطمئن برای این نوع کاربردها هستند و استفاده از آنها باعث افزایش پایداری و سرعت توسعه سیستم میشود.








