สารบัญ:

DIY 4xN LED Driver: 6 ขั้นตอน
DIY 4xN LED Driver: 6 ขั้นตอน

วีดีโอ: DIY 4xN LED Driver: 6 ขั้นตอน

วีดีโอ: DIY 4xN LED Driver: 6 ขั้นตอน
วีดีโอ: PXN V9 Connection Tutorial with PS4 2024, พฤศจิกายน
Anonim
ไดร์เวอร์ LED DIY 4xN
ไดร์เวอร์ LED DIY 4xN

จอแสดงผล LED ใช้กันอย่างแพร่หลายในระบบต่างๆ ตั้งแต่นาฬิกาดิจิตอล ตัวนับ ตัวจับเวลา มิเตอร์อิเล็กทรอนิกส์ เครื่องคิดเลขพื้นฐาน และอุปกรณ์อิเล็กทรอนิกส์อื่นๆ ที่สามารถแสดงข้อมูลตัวเลขได้ รูปที่ 1 แสดงตัวอย่างจอแสดงผล LED 7 ส่วนซึ่งสามารถแสดงตัวเลขและตัวอักษรทศนิยมได้ เนื่องจากแต่ละส่วนบนจอแสดงผล LED สามารถควบคุมแยกกันได้ การควบคุมนี้จึงต้องการสัญญาณจำนวนมาก โดยเฉพาะอย่างยิ่งสำหรับตัวเลขหลายหลัก คำแนะนำนี้อธิบายการใช้งาน GreenPAK™ เพื่อขับเคลื่อนตัวเลขหลายหลักด้วยอินเทอร์เฟซ I2C แบบ 2 สายจาก MCU

ด้านล่างนี้ เราได้อธิบายขั้นตอนที่จำเป็น ทำความเข้าใจว่าชิป GreenPAK ได้รับการตั้งโปรแกรมเพื่อสร้างไดรเวอร์ LED 4xN อย่างไร อย่างไรก็ตาม หากคุณต้องการเพียงแค่ผลลัพธ์ของการเขียนโปรแกรม ให้ดาวน์โหลดซอฟต์แวร์ GreenPAK เพื่อดูไฟล์การออกแบบ GreenPAK ที่เสร็จสมบูรณ์แล้ว เสียบ GreenPAK Development Kit เข้ากับคอมพิวเตอร์ของคุณและกดโปรแกรมเพื่อสร้าง IC แบบกำหนดเองสำหรับไดรเวอร์ 4xN LED

ขั้นตอนที่ 1: พื้นหลัง

พื้นหลัง
พื้นหลัง
พื้นหลัง
พื้นหลัง
พื้นหลัง
พื้นหลัง

จอแสดงผล LED แบ่งออกเป็นสองประเภท: แอโนดทั่วไปและแคโทดทั่วไป ในการกำหนดค่าแอโนดทั่วไป ขั้วแอโนดจะลัดวงจรภายในพร้อมกันดังแสดงในรูปที่ 2 ในการเปิดไฟ LED ขั้วแอโนดทั่วไปจะเชื่อมต่อกับแรงดันไฟฟ้าของระบบ VDD และขั้วแคโทดเชื่อมต่อกับกราวด์ผ่านตัวต้านทานจำกัดกระแส

การกำหนดค่าแคโทดทั่วไปจะคล้ายกับการกำหนดค่าแอโนดทั่วไป ยกเว้นขั้วแคโทดจะลัดวงจรพร้อมกันดังแสดงในรูปที่ 3 ในการเปิดจอแสดงผล LED แคโทดทั่วไป เทอร์มินัลแคโทดทั่วไปจะเชื่อมต่อกับกราวด์ และเทอร์มินัลแอโนดเชื่อมต่อกับระบบ จ่ายแรงดัน VDD ผ่านตัวต้านทานจำกัดกระแส

สามารถรับจอแสดงผล LED แบบมัลติเพล็กซ์ N หลักได้โดยการต่อจอแสดงผล LED 7 เซ็กเมนต์ N แต่ละรายการ รูปที่ 4 แสดงภาพตัวอย่างของจอแสดงผล LED 4x7 ที่ได้จากการรวมจอแสดงผล 7segment 4 จอในการกำหนดค่าแอโนดทั่วไป

ดังที่แสดงในรูปที่ 4 แต่ละหลักมีพินแอโนด / แบ็คเพลนทั่วไปที่สามารถใช้เพื่อเปิดใช้งานแต่ละหลักได้ หมุดแคโทดสำหรับแต่ละเซ็กเมนต์ (A, B, …G, DP) ควรลัดวงจรเข้าด้วยกันจากภายนอก ในการกำหนดค่าจอแสดงผล LED 4x7 นี้ ผู้ใช้ต้องการเพียง 12 พิน (พินทั่วไป 4 พินสำหรับแต่ละหลักและพิน 8 ส่วน) เพื่อควบคุม 32 เซ็กเมนต์ของจอแสดงผล 4x7 แบบมัลติเพล็กซ์ทั้งหมด

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

ขั้นตอนที่ 2: การออกแบบ GreenPAK

การออกแบบ GreenPAK
การออกแบบ GreenPAK

การออกแบบ GreenPAK ที่แสดงในรูปที่ 5 มีทั้งการสร้างสัญญาณส่วนและตัวเลขในการออกแบบเดียว สัญญาณเซ็กเมนต์ถูกสร้างขึ้นจาก ASM และสัญญาณการเลือกตัวเลขจะถูกสร้างขึ้นจากเชน DFF สัญญาณเซกเมนต์เชื่อมต่อกับพินเซกเมนต์ผ่านตัวต้านทานจำกัดกระแส แต่สัญญาณการเลือกตัวเลขเชื่อมต่อกับพินทั่วไปของจอแสดงผล

ขั้นตอนที่ 3: การสร้างสัญญาณหลัก

การสร้างสัญญาณหลัก
การสร้างสัญญาณหลัก

ตามที่อธิบายไว้ในหัวข้อที่ 4 ตัวเลขแต่ละหลักบนจอแสดงผลแบบมัลติเพล็กซ์จะมีแบ็คเพลนแยกกัน ใน GreenPAK สัญญาณสำหรับแต่ละหลักจะถูกสร้างขึ้นจากห่วงโซ่ DFF ที่ขับเคลื่อนด้วยออสซิลเลเตอร์ภายใน

สัญญาณเหล่านี้ขับเคลื่อนหมุดทั่วไปของจอแสดงผล รูปที่ 6 แสดงสัญญาณการเลือกตัวเลข

ช่อง 1 (สีเหลือง) – พิน 6 (หลัก 1)

ช่อง 2 (สีเขียว) – พิน 3 (หลัก 2)

ช่อง 3 (สีน้ำเงิน) – พิน 4 (หลัก 3)

ช่อง 4 (สีม่วงแดง) – พิน 5 (หลัก 4)

ขั้นตอนที่ 4: การสร้างสัญญาณเซ็กเมนต์

GreenPAK ASM สร้างรูปแบบที่แตกต่างกันเพื่อขับเคลื่อนสัญญาณเซกเมนต์ ตัวนับ 7.5ms วนรอบสถานะ ASM เนื่องจาก ASM มีความไวต่อระดับ การออกแบบนี้จึงใช้ระบบควบคุมที่หลีกเลี่ยงความเป็นไปได้ในการสลับสถานะอย่างรวดเร็วผ่านหลายสถานะในช่วงเวลาที่สูงของนาฬิกา 7.5 มิลลิวินาที การใช้งานเฉพาะนี้ขึ้นอยู่กับสถานะ ASM ที่ต่อเนื่องกันซึ่งควบคุมโดยขั้วนาฬิกากลับด้าน ทั้งสัญญาณเซกเมนต์และตัวเลขถูกสร้างขึ้นโดยออสซิลเลเตอร์ภายใน 25kHz เดียวกัน

ขั้นตอนที่ 5: การกำหนดค่า ASM

การกำหนดค่า ASM
การกำหนดค่า ASM
การกำหนดค่า ASM
การกำหนดค่า ASM
การกำหนดค่า ASM
การกำหนดค่า ASM

รูปที่ 7 อธิบายแผนภาพสถานะของ ASM สถานะ 0 จะสลับเป็นสถานะ 1 โดยอัตโนมัติ สวิตช์ที่คล้ายกันเกิดขึ้นจากสถานะ 2 เป็นสถานะ 3, สถานะ 4 เป็นสถานะ 5 และสถานะ 6 เป็นสถานะ 7 ข้อมูลจากสถานะ 0, สถานะ 2, สถานะ 4 และสถานะ 6 จะถูกล็อคทันทีโดยใช้ DFF 1, DFF 2 และ DFF 7 ดังแสดงในรูปที่ 5 ก่อนที่ ASM จะเปลี่ยนเป็นสถานะถัดไป DFF เหล่านี้จะดึงข้อมูลจากสถานะคู่ของ ASM ซึ่งช่วยให้ผู้ใช้สามารถควบคุมการแสดงผลแบบขยาย 4x11/4xN (N สูงสุด 16 ส่วน) โดยใช้ ASM ของ GreenPAK

ตัวเลขแต่ละตัวบนจอแสดงผล 4xN ถูกควบคุมโดย ASM สองสถานะ สถานะ 0/1, สถานะ 2/3, สถานะ 4/5 และสถานะ 6/7 ตามลำดับควบคุม Digit 1, Digit 2, Digit 3 และ Digit 4 ตารางที่ 1 อธิบายสถานะ ASM พร้อมกับที่อยู่ RAM ตามลำดับเพื่อควบคุมแต่ละ ตัวเลข

แต่ละสถานะของ ASM RAM จะเก็บข้อมูลหนึ่งไบต์ ดังนั้น ในการกำหนดค่าการแสดงผล 4x7 สามส่วนของตัวเลข 1 จะถูกควบคุมโดยสถานะ 0 ของ ASM และห้าส่วนของตัวเลข 1 จะถูกควบคุมโดยสถานะ 1 ของ ASM เป็นผลให้ได้ส่วนทั้งหมดของแต่ละหลักบนจอแสดงผล LED โดยการต่อส่วนต่างๆ จากสองสถานะที่สอดคล้องกัน ตารางที่ 2 อธิบายตำแหน่งของแต่ละเซกเมนต์ของ Digit 1 ใน ASM RAM ในทำนองเดียวกัน ASM's State 2 ถึง State 7 จะรวมตำแหน่งเซกเมนต์ของ Digit 2 ถึง Digit 4 ตามลำดับ

ตามที่เห็นจากตารางที่ 2 OUT 3 ถึง OUT 7 ส่วนของสถานะ 0 และ OUT 0 ถึง OUT 2 ส่วนของสถานะ 1 ไม่ได้ใช้ การออกแบบ GreenPAK ในรูปที่ 5 สามารถควบคุมการแสดงผล 4x11 โดยการกำหนดค่าส่วน OUT 0 ถึง OUT 2 ของสถานะคี่ทั้งหมดของ ASM การออกแบบนี้สามารถขยายเพิ่มเติมเพื่อควบคุมการแสดงผลแบบขยาย 4xN (N สูงสุด 16 ส่วน) โดยใช้เซลล์ลอจิก DFF และ GPIO เพิ่มเติม

ขั้นตอนที่ 6: การทดสอบ

การทดสอบ
การทดสอบ
การทดสอบ
การทดสอบ
การทดสอบ
การทดสอบ

รูปที่ 8 แสดงแผนผังการทดสอบที่ใช้แสดงตัวเลขทศนิยมบนจอแสดงผล LED 4x7-segment Arduino Uno ใช้สำหรับ I2C ที่สื่อสารกับการลงทะเบียน ASM RAM ของ GreenPAK สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสื่อสาร I2C โปรดดูที่ [6] หมุดขั้วบวกทั่วไปของจอแสดงผลเชื่อมต่อกับ GPIO การเลือกตัวเลข หมุดส่วนเชื่อมต่อกับ ASM ผ่านตัวต้านทานจำกัดกระแส ขนาดตัวต้านทานจำกัดกระแสจะแปรผกผันกับความสว่างของจอแสดงผล LED ผู้ใช้สามารถเลือกความแรงของตัวต้านทานจำกัดกระแสได้ ขึ้นอยู่กับกระแสเฉลี่ยสูงสุดของ GreenPAK GPIO และกระแสไฟตรงสูงสุดของจอแสดงผล LED

ตารางที่ 3 อธิบายตัวเลขทศนิยม 0 ถึง 9 ในรูปแบบไบนารีและเลขฐานสิบหกที่จะแสดงบนจอแสดงผล 4x7 0 แสดงว่าเซ็กเมนต์เปิดอยู่ และ 1 บ่งชี้ว่าเซกเมนต์ปิดอยู่ ตามที่แสดงในตารางที่ 3 ต้องใช้สองไบต์เพื่อแสดงตัวเลขบนจอแสดงผล ด้วยการเชื่อมโยงตารางที่ 1 ตารางที่ 2 และตารางที่ 3 ผู้ใช้สามารถแก้ไขการลงทะเบียน RAM ของ ASM เพื่อแสดงตัวเลขต่างๆ บนหน้าจอได้

ตารางที่ 4 อธิบายโครงสร้างคำสั่ง I2C สำหรับ Digit 1 บนจอแสดงผล LED 4x7 คำสั่ง I2C ต้องใช้บิตเริ่มต้น ไบต์ควบคุม ที่อยู่คำ ไบต์ข้อมูล และบิตหยุด คำสั่ง I2C ที่คล้ายกันสามารถเขียนได้สำหรับ Digit 2, Digit 3 และ Digit 4

ตัวอย่างเช่น ในการเขียน 1234 บนจอแสดงผล LED 4x7 ให้เขียนคำสั่ง I2C ต่อไปนี้

[0x50 0xD0 0xF9 0xFF]

[0x50 0xD2 0xFC 0xA7]

[0x50 0xD4 0xF8 0xB7]

[0x50 0xD6 0xF9 0x9F]

ด้วยการเขียน ASM ทั้งแปดไบต์ซ้ำๆ ผู้ใช้สามารถแก้ไขรูปแบบที่แสดงได้ ตัวอย่างเช่น รหัสตัวนับจะรวมอยู่ในไฟล์ ZIP ของบันทึกการใช้งานบนเว็บไซต์ของ Dialog

บทสรุป

โซลูชัน GreenPAK ที่อธิบายไว้ในคำแนะนำนี้ช่วยให้ผู้ใช้ลดต้นทุน จำนวนส่วนประกอบ พื้นที่บอร์ด และการใช้พลังงานให้เหลือน้อยที่สุด

ส่วนใหญ่ MCU มีจำนวน GPIO ที่จำกัด ดังนั้นการนำ LED ที่ขับ GPIO ออกไปยัง GreenPAK IC ขนาดเล็กและราคาไม่แพงจะช่วยให้ผู้ใช้บันทึก IO สำหรับฟังก์ชันเพิ่มเติมได้

นอกจากนี้ GreenPAK IC นั้นง่ายต่อการทดสอบ ASM RAM สามารถแก้ไขได้ด้วยการคลิกปุ่มเพียงไม่กี่ปุ่มใน GreenPAK Designer Software ซึ่งบ่งชี้ถึงการปรับเปลี่ยนการออกแบบที่ยืดหยุ่น โดยการกำหนดค่า ASM ตามที่อธิบายไว้ในคำแนะนำนี้ ผู้ใช้สามารถควบคุมจอแสดงผล LED N-segment สี่จอ โดยแต่ละส่วนมีมากถึง 16 ส่วน

แนะนำ: