info@panadisplay.com
Pengontrol Layar Sentuh LCD

Pengontrol Layar Sentuh LCD

Dec 13, 2017

Kontroler layar sentuh LCD mencakup modul antarmuka data, modul memori (FSMC_Ctrl (SDRAM_Ctrl), modul tampilan kristal cair (TFT_Ctrl) dan modul kontrol sentuh (TOUCH_Ctrl), diagram blok yang ditunjukkan pada gambar 2.

2.png

Proses kerja pengontrol layar sentuh LCD: mikroprosesor (STM32F407) melalui bus FSMC untuk mengirim data ke FPGA, modul FSMC_Ctrl untuk menerima data, modul kontrol waktu SDRAM_Ctrl menulis memori SDRAM, kontrol waktu modul TFT_Ctrl dari SDRAM untuk membaca data dalam tampilan real-time. Modul TOUCH_Ctrl drive chip kontrol sentuh ADS7843 dan mengirimkan koordinat yang dikumpulkan ke modul FSMC_Ctrl untuk menunggu ARM membacanya secara teratur.


1. Modul interaksi data

Modul pertukaran data adalah kunci untuk mewujudkan transmisi data dua arah, bus FSMC termasuk chip CS memilih sinyal dan menulis sinyal WR, membaca sinyal operasi RD, bus alamat AB 25: 0 (mode multiplexing), bus data DB 15: 0 dan address / data multiplexing control signal NADV (menggunakan jalur alamat multiplexed). Di antara mereka, chip pilih sinyal CS, membaca dan menulis operasi sinyal WR sinyal RD biasanya efektif pada daya rendah. Ketika menulis sinyal operasi WR untuk daya rendah, ARM mengirimkan alamat kristal cair dan data ke bus DB, alamat pengait pada tepi naik sinyal NADV, dan data yang sesuai pada tepi sinyal WR yang naik, yang ditampilkan pada LCD setelah cache SDRAM. Ketika operasi membaca sinyal RD rendah, FPGA mengirimkan koordinat sentuhan ke bus DB. ARM menyadari operasi sentuh sesuai dengan nilai koordinat dari register ruang alamat pemetaan, dan diagram alur kerja bus FSMC ditunjukkan pada Gambar 3.

3.png


2. Modul layar kristal cair

Menurut prinsip tampilan layar kristal cair, sinyal yang dikendalikan oleh modul ini terutama mencakup sinyal clock piksel, sinyal sinkron saluran / bidang dan mengaktifkan sinyal. Sesuai dengan persyaratan waktu layar LCD, pengaturan waktu LCD dirancang oleh FPGA, dan kontrol sinyal garis, sinyal frame dan sinyal tersembunyi direalisasikan.

Di antara mereka, urutan waktu frame scan didasarkan pada HSYNC sebagai jam referensi, HSYNC digunakan sebagai sinyal pemindaian garis, dan VSYNC adalah sinyal sinkronisasi frame, dan tingkat rendah efektif. Setiap frame dipindai, area efektif dari ujung depan sinyal VSYNC adalah bahu frame blanking (VBPD + 1), ada bahu depan bingkai belakang kosong (VFPD + 1), sinyal VSYNC efektif sebelum ada tinggi tingkat (VSPW + 1), kata sinyal lebar pulsa sinkronisasi frame. Di antara mereka, VBPD, VFPD, dan VSPW didasarkan pada jam referensi HSYNC. Demikian pula, untuk setiap baris sinyal pemindaian, ada juga bahu belakang tersembunyi (HBPD + 1), bahu depan tersembunyi (HFPD + 1), lebar pulsa sinyal sinkron baris (HSPW + 1), dan jam piksel VCLK sebagai sebuah unit. Untuk layar LCD resolusi yang berbeda, waktu tampilan berbeda dari yang ada di bahu depan, bahu tersembunyi dan lebar sinyal pulsa. Pengandar tampilan dapat mengganti layar LCD yang berbeda hanya dengan mengubah parameter ini.

Untuk membuat tampilan layar LCD driver untuk berbagai resolusi yang berbeda, dalam bahasa perangkat keras FPGA Verilog dengan pre VCLK, VBPD, VFPD, VSPW, HBPD, HFPD, parameter HSPW layar LCD yang berbeda, menggunakan jalur alamat bus FSMC 2 sebagai parameter kontrol layar LCD. Dalam aplikasi, kita hanya perlu mengubah alamat register bit peta kontrol untuk merealisasikan konfigurasi parameter, yang cocok untuk layar LCD yang berbeda dan meningkatkan portabilitas pengontrol. Diagram urutan waktu dari tampilan kristal cair ditunjukkan pada Gambar 4.

4.png

3. Modul memori

Modul memori termasuk modul preprocessing data, pengontrol SDRAM dan modul cache, terutama untuk menyelesaikan penyimpanan data input dan menampilkan data yang dibaca. Struktur modul memori ditunjukkan pada gambar 5.

5.png

4. Modul preprocessing data

Modul preprocessing data terutama mencakup integrasi dan caching data. Karena tingkat transmisi data bus FSMC jauh lebih rendah daripada frekuensi kerja SDRAM, untuk mengatasi tingkat ketidakcocokan antara mereka, data di-cache sebelum data ditulis ke SDRAM untuk mencegah kehilangan data.

Untuk memastikan korespondensi antara data tampilan dan alamat, mencegah kesalahan tampilan, alamat dan data informasi yang ditampilkan oleh splicing, splicing setelah data ditulis ke buffer FIFO (pertama di luar pertama, FIFO), operasi tulis untuk menunggu untuk SDRAM.


5. Modul cache

Modul cache mencakup dua memori akses acak tunggal (memori akses acak, RAM), yang fungsi utamanya adalah untuk mencapai data operasi ping-pong output yang berkelanjutan oleh dua RAM, prinsip operasi ping-pong seperti yang ditunjukkan pada gambar 6.

6.png

Untuk mewujudkan tampilan data output yang berkelanjutan, dalam kedalaman dua SDRAM back-end back-end panggilan FPGA untuk 2048, lebar 16 RAM, melalui unit pemilihan aliran data seleksi "dan" unit pemilihan aliran data output "untuk beralih secara teratur , setelah RAM cache aliran data yang terus dikirim ke unit pemrosesan aliran data "pemrosesan.

Data dari setiap frame dalam proses tampilan, dalam sinyal garis pertama hingga dua sebelum kedatangan sinyal sinkron selama pra pembacaan data dalam SDRAM, RAM1 dan RAM2 untuk menulis data di muka, sehingga pada awalnya sebuah sinyal yang memungkinkan datang dapat berhasil membaca tampilan data RAM1 selesai segera dari dalam SDRAM pra membaca data baris berikutnya ke RAM1.

Dalam sinyal kedua memungkinkan daerah, RAM2 dibaca dan ditampilkan, dan prosesnya sama dengan RAM1. Pada gilirannya, RAM1 dan RAM2 dibaca dan ditulis secara bergantian untuk melengkapi output data yang berkelanjutan.


6. pengontrol sdram

Karena layar LCD membutuhkan keluaran data yang berkelanjutan dan tidak ada gangguan data selama setiap sinyal yang memungkinkan, jadi kita perlu mengatur operasi baca SDRAM sebagai prioritas tertinggi. Di seluruh kontrol SDRAM, kita harus memusatkan pada kontrol membaca data.

Pengendali SDRAM terutama mengontrol operasi inisialisasi, penyegaran, baca dan tulis SDRAM, dan kontrol baca dan tulis SDRAM adalah inti dari modul ini. Ini adalah kunci untuk meningkatkan tingkat pembaruan data dan mengurangi beban pemrosesan data ARM.

Oleh karena itu, desain pengendali SDRAM terutama bertujuan untuk meningkatkan tingkat pembaruan data dan mengurangi dua aspek dari beban pemrosesan data ARM.


Untuk meningkatkan laju pembaruan data, metode pembacaan dan penulisan bersama waktu diadopsi untuk memanfaatkan sepenuhnya waktu idle yang disediakan oleh buffer data. Penghitung juga diatur selama operasi pembacaan SDRAM. Nilai maksimum counter adalah M (M adalah piksel baris kristal cair yang berbeda), sehingga data yang efektif dapat ditulis RAM untuk dibaca dengan mudah.

Di satu sisi, membaca mode burst read digunakan dalam proses operasi dalam SDRAM, masing-masing membaca 256 set data sekali lagi menunggu pembacaan berikutnya, sampai data yang valid dibaca; di sisi lain, sesuai dengan operasi ping-pong mengatur counter terpisah, nilai maksimum adalah Y / 2 (Y untuk LCD piksel yang berbeda), masing-masing 1 counter operasi ping-pong selesai ditambah 1, diakumulasikan ke nol maksimum menunjukkan bahwa tampilan data selesai, SDRAM menunggu hingga frame berikutnya untuk menampilkan data.

Dalam dua kontroler pengendali interval tunggu untuk memulihkan bus data SDRAM, tulis operasi SDRAM, perpendek waktu tunggu operasi tulis SDRAM, operasi tulis dengan mode penulisan burst, setiap letusan 1 menulis 8 data, secara efektif meringankan masalah hilangnya data yang dihasilkan dari FSCM berkecepatan tinggi dan tidak dapat memasukkan data saat menyimpan bandwidth SDRAM, meningkatkan tingkat pembaruan data.

Waktu operasi penyegaran tetap (N diatur sesuai dengan resolusi kristal cair) pada periode baris N pertama dari setiap data frame, yang memastikan bahwa semua Bank dalam SDRAM dapat disegarkan dalam 64ms, sehingga untuk menghindari konflik antara operasi penyegaran dan membaca dan menulis operasi.


Dalam rangka meningkatkan tingkat pembaruan tampilan, mengurangi beban pengolahan data kristal cair ARM, akan sesuai dengan ruang buffer alamat memori Bank dibagi menjadi 4 lapisan, setiap lapisan memiliki 2MB, SDRAM controller melalui multi multi-buffer multiRAM operasi untuk mencapai desain akselerator perangkat keras, prinsip kerjanya seperti yang ditunjukkan pada Gambar 7.

7.png

Akselerator menyadari kontrol logika yang disesuaikan melalui instruksi yang disesuaikan dan tabel pencarian, dan mencapai berbagai operasi FPGA pada data, seperti melakukan fungsi operasi matematika yang kompleks, mentransfer data dari satu tempat ke tempat lain, dan melakukan operasi yang sama berkali-kali.

Dalam proses tampilan kristal cair, di satu sisi, SDRAM akan dibagi menjadi 4 tingkat, Bank1 sebagai bagian bawah, pada gilirannya Bank2, Bank3, Bank4, melalui operasi multi, tidak dapat mengubah premis yang mendasari tampilan, memodifikasi daerah penyangga melalui alamat instruksi pertama untuk memperbarui wilayah tanpa data ARM untuk mengirim data;

Di sisi lain, SDRAM dibagi menjadi 4 buffer. Dengan mengirimkan instruksi khusus, kami menggunakan tabel look-up untuk melakukan operasi matematika pada data area buffer yang berbeda, dan mewujudkan tampilan transparan dan fungsi lainnya.

Menyimpan data sebelum display frame di Bank1, menyimpan data frame yang akan ditampilkan di Bank2 dan Bank3, menampilkan akhir dari data frame terakhir, menampilkan data frame berikutnya secara langsung melalui instruksi, memastikan integritas data frame layar dan meningkatkan efek visual dari LCD. Melalui operasi multilayer dan multi buffer, bagian dari pemrosesan data dialokasikan ke FPGA untuk pemrosesan paralel untuk mengurangi beban pemrosesan data ARM. Dibandingkan dengan mode pemrosesan serial ARM, ini dapat meningkatkan tingkat pembaruan data.