Principle of LCD

Liquid-Crystal Display (LCD) Controller: Sitronix ST7066U

Pin used

There are two interfaces due to LCD controller, i.e. using 8-bit and 4-bit. The design of Spartan-3E, in this article using 4-bit interface and multi-purpose with a storage device of Intel StrataFlash. So there is a procedure shall be initialized and configured on the display. LCD_RW has a low level won’t be read its data from the display. LCD_E has a low level, it makes an LCD ignores all of the inputs. LCD_RS has a high level, it will impact the write operation while the LCD_RS is in low level so it will be read operation.

LCD Memory

LCD device has three internal memories. The Data Display RAM (DD RAM) is utilized as a data reference will be displayed on the screen, the Character Generator RAM (CG RAM) will store a pattern made by users and the Character Generator ROM (CG ROM) consists of a number of American Standard Code for Information Interchange (ASCII) symbol patterns that have been defined (see Figure 1). The storage devices implemented in this article are DD-RAM and CG-ROM.

Figure 1. ASCII Code in LCD

The addresses used are locations in the DD-RAM that physically related to the character location performed by the LCD. The character display addresses shown in Figure 2.

Figure 2. Addresses of DD RAM

Command Format of LCD

Each command of 8-bit to the LCD controller causes more than 4-bit interface that each command is decomposed to 4-bit of two transmissions that have a distance of 1 μs. The next 4-bit command has a distance of 40 μs as shown in Figure 3.

Figure 3. The Timing of LCD Interface

A clock period of 50 MHz is 20 ns. The time between 4-bit the initial command is 1 us (50 clock cycles). The time between the next 4-bit command is 40 us (2000 clock cycles). The delay time of clear display is 1,64 ms (82000 clock cycles). The setup time of 40 ns is 2 clock cycles, the hold time of 230 ns (12 clock cycles), and the fall time is 10 ns (around 1 clock cycle).

Set of LCD Command.

Initialization, configuration, and LCD display

There are three main parts using an LCD i.e. first, initializing 4-bit interface; second, set a display choice; and third, write a character data.

Initialization

  1. Wait till 15 ms (750,000 clock cycles) at 50 MHz.
  2. Write SF_D<11:8> = 0x3, pulse of LCD_E is in high level during 12 clock cycles.
  3. Wait till 4.1 ms (205,000 clock cycles) at 50 MHz.
  4. Write SF_D<11:8> = 0x3, pulse LCD_E is in high level during 12 clock cycles.
  5. Wait till 100 μs (5,000 clock cycles) at 50 MHz.
  6. Write SF_D<11:8> = 0x3, pulse of LCD_E is in high level during 12 clock cycles.
  7. Wait till 40 μs (2,000 clock cycles) at 50 MHz.
  8. Write SF_D<11:8> = 0x2, pulse of LCD_E is in high level during 12 clock cycles.
  9. Wait till 40 μs (2,000 clock cycles) at 50 MHz.

Configuration

  1. Making a command of Function Set 0x28, configuring the display to the interface data length operation, a number of display lines and font types. The Spartan-3E Starter Kit supports a single function set with the value of 0x28.
  2. Making a command of Entry Mode Set, 0x05, to set a display in order the address pointer to increment automatically (DB1=1), whereas DB1=0, if it is decrement. If DB0=0 then it will disable a character shifting and if DB=1, it will shift all of the displayed characters.
  3. Making a command Display On/Off, 0x0C, to change on and off of the cursor and blink displays. If DB2=0 then there is no character will be displayed, whereas if DB2=1 then the character stored on the DD RAM will be displayed. If the DB1=0 then the cursor won’t be displayed but if DB1=1 then the cursor will be displayed. If DB0=0 then there is no blinking cursor and if DB0=1 then the cursor will be on and off around a half second.
  4. Making a command of Clear Display to erase a display, then to make a delay about 1.64 ms (82,000 clock cycles) as shown in Figure 4.

    Figure 4. Display Command of The LCD

In Indonesia:

LCD Controller: Sitronix ST7066U

Pin yang digunakan

Ada dua cara antarmuka dengan LCD controller, yaitu menggunakan 8 bit dan 4 bit. Perancangan Spartan-3E dalam hal ini menggunakan antarmuka empat bit dan berbagi guna dengan perangkat penyimpan Intel StrataFlash. Sehingga ada prosedur yang harus diinisialisasi dan dikonfigur pada tampilan. LCD_RW bernilai low tidak akan dibaca datanya dari tampilan. LCD_E low menyebabkan LCD mengabaikan seluruh masukan. LCD_RS high menyebabkan menjadi operasi tulis sedangkan LCD_RS low menyebabkan menjadi operasi baca.

Memori LCD

Perangkat LCD mempunyai tiga internal memori. Data Display RAM (DD RAM) digunakan sebagai rujukan data yang akan ditampilkan ke layar, Character Generator RAM (CG RAM) akan menyimpan pola yang dibuat pengguna dan Character Generator ROM (CG ROM) terdiri dari sejumlah pola simbol ASCII yang telah didefinisikan. Penggunaan perangkat penyimpan yang digunakan pada tulisan ini adalah DD-RAM dan CG-ROM.

Gambar 1 Karakter LCD

Alamat yang digunakan adalah lokasi dalam DD-RAM yang secara fisik terkait dengan lokasi karakter yang ditampilkan pada LCD.

Gambar 2. Alamat Heksadesimal DD RAM

Format perintah LCD

Masing-masing perintah 8 bit ke LCD controller menyebabkan lebih dari antarmuka 4 bit yang masing-masing perintah didekomposisikan menjadi dua transmisi 4 bit yang berjarak 1μs. Perintah 4 bit berikutnya berjarak sekitar 40μs.

Gambar 3. Pewaktuan Antarmuka LCD

Periode clock 50MHz adalah 20ns. Waktu antara perintah 4 bit awal adalah 1us (50 clock cycles). Waktu antara perintah 4 bit berikutnya adalah 40us (2000 clock cycles). Waktu tunda Clear Display adalah 1,64ms (82000 clock cycles). Setup time-nya 40ns merupakan 2 clock cycles, hold time-nya 230ns (12 clock cycles), dan fall time-nya 10ns (sekitar 1 clock cycle).

Serangkaian perintah LCD.

Gambar 4. Perintah Tampilan LCD (Xilinx, 2006)

Inisialisasi, konfigurasi dan tampilan LCD

Ada tiga bagian pokok menggunakan LCD, pertama menginisialisasi 4 bit antarmuka, kedua menset pilihan tampilan dan ketiga menulis data karakter.

Inisialisasi

  1. Menunggu sedikitnya 15 ms (750,000 clock cycles) pada 50 MHz.
  2. Tulis SF_D<11:8> = 0x3, pulsa LCD_E High selama 12 clock cycles.
  3. Tunggu sedikitnya 4.1 ms (205,000 clock cycles) pada 50 MHz.
  4. Tulis SF_D<11:8> = 0x3, pulsa LCD_E High selama 12 clock cycles.
  5. Tunggu sedikitnya 100 μs (5,000 clock cycles) pad 50 MHz.
  6. Tulis SF_D<11:8> = 0x3, pulsa LCD_E High selama 12 clock cycles.
  7. Tunggu sedikitnya 40 μs (2,000 clock cycles) pada 50 MHz.
  8. Tulis SF_D<11:8> = 0x2, pulsa LCD_E High selama 12 clock cycles.
  9. Tunggu sedikitnya 40 μs (2,000 clock cycles) pada 50 MHz.

Konfigurasi

  1. Membuat perintah Function Set, 0x28, mengkonfigurasi tampilan untuk operasi panjang data antarmuka, jumlah garis tampilan dan jenis huruf. Spartan-3E Starter Kit mendukung set fungsi tunggal dengan nilai 0x28.
  2. Membuat perintah Entry Mode Set command, 0x05, untuk menset tampilan agar pointer alamat naik secara otomatis (DB1=1), sedangkan DB1=0, jika pointer alamat turun secara otomatis. Jika DB0=0 maka akan men-disable pergeseran karakter dan jika DB=1 maka akan menggeser seluruh karakter yang ditampilkan.
  3. Membuat perintah Display On/Off, 0x0C, untuk mengubah hidup dan matinya kursor dan blinking tampilan. Jika DB2=0 maka tidak ada karakter yang akan ditampilkan, sedangkan jika DB2=1 maka karakter yang tersimpan pada DD RAM akan ditampilkan. Jika DB1=0 maka kursor tidak tertampil namun jika DB1=1 maka kursor akan ditampilkan. Jika DB0=0 maka tidak ada cursor blinking dan jika DB0=1 maka cursor akan hidup dan mati sekitar setengah detik.
  4. Membuat perintah Clear Display untuk menghapus tampilan, kemudian membuat tunda sebesar 1.64 ms (82,000 clock cycles).

Post Author: ferrywahyu

My name is Ferry Wahyu Wibowo. I’m interested in the research field of intelligent reconfigurable systems. This field is combination between artificial intelligent and reconfigurable computing. Nama saya Ferry Wahyu Wibowo. Saya tertarik dalam bidang penelitian sistem yang dapat direkonfigurasi cerdas. Bidang ini merupakan kombinasi antara kecerdasan buatan dan komputasi yang dapat direkonfigurasi.

Leave a Reply

Your email address will not be published.