การทำ Multiplexing เหนือกว่า Charlieplexing หรือไม่?


17

ฉันได้ตรวจสอบทั้งสองวิธีแล้วและการมัลติเพล็กซ์ดูเหมือนจะมีข้อได้เปรียบเพียงอย่างเดียวซึ่งจะช่วยให้สามารถติดตาม LED ที่ล้มเหลวได้ง่ายกว่าในอาร์เรย์ Charlieplex

ใครบางคนที่มีความรู้มากกว่าสามารถอธิบายการแลกเปลี่ยนอื่น ๆ ได้หรือไม่?

คำตอบ:


26

ใช่มัลติเพล็กซ์และชาร์ลีเพล็กซ์ทั้งคู่มีข้อดีและต่างกันเหมาะที่สุดสำหรับงานที่แตกต่างกัน

ข้อได้เปรียบหลักของ charlieplexing คือมันสามารถทำได้บนไมโครคอนโทรลเลอร์ขนาดกลางขับ LED ได้มากขึ้นด้วย I / O ที่น้อยลงและไม่มีฮาร์ดแวร์ภายนอกนอกเหนือจากไฟ LED

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

เมื่อคุณเพิ่มฮาร์ดแวร์ภายนอกเพื่อขับเคลื่อน LED ที่มีความสว่างสูงกว่าเพื่อจับคู่กับอาร์เรย์แบบมัลติเพล็กซ์ charlieplexing จะสูญเสียความมันวาว

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

ประการที่สองและนักฆ่าก็คือ charlieplexing โดยทั่วไปต้องการไดรเวอร์ไตรสถานะ อย่างไรก็ตามการมัลติเพล็กซ์นั้นดำเนินการด้วยลอจิกไบนารีออน - ปิดที่เข้มงวด หากคุณมีไมโครคอนโทรลเลอร์จำนวนพินต่ำและต้องการขับ LED ขนาดใหญ่จำนวนมากมันเป็นเรื่องง่ายที่จะใช้ชิปตรรกะภายนอก (เช่น shift register และ / หรือไดรเวอร์ LED) เพื่อควบคุมทั้งแกน X และ Y ชิปประเภท shift-register ส่วนใหญ่ไม่รองรับ tristating ที่จำเป็นในการทำสิ่งเดียวกันในอาร์เรย์ charlieplexed มีไดรเวอร์เฉพาะสำหรับ charlieplexed แต่ไม่สามารถใช้งานได้หลากหลาย

ประการที่สามในอาร์เรย์ charlieplexed หมุดทุกอันที่ไม่ได้ทำอะไรบางอย่างยังคงติดอยู่กับ LED ผ่านการเชื่อมต่อที่อ่อนแอ ("อิมพีแดนซ์สูง") และในขณะที่การเชื่อมต่ออ่อนแอมันไม่ใช่ศูนย์ สมมติว่าคุณมีหมุด I / O 25 ตัวเชื่อมต่อกับกริดของ LED ถ้าคุณจุดหนึ่ง LED - รับหนึ่งใน 25 สายเหล่านั้นและหนึ่งใน 25 สายต่ำเหล่านั้นที่เหลือ 23 บรรทัดความต้านทานสูง แต่ละสถานที่ที่เส้น I / O สูงผ่าน LED ไปยังเส้นกลางมีความเป็นไปได้ที่จะเกิดกระแสรั่วไหล ไม่มาก. อาจเป็น microamp ที่นี่หรือที่นั่น แต่ด้วย LED ที่ทันสมัยและมีประสิทธิภาพมักจะเพียงพอที่จะสร้างภาพเงาที่มองเห็นได้

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


1
อ่านดี ให้ข้อมูลเชิงลึกเกี่ยวกับการออกแบบ
เพ็กกี้

เพิ่งซื้อไฟสลัวปกติ แต่ ghosting ยังคงมีปัญหา จะดีกว่าหรือไม่ที่จะใช้ resisitor สำหรับแต่ละ led แทนที่จะเป็นแต่ละบรรทัด? ฉันขับ 6 leds โดยใช้ Attiny85 ก่อนที่ฉันจะใช้ตัวต้านทาน 330 โอห์มสำหรับแต่ละบรรทัดและตอนนี้ฉันใช้ 1K เมื่อใช้ 1K chosting จะน้อยลง แต่ก็ยังอยู่ที่นั่นเช่นกันไฟ led จะไม่สว่างเช่นเดียวกับเส้นทาง 330 โอห์ม มันจะดีกว่าไหมถ้า LED ทุกตัวมีตัวต้านทานเป็นของตัวเองเพื่อกำจัดสิ่งนี้?
Codebeat

3

ข้อเสียที่สำคัญที่สุดของไฟ "Charlieplexing" คือมัน จำกัด จำนวนของ LED ที่สามารถขับเคลื่อนด้วย 'n-way multiplexing ถึง n (n-1) ฉันไม่เห็นความต้องการไดรเวอร์สามสถานะว่าเป็นปัญหากับเทคนิคโดยรวม แน่นอนว่าต้องใช้ไดร์เวอร์ธรรมดาสองตัวแทนไดรเวอร์ไตรสเตทจะลดประโยชน์จาก CharliePlexing แต่ในบางกรณีข้อดีอาจยังคงอยู่ (เช่นอาจลดจำนวนสายเชื่อมต่อระหว่างแผงกับไดรเวอร์และพาเนลที่มี ไฟหรือสวิตช์)

สำหรับสวิทช์ Charlieplexing บทความ Wikipedia ไม่ได้พูดถึงข้อเสียที่ใหญ่ที่สุด: Charlieplexing ไม่อนุญาตให้ผู้ควบคุมรอการกดปุ่มอย่างอดทน ในทางตรงกันข้ามมันเป็นแง่ร้ายมากเกินไปเกี่ยวกับความต้องการส่วนประกอบ ในปี 1997 ฉันผลิตอุปกรณ์ที่สแกนแปดปุ่มโดยใช้ I / O สามพินและพินอินพุตเดียวอย่างเดียวบน PIC12C508 โดยไม่จำเป็นต้องใช้ไดโอดภายนอกหรือส่วนประกอบอื่นใดนอกจากการดึง IIRC สำหรับพิน PIC ซึ่งไม่ได้ใช้ มีหนึ่งในตัว; วิธีการนั้นสามารถใช้งานได้สิบปุ่มด้วยการเพิ่มตัวต้านทานแบบเลื่อนขึ้น (สำหรับ I / O พินที่ไม่มีปุ่มเดียว) แต่ลูกค้าต้องการเพียงแปดปุ่มเท่านั้นดังนั้นจึงไม่จำเป็น


คุณมีแผนผังของที่ใดที่หนึ่งในเน็ตหรือไม่?
Codebeat

@Erwinus: สายทั้งหมดจาก CPU ดึงขึ้นมา เชื่อมต่อสวิตช์กับสายที่เป็นไปได้ทุกคู่ (ดังนั้นหากมีสี่สายนั่นคือหกสวิตช์หากห้าสาย 10, ถ้าหก, เจ็ด, หรือแปด, 15, 21 หรือ 28) เชื่อมต่อสวิตช์ระหว่างสายแต่ละสายกับสายกราวด์ (หนึ่งสวิตช์เสริมต่อสาย)
supercat
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.