CSTroN - monitor buatan sendiri pada matriks CSTN vintage dengan input-VGA dan papan kontrol FPGA



Bagaimana jika TFT tidak pernah ditemukan? LCD matriks CSTN

Entri


Ketika monitor CRT menang, argumen berikut diajukan untuk mereka: terlepas dari semua perbaikan, layar LCD tidak akan pernah mengungguli tampilan tabung dalam kualitas gambar. Mereka, seperti sebelumnya, akan menemukan aplikasi hanya di mana efisiensi energi dan ketebalan kecil diperlukan [1]. Beberapa dekade telah berlalu, dan sekarang kita tahu apakah para pendukung argumen ini benar. Tetapi hari ini menarik untuk melihat LCD pada waktu itu: apakah mereka benar-benar berkualitas buruk? Bagaimana rasanya melihat matriks CSTN pada tahun 2019?



TFT kiri, CSTN kanan, keduanya ditampilkan dari tahun sembilan puluhan

LCD di abad terakhir


Sebelum beralih ke TFT, berbagai teknologi tampilan digunakan di komputer laptop. Pada awalnya, mereka menggunakan monitor CRT yang sama seperti di komputer desktop, hanya yang lebih kecil. Misalnya, dalam Compaq Portable (1983), IBM 5155 (1984) atau Commodore SX-64 (juga 1984).



IBM 5155, penulis: Soupmeister, berlisensi: CC-BY-SA-2.0, dari sini

Membawa PC seperti itu ke mana-mana adalah hal yang sulit, hal yang sama sekali berbeda - laptop dengan TN-LCD (twist nematic), misalnya, IBM 5140 (1986), Toshiba T1000 (1987). Layar ini memiliki kontras rendah dan sudut pandang.



Toshiba T1100 dengan monokrom TN-display, penulis: Johann H. Addicks, lisensi: GFDL, karenanya tautannya terputus, dalam versi aslinya juga

Beberapa produsen bereksperimen dengan matriks pelepasan gas, seperti Toshiba T3200 (1987) dan IBM PS / 2 P70 (1991) melihat cahaya hari. Mereka memberikan kontras tinggi dan beberapa gradasi kecerahan cahaya merah-oranye, tetapi harganya cukup mahal. Akhirnya, STN-LCD (supertwist nematic) dikembangkan, seperti, misalnya, di Electronics MC1504 dan prototipe Toshiba T1100. Kontrasnya jauh lebih baik - dari 1: 5 hingga 1:50, dan beberapa gradasi kecerahan cukup untuk aplikasi bisnis (menggunakan laptop dalam kehidupan sehari-hari masih terlalu mahal). Tetapi bagaimana jika pengguna menginginkan gambar berwarna? Dalam hal ini, ia ditawari dua teknologi: TFT dan CSTN (color supertwist nematic). Laptop pertama dengan TFT - NEC PC9801NC - diperkenalkan pada tahun 1990, kualitas gambar untuk tahun-tahun itu di atas semua pujian, tetapi harganya "mainan seperti itu" jauh lebih mahal daripada laptop mahal lainnya. Nah, tampilan CSTN hanyalah tampilan STN, di mana filter dilapiskan. Untuk waktu yang lama, laptop menggunakan matriks dari kedua jenis. Dan di kereta bawah tanah New York, monitor CSTN masih berfungsi.



Salah satunya, sumber: Transit + PLUS

Cstron


Penulis ingin melihat tampilan CSTN. Bagaimana? Sebagai permulaan, beli saja laptop lama dan gunakan. Ternyata prosesor AMD 5x86-P133. Artinya, hal paling dinamis yang dapat Anda jalankan di dalamnya adalah game DOS (oh well, MPEG1 akan menarik QV - penerjemah dalam program). Tentu saja, memainkannya bagus, tetapi saya ingin melihat bagaimana YouTube, misalnya, atau permainan modern terlihat di layar seperti itu - tetapi ini tidak mungkin.

Atau?

Secara umum, Anda perlu menambahkan input VGA atau HDMI ke dalamnya - dan Anda dapat mengirim sinyal dari sesuatu yang modern. Layar TFT dari laptop sangat sering dibuat ulang menjadi monitor. Beli saja papan yang sesuai dengan matriks - dan Anda selesai. Dan Anda dapat membuat awalan sendiri pada FPGA, yang mengubah sinyal VGA atau HDMI menjadi aliran data piksel.

Sekali waktu, ada juga papan yang diproduksi untuk mengubah matriks CSTN menjadi monitor VGA, tetapi ini tidak lagi ditemukan. Tetapi Anda dapat mengadaptasi papan debug untuk FPGA ML505 untuk ini.



Hasil jadi. Sangat tidak biasa untuk mengamati ini di layar CSTN: RAM 16 GB.

Manajemen matriks


Mari kita mulai dengan dasar-dasarnya. Seperti halnya tampilan matriks, tampilan CSTN memiliki baris dan kolom. Apakah Anda pernah mengendalikan matriks LED dari mikrokontroler? Itu sama di sini, tetapi tegangannya bervariasi. Anda perlu menerapkan sinyal tertentu untuk baris dan kolom yang dipilih dan tidak dipilih - dan piksel di persimpangan baris dan kolom yang dipilih akan menunjukkan apa yang Anda butuhkan. Bentuk sinyal sangat kompleks, nilai kuadrat rata-rata dari tegangan, pergeseran fasa antara tegangan pada baris dan kolom, dan offset ... Jadi, piksel demi piksel, gambar terbentuk.

Untungnya, FPGA tidak diperlukan untuk menghasilkan semua sinyal ini, dan bahkan pada sejumlah besar garis. Semua ini dilakukan oleh modul yang terpasang pada layar. Di sana, konverter pulsa meningkatkan tegangan konstan, melewati pembagi dan pengulang, sehingga tegangan bias diperoleh. Driver baris dan kolom mengubah tegangan ini menjadi variabel dengan bentuk yang diperlukan. Yang diperlukan hanyalah mengirimkan aliran data status piksel ke modul tampilan.

Pada TFT-LCD dengan antarmuka DPI (antarmuka paralel digital), semua data sekitar satu piksel tiba sekaligus dalam satu siklus. Pada garis sinkronisasi horizontal dan bingkai, pulsa diterima masing-masing setelah setiap garis dan bingkai. Pixel secara terus-menerus ditransmisikan baris demi baris, bingkai demi bingkai. Jika transmisi full frame membutuhkan 1/60 dtk, maka kecepatan refresh adalah 60 Hz. Lebar bus data sama dengan kedalaman warna dalam bit, biasanya 16 (5 bit untuk merah dan biru, 6 untuk hijau), 18 (6 bit untuk setiap warna), atau 24 (8 bit untuk setiap warna). LVDS adalah hal yang sama, hanya bit yang tidak ditransmisikan secara paralel, tetapi secara berurutan dalam pasangan diferensial, tetapi dalam MIPI DSI mereka juga digabungkan menjadi paket. Bus SPI / i80 memungkinkan Anda untuk mengirim berbagai perintah ke controller, dan jika dijalankan, menghasilkan sinyal untuk DPI atau antarmuka serupa. Yang, pada gilirannya, agak mengingatkan pada VGA, hanya data pada kecerahan dari masing-masing warna yang diterima bukan dalam analog, tetapi dalam bentuk digital. Ada konverter VGA ke DPI dan sebaliknya. Papan sangat mudah digunakan, memungkinkan Anda menerima sinyal VGA dari Raspberry Pi, meskipun pada awalnya komputer ini hanya menghasilkan HDMI dan video komposit.

Sinyal yang sangat mirip dengan yang dipasok ke matriks TFT dengan antarmuka DPI harus dipasok ke modul tampilan matriks CSTN. Lembar data pada SX21V001 [2] menunjukkan cara mengontrol tampilan CSTN dengan resolusi 640x480:



Ini menunjukkan transfer seluruh frame. Sinyal tiba di jalur CL1 setelah setiap baris, di FLM setelah setiap frame. Dan ada bus data 16 baris. Sebenarnya, kesalahan dibuat dalam gambar ini: selama transmisi baris pertama dan kedua, data Y1 dan Y2, dan bukan X1 dan X2, tetapi masing-masing Y140 dan Y242, diterima pada jalur UD0-UD7. Di sini U dan L adalah, masing-masing, atas dan bawah, yaitu, layar terdiri dari dua matriks dengan resolusi 640x240, terletak satu di atas yang lain. Ini dia, "pemindaian ganda" misterius dari iklan laptop lama, yang darinya terdapat strip horizontal di seluruh layar. Untuk tampilan STN dan CSTN, kontrasnya berbanding terbalik dengan jumlah garis, sehingga pemisahan ini memungkinkan untuk ditingkatkan. Tapi ini bukan satu-satunya cara mereka berbeda dalam cara mereka dikendalikan dari TFT.



Tidak jelas mengapa sumbu horizontal disebut Y ... Tapi bagaimanapun, CL2 di sini adalah garis untuk memasok pulsa clock yang berganti pixel. Tetapi bus UD dan LD dalam satu siklus tidak mengirimkan data tentang satu piksel multi-bit, seperti pada TFT, tetapi data tentang beberapa piksel sekaligus, masing-masing tiga bit. Satu bit per warna, tiga bit per pixel - total delapan warna.



Tapi bagaimana caranya? Jelas bahwa tampilan CSTN memiliki beberapa warna, misalnya 4096 atau 32768, tetapi tidak 8. Ternyata PWM diterapkan di sini. LED dikendalikan dengan cara ini, yang berarti piksel LCD dimungkinkan. Anda perlu, misalnya, kecerahan 50% - nyalakan piksel dalam bingkai genap dan matikan dalam bingkai aneh. Metode ini disebut FRC (frame rate control), tetapi PWM dalam konteks ini disebut pixel brightness control dengan cara yang sama, tetapi dalam dua atau lebih frame, tetapi satu. FRC mengimplementasikan perangkat eksternal, dan PWM mengimplementasikan chip modul display, jika ada dukungan untuk fungsi ini. Penulis tidak mengetahui tampilan CSTN dengan PWM, tetapi ia menyarankan bahwa ini adalah matriks tipe-HPA. Bagaimanapun, karena PWM tidak tersedia, kedalaman warna yang diperlukan dapat diperoleh dengan menggunakan FRC.



Berkedip-kedip akan menjadi harga ini, jadi frame rate yang mengerikan (dibandingkan dengan TFT) dapat ditemukan di layar CSTN. Sebagai contoh, modul ini awalnya memiliki 120 Hz, dan penulis overclock ke 240.

Bagaimana penerapannya


Pengembang menghadapi beberapa kesulitan sekaligus:

- sinyal input memiliki frame rate 60 Hz, itu harus dua kali lipat atau bahkan empat kali lipat

- dalam sinyal input, frame tidak dibagi menjadi dua bagian atas dan bawah masing-masing 640x240 piksel, tetapi di sini perlu untuk membagi

- Anda juga perlu menerapkan FRC, jika tidak, kedalaman warna akan menjadi 3 bit per piksel

Dua poin pertama berarti bahwa framebuffer diperlukan, dan bukan yang sederhana, tetapi dua port. Nah, tugas ketiga diselesaikan menggunakan GLDP LUT (tabel pola pencarian tampilan level grayscale) [3]. Tabel pencarian memiliki dua jenis data input: warna yang akan ditampilkan, dan status penghitung bingkai. Dan satu jenis output: tiga bit yang perlu diserahkan ke subpiksel piksel yang diberikan pada saat tertentu. Oleh karena itu, simpul berikut akan diperlukan:



Hal pertama yang harus dilakukan adalah mengisi seluruh layar dengan beberapa warna. Pada tahap ini, tidak perlu untuk mengetahui di mana piksel berada, cukup untuk memastikan bahwa modul tampilan memberikan sinyal bentuk yang diperlukan ke matriks. Kode untuk mengisi FPGA ada di sini .



Sekarang cobalah untuk mengeluarkan sesuatu, dan dengan kecerahan yang tidak lengkap juga. Mencari tabel pencarian FRC untuk meminimalkan flicker. Penulis menghasilkan dua tabel yang diterapkan pada piksel dalam pola kotak-kotak. Oleh karena itu, setiap dua piksel yang berdekatan berkedip secara tidak sinkron. Kodenya ada di sini .



Jadi, kita sudah "mengajarkan" papan untuk menampilkan gambar, hal berikutnya yang akan diperlukan adalah framebuffer. Pada 640x480 dan 5 bit untuk masing-masing warna, volumenya akan sekitar 600 kilobyte. Tidak banyak, tetapi begitu banyak di FPGA. Nah, board memiliki RAM seperti DDR2 dan Xilinx MIG untuk mengendalikannya. Dua FIFO diterapkan, satu untuk membaca dan satu untuk menulis. Arbiter memutuskan apakah pertukaran data berikutnya dengan DDR2 dibaca atau ditulis. Ada dua buffer, catatan masuk ke satu, membaca dari yang lain, dan ketika mengubah bingkai, mereka mengubah tempat. Kode arbitrator ada di sini .

Masih menerapkan pengambilan video, di salah satu proyek sebelumnya penulis sudah memiliki waktu operasi yang sama, setelah penyempurnaan, kode untuk konverter dari VGA ke DPI menjadi seperti ini .

Dan apa yang terjadi?


Lihat itu!


Ini adalah proyek FPGA ketiga untuk penulis, menarik untuk bekerja dengan Xilinx MIG dan DDR2, serta dengan konveyor sederhana. FRC yang lebih baik dengan modulasi delta sigma direncanakan, serta eksperimen dengan panel CSTN kemudian menggunakan teknologi HPA (High Performance Addressing) Sharp.

Terima kasih atas perhatian anda!

Sumber


1. Li, W., & Guo, Q. (2000). Teknologi Aplikasi Layar Kristal Cair. Beijing: Pers Industri Listrik.

2. HITACHI (1999). Spesifikasi Penerimaan Pelanggan SX21V001-Z4.

3. Hsueh, Y., & Lee, J. (2008). Metode peningkatan gambar untuk pengontrol kecepatan bingkai LCD. Simposium Internasional IEEE 2008 tentang Elektronik Konsumen. doi: 10.1109 / isce.2008.4559534

Source: https://habr.com/ru/post/id444762/


All Articles