วิธีการรวมหลายประตูลอจิกทรานซิสเตอร์โดยไม่ต้องแรงดันไฟฟ้ามหึมาลดลง?


9

ในการติดตามคำถามก่อนหน้าของฉัน: ค่าตัวต้านทานในประตูลอจิกทรานซิสเตอร์

ผมเคย breadboarded ชนิดที่พบทั้งหมดของประตูตรรกะทรานซิสเตอร์:
XNOR, NAND, INV, NOR, XOR, และAND ทั้งสองสายสีเหลืองมีการป้อนข้อมูลและ สายสีขาวคืออินเวอร์เตอร์อินพุทOR
AB

อินพุตA=0+ B=0+ inv=0ให้: 00

อินพุตA=0+ B=1+ inv=0ให้: 01

อินพุตA=1+ B=0+ inv=0ให้: 10

อินพุตA=1+ B=1+ inv=1ให้: 11

ตรรกะทั้งหมดทำงานได้อย่างสมบูรณ์แบบ แต่แรงดันตกแตกต่างกันอย่างมากระหว่างประตู ยกตัวอย่างเช่นXORประตูถูกสร้างขึ้นจากAND, NANDและORประตูและแต่ละทรานซิสเตอร์เพิ่มแรงดันไฟฟ้าลดลง ไฟ LED แทบสว่างขึ้น!

แฮคเกอร์

เป้าหมายของฉันคือการสร้างเครื่องคิดเลข 4 บิตจากทรานซิสเตอร์ (โดยใช้ชิป CMOS ฉันไม่พบปัญหานี้) แต่ถ้าแต่ละประตูลอจิกส่งผลให้เกิดการลดลงของแรงดันไฟฟ้าเช่นนี้ฉันจะรวมลอจิกประตู 10 หลังไว้ด้วยกันได้อย่างไร ฉันเล่นด้วยค่าตัวต้านทานจำนวนมาก แต่การผสมกันส่วนใหญ่ทำให้ประตูตรรกะไม่ได้ผล วิธีการปรับXORเกตด้านบนให้ตรงกับแรงดันตกเช่นANDประตูแบบง่ายนี้

และ

แก้ไข (ตอบกลับโดย JIm Dearden)

ฉันเรียนรู้อย่างมากและไม่สามารถเครียดได้มากพอที่ฉันจะขอบคุณคำตอบของคุณ !!!
ภาพวาดชัดเจนจริงๆฉันแน่ใจว่าหลายคนจะได้ประโยชน์จากพวกเขาในอนาคต!

แม้ว่าจะชัดเจนจริงๆฉันไม่เคยรู้:
- NOR= NOT(มีสองอินพุต)
- OR= NOR+ NOT
- NAND= AND+NOT

"ทุกสิ่งที่อยู่บนวงจรอินเวอร์เตอร์ง่าย ๆ " แน่นอนว่าเป็นเคล็ดลับ!
ประตูลอจิกทั้งหมดรวมถึงประตูรวมที่ต้องการXORเอาท์พุทเหมือนกัน:)

เกตส์

แฮคเกอร์

ด้วยความปรารถนาดี!


ที่ประตูด้านบนในลักษณะวงจรผิด ...
อิกนาซิโอ Vazquez อับราฮัม

อ๊ะ! แก้ไขแล้วตอนนี้:)
Anne

@ แอนนี่เป็นโครงการที่ยอดเยี่ยมสำหรับการเรียนรู้เกี่ยวกับตรรกะและการคำนวณมันเป็นความยินดีอย่างยิ่งที่ได้ถ่ายทอดความรู้ของฉัน ฉันหวังว่าจะคำถามต่อไปของคุณ :)
จิม Dearden

คำตอบ:


14

ที่จริงฉันทำสิ่งนี้ที่โรงเรียนย้อนกลับไปในยุค 60 (ใช่ฉันอายุมากแล้ว) เราใช้มันเพื่อสร้าง 'คอมพิวเตอร์' ขนาดเล็กและเรียบง่ายที่สามารถเพิ่มการลบการคูณและการหาร

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

สิ่งที่เราทำย้อนกลับไปคือการยึดทุกอย่างบนวงจรอินเวอร์เตอร์แบบง่าย (หรือ 1 ประตูเกท NOR) และสร้างจากนั้น

ข้อดีของวิธีนี้คือคุณสามารถเพิ่มจำนวนอินพุตให้กับเกตได้โดยการเพิ่มตัวต้านทานอื่น อินพุตใด ๆ ที่มากกว่า 0.6V จะใช้เกต ฉันได้แสดงค่าตัวต้านทาน 10K และ 4k7 (เพื่อให้ตรงกับวงจรของคุณ) แต่ต่างจากวงจรก่อนหน้าของคุณค่าที่นี่สามารถเปลี่ยนแปลงได้ค่อนข้างมาก เช่นอินพุต 470K, เอาต์พุต 47k และยังใช้งานได้ดี

ฉันได้ดึงบางส่วนของประตูขั้นพื้นฐาน - ไม่ NOR และ NOR NAND ติดตามสิ่งที่ฉันวาดฉันมั่นใจว่าคุณสามารถผลิตประตูอื่น ๆ ที่คุณต้องการ

ป้อนคำอธิบายรูปภาพที่นี่

คุณอาจพบว่าวงจรเหล่านี้มีประโยชน์ ป้อนคำอธิบายรูปภาพที่นี่

และหารด้วย 2 (ตัวนับ) ป้อนคำอธิบายรูปภาพที่นี่


โปรดดูคำตอบของฉันที่ด้านล่างของคำถาม! คำถามเล็ก ๆ น้อย ๆ ข้อหนึ่งเกี่ยวกับทรานซิสเตอร์มัลติสเตรเตอร์แบบ Astable: ควรใช้ตัวเก็บประจุอะไรสำหรับตัวเก็บประจุ
แอนน์

@Ane โดยทั่วไประยะเวลาจะถูกควบคุมโดยค่าของตัวต้านทานฐาน (10K ในแผนภาพ - แต่มันอาจจะมากหรือน้อย) และค่าตัวเก็บประจุ ค่าเวลาหรือเวลาหยุดทำงานอยู่ที่ประมาณ 0.7CR ดังนั้นช่วงเวลาจะเป็น 1.4CR โดยการเปลี่ยนค่าในแต่ละด้าน (และทำให้แตกต่างกัน) คุณสามารถสร้างอัตราส่วนมาร์ค / พื้นที่ที่แตกต่างกัน สำหรับ C = 0.1uF และ R = 10k (บนทรานซิสเตอร์ทั้งสอง) F ประมาณ 714 Hz 0.01uF จะให้ประมาณ 7kHz, 10uF ประมาณ 7 Hz ค่านั้นไม่สำคัญอย่างยิ่ง
JIm Dearden

@DiegoCNascimento บัฟเฟอร์ไม่เปลี่ยนตรรกะดังนั้นคุณจะต้องมีสองประตูไม่ได้
JIm Dearden

ฉันคิดว่าประตู NAND และ AND ติดป้ายไปข้างหลัง
สจวร์ต

1

คุณกำลังใช้ทรานซิสเตอร์ NPN เพื่อดึงเอาท์พุทเกตได้สูงถึง 6V แต่ทรานซิสเตอร์ NPN นั้นไม่ค่อยดีในการดึงโหนดสูง อีซีแอลของ NPN จะไม่สูงกว่าแรงดันที่ฐานประมาณ 0.6V หากคุณต้องการใช้ทรานซิสเตอร์ NPN จากนั้นเชื่อมต่อระหว่างเอาท์พุทเกตและกราวด์ด้วยตัวต้านทานแบบดึงขึ้นไป 6V เท่านั้น สิ่งนี้จะช่วยให้คุณสร้างประตู NAND, NOR และ INV และคุณสามารถสร้างตรรกะแบบใดก็ตามที่คุณต้องการกับสิ่งเหล่านั้น


ขอบคุณสำหรับคำตอบ! ตามความจริงแล้วแนวคิด "pullup resistor" นั้นใหม่สำหรับฉันอย่างสมบูรณ์ แน่นอนฉันจะขุดเข้าไปในเรื่องนั้น!
Anne
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.