ฉันได้ตรวจสอบทั้งสองวิธีแล้วและการมัลติเพล็กซ์ดูเหมือนจะมีข้อได้เปรียบเพียงอย่างเดียวซึ่งจะช่วยให้สามารถติดตาม LED ที่ล้มเหลวได้ง่ายกว่าในอาร์เรย์ Charlieplex
ใครบางคนที่มีความรู้มากกว่าสามารถอธิบายการแลกเปลี่ยนอื่น ๆ ได้หรือไม่?
ฉันได้ตรวจสอบทั้งสองวิธีแล้วและการมัลติเพล็กซ์ดูเหมือนจะมีข้อได้เปรียบเพียงอย่างเดียวซึ่งจะช่วยให้สามารถติดตาม LED ที่ล้มเหลวได้ง่ายกว่าในอาร์เรย์ Charlieplex
ใครบางคนที่มีความรู้มากกว่าสามารถอธิบายการแลกเปลี่ยนอื่น ๆ ได้หรือไม่?
คำตอบ:
ใช่มัลติเพล็กซ์และชาร์ลีเพล็กซ์ทั้งคู่มีข้อดีและต่างกันเหมาะที่สุดสำหรับงานที่แตกต่างกัน
ข้อได้เปรียบหลักของ 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
ข้อเสียที่สำคัญที่สุดของไฟ "Charlieplexing" คือมัน จำกัด จำนวนของ LED ที่สามารถขับเคลื่อนด้วย 'n-way multiplexing ถึง n (n-1) ฉันไม่เห็นความต้องการไดรเวอร์สามสถานะว่าเป็นปัญหากับเทคนิคโดยรวม แน่นอนว่าต้องใช้ไดร์เวอร์ธรรมดาสองตัวแทนไดรเวอร์ไตรสเตทจะลดประโยชน์จาก CharliePlexing แต่ในบางกรณีข้อดีอาจยังคงอยู่ (เช่นอาจลดจำนวนสายเชื่อมต่อระหว่างแผงกับไดรเวอร์และพาเนลที่มี ไฟหรือสวิตช์)
สำหรับสวิทช์ Charlieplexing บทความ Wikipedia ไม่ได้พูดถึงข้อเสียที่ใหญ่ที่สุด: Charlieplexing ไม่อนุญาตให้ผู้ควบคุมรอการกดปุ่มอย่างอดทน ในทางตรงกันข้ามมันเป็นแง่ร้ายมากเกินไปเกี่ยวกับความต้องการส่วนประกอบ ในปี 1997 ฉันผลิตอุปกรณ์ที่สแกนแปดปุ่มโดยใช้ I / O สามพินและพินอินพุตเดียวอย่างเดียวบน PIC12C508 โดยไม่จำเป็นต้องใช้ไดโอดภายนอกหรือส่วนประกอบอื่นใดนอกจากการดึง IIRC สำหรับพิน PIC ซึ่งไม่ได้ใช้ มีหนึ่งในตัว; วิธีการนั้นสามารถใช้งานได้สิบปุ่มด้วยการเพิ่มตัวต้านทานแบบเลื่อนขึ้น (สำหรับ I / O พินที่ไม่มีปุ่มเดียว) แต่ลูกค้าต้องการเพียงแปดปุ่มเท่านั้นดังนั้นจึงไม่จำเป็น