BAB 2 LANDASAN TEORI 2.1 Pendahuluan Tahun 1969, Intel Corporation yang dipelopori oleh Bob Noice dan Gordon Moore membuat chip-chip memori untuk industri komputer mainframe. Pada tahun 1971, chip mikroprosesor 4040 pertama telah diproduksi oleh Intel untuk sebuah konsorsium dua perusahaan Jepang. Chip 4004 mempunyai 2300 transistor dan merupakan chip 4 bit, Chip-chip ini adalah dasar untuk perancangan kalkulator yang diberi nama Busicom yang merupakan kalkulator portable pertama. Kalkulator ini adalah kalkulator 4 bit yang terdiri dari dua operasi yaitu penambahan dan pengurangan. Chip 4040 ini cukup sukses yang kemudian diikuti oleh mikroprosesor 8 bit pertama yaitu mikroprosesor 8008 dengan 3300 transistor. Ini merupakan mikroprosesor 8 bit sederhana dengan segala keterbatasan sumber daya, kurangnya mekanisme interrupt, multiplexed address dan data busses. Pada awal tahun 1974 Intel mengeluarkan chip mikroprosesor 8 bit pertama yang kaya dengan fitur-fitur, chip ini diberi nama Intel 8080 dengan 6000 transistor yang digunakan sebagai mikroprosesor untuk komputer di rumahrumah. Kesuksesan mikroprosesor 8080 telah membuat perusahaan lain seperti Motorola memperkenalkan chip 8-bit 6800, disbanding dengan 8080 chip ini mempunyai perbedaan arsitektur tetapi meskipun demikian chip ini cukup popular dipasaran. Pada tahun 1976, Zilog memperkenalkan mikroprosesor Z80 yang 7 8 mana chip ini lebih maju dibanding 8080. Hal ini disebabkan instruction set Z80 cocok dengan 8080, dan hal ini pula yang menyebabkan Z80 menjadi mikroprosesor paling sukses dipasaran pada zamannya. Teknologi semikonduktor terus berkembang sehingga memungkinkan manusia untuk membuat piranti semikonduktor yang dapat diprogram (programmable device) sesuai dengan keperluan. Semikonduktor yang termasuk dalam jenis ini antara lain mikroprosesor, mikrokontroller, CPLD (Complex Programmable Logic Device) dan FPGA (Field Programmable Gate Array). Penggunaan piranti yang programmable memiliki keuntungan, terutama dalam hal penekanan biaya, penghematan ruang dan fleksibilitas yang tinggi. Dengan manipulasi software, piranti programmable dapat meminimumkan penggunaan piranti fisik dan mengoptimalkan unjuk kerja sistem. Mikrokontroller merupakan salah satu jenis piranti semikonduktor programmable yang paling diminati. Selain praktis dan murah, mikrokontroller juga mudah untuk diaplikasikan pada berbagai keperluan. Beberapa mikrokontroller yang banyak digunakan adalah 8051 dari Intel, AT89C51 dari Atmel, 68HC11 dari Motorola, PIC16F84 dan PIC16F87x dari Microchip. Mikrokontroller yang akan dibahas pada laporan ini adalah mikrokontroller PIC16F876, salah satu jenis mikrokontroller dari keluarga PICmicro buatan Microchip Technology Inc. 9 2.2 Mikroprosesor dan Mikrokontroller Mikroprosesor yang digunakan sebagai otak suatu PC (Personal Computer) dan mikrokontroller yang lebih banyak digunakan untuk mengendalikan sistem-sistem otomatis yang berdiri sendiri (stand alone) atau tempelan (embedded) seperti mesin fotocopy, remote control, sistem keamanan hingga aplikasi robot. Pada perkembangannya tentu saja berbeda, mikrokontroller tidak berkembang sebagaimana pesatnya perkembangan mikroprosesor. Mikroprosesor ialah suatu chip yang berfungsi sebagai pemroses data dari input yang diterima pada suatu sistem digital. Mikroprosesor paling mudah ditemukan pada komputer CPU (Central Processing Unit). Seiring dengan berkembangnya teknologi mikroprosesor 8 bit dan 16 bit, muncul pula kebutuhan agar perangkat elektronika dapat dikemas sekecil mungkin. Seperti Atari, Nintendo, Sega, dan peralatan hiburan serta peralatan rumah tangga seperti AC dan Audio/Video. Untuk mendukung hal tersebut, tidak dapat dilakukan oleh mikroprosesor standar. Hal ini dikarenakan mikroprosesor membutuhkan komponen eksternal tambahan seperti memori, ADC (pengolah analog ke digital) dan perangkat komunikasi serial. Oleh karena itu dikembangkanlah chip yang di dalam kemasan tersebut sudah terdapat mikroprosesor, I/O pendukung, memori, bahkan ADC yang dikenal dengan istilah mikrokontroler. Mikrokontroller adalah sebuah sistem kontrol komputer yang terdapat pada sebuah chip. Pada chip tersebut terdapat banyak rangkaian elektronik yang dapat membaca setiap sandi (decode) instruksi yang tertulis dan mengkonversinya 10 menjadi sinyal-sinyal listrik. Mikrokontroller akan terus membaca instruksiinstruksi tersebut dan melaksanakannya satu per satu. Instruksi-instruksi yang diberikan pada mikrokontroller disebut program. 2.3 Bagian-Bagian Mikrokontroller Gambar 2.1 Komponen penyusun mikrokontroller. Mikrokontroler dapat disebut sebagai “one chip solution”, pada Gambar 2.1 dapat dilihat suatu mikrokontroler standard yang disusun oleh komponenkomponen sebagai berikut : a. Power b. Microprocessor core/CPU c. Memory Unit d. Internal Data & address Bus e. I/O (Input/Output) Unit 11 f. Pembangkit Clock-Osilator g. Timer/Counter Unit h. Reset/Interrupt i. Piranti tambahan (peripheral) 2.3.1 Power Power adalah rangkaian catu daya (power supply) yang diperlukan oleh mikrokontroller untuk menjalankan seluruh operasinya. 2.3.2 Microprocessor Core/CPU (Central Processing Unit) CPU merupakan pengendali utama dari seluruh aktivitas mikrokontroller. CPU melakukan melakukan koordinasi dengan bagian lain di dalam mikrokontroller. Di dalam mikrokontroller terdapat ALU (Arithmetic and Logic Unit) yang bertugas untuk melakukan perhitungan aritmatika dan logika. Selain itu terdapat juga memori untuk menyimpan data sementara selama proses eksekusi berlangsung. Memori yang terdapat di dalam CPU disebut register. 2.3.3 Memory Unit Memori merupakan bagian dari mikrokontroller yang berfungsi untuk menyimpan data. Ada tiga hal yang perlu diperhatikan mengenai memori, yaitu alamat (lokasi) memori, data dan jalur kendali. Alamat memori adalah lokasi tempat suatu data berada. Data adalah isi dari memori yang diakses, sedangkan jalur kendali adalah jalur yang bersisi perintah CPU, apakah suatu lokasi memori 12 akan dibaca atau akan ditulisi. Menurut sifatnya memori digolongkan menjadi dua: a. Memori yang menguap (Volatile Memory), memori ini akan hilang apabila catu daya dimatikan. Memori jenis ini dikenal juga dengan sebutan RAM (Random Access Memory). b. Memori yang tidak menguap, memori ini tidak akan hilang walaupun catu daya dimatikan dan disebut juga ROM (Read Only Memory). 2.3.4 Internal Data & Address Bus Bus adalah jalur-jalur fisik yang menghubungkan CPU dengan memori atau unit lain dari mikrokontroller. Jalur-jalur tersebut tergabung dalam suatu grup, dan grup inilah yang dinamakan bus. Ada dua macam bus di dalam mikrokontroller yaitu bus data dan bus alamat. Pengendalian aliran data yang melalui bus dilakukan oleh CPU melalui jalur kendali (control line). 2.3.5 I/O (Input/Output) Unit Agar mikrokontroller dapat berkomunikasi dengan dunia luar, maka harus ada terminal yang menghubungkan keduanya. Terminal tersebut dinamakan port I/O. port I/O dialamati sebagai mana layaknya lokasi memori. Ada tiga jenis port yaitu port input, port output dan port bidirectional. Port bidirectional adalah port dua arah yang dapat difungsikan sebagai port input atau port output. Port bidirectional ini biasa disebut port I/O saja. Sebagai masukan contohnya adalah pada saat mikrokontroler harus mengawasi sebuah saklar (switch) untuk 13 mendeteksi apakah saklar tersebut ditekan atau tidak. Sebagai keluaran contohnya adalah pada saat mikrokontroler harus menyalakan sebuah LED. Gambar 2.2 Port I/O pada suatu mikrokontroller. Port I/O di satu sisi terhubung ke bus data dan di sisi lain terhubung ke pin-pin pada mikrokontroller. Biasanya, pada pin-pin I/O terdapat buffer untuk melindungi port dari input eksternal yang berlebihan. 2.3.6 Pembangkit Clock-Osilator Pembangkit clock-osilator adalah rangkaian osilator yang dibutuhkan oleh mikrokontroller untuk menyediakan clock bagi mikrokontroller. Clock tersebut digunakan oleh mikrokontroller agar mikrokontroller dapat mengeksekusi instruksi program secara serempak (sinkron). Frekuensi clock yang dibangkitkan oleh osilator akan menentukan waktu yang diperlukan mikrokontroller untuk mengeksekusi suatu instruksi. 2.3.7 Timer/Counter Unit Mikrokontroller (pewaktu/pencacah). juga dilengkapi Timer/counter tersebut dengan unit digunakan timer/counter untuk keperluan 14 menghasilkan delay, mencacah pulsa, mengetahui keberadaan proses yang sedang berlangsung dan sebagainya. 2.3.8 Reset/Interrupt Reset/Interrupt berfungsi untuk menangani suatu permintaan (request) pada saat mikrokontroller yang sedang beroperasi (running). 2.3.9 Piranti Tambahan (Peripheral) Pada beberapa mikrokontroller, selain komponen-komponen standar ada juga yang dilengkapi dengan beberapa komponen/fungsi tambahan, misalnya Watchdog, ADC (Analog to Digital Converter), komparator, PWM (Pulse Width Modulation) dan sebagainya. 2.4 Arsitektur Mikrokontroller Dua macam arsitektur mikrokontroller yang biasa digunakan adalah arsitektur Von Neumann dan arsitektur Harvard. Arsitektur Von Neumann digunakan oleh sebagian besar mikrokontroller, pada arsitektur Von Neumann semua memori ditempatkan pada bus yang sama, begitu juga dengan kode instruksi dan data menggunakan bus yang sama. Pada arsitektur Harvard (digunakan oleh mikrokontroller PIC), kode instruksi dan data ditempatkan pada bus yang terpisah. Tetapi meskipun demikian, kode instruksi dan data dapat diambil secara (performance). bersamaan sehingga dapat meningkatkan kinerjanya 15 Gambar 2.3 Inti sebuah komputer Gambar 2.4 Arsitektur mikrokontroller. (a) Von Neumann. (b) Harvard Mikrokontroller dengan arsitektur Harvard disebut juga mikrokontroller jenis RISC (Reduced Instruction Set Computer) sedangkan mikrokontroller dengan arsitektur Von Neumann disebut mikrokontroller jenis CISC (Complex Instruction Computer). Mikrokontroller PIC merupakan mikrokontroller jenis RISC, sehingga instruksi yang dipakai relatif sedikit yaitu 35 instruksi (mikrokontroller dari Intel dan Motorola memiliki lebih dari seratus instruksi). Semua instruksi tersebut dieksekusi dalam waktu satu siklus instruksi, kecuali untuk instruksi lompatan (jump) dan instruksi percabangan (branch). 16 2.5 Mikrokontroller Keluarga PICmicro Microchip Technology Inc. telah membuat puluhan jenis mikrokontroler yang tergabung dalam keluarga mikrokontroler PICmicro. Masing-masing mikrokontroler memiliki kekhasan masing-masing yang berbeda dalam hal jenis memori yang digunakan, ukuran memori, kegunaan dan lain-lain. Ada yang menggunakan EEPROM ada pula yang menggunakan Flash memori bahkan ada yang menggunakan memori sekali program (OTP / One Time Programmable). Mikrokontroller dari keluarga PICmicro yang popular, antara lain PIC12C508, PIC16C54, PIC16F84 dan PIC16F87X (PIC16F873, PIC16F874, PIC16F876 dan PIC16F877). Namun dalam laporan akhir ini penulis hanya menjelaskan penggunaan salah satu jenis mikrokontroler dari keluarga PICmicro yaitu PIC16F876. Mikrokontroller PIC yang dapat diperoleh dengan banyak perbedaan spesifikasi sebagai berikut. Table 2.1 spesifikasi mikrokontroller keluarga PICmicro Tipe Memori Jumlah Pin Input/Output (I/O) Flash OTP (One Time Programmable) ROM (Read Only Memory) ROMless. 4-18 pin 20-28 pin 32-44 pin lebih dari 44 pin (>44) 17 Ukuran Memori Fitur Khusus 0.5–1K 2–4K 8–16K 24–32K 48–64K 96–128K CAN USB LCD Motor Control Radio Frequency Meskipun terdapat banyak model mikrokontroller PIC, ada sesuatu yang istimewa dari mikrokontroller tersebut yaitu keharmonisan/kecocokan antara satu dengan yang lainnya, kemudahan pembuatan program untuk model pengembangan (development) dan dalam kasus tertentu program yang dibuat untuk satu model mikrokontroller dapat dengan mudah diterapkan untuk model mikrokontroller lain (dalam satu keluarga PIC) tanpa ada perubahan. Umumnya semua mikrokontroller PIC memberikan fitur-fitur sebagai berikut. a. RISC instruction set yang mudah dipelajari b. Terdapat port I/O digital c. On-chip timer dengan 8-bit prescaler d. Power-on reset e. Watchdog timer 18 f. Hemat daya (power saving) untuk mode SLEEP g. High source and sink current h. Direct, indirect, and relative addressing modes i. External clock interface j. RAM data memory k. EPROM or Flash program memory. Fitur-fitur yang terdapat pada beberapa piranti lain sebagai berikut. a. Kanal input analog b. Komparator analog c. Rangkaian additional timer d. Memori data EEPROM e. Interrupt eksternal dan internal f. Oscillator internal g. Output pulse-width modulated (PWM) h. Antarmuka serial USART. Fitur-fitur yang terdapat pada beberapa piranti lain dengan perancangan yang lebih kompleks sebagai berikut. a. CAN bus interface b. I2C bus interface c. SPI bus interface d. Direct LCD interface 19 e. USB interface f. Motor control. Meskipun terdapat ratusan model mikrokontroller PIC, pemilihan sebuah mikrokontroller untuk sebuah aplikasi bukanlah sesuatu yang sulit, faktor-faktor berikut ini dapat dijadikan sebagai bahan acuan/referensi untuk keperluan tersebut. a. Banyaknya pin I/O b. Peripheral yang diperlukan (seperti USART, USB) c. Ukuran minimum memori program yang diperlukan d. Ukuran minimum RAM e. Keperluan ada/tidaknya memori data EEPROM non-volatile f. Kecepatan g. Ukuran fisik mikrokontroller h. Harga. 2.6 Mikrokontroller PIC16F876A Mikrokontroller PIC16F876A merupakan salah satu mikrokontroller dari keluarga PICmicro yang cukup populer digunakan sekarang ini. Hal tersebut karena PIC16F876A sangat praktis dan menggunakan teknologi Flash memori sehinga dapat diprogram-hapus hingga seratus ribu kali. Kelebihan mikrokontroller jenis RISC ini dibanding dengan mikrokontroller 8-bit lain di kelasnya terutama terletak pada kecepatan dan kompresi kodenya. Selain itu, 20 PIC16F876A juga tergolong praktis dan ringkas karena memiliki kemasan 28-pin dengan 22 jalur I/O. 2.6.1 Fitur-Fitur PIC16F876A Berikut ini beberapa fitur inti mikrokontroller keluarga PIC16F87XA (PIC16F873/74/76/77). a. Memiliki performansi tinggi sebagai CPU dengan arsitektur RISC b. Terdiri dari 35 instruksi (instruction word) c. Kecepatan operasi: DC - 20 MHz clock input DC - 200 ns instruction cycle d. Memori program FLASH hingga 8K x 14 word, memori data (RAM) hingga 368 x 8 byte, memori data EEPROM hingga 256 x 8 byte e. Power-on Reset (POR) f. Power-up Timer (PWRT) dan Oscillator Start-up Timer (OST) g. Watchdog Timer (WDT) h. Teknologi High speed CMOS FLASH/EEPROM dengan daya rendah i. Dua pin untuk In-Circuit Serial Programming (ICSP) dan In-Circuit Debugging (ICD) j. Konsumsi daya rendah: < 0.6 mA typical @ 3V - 4 MHz, 20µA typical @ 3V - 32 kHz, < 1µA typical standby current. Berikut ini fitur-fitur mikrokontroller PIC16F876A. a. Timer0: 8-bit timer/counter dengan 8-bit prescaler 21 b. Timer1: 16-bit timer/counter dengan prescaler, dapat dinaikan selama mode SLEEP melalui eksternal crystal/clock c. Timer2: 8-bit timer/counter dengan 8-bit periode register, prescaler dan postscaler d. Dua module Capture, Compare, PWM - Capture 16-bit, max. resolusi 12.5 ns - Compare 16-bit, max. resolusi 200 ns - PWM max. resolusi 10-bit e. 10-bit multi-channel Analog-to-Digital converter f. Synchronous Serial Port (SSP) dengan SPI™ (Master Mode) dan I2 ™ (Master/Slave) g. Universal Synchronous Asynchronous Receiver Transmitter (USART/SCI) dengan 9-bit address detection h. Parallel Slave Port (PSP) 8-bit, dengan eksternal RD, WR dan CS controls (hanya pin-40/44) i. Dilengkapi rangkaian Brown-out detection untuk Brown-out Reset (BOR). 22 2.6.2 Deskripsi Pin-Pin PIC16F876A Gambar 2.5 Konfigurasi pin mikrokontroller PIC16F876A/873A kemasan PDIP (28-pin), SOIC, SSOP Gambar 2.6 Konfigurasi pin mikrokontroller PIC16F873A/876A kemasan MLF 2.7 Teknik Antarmuka Mikrokontroller Penggunaan mikrokontroller untuk berkomunikasi dengan piranti/peralatan lain cukup luas, seperti sensor, motor, saklar (switch), keypad, 23 display, memori bahkan mikrokontroller yang lain. Banyak metoda antarmuka (interfacing) yang dikembangkan setiap tahunnya untuk mencari solusi dari kompleknya permasalahan kriteria rancangan rangkaian penyeimbang (balancing circuit) seperti fitur-fitur, harga, ukuran, berat, konsumsi daya, kepercayaan, pendapatan hingga kriteria pabrikasi. Banyak mikrokontroller yang dirancang untuk berbagai metoda antarmuka. Pada rancangan yang paling sederhana, sebuah mikrokontroller dapat menampilkan sebuah sistem dari input-input yang dibacanya, memprosesnya kemudian melakukan kontrol output. Gambar 2.7 memperlihatkan piranti-piranti input dan output antarmuka mikrokontroller dan gambar 2.8 memperlihatkan diagram antarmuka mikrokontroller. Gambar 2.7 Antarmuka mikrokontroller 24 Gambar 2.8 Diagram antarmuka mikrokontroller 2.7.1 Digital I/O Digital I/O pada mikrokontroller dapat digunakan untuk monitoring/kontrol On/Off memiliki kelebihan dan kekurangan sebagai berikut. Kelebihan Antarmuka yang sederhana Biaya implementasi yang murah (built into the microcontroller) Kecepatan tinggi Biaya/ongkos pemrograman yang murah Kekurangan Hanya monitoring/kontrol On/Off Jarak dekat Monitoring/kontrol single device Dibawah ini contoh gambar-gambar antarmuka digital I/O pada mikrokontroller keluarga PICmicro. 25 Gambar 2.9 Digital input pembacaan status tombol/switch On/Off Gambar 2.10 Digital input antarmuka Keypad 26 Gambar 2.11 Digital output kontrol Relay Gambar 2.12 Digital output kontrol LED 27 2.7.2 Analog I/O Mikrokontroller juga dapat dibuat antarmuka untuk analog I/O, pada dasarnya hal ini dilakukan dengan memonitoring/memantau/kontrol tegangan. Ada beberapa kelebihan dan kekurangan penggunaan analog I/O ini yaitu sebagai berikut. Kelebihan Antarmuka yang sederhana Biaya murah untuk keperluan resolusi rendah Kecepatan tinggi Biaya/ongkos pemrograman yang murah Kekurangan Tegangan: Jangkauan yang khas a. 0 - 2.5V b. 0 - 4V c. 0 - 5V d. +/- 2.5V e. +/- 4V f. +/- 5V Arus: Jangkauan yang khas a. 0-20mA b. 4-20mA Biaya mahal untuk keperluan resolusi tinggi Tidak semua mikrokontroller mempunyai Analog I/O Sulitnya rancangan rangkaian ketika eksternal DAC atau DAC diperlukan Jarak dekat 28 Gambar 2.13 Contoh antarmuka analog 2.7.3 Parallel Bus Komunikasi data mikrokontroller menggunakan parallel bus terdiri dari beberapa tipe digital input/output, kelebihan dan kekurangan parallel bus yang umum digunakan sebagai berikut. Kelebihan Kecepatan tinggi Throughput yang tinggi, dimana beberapa bit ditransmisikan pada satu transisi clock Biaya yang murah Tipe umum (most common type) parallel bus: a. 4-bit b. 8-bit (seperti Centronics) c. 16-bit (seperti ISA) d. 32-bit (seperti PCI) Kekurangan Banyak pin mikrokontroller yang harus digunakan untuk implementasi parallel bus 29 Gambar 2.14 Contoh antarmuka parallel bus 4-bit pada LCD Gambar 2.15 Contoh antarmuka parallel bus 8-bit pada LCD 30 2.7.4 Serial Bus Selain komunikasi data parallel bus terdapat juga komunikasi data serial, seperti pada gambar 2.16 tampak diagram antarmuka mikrokontroller yang memperlihatkan dua macam komunikasi data serial yaitu asinkron (asynchronous) dan sinkron (synchronous). Komunikasi serial asinkron terbagi tiga yaitu 1-wire, RS232/RS485 dan Ethernet. Sedangkan komunikasi serial sinkron terbagi dua yaitu 2-wire (I2C) dan 4-wire (SPI dan Microwire). Gambar 2.16 Diagram antarmuka mikrokontroller Komunikasi data serial secara sinkron merupakan bentuk komunikasi data serial yang memerlukan sinyal clock untuk sinkronisasi di mana sinyal clock tersebut akan tersulut pada setiap bit pengiriman data sedangkan komunikasi asinkron tidak memerlukan sinyal clock sebagai sinkronisasi. Pengiriman data pada komunikasi serial mikrokontroller dilakukan mulai dari bit yang paling rendah (LSB) hingga bit yang paling tinggi (MSB). 31 Gambar 2.17 Komunikasi sinkron dan komunikasi asinkron 2.7.4.1 Komunikasi Sinkron Sinyal clock pada komunikasi sinkron diperlukan oleh peralatan penerima data untuk mengetahui adanya pengiriman setiap bit data. Tampak pada gambar 2.18 bahwa sinyal clock tersulut (positif edge) pada saat pengiriman bit yang pertama dan setiap perubahan bit data. Peralatan atau komponen penerima akan mengetahui adanya pengiriman bit yang pertama maupun perubahan bit data dengan mendeteksi sinyal clock. Gambar 2.18 Komunikasi data sinkron 2.7.4.2 Komunikasi Asinkron Seperti telah disebutkan sebelumnya, komunikasi asinkron tidak memerlukan sinyal clock sebagai sinkronisasi, namun pengiriman data ini harus diawali dengan start bit dan diakhiri dengan stop bit seperti tampak pada gambar 32 2.17, sinyal clock yang merupakan baud rate dari komunikasi data ini dibangkitkan oleh masing-masing, baik penerima maupun pengirim data dengan frekuensi yang sama. Penerima hanya perlu mendeteksi adanya start bit sebagai awal pengiriman data, selanjutnya komunikasi data terjadi antar dua buah shift register yang ada pada pengirim maupun penerima. Setelah 8 bit data diterima, maka penerima akan menunggu adanya stop bit sebagai tanda bahwa 1 byte data telah terkirim dan penerima dapat siap untuk menunggu pengiriman data berikutnya. Pada aplikasinya proses komunikasi asinkron ini selalu digunakan untuk mengakses komponen-komponen yang mempunyai fasilitas UART (Universal Asynchronous Receiver/Transmitter) seperti Port Serial PC atau Port Serial mikrokontroler yang lain. Gambar 2.19 Komunikasi data asinkron 2.7.4.3 I2C (Inter Integrated Circuit) Pada awal tahun 80-an, Philips Semiconductor menghubungkan sebuah mikrokontroller dengan peralatan peripheral TV (televisi). Cara ini dikenal dengan istilah I2C bus. I2C bus adalah antarmuka 2-wire (dua kabel) dengan satu master dan multi-slave (memungkinkan juga untuk konfigurasi banyak master). 33 I2C terdiri dari sinyal DATA (SDA), CLOCK (SCL) dan Ground. SDA merupakan sinyal yang selalu bi-directional (dua arah), SCL merupakan sinyal bidirectional hanya pada mode multi-master. Seperti pada gambar 2.20 output setiap node terhubung dengan bus menggunakan Open Drain atau Open Collector dan setiap bus mendapat pull-up resistor yang berfungsi untuk menentukan rise time. Gambar 2.20 Dasar komunikasi I2C Nilai resistansi ini adalah syarat untuk menentukan rise time. Nilai resistansi kecil akan menurunkan rise time, tetapi akan menambah konsumsi arus. Resistor 4.7 kΩ adalah nilai yang biasanya digunakan, nilai ini dapat dinaikan jika kapasitansi jalur tinggi dan dapat diturunkan jika kapasitansi jalurnya rendah. Kapasitansi maksimum pada kabel yang diperbolehkan adalah 400pF, sedangkan kapasitansi peralatan yang umum (typical device capacitance) adalah 10pF. Untuk mengawali komunikasinya, bus master (typically a microcontroller) menempatkan alamat (address) piranti tujuan komunikasinya (slave) pada bus. Semua piranti slave memonitor bus untuk menentukan jika piranti master 34 mengirimkan alamat untuk dirinya, karena hanya piranti dengan alamat yang benar (tujuan master) yang berhak untuk berkomunikasi dengan master. Setelah menentukan alamat slave tujuan, master I2C kemudian membuat sebuah start condition (kondisi start) pada bus. Start condition ini didefinisikan sebagai sinyal SDA low (rendah) pada saat sinyal SCL high (tinggi). Gambar 2.21 Start bit dan stop bit Gambar 2.22 Validitas data Gambar di atas memperlihatkan validitas data I2C, data dapat berubah selama clock dalam kondisi low. Data akan kembali stabil selama clock dalam kondisi high. 35 Berikut ini beberapa kelebihan dan kekurangan menggunakan komunikasi data I2C. Kelebihan Semua piranti slave dapat diakses hanya menggunakan tiga kabel Biaya murah dan mudah untuk implementasinya Di implementasikan pada hardware atau software Mendukung konfigurasi multimaster Kekurangan Jarak dekat Kecepatan rendah 100 KHz, meskipun ada piranti slave 400 KHz dan 1 MHz, ini tidak dapat bersama-sama dengan piranti yang berkecepatan rendah Pengalamatan piranti yang terbatas (limited). Gambar 2.23 Contoh antarmuka komunikasi 2-wire (I2C) 2.7.4.4 SPI (Serial Peripheral Interface) SPI adalah antarmuka 4-wire (empat kabel) dengan satu master dan multi slave. SPI pertama kali dikembangkan oleh Motorola. Sinyal-sinyal SPI terdiri 36 dari DATA IN, DATA OUT, CLOCK, CS (Chip Select). SPI bus merupakan antarmuka serial sinkron yang sederhana untuk menghubungkan piranti eksternal berkecepatan rendah menggunakan kabel dengan jumlah yang sedikit. Pada komunikasi ini dibutuhkan clock untuk sinkronisasi serial data masuk/keluar dari mikrokontroller. Ketika dua piranti berkomunikasi, maka salah satu di antaranya berprilaku sebagai piranti master dan yang lainnya sebagai piranti slave dimana piranti master sebagai pendorong/penghasil clock serial. Komunikasi data SPI termasuk full duplex, sehingga data senantiasa dikirim dan diterima. Berikut ini beberapa kelebihan dan kekurangan menggunakan komunikasi data serial SPI. Kelebihan Multi slave dapat diakses menggunakan kabel yang sedikit Biaya murah dan mudah untuk implementasinya Di implementasikan pada hardware atau software Dapat berkecepatan tinggi (hingga lebih dari 4MHz jika di implementasikan pada hardware) Kekurangan Jarak dekat Jalur data dan clock dapat dibagi (share) tetapi setiap piranti memerlukan sinyal Chip Select. 37 Gambar 2.24 Antarmuka komunikasi data SPI 4-bit pada LCD 2.7.4.5 Microwire (1-wire) Teknik antarmuka Microwire (1-wire) pertama kali dikembangkan oleh Dallas Semiconductor (sekarang bagian dari MAXIM). Microwire merupakan antarmuka komunikasi data satu kabel (DATA dan Ground) untuk mengalamati berbagai periperal, sensor dan chip memori. Satu kabel membawa dua sinyal operasi yaitu data dan power. Biasanya jaringan ini dibuat menggunakan sebuah kabel (sepasang) dimana satu jalur membawa sinyal data dan power dan jalur 38 yang lain adalah ground. Dalam operasinya sistem ini sensitif terhadap pewaktuan yang tepat (right timing). Berikut ini beberapa kelebihan dan kekurangan menggunakan komunikasi data serial Microwire. Kelebihan Multi slave dapat diakses hanya menggunakan dua kabel Biaya murah dan mudah untuk implementasinya Di implementasikan pada hardware atau software Relatif dapat mencapai jarak jauh. Teorinya mampu mencapai hingga 300 meter, tapi secara praktis terbatas oleh kapasitansi kabel dan noise. Kekurangan Kecepatan rendah (low speed) Piranti slave 1-wire hanya diproduksi oleh satu sumber yaitu Dallas Semiconductor. Gambar 2.25 memperlihatkan sebuah jaringan komunikasi Microwire yang digunakan pada modul-modul peralatan pengukur suhu (temperature measurements) buatan Dallas Semiconductor DS1820, DS2450 dan DS1822 dengan sebuah mikrokontroller. Gambar 2.25 Jaringan Microwire (1-wire) pada pengukur suhu 39 2.7.4.6 RS232 Sebagaimana telah disebutkan di atas, bahwa dikenal dua cara komunikasi data secara serial, yaitu komunikasi data serial sinkron dan asinkron. RS232 adalah standard komunikasi data serial asinkron. Contoh yang paling sering kita pakai adalah komunikasi data antara komputer dengan modem, komputer dengan komputer, komputer dengan mikrokontroller atau mikrokontroller dengan mikrokontroller menggunakan kabel serial. Pada prinsipnya, komunikasi serial ialah komunikasi dimana pengiriman data dilakukan per bit, sehingga lebih lambat dibandingkan komunikasi parallel seperti pada port printer yang mampu mengirim 8 bit data sekaligus dalam sekali detak. Komunikasi data serial ini dikerjakan oleh UART (Universal Asynchronous Receiver/Transmitter). IC UART dibuat khusus untuk mengubah data paralel menjadi data serial dan menerima data serial yang kemudian diubah kembali menjadi data paralel. IC UART 8250 dari Intel merupakan salah satunya. Selain berbentuk IC mandiri (stand alone), berbagai macam mikrokontroller ada yang dilengkapi UART, misalnya mikrokontroller keluarga MCS51 dan PICmicro. Pada UART, kecepatan pengiriman data (baud rate) dan fase clock pada sisi transmitter dan pada sisi receiver harus sinkron. Untuk itu diperlukan sinkronisasi antara transmitter dan receiver. Hal ini diperlukan oleh bit “start” dan bit “stop”. Ketika saluran transmisi dalam keadaan idle, output UART dalam keadaan logika ‘1’. Ketika transmitter ingin mengirimkan data, output UART akan diset lebih dulu ke logika ‘0’ untuk waktu satu bit. Sinyal ini akan dikenal oleh receiver sebagai sinyal “start” yang digunakan untuk mensinkronkan fase 40 clocknya sehingga sinkron dengan fase clock transmitter. Selanjutnya data akan dikirim secara serial dari bit paling rendah (bit 0) sampai bit tertinggi. Selanjutnya akan dikirim sinyal “stop” sebagai akhir dari pengiriman data serial. Gambar 2.26 Pengiriman data tanpa bit paritas Kecepatan transmisi baud rate dapat dipilih bebas dalam rentang tertentu. Baud rate yang umum dipakai adalah 110, 135, 150, 300, 600, 1200, 2400, dan 9600 (bit/detik). Dalam komunikasi serial, baud rate dari kedua alat yang berhubungan harus diatur pada kecepatan yang sama. Selanjutnya ditentukan panjang data (6, 7 atau 8), paritas (genap, ganjil atau tanpa paritas), dan jumlah bit stop (1, 1 ½, atau 2 bit). Karakteristik standar sinyal komunikasi serial RS232 yang banyak digunakan adalah yang dikembangkan oleh Electronic Industry Association and the Telecommunications Industry Association (EIA/TIA) yang pertama kali dipublikasikan pada tahun 1962. Standar ini hanya menyangkut komunikasi data antara komputer (Data Terminal Equipment - DTE) dengan alat-alat pelengkap komputer (Data Circuit-Terminating Equipment - DCE). Standar RS232 inilah yang biasa digunakan pada port serial IBM PC kompatibel. Standar sinyal serial RS232 memiliki ketentuan level tegangan sebagai berikut. a. Logika ‘1’ disebut ‘mark’ terletak antara -3 Volt hingga -25 Volt b. Logika ‘0’ disebut ‘space’ terletak antara +3 Volt hingga +25 Volt 41 c. Daerah tegangan antara -3 Volt hingga +3 Volt adalah invalid level, yaitu daerah tegangan yang tidak memiliki level logika pasti sehingga harus dihindari. Demikian juga level tegangan lebih negatif dari -25 Volt atau lebih positif dari +25 Volt harus dihindari karena tegangan tersebut dapat merusak line driver pada saluran R232. Komunikasi serial membutuhkan port sebagai saluran data. Gambar 2.27 dan 2.28 berikut menampilan konfigurasi port serial DB9 yang umum digunakan beserta fungsi-fungsinya. Gambar 2.27 Serial port DB9 Gambar 2.28 Fungsi masing-masing pin DB9 Untuk dapat menggunakan port serial kita perlu mengetahui alamatnya. Biasanya tersedia dua port serial pada CPU, yaitu COM1 dan COM2. Base address COM1 adalah 1016 (3F8h) dan COM2 adalah 760 (2F8h). Alamat tersebut adalah alamat yang biasa digunakan, tergantung komputer yang 42 digunakan. Tepatnya kita dapat melihat pada peta memori tempat menyimpan alamat tersebut, yaitu memori 0000.0400h untuk base address COM1 dan memori 0000.0402h untuk base address COM2. Berikut adalah tabel register-register yang digunakan port serial berdasarkan base address-nya. Tabel 2.1 Nama register yang digunakan beserta alamatnya Nama Register COM1 COM2 TX Buffer 3F8h 2F8h RX Buffer Baud Rate Divisor Latch LSB Baud Rate Divisor Latch MSB Interrupt Enable Register Interrupt Identification Register 3F8h 3F8h 3F9h 3F9h 3FAh 2F8h 2F8h 2F9h 2F9h 2FAh Line Control Register 3FBh 2FBh Modem Control Register 3FCh 2FCh Line Status Register 3FDh 2FDh Modem Status Register 3FEh 2FEh Pada beberapa mikrokontroller telah terdapat hardware untuk melakukan antarmuka komunikasi serial RS232. Jika hardware serial I/O tidak terdapat pada mikrokontroller, maka hal ini dapat dikembangkan oleh software untuk melakukan komunikasi data serial menggunakan pin I/O lain pada mikrokontroller. Beberapa mikrokontroller yang telah terdapat hardware SPI (Serial Peripheral Interface) atau I2C (Inter Integrated Circuit) sudah mendukung komunikasi serial RS232. Hampir semua komponen digital bekerja pada level tegangan TTL. Oleh karena itu, untuk membentuk saluran RS232 ke mikrokontroller diperlukan pengubahan level tegangan timbal balik antara TTL – RS232. Banyak tipe 43 konverter yang dapat melakukan hal ini, misalnya IC MAX232 dari Maxim dan DS275 dari Dallas Semiconductor. Gambar 2.29 Konverter TTL – RS232 Berikut ini beberapa kelebihan dan kekurangan menggunakan komunikasi serial RS232. Kelebihan Antarmuka yang popular, sehingga banyak piranti yang telah mendukung komunikasi serial RS232. Relatif dapat menjangkau jarak jauh, maksimum 50 feet untuk baud rate rendah. Tahan terhadap noise pada level +/- 5 Volt atau lebih, untuk logika 0 dan 1. Mudah di implementasikan. Kekurangan Lebih cocok untuk komunikasi sistem ke sistem, dari pada chip ke chip atau chip ke sensor. Kecepatan rendah untuk jarak jauh, bahkan mikrokontroller yang kecil untuk jarak dekat memerlukan baud rate 115200 untuk dapat menerima data. Single master/single slave. Penambahan biaya untuk chip sistem transceiver (TTL/CMOS level RS232). 44 2.7.4.7 RS485 RS485 adalah teknik komunikasi data serial yang dikembangkan di tahun 1983 dimana dengan teknik ini, komunikasi data dapat dilakukan pada jarak yang cukup jauh yaitu 1,2 Km. Berbeda dengan komunikasi serial RS232 yang mampu berhubungan secara one to one, maka komunikasi RS485 selain dapat digunakan untuk komunikasi multidrop yaitu berhubungan secara one to many dengan jarak yang jauh teknik ini juga dapat digunakan untuk menghubungkan 32 unit beban sekaligus hanya dengan menggunakan dua buah kabel saja tanpa memerlukan referensi ground yang sama antara unit yang satu dengan unit lainnya. Sistem komunikasi dengan menggunakan RS485 ini dapat digunakan untuk komunikasi data antara 32 unit peralatan elektronik hanya dalam dua kabel saja. Selain itu, jarak komunikasi dapat mencapai 1,6 km dengan digunakannya kabel AWG-24 twisted pair. Gambar 2.30 Diagram komunikasi data RS485 45 Gambar 2.31 IC 75176, industri standar RS485 Bus RS485 adalah mode transmisi balanced differential. Bus ini hanya mempunyai dua sinyal, A dan B dengan perbedaan tegangan antara keduanya. Karena line A sebagai referensi terhadap B maka sinyal akan high bila mendapat input low demikian pula sebaliknya. Pada komunikasi RS485, semua peralatan elektronik berada pada posisi penerima hingga salah satu memerlukan untuk mengirimkan data, maka peralatan tersebut akan berpindah ke mode pengirim, mengirimkan data dan kembali ke mode penerima. Setiap kali peralatan elektronik tersebut hendak mengirimkan data, maka terlebih dahulu harus diperiksa, apakah jalur yang akan digunakan sebagai media pengiriman data tersebut tidak sibuk. Apabila jalur masih sibuk, maka peralatan tersebut harus menunggu hingga jalur sepi. Agar data yang dikirimkan hanya sampai ke peralatan elektronik yang dituju, misalkan ke salah satu Slave, maka terlebih dahulu pengiriman tersebut diawali dengan Slave ID dan dilanjutkan dengan data yang dikirimkan. Peralatan elektronik yang lain akan menerima data tersebut, namun bila data yang diterima 46 tidak mempunyai ID yang sama dengan Slave ID yang dikirimkan, maka peralatan tersebut harus menolak atau mengabaikan data tersebut. Namun bila Slave ID yang dikirimkan sesuai dengan ID dari peralatan elektronik yang menerima, maka data selanjutnya akan diambil untuk diproses lebih lanjut. Gambar 2.32 Topologi jaringan RS485 Gambar 2.32 memperlihatkan topologi jaringan RS485, stasiun manapun dapat berkomunikasi dengan stasiun lainnya tetapi tidak pada waktu yang bersamaan. Gambar 2.33 Terminating resistor pada jaringan RS485 Pada jaringan komunikasi RS485, diperlukan adanya terminating resistor (RT). Nilai terminating resistor yang sesuai dengan impedansi karakteristik kabel adalah sangat penting pada jaringan RS485. Sebaliknya, jika nilai terminating resistor ini tidak sesuai maka akan dihasilkan sinyal terdistorsi yang dapat menyebabkan terjadinya data error. Gambar 2.33 di atas memperlihatkan penempatan terminating resistor pada jaringan RS485, dan gambar 2.34 47 memperlihatkan hasil percobaan pengaruh nilai terminating resistor terhadap sinyal. Gambar 2.34 Terminating resistor terhadap karakteristik sinyal Berikut ini beberapa kelebihan dan kekurangan menggunakan komunikasi serial RS485. Kelebihan Antarmuka yang popular, sehingga banyak piranti yang telah mendukung komunikasi serial RS485. Dapat mencapai jarak sangat jauh hingga 1000 feet Tahan terhadap noise dan perbedaan tegangan Di implementasikan pada hardware dan software Mudah di implementasikan Banyak digunakan pada industri otomatisasi Kecepatan tinggi hingga 115200 baud rate. Kekurangan Lebih cocok untuk komunikasi sistem ke sistem, dari pada chip ke chip atau chip ke sensor. Penambahan biaya untuk chip sistem transceiver dan kabel twisted pair dengan terminating resistors. 48 2.7.4.8 Ethernet Berikut ini beberapa kelebihan dan kekurangan menggunakan komunikasi data Ethernet. Kelebihan Kecepatan sangat tinggi (10Mbit hingga 100bit/s) Jarak sangat jauh hingga 100 feet, lebih dari itu dapat menggunakan Hubs dan Switches Tahan terhadap noise Banyak digunakan pada industri otomatisasi dan ketahanan noise. Kekurangan Lebih cocok untuk komunikasi sistem ke sistem, dari pada chip ke chip atau chip ke sensor. Penambahan biaya untuk chipset Ethernet, transformator, connector dan kabel khusus Mahal dan rumit dalam implementasinya High code footprint. Gambar 2.35 Contoh jaringan Ethernet MINI-MAX/51-E 49 2.8 Sistem Komunikasi Jaringan adalah sekumpulan peralatan yang dihubungkan agar dapat saling berkomunikasi dengan tujuan membagi sumber daya (seperti file atau data). Agar jaringan dapat berfungsi, dibutuhkan layanan-layanan yang dapat mengatur pembagian sumber daya. Selain itu dibutuhkan aturan-aturan (protocols) yang mengatur komunikasi dan layanan-layanan secara umum untuk seluruh sistem jaringan. Pada sebuah jaringan komunikasi data sedikitnya terdapat pertukaran data antar dua entitas. Jaringan komunikasi data biasa disebut juga sistem komunikasi. 2.8.1 Model Komunikasi Pada gambar 2.36a menunjukkan model komunikasi sederhana, kegunaan dasar dari sistem komunikasi ini adalah menjalankan pertukaran data antar dua pihak. Dalam gambar 2.36b ditampilkan satu contoh khusus, yaitu komunikasi antara sebuah client/workstation dan sebuah server yang dihubungkan dengan sebuah jaringan telepon umum. Berikut ini elemen-elemen kunci model tersebut: 1. Source (Sumber): Alat ini membangkitkan data sehingga dapat ditransmisikan, misalnya telepon dan PC (personal computer). 2. Transmitter (Pengirim): biasanya data yang dibangkitkan dari sistem sumber tidak ditransmisikan secara langsung dalam bentuk aslinya. Sebuah transmitter cukup memindah dan menandai informasi dengan cara yang sama seperti menghasilkan sinyal-sinyal elektro-magnetik yang dapat ditransmisikan melewati beberapa sistem transmisi berurutan. Sebagai 50 contoh, sebuah modem tugasnya menyalurkan suatu digital bit stream dari suatu alat yang sebelumnya sudah dipersiapkan misalnya PC, dan mentransformasikan bit stream tersebut menjadi suatu sinyal analog yang dapat melintas melalui jalur telepon. 3. Transmission System (Sistem Transmisi): Berupa jalur transmisi tunggal (single transmission line) atau jaringan kompleks (complex network) yang menghubungkan antara sumber dengan destination (tujuan). 4. Receiver (Penerima): receiver menerima sinyal dari sistem transmisi dan menggabungkannya kedalam bentuk tertentu yang dapat ditangkap oleh tujuan. Sebagai contoh, sebuah modem akan menerima suatu sinyal analog yang datang dari jaringan atau jalur transmisi dan mengubahnya menjadi sutau digital bit stream. 5. Destination (Tujuan): menangkap data yang dihasilkan oleh receiver. (a) Blok diagram umum (b) Contoh jaringan komunikasi Gambar 2.36 Model komunikasi sederhana 51 2.8.2 Komunikasi Data Sebuah sistem dikatakan memiliki komunikasi data jika sedikitnya terdapat pertukaran data antar dua entitas, dalam hal ini dimisalkan Sumber dan Tujuan. Gambar 2.37 menunjukkan suatu perspektif baru terhadap model komunikasi yang sebelumnya ditunjukan dalam gambar 2.36a. Kita akan menelusuri gambar ini menggunakan surat elektronik (electronic mail) sebagai contoh. Gambar 2.37 Model komunikasi data sederhana Pada gambar di atas, informasi yang dimasukan oleh User PC (m) misalnya melalui keyboard diubah menjadi rangkaian bit dan secara singkat ditahan didalam memori utama (g). PC dihubungkan dengan beberapa media transmisi misalnya sebuah local network atau jaringan komunikasi telepon, lewat suatu perangkat I/O (transmitter), dalam hal ini berupa modem. Transmitter dihubungkan secara langsung ke media dan merubah aliran yang masuk [g(t)] menjadi sinyal [s(t)] yang mampu untuk ditransmisikan. Sinyal yang ditransmisikan s(t) menjadi subjek sejumlah gangguan, sehingga memungkinkan sinyal yang diterima r(t) dapat berbeda dengan s(t). Receiver akan berupaya menganalisis keaslian s(t), didasarkan atas r(t) dan pengetahuannya atas media, dan menghasilkan rangkaian bit g’(t). Bit-bit ini 52 dikirim ke komputer output, dimana bit-bit tersebut secara singkat ditahan didalam memori sebagai g’. Dalam beberapa kasus, sistem tujuan akan berupaya untuk memperingatkan bila terjadi error, dan untuk selanjutnya bekerjasama dengan sistem sumber sampai akhirnya mendapatkan data yang bebas dari error (error-free data). Data-data ini kemudian diberikan kepada User melalui suatu perangkat output, seperti printer atau layar. Pesan atau message (m’) sebagaimana yang dilihat oleh User biasanya merupakan salinan dari pesan aslinya (m). 2.8.3 Jaringan Komunikasi Data Seringkali, sangatlah tidak praktis saat dua perangkat komunikasi dihubungkan secara langsung, dari ujung ke ujung. Berikut ini contoh kemungkinan-kemungkinan yang terjadi: 1. Bila perangkat-perangkatnya merupakan bagian yang saling jauh terpisah, misalnya berada pada jarak puluhan, ratusan meter atau lebih. Tentunya akan memakan biaya yang banyak sekali untuk menyambung dan menghubungkannya. 2. Jika terdapat serangkaian perangkat, masing-masing membutuhkan jaringan untuk menghubungkan satu sama lain pada waktu-waktu yang berbeda. Maka sangatlah tidak praktis bila harus menyediakan kabel untuk menghubungkan masing-masing bagian perangkat tersebut. Solusi bila terjadi masalah seperti ini adalah dengan cara menghubungkan masing-masing perangkat tersebut dengan suatu jaringan komuniasi (communication network). Gambar 2.38 menghubungkan pembahasan masalah ini 53 dengan gambar 2.36a, serta ditampilkan pula dua kategori utama yang dianjurkan dimana biasanya jaringan komunikasi diklasifikasikan, dalam hal ini adalah Wide Area Network (WAN) dan Local Area Networks (LAN). Berikut ini adalah tabel klasifikasi jaringan komunikasi. Tabel 2.2 Klasifikasi jaringan komunikasi Berdasarkan koneksi - Broadcast Links (keterhubungan) - Poin-to-Point Links - Local Area Network (LAN) - Metropolitan Area Networl (MAN) - Wide Area Network (WAN) - Internetwork (Internet) - Bus - Star - Ring, dan lain-lain. - Ethernet - Token Ring, dan lain-lain. - Peer-to-Peer - Client/Server - Hybrid Berdasarkan skala Berdasarkan topologi Berdasarkan protokol Berdasarkan arsitektur 54 Gambar 2.38 Model jaringan sederhana Pada gambar di atas diperlihatkan model jaringan sederhana sebagai solusi untuk menggabungkan beberapa perangkat komunikasi. 55 2.9 Chipcon CC1100 Gambar 2.39 Chip RF Transceiver Chipcon CC1100 2.9.1 Deskripsi Chipcon CC1100 CC1100 merupakan sebuah chip transceiver UHF yang dirancang untuk aplikasi wireless berdaya rendah. Rangkaiannya disusun untuk ISM (Industrial, Scientific and Medical) dan SRD (Short Range Device) dengan band frekuensi pada 315, 433, 868 dan 915 MHz, tetapi dapat dengan mudah diprogram untuk beroperasi pada band frekuensi lain antara 300-348 MHz, 400-464 MHz dan 800928 MHz. RF transceiver CC1100 diintegrasikan dengan sebuah modem baseband. Modem ini mendukung berbagai format modulasi dengan data rate hingga 500 kbps. Jarak komunikasi dapat ditambah dengan mengaktifkan pilihan Forward Error Correction yang diintegrasikan pada modem. 56 CC1100 menyediakan dukungan hardware yang luas untuk packet handling, data buffering, burst transmissions, clear channel assessment, link quality indication dan wake-on radio. Pokok parameter operasi dan 64-byte FIFO (First-In First-Out) transmit/receive CC1100 dapat dikontrol melalui antarmuka SPI. Pada sistem tipikalnya, CC1100 akan digunakan bersamaan dengan sebuah mikrokontroller dan beberapa komponen pasif tambahan. CC1100 adalah bagian dari teknologi Chipcon generasi ke-4 (4th generation) yang berlandaskan teknologi CMOS 0,18 µm. 2.9.2 Fitur-Fitur Chipcon CC1100 Dibawah ini beberapa fitur Chipcon CC1100, untuk selengkapnya lihat pada lampiran Chipcon CC1100. a. Berukuran kecil (QLP 4x4 mm, 20 pin) b. Chip RF transceiver UHF c. Band frekuensi: 300-348 MHz, 400-464 MHz dan 800-928 MHz d. Sensitivitas tinggi (-110 dBm pada 1,2 kbps, packet error rate 1%) e. Programmable data rate hingga 500 kbps f. Konsumsi daya rendah (15,4 mA pada RX, 1,2 kbps, 433 MHz) g. Programmable baseband modem h. Ideal untuk beroperasi pada multi-channel i. Antarmuka SPI yang efisien: semua register dapat diprogram dengan satu “burst” transfer. j. Mendukung untuk mode transmit/receive asinkron. 57 2.9.3 Kondisi Pengoperasian Tabel 2.3 Kondisi pengoperasian CC1100 Parameter Suhu Catu daya 2.9.4 Min -40 1,8 Max 85 3,6 Satuan o C V Kondisi Semua pin catu daya harus mempunyai tegangan yang sama Karakteristik Umum Tabel 2.4 Karakteristik umum CC1100 Parameter Frekuensi Data rate 2.9.5 Min 300 400 800 1,2 1,2 26 Max 348 464 928 500 250 500 Satuan MHz MHz MHz kbps kbps kbps Keterangan FSK GFSK, OOK dan ASK (bentuk) MSK (disebut differential offset QPSK) Konfigurasi Pin Chipcon CC1100 Gambar 2.40 Konfigurasi pin Chipcon CC1100 juga 58 Tabel 2.5 Deskripsi pin Chipcon CC1100