3.8. การแปลงระดับสัญญาณ

พินGPIOบนกล้องจะขับแรงดันประมาณ 3.3 V เมื่ออยู่ในสถานะสูง อุปกรณ์อีกด้านอาจทำงานที่ 5 V (ไมโครคอนโทรลเลอร์รุ่นเก่า, บอร์ดเซนเซอร์หลายชนิด) หรือ 1.8 V (เซนเซอร์รุ่นใหม่, บัสแบบชิปต่อชิปบางชนิด) การเชื่อมต่อโดยตรงบางครั้งปลอดภัยและบางครั้งเป็นอันตราย การแปลงระดับสัญญาณ คือวงจรที่เชื่อมช่องว่างนี้ได้อย่างเชื่อถือได้

3.8.1. เหตุใดการขับแรงดันข้ามระดับโดยตรงจึงอาจทำให้พินเสียหาย

I/O pad ของชิปทุกตัวมี ไดโอดป้องกัน ในตัวสองตัว: ตัวหนึ่งจากพินไปยังกราวด์ และอีกตัวจากพินไปยังราง supply ของชิป ไดโอดเหล่านี้มีไว้เพื่อดูดซับ การคายประจุไฟฟ้าสถิต (ESD) -- แรงดันสูงชั่วขณะจากไฟฟ้าสถิตที่อาจกระทบพินเมื่อจับบอร์ด บุคคลที่เดินบนพรมอาจมีไฟฟ้าสถิตหลายกิโลโวลต์ การแตะพินที่ผิดจะถ่ายประจุนั้นไปยังชิปภายในนาโนวินาที ไดโอดป้องกันบนจะเกิดการไบแอสในทิศทางตรงและนำกระแสพัลส์ไปยังราง supply อย่างปลอดภัยก่อนที่จะถึงทรานซิสเตอร์ภายในชิป

เมื่อสัญญาณ 5 V ถูกจ่าย ต่อเนื่อง ไปยังพิน 3.3 V ที่ไม่ทนต่อ 5 V ไดโอดป้องกันบนจะนำกระแส ตลอดเวลา ไดโอดเหล่านี้ถูกออกแบบมาสำหรับพัลส์ ESD ระยะสั้น ไม่ใช่กระแสสถานะคงที่ รางจ่ายแรงดันจะเริ่มสูงขึ้นเกิน 3.3 V ไดโอดร้อนขึ้น และทั้งพินหรือตัวควบคุมแรงดันบนชิปจะเสียหาย

พินที่ทนต่อ 5 V ใช้ขั้นอินพุตที่แตกต่างกัน -- ไดโอดบนเชื่อมต่อกับรางที่สูงกว่าหรือไม่มีเลย -- ดังนั้นการจ่าย 5 V จึงไม่เป็นอันตราย ว่าพินของบอร์ดจะทนต่อ 5 V หรือไม่นั้นขึ้นอยู่กับบอร์ด โปรดตรวจสอบ คู่มืออ้างอิงด่วนของ OpenMV Cam

ทิศทางอื่นก็มีปัญหาของตัวเอง GPIO ขับสูงที่ 3.3 V จะผลิต ~3.3 V บนสาย ตัวรับ 5 V ที่ต้องการ 0.7 × Vcc เพื่อรับรู้ว่าเป็น สูง จะมีค่าขีดแบ่งที่ 3.5 V; 3.3 V อาจถูกอ่านว่าต่ำหรือไม่แน่นอน แม้ไม่มีความเสียหาย สัญญาณก็ไม่ทำงานอย่างเชื่อถือได้

ตัวแปลงระดับสัญญาณแก้ปัญหาได้ทั้งสองทิศทาง

3.8.2. N-MOSFET ในฐานะสวิตช์

วงจรด้านล่างใช้ N-channel MOSFET ตัวเดียว มีสามพิน -- gate, drain, และ source -- และทำงานเหมือนสวิตช์ที่ควบคุมด้วยไฟฟ้า

อินพุตควบคุมคือแรงดัน ระหว่าง gate และ source เรียกว่า Vgs (แรงดัน gate-to-source):

Vgs = (gate voltage) - (source voltage)

MOSFET สนใจ ความต่าง นี้ ไม่ใช่แรงดันสัมบูรณ์บนพินแต่ละตัว พฤติกรรมของมันเป็นไปตาม Vgs:

  • เมื่อ Vgs อยู่เหนือ แรงดันขีดแบ่ง ของ MOSFET (โดยทั่วไปประมาณ 1 V สำหรับชิ้นส่วนระดับลอจิกสัญญาณเล็ก) ทรานซิสเตอร์จะเปิด on และกระแสไหลอิสระจาก drain ไปยัง source

  • เมื่อ Vgs อยู่ที่หรือต่ำกว่า 0 ทรานซิสเตอร์จะปิด off และแทบไม่มีกระแสไหลจาก drain ไปยัง source

เส้นทาง drain-source คือเส้นทางกระแสที่ถูกสวิตช์; Vgs เปิดหรือปิดสวิตช์นั้น

N-MOSFET ยังมี body diode ระหว่าง drain และ source ที่นำกระแสเมื่อ drain ถูกดึงต่ำกว่า source มากกว่า ~0.6 V ไดโอดนี้เป็นผลข้างเคียงของการผลิต วงจรแปลงระดับสองทิศทางด้านล่างใช้ประโยชน์จากมันโดยตั้งใจ

3.8.2.1. กฎการต่อวงจร

N-MOSFET ไม่ใช่ อุปกรณ์สามขั้วแบบสมมาตร body diode ชี้จาก source (anode) ไปยัง drain (cathode) และ Vgs คือสิ่งที่ควบคุมช่อง กฎสองข้อต่อไปนี้ต้องถือปฏิบัติสำหรับทุกวงจรสวิตช์ N-MOSFET:

  • Source ต่อกับแรงดันต่ำกว่า; drain ต่อกับแรงดันสูงกว่า เมื่อ drain อยู่ที่รางสูงกว่า body diode จะถูก reverse-bias และไม่ทำงาน สลับกันและ body diode จะถูก forward-bias ตลอดเวลา: กระแสจะไหลจาก source ที่สูงกว่าผ่าน body diode ไปยัง drain ที่ต่ำกว่าโดยไม่คำนึงว่า gate ทำอะไร MOSFET จะหยุดทำหน้าที่เป็นสวิตช์ -- มันรั่วอย่างต่อเนื่อง สัญญาณไม่สามารถปิดได้ และอุปกรณ์มักร้อนเกินและเสียหาย

  • Gate ต่อกับรางแรงดันของ source การจับ gate ไว้ที่รางที่ source นั่งอยู่ขณะพักทำให้ Vgs = 0 เมื่อไม่มีกิจกรรม ต่ำกว่าค่าขีดแบ่งมาก MOSFET จะอยู่ในสถานะปิดอย่างมั่นคงจนกว่าจะมีบางอย่างขับ gate เหนือ source (วงจรทางเดียวด้านล่าง) หรือดึง source ต่ำกว่า gate (วงจรสองทิศทาง) ปล่อย gate ลอยไปที่อื่นและสถานะปิดจะหยุดนิยาม -- สัญญาณรบกวน การรั่ว หรือความจุที่หลงเหลืออาจทำให้ Vgs ลอยสูงกว่าค่าขีดแบ่งและสวิตช์ MOSFET เปิดโดยสุ่ม

การสลับกฎข้อใดข้อหนึ่งจะทำให้ตัวแปลงระดับสัญญาณกลายเป็นเส้นทางที่รั่วและไม่เชื่อถือได้ วงจรแปลงระดับสัญญาณด้านล่างทั้งสองตามกฎเหล่านี้: source อยู่ด้านต่ำกว่า drain อยู่ด้านสูงกว่า gate ต่อหรือขับจากรางของ source

3.8.3. ทางเดียว 3.3 V → 5 V

ตัวแปลงระดับสัญญาณที่ง่ายที่สุดส่งสัญญาณทางเดียวจาก GPIO ของกล้องไปยังอินพุต 5 V 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 V เป็นเอาต์พุต 5 V

เมื่อ GPIO ขับสูง (3.3 V ที่ gate) Vgs อยู่เหนือค่าขีดแบ่งและ MOSFET เปิด; drain ถูกดึงลงสู่ ~0 V เมื่อ GPIO ขับต่ำ (0 V ที่ gate) MOSFET จะปิดและตัวต้านทาน pull-up 10 kΩ จะดึง drain ขึ้นสู่ 5 V

เอาต์พุตเป็น ส่วนกลับ ของอินพุต ซอฟต์แวร์สามารถพลิกสัญญาณกลับ (เขียน 0 สำหรับ "เอาต์พุต 5 V สูง") หรือต่อแบบ cascade สองขั้นเพื่อรับสัญญาณที่ไม่กลับด้วยชิ้นส่วนสองเท่า

3.8.4. สองทิศทางด้วย N-MOSFET ตัวเดียว

สำหรับสายที่ต้องขับจาก ทั้งสองด้าน -- บัสร่วมที่ปลายด้านใดก็ได้สามารถดึงสายลงต่ำ -- วงจรมาตรฐานคือ N-MOSFET หนึ่งตัวต่อสาย พร้อม pull-up ไปยัง supply ของแต่ละด้าน

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 V และ 5 V; แต่ละด้านมี pull-up ของตัวเอง

gate ต่อกับ supply 3.3 V ดังนั้นพฤติกรรมของ MOSFET ขึ้นอยู่กับด้านที่กำลังขับ:

  • ทั้งสองด้านไม่มีกิจกรรม Source นั่งที่ 3.3 V ผ่าน pull-up ด้านซ้าย; gate อยู่ที่ 3.3 V; Vgs = 0; MOSFET ปิด ด้าน 5 V ลอยขึ้นสู่ 5 V ผ่าน pull-up ด้านขวา ทั้งสองด้านอ่านสูง

  • ด้าน 3.3 V ดึงต่ำ Source ลดลงสู่ 0 V; Vgs สูงขึ้นเหนือค่าขีดแบ่ง; MOSFET เปิดและนำกระแส source-to-drain ด้าน 5 V ถูกดึงต่ำผ่านทรานซิสเตอร์

  • ด้าน 5 V ดึงต่ำ Drain ลดลงสู่ 0 V; body diode ของ MOSFET (drain ถึง source) ถูก forward-bias และนำกระแส; source (ด้าน 3.3 V) ถูกดึงลงสู่ประมาณ 0.6 V จากนั้น Vgs เกินค่าขีดแบ่งและ MOSFET เปิดเต็มที่ ดึงทั้งสองด้านให้ต่ำ

BSS138 เป็น N-MOSFET มาตรฐานสำหรับรูปแบบนี้ N-MOSFET ระดับลอจิกสัญญาณเล็กที่มีแรงดันขีดแบ่ง gate คล้ายกันทั้งหมดจะทำงานในลักษณะเดียวกันที่นี่