BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah Sebuah embedded system berbasis mikrokontroller umumnya memiliki pilihan tampilan keluaran yang terbatas. Jenis tampilan yang biasa digunakan adalah LCD dot-matrix karakter atau grafik dengan ukuran yang kecil. Modul yang biasa dipakai adalah LCD dot matrix karakter dengan ukuran 16x2 atau 16x4 Kedua modul tersebut memiliki kekurangan yaitu ukuran display dan resolusi yang kecil, akibatnya informasi yang ditampilkan sangat sedikit. Solusi potensial untuk masalah tersebut adalah dengan menggunakan monitor komputer. Monitor komputer umumnya berukuran minimal 17 inchi sehingga bisa menampilkan lebih banyak informasi. Menggunakan monitor komputer sebagai tampilan keluaran memiliki keuntungan dari segi biaya dan lingkungan. Monitor komputer termasuk barang consumer electronic sehingga tersedia di hampir semua toko perlengkapan komputer dan harganya murah karena diproduksi dalam jumlah besar. Kebalikannya, modul LCD 16x2 hanya tersedia di beberapa toko komponen elektronik. Dari segi lingkungan, menggunakan monitor komputer sebagai tampilan untuk embedded system berpotensi dapat mengurangi sampah elektronik. Karena perkembangan teknologi, banyak monitor dengan resolusi 640x480 piksel tidak bisa dipakai lagi. Contohnya adalah sistem operasi terbaru seperti Windows 8 yang mensyaratkan resolusi minimal 1024x768. Sekalipun monitor dengan resolusi 1 640x480 sudah tidak mampu mengakomodasi kebutuhkan komputer modern, akan tetapi masih cukup memadai untuk embedded system. Untuk menggunakan monitor komputer dibutuhkan suatu controller yang mampu membangkitkan sinyal-sinyal yang dibutuhkan. Controller ini biasanya berbentuk kartu ekspansi dan biasa disebut VGA Card seperti yang ditunjukkan pada gambar Gambar 1-1. VGA Card kemudian berkomunikasi dengan prosesor di komputer menggunakan bus berkecepatan tinggi seperti PCI-E. Blok diagram dari sistem ini ditunjukkan oleh Gambar 1-2 Gambar 1-1. VGA Card untuk komputer personal 2 Gambar 1-2. Blok diagram komputer personal Sebuah embedded system juga membutuhkan VGA Card untuk dapat menggunakan monitor , akan tetapi tidak adanya dukungan bus berkecepatan tinggi pada embedded system seperti mikrokontroller membuat mikrokontroller tidak bisa menggunakan VGA card yang didesain untuk komputer personal. Sehingga dibutuhkan sebuah VGA controller yang didesain khusus untuk digunakan oleh mikrokontroller. Blok diagram dari sistem ini ditunjukkan oleh Gambar 1-3. Gambar 1-3. Blok diagram embedded system dengan VGA card. Protokol komunikasi dengan embedded system menggunakan protokol yang hanya membutuhkan sedikit pin dan dengan kecepatan yang relatif rendah. Hal ini memiliki tujuan agar VGA controller tidak terlalu membebani embedded system dari sisi kemampuan komputasi dan sumber daya fisik seperti jumlah pin. Protokol tersebut dapat berupa SPI, UART atau I2C yang umum terdapat di mikrokontroller 3 paling rendah sekalipun. 1.2. Perumusan Masalah Standar VGA adalah standar monitor tanpa buffer. Artinya VGA controller harus mengirimkan data secara terus menerus sekalipun informasi yang ditampilkan di monitor tidak berubah. Data yang dikirim juga harus memenuhi spesifikasi pewaktuan standar VGA yang ketat. Pada pengembangan embedded system dengan design tool, pada umumnya pemrograman dilakukan dengan bahasa C dimana konsistensi pewaktuan tidak diprioritaskan. Mengingat controller perlu menjalankan 2 fungsi, yaitu membangkitkan sinyal VGA yang memiliki pewaktuan ketat dan berkomunikasi dengan embedded system dengan pewaktuan yang lebih longgar, maka untuk mendapatkan performa pewaktuan yang ketat algoritma controller harus ditulis dalam bahasa level rendah dengan memperhitungkan secara seksama waktu eksekusi masing-masing instruksi. 1.3. Pembatasan Masalah Dengan tujuan untuk memberikan alternative bagi tampilan LCD dot matrix, maka VGA controller yang akan didesain ini dirancang untuk menampilkan karakter ASCII dan tampilan dibatasi berwarna tunggal (monochrome). Protokol komunikasi adalah serial dan dapat berupa salah satu dari UART, SPI atau I2C tergantung mana yang memungkinkan untuk diimplementasikan. Sebuah sistem berbasis Arduino kemudian dirancang untuk berkomunikasi dengan VGA controller dengan tujuan mendemonstrasikan kemampuan controller. Pemrograman Arduino menggunakan bahasa C untuk menunjukkan bahwa sistem 4 yang menggunakan VGA controller ini tidak perlu memiliki timing yang ketat. 1.4. Maksud dan Tujuan Maksud dan Tujuan Tugas Akhir ini adalah: 1) Dapat mempelajari standar VGA dan sinyal-sinyal yang perlu dibangkitan untuk menampilkan informasi di monitor. 2) Dapat mengolah data dari memory internal mikrokontroller agar bisa dikeluarkan dengan berdasar standar VGA 3) Dapat berkomunikasi dengan sistem lain untuk menerima perintah karakter yang perlu ditampilkan. 1.5. Sistematika Penulisan BAB 1 : Pendahuluan Membahas mengenai latar belakang, tujuan, pembatasan masalah serta sistematika penulisan Tugas Akhir BAB 2 : Landasan Teori Membahas tentang standar sinyal VGA dan arsitektur AVR BAB 3 : Perancangan Sistem Membahas strategi dan teknik dalam mengimplementasikan controller BAB 4 : Hasil Pengujian dan Pembahasan Menguji kinerja algoritma controller dan dibandingkan dengan standar pewaktuan VGA secara simulasi 5 Menguji controller dengan monitor VGA dan embedded system untuk diuji fungsionalitasnya BAB 5 : Kesimpulan Membahas kesimpulan-kesimpulan dari pengujian controller dan kemungkinan-kemungkinan pengembangan controller. 6