วัตถุประสงค์ของเกตบัฟเฟอร์คืออะไร?


34

ที่ฉันเข้าใจบัฟเฟอร์ประตูเป็นสิ่งที่ตรงกันข้ามกับประตูไม่และไม่เปลี่ยนอินพุต:

มันไม่ทำอะไรเลย!

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

แต่ทำไม

ดังนั้นเมื่อหนึ่งจะต้องใช้ IC บัฟเฟอร์ในวงจรของพวกเขา อะไรคือจุดประสงค์ของประตูในแผนผังดังกล่าว?


1
บางครั้งมันเป็นนักแปลระดับตรรกะระหว่างตระกูลตรรกะที่แตกต่างกัน
Brian Drummond

@Colin__s คืออะไร ไม่ฉันเพิ่งได้รับการแจ้งเตือนและพบว่าชื่อมีข้อผิดพลาดทางไวยากรณ์ ฉันได้รับคำตอบ ขอโทษสำหรับเรื่องนั้น.
ฉันไม่รู้ว่าฉันทำอะไร

1
ในกรณีที่คุณมีคำขอโทษฉันไม่ควรสั้นเกินไป
โคลิ

คำตอบ:


59

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

แล้วคุณจะใช้เมื่อไหร่หรือทำไม อย่างน้อยที่สุดเมื่อบัฟเฟอร์ที่ง่ายที่สุดและถูกที่สุดของทั้งหมดลวดทองแดง / ร่องรอยพร้อมใช้งานหรือไม่

นี่คือสาเหตุบางประการ:

1. การแยกเชิงตรรกะ บัฟเฟอร์ส่วนใหญ่มีหมุด ~ OE หรือคล้ายกันขาออกที่เปิดใช้งาน สิ่งนี้ช่วยให้คุณสามารถเปลี่ยนสายตรรกะใด ๆ ให้กลายเป็น tristate สิ่งนี้มีประโยชน์อย่างยิ่งหากคุณต้องการเชื่อมต่อหรือแยกบัสสองบัส (ด้วยบัฟเฟอร์ทั้งสองวิธีหากจำเป็น) หรืออาจเป็นแค่อุปกรณ์ บัฟเฟอร์ซึ่งเป็นบัฟเฟอร์ระหว่างสิ่งต่าง ๆ ช่วยให้คุณทำเช่นนั้นได้

2. การแปลระดับ บัฟเฟอร์จำนวนมากปล่อยให้ด้านเอาต์พุตได้รับแรงดันไฟฟ้าที่แตกต่างจากด้านอินพุต สิ่งนี้มีประโยชน์อย่างมากสำหรับการแปลระดับแรงดันไฟฟ้า

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

4. การแยกทางกายภาพคุณต้องส่งสัญญาณดิจิตอลไกลเกินกว่าที่คุณต้องการสิ่งต่าง ๆ ที่มีเสียงดังและบัฟเฟอร์ทำให้มีการทวนสัญญาณที่ยอดเยี่ยม แทนที่จะเป็นขา GPIO ที่ปลายรับที่มีเท้าของรอย pcb เชื่อมต่ออยู่ทำหน้าที่เป็นเสาอากาศตัวเหนี่ยวนำและตัวเก็บประจุและอาเจียนออกมาอย่างแท้จริงไม่ว่าเสียงห่าและความน่าสะพรึงกลัวที่ต้องการโดยตรงเข้าไปในปากเหวอะของขาแย่คุณใช้ กันชน. ตอนนี้พิน GPIO จะเห็นเฉพาะการติดตามระหว่างมันกับบัฟเฟอร์และแยกลูปปัจจุบัน Heck คุณสามารถยุติสัญญาณได้อย่างถูกต้องเช่นเดียวกับตัวต้านทาน50Ω (หรืออะไรก็ตาม) เพราะคุณมีบัฟเฟอร์ที่ปลายส่งด้วยและสามารถโหลดได้ในวิธีที่คุณไม่สามารถโหลดพิน impC ตัวน้อยได้

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

ตัวอย่าง: คุณต้องการ LED แสดงสถานะในบางสิ่งบางอย่างเช่นบัส I2C แต่การเพิ่มไฟ LED ลงในบรรทัด I2C โดยตรงจะทำให้เกิดปัญหาการส่งสัญญาณ ดังนั้นคุณใช้บัฟเฟอร์

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

อีกวิธีหนึ่งที่ชิปรักการระเบิดเกือบเท่าที่พวกเขารักเซมิคอนดักเตอร์ และส่วนใหญ่เวลาที่มีบางอย่างผิดปกติชิปจะระเบิด หากไม่มีบัฟเฟอร์บ่อยครั้งที่สิ่งใดก็ตามที่โผล่ขึ้นมาชิปด้านซ้ายและด้านขวาจะเข้าถึงลึกเข้าไปในวงจรของคุณและทำลายชิปในทันที บัฟเฟอร์สามารถป้องกันได้ ฉันเป็นแฟนตัวยงของบัฟเฟอร์บูชายัญ หากสิ่งที่กำลังจะระเบิดฉันต้องการให้มันเป็นบัฟเฟอร์ 50 and ไม่ใช่ FPGA $ 1,000

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


9
และคุณสามารถรับบัฟเฟอร์ 50 เปอร์เซ็นต์นั้นในกรมทรัพย์สินทางปัญญาและใส่ไว้ในซ็อกเก็ตเพื่อที่ว่าเมื่อมันถูกสังเวยต่อเทพเจ้าแห่งควันสีน้ำเงินวิเศษมันเป็นเพียงเรื่องของการโผล่มันออกมาและตบใหม่;)
ThreePhaseEel

5
บัฟเฟอร์ยังสามารถใช้ในการซิงโครไนซ์ 2 สัญญาณโดยแนะนำการหน่วงเวลา
MathieuL

4
คำตอบของคุณควรรวมถึงกรณีของ OP: ดังนั้นความต้านทานอินพุตขั้นต่อไปของคุณจึงไม่ขนานกับ R1 ซึ่งจะเปลี่ยนพฤติกรรมของ Q1
Warren Young

1
+1: คำตอบที่ยอดเยี่ยมและข้อมูลอ้างอิงมากมายในที่เดียว! แค่ nitpick: "บัฟเฟอร์มี hysteresis" ควรถูกแทนที่ด้วยบางสิ่งเช่น " บัฟเฟอร์บางตัวมี hysteresis" ผู้ที่ไม่ได้ใช้เพื่อเพิ่มสัญญาณอะนาล็อก
Lorenzo Donati สนับสนุนโมนิก้า

1
@ LorenzoDonati Nitpicking ยินดีต้อนรับเสมอเช่นเดียวกับการแก้ไข ฉันทำอย่างดีที่สุดเพื่อให้คำตอบที่ดี แต่ไม่มีใครที่สมบูรณ์แบบดังนั้นฉันขอบคุณมากเมื่อคนอื่นใช้เวลาในการแก้ไขข้อผิดพลาดหรือปัญหาใด ๆ และคุณพูดถูกจริงๆมีเพียงบัฟเฟอร์บางตัวเท่านั้นที่มีฮิสเทรีซิส ฉันจะอัปเดตคำตอบตามนั้นขอบคุณ! :)
metacollin

9

Simple buffer gates มีหลายแอพพลิเคชั่น:

  • ในวันเก่าที่มี จำกัดพัดลมออกของการส่งออกตรรกะเมื่อป้อนให้กับปัจจัยการผลิตที่ตามมาหลาย ถ้าฉันจำได้อย่างถูกต้องมันเป็นประมาณ 5 สำหรับ TTL LS ดังนั้นหากคุณใช้เอาต์พุตเพื่อป้อนมากกว่า 5 อินพุตระดับตรรกะจะไม่รับประกันอีกต่อไป คุณสามารถใช้บัฟเฟอร์เพื่อแก้ปัญหานี้ แต่ละบัฟเฟอร์สามารถป้อนข้อมูลได้อีก 5 อินพุต (โดยมีความล่าช้าเล็กน้อยที่เกี่ยวข้อง) ตอนนี้ด้วย CMOS มันไม่ได้เกี่ยวข้องกันอีกต่อไป Fanout เป็นคำสั่งที่มีขนาดใหญ่ขึ้นและไม่เคยมีปัญหาเลย
  • มันสามารถใช้ในการ "ขยาย" สัญญาณอ่อนแอ หากสัญญาณมีความต้านทานสูงมากและคุณต้องการใช้เป็นอินพุตของวงจรที่มีอิมพีแดนซ์อินพุตต่ำระดับตรรกะจะไม่อยู่ในรายละเอียด บางทีนี่อาจเป็นการใช้งานในตัวอย่างเฉพาะของคุณ
  • มันสามารถใช้เป็นสายหน่วงเวลาขนาดเล็ก
  • โดยปกติบัฟเฟอร์มีอินพุตทริกเกอร์ schmitt (แต่เรามักจะวาดเครื่องหมาย "hysteresis" ขนาดเล็ก: ⎎ในสามเหลี่ยมบัฟเฟอร์และดูเหมือนว่าไม่ใช่กรณีของคุณ) ดังนั้นหากระดับลอจิกอยู่ในระดับสูงและต่ำเอาท์พุทยังคงถูกกำหนดไว้ล่วงหน้า (มันจะอยู่ในระดับที่มันเป็น) มีการใช้งานจำนวนมากเมื่อเชื่อมต่อสัญญาณอะนาล็อก (เช่นมาจากเซ็นเซอร์) ไปยังอินพุตดิจิตอล

นอกจากนั้นยังมีประเพณีไม่มากนัก นั่นคือเหตุผลที่เราไม่สามารถหาสิ่งเหล่านั้นได้อย่างง่ายดาย


2
การขยายจะถูกต้องบนเครื่องหมาย แน่นอนว่าเป็นหน้าที่ของทั้งสองกระสุนแรกของคุณ ไม่มีเหตุบังเอิญที่บัฟเฟอร์ดิจิตอลใช้สัญลักษณ์รูปสามเหลี่ยมที่ว่างเปล่าของแอมป์ พวกมันทำหน้าที่เป็นแอมป์ปัจจุบันที่มีแรงดันไฟฟ้า จำกัด (ที่มีอัตราขยายไม่เป็นเชิงเส้นมาก ) นั่นคือฟังก์ชั่นเดียวกันกับบัฟเฟอร์แรงดันไฟฟ้าแบบอะนาล็อก (เช่น opamp ที่กำหนดค่าเป็นผู้ติดตามแรงดันไฟฟ้า) ข้อแตกต่างคือบัฟเฟอร์ดิจิตอลมักจะรองรับแรงดันเอาต์พุตเพียงสองระดับดังนั้นจึงมีแรงดันไฟฟ้าไม่เป็นเชิงเส้นบางส่วนเช่นกัน
Kevin Cathcart

1
"บัฟเฟอร์" ที่เกิดขึ้นจริงในความเป็นจริงเป็น opamp ในการกำหนดค่ากำไรรวม เกตมักใช้สำหรับการโหลดที่น้อยกว่าหรือสำหรับการปรับปรุงขอบตรรกะจากทริกเกอร์รวมของ schmidt เนื่องจากตรรกะมาตรฐานสามารถรองรับโหลด mA ได้ง่าย
Drunken Code Monkey

1
การใช้พัดลมเป็นสิ่งสำคัญ ขอบคุณที่พูดถึง
Joel B

5

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

สาเหตุอื่นอาจเป็นเพราะบัฟเฟอร์มีการป้องกันเอาต์พุต (ข้อ จำกัด ปัจจุบันการป้องกัน ESD)

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