BAB II PENJELASAN MENGENAI System-on-a-Chip (SoC) C8051F005 2.1 Pengenalan Mikrokontroler Mikroprosesor adalah sebuah proses komputer pada sebuah IC (Intergrated Circuit) yang di dalamnya terdapat aritmatika, logika dan sistem kontrol yang diperlukan sebagai fungsi pada Central Processing Unit (CPU). Mikroprosesor memiliki sebuah Central Processing Unit (CPU) yang terhubung pada counter, register, dan rangkaian logika yang diperlukan oleh CPU untuk melakukan kerja. CPU adalah komponen utama dari mikroprosesor, di mana suatu aksi perintah 7 diletakkanf F. Perintah operasi mikroprosesor meliputi penambahan (adding), pengurangan (subtracting), perbandingan (comparing) dua nilai dan penjemputan/ pemangilan nilai dari alamat memori. Mikrokontroler adalah pengembangan dari mikroprosesor di mana pada mikrokontroler selain CPU terdapat Random Access Memory (RAM), Read Only Memory (ROM), timer, sumber interupsi dan komunikasi serial. Deskripsi mikrokontroler dapat dilihat pada Gambar 2.1. Instruksi set pada mikrokontroler terbagi menjadi 5 buah subinstruksi yaitu aritmatika, logika, transfer data, 8 manipulasi variabel boolean dan instruksi percabanganf F. Keunggulan mikrokontroler dibandingkan dengan mikroprosesor terletak pada arsitektur perangkat keras, penerapan aplikasi yang mudah dikembangkan dengan perangkat digital lain, dan instruksi set yang memudahkan dalam pengontrolan pengaplikasian I/O. 7 Sumber: The 8051 Microcontroller 8 Sumber: MCS-51 Programmer s Guide and Instruction Set 4
5 Gambar 2.1 Diagram Blok sistem mikrokontroler 2.2 SoC C8051F005 Terintegrasinya semua komponen penyusun suatu sistem elektronika ke dalam suatu single chip atau Integrated Circuit (IC) dinamakan dengan SoC (System-ona-chip). Di dalam satu perangkat SoC terdapat beberapa sistem aplikasi yaitu: 1. Satu atau lebih inti mikrokontroler, atau mikroprosesor, atau DSP (Digital Signal Processing). 2. Blok memori seperti RAM, ROM, Flash memory serta EEPROM. 3. Timing source seperti osilator. 4. Peripheral termasuk timer/counter, power-on reset, dll. 5. Hubungan antar muka eksternal diantaranya komunikasi UART, SPI, I2C dll 6. Sistem Analog yaitu ADC dan DAC. 7. Tegangan teregulasi dan power management. SoC C8051F005 merupakan mikrokontroler yang menggunakan CIP-51 sebagai inti (core) mikrokontroler. SoC ini memiliki keistimewaan-keistimewaan
6 diantaranya: empat buah 16-bit counter/timer, UART, 256 byte internal RAM, 128 byte Special Function Register (SFR), and empat buah port I/O 8 bit, AD/DA 9 Converter 12 Bit F F. Gambaran mengenai fitur dan keistimewaan mikrokontroler ini dapat dilihat pada Diagram blok SoC C8051F005 disajikan pada Gambar 2.1. Gambar 2.2 Diagram blok SoC C8051F005 2.2.1 Mikrokontroler CIP-51 Inti (core) mikrokontroler CIP-51 digunakan pada SoC C8051F005. Set instruksi CIP-51 memiliki kompatibilitas dengan MCS-51. Bahasa assembler standar 803x/805x dan compiler dapat digunakan untuk mengembangkan perangkat lunak. CIP-51 memiliki semua peripheral standar 8052, empat buah counter/timer 16-bit, UART, 256 byte RAM internal, 128 byte alamat SFR dan empat buah terminal I/O. Mikrokontroler CIP-51 menggunakan arsitektur MCU yang secara luas dapat meningkatkan kinerja instruksi melebihi arsitektur standar 8051. Pada standar 9 Sumber: Mixed signal 32KB ISP flash MCU family, C8051F000/1/2/5/6/7 data sheet, Silicon Laboratories.
7 10 8051, semua instruksi kecuali MUL dan DIVF F membutuhkan 12 atau 24 kali siklus sistem clock untuk mengeksekusi pada sistem clock maksimum yang digunakan sebesar 12 sampai 24 MHz. Sedangkan CIP-51 mengeksekusi 70% dari tiap instruksi pada satu atau dua siklus sistem clock. Pada sistem clock 11 maksimum sebesar 25MHz, CIP-51 memiliki puncak pada 25 MIPSF F. 2.2.2 Analog to digital converter SoC C8051F005 memiliki ADC 12 Bit yang dilengkapi dengan 9 kanal input multiplekser dan gain amplifier yang dapat diprogram. Kecepatan pembacaan maksimum dari ADC ini adalah 100 ksps (kilo sampling per second) dengan kesalahan pembacaan ±1LSB. Pengaturan ADC dan data hasil pengukuran dilakukan oleh CIP-51 melalui SFR (Special Function Register). Multiplekser yang digunakan sebagai masukan sebanyak delapan buah dan satu buah input tambahan untuk aplikasi sensor suhu yang terdapat pada SoC. Data hasil pengukuran dapat dikuatkan dengan menggunakan gain amplifier yang dapat diprogram mulai dari 0.5 sampai 16 kali penguatan. Diagram blok ADC dapat dilihat pada Gambar 2.3. Gambar 2.3 Diagram blok Analog to Digital Converter 10 MUL dan DIV adalah salah satu instruksi pemrograman untuk perkalian dan pembagian 11 MIPS (Million Instruction Per Second)
8 Tegangan reverensi yang digunakan pada aplikasi ADC dapat dipilih sesuai dengan penggunaan. Vref internal yang terdapat pada SoC sebesar 2.4 volt. 2.2.3 Komparator dan digital to analog converter SoC C8051F005 memiliki dua buah DAC 12 bit dan dua buah opamp yang di fungsikan sebagai komparator. Data dan kontrol interface tiap masing-masing komparator dan DAC melalui SFR (Special Function Register). Komparator analog yang terdapat pada MCU memiliki perangkat lunak histeresis yang dapat diprogram. Untuk fitur DAC aplikasinya sama dengan aplikasi DAC yang biasa digunakan. Vref yang digunakan sebesar 2.4 volt. Diagram blok dari aplikasi DAC dan komparator dapat dilihat pada Gambar 2.4. Gambar 2.4 Diagram blok aplikasi komparator dan DAC 2.2.4 Organiasasi memori CIP-51 yang digunakan pada SoC ini memiliki standar 8051 pada konfigurasi program dan data alamat. Pada SoC C8051F005 terdapat 256 byte RAM yang terbagi menjadi dua bagian, masing-masing sebanyak 128 byte. Bagian pertama yaitu 128 RAM bagian atas, bagian ini dipetakan menjadi dua fungsi yaitu pengalamatan tak langsung dan SFR (Special Function Register). Bagian kedua yaitu 128 byte bagian bawah, dapat diakses baik secara pengalamatan langsung maupun tak langsung. 32 kbyte pertama merupakan 4 bank dari Register umum
9 yang dapat dialamati dan 16 byte berikutnya merupakan bit/byte yang dapat dialamati. CIP-51 pada SoC C8051F005 juga memiliki blok 2048 byte pada memori data eksternal. Blok 2048 byte ini dapat dialamati sampai 64 kbyte pada tempat data memori eksternal. Peta memori dari SoC C8051F005 dapat dilihat pada Gambar 2.5. Program memori pada SoC ini terdapat memori Flash sebanyak 32k+128 byte. Memori ini dapat diprogram ulang pada 512 byte (ISP/In system program). Gambar 2.5 Peta memori pada SoC C8051F005 2.2.5 Pemrograman I/O dan crossbar Sama halnya dengan mikrokontroler keluarga MCS-51 yang memiliki empat buah port (0, 1, 2 dan 3). Kaki-kaki pada SoC C8051F005 juga memiliki fungsi yang sama, dapat digunakan untuk keluaran dan masukan. Setiap kaki port I/O dapat dikonfigurasi sebagai keluaran puss-pull atau open-drain. Selain itu weak pullup, yang biasa digunakan pada mikrokontroler MCS-51 dapat tidak diaktifkan secara global, hal ini bertujuan untuk mengurangi penggunaan konsumsi daya (power).
10 Keunikan pada SoC C8051F005 adalah adanya digital crossbar. Digital crossbar merupakan digital switch yang diprogram sebagai saklar untuk mengaktifkan port yang akan digunakan. Disebabkan SoC ini memiliki banyak fitur dan aplikasi, maka digital crossbar ini difungsikan untuk mengatur prioritas aplikasi yang digunakan. Diagram digital crossbar dapat dilihat pada Gambar 2.6 dan tabel prioritas crossbar dapat pada Tabel 2.1. Gambar 2.6 Diagram Digital Crossbar Tabel 2.1 Tabel Prioritas Crossbar 2.2.6 Protokol komunikasi SoC C8051F005 memiliki tiga buah protokol komunikasi utama yang dapat dihububungkan dengan komponen lain. Ketiga protokol tersebut yaitu Serial Peripheral Interface (SPI), System Management Bus (SMBus) atau Inter integrated Circuit (I2C), dan Universal Asynchronous Receiver Transmitter (UART).
11 Hubungan antarmuka UART digunakan pada komunikasi serial menggunakan RS232, komunikasi ini dihubungkan pada port serial komputer. Komunikasi SMBus atau I2C merupakan komunikasi yang menggunakan dua buah kabel sebagai jalur komunikasi data. Komunikasi SPI menggunakan lima buah jalur data sebagai media komunikasi. Pada komunikasi SPI dan SMBus/I2C memungkinkan pengontrolan divais komponen lebih dari satu dengan mengeset master dan slave pada pemrograman mikrokontroler. 2.3 Program downloader Pada mikrokontroler AT89S52 untuk mengisi program ke IC mikrokontroler dapat dilakukan dengan komunikasi serial atau dengan komunikasi SPI melalui kaki-kaki tertentu pada paralel port komputer. Sedangkan pada PIC menggunakan komunikasi serial untuk mengisi program ke IC mikrokontroler. Berbeda dengan kedua mikrokontroler tersebut, SoC C8051F005 menggunakan komunikasi JTAG untuk memasukkan program ke dalam mikrokontroler. Kelebihan dari komunikasi ini adalah cepat serta non-intrusive atau data yang akan diprogram tidak akan mengganggu program lain. Deskripsi hubungan antarmuka antara komputer dengan SoC Trainer melalui serial adapter EC2 dapat dilihat pada Gambar 2.1. Gambar 2.7 Koneksi pengisian program ke IC SoC C8051F005
12 2.4 Kelebihan SoC C8051F005 Keunggulan-keunggulan SoC C8051F005 dapat dilihat pada fitur digital, fitur analog, kapasitas memori, sumber interupsi, dan ukuran serta bentuk IC yang kecil. Pada fitur digital, jika dibandingkan dengan MCU AT89S8252, SoC C8051F005 unggul pada perangkat protokol komunikasi yang lebih lengkap (SMBus/I2C, dan JTAG). Sama halnya dengan PIC16F877, protokol komunikasi tidak dilengkapi dengan JTAG dan pada komunikasi SPI hanya bisa berperan sebagai master. MCU AT89S8252 dan PIC16F877 hanya memiliki tiga buah timer dan tidak dilengkapi dengan fasilitas PCA. Fitur analog SoC C8051F005 terdapat ADC 12 bit dengan multiplekser 8 kanal ditambah dengan satu sensor suhu internal, dua buah DAC 12 bit dan dua buah komparator analog. Pada MCU AT89S8252 tidak memiliki fitur analog, fitur analog yang dimiliki PIC16F877 berupa ADC 10 bit dengan multiplekser 8 buah kanal. Dibandingkan dengan AT89S8252 dan PIC16F877, kapasitas memori SoC C8051F005 lebih besar yaitu Flash memory sebesar 32 kb dan internal RAM sebesar 2304 byte. Pada sumber interupsi, AT89S8252 memiliki 9 buah sumber, PIC16F877 memiliki 12 sumber, sedangkan SoC C8051F005 memiliki 21 sumber interupsi. Mikrokontroler memiliki kekurangan dan kelebihan masing-masing. Pada Tabel 2.1 dapat dilihat perbandingan fitur-fitur dari mikrokontroler yang digunakan di Laboratorium Elektronika dan Instrumentasi Fisika.
13 Tabel 2.2 Perbandingan kelebihan dan kekurangan mikrokontroler C8051F005, AT89S8252, dan PIC16F877 Perintah program untuk keluarga MCS-51 memiliki 111 set intruksi dan untuk keluarga Microchip (PIC) merupakan jenis RISC (Reduced Instructions Set Computer) memiliki 35 set instruksi sedangkan pada SoC C8051F005 yang menggunakan MCU CIP-51 memiliki 109 instruksi set.