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 ตัวเดียวบวกกับตัวต้านทานสองตัวทำงานได้
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 ของแต่ละด้าน
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 คล้ายกันทั้งหมดจะทำงานในลักษณะเดียวกันที่นี่