• Breaking News

    Panduan dan Tutorial Lengkap serta Materi Pelajaran di Mulyono Blog. Konten Terlengkap dan Terpercaya

    Rabu, 31 Agustus 2011

    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 multi-fungsi. Timer ini terdiri dari tiga seksi yang terkoneksi di mana masing-masing mengerjakan fungsi timing yang terpisah.
    gb61.gif (5094 bytes)
    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 RT0 Kecepatan RTI Perioda Minimum COP Reset
    0 0 8.2ms 57.3ms
    0 1 16.4ms 114.7ms
    1 0 32.8ms 229.4ms
    1 1 65.5ms 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.