3.8. إزاحة المستوى

يُخرج دبوس GPIO على الكاميرا نحو 3.3 فولت عندما يكون في الحالة المرتفعة. وقد يعمل جهاز على الجانب الآخر عند 5 فولت (المتحكمات الدقيقة الأقدم، والعديد من لوحات المستشعرات) أو عند 1.8 فولت (المستشعرات الأحدث، وبعض النواقل بين الرقائق). وقد يكون توصيلهما معًا مباشرةً آمنًا أحيانًا ومُتلفًا أحيانًا أخرى؛ وإزاحة المستوى هي الدائرة التي تجسر هذه الفجوة بشكل موثوق.

3.8.1. لماذا قد يضر الدفع المباشر بجهد مختلف بالدبوس

تحتوي وسادة الإدخال/الإخراج في كل رقاقة على زوج من ثنائيات الحماية المدمجة: واحد من الدبوس إلى الأرضي، وآخر من الدبوس إلى قضيب التغذية في الرقاقة. وهي موجودة لامتصاص التفريغ الكهروستاتيكي (ESD) -- وهو نبضة قصيرة عالية الجهد ناتجة عن الكهرباء الساكنة قد تصيب الدبوس عند التعامل مع اللوحة. فالشخص الذي مشى على سجادة قد يحمل عدة كيلوفولتات من الشحنة الساكنة؛ ولمس الدبوس الخطأ ينقل تلك الشحنة إلى الرقاقة في نانوثوانٍ. ينحاز ثنائي الحماية العلوي أماميًا ويُحوِّل النبضة بأمان إلى قضيب التغذية قبل أن تصل إلى الترانزستورات داخل الرقاقة.

عندما يُطبَّق إشارة 5 فولت بشكل متواصل على دبوس 3.3 فولت غير متحمل لـ 5 فولت، يوصل ثنائي الحماية العلوي إلى الأبد. فقد صُممت الثنائيات لنبضات ESD القصيرة، لا للتيار في الحالة المستقرة؛ فيبدأ قضيب التغذية بالارتفاع فوق 3.3 فولت، ويسخن الثنائي، ويتعطل إما الدبوس أو منظِّم الجهد المدمج في الرقاقة.

تستخدم الدبابيس المتحملة لـ 5 فولت مرحلة إدخال مختلفة -- إذ يتصل الثنائي العلوي بقضيب أعلى أو يكون غائبًا -- لذا فإن تطبيق 5 فولت غير ضار. وما إذا كانت دبابيس لوحة ما متحملة لـ 5 فولت يختلف من لوحة لأخرى؛ راجع المرجع السريع لـ OpenMV Cam.

وللاتجاه الآخر مشكلته الخاصة. فدبوس GPIO يدفع عند 3.3 فولت في الحالة المرتفعة يُنتج نحو 3.3 فولت على السلك. أما المستقبِل عند 5 فولت الذي يحتاج إلى 0.7 × Vcc للتعرف على الحالة المرتفعة فيرى عتبته عند 3.5 فولت؛ وقد تُقرأ 3.3 فولت على أنها منخفضة أو غامضة. وحتى بدون حدوث تلف، فإن الإشارة لا تعمل بشكل موثوق.

تحل مُزيحة المستوى كلا الاتجاهين.

3.8.2. ترانزستور N-MOSFET كمفتاح

تستخدم الدوائر أدناه ترانزستور MOSFET واحدًا من نوع القناة N. وله ثلاثة دبابيس -- البوابة والمصرف والمنبع -- ويتصرف كمفتاح يُتحكم فيه كهربائيًا.

إدخال التحكم هو الجهد بين البوابة والمنبع، ويُكتب Vgs (جهد البوابة إلى المنبع):

Vgs = (gate voltage) - (source voltage)

يهتم ترانزستور MOSFET بهذا الفرق، لا بالجهد المطلق على أي من الدبوسين بمفرده. ويتبع سلوكه من Vgs:

  • عندما يكون Vgs أعلى من جهد العتبة لترانزستور MOSFET (الذي يبلغ عادةً نحو 1 فولت لمكوِّن إشارة صغيرة بمستوى منطقي)، يُشغَّل الترانزستور ويتدفق التيار بحرية من المصرف إلى المنبع.

  • عندما يكون Vgs عند 0 أو أقل، يُطفأ الترانزستور ولا يتدفق أي تيار تقريبًا من المصرف إلى المنبع.

مسار المصرف-المنبع هو مسار التيار المُبدَّل؛ وVgs يفتح أو يغلق ذلك المفتاح.

يحتوي ترانزستور N-MOSFET أيضًا على ثنائي جسم بين المصرف والمنبع يوصل عندما يُسحب المصرف إلى ما دون المنبع بأكثر من نحو 0.6 فولت. وهذا الثنائي أثر جانبي للتصنيع؛ وتستخدمه المُزيحة ثنائية الاتجاه أدناه عمدًا.

3.8.2.1. قواعد التوصيل

ترانزستور N-MOSFET ليس جهازًا ثلاثي الأطراف متماثلًا. فثنائي الجسم يشير من المنبع (الأنود) إلى المصرف (الكاثود)، وVgs هو ما يتحكم في القناة. وتتبع من ذلك قاعدتان يجب أن تتحققا في كل دائرة مفتاح N-MOSFET:

  • يتصل المنبع بالجهد الأدنى؛ ويتصل المصرف بالأعلى. فمع وجود المصرف عند القضيب الأعلى يكون ثنائي الجسم منحازًا عكسيًا ولا يفعل شيئًا. وإذا عكستهما يصبح ثنائي الجسم منحازًا أماميًا طوال الوقت: فيتدفق التيار من المنبع الأعلى الآن عبر ثنائي الجسم إلى المصرف الأدنى الآن بغض النظر عما تفعله البوابة. فيتوقف ترانزستور MOSFET عن كونه مفتاحًا -- إذ يتسرب باستمرار، ولا يمكن إيقاف الإشارة، وغالبًا ما يسخن الجهاز بإفراط ويتعطل.

  • ترتبط البوابة بقضيب جهد المنبع. فإبقاء البوابة عند القضيب الذي يستقر عليه المنبع في حالة السكون يجعل Vgs = 0 أثناء الخمول، أي أدنى بكثير من العتبة؛ فيبقى ترانزستور MOSFET مطفأً تمامًا إلى أن يدفع شيءٌ ما البوابة فوق المنبع (الدائرة أحادية الاتجاه أدناه) أو يسحب المنبع إلى ما دون البوابة (الدائرة ثنائية الاتجاه). وإذا تركت البوابة عائمة في مكان آخر تتوقف حالة الإطفاء عن كونها محددة -- إذ يمكن للضوضاء أو التسرب أو السعة الطفيلية أن تجعل Vgs ينحرف فوق العتبة ويُشغِّل ترانزستور MOSFET بشكل عشوائي.

عكس أي من القاعدتين يحوّل مُزيحة المستوى إلى مسار متسرب وغير موثوق. وتتبع كلتا دائرتي المُزيحة أدناه هذه القواعد: المنبع على الجانب الأدنى، والمصرف على الأعلى، والبوابة مرتبطة أو مدفوعة من قضيب المنبع.

3.8.3. أحادية الاتجاه 3.3 فولت ← 5 فولت

تدفع أبسط مُزيحة مستوى إشارةً أحادية الاتجاه من دبوس GPIO في الكاميرا إلى إدخال 5 فولت. ويقوم ترانزستور N-MOSFET واحد مع مقاومتين بالمهمة.

An N-channel MOSFET wired as an inverter. The 3.3 V GPIO drives the gate; the source goes to ground; the drain pulls up to 5 V through 10 kΩ; the drain is also tapped as the 5 V output.

يُزيح ترانزستور N-MOSFET المستوى (ويعكس) إشارة 3.3 فولت إلى خرج 5 فولت.

عندما يدفع دبوس GPIO في الحالة المرتفعة (3.3 فولت عند البوابة)، يكون Vgs أعلى من العتبة ويُشغَّل ترانزستور MOSFET؛ فيُسحب المصرف لأسفل إلى نحو 0 فولت. وعندما يدفع دبوس GPIO في الحالة المنخفضة (0 فولت عند البوابة)، يكون ترانزستور MOSFET مطفأً وتجلب مقاومة السحب لأعلى البالغة 10 كيلو أوم المصرف إلى 5 فولت.

الخرج هو معكوس الدخل. ويمكن للبرنامج قلب الإشارة من جديد (بكتابة 0 لجعل "خرج 5 فولت مرتفعًا")، أو ترتيب مرحلتين متتاليتين للحصول على إشارة غير معكوسة بضعف عدد المكونات.

3.8.4. ثنائية الاتجاه بترانزستور N-MOSFET واحد

لخط يجب دفعه من أيٍّ من الجانبين -- ناقل مشترك يمكن لأي طرف فيه سحب الخط إلى الحالة المنخفضة -- فإن الدائرة المعيارية هي ترانزستور N-MOSFET واحد لكل خط، مع مقاومة سحب لأعلى إلى تغذية كل جانب.

A bidirectional N-MOSFET level shifter. The MOSFET bridges a 3.3 V signal line on the left and a 5 V signal line on the right; the gate connects to the 3.3 V supply, the source connects to the 3.3 V signal, the drain to the 5 V signal; each signal line has its own pull-up resistor to its supply.

يجسر ترانزستور N-MOSFET واحد خط 3.3 فولت وخط 5 فولت؛ ولكل جانب مقاومة سحب لأعلى خاصة به.

ترتبط البوابة بتغذية 3.3 فولت، لذا يعتمد سلوك ترانزستور MOSFET على الجانب الذي يقوم بالدفع:

  • كلا الجانبين في الخمول. يستقر المنبع عند 3.3 فولت عبر مقاومة السحب لأعلى اليسرى؛ وتكون البوابة عند 3.3 فولت؛ وVgs = 0؛ فيكون ترانزستور MOSFET مطفأً. ويطفو جانب 5 فولت إلى 5 فولت عبر مقاومة السحب لأعلى اليمنى. ويُقرأ كلا الجانبين على أنهما في الحالة المرتفعة.

  • جانب 3.3 فولت يسحب إلى الحالة المنخفضة. ينخفض المنبع إلى 0 فولت؛ ويرتفع Vgs فوق العتبة؛ فيُشغَّل ترانزستور MOSFET ويوصل من المنبع إلى المصرف. ويُسحب جانب 5 فولت إلى الحالة المنخفضة عبر الترانزستور.

  • جانب 5 فولت يسحب إلى الحالة المنخفضة. ينخفض المصرف إلى 0 فولت؛ فيصبح ثنائي جسم ترانزستور MOSFET (من المصرف إلى المنبع) منحازًا أماميًا ويوصل؛ فيُسحب المنبع (جانب 3.3 فولت) لأسفل إلى نحو 0.6 فولت. عندئذٍ يتجاوز Vgs العتبة ويُشغَّل ترانزستور MOSFET بالكامل، جالبًا كلا الجانبين إلى الحالة المنخفضة.

ترانزستور BSS138 هو الـ N-MOSFET المعياري لهذا النمط؛ وترانزستورات N-MOSFET ذات الإشارة الصغيرة وبمستوى منطقي وبجهود عتبة بوابة مماثلة تتصرف جميعها بالطريقة نفسها هنا.