พินเอาท์พุทแบบ open-drain หรือ open-collector เป็นเพียงไฟล์ ทรานซิสเตอร์ ที่เชื่อมต่อกับพื้นดิน เมื่อใดก็ตามที่เราใช้อินพุตสูงที่ประตูท่อระบายน้ำและแหล่งที่มาจะสั้นลง เมื่อใดก็ตามที่เราใช้อินพุตต่ำที่ประตูท่อระบายน้ำและแหล่งที่มาจะถูกตัดการเชื่อมต่อ เพื่อให้เรียบง่ายการเปิดท่อระบายน้ำก็เหมือนกับไฟล์ สวิตซ์ ที่จะได้รับการเชื่อมต่อหรือตัดการเชื่อมต่อตามสัญญาณอินพุตที่กำหนด บทความนี้กล่าวถึงภาพรวมของ ท่อระบายน้ำแบบเปิดคืออะไร , วงจรและการทำงาน
การกำหนดค่าอินพุต / เอาต์พุตแบบเปิดท่อระบายน้ำ
มักพบท่อระบายน้ำแบบเปิดในหลาย ๆ
เปิดท่อระบายน้ำ
เมื่อการกำหนดค่าเสร็จสิ้นในโหมด push-pull 0 จะเชื่อมต่อขาเอาต์พุตกับกราวด์ 1 จะเชื่อมต่อกับ Vio เมื่อดำเนินการในโหมดเปิดท่อระบายน้ำทรานซิสเตอร์ที่สูงกว่าจะปิดใช้งาน 0 ยังคงเชื่อมต่อกับกราวด์และเอาต์พุต 1 จะตัดการเชื่อมต่อพินกับ Vio และยังคงลอยอยู่
เปิด Drain vs Pull Push
สวิตช์
- ประกอบด้วยสวิตช์เพียงตัวเดียวซึ่งเชื่อมต่อกับพื้นดิน
- Push-pull จะมีสวิตช์สองตัว สวิตช์หนึ่งเชื่อมต่อกับกราวด์และสวิตช์อีกตัวเชื่อมต่อกับ Vcc
เอาต์พุต
- หากขาเอาต์พุตสูงแล้วพินจะเชื่อมต่อกับกราวด์ผ่านสวิตช์ เมื่อขาเอาต์พุตอยู่ในระดับต่ำพินจะเริ่มลอยเมื่อสวิตช์ปิดอยู่
- หากเอาต์พุตถูกสร้างพินสูงจะเชื่อมต่อกับ Vdd ผ่านสวิตช์ NPN หากเอาต์พุตอยู่ในระดับต่ำพินจะเชื่อมต่อกับกราวด์ด้วยความช่วยเหลือของสวิตช์ PNP
การใช้พลังงาน
- Push-pull ใช้พลังงานต่ำมากเนื่องจากไม่ต้องดึงขึ้น ตัวต้านทาน
- ต้องใช้พลังงานสูงเนื่องจากระบายผ่านตัวต้านทานโหลดเมื่อเปิดอยู่
ความเร็วในการทำงาน
- Push-pull มีความเร็วในการทำงานสูง
- เมื่อเทียบกับ push-pull แล้วจะมีการสลับที่ช้ากว่า
โหลด
- Push-pull จะไม่ขับเคลื่อนโหลดภายนอก
- ท่อระบายน้ำแบบเปิดจะขับเคลื่อนโหลดภายนอกน้อยกว่าหรือเท่ากับ 10ma โดยตรง
สัญญาณ
- Push-pull ไม่สามารถรวมสัญญาณ Vout สำหรับเซ็นเซอร์ต่างๆเข้ากับอุปกรณ์ทั่วไปได้ รถบัส
- สามารถเปลี่ยนแรงดันไฟฟ้าที่สูงหรือต่ำกว่าแรงดันไฟฟ้า Vdd ได้
ใน Open Drain vs Open Collector , ท่อระบายน้ำแบบเปิดคือ BJT . เมื่อกระแสมีแรงดันไฟฟ้าอิ่มตัวของ BJT ต่ำจะสูงกว่าแรงดันตกเล็กน้อยเนื่องจาก RDS สำหรับ FET
เปิด Drain GPIO
- PMOS ไม่มีอยู่ในการกำหนดค่า open-drain และเอาต์พุตมีความเป็นไปได้สองแบบสูงหรือลอย
- NMOS จะเปิดใช้งานโดยให้ 0 ในการลงทะเบียนข้อมูลเอาต์พุตและขา I / O อยู่ที่กราวด์
- รีจิสเตอร์ข้อมูลเอาต์พุตจะออกจากพอร์ตเป็น Hi-Z เมื่อได้รับและไม่ได้กำหนดสถานะ I / O
- ในการแก้ไขปัญหานี้จำเป็นต้องเปิดใช้งานตัวต้านทานแบบดึงขึ้นภายในหรืออีกตัวหนึ่งกำลังให้ตัวต้านทานแบบดึงขึ้นภายนอก เมื่อเปิดใช้งานตัวต้านทานแบบดึงขึ้นขา I / O จะเปลี่ยนสถานะเป็น Vdd
โหมดเอาต์พุตที่มีการกำหนดค่าท่อระบายน้ำแบบเปิดไม่มีอะไรนอกจากทรานซิสเตอร์ PMOS ด้านบนจะไม่มีอยู่ ท่อระบายน้ำจะเปิดขึ้นเมื่อปิดทรานซิสเตอร์ดังนั้นเอาต์พุตจะลอย การกำหนดค่าเอาต์พุตแบบเปิดท่อระบายน้ำไม่สามารถดึงพินขึ้นได้ แต่สามารถดึงพินลงได้เท่านั้น การกำหนดค่าเอาต์พุตแบบ open-drain ของ GPIO จะไม่มีประโยชน์จนกว่าและเว้นแต่จะมีความสามารถในการดึงขึ้น
เปิด Drain GPIO
ในการใช้ประโยชน์จากสิ่งนี้ในการใช้งานจริงต้องใช้กับตัวต้านทานแบบดึงขึ้นภายนอกหรือตัวต้านทานแบบดึงขึ้นภายใน ในสถานการณ์ปัจจุบัน MCU ทั้งหมดรองรับตัวต้านทานแบบดึงขึ้นภายในสำหรับทุกพิน GPIO คุณต้องใช้การกำหนดค่า GPIO เพื่อเปิดใช้งานหรือปิดใช้งาน
วิธีการขับ LED
เพื่อที่จะขับรถ LED ขั้นแรกให้เปิดใช้งานตัวต้านทานแบบดึงขึ้นภายในหลังจากเชื่อมต่อ LED เข้ากับพิน สำหรับการเปิด LED เพียงแค่ให้ 1 เป็นอินพุตเพื่อให้กลับด้านเป็น 0 และทรานซิสเตอร์จะดับลง เมื่อปิดตัวต้านทานแบบดึงขึ้นจะช่วยให้ LED ขับเคลื่อนไปยัง Vcc ในทำนองเดียวกันถ้าคุณต้องการปิด LED เพียงแค่ให้ 0 กับอินพุตเพื่อให้ทรานซิสเตอร์เปิดขึ้นซึ่งจะทำให้ LED ดับลง
ค่าของตัวต้านทานแบบดึงขึ้นภายในได้รับการแก้ไขและช่วงของมันคือตั้งแต่ 10kilo โอห์มถึง 250 กิโลโอห์มซึ่งดีพอที่จะใช้งานจริง
ใน Open-drain MOSFET a มอสเฟต เปรียบเสมือนทรานซิสเตอร์ที่มีความสามารถในการรองรับแรงดันไฟฟ้าที่สูงขึ้น พฤติกรรมการเปลี่ยนทรานซิสเตอร์ถูกควบคุมโดยฐาน เมื่อเอาท์พุท IC ไหลไปยังฐานการไหลของกระแสจะถูกเปิดผ่านทรานซิสเตอร์ในทำนองเดียวกันหากมีการไหลผ่านเอาต์พุต IC เพียงเล็กน้อยกระแสจะไม่ไหลผ่านทรานซิสเตอร์ ทรานซิสเตอร์ควบคุมการไหลของกระแสและศักย์ไฟฟ้าผ่านวงจรที่สร้างด้วยทรานซิสเตอร์หลายพันล้านตัวโดยอาศัย IC
เมื่อทรานซิสเตอร์ NPN เปิดอยู่ แต่เชื่อมต่อกับพินภายนอกแล้วมันจะเป็นตัวสะสมแบบเปิดซึ่งจะทำให้ทรานซิสเตอร์เปลี่ยนเป็นกราวด์เมื่อมันทำงาน สิ่งนี้มีแนวโน้มที่ซิงก์ปัจจุบันและแหล่งจ่ายกระแสจะได้รับการไหลของกระแส แต่ในทิศทางที่ต่างกัน
ใน I2C แบบเปิดเมื่อใดก็ตามที่ใช้ไฟล์ i2c พินนาฬิกาอนุกรมและพินข้อมูลอนุกรมจะอยู่ในการกำหนดค่า เพื่อให้บัสทำงานได้อย่างถูกต้องเราต้องเชื่อมต่อตัวต้านทานแบบดึงขึ้นกับแต่ละพินทั้งภายในหรือภายนอก ค่าที่ถูกต้องสำหรับตัวต้านทานแบบดึงขึ้นในบัส i2c ขึ้นอยู่กับความจุทั้งหมดของบัสและความถี่ที่บัสทำงาน แต่เราสามารถหาค่าของตัวต้านทานแบบดึงขึ้นได้โดยคำนึงถึงความจุความเร็วบัส I2c เป็นต้น แต่ค่าตัวต้านทานที่มีช่วง 4.7 กิโลโอห์มถึง 10 กิโลโอห์มทำงานได้
ดังนั้นทั้งหมดนี้เป็นข้อมูลเกี่ยวกับภาพรวมของท่อระบายน้ำแบบเปิดการกำหนดค่า วิธีการขับ LED ฯลฯ นี่คือคำถามสำหรับคุณคืออะไร