วิธีการแปลงสัญญาณดิจิตอล


29

ฉันต้องการวิธีที่จะกลับด้านสัญญาณดิจิตอลเช่นถ้าอินพุทสูงฉันต้องการเอาท์พุทต่ำและถ้าอินพุทต่ำฉันต้องการเอาท์พุทสูง

ฉันคิดว่านี่สามารถทำได้ด้วยทรานซิสเตอร์ PNP เดียว แต่ต้องการยืนยันว่าที่นี่ แรงดันไฟฟ้าที่ฉันจัดการอยู่นั้นน้อยกว่า 5V


รายละเอียดการบำบัดอินเวอร์เตอร์ BJT: EE 307 ส่วนที่ 2 โครงการ MoHAT - "จุดประสงค์ของหน้านี้คือเพื่อเป็นแนวทางให้ผู้ที่สนใจในการดำเนินงานขั้นพื้นฐานของอินเวอร์เตอร์ BJT"
Peter Mortensen

คำตอบ:


34

หรือเนื่องจากคุณกำลังพูดถึงสัญญาณดิจิตอลต่อไปที่คุณใช้อินเวอร์เตอร์

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

Aเป็นอินพุท (สำหรับประตูกับปัจจัยอื่น ๆ ที่จะเป็นA, B, Cฯลฯ ) Yคือการส่งออก ถ้ามันไม่ซับซ้อนวงจรของคุณมากเกินไปให้วางสัญลักษณ์พร้อมอินพุตทางซ้าย

NXP มีอินเวอร์เตอร์แบบเกทเดียว เพียงสี่การเชื่อมต่อ: แหล่งจ่ายไฟพื้นดินอินพุตและเอาต์พุต

มันสามารถทำได้ด้วยทรานซิสเตอร์และตัวต้านทานสองตัว มันเป็นแผนผังที่เรียบง่าย แต่คุณยังต้องทำการคำนวณง่ายๆ คุณจะมีการเชื่อมต่อเหมือนกับอินเวอร์เตอร์
BTW, PNP เป็นตัวเลือก แต่บ่อยครั้งที่จะใช้ NPN

แก้ไข (ความคิดเห็นของคุณอีกครั้ง)

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

หากสัญญาณอินพุตสูงจะมีการไหลของกระแสผ่าน R2 และชุมทางตัวปล่อยเบสของทรานซิสเตอร์ (ฐานไม่ใช่เกต) กระแสนี้จะถูกขยายและตัวสะสมกระแสผ่าน R1 จะทำให้แรงดันตกเพื่อที่เอาต์พุตจะต่ำ อินพุตสูง, เอาต์พุตต่ำ
หากสัญญาณอินพุตต่ำจะไม่มีกระแสฐานใด ๆ และไม่มีกระแสตัวรวบรวม ไม่มีกระแสไฟฟ้าผ่าน R1 หมายถึงไม่มีแรงดันตกดังนั้นเอาต์พุตจะเป็น + V อินพุตต่ำ, เอาต์พุตสูง

สิ่งนี้นำไปสู่อีกเล็กน้อย แต่เหมือนที่ฉันพูดในความคิดเห็นที่จะsandunเอาท์พุทที่ไม่สมดุลสูง หากเอาต์พุตเชื่อมต่อกับตัวเก็บประจุระดับเอาต์พุตที่สูงจะหมายถึงตัวเก็บประจุจะถูกชาร์จผ่าน R1 ซึ่งจะส่งผลให้ความชันแบบเอ็กซ์โพเนนเชียลมีค่าคงที่เวลา R1C เมื่อเอาท์พุทต่ำตัวเก็บประจุจะถูกปล่อยออกมาผ่านความต้านทานต่ำกว่ามากและความลาดชันจะชันมาก คุณจะไม่ได้รับความแตกต่างนี้ด้วยประตู CMOS ซึ่งมีความสามารถในการรับ / ส่งสัญญาณแบบสมมาตร

อินพุตของรุ่นทรานซิสเตอร์จะดึงกระแส (เล็ก) เมื่อสูง รุ่น CMOS จะมีกระแสไฟรั่วเพียงเล็กน้อยทั้งในระดับสูงและระดับต่ำ

โดยรวมแล้วประตูตรรกะแบบรวมเป็นผู้ชนะ


ฉันอาจสับสนได้ที่นี่ แต่ NPN จะเปิดเมื่อมีการจ่ายไฟให้กับเกตและ PNP จะปิดเมื่อมีการจ่ายไฟ มันสมเหตุสมผลที่จะใช้ NPN สำหรับการขยายสัญญาณ แต่มันจะไม่ทำให้สัญญาณกลับด้าน คิด?
Matt Ruwe

2
ประตูสำหรับมอสเฟตไม่ใช่ BJT เปิด NFETs และปิด PFET แต่คุณต้องแน่ใจว่าแหล่งที่มานั้นเชื่อมต่ออย่างถูกต้อง NPN และ PNP มี BJTs และต้องมีบางคณิตศาสตร์มากขึ้นเพื่อให้แน่ใจว่าพวกเขาทำงานอย่างถูกต้อง
ajs410

เมื่อพูดถึง NXP คุณมีพื้นที่อิสระน้อยมาก มีข้อ จำกัด เช่นเวลา, พัดลมเข้า, พัดลมออก, ระยะห่างของสัญญาณรบกวน, ความผิดพลาด ฯลฯ ในกรณีนี้มันง่ายกว่าการใช้ทรานซิสเตอร์ เพียงเพราะคุณไม่ได้ถูกล็อคด้วยข้อ จำกัด เหล่านั้น
มาตรฐาน Sandun

@Matt - แก้ไขคำตอบของฉัน
stevenvh

1
@sandundhammika, ถ้าคุณสร้างของคุณเอง, คุณยังคงมีข้อ จำกัด เกี่ยวกับการ fan-out และส่วนต่างของเสียงรบกวน (fan-in ใช้ไม่ได้ที่นี่) แต่คุณต้องคำนวณด้วยตัวเองว่าขีด จำกัด เหล่านั้นคืออะไร หากคุณใช้เกตที่ไม่ได้วางจำหน่ายคุณสามารถอ่านแผ่นข้อมูลเพื่อค้นหาได้ นอกจากนี้การใช้พลังงาน (ข้อ จำกัด ทั่วไปของระบบอื่น) น่าจะดีกว่ามากสำหรับประตูปิดชั้นวาง
โฟตอน

24

ใช่สามารถทำได้ด้วยทรานซิสเตอร์และตัวต้านทานเดียว แต่มีชิปที่ออกแบบมาโดยเฉพาะเพื่อสลับสัญญาณดิจิตอล พวกเขาถูกเรียกว่าอินเวอร์เตอร์นั่นเอง ตรวจสอบ 74HC04 ตัวอย่างเช่น ที่ให้อินเวอร์เตอร์หกตัวแยกกันในแพ็คเกจ 14 พินเดียว นอกจากนี้ยังมีอินเวอร์เตอร์เดี่ยว (และประตูลอจิกขนาดเล็กอื่น ๆ ) ที่มีอยู่ในแพคเกจ SOT-23 ขนาดเล็กซึ่งเป็นชุดเดียวกันของทรานซิสเตอร์แต่ละตัว

มีเหตุผลเล็กน้อยที่จะพยายามสร้างอินเวอร์เตอร์ของคุณเอง แต่ใช่มันเป็นไปได้

เพิ่มในการตอบสนองต่อความคิดเห็น:

อย่างที่ฉันได้กล่าวไว้ว่าทรานซิสเตอร์สองขั้วสามารถใช้เป็นพื้นฐานสำหรับอินเวอร์เตอร์แบบง่ายได้ อย่างน้อยที่สุดคุณต้องมีทรานซิสเตอร์และตัวต้านทานพื้นฐาน เพื่อความสมบูรณ์ฉันจะเพิ่มตัวต้านทานโหลดเอาต์พุตซึ่งคุณควรถือว่าเป็นสิ่งจำเป็นเว้นแต่คุณจะรู้ว่าอะไรก็ตามที่จะเชื่อมต่อกับเอาต์พุตจะให้โหลดที่จำเป็น ไม่มีอะไรมหัศจรรย์เกี่ยวกับทรานซิสเตอร์ PNP โดยเฉพาะ NPN สามารถใช้งานได้เช่นกัน นี่คือวิธีการใช้งานแต่ละอย่าง:

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

อย่างไรก็ตามวิธีนี้ง่ายกว่า:

นอกจากนี้ยังเร็วกว่าใช้พลังของรัฐที่น้อยกว่ามีอิมพิแดนซ์ที่สูงกว่าและมีขนาดเล็กลง มีการเชื่อมต่อสี่แบบเดียวกันกับอินเวอร์เตอร์ด้านบน ประตูเดี่ยวแบบนี้มีอยู่ในแพ็คเกจ SOT-23 ซึ่งเป็นชุดเดียวที่มีทรานซิสเตอร์ตัวเดียวเข้ามานี่ต้องใช้ชิ้นส่วนภายนอกเพียงชิ้นเดียวคือฝาบายพาส ไม่จำเป็นต้องมีตัวต้านทานโหลดเนื่องจากเอาต์พุตจะขับเคลื่อนทั้งสองวิธีอย่างแข็งขัน

จริงๆแล้วสำหรับการย้อนกลับสัญญาณดิจิตอลทั่วไปการทำอินเวอร์เตอร์ของคุณเองนั้นโง่สำหรับการใช้งานทั่วไป

ปิดหัวข้อกันเกี่ยวกับการวาดแผนผัง:

สคริปต์มีแค่สามบรรทัดจริงๆ นี่คือไฟล์ทั้งหมด:

@ ปิดเสียง
REM
rem MAKE_SCHEM_GIF
REM
rem สร้างไฟล์ GIF schematic ที่ถูกกรองอย่างดีจากเอ้าท์พุต Eagle ดิบ
rem /temp/a.tif ไฟล์ GIF ที่ได้จะเป็น /temp/b.gif และจะเป็น
ระดับสีเทา rem
REM
image_filter /temp/a.tif /temp/b.img -shrink 5
image_copy /temp/b.img /temp/b.gif -form -gray
image_disp /temp/b.gif -zoom 1 -dev medium

มันเป็นสคริปต์แบบใช้ครั้งเดียวที่เฉพาะเจาะจง แต่ทำงานได้ดีพอสำหรับวัตถุประสงค์ ใน Eagle I ส่งออกแผนผังไปยังไฟล์รูปภาพ \ temp \ a.tif ให้เรียกใช้สคริปต์ซึ่งทำให้ \ temp \ b.gif การตั้งค่า Eagle สำหรับการส่งออกภาพคือ 600 DPI และขาวดำ จริงๆแล้วนั่นคือทั้งหมดที่มีให้มัน มันอาจจะฟังดูซับซ้อนกว่าที่เป็นอยู่


1
@ MattRuwe เราจะ "พอเพียง" แต่จุดของแลงคือว่าชิปเฉพาะจะทำได้ดีกว่า (เวลาขึ้นและตกจะมีความสมมาตรมากกว่า) PNP สามารถ "ดึง" เป็น Vdd ได้ แต่คุณต้องการบางสิ่งบางอย่างเพื่อดึงกลับลงมาเมื่อ PNP ยอมให้เอาต์พุตลอย "บางสิ่ง" นั้นจะสร้างความไม่สมดุลในเวลาขึ้น / ลงตามความต้านทานของมัน
ajs410

Gotcha เข้าท่า
Matt Ruwe

1
แผนผังของคุณดูสวยกว่าของฉันทำไม :-)
stevenvh

4
@stevenvh: ต้องเป็นเพราะฉันดีกว่า แม้ว่าอย่างจริงจังฉันใช้ Eagle และดูแลบางอย่าง หลังจากวาดภาพใน Eagle ฉันส่งออกแผนผังที่ 600 DPI ไปยังไฟล์รูปภาพจากนั้นเรียกใช้สคริปต์ที่กรองและย่อขนาด 5x และเขียนผลลัพธ์เป็นไฟล์ GIF ระดับสีเทา นั่นทำให้ผลลัพธ์มีขนาดที่เหมาะสมโดยไม่มีสิ่งประดิษฐ์พิกเซล มันทำให้เส้นเลือนเล็กน้อยซึ่งเป็นข้อเสียที่ไม่มีนามแฝงและภาพที่มองเห็น
Olin Lathrop

1
@abdullah: ดูเพิ่มเติมที่จะตอบ
Olin Lathrop

8

นี่คือค่าตัวต้านทานบางตัวที่ใช้งานได้กับสัญญาณ CMOS:

ฉันพบกระทู้นี้เพราะฉันต้องการเชื่อมต่อ "LCD Digital Backpack" รุ่นเก่าเข้ากับ Arduino Arduino ทำให้สัญญาณอนุกรมเป็นบวกและกระเป๋าเป้ดิจิตอลต้องการสัญญาณกลับหัว คอนโทรลเลอร์ LCD รุ่นใหม่กว่ามีจัมเปอร์แบบกลับด้าน / ไม่กลับด้าน แต่ของฉันไม่มี ในทำนองเดียวกันมันเป็นไปได้ที่จะสร้างสัญญาณอนุกรมกลับหัวผ่านซอฟต์แวร์ แต่มันเกี่ยวข้องกับการใช้งานไลบรารี่ที่ไม่ได้มาตรฐาน ฉันต้องการใช้Serial.writeคำสั่งมาตรฐาน

ตอนแรกฉันเชื่อมต่อหนึ่งใน 4 NORs ในประตู 4001 CMOS Quad NOR เป็นเครื่องแปลงกระแสไฟฟ้า แต่นั่นใช้เนื้อที่มากบนบอร์ดของฉันและเนื่องจากคุณควรผูกอินพุตที่ไม่ได้ใช้ทั้งหมดกับพื้น การเดินสายไฟ (ฉันคิดว่าฉันต้องเชื่อมต่อทั้งหมดยกเว้น 3 จาก 14 พินบนแพ็คเกจ; ทุกอย่างยกเว้นเอาต์พุตของ NOR ที่ไม่ได้ใช้ 3 อัน)

ฉันต้องการโซลูชันที่เรียบง่ายกว่าเดิม ฉันใช้วงจรที่ให้บริการโดย @stevenvh

เชื่อมโยงที่นี่:

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

ฉันกำลังจัดการกับตรรกะ CMOS 5V ที่ 9600 บอดดังนั้นอิมพีแดนซ์อินพุตสูงมาก / ปัจจุบันต่ำมาก เนื่องจากฉันเปลี่ยนที่ 9600 บอดเท่านั้นฉันไม่คิดว่าพฤติกรรมไม่สมมาตรของอินเวอร์เตอร์ที่ใช้ทรานซิสเตอร์สร้างความเสียหายให้ฉันมากนัก

ฉันพบว่าตัวต้านทาน 100K บนอินพุต (R2 ในไดอะแกรมของ stevenvh) ทำงานและใช้ตัวต้านทาน 3.3k เป็นตัวต้านทานแบบดึงขึ้นที่ R1 จากการคำนวณของฉัน (I = V / R, 5/3300) การตั้งค่านี้จะวาด <= 1.5 mA ในสถานะเปิด (ค่อนข้างน้อยเนื่องจากความต้านทานภายในของทรานซิสเตอร์) ฉันอาจต่อหม้อและดูว่ามีขนาดใหญ่แค่ไหน ตัวต้านทานฉันสามารถออกไปได้โดยที่ยังมี LCD รับสัญญาณ


4

นี่คือวิธีที่คุณใช้วิธี CMOS:

แผนผัง

จำลองวงจรนี้ - แผนผังที่สร้างโดยใช้CircuitLab

แรงดันไฟฟ้าของรางไฟฟ้าสามารถสูงได้เท่าที่คุณต้องการตราบเท่าที่ต่ำกว่าแรงดันพังทลายของเกต

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