ฉันมีวงจรที่แปลงสัญญาณ 5V RS-232 (ตรรกะ 0 = + 5V, ตรรกะ 1 = -5V) เป็น 3.3V TTL ขั้ว (ตรรกะ 1 = 3.3V, ตรรกะ 0 = 0V) โดยใช้ทรานซิสเตอร์ BC548
มันเป็นประตูไม่ได้ดังนั้นเมื่อเอาท์พุท RS-232 สูงมันดึงเอาท์พุทต่ำและในทางกลับกัน
สำหรับการอ้างอิงอุปกรณ์ RS-232 (ตัวรับสัญญาณ GPS) กำลังส่งสัญญาณที่ 9600bps และเชื่อมต่อกับ UART ของ Raspberry Pi
วงจรของฉันมีลักษณะเช่นนี้:
อย่างไรก็ตามการกำหนดค่านี้ส่งผลให้ทรานซิสเตอร์เห็นแรงดันไฟฟ้า -5V ข้ามทางแยกอีซีแอลฐานเนื่องจากแรงดันลบของอินพุต RS-232 BC548 มี Vbe สูงสุด -6V แต่ฉันต้องการปกป้องทรานซิสเตอร์โดยการลดแรงดันลบใด ๆ ข้ามทางแยกของตัวส่งสัญญาณฐาน
หลังจากการค้นหาบางอย่างฉันเจอโพสต์ในฟอรัม Raspberry Pi ที่แนะนำวงจรต่อไปนี้เพื่อป้องกันทรานซิสเตอร์จากแรงดันลบ:
ฉันสร้างวงจรขึ้นมาแล้วและดูเหมือนว่าจะประสบความสำเร็จ: แรงดัน Vbe ต่ำสุดอยู่ที่ -0.5V มัลติมิเตอร์แบบดิจิตอลของฉันอัปเดตเพียงประมาณ 5 ครั้งต่อวินาทีและฉันไม่มีออสซิลโลสโคปเพื่อดูสิ่งต่าง ๆ ได้ชัดเจนขึ้น
คำถามของฉันคือ:
ทำไมไดโอดถึงอยู่ตรงไหน ถ้าฉันตีความสิ่งต่าง ๆ ได้อย่างถูกต้องก็หมายความว่า Vbe ที่ต่ำที่สุดจะเหมือนกับการตกไปข้างหน้าของไดโอดและจะมีการไหลของกระแสจากพื้นดินผ่านตัวต้านทาน R1 เป็นตัวต้านทานแรงดันลบ RS-232 การใส่ไดโอดระหว่างอินพุต RS-232 กับ R1 หรือระหว่าง R1 และทรานซิสเตอร์ Q1 เพื่อป้องกันการไหลของกระแสเข้าขา
แผนผังบอกว่าจะใช้ไดโอดความเร็วสูง 1N4148 ซึ่งฉันได้ใช้ไป มีข้อเสียในการใช้ 1N4001 แทนที่จะเป็น 1N4148 หรือไม่? 9600bps หมายความว่าแต่ละบิตมีความยาวประมาณ 100uS และ 1N4001 มีเวลาการกู้คืนแบบทั่วไปที่ 2uS 1N4148 มีเวลาการกู้คืนแบบย้อนกลับโดยทั่วไปที่ 4nS - ชัดเจนว่า 1N4148 นั้นเร็วกว่าในการสลับ แต่มันสร้างความแตกต่างในบริบทนี้จริงหรือไม่?