Daftar Isi:

Cara Membuat Driver LCD Statis Dengan Antarmuka I²C: 12 Langkah
Cara Membuat Driver LCD Statis Dengan Antarmuka I²C: 12 Langkah

Video: Cara Membuat Driver LCD Statis Dengan Antarmuka I²C: 12 Langkah

Video: Cara Membuat Driver LCD Statis Dengan Antarmuka I²C: 12 Langkah
Video: Hati2 bossku jika hendak cuci mobil. Pastikan pilih cuci steam yg model H agar lebih safety 🙏👍 2024, Juli
Anonim
Cara Membuat Driver LCD Statis Dengan Antarmuka I²C
Cara Membuat Driver LCD Statis Dengan Antarmuka I²C

Liquid Crystal Display (LCD) banyak digunakan untuk aplikasi komersial dan industri karena sifat visualnya yang baik, biaya rendah dan konsumsi daya yang rendah. Properti ini menjadikan LCD solusi standar untuk perangkat yang dioperasikan dengan baterai, seperti instrumen portabel, kalkulator, jam tangan, radio, dll.

Namun, untuk mengontrol apa yang ditampilkan LCD dengan benar, driver elektronik LCD harus menghasilkan bentuk gelombang tegangan yang sesuai ke pin LCD. Bentuk gelombang harus bersifat AC (arus bolak-balik) karena tegangan DC (arus searah) akan merusak perangkat secara permanen. Pengemudi yang sesuai akan mengirimkan sinyal-sinyal ini ke LCD dengan konsumsi daya minimum.

Ada dua jenis LCD, Statis, dengan hanya satu bidang belakang dan satu pin untuk kontrol segmen individu dan, Multipleks, dengan beberapa bidang belakang dan beberapa segmen yang terhubung untuk setiap pin.

Instruksi ini akan menyajikan desain satu driver LCD statis dengan perangkat SLG46537V GreenPAK™. Driver LCD yang dirancang akan menggerakkan hingga 15 segmen LCD, menggunakan beberapa mikroampere arus dari catu daya dan menawarkan antarmuka I²C untuk kontrol.

Pada bagian berikut akan ditampilkan:

● informasi pengetahuan dasar tentang LCD;

● desain driver LCD SLG46537V GreenPAK secara detail;

● cara mengemudikan tujuh segmen, 4-digit LCD statis dengan dua perangkat GreenPAK.

Di bawah ini kami menjelaskan langkah-langkah yang diperlukan untuk memahami bagaimana solusi telah diprogram untuk membuat driver LCD statis dengan antarmuka I²C. Namun, jika Anda hanya ingin mendapatkan hasil pemrograman, unduh perangkat lunak GreenPAK untuk melihat File Desain GreenPAK yang sudah selesai. Pasang GreenPAK Development Kit ke komputer Anda dan tekan program untuk membuat driver LCD statis dengan antarmuka I²C.

Langkah 1: Dasar-dasar Tampilan Kristal Cair

Dasar-dasar Layar Kristal Cair
Dasar-dasar Layar Kristal Cair
Dasar-dasar Layar Kristal Cair
Dasar-dasar Layar Kristal Cair

Liquid Crystal Displays (LCD) adalah teknologi yang tidak memancarkan cahaya, hanya mengontrol bagaimana sumber cahaya eksternal melewatinya. Sumber cahaya eksternal ini dapat berupa cahaya sekitar yang tersedia, dalam tipe tampilan reflektif, atau cahaya dari lampu latar yang dipimpin atau lampu, dalam tipe tampilan transmisif. LCD dibuat dengan dua pelat kaca (atas dan bawah), lapisan tipis kristal cair (LC) di antara keduanya dan dua polarizer cahaya (Catatan Aplikasi AN-001 – Dasar-dasar Teknologi LCD, Hitachi, Catatan Aplikasi AN-005 – Tampilan Mode, Hitachi). Polarizer adalah filter cahaya untuk medan elektromagnetik cahaya. Hanya komponen cahaya dengan arah medan elektromagnetik yang tepat yang melewati polarizer, sedangkan komponen lainnya terhalang.

Kristal cair adalah bahan organik yang memutar medan elektromagnetik cahaya 90 derajat atau lebih. Namun, ketika medan listrik diterapkan ke LC itu tidak memutar cahaya lagi. Dengan penambahan elektroda transparan di kaca tampilan atas dan bawah, dimungkinkan untuk mengontrol saat cahaya melewati, dan saat tidak, dengan sumber eksternal medan listrik. Gambar 1 (lihat Catatan Aplikasi AN-001 – Dasar-dasar Teknologi LCD, Hitachi) di atas menggambarkan kontrol operasi ini. Pada Gambar 1, tampilan menjadi gelap jika tidak ada medan listrik. Ini karena kedua polarizer menyaring cahaya dengan arah yang sama. Jika polarisatornya ortogonal, maka tampilan akan menjadi gelap saat ada medan listrik. Ini adalah situasi yang paling umum untuk tampilan reflektif.

Medan listrik minimum, atau tegangan, untuk mengontrol LCD disebut ambang ON. LC hanya dipengaruhi oleh tegangan, dan hampir tidak ada arus dalam bahan LC. Elektroda di LCD membentuk kapasitansi kecil dan ini adalah satu-satunya beban untuk driver. Inilah alasan mengapa LCD menjadi perangkat berdaya rendah untuk menampilkan informasi visual.

Namun, penting untuk dicatat bahwa LCD tidak dapat beroperasi dengan sumber tegangan arus searah (DC) terlalu lama. Penerapan tegangan DC akan menyebabkan reaksi kimia pada bahan LC, merusaknya secara permanen (Catatan Aplikasi AN-001 – Dasar-dasar Teknologi LCD, Hitachi). Solusinya adalah dengan menerapkan tegangan alternatif (AC) di elektroda LCD.

Pada LCD statis, elektroda bidang belakang dibuat dalam satu kaca dan segmen LCD individu, atau piksel, diletakkan di kaca lainnya. Ini adalah salah satu jenis LCD paling sederhana dan yang memiliki rasio kontras terbaik. Namun, jenis tampilan ini biasanya membutuhkan terlalu banyak pin untuk mengontrol setiap segmen individu.

Secara umum, pengontrol driver sumber sinyal jam gelombang persegi untuk backplane dan sinyal clock untuk segmen di pesawat depan bersama-sama. Ketika jam backplane sefasa dengan jam segmen, tegangan root-mean-square (RMS) antara kedua bidang adalah nol, dan segmen transparan. Jika tidak, jika tegangan RMS lebih tinggi dari ambang batas LCD ON, segmen menjadi gelap. Bentuk gelombang untuk backplane, segmen on dan off ditunjukkan pada Gambar 2. Seperti dapat dilihat pada gambar, segmen ON berada di luar fase dalam kaitannya dengan sinyal backplane. Segmen off adalah dalam-fase dalam kaitannya dengan sinyal backplane. Tegangan yang diterapkan bisa antara 3 dan 5 volt untuk tampilan daya rendah dan biaya rendah.

Sinyal clock untuk backplane dan segmen LCD biasanya berada pada kisaran 30 hingga 100 Hz, frekuensi minimum untuk menghindari efek kedipan visual pada LCD. Frekuensi yang lebih tinggi dihindari untuk mengurangi konsumsi daya sistem secara keseluruhan. Sistem yang terdiri dari LCD dan driver akan mengkonsumsi sedikit arus, dalam urutan mikroampere. Ini membuatnya sangat cocok untuk aplikasi sumber catu daya dan daya baterai rendah.

Pada bagian berikut, desain driver statis LCD dengan perangkat GreenPAK yang dapat menghasilkan sinyal jam backplane dan sinyal jam segmen individu untuk LCD komersial disajikan secara rinci.

Langkah 2: Diagram Blok Dasar Desain GreenPAK

Diagram Blok Dasar Desain GreenPAK
Diagram Blok Dasar Desain GreenPAK
Diagram Blok Dasar Desain GreenPAK
Diagram Blok Dasar Desain GreenPAK

Diagram blok yang menggambarkan desain GreenPAK ditunjukkan pada Gambar 3. Blok dasar desain adalah antarmuka I²C, driver segmen output, osilator internal, dan pemilih sumber jam backplane.

Blok antarmuka I²C mengontrol setiap output segmen individu dan sumber jam backplane LCD. Blok antarmuka I²C adalah satu-satunya input sistem untuk kontrol output segmen.

Ketika garis kontrol segmen internal diatur (level tinggi), segmen LCD masing-masing menjadi buram gelap. Ketika garis kontrol segmen internal diatur ulang (level rendah), segmen LCD masing-masing menjadi transparan.

Setiap jalur kontrol segmen internal terhubung ke driver output. Blok driver segmen output akan menghasilkan sinyal clock dalam fase dengan hubungan ke jam backplane untuk segmen transparan. Untuk segmen gelap, sinyal ini keluar dari fase dengan hubungan dengan jam backplane.

Sumber jam backplane dipilih dengan antarmuka I²C juga. Ketika sumber jam backplane internal dipilih, osilator internal dihidupkan. Osilator internal akan menghasilkan frekuensi clock 48Hz. Sinyal ini akan digunakan oleh blok driver segmen output dan dialamatkan ke pin output backplane clock (pin GreenPAK 20).

Ketika sumber jam backplane eksternal dipilih, osilator internal dimatikan. Referensi driver segmen output adalah input jam backplane eksternal (pin GreenPAK 2). Dalam hal ini, pin output jam backplane dapat digunakan sebagai jalur kontrol segmen tambahan, segmen OUT15.

Lebih dari satu perangkat GreenPAK dapat digunakan pada jalur I²C yang sama. Untuk melakukannya, setiap perangkat harus diprogram dengan alamat I²C yang berbeda. Dengan cara ini dimungkinkan untuk memperpanjang jumlah segmen LCD yang digerakkan. Satu perangkat dikonfigurasi untuk menghasilkan sumber jam backplane, menggerakkan 14 segmen, dan yang lainnya dikonfigurasi untuk menggunakan sumber jam backplane eksternal. Setiap perangkat tambahan dapat mendorong lebih banyak 15 segmen dengan cara ini. Dimungkinkan untuk menghubungkan hingga 16 perangkat pada saluran I²C yang sama dan kemudian dimungkinkan untuk mengontrol hingga 239 segmen LCD.

Dalam Instruksi ini, ide ini digunakan untuk mengontrol 29 segmen LCD dengan 2 perangkat GreenPAK. Fungsionalitas pinout perangkat diringkas dalam Tabel 1.

Langkah 3: Rancang Konsumsi Saat Ini

Perhatian penting dalam desain ini adalah konsumsi saat ini, yang harus serendah mungkin. Perangkat GreenPAK memperkirakan arus diam adalah 0,75 A untuk operasi suplai 3,3 V dan 1,12 A untuk operasi suplai 5 V. Konsumsi arus osilator internal adalah 7,6 A dan 8,68 A masing-masing untuk operasi catu daya 3,3 V dan 5 V. Diperkirakan tidak ada peningkatan konsumsi arus yang signifikan dari rugi-rugi pensaklaran, karena desain ini beroperasi pada frekuensi clock yang rendah. Perkiraan arus maksimum yang dikonsumsi untuk desain ini lebih rendah dari 15 A saat osilator internal aktif, dan 10 A saat osilator internal mati. Arus terukur yang dikonsumsi dalam kedua situasi ditunjukkan di Bagian Hasil Tes.

Langkah 4: Skema Perangkat GreenPAK

Skema Perangkat GreenPAK
Skema Perangkat GreenPAK

Proyek yang dirancang dalam perangkat lunak GreenPAK ditunjukkan pada Gambar 4. Skema ini akan dijelaskan menggunakan diagram blok dasar sebagai referensi.

Langkah 5: Antarmuka I²C

Antarmuka I²C
Antarmuka I²C
Antarmuka I²C
Antarmuka I²C

Blok antarmuka I²C digunakan sebagai blok kontrol utama dari kontrol operasi perangkat. Tampilan dekat ke koneksi blok dan properti yang dikonfigurasi ditunjukkan pada Gambar 5.

Blok ini terhubung ke PIN 8 dan PIN 9, yang masing-masing adalah pin I²C SCL dan SDA. Di dalam perangkat, blok I²C menawarkan 8 Input Virtual. Nilai awal untuk setiap Input Virtual ditampilkan di jendela properti (lihat Gambar 5). Input virtual dari OUT0 hingga OUT6 digunakan sebagai jalur kontrol segmen. Garis-garis kendali ini berhubungan dengan keluaran segmen 1 ke keluaran segmen 7 dan dihubungkan ke penggerak keluaran segmen. Virtual Input OUT7 digunakan sebagai kontrol garis pemilih sumber jam backplane, dengan nama bersih BCKP_SOURCE. Jaring ini akan digunakan oleh blok lain dalam desain. Kode kontrol I²C dikonfigurasi dengan nilai yang berbeda untuk setiap IC dalam proyek.

8 lebih banyak jalur kontrol segmen internal tersedia di output Asynchronous State Machine (ASM), seperti yang ditunjukkan pada Gambar 6 di atas. Jalur keluaran segmen 8 (SEG_OUT_8 di jendela properti) melalui jalur keluaran segmen 15 (SEG_OUT_15) dikendalikan oleh keluaran ASM pada keadaan 0. Tidak ada transisi keadaan dalam blok ASM, selalu dalam keadaan 0. Keluaran dari ASM adalah terhubung ke driver output segmen.

Driver keluaran segmen akan menghasilkan sinyal keluaran perangkat.

Langkah 6: Pengemudi Segmen Keluaran

Pengemudi segmen keluaran pada dasarnya adalah Tabel Pencarian (LUT) yang dikonfigurasi sebagai port logika XOR. Untuk setiap segmen output, port tersebut harus berupa port XOR yang terhubung ke jalur kontrol segmen dan ke backplane clock (BCKP_CLOCK). Port XOR bertanggung jawab untuk menghasilkan sinyal in-phase dan out-of-phase ke segmen output. Ketika garis kontrol segmen berada pada level tinggi, output port XOR akan membalikkan sinyal clock backplane dan menghasilkan sinyal di luar fase ke pin segmen. Selisih tegangan antara backplane LCD dan segmen LCD, dalam hal ini, akan mengatur segmen LCD sebagai segmen gelap. Ketika garis kontrol segmen berada pada level rendah, output port XOR akan mengikuti sinyal clock backplane dan kemudian menghasilkan sinyal sefasa ke pin segmen. Karena tidak ada tegangan yang diterapkan antara bidang belakang LCD dan segmen dalam kasus ini, segmen transparan terhadap cahaya.

Langkah 7: Osilator Internal dan Kontrol Sumber Jam Backplane

Osilator Internal dan Kontrol Sumber Jam Backplane
Osilator Internal dan Kontrol Sumber Jam Backplane

Osilator internal digunakan ketika sinyal BCKP_CLOCK dari antarmuka I²C diatur ke level tinggi. Tampilan dekat dari diagram kontrol sumber jam ditunjukkan pada Gambar 7 di atas.

Osilator dikonfigurasi sebagai frekuensi RC 25 kHz, dengan pembagi keluaran tertinggi tersedia di osilator OUT0 (8/64). Seluruh konfigurasi terlihat pada jendela properti yang ditunjukkan pada Gambar 7. Dengan cara ini, osilator internal akan menghasilkan frekuensi clock 48 Hz.

Osilator aktif hanya ketika sinyal BCKP_SOURCE berada pada level tinggi bersama dengan sinyal POR. Kontrol ini dilakukan dengan menghubungkan kedua sinyal ini ke port NAND dari LUT 4-L1. Output dari NAND kemudian dihubungkan ke input pin kontrol power down osilator.

Signal BCKP_SOURCE mengontrol MUX yang dibuat dengan 3-L10 LUT. Ketika sinyal BCKP_SOURCE berada pada level rendah, sumber jam backplane berasal dari PIN2. Ketika sinyal ini berada pada level tinggi, sumber jam backplane berasal dari osilator internal.

Langkah 8: Output Jam Backplane atau Kontrol Pin Output Segmen 15

Output Jam Backplane atau Kontrol Pin Output Segmen 15
Output Jam Backplane atau Kontrol Pin Output Segmen 15

Pin 20 dalam desain ini memiliki fungsi ganda, yang tergantung pada sumber jam backplane yang dipilih. Pengoperasian pin ini dikendalikan dengan satu LUT 4 input, seperti yang ditunjukkan pada Gambar 8. Dengan LUT 4-bit, dimungkinkan untuk mengasosiasikan operasi port XOR dengan output MUX. Ketika sinyal BCKP_SOURCE berada pada level tinggi, output LUT akan mengikuti clock osilator internal. Kemudian pin 20 beroperasi sebagai output jam backplane. Ketika sinyal BCKP_SOURCE berada pada level rendah, output LUT akan menjadi operasi XOR antara SEG_OUT_15, dari output ASM, dan sinyal clock backplane. Konfigurasi LUT 4-bit untuk melakukan operasi ini ditunjukkan pada Gambar 8.

Langkah 9: Prototipe Sistem LCD

Prototipe Sistem LCD
Prototipe Sistem LCD
Prototipe Sistem LCD
Prototipe Sistem LCD

Untuk mendemonstrasikan penggunaan solusi desain GreenPAK, prototipe sistem LCD dipasang di papan tempat memotong roti. Untuk prototipe, tujuh segmen, 4-digit LCD statis digerakkan oleh dua perangkat GreenPAK pada papan DIP. Satu perangkat (IC1) menggunakan osilator internal untuk menggerakkan backplane LCD, dan perangkat lain (IC2) menggunakan sinyal ini sebagai referensi input backplane. Kedua IC dikendalikan melalui antarmuka I²C oleh mikrokontroler STM32F103C8T6 (MCU) di papan pengembangan minimum.

Gambar 9 menunjukkan skema koneksi antara dua IC GreenPAK, layar LCD, dan papan MCU. Dalam skema, perangkat GreenPAK dengan referensi U1 (IC1) menggerakkan LCD digit satu dan dua (sisi kiri LCD). Perangkat GreenPAK dengan referensi U2 (IC2) menggerakkan LCD digit tiga dan empat, ditambah segmen COL (sisi kanan LCD). Catu daya untuk kedua perangkat berasal dari regulator di papan pengembangan mikrokontroler. Dua jumper yang dapat dilepas antara catu daya dan pin VDD dari setiap perangkat GreenPAK ditambahkan untuk pengukuran arus dengan multimeter.

Gambar dari prototipe yang dirakit ditunjukkan pada Gambar 10.

Langkah 10: Perintah I²C untuk Kontrol LCD

Perintah I²C untuk Kontrol LCD
Perintah I²C untuk Kontrol LCD
Perintah I²C untuk Kontrol LCD
Perintah I²C untuk Kontrol LCD
Perintah I²C untuk Kontrol LCD
Perintah I²C untuk Kontrol LCD

Kedua perangkat GreenPAK pada papan tempat memotong roti diprogram dengan desain yang sama, kecuali dengan nilai Control Byte. Byte kontrol IC1 adalah 0 (alamat I²C 0x00), sedangkan byte kontrol I²C adalah 1 (alamat I²C 0x10). Hubungan antara segmen tampilan dan driver perangkat dirangkum dalam tabel di atas.

Sambungan dipilih dengan cara ini untuk membuat skema yang lebih jelas dan untuk menyederhanakan perakitan sambungan papan tempat memotong roti.

Kontrol output segmen dilakukan dengan perintah tulis I²C ke Input Virtual I²C dan register output ASM. Seperti yang dijelaskan dalam catatan aplikasi AN-1090 Pengontrol IO Sederhana I²C dengan SLG46531V (lihat Catatan Aplikasi AN-1090 Pengontrol IO Sederhana I²C dengan SLG46531V, Semikonduktor Dialog), perintah tulis I²C disusun sebagai berikut:

● Mulai;

● Byte kontrol (bit R/W adalah 0);

● Alamat kata;

● Data;

● Berhenti.

Semua perintah tulis I²C dibuat ke Alamat Word 0xF4 (Input Virtual I²C) dan 0xD0 (Output ASM untuk status 0). Perintah untuk menulis di IC1 dan mengontrol LCD digit 1 dan 2 diringkas dalam Tabel 3. Dalam representasi urutan perintah, tanda kurung buka “[“menunjukkan sinyal Mulai, dan tanda kurung tutup “]” menunjukkan sinyal Berhenti.

Dua byte di atas mengontrol segmen LCD digit 1 dan digit 2 bersama-sama. Di sini, pendekatannya adalah menggunakan tabel pencarian individu (LUT) dalam perangkat lunak untuk setiap digit, dengan mempertimbangkan segmen dalam kedua byte. Nilai byte dari tabel pencarian harus dicampur menggunakan operasi OR bitwise, dan kemudian dikirim ke IC. Tabel 4 menunjukkan nilai Byte0 dan Byte1 untuk setiap nilai numerik yang harus ditulis dalam setiap digit tampilan.

Misalnya, untuk menulis di Digit 1 angka 3, dan di Digit 2 angka 4, Byte0 adalah 0xBD (0x8D bitwise OR dengan 0xB0) dan Byte 1 adalah 0x33 (0x30 bitwise OR dengan 0x03).

Perintah untuk menulis di IC2 dan mengontrol Digit 3 dan 4, dijelaskan pada Tabel 5.

Logika kontrol angka 3 dan 4 seperti kontrol angka 1 dan 2. Tabel 6 menunjukkan LUT untuk dua angka ini.

Perbedaan IC2 adalah segmen COL. Segmen ini dikendalikan oleh Byte1. Untuk mengatur segmen ini gelap, operasi OR bitwise antara Byte1 dan nilai 0x40 harus dilakukan.

Langkah 11: Perintah I²C untuk Tes LCD

Perintah I²C untuk Tes LCD
Perintah I²C untuk Tes LCD

Untuk uji LCD, firmware dikembangkan dalam bahasa C untuk papan MCU. Firmware ini akan mengirimkan urutan perintah ke kedua IC di papan tempat memotong roti. Kode sumber untuk firmware ini ada di bagian Lampiran. Seluruh solusi dikembangkan menggunakan Atollic TrueStudio untuk STM32 9.0.1 IDE.

Urutan perintah dan nilai masing-masing yang ditunjukkan pada tampilan diringkas dalam Tabel 7 di atas.

Langkah 12: Hasil Tes

Hasil tes
Hasil tes
Hasil tes
Hasil tes

Tes prototipe terdiri dari memverifikasi nilai tampilan setelah perintah MCU dan mengukur aliran arus oleh masing-masing IC selama operasi.

Gambar LCD untuk setiap nilai perintah ditunjukkan pada Tabel 8 di atas.

Wastafel saat ini untuk setiap perangkat diukur dengan multimeter, dalam kisaran arus terendah 200 A. Gambar arus terukur untuk setiap perangkat, selama start-up dan operasi normal, ditunjukkan pada Tabel 9 di atas.

Kesimpulan dan Hasil Diskusi

Desain driver LCD statis berdaya rendah dengan perangkat GreenPAK disajikan. Desain ini dengan jelas menunjukkan salah satu fitur terbesar dari perangkat GreenPAK: arus diamnya yang rendah. Karena perangkat GreenPAK adalah solusi berbasis perangkat keras, dimungkinkan untuk bekerja pada operasi frekuensi rendah, dalam hal ini, 48 Hz. Solusi berbasis MCU akan membutuhkan frekuensi operasi yang lebih tinggi, bahkan untuk periode waktu yang singkat secara berkala, dan kemudian akan menarik lebih banyak daya. Dan, membandingkan perangkat GreenPAK dengan CPLD (Perangkat Logika yang Dapat Diprogram Kompleks), jelas terlihat bahwa biasanya CPLD memiliki arus diam yang lebih tinggi dari 20 A.

Sangat menarik untuk dicatat bahwa desain ini dapat dengan mudah dimodifikasi agar lebih sesuai dengan persyaratan proyek tertentu. Contoh yang baik adalah pinout kontrol segmen. Mereka dapat dengan mudah diubah untuk menyederhanakan papan sirkuit cetak dan pengembangan perangkat lunak pada saat yang bersamaan. Ini adalah fitur yang menarik ketika perangkat dibandingkan dengan ASIC (Application Specific Integrated Circuit) yang sudah tersedia. Biasanya, ASIC dirancang agar sesuai dengan berbagai aplikasi, dan rutinitas perangkat lunak awal harus ditulis untuk mengonfigurasi IC dengan benar sebelum operasi. Perangkat yang dapat dikonfigurasi dapat dirancang untuk mulai siap digunakan setelah dinyalakan. Dengan cara ini, dimungkinkan untuk memotong waktu pengembangan perangkat lunak untuk konfigurasi awal IC.

Kode sumber untuk aplikasi dapat ditemukan di sini di Lampiran A.

Direkomendasikan: