Perancangan Tampilan LCD menggunakan FPGA Spartan 3E Starter Kit

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 (Xilinx, 2006)

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 (Xilinx, 2006)

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 (Xilinx, 2006)

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).

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s