Anda di halaman 1dari 14

Konsep Mikrokontroler

Pendahuluan Mikrokontroler adalah salah satu dari bagian dasar dari suatu sistem komputer. Meskipun mempunyai bentuk yang jauh lebih kecil dari suatu komputer pribadi dan komputer mainframe, mikrokontroler dibangun dari elemen-elemen dasar yang sama. Secara sederhana, komputer akan menghasilkan output spesifik berdasarkan inputan yang diterima dan program yang dikerjakan. Seperti umumnya komputer, mikrokontroler adalah alat yang mengerjakan instruksi-instruksi yang diberikan kepadanya. Artinya, bagian terpenting dan utama dari suatu sistem terkomputerisasi adalah program itu sendiri yang dibuat oleh seorang programmer. Program ini menginstruksikan komputer untuk melakukan jalinan yang panjang dari aksi-aksi sederhana untuk melakukan tugas yang lebih kompleks yang diinginkan oleh programmer.

Sistem Input Komputer Piranti input menyediakan informasi kepada sistem komputer dari dunia luar. Dalam sistem komputer pribadi, piranti input yang paling umum adalah keyboard. Komputer mainframe menggunakan keyboard dan pembaca kartu berlubang sebagai piranti inputnya. Sistem dengan mikrokontroler umumnya menggunakan piranti input yang jauh lebih kecil seperti saklar atau keypad kecil. Hampir semua input mikrokontroler hanya dapat memproses sinyal input digital dengan tegangan yang sama dengan tegangan logika dari sumber. Level nol disebut dengan VSS dan tegangan positif sumber (VDD) umumnya adalah 5 volt. Padahal dalam dunia nyata terdapat banyak sinyal analog atau sinyal dengan tegangan level yang bervariasi. Karena itu ada piranti input yang

mengkonversikan sinyal analog menjadi sinyal digital sehingga komputer bisa mengerti dan menggunakannya. Ada beberapa mikrokontroler yang dilengkapi dengan piranti konversi ini, yang disebut dengan ADC, dalam satu rangkaian terpadu. Sistem Output Komputer Piranti output digunakan untuk berkomunikasi informasi maupun aksi dari sistem komputer dengan dunia luar. Dalam sistem komputer pribadi (PC), piranti output yang umum adalah monitor CRT. Sedangkan sistem mikrokontroler mempunyai output yang jauh lebih sederhana seperti lampu indikator atau beeper. Frasa kontroler dari kata mikrokontroler memberikan penegasan bahwa alat ini mengontrol sesuatu. Mikrokontroler atau komputer mengolah sinyal secara digital, sehingga untuk dapat memberikan output analog diperlukan proses konversi dari sinyal digital menjadi analog. Piranti yang dapat melakukan konversi ini disebut dengan DAC (Digital to Analog Converter). CPU (Central Processing Unit) CPU adalah otak dari sistem komputer. Pekerjaan utama dari CPU adalah mengerjakan program yang terdiri atas instruksi-instruksi yang diprogram oleh programmer. Suatu program komputer akan menginstruksikan CPU untuk membaca informasi dari piranti input, membaca informasi dari dan menulis informasi ke memori, dan untuk menulis informasi ke output. Dalam mikrokontroler umumnya hanya ada satu program yang bekerja dalam suatu aplikasi. CPU M68HC05 mengenali hanya 60 instruksi yang berbeda. Karena itu sistem komputer ini sangat cocok dijadikan model untuk mempelajari dasar dari operasi komputer karena dimungkinkan untuk menelaah setiap operasi yang dikerjakan. Clock dan Memori Komputer Sistem komputer menggunakan osilator clock untuk memicu CPU mengerjakan satu instruksi ke instruksi berikutnya dalam alur yang berurutan. Setiap langkah kecil dari operasi mikrokontroler memakan waktu satu atau beberapa clock untuk melakukannya. Ada beberapa macam tipe dari memori komputer yang digunakan untuk beberapa tujuan yang berbeda dalam sistem komputer. Tipe dasar yang sering ditemui dalam mikrokontroler adalah ROM (Read Only Memory) dan RAM (Random Access Memory). ROM digunakan sebagai media penyimpan program dandata permanen yang tidak boleh berubah meskipun tidak ada tegangan yang diberikan pada mikrokontroler. RAM digunakan sebagai tempat penyimpan data sementara dan hasil kalkulasi selama proses operasi. Beberapa mikrokontroler mengikutsertakan tipe lain dari memori seperti EPROM (Erasable Programmable Read Only Memory) dan EEPROM (Electrically Erasable Programmable Read Only Memory).

Program Komputer Program digambarkan sebagai awan karena sebenarnya program adalah hasil imajinasi seorang programmer. Komponen utama dari program adalah instruksi-instruksi dari instruksi set CPU. Program disimpan dalam memori dalam sistem komputer di mana mereka dapat secara berurutan dikerjakan oleh CPU. Sistem Mikrokontroler Setelah dipaparkan bagian-bagian dari suatu sistem komputer, sekarang akan dibahas mengenai mikrokontroler. Digambarkan sistem komputer dengan bagian yang dikelilingi oleh garis putusputus. Bagian inilah yang menyusun mikrokontroler. Bagian yang dilingkupi kotak bagian bawah adalah gambar lebih detail dari susunan bagian yang dilingkupi garis putus-putus. Kristal tidak termasuk dalam sistem mikrokontroler tetapi diperlukan dalam sirkuit osilator clock. Suatu mikrokontroler dapat didefinisikan sebagai sistem komputer yang lengkap termasuk sebuah CPU, memori, osilator clock, dan I/O dalam satu rangkaian terpadu. Jika sebagian elemen dihilangkan, yaitu I/O dan memori, maka chip ini akan disebut sebagai mikroprosesor.

Memori & I/O Paralel


Pendahuluan Ide dasar dari semua memori adalah kemampuan untuk menyimpan informasi. Tentu saja informasi yang disimpan dapat dipanggil atau diolah kembali bila diperlukan. Sebagai analogi, memori dimisalkan sebagai sekelompok kotak surat dalam suatu apartemen yang besar. Seseorang dapat meletakkan informasi dalam suatu kotak surat dengan nomor tertentu yang tertera. Jika pemilik ingin mengambil informasi tersebut, pemilik dapat melihat ke kotak suratnya dengan nomor yang tepat dan mengambil informasinya. Dalam CPU 8 bit, setiap kotak surat dalam analogi di atas terdiri dari delapan set saklar on-off. Data atau informasi yang diberikan merupakan kondisi dari setiap saklar. Setiap saklar hanya ada dua kondisi yaitu on dan off, sehingga informasi yang terkandung di dalamnya adalah kombinasi on-off. Dalam delapan saklar tersebut, setiap saklar mewakili satu digit biner (bit). Bit satu mewkili saklar on dan bit nol mewakili saklar off. Setiap satu set 8 saklar mempunyai alamat spesifik sehingga penulisan dan pembacaan data dapat dilakukan dengan tepat dan benar. Dalam analogi, apartemen dapat memiliki nomor kotak surat 100-175 untuk lantai pertama dan 200-275 untuk lantai kedua. Angka desimal ini menggambarkan jumlah orang yang memiliki kotak surat. Karena komputer bekerja dengan sistem biner, maka jumlah alamat dari data di memori merupakan kelipatan dua dari jalur alamat. Misalkan suatu komputer mempunyai empat jalur alamat, maka dia mempunyai 24 atau 16 alamat karena empat bit biner mempunyai kombinasi 16 buah. Komputer ini akan memetakan 16 alamat dari $0 sampai $F. Dalam mikrokontroler MC68HC05 terdapat sepuluh jalur alamat sehingga didapatkan 1024 lokasi memori. Sedangkan mikrokontroler MC68HC11 memiliki 16 jalur alamat sehingga dapat mengalamati 65536 lokasi memori.Komputer 8-bit dengan sepuluh jalur alamat akan mempunyai peta memori dengan 1024 alamat dan masing-masing alamat memiliki 8 bit data. Alamat pertama dari lokasi memori adalah 00 0000 00002 dan alamat akhir 11 1111 11112. Sepuluh bit alamat tersebut pada umumnya dinyatakan dalam heksadesimal, sehingga jangkauan alamat memori tersebut menjadi $0000 sampai $03FF.Komputer menentukan lokasi memori mana yang akan digunakan dengan meletakkan kombinasi biner pada 10 jalur alamat kemudian mengirimkan sinyal read atau write. Hasilnya, informasi yang diinginkan pada alamat memori tertentu di atas akan muncul dalam delapan jalur data. Jenis-jenis Memori Komputer menggunakan beberapa jenis informasi sehingga membutuhkan beberapa jenis

memori yang berbeda. Instruksi-instruksi yang mengontrol operasi dari mikrokontroler disimpan dalam memori non-volatile sehingga jika sistem tidak perlu diprogram ulang jika daya sistem hilang. Variabel dan hasil sementara bisa disimpan dalam memori yang dapat ditulis dengan mudah dan cepat saat operasi sedang berlangsung. Tidaklah penting untuk terus mengingat informasi yang ditulis saat tidak ada daya (volatile). RAM (Random Access Memory) adalah suatu bentuk memori volatile yang dapat dibaca dan ditulis oleh CPU. Seperti definisinya, lokasi RAM dapat diakses dalam berbagai urutan (random). Memori jenis ini adalah yang paling umum digunakan oleh komputer pribadi. RAM membutuhkan area chip yang lebih lebar dibandingkan dengan ROM, sehingga RAM yang diikutsertakan dalam sistem mikrokontroler hanyalah sebagian kecil saja. ROM (Read Only Memory) diisi saat proses produksinya. Informasi yang dituliskan harus dipesan oleh pelanggan sebelum chip diberikan. Dalam sistem mikrokontroler, informasi ini dapat dibaca oleh CPU tetapi tidak dapat dirubah. ROM adalah memori yang paling sederhana, kecil, dan murah. PROM (Programmable ROM) mirip dengan ROM kecuali bahwa dia dapat diprogram setelah proses pembuatah chip. Beberapa variasi dari PROM adalah EPROM, OTP, dan EEPROM. EPROM (Erasable PROM) dapat dihapus dengan menyinarinya dengan cahaya ultraviolet. Mikrokontroler yang EPROM-nya bisa dihapus memiliki jendela kecil tempat proses penyinaran dilakukan. Jumlah proses penghapusan yang diijinkan terbatas tergantung pada beberapa tipe. Prosedur khusus digunakan untuk meprogram informasi ke dalam memori EPROM. Kebanyakan mikrokontroler yang memiliki EPROM menggunakan tegangan +12 volt DC saat operasi penulisan EPROM. CPU tidak dapat menulis data ke lokasi EPROM seperti halnya penulisan yang dilakukan pada RAM. Beberapa mikrokontroler memiliki rangkaian penulis EPROM yang built-in. OTP (One Time Programming) adalah EPROM yang tidak dilengkapi dengan jendela untuk penyinaran ultraviolet. Walaupun isi dari OTP adalah sama dengan EPROM yang memiliki jendela penghapusan, OTP tidak dapat dihapus karena tidak menyediakan jendela. OTP dipasarkan karena harganya lebih murah daripada EPROM yang berjendela. EEPROM (Electrically EPROM) dapat dihapus secara elektris dengan perintah yang ada dalam mikrokontroler. Agar dapat diprogramkan harga baru ke lokasi memori ini, pertama proses penghapusan harus dilakukan kemudian baru dilaksanakan beberapa langkah pemrograman. Walaupun mirip dengan RAM, tetapi EEPROM tetap memiliki sifat non-volatile dari ROM yang

tidak hilang datanya walaupun daya hilang. I/O Sebagai Tipe Memori Informasi status dan kontrol dari I/O adalah suatu tipe dari lokasi memori yang mengijinkan sistem komputer untuk mendapatkan informasi dari dan ke dunia luar. Tipe lokasi memori ini tidak seperti memori pada umumnya karena informasi yang ada dapat berubah karena pengaruh selain dari CPU. Jenis paling sederhana dari lokasi memori I/O adalah port input dan port output sederhana. Dalam mikrokontroler 8-bit, port input sederhana terdiri dari delapan kaki yang dapat dibaca oleh CPU. Port output sederhana terdiri dari delapan kaki yang dapat dikontrol oleh CPU. Dalam kenyataannya, port output sederhana diimplementasikan dengan delapan latch dan jalur feedback yang memungkinkan CPU untuk membaca kembali apa yang sebelumnya ditulis ke port output. Gambar di bawah memperlihatkan rangkaian ekuivalen dari satu bit RAM, satu bit port input, dan satu bit port output yang umum dan memiliki kemampuan membaca kembali. Dalam mikrokontroler nyata, rangkaian ini ada delapan untuk membentuk delapan bit RAM, port input, dan port output. Saat snyal clock high, data dari input D menuju output Q. Saat input clock low, data ditahan pada kaki output Q.

Saat CPU menyimpan informasi ke dalam RAM dalam gambar (a), sinyal WRITE diaktifkan untuk menahan data dari jalur data bus ke dalam flip-flop [1]. Latch ini akan terus mengingat data yang telah diberikan sampai terjadi proses penulisan kembali atau jika daya dihilangkan. Saat CPU membaca data dalam RAM ini, sinyal READ diaktifkan, yang kemudian mengaktifkan multiplekser [2]. Multiplekser ini membuat data dari output latch muncul kembali ke jalur data bus. Saat CPU membaca data dari port input seperti pada gambar (b), sinyal READ diaktifkan, yang akan mengaktifkan multiplekser [3]. Multiplekser ini akan mengirimkan data yang ada dalam buffer ke jalur data bus. Sinyal write tidak mempunyai pengaruh dalam rangkaian ini. Saat CPU menyimpan data ke port output seperti pada gambar (c), sinyal WRITE diaktifkan untuk menahan data dari data bus menuju ke flip-flop [4]. Output dari latch ini, yang di-buffer oleh buffer driver [5], muncul sebagai harga digital pada kaki output. Saat CPU akan membaca data dari port output, sinyal READ diaktifkan, yang akan mengaktifkan multiplekser [6]. Multiplekser ini akan menyalurkan data dari output flip-flop ke jalur data bus. Register Kontrol dan Status Internal Register kontrol dan status internal adalah lokasi memori I/O yang spesial. Di samping aksi sensor dan pengontrolan kaki eksternal, register ini juga melakukan aksi sensor dan pengontrolan sinyal level logika internal. Lihat gambar dan bandingkan antara RAM dengan port output. Perbedaan yang tampak hanyalah bahwa port output memiliki buffer untuk menghubungkan state dari flip-flop ke kaki eksternal. Dalam kasus bit kontrol internal, output dari buffer terhubung dengan sinyal kontrol internal tertentu. Suatu bit status internal mirip dengan bit port input tetapi bit status ini hanya melakukan aksi sensor terhadap sinyal register internal. Mikrokontroler M68HC05 memiliki kaki-kaki I/O paralel. Arah jalur dari setiap kaki dapat diprogram dengan bit kontrol melalui software. Gambar di bawah menggambarkan I/O dua arah (bi-directional) dengan latch output dan bit kontrol arah data. Kaki suatu port dikonfigurasi sebagai output jika bit DDR (Data Direction Register) yang bersesuaian diset menjadi logika satu. Suatu kaki dikonfigurasi sebagai input jika bit DDR yang bersesuaian diset menjadi logika nol. Saat pertama kali dihidupkan atau saat reset, semua bit DDR dinolkan, sehingga konfigurasi semua kaki port adalah sebagai input. DDR ini dapat ditulis dan dibaca oleh prosesor.

Peta Memori Karena terdapat ribuan dan bahkan lebih lokasi memori dalam suatu sistem mikrokontroler, menjadi penting untuk memiliki cara yang enak untuk menangani alamat masing-masing data dalam memori. Suatu peta memori adalah penggambaran yang mewakili semua spasi dalam memori mikrokontroler. Gambar di bawah adalah peta memori umum yang menggambarkan memori dalam MC68HC705K1. Empat digit heksadesimal yang terletak pada bagian kiri dari gambar di bawah adalah alamat yang dimulai pada $0000 di atas dan terus bertambahsampai $03F di bagian bawah. Alamat $0000 berhubungan dengan awal lokasi memori sedangkan alamat $03FF berhubungan dengan lokasi memori akhir. Sedangkan ketrangan dalam kotak menunjukkan macam tipe dari memori dan isinya (RAM, EPROM, register I/O, dan sebagainya). Beberapa daerah, seperti register I/O, perlu dijelaskan lebih detail karena penting untuk mengetahui nama dari setiap lokasi. Lokasi memori 256 pertama ($0000-$00FF) dapat diakses oleh komputer dengan cara khusus yang sebut dengan mode pengalamatan langsung (direct addressing mode). Register I/O on-chip dan 32 byte RAM terletak dalam area $0000-$00FF. Dalam peta memori pada gambar di bawah terlihat konfigurasi penempatan pada area ini yang dipaparkan dalam kotak yang terletak di sebelah kanan.

Periperal On-Chip

Port Serial Beberapa keluarga M68HC05 memiliki periperal yang memungkinkan CPU untuk berkomunikasi secara serial dengan piranti eksternal. Dengan menggunakan format bit serial akan membutuhkan lebih sedikit kaki I/O daripada secara paralel. Dua tipe dasar dari port serial yang ada dalam keluarga M68HC05 adalah SCI (Serial Communication Interface) dan SPI (Serial Peripheral Interface). Port SCI adalah sebuah UART (Universal Asynchronous Receiver Transmitter) yang berkomunikasi secara asinkron dengan piranti lain. Tipe port serial ini membutuhkan interface hardware yang paling sederhana. Hanya dua kaki yang digunakan untuk transfer data secara dua arah. Data ditransmisikan oleh mikrokontroler dalam satu pin dan data diterima oleh mikrokontroler dalam pin yang lain. Setiap bagian data yang ditransmisikan atau diterima oleh SCI memiliki start bit, beberapa data bit, dan stop bit. Start dan stop bit ini digunakan untuk mensinkronkan komunikasi antara dua piranti. Tipe interface serial seperti ini sering digunakan jika suatu mikrokontroler harus berkomunikasi melalui jarak yang cukup jauh. Dengan menggunakan konektor RS-232 yang terkoneksi dalam kaki transmisi dan penerima, SCI dapat digunakan untuk berkomunikasi dengan PC (personal computer) atau dengan komputer lain yang lebih besar. Seperti namanya, port SPI digunakan untuk berkomunikasi dengan periperal eksternal secara sinkron dengan peralatan lain dalam dua arah yang membutuhkan setidaknya 3 kaki mikrokontroler. Satu kaki untuk transmiter, satu kaki untuk penerima, dan satu kaki yang lain untuk clock sinkronisasi. Tipe interface serial ini biasanya digunakan untuk berkomunikasi dengan periperal dalam satu board dengan mikrokontroler. ADC (Analog to Digital Converter) Seperti telah dijelaskan di bab-bab awal bahwa banyak sinyal yang ada dalam dunia nyata yang tidak kompatibel dengan kaki-kaki I/O dari mikrokontroler. Dalam kenyataannya, banyak sinyal

analog yang berubah-ubah secara kontinu yang tidak dapat diterjemahkan langsung ke logika satu atau logika nol yang dapat dimengerti oleh mikrokontoler. Oleh karena itu beberapa anggota keluarga M68HC05 memiliki suatu piranti ADC yang dapat mengkonversi sinyal analog menjadi angka biner yang dapat dimanipulasi oleh mikrokontroler. EEPROM Karena EEPROM adalah tipe memori, banyak yang tidak memperhitungkannya sebagai bagian dari periperal mikrokontroler. Isi dari EEPROM dapat dirubah saat program berjalan dan tidak hilang walaupun daya dimatikan. Beberapa keluarga dari mikrokontroler M68HC05 memiliki memori EEPROM ini dalam satu chip. Timer Pada gambar 6.1 di bawah ini menunjukkan blok diagaram dari MC68HC705K1 timer multifungsi. Timer ini terdiri dari tiga seksi yang terkoneksi di mana masing-masing mengerjakan fungsi timing yang terpisah.

Pengerjaan timing dimulai dengan clock internal bus dari mikrokontroler, yaitu clock E. Clock E ini berasal dari frekuensi kristal dibagi dua. Clock E ini digunakan untuk mengendalikan prescaler pembagi empat. Dalam gilirannya, output dari clock prescaler ini adalah pencacah 8 bit. Nilai dari counter ini dapat dibaca oleh CPU setiap waktu pada lokasi memori alamat $09, yaitu pada TCR (Timer Counter Register). Walaupun terlihat seperti timer yang sederhana, timer ini sangat berguna dalam aplikasi. Saat pencacah 8-bit overflow dari $FF menuju $00, status bit TOF

(Timer Overflow Flag) di dalam TCSR (Timer Control and Status Register) akan diset menjadi satu. State dari flag status ini dapat dites setiap waktu oleh beberapa instruksi CPU. Jika bit TOEI (Timer Overflow Interrupt Enable) dalam TCSR diset, maka saat pencacah overflow akan membangkitkan interrupt CPU. Pencacah akan overflow setiap 1024 siklus clock E. Di samping menyediakan interrupt yang periodik dan potensial, output dari pencacah 8-bit menghasilkan input untuk pencacah 7-bit tambahan. Output dari empat bit terakhir dari pencacah ini dapat digunakan untuk membangkitkan interrupt lain yang juga periodik. Salah satu dari kecepatan interrupt yang diinginkan dapat dipilih dengan menggunakan salah satu dari empat selektor yang dikontrol oleh dua bit kontrol RT1 dan RT0 di dalam TCSR. Tabel 6.1 di bawah ini menunjukkan kecepatan interrupt real-time yang tersedia jika beroperasi dengan mikrokontroler pada clock E berfrekuensi 2.0 MHz. Kecepatan Timer RTI dan COP (Clock E=2.0 MHz)

RT1 0 0 1 1

RT0 0 1 0 1

Kecepatan RTI 8.2ms 16.4ms 32.8ms 65.5ms

Perioda Minimum COP Reset 57.3ms 114.7ms 229.4ms 458.8ms

COP (Computer Operating Properly) Stage akhir dari sistem timer multifungsi ini memiliki pencacah 3-bit yang membentuk sistem watchdog COP (Computer Operating Properly). Sistem COP ini dimaksudkan untuk memproteksi sistem dari kegagalan software. Jika diaktifkan, rentetan proses reset COP harus dilakukan sebelum melewati perioda time-out sehingga COP tidak akan time-out. Jika COP time-out akan mereset mikrokontroler. Untuk menghindari COP dari time-out dan mereset mikrokontroler, bit 0 pada lokasi memori $03F0 (COPR) harus ditulis dengan logika 0 sebelum COP time-out. Karena input dari timer COP berhubungan dengan output dari rangkaian interrupt timer, maka merubah kecepatan RTI akan juga berakibat perubahan terhadap waktu reset dari COP.

DAFTAR FUSTAKA http://members.tripod.com/mikrokontroler/6805/bab2.htm

Anda mungkin juga menyukai