สารบัญ:

วิธีสร้างไดรเวอร์ LCD แบบคงที่ด้วยอินเทอร์เฟซI²C: 12 ขั้นตอน
วิธีสร้างไดรเวอร์ LCD แบบคงที่ด้วยอินเทอร์เฟซI²C: 12 ขั้นตอน

วีดีโอ: วิธีสร้างไดรเวอร์ LCD แบบคงที่ด้วยอินเทอร์เฟซI²C: 12 ขั้นตอน

วีดีโอ: วิธีสร้างไดรเวอร์ LCD แบบคงที่ด้วยอินเทอร์เฟซI²C: 12 ขั้นตอน
วีดีโอ: คำนวณหาค่า R ตัวต้านทาน เพื่อใช้กับหลอด LED ยังไง ? 2024, พฤศจิกายน
Anonim
วิธีสร้างไดรเวอร์ LCD แบบคงที่ด้วยอินเทอร์เฟซI²C
วิธีสร้างไดรเวอร์ LCD แบบคงที่ด้วยอินเทอร์เฟซI²C

จอแสดงผลคริสตัลเหลว (LCD) ใช้กันอย่างแพร่หลายสำหรับการใช้งานเชิงพาณิชย์และอุตสาหกรรม เนื่องจากมีคุณสมบัติด้านภาพที่ดี ต้นทุนต่ำ และใช้พลังงานต่ำ คุณสมบัติเหล่านี้ทำให้ LCD เป็นโซลูชันมาตรฐานสำหรับอุปกรณ์ที่ใช้แบตเตอรี่ เช่น เครื่องมือแบบพกพา เครื่องคิดเลข นาฬิกา วิทยุ ฯลฯ

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

มี LCD อยู่สองประเภท ได้แก่ Static ซึ่งมีแบ็คเพลนเพียงอันเดียวและพินหนึ่งพินสำหรับการควบคุมแต่ละเซ็กเมนต์ และแบบ Multiplexed ที่มีแบ็คเพลนหลายตัวและหลายเซ็กเมนต์ที่เชื่อมต่อกันสำหรับแต่ละพิน

คำแนะนำนี้จะนำเสนอการออกแบบไดรเวอร์ LCD แบบคงที่หนึ่งตัวพร้อมอุปกรณ์ SLG46537V GreenPAK™ ไดรเวอร์ LCD ที่ออกแบบมาสามารถขับเคลื่อนส่วน LCD ได้มากถึง 15 ส่วน โดยใช้กระแสไฟเพียงไม่กี่ไมโครแอมแปร์จากแหล่งจ่ายไฟ และมีส่วนต่อประสาน I²C สำหรับการควบคุม

ในส่วนต่อไปนี้จะแสดง:

● ข้อมูลความรู้พื้นฐานเกี่ยวกับแอลซีดี

● รายละเอียดการออกแบบไดรเวอร์ GreenPAK LCD SLG46537V;

● วิธีการขับ LCD แบบคงที่ 4 หลักเจ็ดเซกเมนต์ด้วยอุปกรณ์ GreenPAK สองเครื่อง

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

ขั้นตอนที่ 1: พื้นฐานของจอแสดงผลคริสตัลเหลว

พื้นฐานของจอแสดงผลคริสตัลเหลว
พื้นฐานของจอแสดงผลคริสตัลเหลว
พื้นฐานของจอแสดงผลคริสตัลเหลว
พื้นฐานของจอแสดงผลคริสตัลเหลว

จอแสดงผลคริสตัลเหลว (LCD) เป็นเทคโนโลยีที่ไม่ปล่อยแสง โดยจะควบคุมเฉพาะวิธีที่แหล่งกำเนิดแสงภายนอกส่องผ่านเท่านั้น แหล่งกำเนิดแสงภายนอกนี้อาจเป็นแสงแวดล้อมที่มีอยู่ ในประเภทจอแสดงผลแบบสะท้อนแสง หรือแสงจากไฟ LED หรือหลอดไฟแบ็คไลท์ในประเภทจอแสดงผลแบบส่งสัญญาณ LCD สร้างขึ้นด้วยแผ่นแก้วสองแผ่น (บนและล่าง) ชั้นบาง ๆ ของผลึกเหลว (LC) ระหว่างแผ่นทั้งสองกับโพลาไรเซอร์แสงสองแผ่น (Application Note AN-001 – Basics of LCD Technology, Hitachi, Application Note AN-005 – Display โหมดฮิตาชิ)โพลาไรเซอร์เป็นตัวกรองแสงสำหรับสนามแม่เหล็กไฟฟ้าแสง เฉพาะส่วนประกอบแสงในทิศทางของสนามแม่เหล็กไฟฟ้าที่ถูกต้องเท่านั้นที่ผ่านโพลาไรเซอร์ ในขณะที่ส่วนประกอบอื่นๆ จะถูกบล็อก

ผลึกเหลวเป็นวัสดุอินทรีย์ที่หมุนสนามแม่เหล็กไฟฟ้าของแสงได้ตั้งแต่ 90 องศาขึ้นไป อย่างไรก็ตาม เมื่อใช้สนามไฟฟ้ากับ LC ไฟจะไม่หมุนอีกต่อไป ด้วยการเพิ่มอิเล็กโทรดโปร่งใสในกระจกแสดงผลด้านบนและด้านล่าง สามารถควบคุมเวลาที่แสงส่องผ่าน และเมื่อไม่มีแสงส่องผ่านด้วยแหล่งกำเนิดสนามไฟฟ้าภายนอก รูปที่ 1 (ดูหมายเหตุการใช้งาน AN-001 – พื้นฐานของเทคโนโลยี LCD, Hitachi) ด้านบนแสดงการควบคุมการทำงานนี้ ในรูปที่ 1 จอแสดงผลจะมืดเมื่อไม่มีสนามไฟฟ้า เนื่องจากโพลาไรเซอร์ทั้งสองกรองแสงไปในทิศทางเดียวกัน หากโพลาไรเซอร์เป็นมุมฉาก จอแสดงผลจะมืดเมื่อมีสนามไฟฟ้า นี่เป็นสถานการณ์ทั่วไปสำหรับจอแสดงผลแบบสะท้อนแสง

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

อย่างไรก็ตาม สิ่งสำคัญที่ควรทราบคือ LCD ไม่สามารถทำงานได้กับแหล่งจ่ายแรงดันไฟฟ้ากระแสตรง (DC) นานเกินไป การใช้แรงดันไฟฟ้ากระแสตรงจะทำให้เกิดปฏิกิริยาทางเคมีในวัสดุ LC และสร้างความเสียหายอย่างถาวร (Application Note AN-001 – Basics of LCD Technology, Hitachi) วิธีแก้ไขคือใช้แรงดันไฟฟ้าสำรอง (AC) ในอิเล็กโทรด LCD

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

โดยทั่วไป ตัวควบคุมไดรเวอร์จะส่งสัญญาณนาฬิกาคลื่นสี่เหลี่ยมสำหรับแบ็คเพลนและสัญญาณนาฬิกาสำหรับเซ็กเมนต์ในระนาบด้านหน้าร่วมกัน เมื่อนาฬิกาแบ็คเพลนอยู่ในเฟสกับนาฬิกาเซ็กเมนต์ แรงดันไฟฟ้ารูต-ค่าเฉลี่ย-สแควร์ (RMS) ระหว่างระนาบทั้งสองจะเป็นศูนย์ และเซ็กเมนต์จะโปร่งใส มิฉะนั้น หากแรงดันไฟฟ้า RMS สูงกว่าเกณฑ์ LCD ON เซ็กเมนต์จะมืด รูปคลื่นสำหรับแบ็คเพลน ส่วนเปิดและปิดจะแสดงในรูปที่ 2 ดังที่เห็นในรูป ส่วน ON อยู่นอกเฟสที่สัมพันธ์กับสัญญาณแบ็คเพลน ส่วนปิดอยู่ในเฟสที่สัมพันธ์กับสัญญาณแบ็คเพลน แรงดันไฟฟ้าที่ใช้อาจอยู่ระหว่าง 3 ถึง 5 โวลต์สำหรับจอแสดงผลที่มีต้นทุนต่ำและใช้พลังงานต่ำ

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

ในส่วนต่อไปนี้ การออกแบบไดรเวอร์สแตติก LCD พร้อมอุปกรณ์ GreenPAK ที่สามารถสร้างสัญญาณนาฬิกาแบ็คเพลนและสัญญาณนาฬิกาแต่ละเซกเมนต์สำหรับ LCD เชิงพาณิชย์ได้แสดงไว้อย่างละเอียด

ขั้นตอนที่ 2: GreenPAK Design Basic Block Diagram

GreenPAK Design Basic Block Diagram
GreenPAK Design Basic Block Diagram
GreenPAK Design Basic Block Diagram
GreenPAK Design Basic Block Diagram

บล็อกไดอะแกรมที่แสดงการออกแบบ GreenPAK แสดงในรูปที่ 3 บล็อกพื้นฐานของการออกแบบคืออินเทอร์เฟซ I²C ไดรเวอร์เซ็กเมนต์เอาต์พุต ออสซิลเลเตอร์ภายใน และตัวเลือกแหล่งสัญญาณนาฬิกาแบ็คเพลน

บล็อกอินเทอร์เฟซ I²C ควบคุมเอาต์พุตแต่ละส่วนและแหล่งสัญญาณนาฬิกาแบ็คเพลนของ LCD บล็อกอินเทอร์เฟซ I²C เป็นอินพุตระบบเดียวสำหรับการควบคุมเอาต์พุตเซกเมนต์

เมื่อกำหนดเส้นควบคุมส่วนภายใน (ระดับสูง) ส่วน LCD ตามลำดับจะเป็นแบบทึบแสงสีเข้ม เมื่อรีเซ็ตสายการควบคุมเซ็กเมนต์ภายใน (ระดับต่ำ) ส่วน LCD ตามลำดับจะโปร่งใส

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

แหล่งสัญญาณนาฬิกาแบ็คเพลนถูกเลือกด้วยอินเทอร์เฟซ I²C ด้วย เมื่อเลือกแหล่งสัญญาณนาฬิกาแบ็คเพลนภายใน ออสซิลเลเตอร์ภายในจะเปิดขึ้น ออสซิลเลเตอร์ภายในจะสร้างความถี่สัญญาณนาฬิกาที่ 48Hz สัญญาณนี้จะถูกใช้โดยบล็อกไดรเวอร์เซ็กเมนต์เอาต์พุตและถูกส่งไปยังพินเอาต์พุตนาฬิกาแบ็คเพลน (พิน GreenPAK 20)

เมื่อเลือกแหล่งสัญญาณนาฬิกาแบ็คเพลนภายนอก ออสซิลเลเตอร์ภายในจะถูกปิด การอ้างอิงไดรเวอร์เซ็กเมนต์เอาต์พุตคืออินพุตนาฬิกาแบ็คเพลนภายนอก (พิน GreenPAK 2) ในกรณีนี้ พินเอาต์พุตนาฬิกาแบ็คเพลนสามารถใช้เป็นสายควบคุมเซ็กเมนต์เพิ่มเติม เซ็กเมนต์ OUT15

สามารถใช้อุปกรณ์ GreenPAK ได้มากกว่าหนึ่งเครื่องในสาย I²C เดียวกัน โดยจะต้องตั้งโปรแกรมอุปกรณ์แต่ละเครื่องด้วยที่อยู่I²C ที่แตกต่างกัน ด้วยวิธีนี้จะสามารถขยายจำนวนส่วนของ LCD ที่ขับเคลื่อนด้วยได้ อุปกรณ์หนึ่งได้รับการกำหนดค่าเพื่อสร้างแหล่งสัญญาณนาฬิกาแบ็คเพลน ขับ 14 เซ็กเมนต์ และอีกเครื่องหนึ่งได้รับการกำหนดค่าให้ใช้แหล่งสัญญาณนาฬิกาแบ็คเพลนภายนอก อุปกรณ์เพิ่มเติมแต่ละเครื่องสามารถขับเคลื่อนส่วนต่างๆ ได้มากกว่า 15 ส่วนในลักษณะนี้ สามารถเชื่อมต่ออุปกรณ์ได้สูงสุด 16 เครื่องบนสาย I²C เดียวกัน จากนั้นจึงควบคุม LCD ได้ถึง 239 ส่วน

ในคำแนะนำนี้ แนวคิดนี้ใช้เพื่อควบคุม LCD 29 ส่วนด้วยอุปกรณ์ GreenPAK 2 ชิ้น ฟังก์ชัน pinout ของอุปกรณ์ได้สรุปไว้ในตารางที่ 1

ขั้นตอนที่ 3: ออกแบบการบริโภคในปัจจุบัน

ความกังวลที่สำคัญในการออกแบบนี้คือการบริโภคในปัจจุบัน ซึ่งควรจะต่ำที่สุด อุปกรณ์ GreenPAK ประมาณการกระแสไฟนิ่งคือ 0.75 µA สำหรับการจ่ายไฟ 3.3 V และ 1.12 µA สำหรับการจ่ายไฟ 5 V ปริมาณการใช้กระแสไฟของออสซิลเลเตอร์ภายในคือ 7.6 µA และ 8.68 µA สำหรับการจ่ายไฟ 3.3 V และ 5 V ตามลำดับ ไม่คาดว่าจะมีการใช้กระแสไฟเพิ่มขึ้นอย่างมีนัยสำคัญจากการสูญเสียการสลับ เนื่องจากการออกแบบนี้ทำงานที่ความถี่สัญญาณนาฬิกาต่ำ กระแสไฟสูงสุดโดยประมาณที่ใช้สำหรับการออกแบบนี้ต่ำกว่า 15 µA เมื่อเปิดออสซิลเลเตอร์ภายใน และ 10 µA เมื่อออสซิลเลเตอร์ภายในปิดอยู่ กระแสไฟฟ้าที่วัดได้ที่ใช้ในทั้งสองสถานการณ์จะแสดงอยู่ในผลการทดสอบส่วน

ขั้นตอนที่ 4: แผนผังอุปกรณ์ GreenPAK

แผนผังอุปกรณ์ GreenPAK
แผนผังอุปกรณ์ GreenPAK

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

ขั้นตอนที่ 5: อินเทอร์เฟซ I²C

อินเทอร์เฟซ I²C
อินเทอร์เฟซ I²C
อินเทอร์เฟซ I²C
อินเทอร์เฟซ I²C

บล็อกอินเทอร์เฟซ I²C ใช้เป็นบล็อกควบคุมหลักของการควบคุมการทำงานของอุปกรณ์ มุมมองที่ใกล้ชิดกับการเชื่อมต่อบล็อกและคุณสมบัติที่กำหนดค่าไว้จะแสดงในรูปที่ 5

บล็อกนี้เชื่อมต่อกับ PIN 8 และ PIN 9 ซึ่งเป็นพิน I²C SCL และ SDA ตามลำดับ ภายในอุปกรณ์ บล็อก I²C มี 8 Virtual Inputs ค่าเริ่มต้นสำหรับ Virtual Input แต่ละรายการจะแสดงในหน้าต่างคุณสมบัติ (ดูรูปที่ 5) อินพุตเสมือนจาก OUT0 จนถึง OUT6 ถูกใช้เป็นเส้นควบคุมเซ็กเมนต์ สายควบคุมเหล่านี้สอดคล้องกับเอาต์พุตของเซ็กเมนต์ 1 ถึงเอาต์พุตเซ็กเมนต์ 7 และเชื่อมต่อกับไดรเวอร์เอาต์พุตของเซ็กเมนต์ อินพุตเสมือน OUT7 ใช้เป็นตัวควบคุมบรรทัดตัวเลือกแหล่งสัญญาณนาฬิกาแบ็คเพลน โดยมีชื่อสุทธิ BCKP_SOURCE ตาข่ายนี้จะถูกใช้โดยบล็อกอื่นๆ ในการออกแบบ รหัสควบคุมI²Cได้รับการกำหนดค่าด้วยค่าที่แตกต่างกันสำหรับแต่ละ IC ในโครงการ

มีสายควบคุมเซ็กเมนต์ภายในอีก 8 รายการในเอาต์พุต Asynchronous State Machine (ASM) ดังแสดงในรูปที่ 6 ด้านบน บรรทัดเอาต์พุตของเซ็กเมนต์ 8 (SEG_OUT_8 ในหน้าต่างคุณสมบัติ) จนถึงบรรทัดเอาต์พุตเซ็กเมนต์ 15 (SEG_OUT_15) ถูกควบคุมโดยเอาต์พุต ASM ในสถานะ 0 ไม่มีการเปลี่ยนแปลงสถานะในบล็อก ASM แต่จะอยู่ในสถานะ 0 เสมอ เอาต์พุตของ ASM คือ เชื่อมต่อกับตัวขับเอาต์พุตเซกเมนต์

ไดรเวอร์เอาต์พุตของเซ็กเมนต์จะสร้างสัญญาณเอาต์พุตของอุปกรณ์

ขั้นตอนที่ 6: ไดรเวอร์เซ็กเมนต์เอาต์พุต

โปรแกรมควบคุมเซ็กเมนต์เอาต์พุตโดยพื้นฐานแล้วคือตารางการค้นหา (LUT) ที่กำหนดค่าเป็นพอร์ตลอจิก XOR สำหรับแต่ละเซ็กเมนต์เอาต์พุต ต้องเป็นพอร์ต XOR ที่เชื่อมต่อกับสายควบคุมเซ็กเมนต์และนาฬิกาแบ็คเพลน (BCKP_CLOCK) พอร์ต XOR มีหน้าที่สร้างสัญญาณในเฟสและนอกเฟสไปยังส่วนเอาต์พุต เมื่อสายควบคุมเซ็กเมนต์อยู่ในระดับสูง เอาต์พุตพอร์ต XOR จะกลับสัญญาณนาฬิกาแบ็คเพลนและสร้างสัญญาณนอกเฟสไปยังพินเซ็กเมนต์ ความแตกต่างของแรงดันไฟฟ้าระหว่างแบ็คเพลน LCD และเซ็กเมนต์ LCD ในกรณีนี้ จะกำหนดเซ็กเมนต์ LCD เป็นส่วนมืด เมื่อสายควบคุมเซ็กเมนต์อยู่ที่ระดับต่ำ เอาต์พุตพอร์ต XOR จะตามสัญญาณนาฬิกาแบ็คเพลน แล้วสร้างสัญญาณในเฟสไปยังพินเซ็กเมนต์ เนื่องจากไม่มีการใช้แรงดันไฟฟ้าระหว่างแบ็คเพลน LCD และเซ็กเมนต์ในกรณีนี้ ส่วนนั้นจึงโปร่งแสง

ขั้นตอนที่ 7: Oscillator ภายในและการควบคุมแหล่งสัญญาณนาฬิกาแบ็คเพลน

การควบคุมแหล่งที่มาของ Oscillator ภายในและนาฬิกาแบ็คเพลน
การควบคุมแหล่งที่มาของ Oscillator ภายในและนาฬิกาแบ็คเพลน

ออสซิลเลเตอร์ภายในถูกใช้เมื่อสัญญาณ BCKP_CLOCK จากอินเทอร์เฟซ I²C ถูกตั้งค่าเป็นระดับสูง มุมมองที่ใกล้ชิดของไดอะแกรมควบคุมแหล่งสัญญาณนาฬิกาจะแสดงในรูปที่ 7 ด้านบน

ออสซิลเลเตอร์ได้รับการกำหนดค่าเป็นความถี่ RC 25 kHz โดยมีตัวหารเอาต์พุตสูงสุดที่ออสซิลเลเตอร์ OUT0 (8/64) การกำหนดค่าทั้งหมดจะเห็นได้ในหน้าต่างคุณสมบัติที่แสดงในรูปที่ 7 ด้วยวิธีนี้ ออสซิลเลเตอร์ภายในจะสร้างความถี่สัญญาณนาฬิกาที่ 48 Hz

ออสซิลเลเตอร์จะทำงานก็ต่อเมื่อสัญญาณ BCKP_SOURCE อยู่ในระดับสูงพร้อมกับสัญญาณ POR การควบคุมนี้ทำได้โดยการเชื่อมต่อสัญญาณทั้งสองนี้เข้ากับพอร์ต NAND ของ 4-L1 LUT เอาต์พุตของ NAND จะเชื่อมต่อกับอินพุตของพินควบคุมการจ่ายไฟของออสซิลเลเตอร์

สัญญาณ BCKP_SOURCE ควบคุม MUX ที่สร้างด้วย 3-L10 LUT เมื่อสัญญาณ BCKP_SOURCE อยู่ที่ระดับต่ำ แหล่งสัญญาณนาฬิกาแบ็คเพลนจะมาจาก PIN2 เมื่อสัญญาณนี้อยู่ที่ระดับสูง แหล่งสัญญาณนาฬิกาแบ็คเพลนจะมาจากออสซิลเลเตอร์ภายใน

ขั้นตอนที่ 8: Backplane Clock Output หรือ Segment 15 Output Pin Control

เอาต์พุตนาฬิกาแบ็คเพลนหรือส่วนควบคุม 15 เอาต์พุตพิน
เอาต์พุตนาฬิกาแบ็คเพลนหรือส่วนควบคุม 15 เอาต์พุตพิน

พิน 20 ในการออกแบบนี้มีฟังก์ชันคู่ ซึ่งขึ้นอยู่กับแหล่งสัญญาณนาฬิกาแบ็คเพลนที่เลือก การทำงานของพินนี้ถูกควบคุมด้วย 4 อินพุต LUT ดังแสดงในรูปที่ 8 ด้วย LUT 4 บิต เป็นไปได้ที่จะเชื่อมโยงการทำงานของพอร์ต XOR กับเอาต์พุต MUX เมื่อสัญญาณ BCKP_SOURCE อยู่ในระดับสูง เอาต์พุต LUT จะเป็นไปตามนาฬิกาออสซิลเลเตอร์ภายใน จากนั้นพิน 20 จะทำงานเป็นเอาต์พุตนาฬิกาแบ็คเพลน เมื่อสัญญาณ BCKP_SOURCE อยู่ที่ระดับต่ำ เอาต์พุต LUT จะเป็นการดำเนินการ XOR ระหว่าง SEG_OUT_15 จากเอาต์พุต ASM และสัญญาณนาฬิกาแบ็คเพลน การกำหนดค่า LUT 4 บิตสำหรับการดำเนินการนี้แสดงในรูปที่ 8

ขั้นตอนที่ 9: ต้นแบบระบบ LCD

ต้นแบบระบบ LCD
ต้นแบบระบบ LCD
ต้นแบบระบบ LCD
ต้นแบบระบบ LCD

เพื่อสาธิตการใช้โซลูชันการออกแบบ GreenPAK ได้มีการประกอบต้นแบบระบบ LCD บนเขียงหั่นขนม สำหรับต้นแบบ จอ LCD แบบคงที่ 4 หลักเจ็ดเซกเมนต์ขับเคลื่อนโดยอุปกรณ์ GreenPAK สองเครื่องบนบอร์ด DIP อุปกรณ์หนึ่ง (IC1) ใช้ออสซิลเลเตอร์ภายในเพื่อขับเคลื่อนแบ็คเพลน LCD และอุปกรณ์อื่น (IC2) ใช้สัญญาณนี้เป็นข้อมูลอ้างอิงอินพุตแบ็คเพลน ไอซีทั้งสองถูกควบคุมผ่านอินเทอร์เฟซ I²C โดยไมโครคอนโทรลเลอร์ STM32F103C8T6 (MCU) ในบอร์ดพัฒนาขั้นต่ำ

รูปที่ 9 แสดงแผนผังการเชื่อมต่อระหว่าง GreenPAK IC สองตัว, จอ LCD และบอร์ด MCU ในแผนผัง อุปกรณ์ GreenPAK ที่มีการอ้างอิง U1 (IC1) จะขับเคลื่อนตัวเลข LCD หนึ่งและสอง (ด้านซ้าย LCD) อุปกรณ์ GreenPAK ที่มีการอ้างอิง U2 (IC2) จะขับเคลื่อนตัวเลข LCD สามและสี่ บวกกับส่วน COL (ด้านขวาของ LCD) แหล่งจ่ายไฟสำหรับอุปกรณ์ทั้งสองมาจากตัวควบคุมในบอร์ดพัฒนาไมโครคอนโทรลเลอร์ มีการเพิ่มจัมเปอร์ที่ถอดออกได้สองตัวระหว่างแหล่งจ่ายไฟและพิน VDD ของอุปกรณ์ GreenPAK แต่ละเครื่องสำหรับการวัดกระแสด้วยมัลติมิเตอร์

ภาพของต้นแบบที่ประกอบขึ้นแสดงในรูปที่ 10

ขั้นตอนที่ 10: คำสั่งI²Cสำหรับการควบคุม LCD

คำสั่งI²Cสำหรับการควบคุม LCD
คำสั่งI²Cสำหรับการควบคุม LCD
คำสั่งI²Cสำหรับการควบคุม LCD
คำสั่งI²Cสำหรับการควบคุม LCD
คำสั่งI²Cสำหรับการควบคุม LCD
คำสั่งI²Cสำหรับการควบคุม LCD

อุปกรณ์ GreenPAK สองตัวบนเขียงหั่นขนมได้รับการตั้งโปรแกรมด้วยการออกแบบเดียวกัน ยกเว้นโดยค่า Control Byte ไบต์ควบคุมของ IC1 คือ 0 (ที่อยู่ I²C 0x00) ในขณะที่ไบต์ควบคุม I²C คือ 1 (ที่อยู่ I²C 0x10) การเชื่อมต่อระหว่างส่วนแสดงผลและไดรเวอร์อุปกรณ์ได้สรุปไว้ในตารางด้านบน

การเชื่อมต่อถูกเลือกในลักษณะนี้เพื่อสร้างแผนผังที่ชัดเจนขึ้นและทำให้การประกอบการเชื่อมต่อแบบเขียงหั่นขนมง่ายขึ้น

การควบคุมเอาต์พุตของเซ็กเมนต์ทำได้โดยคำสั่งเขียน I²C ไปยัง I²C Virtual Inputs และ ASM output register ตามที่อธิบายไว้ในหมายเหตุการใช้งาน AN-1090 Simple I²C IO Controllers พร้อม SLG46531V (โปรดดู Application Note AN-1090 Simple I²C IO Controllers พร้อม SLG46531V, Dialog Semiconductor) คำสั่งเขียน I²C มีโครงสร้างดังนี้:

● เริ่ม;

● ไบต์ควบคุม (บิต R/W คือ 0);

● ที่อยู่ของคำ;

● ข้อมูล;

● หยุด

คำสั่งเขียน I²C ทั้งหมดสร้างขึ้นใน Word Address 0xF4 (I²C Virtual Inputs) และ 0xD0 (ASM Output สำหรับสถานะ 0) คำสั่งที่จะเขียนใน IC1 และตัวเลข LCD ควบคุม 1 และ 2 ได้สรุปไว้ในตารางที่ 3 ในการแทนลำดับคำสั่ง วงเล็บเปิด "["หมายถึงสัญญาณเริ่มต้น และวงเล็บปิด "]" หมายถึงสัญญาณหยุด

สองไบต์เหนือส่วนควบคุมของตัวเลข LCD 1 และหลัก 2 รวมกัน ในที่นี้ แนวทางคือการใช้ตารางค้นหาแต่ละรายการ (LUT) ในซอฟต์แวร์สำหรับตัวเลขแต่ละหลัก โดยพิจารณาจากเซ็กเมนต์ในทั้งสองไบต์ ค่าไบต์จากตารางการค้นหาควรผสมกันโดยใช้การดำเนินการ OR ระดับบิต แล้วส่งไปยัง IC ตารางที่ 4 แสดงค่า Byte0 และ Byte1 สำหรับแต่ละค่าตัวเลขที่ควรเขียนในแต่ละหลักที่แสดง

ตัวอย่างเช่น ในการเขียนตัวเลข 1 เป็นตัวเลข 3 และในหลัก 2 เป็นตัวเลข 4 นั้น Byte0 คือ 0xBD (0x8D bitwise OR with 0xB0) และ Byte 1 คือ 0x33 (0x30 bitwise OR with 0x03)

คำสั่งให้เขียนใน IC2 และควบคุม Digit 3 และ 4 อธิบายไว้ในตารางที่ 5

ตรรกะการควบคุมของตัวเลข 3 และ 4 เหมือนกับการควบคุมของตัวเลข 1 และ 2 ตารางที่ 6 แสดง LUT สำหรับตัวเลขสองหลักนี้

ความแตกต่างใน IC2 คือส่วน COL ส่วนนี้ควบคุมโดย Byte1 ในการตั้งค่าเซ็กเมนต์นี้ให้มืด ควรทำการดำเนินการระดับบิต OR ระหว่าง Byte1 และค่า 0x40

ขั้นตอนที่ 11: คำสั่งI²Cสำหรับการทดสอบ LCD

คำสั่งI²Cสำหรับการทดสอบ LCD
คำสั่งI²Cสำหรับการทดสอบ LCD

สำหรับการทดสอบ LCD เฟิร์มแวร์ได้รับการพัฒนาในภาษา C สำหรับบอร์ด MCU เฟิร์มแวร์นี้จะส่งลำดับของคำสั่งไปยังไอซีทั้งสองบนเขียงหั่นขนม ซอร์สโค้ดสำหรับเฟิร์มแวร์นี้อยู่ในส่วนภาคผนวก โซลูชันทั้งหมดได้รับการพัฒนาโดยใช้ Atollic TrueStudio สำหรับ STM32 9.0.1 IDE

ลำดับของคำสั่งและค่าที่เกี่ยวข้องที่แสดงในจอแสดงผลสรุปไว้ในตารางที่ 7 ด้านบน

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

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

การทดสอบต้นแบบประกอบด้วยการตรวจสอบค่าที่แสดงหลังจากคำสั่ง MCU และการวัด sink ปัจจุบันโดยแต่ละ IC ระหว่างการทำงาน

รูปภาพของ LCD สำหรับแต่ละค่าคำสั่งจะแสดงในตารางที่ 8 ด้านบน

ซิงก์กระแสไฟสำหรับอุปกรณ์แต่ละตัวถูกวัดด้วยมัลติมิเตอร์ ในช่วงกระแสไฟต่ำสุดที่ 200 µA รูปภาพของกระแสไฟฟ้าที่วัดได้สำหรับแต่ละอุปกรณ์ ในระหว่างการเริ่มต้นและการทำงานปกติ แสดงไว้ในตารางที่ 9 ด้านบน

สรุปผลและอภิปรายผล

มีการนำเสนอการออกแบบไดรเวอร์ LCD แบบคงที่พลังงานต่ำพร้อมอุปกรณ์ GreenPAK การออกแบบนี้แสดงให้เห็นอย่างชัดเจนว่าหนึ่งในคุณสมบัติที่ยอดเยี่ยมที่สุดของอุปกรณ์ GreenPAK: กระแสไฟที่นิ่งต่ำ เนื่องจากอุปกรณ์ GreenPAK เป็นโซลูชันที่ใช้ฮาร์ดแวร์ จึงเป็นไปได้ที่จะทำงานที่ความถี่ต่ำ ในกรณีนี้คือ 48 Hz โซลูชันที่ใช้ MCU จะต้องใช้ความถี่ในการทำงานที่สูงขึ้น แม้ในช่วงเวลาสั้นๆ เป็นระยะๆ จากนั้นจะดึงพลังงานออกมามากขึ้น และเมื่อเปรียบเทียบอุปกรณ์ GreenPAK กับ CPLD (Complex Programmable Logic Device) จะเห็นได้ชัดเจนว่าโดยปกติแล้ว CPLD จะมีกระแสไฟนิ่งสูงกว่า 20 µA

เป็นที่น่าสนใจที่จะทราบว่าการออกแบบนี้สามารถปรับเปลี่ยนได้ง่ายเพื่อให้เหมาะสมกับความต้องการของโครงการเฉพาะมากขึ้น ตัวอย่างที่ดีคือส่วนควบคุม pinout สามารถเปลี่ยนได้ง่ายเพื่อลดความซับซ้อนของแผงวงจรพิมพ์และการพัฒนาซอฟต์แวร์ในเวลาเดียวกัน นี่เป็นคุณสมบัติที่น่าสนใจเมื่อเปรียบเทียบกับอุปกรณ์ ASIC (Application Specific Integrated Circuit) ที่วางจำหน่ายทั่วไปโดยปกติ ASIC ได้รับการออกแบบมาให้เหมาะสมกับการใช้งานที่หลากหลาย และควรเขียนชุดซอฟต์แวร์เบื้องต้นเพื่อกำหนดค่า IC อย่างเหมาะสมก่อนดำเนินการ อุปกรณ์ที่กำหนดค่าได้สามารถออกแบบให้พร้อมใช้งานหลังจากเปิดเครื่อง ด้วยวิธีนี้ สามารถลดเวลาในการพัฒนาซอฟต์แวร์สำหรับการกำหนดค่าเริ่มต้นของ IC

ซอร์สโค้ดของแอปพลิเคชันสามารถพบได้ที่นี่ในภาคผนวก A

แนะนำ: